{"version":3,"sources":["webpack:///./src/shared/apps/CoreLayout/apps/CookieAccept/CookieAccept.scss","webpack:///./src/routes/ChangePassword/routes/ChangePasswordCheckLink/ChangePasswordCheckLink.scss","webpack:///./src/shared/apps/Profile/BusinessDetailsForm/BusinessDetailsForm.scss","webpack:///./src/shared/elements/Textarea/Textarea.scss","webpack:///./src/shared/elements/Heading/Heading.scss","webpack:///./src/routes/ChangePassword/routes/ChangePasswordCheckLink/apps/ChangePasswordForm/ChangePasswordForm.scss","webpack:///./src/routes/Profile/routes/ChangePlan/routes/NewPlanAccepted/NewPlanAccepted.scss","webpack:///./src/shared/apps/Header/apps/HeaderMenu/HeaderMenu.scss","webpack:///./src/shared/apps/AuthPage/Auth.scss","webpack:///./src/shared/apps/Profile/BillingInfoForm/BillingInfoForm.scss","webpack:///./src/shared/apps/Header/Header.scss","webpack:///./src/routes/Main/apps/ComparePlans/ComparePlans.scss","webpack:///./src/routes/Main/apps/HowToWork/HowToWork.scss","webpack:///./src/routes/ContactUs/assets/contact-us-header-min.jpg","webpack:///./src/routes/Profile/routes/EnrollSubscription/routes/Terms/Terms.scss","webpack:///./src/routes/Main/apps/HowToWork/assets/step1-min.png","webpack:///./src/shared/elements/List/ListItem.scss","webpack:///./src/routes/Main/apps/HowToWork/assets/step1.png","webpack:///./src/shared/elements/List/List.scss","webpack:///./src/routes/ForgotPassword/apps/ForgotPasswordForm/apps/SuccessForgotPassEmailSending/SuccessForgotPassEmailSending.scss","webpack:///./src/shared/apps/ComparePlans/ComparePlans.scss","webpack:///./src/routes/LeaveEmail/apps/LeaveEmailForm/LeaveEmailForm.scss","webpack:///./src/shared/apps/LeaseAgreement/LeaseAgreement.scss","webpack:///./src/routes/ForgotPassword/apps/ForgotPasswordForm/ForgotPasswordForm.scss","webpack:///./src/shared/apps/Alerts/apps/Alert/Alert.scss","webpack:///./src/routes/Main/apps/PartnerPrinting/PartnerPrinting.scss","webpack:///./src/routes/Profile/routes/EnrollSubscription/routes/EnrollPlanChoice/EnrollPlanChoice.scss","webpack:///./src/shared/apps/ComparePlans/apps/ComparePlansOption/ComparePlansOption.scss","webpack:///./src/assets/videos/Epson-ReadyPrint-Final.mp4","webpack:///./src/shared/apps/CoreLayout/CoreLayout.scss","webpack:///./src/routes/Main/apps/SelectPlan/SelectPlan.scss","webpack:///./src/routes/Profile/routes/RenewAndChangeSubscription/routes/RenewAndChangePlanAccepted/RenewAndChangePlanAccepted.scss","webpack:///./src/shared/apps/Tooltip/Tooltip.scss","webpack:///./src/routes/Profile/routes/ChangePlan/routes/PlanChoice/PlanChoice.scss","webpack:///./src/routes/Main/apps/Benefits/assets/item1.jpg","webpack:///./src/routes/ContactUs/assets/contact-us-header.jpg","webpack:///./src/shared/apps/NoAvailablePrinterForm/NoAvailablePrinterForm.scss","webpack:///./src/routes/Profile/routes/RenewPlan/routes/RenewalTerms/RenewalTerms.scss","webpack:///./src/shared/elements/Icon/Icon.scss","webpack:///./src/routes/Profile/routes/ProfileSettings/apps/ChangePasswordForm/ChangePasswordForm.scss","webpack:///./src/shared/apps/Profile/CorrectedAddressModal/CorrectedAddressModal.scss","webpack:///./src/shared/apps/Header/assets/header-new-logo.png","webpack:///./src/shared/apps/Profile/LoginForm/LoginForm.scss","webpack:///./src/shared/apps/ButtonWithIcon/ButtonWithIcon.scss","webpack:///./src/routes/Profile/shared/apps/ManageAccount/ManageAccount.scss","webpack:///./src/routes/ContactUs/ContactUs.scss","webpack:///./src/shared/apps/Profile/CreateProfileProgress/CreateProfileProgress.scss","webpack:///./src/routes/Main/apps/HowToWork/assets/step3-min.jpg","webpack:///./src/shared/apps/HomeLayout/HomeLayout.scss","webpack:///./src/redux-app/selectors/apiData.ts","webpack:///./src/shared/apps/Spinner/Spinner.tsx","webpack:///./src/shared/apps/Spinner/index.ts","webpack:///./src/shared/apps/Loading/Loading.tsx","webpack:///./src/shared/apps/Loading/LoadingContainer.ts","webpack:///./src/shared/apps/Loading/index.ts","webpack:///./src/shared/hocs/loading.ts","webpack:///./src/shared/hocs/initialLoad.ts","webpack:///./src/api/client/actions/subscriptions.ts","webpack:///./src/redux-app/actionCreators/subscription.ts","webpack:///./src/redux-app/actionCreators/api.ts","webpack:///./src/api/client/actions/version.ts","webpack:///./src/shared/elements/Button/Button.tsx","webpack:///./src/shared/elements/Button/index.ts","webpack:///./src/shared/elements/Icon/icons/help.svg","webpack:///./src/shared/elements/Icon/Icon.tsx","webpack:///./src/shared/elements/Icon/icons/draw.svg","webpack:///./src/shared/elements/Icon/icons/erase.svg","webpack:///./src/shared/elements/Icon/icons/line.svg","webpack:///./src/shared/elements/Icon/icons/oval.svg","webpack:///./src/shared/elements/Icon/icons/square.svg","webpack:///./src/shared/elements/Icon/icons/text.svg","webpack:///./src/shared/elements/Icon/icons/close.svg","webpack:///./src/shared/elements/Icon/icons/info.svg","webpack:///./src/shared/elements/Icon/index.ts","webpack:///./src/shared/apps/ButtonWithIcon/ButtonWithIcon.tsx","webpack:///./src/shared/apps/ButtonWithIcon/index.ts","webpack:///./src/shared/elements/List/List.tsx","webpack:///./src/shared/elements/List/ListItem.tsx","webpack:///./src/shared/elements/List/index.ts","webpack:///./src/shared/elements/Text/Text.tsx","webpack:///./src/shared/elements/Text/index.ts","webpack:///./src/shared/apps/LocalizationText/utils.ts","webpack:///./src/shared/apps/LocalizationText/LocalizationText.tsx","webpack:///./src/shared/apps/LocalizationText/index.ts","webpack:///./src/shared/apps/Alerts/apps/Alert/Alert.tsx","webpack:///./src/routes/Main/constants.ts","webpack:///./src/shared/apps/Header/shared/constants/header.ts","webpack:///./src/shared/apps/Alerts/apps/Alert/index.ts","webpack:///./src/shared/apps/Alerts/Alerts.tsx","webpack:///./src/shared/apps/Alerts/AlertsContainer.ts","webpack:///./src/redux-app/selectors/alerts.ts","webpack:///./src/shared/apps/Alerts/index.ts","webpack:///./src/shared/apps/LoadingOverlay/LoadingOverlay.tsx","webpack:///./src/shared/apps/LoadingOverlay/LoadingOverlayContainer.ts","webpack:///./src/shared/apps/LoadingOverlay/index.ts","webpack:///./src/services/PageScroller/PageScroller.ts","webpack:///./src/services/PageScroller/index.ts","webpack:///./src/shared/hocs/localization.ts","webpack:///./src/shared/apps/Header/apps/HeaderMenu/HeaderMenu.tsx","webpack:///./src/shared/apps/Header/apps/HeaderMenu/HeaderMenuContainer.ts","webpack:///./src/shared/apps/Header/apps/HeaderMenu/index.ts","webpack:///./src/shared/apps/AccessWrapper/AccessWrapper.tsx","webpack:///./src/shared/apps/AccessWrapper/AccessWrapperContainer.ts","webpack:///./src/shared/apps/AccessWrapper/index.ts","webpack:///./src/shared/elements/Select/SelectItem.tsx","webpack:///./src/shared/elements/Select/Select.tsx","webpack:///./src/shared/apps/Header/apps/HeaderActions/apps/UserControls/constants.ts","webpack:///./src/shared/elements/Select/index.ts","webpack:///./src/shared/apps/Header/apps/HeaderActions/apps/UserControls/UserControls.tsx","webpack:///./src/shared/apps/Header/apps/HeaderActions/apps/UserControls/UserControlsContainer.ts","webpack:///./src/shared/apps/Header/apps/HeaderActions/apps/UserControls/index.ts","webpack:///./src/shared/apps/Header/apps/HeaderActions/HeaderActions.tsx","webpack:///./src/shared/apps/Header/apps/HeaderActions/HeaderActionsContainer.ts","webpack:///./src/shared/apps/Header/apps/HeaderActions/index.ts","webpack:///./src/shared/apps/Header/apps/MobileMenu/MobileMenu.tsx","webpack:///./src/shared/apps/Header/apps/MobileMenu/MobileMenuContainer.ts","webpack:///./src/shared/apps/Header/apps/MobileMenu/index.ts","webpack:///./src/shared/apps/Header/Header.tsx","webpack:///./src/shared/apps/Footer/constants.ts","webpack:///./src/shared/apps/Header/HeaderContainer.ts","webpack:///./src/shared/apps/Header/index.ts","webpack:///./src/shared/apps/Footer/Footer.tsx","webpack:///./src/shared/apps/Footer/FooterContainer.ts","webpack:///./src/shared/apps/Footer/index.ts","webpack:///./src/shared/apps/HomeLayout/HomeLayout.tsx","webpack:///./src/shared/apps/HomeLayout/index.ts","webpack:///./src/constants/links.ts","webpack:///./src/routes/Main/apps/Banner/Banner.tsx","webpack:///./src/routes/Main/apps/Banner/index.ts","webpack:///./src/shared/elements/Heading/Heading.tsx","webpack:///./src/shared/elements/Heading/index.ts","webpack:///./src/routes/Main/apps/PartnerPrinting/PartnerPrinting.tsx","webpack:///./src/routes/Main/apps/PartnerPrinting/index.ts","webpack:///./src/routes/Main/apps/HowToWork/HowToWork.tsx","webpack:///./src/routes/Main/apps/HowToWork/index.ts","webpack:///./src/routes/Main/apps/Benefits/Benefits.tsx","webpack:///./src/routes/Main/apps/Benefits/index.ts","webpack:///./src/shared/utils/price.ts","webpack:///./src/routes/Main/apps/SelectPlan/apps/PlanItem.tsx","webpack:///./src/shared/apps/Tooltip/Tooltip.tsx","webpack:///./src/shared/apps/Tooltip/index.ts","webpack:///./src/routes/Main/apps/SelectPlan/apps/MultiPlanItem/MultiPlanItem.tsx","webpack:///./src/routes/Main/apps/SelectPlan/apps/MultiPlanItem/index.ts","webpack:///./src/routes/Main/apps/SelectPlan/SelectPlan.tsx","webpack:///./src/shared/apps/ComparePlans/shared/constants/dataNames.ts","webpack:///./src/routes/Main/apps/SelectPlan/SelectPlanContainer.ts","webpack:///./src/routes/Main/apps/SelectPlan/index.ts","webpack:///./src/shared/apps/ComparePlans/utils.ts","webpack:///./src/shared/apps/ComparePlans/apps/ComparePlansOption/ComparePlansOption.tsx","webpack:///./src/shared/apps/ComparePlans/apps/ComparePlansOption/index.ts","webpack:///./src/shared/apps/ComparePlans/ComparePlans.tsx","webpack:///./src/shared/apps/ComparePlans/ComparePlansContainer.ts","webpack:///./src/shared/apps/ComparePlans/index.ts","webpack:///./src/routes/Main/apps/ComparePlans/ComparePlans.tsx","webpack:///./src/routes/Main/apps/ComparePlans/ComparePlansContainer.ts","webpack:///./src/routes/Main/apps/ComparePlans/index.ts","webpack:///./src/routes/Main/apps/Question/Question.tsx","webpack:///./src/routes/Main/apps/Question/QuestionContainer.ts","webpack:///./src/routes/Main/apps/Question/index.ts","webpack:///./src/routes/Main/apps/ScrollUpButton/ScrollUpButton.tsx","webpack:///./src/routes/Main/apps/ScrollUpButton/index.ts","webpack:///./src/routes/Main/Main.tsx","webpack:///./src/routes/Main/MainContainer.ts","webpack:///./src/shared/hocs/withScrollToElements.ts","webpack:///./src/redux-app/selectors/pageScroller.ts","webpack:///./src/routes/Main/index.ts","webpack:///./src/shared/hocs/formWithCaptcha.tsx","webpack:///./src/shared/apps/Profile/SignUpForm/constants.ts","webpack:///./src/constants/forms.ts","webpack:///./src/shared/apps/FormFields/shared/hocs/withLocalizationErrorMessage.ts","webpack:///./src/shared/elements/Label/Label.tsx","webpack:///./src/shared/elements/Label/index.ts","webpack:///./src/shared/apps/FormField/FormField.tsx","webpack:///./src/shared/apps/FormField/index.ts","webpack:///./src/shared/elements/Input/Input.tsx","webpack:///./src/shared/elements/Input/index.ts","webpack:///./src/shared/apps/FormFields/shared/utils/field.ts","webpack:///./src/shared/apps/FormFields/apps/Input/Input.tsx","webpack:///./src/shared/apps/FormFields/apps/Input/index.ts","webpack:///./src/shared/apps/Captcha/Captcha.tsx","webpack:///./src/shared/apps/Captcha/CaptchaContainer.ts","webpack:///./src/shared/apps/Captcha/index.ts","webpack:///./src/shared/apps/FormFields/apps/Captcha/Captcha.tsx","webpack:///./src/shared/apps/FormFields/apps/Captcha/index.ts","webpack:///./src/shared/apps/FormFields/apps/Select/Select.tsx","webpack:///./src/constants/payment.ts","webpack:///./src/shared/apps/FormFields/apps/Select/index.ts","webpack:///./src/shared/apps/FormFields/shared/hocs/normalizeEvents.ts","webpack:///./src/shared/elements/Textarea/Textarea.tsx","webpack:///./src/shared/elements/Textarea/index.ts","webpack:///./src/shared/apps/FormFields/apps/Textarea/Textarea.tsx","webpack:///./src/shared/apps/FormFields/apps/Textarea/index.ts","webpack:///./src/shared/elements/Checkbox/Checkbox.tsx","webpack:///./src/shared/elements/Checkbox/index.ts","webpack:///./src/shared/apps/FormFields/apps/Checkbox/Checkbox.tsx","webpack:///./src/shared/apps/FormFields/apps/Checkbox/index.ts","webpack:///./src/shared/apps/FormErrorMessage/FormErrorMessage.tsx","webpack:///./src/shared/apps/FormErrorMessage/index.ts","webpack:///./src/shared/utils/form.ts","webpack:///./src/shared/apps/Profile/SignUpForm/SignUpForm.tsx","webpack:///./src/services/Paymetric/constants.ts","webpack:///./src/shared/apps/Profile/SignUpForm/SignUpFormContainer.ts","webpack:///./src/shared/apps/Profile/SignUpForm/index.ts","webpack:///./src/shared/apps/Profile/CreateProfileProgress/CreateProfileProgress.tsx","webpack:///./src/shared/apps/Profile/CreateProfileProgress/CreateProfileProgressContainer.ts","webpack:///./src/shared/apps/Profile/CreateProfileProgress/index.ts","webpack:///./src/shared/apps/Profile/SelectedPlan/SelectedPlan.tsx","webpack:///./src/shared/apps/Profile/SelectedPlan/SelectedPlanContainer.ts","webpack:///./src/shared/apps/Profile/SelectedPlan/index.ts","webpack:///./src/routes/CreateProfile/CreateProfile.tsx","webpack:///./src/routes/CreateProfile/CreateProfileContainer.ts","webpack:///./src/routes/CreateProfile/index.ts","webpack:///./src/shared/apps/AuthPage/Auth.tsx","webpack:///./src/shared/apps/AuthPage/AuthContainer.ts","webpack:///./src/shared/apps/AuthPage/index.ts","webpack:///./src/shared/utils/payment.ts","webpack:///./src/services/Paymetric/Paymetric.ts","webpack:///./src/services/Paymetric/index.ts","webpack:///./src/api/client/actions/paymetric.ts","webpack:///./src/redux-app/actionCreators/users.ts","webpack:///./src/shared/apps/Profile/LoginForm/apps/LoginMeta/LoginMeta.tsx","webpack:///./src/shared/apps/Profile/LoginForm/apps/LoginMeta/LoginMetaContainer.ts","webpack:///./src/shared/apps/Profile/LoginForm/apps/LoginMeta/index.ts","webpack:///./src/shared/apps/Profile/LoginForm/LoginForm.tsx","webpack:///./src/shared/apps/Profile/LoginForm/LoginFormContainer.ts","webpack:///./src/shared/apps/Profile/LoginForm/index.ts","webpack:///./src/routes/Login/Login.tsx","webpack:///./src/routes/Login/index.ts","webpack:///./src/routes/ForgotPassword/apps/ForgotPasswordForm/apps/SuccessForgotPassEmailSending/SuccessForgotPassEmailSending.tsx","webpack:///./src/routes/ForgotPassword/apps/ForgotPasswordForm/apps/SuccessForgotPassEmailSending/SuccessForgotPassEmailSendingContainer.ts","webpack:///./src/routes/ForgotPassword/apps/ForgotPasswordForm/apps/SuccessForgotPassEmailSending/index.ts","webpack:///./src/routes/ForgotPassword/apps/ForgotPasswordForm/ForgotPasswordForm.tsx","webpack:///./src/routes/ConfirmChangeEmail/routes/ConfirmChangeEmail/contants.ts","webpack:///./src/routes/ForgotPassword/apps/ForgotPasswordForm/ForgotPasswordFormContainer.ts","webpack:///./src/routes/ForgotPassword/apps/ForgotPasswordForm/index.ts","webpack:///./src/routes/ForgotPassword/ForgotPassword.tsx","webpack:///./src/routes/ForgotPassword/index.ts","webpack:///./src/routes/ConfirmEmail/routes/ConfirmEmail/ConfirmEmail.tsx","webpack:///./src/routes/ConfirmEmail/routes/ConfirmEmail/ConfirmEmailContainer.ts","webpack:///./src/routes/ConfirmEmail/routes/ConfirmEmail/index.ts","webpack:///./src/routes/ConfirmEmail/routes/ConfirmEmailUserAlreadyActivated/ConfirmEmailUserAlreadyActivated.tsx","webpack:///./src/routes/ConfirmEmail/routes/ConfirmEmailUserAlreadyActivated/index.ts","webpack:///./src/routes/ConfirmEmail/ConfirmEmail.tsx","webpack:///./src/routes/ConfirmEmail/index.ts","webpack:///./src/routes/ChangePassword/routes/ChangePasswordCheckLink/constants.ts","webpack:///./src/routes/ChangePassword/routes/ChangePasswordCheckLink/apps/ChangePasswordForm/constants.ts","webpack:///./src/routes/ConfirmChangeEmail/routes/ConfirmChangeEmail/ConfirmChangeEmail.tsx","webpack:///./src/routes/ConfirmChangeEmail/routes/ConfirmChangeEmail/ConfirmChangeEmailContainer.ts","webpack:///./src/routes/ConfirmChangeEmail/routes/ConfirmChangeEmail/index.ts","webpack:///./src/routes/ConfirmChangeEmail/ConfirmChangeEmail.tsx","webpack:///./src/routes/ConfirmChangeEmail/index.ts","webpack:///./src/routes/ChangePassword/routes/ChangePasswordCheckLink/apps/ChangePasswordForm/ChangePasswordForm.tsx","webpack:///./src/routes/ChangePassword/routes/ChangePasswordCheckLink/apps/ChangePasswordForm/ChangePasswordFormContainer.ts","webpack:///./src/routes/ChangePassword/routes/ChangePasswordCheckLink/apps/ChangePasswordForm/index.ts","webpack:///./src/routes/ChangePassword/routes/ChangePasswordCheckLink/ChangePasswordCheckLink.tsx","webpack:///./src/routes/ChangePassword/routes/ChangePasswordCheckLink/ChangePasswordCheckLinkContainer.ts","webpack:///./src/routes/ChangePassword/routes/ChangePasswordCheckLink/index.ts","webpack:///./src/routes/ChangePassword/ChangePassword.tsx","webpack:///./src/routes/ChangePassword/index.ts","webpack:///./src/api/client/actions/userProfile.ts","webpack:///./src/shared/apps/Profile/PaymetricServiceUnavailableModal/constants.ts","webpack:///./src/redux-app/selectors/modals.ts","webpack:///./src/shared/hocs/hiddenUnmountedModal.ts","webpack:///./src/shared/apps/Modal/Modal.tsx","webpack:///./src/shared/apps/Modal/ModalContainer.ts","webpack:///./src/shared/apps/Modal/ModalMessage.tsx","webpack:///./src/shared/apps/Modal/ModalFooter.tsx","webpack:///./src/shared/apps/Modal/ModalFooterButtons.tsx","webpack:///./src/shared/apps/Modal/index.ts","webpack:///./src/shared/apps/Profile/PaymetricServiceUnavailableModal/PaymetricServiceUnavailableModal.tsx","webpack:///./src/shared/utils/printedData.ts","webpack:///./src/shared/apps/Profile/PaymetricServiceUnavailableModal/PaymetricServiceUnavailableModalContainer.ts","webpack:///./src/shared/apps/Profile/CorrectedAddressModal/CorrectedAddressModal.tsx","webpack:///./src/shared/apps/Profile/CorrectedAddressModal/CorrectedAddressModalHoc.ts","webpack:///./src/shared/apps/Profile/CorrectedAddressModal/constants.ts","webpack:///./src/shared/apps/Profile/CorrectedAddressModal/index.ts","webpack:///./src/shared/hocs/formWithAddress.tsx","webpack:///./src/shared/apps/Profile/AddCardForm/constants.ts","webpack:///./src/constants/countries.ts","webpack:///./src/shared/apps/Profile/AddCardForm/AddCardForm.tsx","webpack:///./src/shared/apps/Profile/AddCardForm/AddCardFormContainer.ts","webpack:///./src/shared/apps/Profile/AddCardForm/index.ts","webpack:///./src/api/client/actions/company.ts","webpack:///./src/shared/apps/Profile/BillingInfoForm/BillingInfoForm.tsx","webpack:///./src/shared/apps/Profile/BillingInfoForm/BillingInfoFormContainer.ts","webpack:///./src/shared/apps/Profile/BillingInfoForm/index.ts","webpack:///./src/shared/apps/Profile/ShippingInfoForm/ShippingInfoForm.tsx","webpack:///./src/shared/apps/Profile/ShippingInfoForm/ShippingInfoFormContainer.ts","webpack:///./src/shared/apps/Profile/ShippingInfoForm/index.ts","webpack:///./src/api/client/actions/business.ts","webpack:///./src/shared/apps/Profile/BusinessDetailsForm/BusinessDetailsForm.tsx","webpack:///./src/shared/apps/Profile/BusinessDetailsForm/BusinessDetailsFormContainer.ts","webpack:///./src/shared/apps/Profile/BusinessDetailsForm/index.ts","webpack:///./src/shared/elements/CollapsibleBlock/CollapsibleBlock.tsx","webpack:///./src/routes/Profile/routes/CreateProfile/apps/SignUpForms/constants.ts","webpack:///./src/shared/elements/CollapsibleBlock/index.ts","webpack:///./src/routes/Profile/routes/CreateProfile/apps/SignUpForms/SignUpForms.tsx","webpack:///./src/routes/Profile/routes/CreateProfile/apps/SignUpForms/utils.ts","webpack:///./src/routes/Profile/routes/CreateProfile/apps/SignUpForms/SignUpFormsContainer.ts","webpack:///./src/routes/Profile/routes/CreateProfile/apps/Terms/constants.ts","webpack:///./src/routes/Profile/routes/CreateProfile/apps/SignUpForms/index.ts","webpack:///./src/shared/apps/LeaseAgreement/LeaseAgreement.tsx","webpack:///./src/shared/apps/LeaseAgreement/index.ts","webpack:///./src/routes/Profile/routes/CreateProfile/apps/Terms/Terms.tsx","webpack:///./src/shared/apps/Profile/PaymentDetailsForm/constants.ts","webpack:///./src/routes/Profile/routes/CreateProfile/apps/Terms/TermsContainer.ts","webpack:///./src/routes/Profile/routes/CreateProfile/apps/Terms/index.ts","webpack:///./src/routes/Profile/routes/CreateProfile/apps/Congrats/Congrats.tsx","webpack:///./src/routes/Profile/routes/CreateProfile/apps/Congrats/CongratsContainer.ts","webpack:///./src/routes/Profile/routes/CreateProfile/apps/Congrats/index.ts","webpack:///./src/routes/Profile/routes/CreateProfile/CreateProfile.tsx","webpack:///./src/routes/Profile/routes/CreateProfile/CreateProfileContainer.ts","webpack:///./src/routes/Profile/routes/CreateProfile/index.ts","webpack:///./src/routes/Profile/shared/apps/ProfileContent/ProfileContent.tsx","webpack:///./src/routes/Profile/shared/apps/ProfileContent/index.ts","webpack:///./src/shared/apps/Profile/PaymentDetailsForm/utils.ts","webpack:///./src/shared/apps/Profile/PaymentDetailsForm/PaymentDetailsForm.tsx","webpack:///./src/shared/apps/Profile/PaymentDetailsForm/PaymentDetailsFormContainer.ts","webpack:///./src/shared/apps/Profile/PaymentDetailsForm/index.ts","webpack:///./src/routes/Profile/shared/apps/ConfirmChangingPlanModal/ConfirmChangingPlanModal.tsx","webpack:///./src/routes/Profile/shared/apps/ConfirmChangingPlanModal/constants.ts","webpack:///./src/routes/Profile/shared/apps/ConfirmChangingPlanModal/ConfirmChangingPlanModalContainer.ts","webpack:///./src/routes/Profile/shared/apps/ConfirmChangingPlanModal/index.ts","webpack:///./src/redux-app/selectors/contacts.ts","webpack:///./src/routes/Profile/shared/apps/ForbiddenChangingPlanModal/ForbiddenChangingPlanModal.tsx","webpack:///./src/routes/Profile/shared/apps/ForbiddenChangingPlanModal/constants.ts","webpack:///./src/routes/Profile/shared/apps/ForbiddenChangingPlanModal/ForbiddenChangingPlanModalContainer.ts","webpack:///./src/routes/Profile/shared/apps/ForbiddenChangingPlanModal/index.ts","webpack:///./src/routes/Profile/shared/apps/ManageAccount/apps/ConfirmCancelSubscriptionModal/ConfirmCancelSubscriptionModal.tsx","webpack:///./src/routes/Profile/routes/ViewProfile/apps/Notifications/constants.ts","webpack:///./src/routes/Profile/shared/apps/ManageAccount/apps/ConfirmCancelSubscriptionModal/ConfirmCancelSubscriptionModalContainer.ts","webpack:///./src/routes/Profile/shared/apps/ManageAccount/contants.ts","webpack:///./src/routes/Profile/shared/apps/ManageAccount/apps/ConfirmCancelSubscriptionModal/index.ts","webpack:///./src/routes/Profile/shared/apps/ManageAccount/ManageAccount.tsx","webpack:///./src/routes/Profile/shared/apps/ManageAccount/ManageAccountContainer.ts","webpack:///./src/routes/Profile/shared/apps/ManageAccount/index.ts","webpack:///./src/routes/Profile/shared/apps/CurrentSubscription/CurrentSubscription.tsx","webpack:///./src/routes/Profile/shared/apps/CurrentSubscription/CurrentSubscriptionContainer.ts","webpack:///./src/routes/Profile/shared/apps/CurrentSubscription/index.ts","webpack:///./src/routes/Profile/routes/ViewProfile/apps/ShippingHistory/constants.ts","webpack:///./src/routes/Profile/routes/ViewProfile/apps/Notifications/Notifications.tsx","webpack:///./src/routes/Profile/routes/ViewProfile/apps/Notifications/NotificationsContainer.ts","webpack:///./src/routes/Profile/routes/ViewProfile/apps/Notifications/utils.ts","webpack:///./src/routes/Profile/routes/ViewProfile/apps/Notifications/index.ts","webpack:///./src/routes/Profile/routes/ViewProfile/apps/PaymentHistory/constants.ts","webpack:///./src/shared/apps/Table/Table.tsx","webpack:///./src/shared/apps/Table/TableContainer.ts","webpack:///./src/shared/apps/Table/index.ts","webpack:///./src/routes/Profile/routes/ViewProfile/apps/ShippingHistory/ShippingHistory.tsx","webpack:///./src/routes/Profile/routes/ViewProfile/apps/ShippingHistory/ShippingHistoryContainer.ts","webpack:///./src/routes/Profile/routes/ViewProfile/apps/ShippingHistory/index.ts","webpack:///./src/routes/Profile/routes/ViewProfile/apps/PaymentHistory/PaymentHistory.tsx","webpack:///./src/routes/Profile/routes/ViewProfile/apps/PaymentHistory/PaymentHistoryContainer.ts","webpack:///./src/routes/Profile/routes/ViewProfile/apps/PaymentHistory/index.ts","webpack:///./src/routes/Profile/routes/ViewProfile/ViewProfile.tsx","webpack:///./src/routes/Profile/routes/ViewProfile/ViewProfileContainer.ts","webpack:///./src/routes/Profile/routes/ViewProfile/index.ts","webpack:///./src/routes/Profile/routes/ChangePlan/routes/PlanChoice/PlanChoice.tsx","webpack:///./src/routes/Profile/routes/ChangePlan/routes/Terms/constants.ts","webpack:///./src/routes/Profile/routes/ChangePlan/routes/PlanChoice/PlanChoiceContainer.ts","webpack:///./src/routes/Profile/routes/ChangePlan/routes/PlanChoice/index.ts","webpack:///./src/routes/Profile/routes/ChangePlan/routes/Terms/Terms.tsx","webpack:///./src/routes/Profile/routes/RenewPlan/routes/RenewalTerms/constants.ts","webpack:///./src/routes/Profile/routes/ChangePlan/routes/Terms/TermsContainer.ts","webpack:///./src/routes/Profile/routes/ChangePlan/routes/Terms/index.ts","webpack:///./src/shared/apps/NoAvailablePrinterForm/NoAvailablePrinterForm.tsx","webpack:///./src/shared/apps/NoAvailablePrinterForm/NoAvailablePrinterFormContainer.ts","webpack:///./src/shared/apps/NoAvailablePrinterForm/index.ts","webpack:///./src/routes/Profile/routes/ChangePlan/routes/NoAvailablePrinter/NoAvailablePrinter.tsx","webpack:///./src/routes/Profile/routes/ChangePlan/routes/NoAvailablePrinter/index.ts","webpack:///./src/routes/Profile/routes/ChangePlan/routes/NewPlanAccepted/NewPlanAccepted.tsx","webpack:///./src/routes/Profile/routes/ChangePlan/routes/NewPlanAccepted/NewPlanAcceptedContainer.ts","webpack:///./src/routes/Profile/routes/ChangePlan/routes/NewPlanAccepted/index.ts","webpack:///./src/routes/Profile/routes/ChangePlan/ChangePlan.tsx","webpack:///./src/routes/Profile/routes/ChangePlan/index.ts","webpack:///./src/shared/apps/RenewalLeaseAgreement/RenewalLeaseAgreement.tsx","webpack:///./src/shared/apps/RenewalLeaseAgreement/index.ts","webpack:///./src/routes/Profile/routes/RenewPlan/routes/RenewalTerms/RenewalTerms.tsx","webpack:///./src/routes/Profile/routes/RenewPlan/routes/RenewalTerms/RenewalTermsContainer.ts","webpack:///./src/routes/Profile/routes/RenewPlan/routes/RenewalTerms/index.ts","webpack:///./src/routes/Profile/routes/RenewPlan/routes/PlanRenewal/PlanRenewal.tsx","webpack:///./src/routes/Profile/routes/RenewPlan/routes/PlanRenewal/PlanRenewalContainer.ts","webpack:///./src/routes/Profile/routes/RenewPlan/routes/PlanRenewal/index.ts","webpack:///./src/routes/Profile/routes/RenewPlan/RenewPlan.tsx","webpack:///./src/routes/Profile/routes/RenewPlan/index.ts","webpack:///./src/routes/Profile/routes/EnrollSubscription/routes/EnrollPlanChoice/EnrollPlanChoice.tsx","webpack:///./src/routes/Profile/routes/EnrollSubscription/routes/Terms/constants.ts","webpack:///./src/routes/Profile/routes/EnrollSubscription/routes/EnrollPlanChoice/EnrollPlanChoiceContainer.ts","webpack:///./src/routes/Profile/routes/EnrollSubscription/routes/EnrollPlanChoice/index.ts","webpack:///./src/routes/Profile/routes/EnrollSubscription/routes/Terms/Terms.tsx","webpack:///./src/routes/Profile/routes/EnrollSubscription/routes/Terms/TermsContainer.ts","webpack:///./src/routes/Profile/routes/EnrollSubscription/routes/Terms/index.ts","webpack:///./src/routes/Profile/routes/EnrollSubscription/routes/NewPlanAccepted/NewPlanAccepted.tsx","webpack:///./src/routes/Profile/routes/EnrollSubscription/routes/NewPlanAccepted/NewPlanAcceptedContainer.ts","webpack:///./src/routes/Profile/routes/EnrollSubscription/routes/NewPlanAccepted/index.ts","webpack:///./src/routes/Profile/routes/EnrollSubscription/routes/NoAvailablePrinter/NoAvailablePrinter.tsx","webpack:///./src/routes/Profile/routes/EnrollSubscription/routes/NoAvailablePrinter/NoAvailablePrinterContainer.ts","webpack:///./src/routes/Profile/routes/EnrollSubscription/routes/NoAvailablePrinter/index.ts","webpack:///./src/routes/Profile/routes/EnrollSubscription/EnrollSubscription.tsx","webpack:///./src/routes/Profile/routes/EnrollSubscription/index.ts","webpack:///./src/routes/Profile/routes/RenewAndChangeSubscription/routes/RenewAndChangePlanAccepted/RenewAndChangePlanAccepted.tsx","webpack:///./src/routes/Profile/routes/RenewAndChangeSubscription/routes/RenewAndChangePlanAccepted/RenewAndChangePlanAcceptedContainer.ts","webpack:///./src/routes/Profile/routes/RenewAndChangeSubscription/routes/RenewAndChangePlanAccepted/index.ts","webpack:///./src/routes/Profile/routes/RenewAndChangeSubscription/RenewAndChangeSubscription.tsx","webpack:///./src/api/client/actions/userSettings.ts","webpack:///./src/routes/Profile/routes/ProfileSettings/apps/ChangeEmailForm/contants.ts","webpack:///./src/routes/Profile/routes/ProfileSettings/apps/ChangePasswordForm/constants.ts","webpack:///./src/routes/Profile/routes/ProfileSettings/apps/ChangeEmailForm/ChangeEmailForm.tsx","webpack:///./src/routes/Profile/routes/ProfileSettings/apps/ChangeEmailForm/ChangeEmailFormContainer.ts","webpack:///./src/routes/Profile/routes/ProfileSettings/apps/ChangeEmailForm/index.ts","webpack:///./src/routes/Profile/routes/ProfileSettings/apps/ChangePasswordForm/ChangePasswordForm.tsx","webpack:///./src/routes/Profile/routes/ProfileSettings/apps/ChangePasswordForm/ChangePasswordFormContainer.ts","webpack:///./src/routes/Profile/routes/ProfileSettings/apps/ChangePasswordForm/index.ts","webpack:///./src/routes/Profile/routes/ProfileSettings/ProfileSettings.tsx","webpack:///./src/routes/Profile/routes/ProfileSettings/ProfileSettingsContainer.ts","webpack:///./src/routes/Profile/routes/ProfileSettings/index.ts","webpack:///./src/shared/apps/MaintenanceBanner/MaintenanceBanner.tsx","webpack:///./src/shared/apps/MaintenanceBanner/MaintenanceBannerContainer.ts","webpack:///./src/shared/apps/MaintenanceBanner/index.ts","webpack:///./src/routes/Profile/Profile.tsx","webpack:///./src/routes/Profile/ProfileContainer.ts","webpack:///./src/routes/Profile/index.ts","webpack:///./src/routes/ContactUs/ContactUs.tsx","webpack:///./src/routes/ContactUs/ContactUsContainer.ts","webpack:///./src/routes/ContactUs/index.ts","webpack:///./src/routes/LeaveEmail/apps/LeaveEmailForm/LeaveEmailForm.tsx","webpack:///./src/routes/LeaveEmail/apps/LeaveEmailForm/LeaveEmailFormContainer.ts","webpack:///./src/routes/LeaveEmail/apps/LeaveEmailForm/index.ts","webpack:///./src/routes/LeaveEmail/LeaveEmail.tsx","webpack:///./src/routes/LeaveEmail/LeaveEmailContainer.ts","webpack:///./src/routes/LeaveEmail/index.ts","webpack:///./src/routes/NoAvailablePrinter/NoAvailablePrinter.tsx","webpack:///./src/routes/NoAvailablePrinter/index.ts","webpack:///./src/shared/apps/CoreLayout/apps/CookieAccept/CookieAccept.tsx","webpack:///./src/shared/apps/CoreLayout/apps/CookieAccept/CookieAcceptContainer.ts","webpack:///./src/shared/apps/CoreLayout/apps/CookieAccept/index.ts","webpack:///./src/shared/apps/CoreLayout/CoreLayout.tsx","webpack:///./src/shared/apps/CoreLayout/CoreLayoutContainer.ts","webpack:///./src/redux-app/selectors/forms.ts","webpack:///./src/shared/apps/CoreLayout/index.ts","webpack:///./client/root/AppContainer.tsx","webpack:///./src/routes/ConfirmEmail/ConfirmEmail.scss","webpack:///./src/routes/Profile/routes/CreateProfile/apps/SignUpForms/SignUpForms.scss","webpack:///./src/shared/apps/LoadingOverlay/LoadingOverlay.scss","webpack:///./src/shared/apps/Profile/SelectedPlan/SelectedPlan.scss","webpack:///./src/routes/ConfirmChangeEmail/routes/ConfirmChangeEmail/ConfirmChangeEmail.scss","webpack:///./src/routes/Main/apps/Banner/assets/home-hero.jpg","webpack:///./src/routes/Profile/routes/ViewProfile/apps/Notifications/Notifications.scss","webpack:///./src/shared/apps/Header/apps/MobileMenu/MobileMenu.scss","webpack:///./src/routes/Main/apps/Banner/Banner.scss","webpack:///./src/routes/Profile/routes/ViewProfile/apps/ShippingHistory/ShippingHistory.scss","webpack:///./src/shared/apps/Table/Table.scss","webpack:///./src/routes/Profile/routes/ViewProfile/apps/PaymentHistory/PaymentHistory.scss","webpack:///./src/routes/Profile/routes/EnrollSubscription/routes/NoAvailablePrinter/NoAvailablePrinter.scss","webpack:///./src/shared/elements/Label/Label.scss","webpack:///./src/routes/Main/apps/Benefits/Benefits.scss","webpack:///./src/routes/Profile/shared/apps/CurrentSubscription/CurrentSubscription.scss","webpack:///./src/shared/apps/Profile/ShippingInfoForm/ShippingInfoForm.scss","webpack:///./src/routes/Main/apps/Question/Question.scss","webpack:///./src/shared/elements/Button/Button.scss","webpack:///./src/routes/Profile/routes/CreateProfile/apps/Terms/Terms.scss","webpack:///./src/shared/elements/Checkbox/Checkbox.scss","webpack:///./src/shared/apps/RenewalLeaseAgreement/RenewalLeaseAgreement.scss","webpack:///./src/routes/Profile/routes/ChangePlan/routes/Terms/Terms.scss","webpack:///./client/root/AppContainer.scss","webpack:///./src/shared/elements/Text/Text.scss","webpack:///./src/shared/apps/FormField/FormField.scss","webpack:///./src/routes/Main/apps/Benefits/assets/item2.jpg","webpack:///./src/routes/Main/apps/HowToWork/assets/step3.jpg","webpack:///./src/shared/apps/Footer/Footer.scss","webpack:///./src/routes/Profile/routes/CreateProfile/apps/Congrats/Congrats.scss","webpack:///./src/shared/apps/Profile/AddCardForm/AddCardForm.scss","webpack:///./src/routes/Main/apps/HowToWork/assets/step2.jpg","webpack:///./src/routes/Profile/shared/apps/ProfileContent/ProfileContent.scss","webpack:///./src/shared/apps/Profile/PaymentDetailsForm/PaymentDetailsForm.scss","webpack:///./src/routes/Profile/routes/ViewProfile/ViewProfile.scss","webpack:///./src/routes/Profile/Profile.scss","webpack:///./src/shared/apps/FormErrorMessage/FormErrorMessage.scss","webpack:///./src/routes/Profile/shared/apps/ManageAccount/apps/ConfirmCancelSubscriptionModal/ConfirmCancelSubscriptionModal.scss","webpack:///./src/shared/apps/Header/apps/HeaderActions/apps/UserControls/UserControls.scss","webpack:///./src/assets/images/logo.png","webpack:///./src/routes/Main/apps/SelectPlan/apps/PlanItem.scss","webpack:///./src/routes/Main/apps/Benefits/assets/item3.jpg","webpack:///./src/shared/elements/CollapsibleBlock/CollapsibleBlock.scss","webpack:///./src/routes/Profile/routes/EnrollSubscription/routes/NewPlanAccepted/NewPlanAccepted.scss","webpack:///./src/shared/elements/Input/Input.scss","webpack:///./src/shared/apps/MaintenanceBanner/MaintenanceBanner.scss","webpack:///./src/shared/apps/Loading/Loading.scss","webpack:///./src/assets/images/contract.png","webpack:///./src/routes/Main/apps/HowToWork/assets/step2-min.jpg","webpack:///./src/routes/CreateProfile/CreateProfile.scss","webpack:///./src/assets/images/mo2mo.png","webpack:///./src/routes/Profile/routes/ProfileSettings/ProfileSettings.scss","webpack:///./src/shared/apps/Header/apps/HeaderActions/HeaderActions.scss","webpack:///./src/shared/apps/Modal/Modal.scss","webpack:///./src/routes/Profile/routes/RenewPlan/routes/PlanRenewal/PlanRenewal.scss","webpack:///./src/shared/apps/Profile/LoginForm/apps/LoginMeta/LoginMeta.scss","webpack:///./src/routes/Main/apps/Banner/assets/home-hero-min.jpg","webpack:///./src/shared/elements/Select/Select.scss","webpack:///./src/routes/Profile/routes/ProfileSettings/apps/ChangeEmailForm/ChangeEmailForm.scss","webpack:///./src/routes/Main/apps/ScrollUpButton/ScrollUpButton.scss","webpack:///./src/shared/apps/Profile/SignUpForm/SignUpForm.scss"],"names":["module","exports","root","title","message","button","alreadyLogin","SaveChange","fieldsContainer","row","column","fieldWrap","noted","submitButton","warning","counter","active","valid","noValidState","icon","alert","input","large","default","disabled","h1","h2","h3","h4","h5","brandColor","lightColor","sectionHeader","sectionHeaderAlt","smallSize","success","field","footer","ChangePassTitle","ChangePassForm","FormField","centered","NextButton","CreateAccount","MinHeight","container768","topSpace80","congratulations","topSpace50","nextButton","item","PlanContent","ChangePlan","LoginForm","Loginlogo","fieldset","postalCode","TopHead","TopMenu","MenuBars","togglebutton","authButtons","authButton","header","content","section","options","separator","gutter","columnContent","name","image","price","plans","selectButton","actualSavings","fullSelectButton","shortSelectButton","steps","step","imageRight","imageLeft","line","line1","line2","__webpack_require__","p","ManageAccountWrapper","ManageAccount","planimg","planimgtext","planItem","cardData","container1200","selectedPlan","saveChange","backLink","terms","termsBlock","signForm","signature","signatureNote","companyName","info","agreementCheckbox","buttons","buttonWrapper","utc","ul","ol","card","cardWrapper","productDescription","activationFee","activationFeeText","loginTitle","formField","buttonWrap","bold","summary","summaryTable","summaryLine","summaryCondition","summaryValue","termsDescription","termsSection","sectionTitle","termsContent","sectionTable","tableTitle","sectionColumn","tableLine","notes","ForgotTitle","ForgotPasswordForm","SuccessTitle","danger","close","headline","body","logo","player","changePlan","planContent","office","fee","withFee","currentPlan","plan","selectPlanTitle","upperCaseLink","label","list","optionList","validIcon","additionalText","compareButton","questionMark","tooltip","saveChangeContract","backLinkContract","buttonWrapperContract","medium","xLarge","xxLarge","xxxLarge","fill","stroke","emailConfirm","emailConfirmLink","left","right","CreateAccountTitle","expiredStatus","formFieldWrapper","formFieldEnroll","Noted","details","detailsItem","contactSection","contactsHeader","contactTitle","contactPage","contactDetail","faqInfo","faqHeader","faqQuestion","faqAnswer","emailSupport","phoneSupport","contact","stepNum","page","type","getEntities","state","entities","getEntitiesByType","_get","EMPTY_OBJECT","getEntitiesById","_ref","id","getCountryById","API_TYPES","countries","getApiDataByType","apiData","concat","EMPTY_ARRAY","getLoadingStatus","types","arguments","length","undefined","map","getLoadStatusByType","getLanguages","languages","getStates","companyCountriesResidence","userCountriesResidence","myCompanyInfo","states","getLanguageOptions","createSelector","result","Object","values","_ref4","code","value","getItemsOptionsCreator","_pick","getEntitiesArrayByType","items","props","getPropsFromItems","getCountryOptions","getCompanyCountryResidenceOptions","getUserCountryResidenceOptions","getStateOptions","isoCode","getStatePropsFromItems","getLocalizedCompanyCountryResidenceOptions","getSingleEntityByType","myCompanyDetails","_ref5","t","_ref6","texts","countryResidenceOptions","_ref7","_ref8","_ref9","_ref10","getLocalizedBillingCountryOptions","_ref11","_ref12","countryOptions","_ref13","getLocalizedStateOptions","_ref14","_ref15","stateOptions","getLocalizedLimitedStateOptions","_ref16","_ref17","filter","getRecaptchaWhiteListConfig","recaptchaWhiteList","getAppConfig","appConfig","isCaptchaEnabled","isCaptchaWhiteListed","Spinner","react_default","a","createElement","width","height","viewBox","xmlns","cx","cy","r","attributeName","from","to","begin","dur","calcMode","repeatCount","fillOpacity","classNames","bind","styles","Loading","isLoading","children","isWrapper","className","wrapper","apps_Spinner","compose","connect","_ref$apiTypes","apiTypes","_ref$loading","loading","some","e","WrappedComponent","_React$Component","inherits_default","LoadingHoc","_super","_createSuper","classCallCheck_default","this","apply","createClass_default","key","loadProgress","React","Component","withInitialLoad","initialLoadAction","getParams","lifecycle","componentDidMount","_this","then","setState","catch","getSubscriptionPlans","payload","apiAction","hostname","env","api","url","headers","method","meta","noAuth","toString","getSubscriptionPlansForRenew","acceptTerms","data","updateShippingInfo","firstName","lastName","countryId","stateId","city","address1","phoneNumber","ShippingAddress","changeSubscriptionPlan","subscriptionPlanId","customerSignature","renewSubscriptionPlan","termsRead","enrollSubscriptionPlan","renewAndChangeSubscriptionPlan","cancelSubscription","getCurrentSubscriptionPlan","getReceipt","invoiceId","Content-Type","responseType","getBlob","getSubscriptionTerms","getTempSubscriptionTerms","getSubscriptionRenewedTerms","getChangeSubscriptionTerms","planId","getRenewSubscriptionTerms","getEnrollSubscriptionTerms","getRenewAndChangeSubscriptionTerms","getCancellationReasonList","onGetSubscriptionsPlans","dispatch","error","onShowError","onSelectSubscriptionPlan","getState","selectPlan","isSelectedPlanAvailable","history","push","ROUTES","home","signUp","leaveEmail","onCompleteSavingBillingAddress","getUserDetails","onChangeSubscriptionPlan","profileInitialLoad","getLoadActions","getDefaultRequestParams","getDefaultMetaParams","loadActions","defaultRequestParams","defaultMetaParams","Promise","all","actionCreator","params","toConsumableArray_default","_compact","initialLoadCreator","getVersion","Button","_ref$styleType","styleType","_ref$size","size","fluid","_ref$type","isExternalLink","buttonType","restProps","objectWithoutProperties_default","Link","extends_default","ICONS","faCheck","faExclamationTriangle","faTimes","circleRegular","faCircle","longArrowAltUp","faLongArrowAltUp","pencilAlt","faPencilAlt","squareRegular","faSquare","font","faFont","eraser","faEraser","undo","faUndo","redo","faRedo","paperPlane","faPaperPlane","camera","faCamera","folderOpen","faFolderOpen","caretUp","faCaretUp","caretDown","faCaretDown","phoneSlash","faPhoneSlash","phone","faPhone","plus","faPlus","microphone","faMicrophoneAlt","microphoneSlash","faMicrophoneAltSlash","pen","faPen","share","faShare","expand","faExpand","calendarAlt","faCalendarAlt","faFilter","externalLinkAlt","faExternalLinkAlt","questionCircle","faQuestionCircle","dollarSign","faDollarSign","creditCard","faCreditCard","pause","faPause","pauseCircle","faPauseCircle","userCircle","faUserCircle","exclamationCircle","faExclamationCircle","compress","faCompress","video","faVideo","videoSlash","faVideoSlash","bell","faBell","chevronUp","faChevronUp","chevronDown","faChevronDown","chevronLeft","faChevronLeft","chevronRight","faChevronRight","times","exclamationTriangle","checkCircle","faCheckCircle","play","faPlay","syncAlt","faSyncAlt","eye","faEye","eyeSlash","faEyeSlash","bars","faBars","arrowLeft","faArrowLeft","arrowUp","faArrowUp","SELF_ICONS","draw","_ref$styles","obj","keys","target","i","indexOf","prototype","hasOwnProperty","call","_objectWithoutProperties","d","transform","erase","data-name","oval","square","strokeWidth","rx","x","y","text","help","isStrokeIcon","Icon","fontAwesomeIcon","index_es","SelfIcon","ButtonWithIcon","_ref$label","iconName","onClick","_ref$iconPosition","iconPosition","elements_Button","elements_Icon","List","react","ListItem","Text","_ref$smSize","smSize","component","_objectSpread","renderNodes","astNodes","reduce","acc","astNode","index","tagName","utils_objectSpread","attrs","LocalizationText","ast","HTML","parse","MENU_ITEM_NAMES","HEADER_PAGES","Alert","_this$props","onDismiss","timeout","setTimeout","_this$props2","apps_ButtonWithIcon","apps_LocalizationText","Alerts","alerts","remove","react_bs_notifier_es","apps_Alert","getAlerts","LoadingOverlay","document","style","overflow","componentWillUnmount","PageScroller","elementId","defineProperty_default","element","querySelector","getElementId","hidden","window","scrollTo","top","getBoundingClientRect","behavior","scrollIntoView","alignToTop","comparePlansScroller","selectPlanScroller","benefitsScroller","withLocalization","path","getCurrentTexts","startPath","withHandlers","getTextPath","_ref2","MENU_ITEMS_BY_PAGE","_MENU_ITEMS_BY_PAGE","auth","profile","langPath","benefits","contactUs","HeaderMenu","_ref$items","onClickMenuItem","href","getPathWithParams","menu","event","getItems","getUserRole","role","visibleFor","includes","AccessWrapper","isAccessed","on","_ref$off","off","userRole","onChange","onKeyDown","_ref3","keyCode","reactstrap_es","ITEM_TYPES","Select","createRef","isOpen","selectOptions","inputValue","stopPropagation","preventDefault","onClose","labelRef","current","focus","onOpen","firstItem","menuRef","inputRef","callback","onBlur","toLowerCase","selectedValue","find","currentItem","currentValue","_this2","_this$props3","_this$props3$state","_this$props3$styleTyp","_this$props3$dropDown","dropDownAlignment","_this$props3$options","_this$props3$placehol","placeholder","_this$props3$size","_this$props3$disabled","_this$state","activeTitle","Fragment","toggle","onToggle","tag","ref","selected","onLabelKeyDown","onChangeInput","onInputKeyDown","Select_SelectItem","UserControls","isDropdownVisible","onOpenDropdown","onCloseDropdown","addEventListener","onCheckClickOutsideDropdown","removeEventListener","isClickedOutside","dropdownRef","dropdownButtonRef","parentNode","view","settings","logout","onLogout","greeting","isUserAbleToOpenProfile","onToggleDropdown","visible","onClickDropdownItem","userDetails","onStartLogoutWithRedirect","withRouter","HeaderActions","activeLang","setLanguage","isUserControlsVisible","languageOptions","isTextsLoading","__IS_LOCALIZATION_ACTIVE__","apps_UserControls","getLang","MobileMenu","isUserAuthorized","isVisible","login","ITEM_NAMES","Header","isMobileMenuVisible","setScrollElementId","onCloseMobileMenu","logIn","react_router_dom","src","Logo","alt","toggleMobileMenu","apps_HeaderMenu","apps_MobileMenu","apps_HeaderActions","updateSubscriptionPlans","MENU_ITEMS","textPath","readyPrint","linkPath","policy","Footer","year","Date","getFullYear","itemConfig","open","HomeLayout","apps_Header","apps_Footer","LINK_TO_INFO","index_esm","loadingImage","Banner","tags","Heading","_ref$title","Tag","console","log","trackVideoPlay","elements_Heading","elements_Text","react_player_lib_default","onPlay","controls","PartnerPrinting","loadingStep1","step1","loadingStep2","step2","loadingStep3","step3","HowToWork","ITEMS","item1","imageHeight","item2","item3","minHeight","Benefits","toCurrency","digits","replace","getDigitsFromValue","toFixed","digitsWithPadding","actualLength","amountToAdd","padding","repeat","padDigits","num","centsStartingPosition","dollars","removeLeadingZeros","substring","cents","addDecimalToNumber","PlanItem","_ref$plan","isAccessibleToUser","_ref$isSelectable","isSelectable","imageUri","description","split","apps_AccessWrapper","USER_ROLES","subscriptionUser","Tooltip","position","data-tip","data-for","dist_index_es","place","effect","MultiPlanItem","plan2","onChangeCheckBox","isSelectable2","checked","weight","apps_Tooltip","BENEFIT_NAMES","FEATURE_NAMES","SelectPlan","plansState","subscriptionPlans","groupedPlansState","groupedPlans","plansFromState","plansFromGroup","firstGroupPlanVisibility","onUpdatePlans","isUserLogin","onSelectPlan","goToComparison","planItem2","SelectPlan_apps_PlanItem","hasAvailableDevices","apps_MultiPlanItem","onChangeCheckBoxState","isUserAuthorizated","sort","b","forEach","groupByCategory","group","_group$plan$weight","updatedPlans","newPlan","analytics","homeSelectPlan","getValuesByName","allOptionsMap","getOptionsMap","optionsArray","ComparePlans_utils_objectSpread","parts","part","getNormalizedOptionDescription","ComparePlansOption","planOptions","greatFor","modes","renderValues","BENEFIT_ORDERS","unlimitedInk","prioritySupport","FEATURE_ORDERS","auto2SidePrinting","borderlessPhotos","autoDocumentFeeder","ethernetConnection","fax","touchscreenPanel","auto2SidedScanning","wideFormatPrinting","printSpeed","paperTray","wifiBandsSupported","OPTION_LABEL_BY_NAME","_OPTION_LABEL_BY_NAME","ComparePlans","benefitsState","featuresState","features","benefitsFromState","benefitsFromGroup","firstGroupBenefitsVisibility","featuresFromState","featuresFromGroup","firstGroupFeaturesVisibility","onSelect","_this$props$selectPla","selectPlanOff","selectedPlanId","groupedPlansKeys","visiblePlans","productImageUri","apps_ComparePlansOption","normalizedPlans","devices","deviceFeatures","getNormalizedPlan","getUserActivePlanId","apps_ComparePlans","location","anchor","getElementById","Question","ScrollUpButton","pageYOffset","innerHeight","onCalcVisibility","onScrollUp","Main","apps_HomeLayout","apps_Banner","apps_PartnerPrinting","apps_SelectPlan","apps_Benefits","apps_HowToWork","Main_apps_ComparePlans","apps_Question","apps_ScrollUpButton","objectDestructuringEmpty_default","formValues","viewVideoOnHomePage","pageScrollers","BaseComponent","scrollElementId","pageScroller","getScrollElementId","goToElement","componentWillReceiveProps","nextProps","scrollToElement","withScrollToElements","match","openHomePage","STEPS","fieldName","formWithCaptchaHoc","_temp","FormWithCaptcha","formWithCaptcha_createSuper","_len","args","Array","_key","assertThisInitialized_default","isCaptchaVerified","response","onSubmit","onResetCaptcha","resolve","captchaRef","reset","change","form","captchaFieldName","setCaptchaRef","onVerifyCaptcha","formWithCaptcha","CARD_FIELD_NAMES","BUSINESS_FIELD_NAMES","BILLING_FIELD_NAMES","USER_FORMS","MAX_LENGTHS","withLocalizationErrorMessage","Label","_ref$required","required","isErrorShown","errorMessage","promptMessage","inline","hint","isPromptShown","elements_Label","Input","showPass","autoFilled","autoFocus","prevProps","mask","_this$props$state","_this$props$styleType","_this$props$size","inputMask","isPassword","react_input_mask_default","handleType","touched","autoComplete","withIcon","togglePassword","getMessageText","newLine","visited","getFieldState","isErrorIncludes","errorText","_ref2$error","newLineError","withPrompt","withError","apps_FormField","elements_Input","Captcha","verifyCallback","dist_default","lang","onVerify","onExpire","sitekey","googleRecaptchaSiteKey","hl","apps_Captcha","CARD_TYPES","_ref$options","labelRenderer","apps_Loading","elements_Select","currentLabel","Select_objectSpread","isMenu","Textarea","react_autosize_textarea_lib_default","showLengthCounter","maxLength","valueLength","elements_Textarea","Checkbox","tabIndex","elements_Checkbox","FormErrorMessage","_ref$messages","messages","join","hasValidEmail","test","hasValidPassword","hasPasswordUppercaseLetters","hasPasswordLowercaseLetters","hasPasswordNumbers","hasPasswordSpecialCharacters","hasPasswordValidLength","hasRequired","trim","hasRequiredCheckbox","hasPhoneNumber","hasCardNumber","cardType","amex","hasCardCVV","hasNameOnCard","word","every","hasName","hasFullName","hasSelectedValue","hasValidPostalCode","hasAddressWithoutPOBox","createValidation","validators","validator","createValidator","hasValid","onBeforeChangePostalCode","selection","start","end","newValue","substr","removeSpaces","onlyDigits","removeDashes","VALUE_KEYS","SignUpForm","onSetErrorMessages","handleSubmit","submitting","errorMessages","showConfirmationMessage","Field","validate","emailValidation","normalize","passwordValidation","apps_FormErrorMessage","getSelectedPlanId","onSignUp","createAlert","withState","onUpdateStep","onShowConfirmationMessage","captcha","ALERTS","signUpSuccesfull","showSignUpError","errorCodes","getErrorCodes","ERROR_CODES","userAlreadyExist","getFormErrorMessages","reduxForm","openSignUpPage","CreateProfileProgress","REGISTRATION_STEPS","activeNum","isActive","getRegistrationStep","SelectedPlan","CreateProfile","Profile_CreateProfileProgress","Profile_SelectedPlan","Profile_SignUpForm","componentWillMount","Auth","getMonthOptions","getYearOptions","_getYearsDuration","getYearsDuration","_getYearsDuration2","slicedToArray_default","getCardTypeByNumber","cardNumber","startsWith","visa","dc","disc","mc","custom","Paymetric","paymetric","Accept","x-requested-with","_callee","ccData","regenerator_default","wrap","_context","prev","next","prepareRequestData","abrupt","reject","$XIPlugin","ajax","UrlsAndPayloadsFor3Ds","CentinelAcsUrl","formData","getURLSearchParams","PaReq","CentinelPayload","TermUrl","CentinelTermUrl","MD","PaymetricPayload","fetch","Code","HasPassed","err","stop","str","charAt","toUpperCase","accessToken","merchantGuid","restValues","createJSRequestPacket","entries","Paymetric_objectSpread","paymentCreditCard","myField","createField","firstToUp","addField","getPaymetricAccessToken","onRequestToPaymetric","asyncToGenerator_default","mark","merchantId","expMonth","expYear","CVV","paymetricResponse","submit","sent","paymetricError","_x","onUpdatePaymentDetails","updatePaymentDetails","onVerifyCurrentCard","verifyCurrentCard","onResendConfirmEmail","resendConfirmEmail","successResendConfirmEmail","LoginMeta","goToHomePlans","forgotPassword","onResend","isShowEmailConfirmationLink","isResendingEmail","requiredFieldValidation","disabledLink","apps_LoginMeta","onLogin","onShowResendEmailConfirmationLink","emailConfirmed","userEmailNotConfirmed","passwordExpired","userAccountLocked","loginMaxAttempted","showLoginError","setResendingStatus","openLoginPage","AuthPage","Profile_LoginForm","Login","SuccessForgotPassEmailSending","LINK_STATUSES","isSent","apps_SuccessForgotPassEmailSending","onForgotPassword","onUpdateSend","showForgotPasswordError","forgotPasswordForm","ForgotPassword","apps_ForgotPasswordForm","link","confirmEmail","resendEmail","search","_getQueryFromSearch","getQueryFromSearch","token","subscriptionplanid","decodeURIComponent","openSuccessConfirmEmailPage","successEmailConfirmed","showConfirmEmailError","linkExpired","userAlreadyActivated","subscriptionPlanHasNoAvailableDevice","noAvailablePrinter","alreadyActivated","_getQueryFromSearch2","ConfirmEmailExpired","ConfirmEmail","ConfirmEmailUserAlreadyActivated","react_router","ConfirmEmailPage","exact","ConfirmChangeEmail","status","expired","notActual","used","confirmChangeEmail","successChangeEmailConfirmed","linkUsed","changeEmailLinkAlreadyUsed","ConfirmChangeEmailPage","ChangePasswordForm","onResendForgotPassword","onResetPassword","resendForgotPassword","setStep","password","requestData","successChangePassword","passwordUsedBefore","errors","confirmPassword","ChangePasswordCheckLink","apps_ChangePasswordForm","changePassword","new","checkChangePasswordLink","onStartLogout","ChangePassword","getModalStatusByName","getModalDataByName","hiddenUnmountedModal","modalName","branch","renderNothing","Modal","overlayStyle","_this$contentRef$getB","contentRef","closeModal","onCalcOverlayStyle","_this$props2$shouldCl","shouldCloseOnOverlayClick","_this$props2$styleTyp","_this$props2$hideClos","hideCloseButton","react_modal_lib_default","ariaHideApp","onAfterOpen","onRequestClose","onCloseModal","base","afterOpen","beforeClose","overlayClassName","overlay","ModalMessage","ModalFooter","ModalFooterButtons","PaymetricServiceUnavailableModal","apps_Modal","Modal_ModalMessage","Modal_ModalFooter","Modal_ModalFooterButtons","getFormattedTextOrDefault","_getModalDataByName","formatter","noValue","getPrintedPostalCode","CorrectedAddressModal","isSubmitting","shippingCorrectedResult","billingCorrectedResult","onConfirm","shippingMessage","billingMessage","formName","MODAL_NAMES","getMessagesData","correctedData","getStateById","CorrectedAddressModalHoc_objectSpread","CorrectedAddressModalHoc","withProps","correctedAllAddressesModal","correctedShippingAddressModal","shipping","correctedBillingAddressModal","billing","FORM_COUNTRY_TYPES","MODAL_OTHER_COUNTRIES","ADDRESS_FIELD_NAMES","localizationPropTypes","PropTypes","func","isRequired","object","getCountryOptionsSelectorByCountryType","countryType","WithNotAvailableCountryModalHoc","WithNotAvailableCountryModal","formWithAddress_createSuper","openModal","onOpenNotAvailableCountriesModal","onCloseOtherCountriesModal","withNotAvailableCountryModal","withOnChangeCountryHandler","onChangeCountry","onChangeFieldValue","onStatesRequest","formWithAddress","setPropTypes","formWithAddress_objectSpread","withCountriesLoading","countryKey","stateLimitedOptions","getCountryByCountryIdState","initialValues","withStatesLoading","AddCardForm","isDisabled","clipboardData","getData","onChangeCardNumber","expirationMonthOptions","expirationYearOptions","isEdit","isCardNumberAutoFocus","isUserUnableToUpdateInfo","cardInfo","isFieldDisabled","last4Digits","expirationMonth","expirationYear","ccNumberValidation","maskChar","onPaste","onPasteCardNumber","nameOnCard","cardFullNameValidation","cardNameValidation","selectFieldValidation","cardCVVValidation","requiredCheckboxValidation","FORM_NAME","profileAddCard","getFormValues","cvv","afterSubmit","isCaptchaRequiredForCreditCardChange","changeField","onSendDataToServer","onFinishSendDataToServer","onGetUserDetails","setSubmittingState","_normalizedRequestDat","normalizedRequestData","updatedCard","paymentAccessToken","cardHolderName","successUpdateCard","saveChanges","sectionName","SITE_SECTIONS","paymentDetails","grecaptcha","showMyAccountError","sectionType","finally","slice","expiredYear","parseInt","currentYear","getCurrentYearNumber","expiredMonth","getCurrentMonthIndex","getMeCompanyCardBillingAddress","putMeCompanyCardBillingAddress","query","BillingInfoForm","onConfirmCorrectedAddress","postalCodeValidation","beforeMaskedValueChange","profileBillingForm","SHIPPING_FORM_NAME","profileShippingForm","getInitialValues","isBillingCheckboxChecked","billingAddress","shippingAddress","isSameValues","BillingInfoFormContainer_objectSpread","onUpdateBillingInfo","initialize","onSaveBillingAddress","updateBillingAddress","restFormValues","isMatch","successBillingInfoChanged","_omit","addressIsNotValid","billingAddressIsNotValid","profileBillingFormError","enableReinitialize","ShippingInfoForm","isCustomerFromExcludedState","contactNameValidation","addressWithoutPOBoxValidation","phoneValidation","ShippingInfoFormContainer_objectSpread","onSaveShippingAddress","onCompleteSavingShippingAddress","onUpdateField","shippingAddressIsNotValid","profileShippingFormError","updateBusinessDetails","BusinessDetailsForm","signatoryTitle","signatoryFirstName","signatoryLastName","profileBusinessDetails","company","successBusinessDetailsChanged","businessDetails","CollapsibleBlock","isChecked","onCheck","isCheckboxReverseMode","detail","onPreventDoubleClick","checkboxTitle","setRef","show","withCheckBox","onChangeCheckbox","SignUpForms","submitForm","isButtonDisabled","changeBillingCheckbox","changeBusinessCheckbox","isBusinessCheckboxChecked","isPaymentDetailsOpened","elements_CollapsibleBlock","Profile_ShippingInfoForm","Profile_BusinessDetailsForm","Profile_AddCardForm","Profile_BillingInfoForm","elements_Button_Button","getNormalizedAddress","addressModel","SignUpForms_utils_objectSpread","FIELD_NAMES","onShowAddressFormsError","alertName","codes","isValid","isCreateAccountFormsValid","userId","getUserId","shippingInfoFormValues","businessInfoFormValues","cardInfoFormValues","billingInfoFormValues","isShippingFormValid","onSaveInitialSubscription","onCompleteInitialSubscription","openCreatePaymentAndShippingPage","setPaymentDetailsVisibility","setBillingCheckbox","setBusinessCheckbox","paymetricRequestData","SignUpFormsContainer_objectSpread","PreAuthCompleted","_ref6$value$result","showPaymentAndShippingError","getNormalizedValidationErrors","paymetricServiceUnavailable","paymetricCardCheckFailed","profileCreditCardIssue","normalizedValidationErrors","_ref12$value$result","paymetricCvvCheckFailed","paymetricAvsCheckFailed","productName","customerShippingAddress","monthlyFee","monthlyPayment","contractId","businessSignatory","businessSignatoryTitle","customerName","customerPhoneNumber","customerEmail","contractStartDate","contractEndDate","firstPaymentDate","monthlyPaymentDay","totalMonthlyPayment","otherCharges","totalCost","totalTax","upDownFee","currency","getCurrencySymbol","LeaseAgreement","DATA_NAMES","Terms","isTermsAccepted","formValue","onChangePlan","apps_LeaseAgreement","businessName","epsonSignature","onAccept","userSubscriptionId","onAcceptTerms","updateRegistrationStep","congrats","showReviewTermsError","openCreateReviewTermsPage","setData","fields","setLoadingStatus","sabrixNotAvailable","Congrats","planName","getActivePlan","showCongratulationsError","openCreateCongratulationsPage","enrollPlan","payment","apps_SignUpForms","apps_Terms","apps_Congrats","ProfileContent","apps_LoadingOverlay","getFieldName","PaymentDetailsForm","isEditing","fieldNames","onClearFields","toggleEditCard","PaymentDetailsFormContainer_objectSpread","clearFields","setFormData","initialAction","_normalizedCCData","normalizedCCData","successPaymentDetailsChanged","_normalizedCCData2","_set","ConfirmChangingPlanModal","upCharged","downCharged","goToPlans","upgradeFee","downgradeFee","getEPSONContacts","res","contacts","email","ForbiddenChangingPlanModal","NOTIFICATION_NAMES","OTHER_REASON_ID","MIN_REASON_LENGTH","ConfirmCancelSubscriptionModal","setOtherSelected","setValid","onCancelSubscription","otherSelected","isWithFee","reasonOptions","caution","onChangeReason","cancelationReasons","rows","onChangeDetails","getReasonOptions","reasonsList","hasCancellationFee","cancellationFee","setReasonsList","setSubmittingStatus","cancellationReasonDetails","openChangingConfirm","userSubscription","futureSubscription","isUserAbleToChangeSubscription","onOpenCancellationConfirm","onGoToEnrollPlanProcess","onGoToRenewalProcess","onGoToChangePlanProcess","isUserAbleToCancelSubscription","isUserConfirmedEmail","subscriptionStatus","isEnrollAvailable","isChangeSubscriptionAllowed","isUserContractExpired","termStart","termEnd","hasDebts","contractType","isCurrentContractExpired","getPrintedDateLocal","subscriptionType","SUBSCRIPTION_PLAN_TYPE","contract","outputStatus","SUBSCRIPTION_STATUS","pendingLocked","pendingPayment","locking","activated","getPrintedStatus","apps_ConfirmChangingPlanModal","apps_ForbiddenChangingPlanModal","apps_ConfirmCancelSubscriptionModal","getUserSubscription","getUserFutureSubscription","getSubscriptionStatus","_result$subscription","subscription","canChangeSubscriptionPlan","hasSubscriptionPlanChangeFee","pendingConfirmation","_result$subscription2","renewPlan","CurrentSubscription","nextBilling","lastBilling","address","isContractExpired","isRenewalButtonEnabled","isRenewalProcessAvailable","planPrice","currentSubscription","stateAbbr","_userDetails$shipping","getPostalCodeFormatted","subscriptionContractType","SHIPPING_HISTORY_COLS","Notifications","onGoToPaymentHistory","notConfirmedEmail","printWillBeDelivered","cardExpired","askingReturnPrinter","subscriptionCanceled","subscriptionRenewed","termsStartDate","monthToMonth","termsEndDate","subscriptionWillExpireSoon","subscriptionExpired","checkCreditCard","printerWillBeLocked","printerLocking","printerLocked","general","printerWillBeUnlocked","printerWillBeSoon","getActiveNotifications","isPlanAcceptedMessageShown","isCardExpired","isPrinterWillBeSentSoon","isSubscriptionRenewed","notifications","canceled","waitingForPrinter","renewed","locked","pendingUnlocked","getActiveNotificationNames","COLUMN_KEYS","Table","columns","scope","rowItem","cellItem","n","cellContentRender","dataKey","renderCellContent","colSpan","renderBody","createRefLink","rel","ShippingHistory","subscriptionHistory","apps_Table","cellData","deliveredAt","trackingUrl","trackingNumber","createColumnsConfig","getNormalizedShippingHistory","getShippingHistory","shippingHistory","splitted","_partition","withoutDate","withDate","isDateAfter","onGetShippingHistory","PaymentHistory","downloadReceipt","date","amount","onRequestReceipt","getNormalizedPaymentHistory","getPaymentHistory","paymentHistory","received","onGetPaymentHistory","URL","createObjectURL","Blob","clearFileName","fileName","replaceAll","setAttribute","appendChild","click","ViewProfile","isAddCardFormSubmitted","isAddCardFormOpen","isShippingHistoryOpen","isPaymentHistoryOpen","_this$paymentHistoryR","paymentHistoryRef","isBusiness","isRenewed","hasPreviousContract","futureContractType","hasExtensionDocument","downloadTerms","enrollPlanProcess","renewPlanProcess","downloadRenewedTerms","isCardBlockOpen","apps_ProfileContent","apps_Notifications","apps_CurrentSubscription","onOpenShippingBlock","onCloseShippingBlock","apps_ShippingHistory","el","onOpenPaymentBlock","onClosePaymentBlock","apps_PaymentHistory","onOpenCardForm","onCloseCardForm","Profile_PaymentDetailsForm","afterCardSubmit","apps_ManageAccount","subscriptionDetails","onHideNewPlanAcceptedMessage","setPlan","openMyProfilePage","noAgreement","PlanChoice","activePlanId","isInventoryForChangePlanAvailable","onShowTerms","onChoosePlan","hasInventoryForChangePlan","apps_MultiPlanItem_MultiPlanItem","onReturnBack","oldPlan","upgradePlan","downgradePlan","successChangeSubscription","newPlanAccepted","NoAvailablePrinterForm","onGoToChangeSubscription","onAddToWaitlist","addMeToWaitlist","successLeaveEmail","NoAvailablePrinter","apps_NoAvailablePrinterForm","NewPlanAccepted","onShowNewPlanAcceptedMessage","originalContractSignDate","RenewalLeaseAgreement","RenewalTerms","newContractType","existingContractType","mo2mo","apps_RenewalLeaseAgreement","renderAgreement","newContractSignDate","getSelectedPlanForRenew","onAcceptRenewSubscriptionPlan","subscriptionPlanCategoryType","PlanRenewal","onSelectChangePlan","currentUserPlanImageUri","currentUserPlanName","contractExpirationDate","onSubmitChangePlan","subscriptionPlansForRenew","onGetSubscriptionsPlansForRenew","setRenewalPlans","pathname","changeAndRenew","RenewPlan","accepted","EnrollPlanChoice","isPlanAvailable","_props$location$state","isRenewAndChange","getSelectedPlan","onAcceptEnrollSubscriptionPlan","onAcceptRenewAndChangeSubscriptionPlan","renewAndChangePlan","paymentricInvalidAccountNumber","paymetricAuthorizationFailed","onGoToEnrollSubscription","EnrollPlan","RenewAndChangePlanAccepted","RenewAndChangeSubscription","changeEmail","currentPassword","newPassword","ChangeEmailForm","onFinish","ProfileSettings","apps_ChangeEmailForm","ProfileSettings_apps_ChangePasswordForm","MaintenanceBanner","isMaintenanceModeOn","dangerouslySetInnerHTML","__html","maintenanceMessage","Profile","isUserAbleToChangePlan","isUserNeedsToRenewSubscription","apps_MaintenanceBanner","create","ContactUs","generalContact","headerImgSrc","getGeneralContact","openContactPage","LeaveEmailForm","nameValidation","LeaveEmail","apps_LeaveEmailForm","CookieAccept","acceptCookie","CoreLayout","isCookieAccepted","isDataSending","apps_Alerts","apps_CookieAccept","formUtil","isSendingInProgress","isDataSendingToServer","onPrintVersions","__VERSION__","version","setHistory","isDebugInfo","actions","onCheckAuth","mock","onLoadTexts","onGetContacts","init","action","AppContainer","store","es","apps_CoreLayout","confirmBody","changePlanInfo","Office","CreateAccountForm","StepButton","AlreadyLogin","topSpace40","topSpace30","spinner","Content","leftImg","rightside","boldText","allRightImgs","rightImg1","rightImg2","linkAlignRight","contractExpire","mobileMenu","background","mainText","mainTextSmall","tableWrap","trackingLink","noData","tableRoot","itemDescription","primary","secondary","regular","red","tertiary","tertiaryAsLink","xSmall","small","round","iconWrapper","cookies","noStyle","noStyleLink","scrollUp","ContentEmpty","pLink","changePlanButton","inputCenter","onlyCheckbox","largeIndent","remark","sm-small","sm-medium","sm-large","prompt","space","fieldMeta","smallWidth","menus","copyright","privacyMenu","FooterSec","footerRow","footermenu","Readyprint","verbiageOuter","verbiageInner","fieldWrapCaptcha","edit","g-recaptcha","notification","notificationGreen","notificationOrange","fieldWrapper","hiddenField","cautionBlock","dropdownButton","dropdown","planFeaturesTitle","option","checkboxWrapper","checkbox","collapse","headerButton","headerTitle","headerCheckbox","singleInputFilter","passIcon","createProfile","user","modalOverlay","banner","modalContent","viewImage","noScroll","modalBody","modalHeader","modalHeaderButton","modalMessage","modalFooter","modalFooterButtons","subTitle","planImg","planDescription","currentPlanText","plansContainer","upTo","selectButtonWrapper","headerLang","labelWrapper","pagination","confirmationLinkSent"],"mappings":"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","file":"10.0fe098384926b1318d76.js","sourcesContent":["// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"_16cR1\",\"title\":\"VdJzp\",\"message\":\"_12YXT\",\"button\":\"_3KqeB\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"alreadyLogin\":\"_16Y_S\",\"message\":\"_35YAl\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"_1Fz0H\",\"SaveChange\":\"_2m91u\",\"fieldsContainer\":\"W60zc\",\"row\":\"l0d6L\",\"column\":\"_2Dmrd\",\"fieldWrap\":\"_25qV0\",\"noted\":\"Ocnvx\",\"submitButton\":\"_3l7PF\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"w1rME\",\"warning\":\"_2uvOM\",\"counter\":\"lUv3z\",\"active\":\"_2TJe_\",\"valid\":\"_1rO8Z\",\"noValidState\":\"IoJ-X\",\"icon\":\"_9acTW\",\"alert\":\"_2Oahs\",\"input\":\"lqlJ8\",\"large\":\"_3FFs8\",\"default\":\"_2ZJbN\",\"disabled\":\"_37Co6\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"_1Ot1W\",\"h1\":\"_30Bni\",\"h2\":\"_3pH9f\",\"h3\":\"sd2Qy\",\"h4\":\"_18lEn\",\"h5\":\"h2BcT\",\"brandColor\":\"_3ZLsK\",\"lightColor\":\"_2nrfN\",\"sectionHeader\":\"_3mzdT\",\"sectionHeaderAlt\":\"_2dOU4\",\"smallSize\":\"_3Zb_x\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"F24aO\",\"success\":\"zPVFu\",\"field\":\"_3RK8z\",\"footer\":\"_2LTrW\",\"ChangePassTitle\":\"_3j0j3\",\"ChangePassForm\":\"_17Md4\",\"FormField\":\"_2Wo0P\",\"centered\":\"_2JTTF\",\"NextButton\":\"_2mQ9m\",\"SaveChange\":\"_18YRu\",\"message\":\"_21Eyx\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"CreateAccount\":\"_hRnA\",\"MinHeight\":\"_1acHP\",\"container768\":\"UmyAf\",\"topSpace80\":\"_1vukr\",\"title\":\"_1aB7o\",\"congratulations\":\"tYMAU\",\"topSpace50\":\"_147uV\",\"nextButton\":\"_2SXFX\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"_366tB\",\"item\":\"_337jY\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"_3V27e\",\"container768\":\"_3jHaA\",\"CreateAccount\":\"_1H-dk\",\"PlanContent\":\"_3TB_B\",\"ChangePlan\":\"_33zDC\",\"LoginForm\":\"DChYG\",\"Loginlogo\":\"U-ccG\",\"success\":\"Z4PrH\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"row\":\"_1oyJA\",\"column\":\"_2-Sxn\",\"fieldset\":\"_3KDqP\",\"postalCode\":\"_21NY3\",\"field\":\"_35Wly\",\"footer\":\"_9ZEcb\",\"submitButton\":\"_2VzYd\",\"fieldsContainer\":\"cuSxd\",\"root\":\"_1QmIP\",\"SaveChange\":\"_1ZzLQ\",\"fieldWrap\":\"_1Zab3\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"TopHead\":\"_1mFZb\",\"row\":\"_1LEgk\",\"TopMenu\":\"_2WeHQ\",\"MenuBars\":\"_30wN4\",\"togglebutton\":\"_1Q8-3\",\"authButtons\":\"_1eLJy\",\"authButton\":\"Yw0jU\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"O1uYE\",\"header\":\"_24zME\",\"content\":\"_1Vav4\",\"section\":\"_2GsMU\",\"options\":\"_1Bx7x\",\"separator\":\"_3kS_3\",\"sectionHeader\":\"_1G6ce\",\"gutter\":\"_2Hmyj\",\"row\":\"_1l4qQ\",\"columnContent\":\"_3gjYO\",\"name\":\"_1Io7A\",\"image\":\"_1moVN\",\"price\":\"_2_hU5\",\"plans\":\"_2pL9k\",\"selectButton\":\"_22lb_\",\"actualSavings\":\"_7ku-f\",\"fullSelectButton\":\"_3mvb8\",\"shortSelectButton\":\"_3Cc30\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"_3Y-6X\",\"header\":\"_3oOfJ\",\"steps\":\"_xBj4\",\"step\":\"iK1v9\",\"imageRight\":\"_3MTTN\",\"imageLeft\":\"_fyHx\",\"image\":\"_2ejeN\",\"line\":\"_1fnNJ\",\"line1\":\"_1eUnz\",\"line2\":\"_2__q5\",\"actualSavings\":\"_2d1RW\"};","module.exports = __webpack_public_path__ + \"images/efd44ba5d5d61410161c4d7dc8a65d0b.jpg\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"_2O8H3\",\"ManageAccountWrapper\":\"DqEjm\",\"ManageAccount\":\"_1rqWj\",\"planimg\":\"_2n5SQ\",\"planimgtext\":\"_3XYkK\",\"planItem\":\"_8y_c0\",\"cardData\":\"_2kA5p\",\"title\":\"_22t-h\",\"container768\":\"I1Ebt\",\"container1200\":\"_3JSpz\",\"topSpace50\":\"_3urwp\",\"selectedPlan\":\"X2f9S\",\"saveChange\":\"xm6qC\",\"backLink\":\"_32Kyn\",\"terms\":\"_1uj4A\",\"termsBlock\":\"_1eM1c\",\"signForm\":\"_2zA_i\",\"signature\":\"_2SuyQ\",\"signatureNote\":\"_10xLk\",\"companyName\":\"_2RRm1\",\"info\":\"_23D0T\",\"agreementCheckbox\":\"_3Ytkp\",\"buttons\":\"_2KX7C\",\"buttonWrapper\":\"U-xqD\",\"utc\":\"_1M-8K\"};","module.exports = __webpack_public_path__ + \"images/5608d72c0aa53769131941b8ca6aad2c.png\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"_3y4tW\"};","module.exports = __webpack_public_path__ + \"images/488497216f23ce9de0aa6a40681c4458.png\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"v7csc\",\"ul\":\"_36cr3\",\"ol\":\"_3jBpE\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"CreateAccount\":\"_17IWq\",\"MinHeight\":\"eBySG\",\"container768\":\"IjvvU\",\"topSpace80\":\"_3G6e3\",\"title\":\"Wlnya\",\"congratulations\":\"_1IBDM\",\"topSpace50\":\"QJ05G\",\"nextButton\":\"_1-ViY\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"section\":\"dcIL_\",\"options\":\"_3VdT8\",\"separator\":\"jXgXD\",\"sectionHeader\":\"McAfL\",\"gutter\":\"_3lBRf\",\"row\":\"_11vvc\",\"card\":\"_2oxop\",\"cardWrapper\":\"_1SxIJ\",\"columnContent\":\"_2y6Kb\",\"name\":\"_3S-gR\",\"productDescription\":\"QWZiC\",\"image\":\"_3-Yzb\",\"price\":\"_2FcqZ\",\"activationFee\":\"_33udr\",\"activationFeeText\":\"_2QmIz\",\"plans\":\"_2cC_J\",\"selectButton\":\"_2CxfS\",\"actualSavings\":\"_1gt6c\",\"fullSelectButton\":\"_1X218\",\"shortSelectButton\":\"Gp6tX\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"loginTitle\":\"_1gcxy\",\"root\":\"_1hm78\",\"centered\":\"_3aW73\",\"formField\":\"_1CvLj\",\"NextButton\":\"_2pCqi\",\"SaveChange\":\"_1gNNa\",\"buttonWrap\":\"_2sWh7\",\"alreadyLogin\":\"ScmRd\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container768\":\"Ol-3m\",\"container1200\":\"_2Fubk\",\"selectedPlan\":\"_71OFe\",\"bold\":\"_1tJjg\",\"summary\":\"_2x9do\",\"summaryTable\":\"xbqJm\",\"summaryLine\":\"_2PfNY\",\"summaryCondition\":\"I0L27\",\"summaryValue\":\"_3eFv0\",\"terms\":\"_3eac5\",\"termsDescription\":\"_3E5EI\",\"termsBlock\":\"_11TtA\",\"termsSection\":\"_1_SGm\",\"section\":\"iK_uI\",\"sectionTitle\":\"_3C2Xi\",\"termsContent\":\"_1qsNk\",\"sectionTable\":\"uZn2r\",\"tableTitle\":\"_3i145\",\"sectionColumn\":\"_2bIP4\",\"tableLine\":\"sXNPA\",\"notes\":\"_1FbCK\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"ForgotTitle\":\"_13VWh\",\"ForgotPasswordForm\":\"_2GsqU\",\"FormField\":\"vOQq4\",\"submitButton\":\"_1Il8n\",\"centered\":\"_3TpF7\",\"alreadyLogin\":\"_2OlYt\",\"SuccessTitle\":\"_3KWh2\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"_26ZgD\",\"danger\":\"_3EwBk\",\"success\":\"_2Xtgm\",\"warning\":\"_17dPR\",\"info\":\"_3_LSC\",\"close\":\"_1xNSk\",\"headline\":\"_15Os0\",\"body\":\"_21Pct\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"_3XKS-\",\"logo\":\"JYSxu\",\"content\":\"_3vGEI\",\"player\":\"_1PSOr\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"topSpace50\":\"_25tWM\",\"CreateAccount\":\"_3EmrC\",\"PlanContent\":\"_2lLZi\",\"changePlan\":\"nHWE9\",\"active\":\"_1mgup\",\"title\":\"_19qmF\",\"planContent\":\"_2l5Fa\",\"image\":\"_2bgIF\",\"office\":\"_6dqAF\",\"fee\":\"FRWe0\",\"withFee\":\"_2sphU\",\"currentPlan\":\"PxxE9\",\"saveChange\":\"_3HxO1\",\"backLink\":\"_2Vh09\",\"plan\":\"_1njuv\",\"buttonWrapper\":\"_3Zw0j\",\"root\":\"_3xP0B\",\"header\":\"_12SCW\",\"selectPlanTitle\":\"_1LaCm\",\"plans\":\"_1hdUb\",\"actualSavings\":\"lEaFZ\",\"upperCaseLink\":\"_2HBA5\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"_10iHX\",\"label\":\"_3ugBa\",\"list\":\"_1Nf32\",\"item\":\"_113nX\",\"optionList\":\"_3IK09\",\"validIcon\":\"_3NrWA\",\"additionalText\":\"_2d9b6\"};","module.exports = __webpack_public_path__ + \"videos/40fce31ffc36e04167207ba43f2cfcb1.mp4\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"_1ORAV\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"_3WK-i\",\"header\":\"_3kHbP\",\"selectPlanTitle\":\"_3pvyk\",\"plans\":\"_2wLly\",\"plan\":\"_1hMXy\",\"compareButton\":\"_3nTsU\",\"actualSavings\":\"_1zG-t\",\"upperCaseLink\":\"_3iKlt\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"CreateAccount\":\"_2vNhm\",\"MinHeight\":\"_1tcWd\",\"container768\":\"_34ZCj\",\"topSpace80\":\"_1oPip\",\"title\":\"_2RjqA\",\"congratulations\":\"_3bgbG\",\"topSpace50\":\"_30CqM\",\"nextButton\":\"_3xf2s\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"questionMark\":\"_2TNIf\",\"tooltip\":\"_3qDPt\",\"title\":\"_3X6ke\",\"content\":\"_2HXPJ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"topSpace50\":\"_3-3Ta\",\"CreateAccount\":\"_1KAZ-\",\"PlanContent\":\"qr97P\",\"changePlan\":\"_3LSvC\",\"active\":\"_1N4GJ\",\"title\":\"_3d0i5\",\"planContent\":\"_3Evvb\",\"image\":\"_3Lp52\",\"office\":\"s01Gg\",\"fee\":\"_2t4Jf\",\"withFee\":\"p-gEv\",\"currentPlan\":\"_10ARC\",\"saveChange\":\"_38sfz\",\"backLink\":\"_3opP7\",\"plan\":\"oa9tL\",\"buttonWrapper\":\"_2xqo4\",\"root\":\"HLT3A\",\"header\":\"_2sX54\",\"selectPlanTitle\":\"_1mbI9\",\"plans\":\"Q_bnq\",\"actualSavings\":\"_3_M5L\",\"upperCaseLink\":\"_3O2HW\"};","module.exports = __webpack_public_path__ + \"images/56bbc3390c3917442f677bdeb616cd0b.jpg\";","module.exports = __webpack_public_path__ + \"images/d3543e4688f57d8d61e2a5823c3bbd03.jpg\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"_3xEPN\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"_2fJD3\",\"ManageAccountWrapper\":\"_1sq35\",\"ManageAccount\":\"mLSSV\",\"planimg\":\"UoFaw\",\"planimgtext\":\"_2SRXC\",\"planItem\":\"_16bv7\",\"cardData\":\"_2t7Nl\",\"title\":\"sFQY8\",\"container768\":\"_6-mVK\",\"container1200\":\"itbCU\",\"topSpace50\":\"_2Rgcc\",\"selectedPlan\":\"_1363l\",\"saveChange\":\"lNHQi\",\"saveChangeContract\":\"_2vKKB\",\"backLink\":\"_1IsmP\",\"backLinkContract\":\"_3v1tM\",\"terms\":\"_1Syxz\",\"termsBlock\":\"_1wz5Z\",\"signForm\":\"_182nW\",\"signature\":\"_3kQg6\",\"signatureNote\":\"_34OND\",\"companyName\":\"_2gqua\",\"info\":\"_3v7jc\",\"agreementCheckbox\":\"_3zICM\",\"buttons\":\"_14IJr\",\"buttonWrapper\":\"_2OJuS\",\"buttonWrapperContract\":\"_36fam\",\"utc\":\"_3Puvh\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"_2nRkg\",\"medium\":\"_2OvWa\",\"large\":\"_3XED6\",\"xLarge\":\"_3d_Ea\",\"xxLarge\":\"BJoXg\",\"xxxLarge\":\"Mc2_I\",\"fill\":\"_3NgZL\",\"stroke\":\"tBsxG\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"_2aRC1\",\"row\":\"_29TZ_\",\"fieldWrap\":\"_3t9Ep\",\"submitButton\":\"yCOlW\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"buttonWrapper\":\"_2l86K\"};","module.exports = __webpack_public_path__ + \"images/587f6d6cc72b03764aadc2ce87117b5b.png\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"loginTitle\":\"rZdfK\",\"root\":\"_1hyou\",\"emailConfirm\":\"_1WDTH\",\"emailConfirmLink\":\"_2V4sj\",\"centered\":\"vo0QO\",\"formField\":\"_2S5GP\",\"NextButton\":\"_10OTD\",\"SaveChange\":\"_2j2Yy\",\"buttonWrap\":\"_3Fn4O\",\"alreadyLogin\":\"_3E1rR\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"pZYff\",\"left\":\"_32fu2\",\"label\":\"_3CkAi\",\"right\":\"rLtWm\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"CreateAccount\":\"_1PY78\",\"MinHeight\":\"_2EmFT\",\"container768\":\"_3n7eH\",\"topSpace80\":\"_2AL3R\",\"CreateAccountTitle\":\"_17xiu\",\"congratulations\":\"_1kGrk\",\"expiredStatus\":\"_3LXnZ\",\"topSpace50\":\"_1uJRy\",\"fieldsContainer\":\"_39JTw\",\"formFieldWrapper\":\"_3iTMy\",\"formField\":\"_3_Zwn\",\"formFieldEnroll\":\"qgUiS\",\"Noted\":\"_3vsHV\",\"details\":\"_3s-c9\",\"detailsItem\":\"_8VaFU\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"contactSection\":\"_16xfy\",\"contactsHeader\":\"_3Qtmf\",\"contactTitle\":\"hH3jR\",\"contactPage\":\"Vbxso\",\"contactDetail\":\"_3TnFi\",\"container768\":\"_3JT77\",\"faqInfo\":\"_1bNYk\",\"faqHeader\":\"_7hnqH\",\"faqQuestion\":\"_1zciE\",\"faqAnswer\":\"qjClT\",\"emailSupport\":\"_11wAY\",\"title\":\"_1TmQe\",\"phoneSupport\":\"_3lcqc\",\"topSpace50\":\"UVdxN\",\"contact\":\"_2HcVX\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"CreateAccountTitle\":\"_3OyTq\",\"stepNum\":\"FwoBk\",\"active\":\"_31UlV\"};","module.exports = __webpack_public_path__ + \"images/f6566d7612588307974493c055457cb4.jpg\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"page\":\"_2WtoZ\",\"content\":\"wWg5_\"};","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport _get from 'lodash/get'\r\nimport _pick from 'lodash/pick'\r\nimport { createSelector } from 'reselect'\r\nimport { EMPTY_ARRAY, EMPTY_OBJECT } from 'constants/frozenObjects'\r\nimport { API_TYPES } from 'constants/apiTypes'\r\nimport { DEBUG_LANGUAGE } from 'constants/localization'\r\n\r\nexport const getEntities = state => state.entities\r\nexport const getEntitiesByType = type => state => _get(getEntities(state), type, EMPTY_OBJECT)\r\nexport const getEntitiesNameById = type => (state, id) => _get(getEntities(state), [type, id, 'Name'])\r\nexport const getEntitiesById = type => (state, { id }) => _get(getEntities(state), [type, id])\r\n\r\nexport const getCountryById = getEntitiesById(API_TYPES.countries)\r\nexport const getStateById = (state, { id }) => getStates(state).find(state => state.id === id)\r\nexport const isUserCountryResidencePermitted = (state, { id }) =>\r\n _get(getEntitiesById(API_TYPES.userCountriesResidence)(state, { id }), 'isPermitted')\r\n\r\nexport const getApiDataByType = type => state => _get(state.apiData, `${type}.value`, EMPTY_ARRAY)\r\n\r\nexport const getLoadStatusByType = (state, type) => _get(state.apiData, `${type}.loading`)\r\nexport const isLoadedByType = (state, type) => _get(state.apiData, `${type}.loaded`)\r\nexport const isLoadedAllTypes = (state, types = []) => types.every(type => isLoadedByType(state, type))\r\nexport const getLoadingStatus = (state, types = []) => types.map(type => getLoadStatusByType(state, type))\r\n\r\nexport const getLanguages = getEntitiesByType(API_TYPES.languages)\r\nexport const getCompanyCountriesResidence = getEntitiesByType(API_TYPES.companyCountriesResidence)\r\nexport const getUserCountriesResidence = getEntitiesByType(API_TYPES.userCountriesResidence)\r\nexport const getMyCompanyInfo = getApiDataByType(API_TYPES.myCompanyInfo)\r\nexport const getStates = getApiDataByType(API_TYPES.states)\r\n\r\nexport const getLanguageOptions = createSelector(\r\n getLanguages,\r\n (languages = {}) => {\r\n const result = Object.values(languages)\r\n .map(({ code, name }) => ({\r\n label: name,\r\n value: code,\r\n }))\r\n\r\n if (__IS_DEBUG_LOCALIZATION__) {\r\n return result.concat({\r\n label: 'DEBUG',\r\n value: DEBUG_LANGUAGE,\r\n })\r\n }\r\n\r\n return result\r\n },\r\n)\r\n\r\nexport const getEntitiesArrayByType = type => createSelector(\r\n getApiDataByType(type),\r\n getEntitiesByType(type),\r\n (result, entities) => Object.values(_pick(entities, result)),\r\n)\r\n\r\nconst getPropsFromItems = (items) =>\r\n items.map(props => {\r\n const label = _get(props, 'name', '[NO_NAME]')\r\n const value = _get(props, 'id')\r\n return {\r\n label,\r\n value,\r\n }\r\n })\r\n\r\nconst getStatePropsFromItems = (items) =>\r\n items.map(props => {\r\n const isoCode = _get(props, 'isoCode')\r\n const value = _get(props, 'id')\r\n return {\r\n isoCode,\r\n value,\r\n }\r\n })\r\n\r\nexport const getItemsOptionsCreator = type => createSelector(\r\n getEntitiesArrayByType(type),\r\nitems => getPropsFromItems(items),\r\n)\r\n\r\nexport const getStateItemsOptionsCreator = type => createSelector(\r\n getApiDataByType(type),\r\n items => getStatePropsFromItems(items),\r\n)\r\n\r\nexport const getCountryOptions = getItemsOptionsCreator(API_TYPES.countries)\r\nexport const getCompanyCountryResidenceOptions = getItemsOptionsCreator(API_TYPES.companyCountriesResidence)\r\nexport const getUserCountryResidenceOptions = getItemsOptionsCreator(API_TYPES.userCountriesResidence)\r\nexport const getStateOptions = getStateItemsOptionsCreator(API_TYPES.states)\r\n\r\nconst getSingleEntityByType = type => state =>\r\n _get(getEntitiesByType(type)(state), getApiDataByType(type)(state), EMPTY_OBJECT)\r\n\r\nexport const getMyCompanyDetails = getSingleEntityByType(API_TYPES.myCompanyDetails)\r\n\r\nexport const getLocalizedUserCountryResidenceOptions = createSelector(\r\n getUserCountryResidenceOptions,\r\n (state, { t }) => t,\r\n (state, { texts }) => texts,\r\n (countryResidenceOptions, t) => countryResidenceOptions.map(({ value }) => ({\r\n label: t(`countries.${value}`),\r\n value,\r\n })),\r\n)\r\n\r\nexport const getLocalizedCompanyCountryResidenceOptions = createSelector(\r\n getCompanyCountryResidenceOptions,\r\n (state, { t }) => t,\r\n (state, { texts }) => texts,\r\n (countryResidenceOptions, t) => countryResidenceOptions.map(({ value }) => ({\r\n label: t(`countries.${value}`),\r\n value,\r\n })),\r\n)\r\n\r\nexport const getLocalizedBillingCountryOptions = createSelector(\r\n getCountryOptions,\r\n (state, { t }) => t,\r\n (state, { texts }) => texts,\r\n (countryOptions, t) => countryOptions.map(({ value }) => ({\r\n label: t(`countries.${value}`),\r\n value,\r\n })),\r\n)\r\n\r\nexport const getLocalizedStateOptions = createSelector(\r\n getStateOptions,\r\n (state, { t }) => t,\r\n (state, { texts }) => texts,\r\n (stateOptions, t) => stateOptions.map(state => ({\r\n label: state.isoCode,\r\n value: state.value,\r\n })),\r\n)\r\n\r\n// except Alaska and Hawaii\r\nexport const getLocalizedLimitedStateOptions = createSelector(\r\n getStateOptions,\r\n (state, { t }) => t,\r\n (state, { texts }) => texts,\r\n (stateOptions, t) => stateOptions.filter(state => state.isoCode != 'AK' && state.isoCode != 'HI').map(state => ({\r\n label: state.isoCode,\r\n value: state.value,\r\n })),\r\n)\r\n\r\nexport const getRecaptchaWhiteListConfig = getApiDataByType(API_TYPES.recaptchaWhiteList)\r\nexport const getAppConfig = getApiDataByType(API_TYPES.appConfig)\r\nexport const isCaptchaEnabled = state => _get(getAppConfig(state), 'googleRecaptchaEnabled', false)\r\nexport const isCaptchaWhiteListed = state => _get(getRecaptchaWhiteListConfig(state), 'recaptcha', false)\r\nexport const googleRecaptchaSiteKey = state => _get(getAppConfig(state), 'googleRecaptchaSiteKey', '')\r\nexport const isMaintenanceModeOn = state => _get(getAppConfig(state), 'maintenanceModeIsOn', false)\r\nexport const maintenanceMessage = state => _get(getAppConfig(state), 'maintenanceMessage')\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\n\r\nconst Spinner: React.SFC = () => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default Spinner\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport Spinner from './Spinner'\r\n\r\nexport default Spinner\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport classNames from 'classnames/bind'\r\nimport Spinner from 'apps/Spinner'\r\nimport * as styles from './Loading.scss'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IProps {\r\n isLoading?: boolean,\r\n children?: any,\r\n}\r\n\r\nconst Loading: React.SFC = ({ isLoading, children }) => {\r\n const isWrapper = !!children\r\n return isLoading ? (\r\n
\r\n {children}\r\n
\r\n \r\n
\r\n
\r\n ) : children\r\n}\r\n\r\nexport default Loading\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { connect } from 'react-redux'\r\nimport { compose } from 'recompose'\r\nimport { getLoadingStatus } from 'redux-app/selectors/apiData'\r\nimport Loading from './Loading'\r\n\r\nexport default compose(\r\n connect(\r\n (state, { apiTypes = [], loading = true }) => ({\r\n isLoading: apiTypes.length ? getLoadingStatus(state, apiTypes).some(e => e) : loading,\r\n }),\r\n null,\r\n ),\r\n)(Loading)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport Loading from './LoadingContainer'\r\n\r\nexport default Loading\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport Loading from 'apps/Loading'\r\n\r\ninterface IProps {\r\n loadProgress: number,\r\n}\r\n\r\nexport const loading = (WrappedComponent: React.ComponentType) => {\r\n return class LoadingHoc extends React.Component {\r\n public render () {\r\n const { loadProgress } = this.props\r\n return loadProgress !== 100\r\n ? React.createElement(Loading, { loadProgress })\r\n : React.createElement(WrappedComponent, this.props)\r\n }\r\n }\r\n}\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose, lifecycle } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { loading } from 'hocs/loading'\r\n\r\nexport const withInitialLoad = (initialLoadAction, getParams = props => ({})) => WrappedComponent => compose(\r\n connect(\r\n null,\r\n {\r\n initialLoadAction,\r\n },\r\n ),\r\n lifecycle({\r\n componentDidMount () {\r\n this.props.initialLoadAction(getParams(this.props))\r\n .then(() => {\r\n this.setState({\r\n loadProgress: 100,\r\n })\r\n })\r\n .catch(() => {\r\n this.setState({\r\n loadProgress: 100,\r\n })\r\n })\r\n },\r\n }),\r\n loading,\r\n)(WrappedComponent)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport env from 'env'\r\n\r\nexport const getSubscriptionPlans = () => ({\r\n type: 'SUBSCRIPTIONS/PLANS',\r\n payload: {\r\n apiAction: {\r\n hostname: env.api,\r\n url: `/api/subscription-plans`,\r\n headers: {},\r\n method: 'GET',\r\n },\r\n },\r\n meta: {\r\n noAuth: true,\r\n },\r\n})\r\ngetSubscriptionPlans.toString = () => 'SUBSCRIPTIONS/PLANS'\r\n\r\nexport const getSubscriptionPlansForRenew = () => ({\r\n type: 'SUBSCRIPTIONS/PLANS_RENEW',\r\n payload: {\r\n apiAction: {\r\n hostname: env.api,\r\n url: `/api/subscription-plans/renew`,\r\n headers: {},\r\n method: 'GET',\r\n },\r\n },\r\n meta: {},\r\n})\r\ngetSubscriptionPlansForRenew.toString = () => 'SUBSCRIPTIONS/PLANS_RENEW'\r\n\r\nexport const acceptTerms = data => ({\r\n type: 'SUBSCRIPTIONS/ACCEPT_TERMS',\r\n payload: {\r\n apiAction: {\r\n hostname: env.api,\r\n url: `/api/subscriptions/current/terms/accept`,\r\n headers: {},\r\n method: 'POST',\r\n data,\r\n },\r\n },\r\n meta: {\r\n noAuth: true,\r\n },\r\n})\r\nacceptTerms.toString = () => 'SUBSCRIPTIONS/ACCEPT_TERMS'\r\n\r\nexport const updateShippingInfo = ({\r\n firstName,\r\n lastName,\r\n countryId,\r\n stateId,\r\n city,\r\n postalCode,\r\n address1,\r\n phoneNumber,\r\n}) => ({\r\n type: 'SUBSCRIPTIONS/UPDATE_SHIPPING_ADDRESS',\r\n payload: {\r\n apiAction: {\r\n hostname: env.api,\r\n url: `/api/subscriptions/current/shipping-address`,\r\n data: {\r\n ShippingAddress: {\r\n firstName,\r\n lastName,\r\n countryId,\r\n stateId,\r\n city,\r\n postalCode,\r\n address1,\r\n phoneNumber,\r\n },\r\n },\r\n headers: {},\r\n method: 'PUT',\r\n },\r\n },\r\n meta: {\r\n noAuth: true,\r\n },\r\n})\r\nupdateShippingInfo.toString = () => 'SUBSCRIPTIONS/UPDATE_SHIPPING_ADDRESS'\r\n\r\nexport const changeSubscriptionPlan = (subscriptionPlanId, customerSignature) => ({\r\n type: 'SUBSCRIPTIONS/CHANGE_SUBSCRIPTION_PLAN',\r\n payload: {\r\n apiAction: {\r\n hostname: env.api,\r\n url: `/api/subscriptions/current`,\r\n data: { subscriptionPlanId, customerSignature },\r\n headers: {},\r\n method: 'PUT',\r\n },\r\n },\r\n meta: {\r\n noAuth: true,\r\n },\r\n})\r\nchangeSubscriptionPlan.toString = () => 'SUBSCRIPTIONS/CHANGE_SUBSCRIPTION_PLAN'\r\n\r\nexport const renewSubscriptionPlan = (subscriptionPlanId, customerSignature, termsRead) => ({\r\n type: 'SUBSCRIPTIONS/RENEW_SUBSCRIPTION_PLAN',\r\n payload: {\r\n apiAction: {\r\n hostname: env.api,\r\n url: `/api/subscriptions/current/renew/terms/accept-and-renew`,\r\n data: { subscriptionPlanId, customerSignature, termsRead },\r\n headers: {},\r\n method: 'POST',\r\n },\r\n },\r\n meta: {},\r\n})\r\nrenewSubscriptionPlan.toString = () => 'SUBSCRIPTIONS/RENEW_SUBSCRIPTION_PLAN'\r\n\r\nexport const enrollSubscriptionPlan = (subscriptionPlanId, customerSignature) => ({\r\n type: 'SUBSCRIPTIONS/ENROLL_SUBSCRIPTION_PLAN',\r\n payload: {\r\n apiAction: {\r\n hostname: env.api,\r\n url: `/api/subscriptions/current/enroll/terms/accept-and-renew`,\r\n data: { subscriptionPlanId, customerSignature },\r\n headers: {},\r\n method: 'POST',\r\n },\r\n },\r\n meta: {},\r\n})\r\nenrollSubscriptionPlan.toString = () => 'SUBSCRIPTIONS/ENROLLSUBSCRIPTION_PLAN'\r\n\r\nexport const renewAndChangeSubscriptionPlan = (subscriptionPlanId, customerSignature) => ({\r\n type: 'SUBSCRIPTIONS/RENEW_AND_CHANGE_SUBSCRIPTION_PLAN',\r\n payload: {\r\n apiAction: {\r\n hostname: env.api,\r\n url: `/api/subscriptions/current/renew/terms/accept-and-change-ending-plan`,\r\n data: { subscriptionPlanId, customerSignature },\r\n headers: {},\r\n method: 'POST',\r\n },\r\n },\r\n meta: {},\r\n})\r\nrenewAndChangeSubscriptionPlan.toString = () => 'SUBSCRIPTIONS/RENEW_AND_CHANGE_SUBSCRIPTION_PLAN'\r\n\r\nexport const cancelSubscription = data => ({\r\n type: 'SUBSCRIPTIONS/CANCEL_SUBSCRIPTION',\r\n payload: {\r\n apiAction: {\r\n hostname: env.api,\r\n url: `/api/subscriptions/current/cancel`,\r\n headers: {},\r\n method: 'POST',\r\n data,\r\n },\r\n },\r\n meta: {},\r\n})\r\ncancelSubscription.toString = () => 'SUBSCRIPTIONS/CANCEL_SUBSCRIPTION'\r\n\r\nexport const getCurrentSubscriptionPlan = () => ({\r\n type: 'SUBSCRIPTIONS/CURRENT_PLAN',\r\n payload: {\r\n apiAction: {\r\n hostname: env.api,\r\n url: `/api/subscriptions/current/plan`,\r\n headers: {},\r\n method: 'GET',\r\n },\r\n },\r\n meta: {\r\n noAuth: true,\r\n },\r\n})\r\ngetCurrentSubscriptionPlan.toString = () => 'SUBSCRIPTIONS/CURRENT_PLAN'\r\n\r\nexport const getReceipt = (invoiceId) => ({\r\n type: 'SUBSCRIPTIONS/GET_RECEIPT',\r\n payload: {\r\n apiAction: {\r\n hostname: env.api,\r\n url: `/api/subscriptions/current/invoices/${invoiceId}/receipt`,\r\n headers: {\r\n 'Content-Type': 'application/pdf'\r\n },\r\n responseType: 'blob',\r\n method: 'POST',\r\n },\r\n },\r\n meta: {\r\n getBlob: true,\r\n },\r\n})\r\ngetReceipt.toString = () => 'SUBSCRIPTIONS/GET_RECEIPT'\r\n\r\nexport const getSubscriptionTerms = () => ({\r\n type: 'SUBSCRIPTIONS/GET_TERMS',\r\n payload: {\r\n apiAction: {\r\n hostname: env.api,\r\n url: '/api/subscriptions/current/terms',\r\n headers: {},\r\n method: 'GET',\r\n },\r\n },\r\n meta: {},\r\n})\r\ngetSubscriptionTerms.toString = () => 'SUBSCRIPTIONS/GET_TERMS'\r\n\r\nexport const getTempSubscriptionTerms = () => ({\r\n type: 'SUBSCRIPTIONS/GET_TEMP_TERMS',\r\n payload: {\r\n apiAction: {\r\n hostname: env.api,\r\n url: '/api/subscriptions/current/terms/draft',\r\n headers: {},\r\n method: 'GET',\r\n },\r\n },\r\n meta: {},\r\n})\r\ngetTempSubscriptionTerms.toString = () => 'SUBSCRIPTIONS/GET_TEMP_TERMS'\r\n\r\nexport const getSubscriptionRenewedTerms = () => ({\r\n type: 'SUBSCRIPTIONS/GET_TERMS_RENEWED',\r\n payload: {\r\n apiAction: {\r\n hostname: env.api,\r\n url: '/api/subscriptions/current/terms-renewed',\r\n headers: {},\r\n method: 'GET',\r\n },\r\n },\r\n meta: {},\r\n})\r\ngetSubscriptionRenewedTerms.toString = () => 'SUBSCRIPTIONS/GET_TERMS_RENEWED'\r\n\r\nexport const getChangeSubscriptionTerms = (planId) => ({\r\n type: 'SUBSCRIPTIONS/GET_CHANGE_PLAN_TERMS',\r\n payload: {\r\n apiAction: {\r\n hostname: env.api,\r\n url: `/api/subscription-plans/${planId}/terms/draft`,\r\n headers: {},\r\n method: 'GET',\r\n },\r\n },\r\n meta: {},\r\n})\r\ngetChangeSubscriptionTerms.toString = () => 'SUBSCRIPTIONS/GET_CHANGE_PLAN_TERMS'\r\n\r\nexport const getRenewSubscriptionTerms = (planId) => ({\r\n type: 'SUBSCRIPTIONS/GET_RENEW_PLAN_TERMS',\r\n payload: {\r\n apiAction: {\r\n hostname: env.api,\r\n url: `/api/subscription-plans/${planId}/renew/terms/draft`,\r\n headers: {},\r\n method: 'GET',\r\n },\r\n },\r\n meta: {},\r\n})\r\ngetRenewSubscriptionTerms.toString = () => 'SUBSCRIPTIONS/GET_RENEW_PLAN_TERMS'\r\n\r\nexport const getEnrollSubscriptionTerms = (planId) => ({\r\n type: 'SUBSCRIPTIONS/GET_ENROLL_PLAN_TERMS',\r\n payload: {\r\n apiAction: {\r\n hostname: env.api,\r\n url: `/api/subscription-plans/${planId}/enroll/terms/draft`,\r\n headers: {},\r\n method: 'GET',\r\n },\r\n },\r\n meta: {},\r\n})\r\ngetEnrollSubscriptionTerms.toString = () => 'SUBSCRIPTIONS/GET_ENROLL_PLAN_TERMS'\r\n\r\nexport const getRenewAndChangeSubscriptionTerms = (planId) => ({\r\n type: 'SUBSCRIPTIONS/GET_RENEW_AND_CHANGE_PLAN_TERMS',\r\n payload: {\r\n apiAction: {\r\n hostname: env.api,\r\n url: `/api/subscription-plans/${planId}/renew-and-change/terms/draft`,\r\n headers: {},\r\n method: 'GET',\r\n },\r\n },\r\n meta: {},\r\n})\r\ngetRenewAndChangeSubscriptionTerms.toString = () => 'SUBSCRIPTIONS/GET_RENEW_AND_CHANGE_PLAN_TERMS'\r\n\r\nexport const getCancellationReasonList = () => ({\r\n type: 'SUBSCRIPTIONS/GET_CANCELLATIONREASON_LIST',\r\n payload: {\r\n apiAction: {\r\n hostname: env.api,\r\n url: 'api/subscriptions/cancellation-reasons',\r\n headers: {},\r\n method: 'GET',\r\n },\r\n },\r\n meta: {},\r\n})\r\ngetCancellationReasonList.toString = () => 'SUBSCRIPTIONS/GET_CANCELLATIONREASON_LIST'\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { ROUTES } from 'constants/routes'\r\nimport { REGISTRATION_STEPS } from 'constants/auth'\r\nimport { onShowError } from 'redux-app/modules/alerts'\r\nimport {\r\n plans,\r\n selectPlan,\r\n setRenewalPlans,\r\n} from 'redux-app/modules/subscriptions'\r\nimport { updateRegistrationStep } from 'redux-app/modules/auth'\r\nimport {\r\n getSubscriptionPlans,\r\n getSubscriptionPlansForRenew,\r\n acceptTerms,\r\n updateShippingInfo,\r\n changeSubscriptionPlan,\r\n cancelSubscription,\r\n renewSubscriptionPlan,\r\n enrollSubscriptionPlan,\r\n renewAndChangeSubscriptionPlan\r\n} from 'api/client/actions/subscriptions'\r\nimport { updateBillingAddress } from 'api/client/actions/card'\r\nimport { getUserDetails } from 'api/client/actions/user'\r\nimport { isSelectedPlanAvailable } from 'redux-app/selectors/subscription'\r\nimport { history } from 'utils/location'\r\n\r\nexport const onGetSubscriptionsPlans = () => dispatch => {\r\n return dispatch(getSubscriptionPlans())\r\n .then(({ value: { result } }) => {\r\n dispatch(plans(result))\r\n })\r\n .catch((error: any) => {\r\n dispatch(onShowError(error, {}))\r\n throw error\r\n })\r\n}\r\n\r\nexport const onGetSubscriptionsPlansForRenew = () => dispatch => {\r\n return dispatch(getSubscriptionPlansForRenew())\r\n .then(({ value: { result } }) => {\r\n dispatch(setRenewalPlans(result))\r\n })\r\n .catch((error: any) => {\r\n dispatch(onShowError(error, {}))\r\n throw error\r\n })\r\n}\r\n\r\nexport const onSelectSubscriptionPlan = id => (dispatch, getState) => {\r\n dispatch(selectPlan(id))\r\n if (isSelectedPlanAvailable(getState())) {\r\n history.push(ROUTES.home.signUp)\r\n } else {\r\n history.push(ROUTES.home.leaveEmail)\r\n }\r\n}\r\n\r\nexport const onAcceptTerms = data => dispatch => {\r\n return dispatch(acceptTerms(data)).then(() => {\r\n dispatch(updateRegistrationStep(REGISTRATION_STEPS.congrats))\r\n return dispatch(getUserDetails())\r\n })\r\n .catch(error => {\r\n dispatch(onShowError(error))\r\n throw error\r\n })\r\n}\r\n\r\nexport const onSaveShippingAddress = formValues => dispatch => {\r\n return dispatch(updateShippingInfo(formValues))\r\n}\r\n\r\nexport const onCompleteSavingShippingAddress = () => dispatch => {\r\n return dispatch(getUserDetails())\r\n}\r\n\r\nexport const onSaveBillingAddress = formValues => dispatch => {\r\n return dispatch(updateBillingAddress(formValues))\r\n}\r\n\r\nexport const onCompleteSavingBillingAddress = () => dispatch => {\r\n return dispatch(getUserDetails())\r\n}\r\n\r\nexport const onChangeSubscriptionPlan = (subscriptionPlanId, customerSignature = null) => dispatch => {\r\n return dispatch(changeSubscriptionPlan(subscriptionPlanId, customerSignature))\r\n .then(() => dispatch(getUserDetails()))\r\n .catch(error => {\r\n dispatch(onShowError(error))\r\n throw error\r\n })\r\n}\r\n\r\nexport const onAcceptRenewSubscriptionPlan = (subscriptionPlanId, customerSignature = null, termsRead = false) => dispatch => {\r\n return dispatch(renewSubscriptionPlan(subscriptionPlanId, customerSignature, termsRead))\r\n .then(() => dispatch(getUserDetails()))\r\n .catch(error => {\r\n dispatch(onShowError(error))\r\n throw error\r\n })\r\n}\r\n\r\nexport const onAcceptEnrollSubscriptionPlan = (subscriptionPlanId, customerSignature = null) => dispatch => {\r\n return dispatch(enrollSubscriptionPlan(subscriptionPlanId, customerSignature))\r\n .then(() => dispatch(getUserDetails()))\r\n .catch(error => {\r\n dispatch(onShowError(error))\r\n throw error\r\n })\r\n}\r\n\r\nexport const onAcceptRenewAndChangeSubscriptionPlan = (subscriptionPlanId, customerSignature = null) => dispatch => {\r\n return dispatch(renewAndChangeSubscriptionPlan(subscriptionPlanId, customerSignature))\r\n .then(() => dispatch(getUserDetails()))\r\n .catch(error => {\r\n dispatch(onShowError(error))\r\n throw error\r\n })\r\n}\r\n\r\nexport const onCancelSubscription = formData => dispatch => {\r\n return dispatch(cancelSubscription(formData))\r\n .then(() => dispatch(getUserDetails()))\r\n .catch(error => {\r\n dispatch(onShowError(error))\r\n throw error\r\n })\r\n}\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport _compact from 'lodash/compact'\r\nimport { analytics } from 'services/Analytics'\r\nimport { onCheckAuth, onStartLogoutWithRedirect } from 'redux-app/actionCreators/auth'\r\nimport { onGetSubscriptionsPlans } from 'redux-app/actionCreators/subscription'\r\nimport { onLoadTexts } from 'redux-app/modules/localization'\r\nimport { onGetContacts } from 'redux-app/modules/contacts'\r\nimport { getUserDetails } from 'api/client/actions/user'\r\nimport { getAppConfig, getRecaptchaWhiteListConfig } from 'api/client/actions/settings'\r\nimport { isUserAuthorizated } from 'redux-app/selectors/auth'\r\n\r\nconst initialLoadCreator = (\r\n getLoadActions = state => [],\r\n getDefaultRequestParams = state => ({}),\r\n getDefaultMetaParams = state => ({}),\r\n) => () => (dispatch, getState) => {\r\n const state = getState()\r\n const loadActions = getLoadActions(state)\r\n const defaultRequestParams = getDefaultRequestParams(state)\r\n const defaultMetaParams = getDefaultMetaParams(state)\r\n return Promise.all(loadActions.map(actionCreator => {\r\n const params = [\r\n defaultRequestParams[actionCreator.toString()],\r\n defaultMetaParams[actionCreator.toString()],\r\n ]\r\n return dispatch(\r\n actionCreator(..._compact(params)),\r\n )\r\n }))\r\n}\r\n\r\nexport const coreInitialLoad = () => (dispatch, getState) => {\r\n const state = getState()\r\n\r\n const actions = [\r\n () => dispatch(onCheckAuth())\r\n .catch(() => {\r\n dispatch(onStartLogoutWithRedirect())\r\n }),\r\n () => dispatch(getAppConfig({ noAuth: true, mock: true })),\r\n () => dispatch(getRecaptchaWhiteListConfig({ noAuth: true, mock: true })),\r\n // commented while no i18n\r\n // () => getLanguages({ noAuth: true, mock: true }),\r\n () => dispatch(onLoadTexts()),\r\n () => dispatch(onGetSubscriptionsPlans()),\r\n () => dispatch(onGetContacts()),\r\n () => analytics.init(getState),\r\n ]\r\n if (isUserAuthorizated(state)) {\r\n actions.push(() => dispatch(getUserDetails({ mock: true })))\r\n }\r\n\r\n return Promise.all(actions.map(action => action()))\r\n}\r\n\r\nexport const profileInitialLoad = initialLoadCreator(\r\n () => [\r\n // getProfile,\r\n ],\r\n)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport env from 'env'\r\n\r\nexport const getVersion = (meta?: any) => ({\r\n type: 'api/version/GET_VERSION',\r\n payload: {\r\n apiAction: {\r\n hostname: env.api,\r\n url: '/health',\r\n method: 'GET',\r\n },\r\n },\r\n meta,\r\n})\r\ngetVersion.toString = () => 'api/version/GET_VERSION'\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport { Link } from 'react-router-dom'\r\nimport classNames from 'classnames/bind'\r\nimport * as styles from './Button.scss'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IProps {\r\n children?: any,\r\n styleType?: string,\r\n buttonType?: string,\r\n disabled?: boolean,\r\n onClick?: (val: any) => any,\r\n round?: boolean,\r\n size?: string,\r\n fluid?: boolean,\r\n type?: string,\r\n isExternalLink: boolean,\r\n}\r\n\r\nconst Button: React.SFC = ({\r\n children,\r\n styleType = 'primary',\r\n size = 'medium',\r\n fluid,\r\n type = 'button',\r\n disabled,\r\n isExternalLink,\r\n buttonType,\r\n ...restProps\r\n}) => {\r\n let Component = 'button'\r\n if (type === 'link') {\r\n Component = isExternalLink ? 'a' : Link\r\n }\r\n return (\r\n \r\n {children}\r\n \r\n )\r\n}\r\n\r\nexport default Button\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport Button from './Button'\r\n\r\nexport default Button\r\n","function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nimport React from \"react\";\nexport default ((_ref) => {\n let {\n styles = {}\n } = _ref,\n props = _objectWithoutProperties(_ref, [\"styles\"]);\n\n return ;\n});","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport { faCheck } from '@fortawesome/free-solid-svg-icons/faCheck'\r\nimport { faExclamationTriangle } from '@fortawesome/free-solid-svg-icons/faExclamationTriangle'\r\nimport { faTimes } from '@fortawesome/free-solid-svg-icons/faTimes'\r\nimport { faLongArrowAltUp } from '@fortawesome/free-solid-svg-icons/faLongArrowAltUp'\r\nimport { faPencilAlt } from '@fortawesome/free-solid-svg-icons/faPencilAlt'\r\nimport { faFont } from '@fortawesome/free-solid-svg-icons/faFont'\r\nimport { faEraser } from '@fortawesome/free-solid-svg-icons/faEraser'\r\nimport { faUndo } from '@fortawesome/free-solid-svg-icons/faUndo'\r\nimport { faRedo } from '@fortawesome/free-solid-svg-icons/faRedo'\r\nimport { faPaperPlane } from '@fortawesome/free-solid-svg-icons/faPaperPlane'\r\nimport { faCamera } from '@fortawesome/free-solid-svg-icons/faCamera'\r\nimport { faFolderOpen } from '@fortawesome/free-solid-svg-icons/faFolderOpen'\r\nimport { faPhoneSlash } from '@fortawesome/free-solid-svg-icons/faPhoneSlash'\r\nimport { faPhone } from '@fortawesome/free-solid-svg-icons/faPhone'\r\nimport { faMicrophoneAlt } from '@fortawesome/free-solid-svg-icons/faMicrophoneAlt'\r\nimport { faMicrophoneAltSlash } from '@fortawesome/free-solid-svg-icons/faMicrophoneAltSlash'\r\nimport { faPen } from '@fortawesome/free-solid-svg-icons/faPen'\r\nimport { faPlus } from '@fortawesome/free-solid-svg-icons/faPlus'\r\nimport { faShare } from '@fortawesome/free-solid-svg-icons/faShare'\r\nimport { faExpand } from '@fortawesome/free-solid-svg-icons/faExpand'\r\nimport { faCaretUp } from '@fortawesome/free-solid-svg-icons/faCaretUp'\r\nimport { faCaretDown } from '@fortawesome/free-solid-svg-icons/faCaretDown'\r\nimport { faCalendarAlt } from '@fortawesome/free-solid-svg-icons/faCalendarAlt'\r\nimport { faFilter } from '@fortawesome/free-solid-svg-icons/faFilter'\r\nimport { faExternalLinkAlt } from '@fortawesome/free-solid-svg-icons/faExternalLinkAlt'\r\nimport { faQuestionCircle } from '@fortawesome/free-solid-svg-icons/faQuestionCircle'\r\nimport { faDollarSign } from '@fortawesome/free-solid-svg-icons/faDollarSign'\r\nimport { faCreditCard } from '@fortawesome/free-solid-svg-icons/faCreditCard'\r\nimport { faUserCircle } from '@fortawesome/free-solid-svg-icons/faUserCircle'\r\nimport { faPause } from '@fortawesome/free-solid-svg-icons/faPause'\r\nimport { faExclamationCircle } from '@fortawesome/free-solid-svg-icons/faExclamationCircle'\r\nimport { faCompress } from '@fortawesome/free-solid-svg-icons/faCompress'\r\nimport { faVideo } from '@fortawesome/free-solid-svg-icons/faVideo'\r\nimport { faVideoSlash } from '@fortawesome/free-solid-svg-icons/faVideoSlash'\r\nimport { faBell } from '@fortawesome/free-solid-svg-icons/faBell'\r\nimport { faChevronUp } from '@fortawesome/free-solid-svg-icons/faChevronUp'\r\nimport { faChevronDown } from '@fortawesome/free-solid-svg-icons/faChevronDown'\r\nimport { faChevronLeft } from '@fortawesome/free-solid-svg-icons/faChevronLeft'\r\nimport { faChevronRight } from '@fortawesome/free-solid-svg-icons/faChevronRight'\r\nimport { faPlay } from '@fortawesome/free-solid-svg-icons/faPlay'\r\nimport { faSyncAlt } from '@fortawesome/free-solid-svg-icons/faSyncAlt'\r\nimport { faCircle } from '@fortawesome/free-regular-svg-icons/faCircle'\r\nimport { faSquare } from '@fortawesome/free-regular-svg-icons/faSquare'\r\nimport { faPauseCircle } from '@fortawesome/free-regular-svg-icons/faPauseCircle'\r\nimport { faCheckCircle } from '@fortawesome/free-regular-svg-icons/faCheckCircle'\r\nimport { faEye } from '@fortawesome/free-solid-svg-icons/faEye'\r\nimport { faEyeSlash } from '@fortawesome/free-solid-svg-icons/faEyeSlash'\r\nimport { faBars } from '@fortawesome/free-solid-svg-icons/faBars'\r\nimport { faArrowLeft } from '@fortawesome/free-solid-svg-icons/faArrowLeft'\r\nimport { faArrowUp } from '@fortawesome/free-solid-svg-icons/faArrowUp'\r\nimport classNames from 'classnames/bind'\r\nimport * as styles from './Icon.scss'\r\nimport Draw from './icons/draw.svg'\r\nimport Line from './icons/line.svg'\r\nimport Erase from './icons/erase.svg'\r\nimport Oval from './icons/oval.svg'\r\nimport Square from './icons/square.svg'\r\nimport Text from './icons/text.svg'\r\nimport Close from './icons/close.svg'\r\nimport Info from './icons/info.svg'\r\nimport Help from './icons/help.svg'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\nconst ICONS = {\r\n valid: faCheck,\r\n alert: faExclamationTriangle,\r\n warning: faTimes,\r\n circleRegular: faCircle,\r\n longArrowAltUp: faLongArrowAltUp,\r\n pencilAlt: faPencilAlt,\r\n squareRegular: faSquare,\r\n font: faFont,\r\n eraser: faEraser,\r\n undo: faUndo,\r\n redo: faRedo,\r\n paperPlane: faPaperPlane,\r\n camera: faCamera,\r\n folderOpen: faFolderOpen,\r\n caretUp: faCaretUp,\r\n caretDown: faCaretDown,\r\n phoneSlash: faPhoneSlash,\r\n phone: faPhone,\r\n plus: faPlus,\r\n microphone: faMicrophoneAlt,\r\n microphoneSlash: faMicrophoneAltSlash,\r\n pen: faPen,\r\n share: faShare,\r\n expand: faExpand,\r\n calendarAlt: faCalendarAlt,\r\n filter: faFilter,\r\n externalLinkAlt: faExternalLinkAlt,\r\n questionCircle: faQuestionCircle,\r\n dollarSign: faDollarSign,\r\n creditCard: faCreditCard,\r\n pause: faPause,\r\n pauseCircle: faPauseCircle,\r\n userCircle: faUserCircle,\r\n exclamationCircle: faExclamationCircle,\r\n compress: faCompress,\r\n video: faVideo,\r\n videoSlash: faVideoSlash,\r\n bell: faBell,\r\n chevronUp: faChevronUp,\r\n chevronDown: faChevronDown,\r\n chevronLeft: faChevronLeft,\r\n chevronRight: faChevronRight,\r\n times: faTimes,\r\n exclamationTriangle: faExclamationTriangle,\r\n checkCircle: faCheckCircle,\r\n play: faPlay,\r\n syncAlt: faSyncAlt,\r\n eye: faEye,\r\n eyeSlash: faEyeSlash,\r\n bars: faBars,\r\n arrowLeft: faArrowLeft,\r\n arrowUp: faArrowUp,\r\n}\r\n\r\nconst SELF_ICONS = {\r\n draw: Draw,\r\n erase: Erase,\r\n line: Line,\r\n oval: Oval,\r\n square: Square,\r\n text: Text,\r\n close: Close,\r\n info: Info,\r\n help: Help,\r\n}\r\n\r\nconst isStrokeIcon = name => {\r\n if (name === 'square') {\r\n return true\r\n }\r\n\r\n return false\r\n}\r\n\r\ninterface IProps {\r\n name: string,\r\n size?: string,\r\n}\r\n\r\nconst Icon: React.SFC = ({ name, size }) => {\r\n const fontAwesomeIcon = ICONS[name]\r\n\r\n if (fontAwesomeIcon) {\r\n return \r\n }\r\n\r\n const SelfIcon = SELF_ICONS[name]\r\n\r\n if (SelfIcon) {\r\n return (\r\n \r\n )\r\n }\r\n\r\n return null\r\n}\r\n\r\nexport default Icon\r\n","function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nimport React from \"react\";\nexport default ((_ref) => {\n let {\n styles = {}\n } = _ref,\n props = _objectWithoutProperties(_ref, [\"styles\"]);\n\n return ;\n});","function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nimport React from \"react\";\nexport default ((_ref) => {\n let {\n styles = {}\n } = _ref,\n props = _objectWithoutProperties(_ref, [\"styles\"]);\n\n return ;\n});","function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nimport React from \"react\";\nexport default ((_ref) => {\n let {\n styles = {}\n } = _ref,\n props = _objectWithoutProperties(_ref, [\"styles\"]);\n\n return ;\n});","function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nimport React from \"react\";\nexport default ((_ref) => {\n let {\n styles = {}\n } = _ref,\n props = _objectWithoutProperties(_ref, [\"styles\"]);\n\n return ;\n});","function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nimport React from \"react\";\nexport default ((_ref) => {\n let {\n styles = {}\n } = _ref,\n props = _objectWithoutProperties(_ref, [\"styles\"]);\n\n return ;\n});","function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nimport React from \"react\";\nexport default ((_ref) => {\n let {\n styles = {}\n } = _ref,\n props = _objectWithoutProperties(_ref, [\"styles\"]);\n\n return ;\n});","function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nimport React from \"react\";\nexport default ((_ref) => {\n let {\n styles = {}\n } = _ref,\n props = _objectWithoutProperties(_ref, [\"styles\"]);\n\n return ;\n});","function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nimport React from \"react\";\nexport default ((_ref) => {\n let {\n styles = {}\n } = _ref,\n props = _objectWithoutProperties(_ref, [\"styles\"]);\n\n return ;\n});","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport Icon from './Icon'\r\n\r\nexport default Icon\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport classNames from 'classnames/bind'\r\nimport Button from 'elements/Button'\r\nimport Icon from 'elements/Icon'\r\nimport * as styles from './ButtonWithIcon.scss'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ndeclare type IconPosition = 'left' | 'right'\r\n\r\ninterface IProps {\r\n label?: string,\r\n children?: string,\r\n styleType?: string,\r\n iconPosition?: IconPosition,\r\n iconName?: string,\r\n onClick?: (ev: any) => any,\r\n round?: boolean,\r\n size?: string,\r\n fluid?: boolean,\r\n disabled?: boolean,\r\n}\r\n\r\nconst ButtonWithIcon: React.SFC = ({\r\n children,\r\n label = children,\r\n iconName,\r\n onClick,\r\n iconPosition = 'left',\r\n ...restProps\r\n}) => (\r\n \r\n \r\n \r\n {label && ({label})}\r\n \r\n \r\n)\r\n\r\nexport default ButtonWithIcon\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport ButtonWithIcon from './ButtonWithIcon'\r\n\r\nexport default ButtonWithIcon\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport * as React from 'react'\r\nimport classNames from 'classnames/bind'\r\nimport * as styles from './List.scss'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IProps {\r\n styleType?: string,\r\n children?: any,\r\n type?: string,\r\n}\r\n\r\nconst List: React.SFC = ({ children, styleType, type, ...restProps }) => {\r\n const Component = type === 'ul' ? 'ul' : 'ol'\r\n return (\r\n \r\n {children}\r\n \r\n )\r\n}\r\n\r\nexport default List\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport * as React from 'react'\r\nimport classNames from 'classnames/bind'\r\nimport * as styles from './ListItem.scss'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IProps {\r\n styleType?: string,\r\n children?: any,\r\n}\r\n\r\nconst ListItem: React.SFC = ({ children, styleType, ...restProps }) => {\r\n return (\r\n \r\n {children}\r\n \r\n )\r\n}\r\n\r\nexport default ListItem\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport List from './List'\r\nimport ListItem from './ListItem'\r\n\r\nexport {\r\n ListItem,\r\n}\r\n\r\nexport default List\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport * as React from 'react'\r\nimport classNames from 'classnames/bind'\r\nimport * as styles from './Text.scss'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ntype Size = 'small' | 'medium' | 'large'\r\n\r\ninterface IProps {\r\n styleType?: string,\r\n children?: any,\r\n size?: Size,\r\n smSize?: Size,\r\n}\r\n\r\nconst Text: React.FC = ({ children, styleType, size = 'medium', smSize = size, ...restProps }) => {\r\n let component = React.createFactory('div')\r\n if (styleType === 'remark') {\r\n component = React.createFactory('sup')\r\n }\r\n\r\n return component({\r\n ...restProps,\r\n className: cx(\r\n 'root',\r\n styleType,\r\n size,\r\n `sm-${smSize}`,\r\n ),\r\n children,\r\n })\r\n}\r\n\r\nexport default Text\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport Text from './Text'\r\n\r\nexport default Text\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport { Link } from 'react-router-dom'\r\nimport List, { ListItem } from 'elements/List'\r\nimport Text from 'elements/Text'\r\n\r\nconst getComponentByTagName = tagName => {\r\n if (tagName === 'Link') {\r\n return Link\r\n }\r\n if (tagName === 'Text') {\r\n return Text\r\n }\r\n if (tagName === 'List') {\r\n return List\r\n }\r\n if (tagName === 'ListItem') {\r\n return ListItem\r\n }\r\n return tagName\r\n}\r\n\r\nexport const renderNodes = (astNodes) => {\r\n return astNodes.reduce((acc, astNode, index) => {\r\n if (astNode.type === 'text') {\r\n return acc.concat(astNode.content)\r\n }\r\n if (astNode.type === 'tag') {\r\n return acc.concat(React.createElement(\r\n getComponentByTagName(astNode.name),\r\n { ...astNode.attrs, key: index },\r\n [renderNodes(astNode.children)],\r\n ))\r\n }\r\n }, [])\r\n}\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport HTML from 'html-parse-stringify2'\r\nimport { renderNodes } from './utils'\r\n\r\nconst LocalizationText = ({ children }) => {\r\n const ast = HTML.parse(`<0>${children}`)\r\n return renderNodes(ast[0].children)\r\n}\r\n\r\nexport default LocalizationText\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport LocalizationText from './LocalizationText'\r\n\r\nexport default LocalizationText\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport classNames from 'classnames/bind'\r\nimport ButtonWithIcon from 'apps/ButtonWithIcon'\r\nimport LocalizationText from 'apps/LocalizationText'\r\nimport * as styles from './Alert.scss'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IParam {\r\n id: string,\r\n}\r\n\r\ninterface IProps {\r\n id: string,\r\n type: string,\r\n headline: string,\r\n message: string,\r\n onDismiss: (param: IParam) => void,\r\n timeout?: number,\r\n}\r\n\r\nclass Alert extends React.Component {\r\n public componentDidMount () {\r\n const { timeout } = this.props\r\n if (timeout) {\r\n setTimeout(this.onDismiss, timeout)\r\n }\r\n }\r\n\r\n private onDismiss = () => {\r\n const { onDismiss, id } = this.props\r\n\r\n onDismiss({ id })\r\n }\r\n\r\n public render () {\r\n const { type, headline, message } = this.props\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n

{headline}

\r\n
\r\n {message}\r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default Alert\r\n","export enum MENU_ITEM_NAMES {\r\n plans = 'plans',\r\n benefits = 'benefits',\r\n}\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nexport enum HEADER_PAGES {\r\n auth = 'auth',\r\n profile = 'profile',\r\n}\r\n\r\nexport enum MENU_ITEM_NAMES {\r\n plans,\r\n benefits,\r\n contactUs,\r\n login,\r\n signUp,\r\n}\r\n\r\nexport const MENU_ITEMS_BY_PAGE = {\r\n [HEADER_PAGES.auth]: [],\r\n [HEADER_PAGES.profile]: [\r\n {\r\n langPath: 'plans',\r\n name: MENU_ITEM_NAMES.plans,\r\n },\r\n {\r\n langPath: 'benefits',\r\n name: MENU_ITEM_NAMES.benefits,\r\n },\r\n {\r\n langPath: 'contactUs',\r\n name: MENU_ITEM_NAMES.contactUs,\r\n },\r\n ],\r\n}\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport Alert from './Alert'\r\n\r\nexport default Alert\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport { AlertContainer } from 'react-bs-notifier'\r\nimport { Remove, IAlert } from 'redux-app/types/alerts'\r\nimport Alert from './apps/Alert'\r\n\r\ninterface IProps {\r\n alerts: IAlert[],\r\n remove: Remove,\r\n}\r\n\r\nconst Alerts: React.SFC = ({\r\n alerts,\r\n remove,\r\n}) => (\r\n \r\n {alerts.map(item => (\r\n \r\n ))}\r\n \r\n)\r\n\r\nexport default Alerts\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { connect } from 'react-redux'\r\nimport { remove } from 'redux-app/modules/alerts'\r\nimport { getAlerts } from 'redux-app/selectors/alerts'\r\nimport Alerts from './Alerts'\r\n\r\nexport default connect(\r\n state => ({\r\n alerts: getAlerts(state),\r\n }),\r\n {\r\n remove,\r\n },\r\n)(Alerts)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { EMPTY_ARRAY } from 'constants/frozenObjects'\r\n\r\nexport const getAlerts = state => state.alerts.items || EMPTY_ARRAY\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport Alerts from './AlertsContainer'\r\n\r\nexport default Alerts\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport Spinner from 'apps/Spinner'\r\nimport * as styles from './LoadingOverlay.scss'\r\n\r\ninterface IProps {\r\n children?: any,\r\n}\r\n\r\nconst LoadingOverlay: React.SFC = () => {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default LoadingOverlay\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose, lifecycle } from 'recompose'\r\nimport LoadingOverlay from './LoadingOverlay'\r\n\r\nexport default compose(\r\n lifecycle({\r\n componentDidMount () {\r\n document.body.style.overflow = 'hidden'\r\n },\r\n componentWillUnmount () {\r\n document.body.style.overflow = 'auto'\r\n },\r\n }),\r\n)(LoadingOverlay)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport LoadingOverlay from './LoadingOverlayContainer'\r\n\r\nexport default LoadingOverlay\r\n","class PageScroller {\r\n private readonly elementId = null\r\n\r\n constructor (elementId) {\r\n this.elementId = elementId\r\n }\r\n\r\n public getElementId = () => {\r\n return this.elementId\r\n }\r\n\r\n public scrollToElement = () => {\r\n const element = document.querySelector(`#${this.getElementId()}`)\r\n if (element) {\r\n if (document.hidden) {\r\n window.scrollTo({\r\n top: element.getBoundingClientRect().top,\r\n left: 0,\r\n behavior: 'smooth',\r\n })\r\n return\r\n }\r\n element.scrollIntoView({ alignToTop: true, behavior: 'smooth' })\r\n }\r\n }\r\n\r\n public goToElement = () => {\r\n const element = document.querySelector(`#${this.getElementId()}`)\r\n if (element) {\r\n element.scrollIntoView(true)\r\n }\r\n }\r\n}\r\n\r\nexport default PageScroller\r\n","import PageScroller from './PageScroller'\r\n\r\nexport const comparePlansScroller = new PageScroller('compare-plans-scroller')\r\nexport const selectPlanScroller = new PageScroller('select-plan')\r\nexport const benefitsScroller = new PageScroller('benefits')\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport { compose, withHandlers } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { getCurrentTexts } from 'redux-app/selectors/localization'\r\nimport { text } from 'redux-app/utils/localization'\r\n\r\ndeclare type getStartPathFromProps = (props: any) => string\r\n\r\nexport const withLocalization = (path: string | getStartPathFromProps) => (WrappedComponent: React.ReactElement) =>\r\n compose(\r\n connect(\r\n (state, props) => ({\r\n texts: getCurrentTexts(state),\r\n startPath: typeof path === 'function' ? path(props) : path,\r\n }),\r\n null,\r\n ),\r\n withHandlers({\r\n t: ({ texts, startPath }) => text({ texts, startPath }),\r\n getTextPath: ({ startPath }) => path => ({\r\n startPath,\r\n path,\r\n }),\r\n }),\r\n )(WrappedComponent)\r\n\r\nexport type Text = (path: string, params?: any) => any\r\n\r\nexport type GetTextPath = (path: string) => {\r\n startPath: string,\r\n path: string,\r\n}\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport { MENU_ITEMS_BY_PAGE, MENU_ITEM_NAMES } from 'constants/header'\r\nimport { ROUTES } from 'constants/routes'\r\nimport { Text } from 'hocs/localization'\r\nimport { getPathWithParams } from 'utils/location'\r\nimport * as styles from './HeaderMenu.scss'\r\n\r\ninterface IItem {\r\n langPath: string,\r\n name: MENU_ITEMS_BY_PAGE,\r\n}\r\n\r\ninterface IProps {\r\n items: IItem[],\r\n t: Text,\r\n onClickMenuItem: (event: React.SyntheticEvent, name: MENU_ITEMS_BY_PAGE) => void,\r\n}\r\n\r\nconst HeaderMenu: React.FC = ({\r\n items = [],\r\n t,\r\n onClickMenuItem,\r\n}) => (\r\n
    \r\n {items.map(({ langPath, name }, index) => {\r\n return (\r\n
  • \r\n onClickMenuItem(event, name)}\r\n >\r\n {t(langPath)}\r\n \r\n
  • \r\n )\r\n })}\r\n
\r\n)\r\n\r\nexport default HeaderMenu\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { createSelector } from 'reselect'\r\nimport { MENU_ITEMS_BY_PAGE } from 'constants/header'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport { getUserRole } from 'redux-app/selectors/auth'\r\nimport HeaderMenu from './HeaderMenu'\r\n\r\nconst getItems = createSelector(\r\n (state, { page }) => page,\r\n getUserRole,\r\n (page, role) => MENU_ITEMS_BY_PAGE[page].filter(({ visibleFor }) => {\r\n if (!visibleFor) {\r\n return true\r\n }\r\n return visibleFor.includes(role)\r\n }),\r\n)\r\n\r\nexport default compose(\r\n connect(\r\n (state, props) => ({\r\n items: getItems(state, props),\r\n }),\r\n null,\r\n ),\r\n withLocalization('header.pagesMenu'),\r\n)(HeaderMenu)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport HeaderMenu from './HeaderMenuContainer'\r\n\r\nexport default HeaderMenu\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nconst AccessWrapper = ({ isAccessed, children }) => isAccessed ? children : null\r\n\r\nexport default AccessWrapper\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { getUserRole } from 'redux-app/selectors/auth'\r\nimport AccessWrapper from './AccessWrapper'\r\n\r\ninterface IProps {\r\n on?: string[],\r\n off?: string[],\r\n}\r\n\r\nexport default compose(\r\n connect(\r\n (state, { on, off = [] }) => {\r\n const userRole = getUserRole(state)\r\n if (on) {\r\n return {\r\n isAccessed: on.includes(userRole),\r\n }\r\n }\r\n return {\r\n isAccessed: !off.includes(userRole),\r\n }\r\n },\r\n ),\r\n)(AccessWrapper)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { USER_ROLES } from 'constants/user'\r\nimport AccessWrapper from './AccessWrapperContainer'\r\n\r\nexport {\r\n USER_ROLES,\r\n}\r\n\r\nexport default AccessWrapper\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport { withHandlers } from 'recompose'\r\nimport { DropdownItem } from 'reactstrap'\r\n\r\ninterface IProps {\r\n children?: any,\r\n active?: boolean,\r\n value?: any,\r\n onClick?: (val: any) => any,\r\n onChange?: (val: any) => any,\r\n}\r\n\r\nconst SelectItem: React.SFC = ({ children, ...restProps }) => {\r\n return (\r\n {children}\r\n )\r\n}\r\n\r\nexport default withHandlers({\r\n onClick: ({ onChange, value }) => () => {\r\n onChange({ value })\r\n },\r\n onKeyDown: ({ onChange, value }) => event => {\r\n if (event.keyCode !== 13) {\r\n return\r\n }\r\n onChange({ value })\r\n },\r\n})(SelectItem)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport _get from 'lodash/get'\r\nimport classNames from 'classnames/bind'\r\nimport { Dropdown, DropdownToggle, DropdownMenu } from 'reactstrap'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport { State } from 'elements/Input'\r\nimport Icon from 'elements/Icon'\r\nimport SelectItem from './SelectItem'\r\nimport * as styles from './Select.scss'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\n// may be added\r\ndeclare type StyleType = 'headerLang' | 'default' | 'filter' | 'pagination' | 'warning'\r\n\r\ninterface IOption {\r\n label: string,\r\n value: any,\r\n}\r\n\r\ninterface IParamLabelRenderer {\r\n label: string,\r\n value: any,\r\n isMenu?: boolean,\r\n}\r\n\r\ninterface IProps{\r\n name?: string,\r\n title?: string,\r\n state?: State,\r\n styleType?: StyleType,\r\n id?: string,\r\n dropDownAlignment?: string,\r\n children: React.ReactNode,\r\n onChange?: (param: any) => void,\r\n value?: any,\r\n options?: IOption[],\r\n labelRenderer?: (params: IParamLabelRenderer) => React.ReactChild,\r\n placeholder?: string,\r\n size: 'medium' | 'large',\r\n disabled?: boolean,\r\n onFocus: () => void,\r\n onBlur: () => void,\r\n}\r\n\r\ninterface IState {\r\n isOpen: boolean,\r\n selectOptions: any,\r\n inputValue: string,\r\n}\r\n\r\nclass Select extends React.Component {\r\n private labelRef = React.createRef()\r\n private inputRef = React.createRef()\r\n private menuRef = React.createRef()\r\n\r\n public state = {\r\n isOpen: false,\r\n selectOptions: [],\r\n inputValue: '',\r\n }\r\n\r\n private onLabelKeyDown = event => {\r\n event.stopPropagation()\r\n\r\n if (event.keyCode === 13) {\r\n event.preventDefault()\r\n if (this.state.isOpen) {\r\n this.onClose(() => this.labelRef.current.focus())\r\n } else {\r\n this.onOpen()\r\n }\r\n }\r\n }\r\n\r\n private onInputKeyDown = event => {\r\n event.stopPropagation()\r\n\r\n if (event.keyCode === 38 || event.keyCode === 40) {\r\n event.preventDefault()\r\n const firstItem = this.menuRef.current.children[0]\r\n firstItem && firstItem.focus()\r\n }\r\n }\r\n\r\n private onToggle = event => {\r\n if (event.type !== 'click') {\r\n event.stopPropagation()\r\n return\r\n }\r\n\r\n if (!this.state.isOpen) {\r\n this.onOpen()\r\n this.inputRef.current.focus()\r\n } else {\r\n this.onClose()\r\n }\r\n }\r\n\r\n private onOpen = () => {\r\n this.setState({\r\n isOpen: true,\r\n })\r\n }\r\n\r\n private onClose = callback => {\r\n const { onBlur } = this.props\r\n onBlur && onBlur()\r\n this.setState({\r\n isOpen: false,\r\n }, () => callback && callback())\r\n }\r\n\r\n private onChangeInput = ({ target }) => {\r\n this.onOpen()\r\n const { value } = target\r\n const { onChange, name, options, t } = this.props\r\n onChange && onChange({ name, value: null })\r\n const selectOptions = options.filter(({ label }) =>\r\n label.toString().toLowerCase().includes(value.toString().toLowerCase()),\r\n )\r\n const selectedValue = options.find(({ label }) => {\r\n return label.toString().toLowerCase() === value.toString().toLowerCase()\r\n })\r\n if (!selectOptions.length) {\r\n selectOptions.push({ label: t('noResult'), disabled: true, value: null })\r\n }\r\n this.setState({\r\n inputValue: target.value,\r\n selectOptions,\r\n })\r\n if (selectedValue) {\r\n this.setState({\r\n inputValue: selectedValue.label,\r\n })\r\n onChange && onChange({ name, value: selectedValue.value })\r\n this.onClose()\r\n }\r\n }\r\n\r\n private onChange = ({ value }) => {\r\n const { onChange, name, options } = this.props\r\n const currentItem = options.find(item => item.value === value)\r\n this.setState({\r\n inputValue: currentItem.label,\r\n selectOptions: options,\r\n })\r\n onChange && onChange({ name, value })\r\n this.onClose(() => this.labelRef.current.focus())\r\n }\r\n\r\n public componentDidMount () {\r\n let inputValue = ''\r\n const value = _get(this.props, 'value')\r\n const currentValue = value !== undefined && value.toString()\r\n const currentItem = this.props.options.find(item => {\r\n return item.value !== undefined && item.value.toString() === currentValue\r\n })\r\n inputValue = this.props.title || _get(currentItem, 'label') || ''\r\n this.setState({\r\n inputValue,\r\n selectOptions: this.props.options,\r\n })\r\n }\r\n\r\n public render () {\r\n const {\r\n title,\r\n id,\r\n state = 'default',\r\n styleType = 'default',\r\n dropDownAlignment = 'left',\r\n value,\r\n options = [],\r\n placeholder = 'Select...',\r\n size = 'medium',\r\n disabled = false,\r\n } = this.props\r\n const {\r\n isOpen,\r\n selectOptions,\r\n inputValue,\r\n } = this.state\r\n\r\n const currentValue = value !== undefined && value.toString()\r\n const currentItem = options.find(item => item.value !== undefined && item.value.toString() === currentValue)\r\n const activeTitle = title || _get(currentItem, 'label') || placeholder\r\n\r\n return (\r\n \r\n {disabled ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {isOpen && selectOptions && selectOptions.map(item => (\r\n \r\n {item.label}\r\n \r\n ))}\r\n
\r\n \r\n \r\n \r\n )}\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default withLocalization('select')(Select)\r\n","export enum ITEM_TYPES {\r\n profile,\r\n settings,\r\n logout,\r\n}\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport Select from './Select'\r\nimport SelectItem from './SelectItem'\r\n\r\nexport {\r\n SelectItem,\r\n}\r\n\r\nexport default Select\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport { RouteChildrenProps } from 'react-router-dom'\r\nimport classNames from 'classnames/bind'\r\nimport { ROUTES } from 'constants/routes'\r\nimport { Text } from 'hocs/localization'\r\nimport Icon from 'elements/Icon'\r\nimport { ITEM_TYPES } from './constants'\r\nimport * as styles from './UserControls.scss'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IProps extends RouteChildrenProps {\r\n greeting: string,\r\n onLogout: () => void,\r\n texts: any,\r\n t: Text,\r\n isUserAbleToOpenProfile: boolean,\r\n}\r\n\r\ninterface IState {\r\n isDropdownVisible: boolean,\r\n}\r\n\r\nclass UserControls extends React.Component {\r\n public readonly state = {\r\n isDropdownVisible: false,\r\n }\r\n\r\n private dropdownButtonRef = null\r\n\r\n private dropdownRef = null\r\n\r\n public componentWillUnmount () {\r\n window.removeEventListener('mousedown', this.onCheckClickOutsideDropdown)\r\n }\r\n\r\n private onToggleDropdown = () => {\r\n const isDropdownVisible = !this.state.isDropdownVisible\r\n if (isDropdownVisible) {\r\n this.onOpenDropdown()\r\n } else {\r\n this.onCloseDropdown()\r\n }\r\n }\r\n\r\n private onOpenDropdown = () => {\r\n this.setState({\r\n isDropdownVisible: true,\r\n })\r\n window.addEventListener('mousedown', this.onCheckClickOutsideDropdown)\r\n }\r\n\r\n private onCloseDropdown = () => {\r\n this.setState({\r\n isDropdownVisible: false,\r\n })\r\n window.removeEventListener('mousedown', this.onCheckClickOutsideDropdown)\r\n }\r\n\r\n private onCheckClickOutsideDropdown = event => {\r\n let target = event.target\r\n let isClickedOutside = true\r\n\r\n while (target !== document && isClickedOutside) {\r\n if (target === this.dropdownRef || target === this.dropdownButtonRef) {\r\n isClickedOutside = false\r\n }\r\n target = target.parentNode\r\n }\r\n if (isClickedOutside) {\r\n this.onCloseDropdown()\r\n }\r\n }\r\n\r\n private onClickDropdownItem = type => {\r\n if (type === ITEM_TYPES.profile) {\r\n this.props.history.push(ROUTES.profile.view)\r\n this.onCloseDropdown()\r\n return\r\n }\r\n if (type === ITEM_TYPES.settings) {\r\n this.props.history.push(ROUTES.profile.settings)\r\n this.onCloseDropdown()\r\n return\r\n }\r\n if (type === ITEM_TYPES.logout) {\r\n this.props.onLogout()\r\n this.onCloseDropdown()\r\n return\r\n }\r\n }\r\n\r\n public render () {\r\n const {\r\n greeting,\r\n t,\r\n isUserAbleToOpenProfile,\r\n } = this.props\r\n\r\n return(\r\n
\r\n
    \r\n
  • \r\n { this.dropdownButtonRef = r }}\r\n >\r\n {greeting}\r\n \r\n \r\n { this.dropdownRef = r }}\r\n className={cx(\r\n 'dropdown',\r\n {\r\n visible: this.state.isDropdownVisible,\r\n },\r\n )}\r\n >\r\n {isUserAbleToOpenProfile && [\r\n
  • \r\n \r\n
  • ,\r\n
  • \r\n \r\n
  • ,\r\n ]}\r\n
  • \r\n
\r\n \r\n \r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default UserControls\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { withRouter } from 'react-router-dom'\r\nimport { EMPTY_OBJECT } from 'constants/frozenObjects'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport { onStartLogoutWithRedirect } from 'redux-app/actionCreators/auth'\r\nimport { getUserDetails, isUserAbleToOpenProfile } from 'redux-app/selectors/user'\r\nimport UserControls from './UserControls'\r\n\r\nexport default compose(\r\n withLocalization('header.userControls'),\r\n connect(\r\n (state, { t }) => {\r\n const userDetails = getUserDetails(state) || EMPTY_OBJECT\r\n if (userDetails.firstName !== '') {\r\n return {\r\n greeting: `${t('hello')}, ${userDetails.firstName}`,\r\n isUserAbleToOpenProfile: isUserAbleToOpenProfile(state),\r\n }\r\n }\r\n\r\n return {\r\n greeting: `${t('hello')}`,\r\n isUserAbleToOpenProfile: isUserAbleToOpenProfile(state),\r\n }\r\n\r\n },\r\n {\r\n onLogout: onStartLogoutWithRedirect,\r\n },\r\n ),\r\n withRouter,\r\n)(UserControls)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport UserControls from './UserControlsContainer'\r\n\r\nexport default UserControls\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport _get from 'lodash/get'\r\nimport { SetLanguage, ILanguageOption } from 'redux-app/types/localization'\r\nimport AccessWrapper from 'apps/AccessWrapper'\r\nimport Select, { SelectItem } from 'elements/Select'\r\nimport UserControls from './apps/UserControls'\r\nimport * as styles from './HeaderActions.scss'\r\n\r\ninterface IProps {\r\n activeLang: string,\r\n setLanguage: SetLanguage,\r\n isUserControlsVisible: boolean,\r\n languageOptions: ILanguageOption[],\r\n isTextsLoading: boolean,\r\n}\r\n\r\nconst HeaderActions: React.FC = ({\r\n activeLang,\r\n setLanguage,\r\n isUserControlsVisible,\r\n languageOptions,\r\n isTextsLoading,\r\n}) => (\r\n
    \r\n {__IS_LOCALIZATION_ACTIVE__ && (\r\n \r\n
  • \r\n item.value === activeLang), 'label')}\r\n disabled={isTextsLoading}\r\n >\r\n {languageOptions.map(({ label, value }) => (\r\n { setLanguage(value) }}\r\n active={activeLang === value}\r\n >\r\n {label}\r\n \r\n ))}\r\n \r\n
  • \r\n
    \r\n )}\r\n {isUserControlsVisible && [\r\n
  • ,\r\n
  • \r\n \r\n
  • ,\r\n ]}\r\n
\r\n)\r\n\r\nexport default HeaderActions\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { setLanguage } from 'redux-app/modules/localization'\r\nimport { getLang, isTextsLoading } from 'redux-app/selectors/localization'\r\nimport { getUserRole } from 'redux-app/selectors/auth'\r\nimport { getLanguageOptions } from 'redux-app/selectors/apiData'\r\nimport HeaderActions from './HeaderActions'\r\n\r\nexport default compose(\r\n connect(\r\n state => ({\r\n activeLang: getLang(state),\r\n isUserControlsVisible: !!getUserRole(state),\r\n languageOptions: getLanguageOptions(state),\r\n isTextsLoading: isTextsLoading(state),\r\n }),\r\n {\r\n setLanguage,\r\n },\r\n ),\r\n)(HeaderActions)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport HeaderActions from './HeaderActionsContainer'\r\n\r\nexport default HeaderActions\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport classNames from 'classnames/bind'\r\nimport { MENU_ITEM_NAMES } from 'constants/header'\r\nimport { Text } from 'hocs/localization'\r\nimport * as styles from './MobileMenu.scss'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IItem {\r\n langPath: string,\r\n name: MENU_ITEM_NAMES,\r\n}\r\n\r\ninterface IProps {\r\n items: IItem[],\r\n t: Text,\r\n isUserAuthorized: boolean,\r\n isVisible: boolean,\r\n onClickMenuItem: (event: React.SyntheticEvent, name: MENU_ITEM_NAMES) => void,\r\n}\r\n\r\nconst MobileMenu: React.FC = ({ items, t, isUserAuthorized, isVisible, onClickMenuItem }) => (\r\n
\r\n \r\n
\r\n)\r\n\r\nexport default MobileMenu\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { createSelector } from 'reselect'\r\nimport { MENU_ITEMS_BY_PAGE } from 'constants/header'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport { getUserRole } from 'redux-app/selectors/auth'\r\nimport MobileMenu from './MobileMenu'\r\n\r\nconst getItems = createSelector(\r\n (state, { page }) => page,\r\n getUserRole,\r\n (page, role) => MENU_ITEMS_BY_PAGE[page].filter(({ visibleFor }) => {\r\n if (!visibleFor) {\r\n return true\r\n }\r\n return visibleFor.includes(role)\r\n }),\r\n)\r\n\r\nexport default compose(\r\n connect(\r\n (state, props) => ({\r\n items: getItems(state, props),\r\n isUserAuthorized: !!getUserRole(state),\r\n }),\r\n null,\r\n ),\r\n withLocalization('header.pagesMenu'),\r\n)(MobileMenu)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport MobileMenu from './MobileMenuContainer'\r\n\r\nexport default MobileMenu\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport { Link, RouteComponentProps } from 'react-router-dom'\r\nimport { Text } from 'hocs/localization'\r\nimport classNames from 'classnames/bind'\r\nimport { selectPlanScroller, benefitsScroller } from 'services/PageScroller'\r\nimport { ROUTES } from 'constants/routes'\r\nimport { HEADER_PAGES, MENU_ITEM_NAMES } from 'constants/header'\r\nimport Button from 'elements/Button'\r\nimport HeaderMenu from './apps/HeaderMenu'\r\nimport HeaderActions from './apps/HeaderActions'\r\nimport MobileMenu from './apps/MobileMenu'\r\nimport Icon from 'elements/Icon'\r\nimport * as styles from './Header.scss'\r\nimport Logo from './assets/header-new-logo.png'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IProps extends RouteComponentProps {\r\n isUserAuthorized: boolean,\r\n styleType?: string,\r\n page: HEADER_PAGES,\r\n t: Text,\r\n setScrollElementId: (elementId: string | null) => void,\r\n onGetSubscriptionsPlans: () => any,\r\n}\r\n\r\ninterface IState {\r\n isMobileMenuVisible: boolean,\r\n}\r\n\r\nclass Header extends React.Component {\r\n public readonly state = {\r\n isMobileMenuVisible: false,\r\n }\r\n\r\n private toggleMobileMenu = () => {\r\n this.setState({\r\n isMobileMenuVisible: !this.state.isMobileMenuVisible,\r\n })\r\n }\r\n\r\n private onCloseMobileMenu = () => {\r\n this.setState({\r\n isMobileMenuVisible: false,\r\n })\r\n }\r\n\r\n private onClickMenuItem = (event, name) => {\r\n const { history, setScrollElementId } = this.props\r\n event.preventDefault()\r\n if (name === MENU_ITEM_NAMES.plans) {\r\n history.push(ROUTES.home.home)\r\n setScrollElementId(selectPlanScroller.getElementId())\r\n this.onCloseMobileMenu()\r\n return\r\n }\r\n if (name === MENU_ITEM_NAMES.benefits) {\r\n history.push(ROUTES.home.home)\r\n setScrollElementId(benefitsScroller.getElementId())\r\n this.onCloseMobileMenu()\r\n return\r\n }\r\n if (name === MENU_ITEM_NAMES.contactUs) {\r\n history.push(ROUTES.home.contactUs)\r\n this.onCloseMobileMenu()\r\n return\r\n }\r\n if (name === MENU_ITEM_NAMES.login) {\r\n history.push(ROUTES.home.logIn)\r\n this.onCloseMobileMenu()\r\n return\r\n }\r\n if (name === MENU_ITEM_NAMES.signUp) {\r\n history.push(ROUTES.home.home)\r\n setScrollElementId(selectPlanScroller.getElementId())\r\n this.onCloseMobileMenu()\r\n return\r\n }\r\n }\r\n\r\n public render () {\r\n const { styleType, page, t, isUserAuthorized } = this.props\r\n\r\n return(\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n EPSON Logo\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n {!isUserAuthorized && (\r\n
\r\n
\r\n
\r\n this.onClickMenuItem(event, MENU_ITEM_NAMES.login)}\r\n fluid\r\n >\r\n {t('logIn')}\r\n \r\n
\r\n
\r\n this.onClickMenuItem(event, MENU_ITEM_NAMES.signUp)}\r\n fluid\r\n >\r\n {t('signUp')}\r\n \r\n
\r\n
\r\n
\r\n )}\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default Header\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nexport enum ITEM_NAMES {\r\n plans,\r\n readyPrint,\r\n terms,\r\n policy,\r\n}\r\n\r\nexport const MENU_ITEMS = [\r\n {\r\n textPath: 'plans',\r\n name: ITEM_NAMES.plans,\r\n },\r\n {\r\n textPath: 'readyPrint',\r\n name: ITEM_NAMES.readyPrint,\r\n linkPath: 'links.readyPrint',\r\n },\r\n {\r\n textPath: 'terms',\r\n name: ITEM_NAMES.terms,\r\n linkPath: 'links.terms',\r\n },\r\n {\r\n textPath: 'policy',\r\n name: ITEM_NAMES.policy,\r\n linkPath: 'links.privacy',\r\n },\r\n]\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose, withHandlers } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { withRouter } from 'react-router-dom'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport { setScrollElementId } from 'redux-app/modules/pageScroller'\r\nimport { getUserRole } from 'redux-app/selectors/auth'\r\nimport { onGetSubscriptionsPlans } from 'redux-app/actionCreators/subscription'\r\nimport Header from './Header'\r\n\r\nexport default compose(\r\n connect(\r\n state => ({\r\n isUserAuthorized: !!getUserRole(state),\r\n }),\r\n {\r\n setScrollElementId,\r\n onGetSubscriptionsPlans,\r\n },\r\n ),\r\n withLocalization('header.header'),\r\n withRouter,\r\n withHandlers({\r\n updateSubscriptionPlans: ({ onGetSubscriptionsPlans }) => () => {\r\n return onGetSubscriptionsPlans()\r\n },\r\n }),\r\n)(Header)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport Header from './HeaderContainer'\r\nimport { HEADER_PAGES } from 'constants/header'\r\n\r\nexport {\r\n HEADER_PAGES,\r\n}\r\n\r\nexport default Header\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport classNames from 'classnames/bind'\r\nimport { Link } from 'react-router-dom'\r\nimport { ROUTES } from 'constants/routes'\r\nimport { Text } from 'hocs/localization'\r\nimport { getPathWithParams } from 'utils/location'\r\nimport { MENU_ITEMS, ITEM_NAMES } from './constants'\r\nimport * as styles from './Footer.scss'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IProps {\r\n children?: React.ReactNode,\r\n styleType?: string,\r\n t: Text,\r\n onClickMenuItem: (event: React.SyntheticEvent, name: ITEM_NAMES) => void,\r\n}\r\n\r\nconst Footer: React.FC = ({\r\n styleType = 'default',\r\n t,\r\n onClickMenuItem,\r\n}) => {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
    \r\n {MENU_ITEMS.map(item => (\r\n
  • \r\n onClickMenuItem(event, item.name)}\r\n >\r\n {t(`menu.${item.textPath}`)}\r\n \r\n
  • \r\n ))}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {t('copyright', { year: new Date().getFullYear() })}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default Footer\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose, withHandlers } from 'recompose'\r\nimport { withRouter } from 'react-router-dom'\r\nimport { connect } from 'react-redux'\r\nimport { selectPlanScroller } from 'services/PageScroller'\r\nimport { ROUTES } from 'constants/routes'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport { setScrollElementId } from 'redux-app/modules/pageScroller'\r\nimport { ITEM_NAMES, MENU_ITEMS } from './constants'\r\nimport Footer from './Footer'\r\n\r\nexport default compose(\r\n connect(\r\n null,\r\n {\r\n setScrollElementId,\r\n },\r\n ),\r\n withLocalization('footer'),\r\n withRouter,\r\n withHandlers({\r\n onClickMenuItem: ({ history, t, setScrollElementId }) => (event, name) => {\r\n event.preventDefault()\r\n if (name === ITEM_NAMES.plans) {\r\n history.push(ROUTES.home.home)\r\n setScrollElementId(selectPlanScroller.getElementId())\r\n return\r\n }\r\n const itemConfig = MENU_ITEMS.find(item => item.name === name)\r\n if (itemConfig) {\r\n window.open(t(itemConfig.linkPath), '_blank')\r\n }\r\n },\r\n }),\r\n)(Footer)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport Footer from './FooterContainer'\r\n\r\nexport default Footer\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport Header from 'apps/Header'\r\nimport Footer from 'apps/Footer'\r\nimport * as styles from './HomeLayout.scss'\r\n\r\ninterface IProps {\r\n children?: React.ReactChild,\r\n}\r\n\r\nconst HomeLayout: React.FC = ({ children }) => (\r\n \r\n
\r\n
\r\n
\r\n {children}\r\n
\r\n
\r\n
\r\n \r\n)\r\n\r\nexport default HomeLayout\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport HomeLayout from './HomeLayout'\r\n\r\nexport default HomeLayout\r\n","export const LINK_TO_INFO = 'https://epson.com/readyprint-terms'\r\n","import React from 'react'\r\nimport Img from 'react-cool-img'\r\nimport { LINK_TO_INFO } from 'constants/links'\r\nimport { withLocalization, Text } from 'hocs/localization'\r\nimport loadingImage from './assets/home-hero-min.jpg'\r\nimport image from './assets/home-hero.jpg'\r\nimport * as styles from './Banner.scss'\r\n\r\ninterface IProps {\r\n t: Text,\r\n}\r\n\r\nconst Banner: React.FC = ({ t }) => (\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{t('header')}

\r\n
{t('text1')}{t('rCircle')} {t('text2')}
\r\n
\r\n
\r\n {t('home.actualSavings1')}\r\n \r\n {t('home.link')}\r\n \r\n
\r\n
{t('home.actualSavings2')}
\r\n
\r\n
\r\n
\r\n
\r\n)\r\n\r\nexport default withLocalization('home.main.banner')(Banner)\r\n","import Banner from './Banner'\r\n\r\nexport default Banner\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport classNames from 'classnames/bind'\r\nimport * as styles from './Heading.scss'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\nconst tags = [\r\n 'h1',\r\n 'h2',\r\n 'h3',\r\n 'h4',\r\n 'h5',\r\n 'h6',\r\n]\r\n\r\ntype StyleType = 'brandColor' | 'lightColor' | 'subHeader'\r\n\r\ninterface IProps {\r\n size?: number,\r\n children?: React.ReactChildren,\r\n title?: string,\r\n styleType?: StyleType,\r\n}\r\n\r\nconst Heading: React.SFC = ({\r\n size = 2,\r\n children,\r\n title = children,\r\n styleType = 'default',\r\n}) => {\r\n const Tag = tags[size - 1]\r\n return title\r\n ? ({title})\r\n : null\r\n}\r\n\r\nexport default Heading\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport Heading from './Heading'\r\n\r\nexport default Heading\r\n","import React from 'react'\r\nimport ReactPlayer from 'react-player'\r\nimport { withLocalization, Text as TextType } from 'hocs/localization'\r\nimport Heading from 'elements/Heading'\r\nimport Text from 'elements/Text'\r\nimport logo from 'assets/images/logo.png'\r\nimport * as styles from './PartnerPrinting.scss'\r\nimport video from 'assets/videos/Epson-ReadyPrint-Final.mp4'\r\nimport { wrapper } from 'shared/apps/Loading/Loading.scss'\r\n\r\ninterface IProps {\r\n t: TextType,\r\n trackVideoPlay(): void,\r\n}\r\n\r\nconsole.log(video)\r\n\r\nconst PartnerPrinting: React.FC = ({ t, trackVideoPlay }) => (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {t('description')}\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n)\r\n\r\nexport default withLocalization('home.main.partnerPrinting')(PartnerPrinting)\r\n","import PartnerPrinting from './PartnerPrinting'\r\n\r\nexport default PartnerPrinting\r\n","import React from 'react'\r\nimport Img from 'react-cool-img'\r\nimport classNames from 'classnames/bind'\r\nimport { LINK_TO_INFO } from 'constants/links'\r\nimport { withLocalization, Text as TextType } from 'hocs/localization'\r\nimport Heading from 'elements/Heading'\r\nimport Text from 'elements/Text'\r\nimport loadingStep1 from './assets/step1-min.png'\r\nimport step1 from './assets/step1.png'\r\nimport loadingStep2 from './assets/step2-min.jpg'\r\nimport step2 from './assets/step2.jpg'\r\nimport loadingStep3 from './assets/step3-min.jpg'\r\nimport step3 from './assets/step3.jpg'\r\nimport * as styles from './HowToWork.scss'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IProps {\r\n t: TextType,\r\n}\r\n\r\nconst HowToWork: React.FC = ({ t }) => (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {t('description')}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {t('step1.description')}\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n {t('step2.description')}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {t('step3.description')}\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {t('home.actualSavings1')}\r\n \r\n {t('home.link')}\r\n \r\n
\r\n
{t('home.actualSavings2')}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n)\r\n\r\nexport default withLocalization('home.main.howToWork')(HowToWork)\r\n","import HowToWork from './HowToWork'\r\n\r\nexport default HowToWork\r\n","import React from 'react'\r\nimport { benefitsScroller } from 'services/PageScroller'\r\nimport { withLocalization, Text as TextType } from 'hocs/localization'\r\nimport Heading from 'elements/Heading'\r\nimport Text from 'elements/Text'\r\nimport item1 from './assets/item1.jpg'\r\nimport item2 from './assets/item2.jpg'\r\nimport item3 from './assets/item3.jpg'\r\nimport * as styles from './Benefits.scss'\r\n\r\ninterface IProps {\r\n t: TextType,\r\n}\r\n\r\nconst ITEMS = [\r\n {\r\n image: item1,\r\n imageHeight: 123,\r\n },\r\n {\r\n image: item2,\r\n imageHeight: 123,\r\n },\r\n {\r\n image: item3,\r\n imageHeight: 123,\r\n },\r\n]\r\n\r\nconst Benefits: React.FC = ({ t }) => (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
    \r\n {ITEMS.map(({ image, imageHeight }, index) => (\r\n
  • \r\n \r\n \r\n
    \r\n \r\n {t(`item${index + 1}.description`)}\r\n \r\n
    \r\n
  • \r\n ))}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n)\r\n\r\nexport default withLocalization('home.main.benefits')(Benefits)\r\n","import Benefits from './Benefits'\r\n\r\nexport default Benefits\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\nimport _round from 'lodash/round'\r\n\r\nexport const getFormattedAmount = value => {\r\n const rounded = _round(value, 2)\r\n const roundedString = rounded.toString()\r\n const [whole, fraction] = roundedString.split('.')\r\n\r\n if (!fraction) {\r\n return `${whole}.00`\r\n }\r\n\r\n if (fraction.length === 2) {\r\n return roundedString\r\n }\r\n\r\n return `${whole}.${fraction}0`\r\n}\r\n\r\nconst getDigitsFromValue = value => value.replace(/(-(?!\\d))|[^0-9|-]/g, '')\r\n\r\nconst padDigits = digits => {\r\n const desiredLength = 3\r\n const actualLength = digits.length\r\n\r\n if (actualLength >= desiredLength) {\r\n return digits\r\n }\r\n\r\n const amountToAdd = desiredLength - actualLength\r\n const padding = '0'.repeat(amountToAdd)\r\n\r\n return padding + digits\r\n}\r\n\r\nconst removeLeadingZeros = num => num.replace(/^0+([0-9]+)/, '$1')\r\n\r\nconst addDecimalToNumber = (num, separator) => {\r\n const centsStartingPosition = num.length - 2\r\n const dollars = removeLeadingZeros(num.substring(0, centsStartingPosition))\r\n .replace(/,/g, '')\r\n .replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',')\r\n const cents = num.substring(centsStartingPosition)\r\n return dollars + separator + cents\r\n}\r\n\r\nexport const toCurrency = (value, separator = '.') => {\r\n if (!value) return ''\r\n const digits = getDigitsFromValue(typeof value === 'string' ? value : `${value.toFixed(2)}`)\r\n const digitsWithPadding = padDigits(digits)\r\n return addDecimalToNumber(digitsWithPadding, separator)\r\n}\r\n","import React from 'react'\r\nimport classNames from 'classnames/bind'\r\nimport { USER_ROLES } from 'constants/user'\r\nimport AccessWrapper from 'apps/AccessWrapper'\r\nimport Button from 'elements/Button'\r\nimport { toCurrency } from 'utils/price'\r\nimport * as styles from './PlanItem.scss'\r\nimport { comparePlansScroller } from 'services/PageScroller'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\nconst PlanItem = ({ plan = {}, t, onSelectSubscriptionPlan, isAccessibleToUser, isSelectable = true }) => (\r\n
\r\n
\r\n {plan.name}\r\n
\r\n
\r\n
\r\n
{plan.name}
\r\n

\r\n {t('price', { price: toCurrency(plan.price) })}\r\n {!!plan.activationFee && (\r\n
\r\n /mo {t('activationFee', { activationFee: toCurrency(plan.activationFee) })}\r\n
\r\n )}\r\n {!plan.activationFee && (\r\n
\r\n /mo\r\n
\r\n )}\r\n

\r\n
\r\n {t('planFeaturesTitle')}\r\n
\r\n
    \r\n {plan.description && plan.description.split('|').map((item, index) => (\r\n
  • {item}
  • \r\n ))}\r\n
\r\n
\r\n \r\n
\r\n onSelectSubscriptionPlan(plan.id)}\r\n fluid\r\n >\r\n {isSelectable ? t('selectPlanButton') : t('notifyPlanButton')}\r\n \r\n
\r\n
\r\n
\r\n
\r\n)\r\n\r\nexport default PlanItem\r\n","import React from 'react'\r\nimport ReactTooltip from 'react-tooltip'\r\nimport classNames from 'classnames/bind'\r\nimport * as styles from './Tooltip.scss'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IProps {\r\n id: string\r\n position?: 'top' | 'right' | 'bottom' | 'left'\r\n children?: any\r\n content?: any\r\n title?: any\r\n}\r\n\r\nconst Tooltip: React.SFC = (props) => {\r\n const { id, children, title, content, position } = props\r\n return (\r\n <>\r\n {children ?? ()}\r\n \r\n
\r\n {title && (
{title}
)}\r\n {content && (
{content}
)}\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default Tooltip\r\n","import Tooltip from './Tooltip'\r\n\r\nexport default Tooltip\r\n","import React from 'react'\r\nimport classNames from 'classnames/bind'\r\nimport { USER_ROLES } from 'constants/user'\r\nimport AccessWrapper from 'apps/AccessWrapper'\r\nimport Button from 'elements/Button'\r\nimport { toCurrency } from 'utils/price'\r\nimport * as styles from './../PlanItem.scss'\r\nimport Tooltip from 'apps/Tooltip'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\nconst MultiPlanItem = ({ plan, plan2, t, onSelectSubscriptionPlan, onChangeCheckBox, isAccessibleToUser, isSelectable, isSelectable2 }) => (\r\n\r\n
\r\n
\r\n {plan.visible\r\n
\r\n
\r\n
\r\n
{plan.visible ? plan.name : plan2.name}
\r\n

\r\n\r\n {plan.visible && t('price', { price: toCurrency(plan.price) })}\r\n {plan2.visible && t('price', { price: toCurrency(plan2.price) })}\r\n\r\n {!plan.activationFee && plan.visible && (\r\n
\r\n /mo + no activation fee\r\n
\r\n )}\r\n\r\n {!!plan2.activationFee && plan2.visible && (\r\n
\r\n /mo {t('activationFee', { activationFee: toCurrency(plan2.activationFee) })}\r\n
\r\n )}\r\n\r\n

\r\n
\r\n {t('planFeaturesTitle')}\r\n
\r\n
    \r\n {plan.visible && plan.description && plan.description.split('|').map((item, index) => (\r\n
  • {item}
  • \r\n ))}\r\n {plan2.visible && plan2.description && plan2.description.split('|').map((item, index) => (\r\n
  • {item}
  • \r\n ))}\r\n
\r\n
\r\n
\r\n onChangeCheckBox(plan.weight, e)} type='checkbox'/>\r\n
\r\n Save $10 each month by paying an activation fee\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n {plan.visible && (\r\n onSelectSubscriptionPlan(plan.id)}\r\n fluid\r\n >\r\n {isSelectable ? t('selectPlanButton') : t('notifyPlanButton')}\r\n \r\n )}\r\n\r\n {plan2.visible && (\r\n onSelectSubscriptionPlan(plan2.id)}\r\n fluid\r\n >\r\n {isSelectable2 ? t('selectPlanButton') : t('notifyPlanButton')}\r\n \r\n )}\r\n\r\n
\r\n
\r\n
\r\n
\r\n)\r\n\r\nexport default MultiPlanItem\r\n","import MultiPlanItem from './MultiPlanItem'\r\n\r\nexport default MultiPlanItem\r\n","import React from 'react'\r\nimport classNames from 'classnames/bind'\r\nimport { LINK_TO_INFO } from 'constants/links'\r\nimport { comparePlansScroller, selectPlanScroller } from 'services/PageScroller'\r\nimport { Text as TextType } from 'hocs/localization'\r\nimport Heading from 'elements/Heading'\r\nimport Text from 'elements/Text'\r\nimport Button from 'elements/Button'\r\nimport PlanItem from './apps/PlanItem'\r\nimport MultiPlanItem from './apps/MultiPlanItem'\r\nimport * as styles from './SelectPlan.scss'\r\nimport { setScrollElementId } from 'redux-app/modules/pageScroller'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IProps {\r\n t: TextType,\r\n isUserLogin: boolean,\r\n subscriptionPlans: any[],\r\n groupedPlans: any[][],\r\n setScrollElementId: (name) => void,\r\n onSelectPlan: () => void,\r\n onChangeCheckBox: (weight) => void,\r\n onUpdatePlans: (plans) => void,\r\n}\r\n\r\ninterface IState {\r\n plansState: any[],\r\n groupedPlansState: any[][],\r\n}\r\n\r\nclass SelectPlan extends React.Component {\r\n public state = {\r\n plansState: this.props.subscriptionPlans,\r\n groupedPlansState: this.props.groupedPlans,\r\n }\r\n\r\n public static getDerivedStateFromProps (props, state) {\r\n return {\r\n plansState: props.subscriptionPlans,\r\n }\r\n }\r\n\r\n private onChangeCheckBoxState = (weight) => {\r\n\r\n const plansFromState = [...this.state.plansState]\r\n const plansFromGroup = plansFromState.filter(x => x.weight === weight)\r\n\r\n // exchange plans vivibility\r\n const firstGroupPlanVisibility = plansFromGroup[0].visible\r\n plansFromGroup[0].visible = plansFromGroup[1].visible\r\n plansFromGroup[1].visible = firstGroupPlanVisibility\r\n\r\n this.props.onUpdatePlans(plansFromState)\r\n }\r\n\r\n private goToComparison = (event) =>\r\n {\r\n this.props.setScrollElementId(comparePlansScroller.getElementId());\r\n }\r\n\r\n public render () {\r\n\r\n const { plansState, groupedPlansState } = this.state\r\n const {\r\n t,\r\n isUserLogin,\r\n onSelectPlan,\r\n } = this.props\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {t('description')}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n {Object.keys(groupedPlansState).map((key) => {\r\n\r\n var planItem : any;\r\n var planItem2 : any;\r\n \r\n if (groupedPlansState[key].length > 0) {\r\n planItem = plansState.find(x => x.id === groupedPlansState[key][0].id);\r\n }\r\n\r\n if (groupedPlansState[key].length > 1) {\r\n planItem2 = plansState.find(x => x.id === groupedPlansState[key][1].id);\r\n }\r\n\r\n return (\r\n \r\n {groupedPlansState[key].length === 1 && (\r\n \r\n )}\r\n {groupedPlansState[key].length > 1 && (\r\n \r\n )}\r\n
\r\n )\r\n },\r\n )}\r\n
\r\n
\r\n
\r\n {t('termsLink')}\r\n \r\n
\r\n {t('home.actualSavings1')}\r\n \r\n {t('home.link')}\r\n \r\n
\r\n
{t('home.actualSavings2')}
\r\n
\r\n
\r\n
\r\n \r\n
\r\n )\r\n }}\r\n\r\nexport default SelectPlan\r\n","export enum BENEFIT_NAMES {\r\n greatFor = 'GreatFor',\r\n unlimitedInk = 'UnlimitedInk',\r\n prioritySupport = 'PrioritySupport',\r\n}\r\n\r\nexport enum FEATURE_NAMES {\r\n modes = 'TrueCartridgePermanentPrinthead',\r\n auto2SidePrinting = 'AutoTwoSidePrinting',\r\n borderlessPhotos = 'BorderlessPhotos',\r\n autoDocumentFeeder = 'AutoDocumentFeeder',\r\n touchscreenPanel = 'TouchscreenPanel',\r\n fax = 'Fax',\r\n wideFormatPrinting = 'WideFormatPrinting',\r\n ethernetConnection = 'EthernetConnection',\r\n auto2SidedScanning = 'Auto2SidedScanning',\r\n printSpeed = 'IsoPrintSpeeds',\r\n paperTray = 'PaperTrayCapacity',\r\n wifiBandsSupported = 'WifiBandsSupported',\r\n}\r\n","import { compose, withHandlers } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport { plans } from 'redux-app/modules/subscriptions'\r\nimport { onSelectSubscriptionPlan } from 'redux-app/actionCreators/subscription'\r\nimport { getSubscriptionPlans } from 'redux-app/selectors/subscription'\r\nimport { isUserAuthorizated } from 'redux-app/selectors/auth'\r\nimport SelectPlan from './SelectPlan'\r\nimport { setScrollElementId } from 'redux-app/modules/pageScroller'\r\nimport { analytics } from 'services/Analytics'\r\n\r\nexport default compose(\r\n withLocalization('home.main.selectPlan'),\r\n connect(\r\n (state) => {\r\n\r\n const isUserLogin = isUserAuthorizated(state)\r\n const subscriptionPlans = getSubscriptionPlans(state)\r\n .sort((a, b) => {\r\n\r\n if (a.weight === b.weight) {\r\n return !!a.activationFee ? 1 : -1\r\n }\r\n\r\n return a.weight > b.weight ? 1 : -1\r\n })\r\n\r\n subscriptionPlans.forEach(plan => {\r\n if (typeof plan['visible'] == 'undefined') {\r\n plan['visible'] = false;\r\n }\r\n })\r\n\r\n const groupByCategory = subscriptionPlans.reduce((group, plan) => {\r\n group[plan.weight] = group[plan.weight] ?? []\r\n group[plan.weight].push(plan)\r\n return group\r\n }, {})\r\n\r\n for (const item in groupByCategory) {\r\n\r\n if (groupByCategory[item].length == 1) {\r\n groupByCategory[item][0].visible = true\r\n }\r\n else if (groupByCategory[item][0].visible == false && groupByCategory[item][1].visible == false) {\r\n groupByCategory[item][0].visible = true\r\n }\r\n }\r\n\r\n return {\r\n isUserLogin,\r\n subscriptionPlans,\r\n groupedPlans: groupByCategory,\r\n }\r\n },\r\n {\r\n onSelectSubscriptionPlan,\r\n setScrollElementId,\r\n plans,\r\n },\r\n ),\r\n withHandlers({\r\n onUpdatePlans: ({\r\n plans,\r\n }) => updatedPlans => {\r\n plans(updatedPlans)\r\n },\r\n onSelectPlan: ({ onSelectSubscriptionPlan, subscriptionPlans }) => planId => {\r\n onSelectSubscriptionPlan(planId)\r\n\r\n const newPlan = subscriptionPlans.find(plan => plan.id === planId)\r\n\r\n if (subscriptionPlans.some(plan => plan.id !== planId && newPlan.weight === plan.weight))\r\n {\r\n analytics.homeSelectPlan({activationFee : newPlan.activationFee})\r\n }\r\n else\r\n {\r\n analytics.homeSelectPlan({activationFee: null})\r\n }\r\n },\r\n }),\r\n)(SelectPlan)\r\n","import SelectPlan from './SelectPlanContainer'\r\n\r\nexport default SelectPlan\r\n","import _get from 'lodash/get'\r\nimport { FEATURE_NAMES, BENEFIT_NAMES } from 'constants/dataNames'\r\n\r\nexport const getNormalizedOptionDescription = description => {\r\n const parts = description.split('|')\r\n return parts.map(part => {\r\n if (part === '{True}') {\r\n return true\r\n }\r\n if (part === '{False}') {\r\n return false\r\n }\r\n return part\r\n })\r\n}\r\n\r\nconst getValuesByName = (name, allOptionsMap) => {\r\n return _get(allOptionsMap, [name, 'values'], [])\r\n}\r\n\r\nconst getOptionsMap = optionsArray => optionsArray.reduce((acc, { key, description }) => ({\r\n ...acc,\r\n [key]: {\r\n name: key,\r\n values: getNormalizedOptionDescription(description),\r\n },\r\n}), {})\r\n\r\nexport const getNormalizedPlan = plan => {\r\n const benefits = getOptionsMap(plan.features)\r\n const features = (plan.devices[0] && getOptionsMap(plan.devices[0].deviceFeatures)) || []\r\n return {\r\n id: plan.id,\r\n name: plan.name,\r\n image: plan.productImageUri,\r\n productDescription: plan.productDescription,\r\n price: plan.price,\r\n weight: plan.weight,\r\n activationFee: plan.activationFee,\r\n hasAvailableDevices: plan.hasAvailableDevices,\r\n visible: typeof plan.visible != 'undefined' ? plan.visible : false,\r\n benefits: Object.values(BENEFIT_NAMES).reduce((acc, name) => ({\r\n ...acc,\r\n [name]: getValuesByName(name, benefits),\r\n }), {}),\r\n features: Object.values(FEATURE_NAMES).reduce((acc, name) => ({\r\n ...acc,\r\n [name]: getValuesByName(name, features),\r\n }), {}),\r\n }\r\n}\r\n","import React from 'react'\r\nimport { FEATURE_NAMES, BENEFIT_NAMES } from 'constants/dataNames'\r\nimport Icon from 'elements/Icon'\r\nimport * as styles from './ComparePlansOption.scss'\r\n\r\nconst renderValues = (values, name) => {\r\n if (name === BENEFIT_NAMES.greatFor) {\r\n return (\r\n
    \r\n {values.map((value, index) => value && (\r\n
  • {value}
  • \r\n ))}\r\n
\r\n )\r\n }\r\n if (values[0] === false) {\r\n return null\r\n }\r\n return values.map((value, index) => {\r\n if (value === true) {\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n if (name === FEATURE_NAMES.modes && values.length > 1 && index === values.length - 1) {\r\n return (\r\n \r\n {value}\r\n \r\n )\r\n }\r\n return values.length > 1 ? `${value}\\n` : value\r\n })\r\n}\r\n\r\nconst ComparePlansOption = ({ options, name, label }) => (\r\n
\r\n \r\n
\r\n {options.filter(x => x.visible).map((planOptions, index) => (\r\n
x.visible).length - 2}%` }}>\r\n {renderValues(planOptions[name], name)}\r\n
\r\n ))}\r\n
\r\n
\r\n)\r\n\r\nexport default ComparePlansOption\r\n","import ComparePlansOption from './ComparePlansOption'\r\n\r\nexport default ComparePlansOption\r\n","import React from 'react'\r\nimport classNames from 'classnames/bind'\r\nimport { USER_ROLES } from 'constants/user'\r\nimport { LINK_TO_INFO } from 'constants/links'\r\nimport { FEATURE_NAMES, BENEFIT_NAMES } from 'constants/dataNames'\r\nimport { Text as TextType } from 'hocs/localization'\r\nimport AccessWrapper from 'apps/AccessWrapper'\r\nimport Button from 'elements/Button'\r\nimport Text from 'elements/Text'\r\nimport { toCurrency } from 'utils/price'\r\nimport ComparePlansOption from './apps/ComparePlansOption'\r\nimport * as styles from './ComparePlans.scss'\r\nimport Tooltip from '../Tooltip'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IProps {\r\n t: TextType,\r\n subscriptionPlans: any[],\r\n onSelect: (id: string) => void,\r\n onUpdatePlans: (plans) => void,\r\n benefits: any[],\r\n features: any[],\r\n groupedPlans: any[][],\r\n selectPlanOff?: USER_ROLES[],\r\n selectedPlanId?: string,\r\n}\r\n\r\ninterface IState {\r\n plansState: any[],\r\n groupedPlansState: any[][],\r\n}\r\n\r\nconst BENEFIT_ORDERS = [\r\n BENEFIT_NAMES.greatFor,\r\n BENEFIT_NAMES.unlimitedInk,\r\n BENEFIT_NAMES.prioritySupport,\r\n]\r\n\r\nconst FEATURE_ORDERS = [\r\n FEATURE_NAMES.modes,\r\n FEATURE_NAMES.auto2SidePrinting,\r\n FEATURE_NAMES.borderlessPhotos,\r\n FEATURE_NAMES.autoDocumentFeeder,\r\n FEATURE_NAMES.ethernetConnection,\r\n FEATURE_NAMES.fax,\r\n FEATURE_NAMES.touchscreenPanel,\r\n FEATURE_NAMES.auto2SidedScanning,\r\n FEATURE_NAMES.wideFormatPrinting,\r\n FEATURE_NAMES.printSpeed,\r\n FEATURE_NAMES.paperTray,\r\n FEATURE_NAMES.wifiBandsSupported,\r\n]\r\n\r\nconst OPTION_LABEL_BY_NAME = {\r\n [BENEFIT_NAMES.greatFor]: 'greatFor',\r\n [BENEFIT_NAMES.unlimitedInk]: 'unlimitedInk',\r\n [BENEFIT_NAMES.prioritySupport]: 'prioritySupport',\r\n [FEATURE_NAMES.modes]: 'modes',\r\n [FEATURE_NAMES.auto2SidePrinting]: 'auto2SidePrinting',\r\n [FEATURE_NAMES.borderlessPhotos]: 'borderlessPhotos',\r\n [FEATURE_NAMES.autoDocumentFeeder]: 'autoDocumentFeeder',\r\n [FEATURE_NAMES.ethernetConnection]: 'ethernetConnection',\r\n [FEATURE_NAMES.fax]: 'fax',\r\n [FEATURE_NAMES.touchscreenPanel]: 'touchscreenPanel',\r\n [FEATURE_NAMES.auto2SidedScanning]: 'auto2SidedScanning',\r\n [FEATURE_NAMES.wideFormatPrinting]: 'wideFormatPrinting',\r\n [FEATURE_NAMES.printSpeed]: 'printSpeed',\r\n [FEATURE_NAMES.paperTray]: 'paperTray',\r\n [FEATURE_NAMES.wifiBandsSupported]: 'wifiBandsSupported',\r\n}\r\n\r\nclass ComparePlans extends React.Component {\r\n\r\n public state = {\r\n plansState: this.props.subscriptionPlans,\r\n benefitsState: this.props.benefits,\r\n featuresState: this.props.features,\r\n groupedPlansState: this.props.groupedPlans,\r\n }\r\n\r\n public static getDerivedStateFromProps (props, state) {\r\n return {\r\n plansState: props.subscriptionPlans,\r\n }\r\n }\r\n\r\n private onChangeCheckBox = (weight, e) => {\r\n const plansFromState = [...this.state.plansState]\r\n const plansFromGroup = plansFromState.filter(x => x.weight === weight)\r\n\r\n // exchange plans vivibility\r\n const firstGroupPlanVisibility = plansFromGroup[0].visible\r\n plansFromGroup[0].visible = plansFromGroup[1].visible\r\n plansFromGroup[1].visible = firstGroupPlanVisibility\r\n\r\n const benefitsFromState = [...this.state.benefitsState]\r\n const benefitsFromGroup = benefitsFromState.filter(x => x.weight === weight)\r\n\r\n // exchange benefits vivibility\r\n const firstGroupBenefitsVisibility = benefitsFromGroup[0].visible\r\n benefitsFromGroup[0].visible = benefitsFromGroup[1].visible\r\n benefitsFromGroup[1].visible = firstGroupBenefitsVisibility\r\n\r\n const featuresFromState = [...this.state.featuresState]\r\n const featuresFromGroup = featuresFromState.filter(x => x.weight === weight)\r\n\r\n // exchange features vivibility\r\n const firstGroupFeaturesVisibility = featuresFromGroup[0].visible\r\n featuresFromGroup[0].visible = featuresFromGroup[1].visible\r\n featuresFromGroup[1].visible = firstGroupFeaturesVisibility\r\n\r\n this.props.onUpdatePlans(plansFromState)\r\n }\r\n\r\n public render () {\r\n\r\n const {\r\n t,\r\n subscriptionPlans,\r\n groupedPlans,\r\n onSelect,\r\n benefits,\r\n features,\r\n selectPlanOff = [],\r\n selectedPlanId,\r\n } = this.props\r\n\r\n const { plansState, benefitsState, featuresState } = this.state\r\n const groupedPlansKeys = Object.keys(groupedPlans)\r\n const visiblePlans = plansState.filter(x => x.visible)\r\n\r\n return (\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n {groupedPlansKeys.map((key) => {\r\n\r\n return (\r\n
\r\n {plansState.filter(x => x.visible && x.weight === groupedPlans[key][0].weight)\r\n .map(({ id, name, productDescription, productImageUri, activationFee, price, hasAvailableDevices, weight }) => (\r\n
\r\n
\r\n

{name}

\r\n

{productDescription}

\r\n
\r\n {productDescription}/\r\n
\r\n

\r\n {t('price', { price: toCurrency(price) })}/mo\r\n

\r\n\r\n
\r\n {groupedPlans[key].length > 1 && (\r\n
\r\n x.id === groupedPlans[key][1].id).visible}\r\n onChange={(e) => this.onChangeCheckBox(weight, e)} type='checkbox' />\r\n \r\n {t('activationFee', { activationFee: toCurrency(groupedPlans[key][1].activationFee) })}\r\n {groupedPlans[key].length > 1 && (\r\n \r\n )}\r\n \r\n
\r\n )}\r\n{/* {groupedPlans[key].length === 1 && (\r\n
\r\n \r\n No activation fee\r\n \r\n
\r\n )} */}\r\n
\r\n\r\n
\r\n \r\n onSelect(id)}\r\n size='small'\r\n disabled={selectedPlanId === id}\r\n fluid\r\n >\r\n { hasAvailableDevices ? t('selectPlanButton') : t('notifyPlanButton')}\r\n { hasAvailableDevices ? t('selectPlanButtonShort') : t('notifyPlanButtonShort')}\r\n \r\n \r\n
\r\n ))}\r\n
\r\n )\r\n })}\r\n\r\n
\r\n
\r\n
{t('benefitsHeader')}
\r\n
\r\n {BENEFIT_ORDERS.map(name => (\r\n \r\n ))}\r\n
\r\n
\r\n
{t('featuresHeader')}
\r\n
\r\n {FEATURE_ORDERS.map(name => (\r\n \r\n ))}\r\n
\r\n \r\n
\r\n
\r\n
\r\n {visiblePlans.map(({ id, hasAvailableDevices }) => (\r\n
\r\n
\r\n onSelect(id)}\r\n size='small'\r\n disabled={selectedPlanId === id}\r\n fluid\r\n >\r\n { hasAvailableDevices ? t('selectPlanButton') : t('notifyPlanButton')}\r\n { hasAvailableDevices ? t('selectPlanButtonShort') : t('notifyPlanButtonShort')}\r\n \r\n
\r\n
\r\n ))}\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n {t('home.actualSavings1')}\r\n \r\n {t('home.link')}\r\n \r\n
\r\n
{t('home.actualSavings2')}
\r\n
\r\n
\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default ComparePlans\r\n","import { compose, withHandlers, lifecycle } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport { getSubscriptionPlans } from 'redux-app/selectors/subscription'\r\nimport { plans } from 'redux-app/modules/subscriptions'\r\nimport { getUserActivePlanId } from 'redux-app/selectors/user'\r\nimport { getNormalizedPlan } from './utils'\r\nimport ComparePlans from './ComparePlans'\r\n\r\nexport default compose(\r\n withLocalization('comparePlans'),\r\n connect(\r\n (state) => {\r\n\r\n const subscriptionPlans = getSubscriptionPlans(state).sort((a, b) => {\r\n if (a.weight === b.weight) {\r\n return !!a.activationFee ? 1 : -1\r\n }\r\n\r\n return a.weight > b.weight ? 1 : -1\r\n })\r\n\r\n subscriptionPlans.forEach(plan => {\r\n if (typeof plan['visible'] == 'undefined') {\r\n plan['visible'] = false;\r\n }\r\n })\r\n\r\n const groupByCategory = subscriptionPlans.reduce((group, plan) => {\r\n group[plan.weight] = group[plan.weight] ?? []\r\n group[plan.weight].push(plan)\r\n return group\r\n }, {})\r\n\r\n for (const item in groupByCategory) {\r\n if (groupByCategory[item].length == 1) {\r\n groupByCategory[item][0].visible = true\r\n }\r\n else if (groupByCategory[item][0].visible == false && groupByCategory[item][1].visible == false) {\r\n groupByCategory[item][0].visible = true\r\n }\r\n }\r\n\r\n const normalizedPlans = subscriptionPlans.map(plan => getNormalizedPlan(plan))\r\n const benefits = normalizedPlans.map(({ benefits }) => benefits)\r\n const features = normalizedPlans.map(({ features }) => features)\r\n\r\n for (const index in subscriptionPlans) {\r\n benefits[index]['visible'] = subscriptionPlans[index].visible\r\n benefits[index]['weight'] = subscriptionPlans[index].weight\r\n features[index]['visible'] = subscriptionPlans[index].visible\r\n features[index]['weight'] = subscriptionPlans[index].weight\r\n }\r\n\r\n return {\r\n subscriptionPlans,\r\n groupedPlans: groupByCategory,\r\n benefits,\r\n features,\r\n selectedPlanId: getUserActivePlanId(state),\r\n }\r\n },\r\n {\r\n plans,\r\n },\r\n ),\r\n withHandlers({\r\n onUpdatePlans: ({\r\n plans,\r\n }) => updatedPlans => {\r\n plans(updatedPlans)\r\n },\r\n }),\r\n)(ComparePlans)\r\n","import ComparePlans from './ComparePlansContainer'\r\n\r\nexport default ComparePlans\r\n","import React from 'react'\r\nimport classNames from 'classnames/bind'\r\nimport { comparePlansScroller } from 'services/PageScroller'\r\nimport { USER_ROLES } from 'constants/user'\r\nimport { Text as TextType } from 'hocs/localization'\r\nimport ComparePlansTable from 'apps/ComparePlans'\r\nimport Heading from 'elements/Heading'\r\nimport * as styles from './ComparePlans.scss'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IProps {\r\n t: TextType,\r\n onSelectSubscriptionPlan: (id: string) => void,\r\n}\r\n\r\nconst ComparePlans: React.FC = ({ t, onSelectSubscriptionPlan, }) => (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n)\r\n\r\nexport default ComparePlans\r\n","import { compose, withHandlers, lifecycle } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport { onSelectSubscriptionPlan } from 'redux-app/actionCreators/subscription'\r\nimport ComparePlans from './ComparePlans'\r\n\r\nexport default compose(\r\n withLocalization('home.main.comparePlans'),\r\n connect(\r\n null,\r\n {\r\n onSelectSubscriptionPlan,\r\n },\r\n ),\r\n lifecycle({\r\n componentDidMount () {\r\n const path = window.location.href;\r\n if (path.indexOf(\"#compare-plans\") > 0){\r\n const anchor = document.getElementById(\"compare-plans\");\r\n if(anchor) {\r\n anchor.scrollIntoView();\r\n }\r\n }\r\n }})\r\n)(ComparePlans)\r\n","import ComparePlans from './ComparePlansContainer'\r\n\r\nexport default ComparePlans\r\n","import React from 'react'\r\nimport { ROUTES } from 'constants/routes'\r\nimport { Text } from 'hocs/localization'\r\nimport Button from 'elements/Button'\r\nimport Heading from 'elements/Heading'\r\nimport * as styles from './Question.scss'\r\n\r\ninterface IProps {\r\n t: Text,\r\n}\r\n\r\nconst Question: React.FC = ({ t, history }) => (\r\n
\r\n
\r\n
\r\n
\r\n {t('header')}\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n)\r\n\r\nexport default Question\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose } from 'recompose'\r\nimport { withRouter } from 'react-router-dom'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport Question from './Question'\r\n\r\nexport default compose(\r\n withLocalization('home.main.question'),\r\n withRouter,\r\n)(Question)\r\n","import Question from './QuestionContainer'\r\n\r\nexport default Question\r\n","import React from 'react'\r\nimport classNames from 'classnames/bind'\r\nimport ButtonWithIcon from 'apps/ButtonWithIcon'\r\nimport * as styles from './ScrollUpButton.scss'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IState {\r\n isVisible: boolean,\r\n}\r\n\r\nclass ScrollUpButton extends React.Component<{}, IState> {\r\n public readonly state = {\r\n isVisible: false,\r\n }\r\n\r\n public componentDidMount () {\r\n window.addEventListener('scroll', this.onCalcVisibility)\r\n }\r\n\r\n public componentWillUnmount () {\r\n window.removeEventListener('scroll', this.onCalcVisibility)\r\n }\r\n\r\n private onCalcVisibility = () => {\r\n const { isVisible } = this.state\r\n if (!isVisible && window.pageYOffset > window.innerHeight) {\r\n this.setState({\r\n isVisible: true,\r\n })\r\n } else if (isVisible && window.pageYOffset <= window.innerHeight) {\r\n this.setState({\r\n isVisible: false,\r\n })\r\n }\r\n }\r\n\r\n private onScrollUp = () => {\r\n window.scrollTo({\r\n top: 0,\r\n behavior: 'smooth',\r\n })\r\n }\r\n\r\n public render () {\r\n const { isVisible } = this.state\r\n if (!isVisible) return null\r\n return (\r\n \r\n \r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default ScrollUpButton\r\n","import ScrollUpButton from './ScrollUpButton'\r\n\r\nexport default ScrollUpButton\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport { Text } from 'hocs/localization'\r\nimport HomeLayout from 'apps/HomeLayout'\r\nimport Banner from './apps/Banner'\r\nimport PartnerPrinting from './apps/PartnerPrinting'\r\nimport HowToWork from './apps/HowToWork'\r\nimport Benefits from './apps/Benefits'\r\nimport SelectPlan from './apps/SelectPlan'\r\nimport ComparePlans from './apps/ComparePlans'\r\nimport Question from './apps/Question'\r\nimport ScrollUpButton from './apps/ScrollUpButton'\r\n\r\ninterface IProps {\r\n t: Text,\r\n trackVideoPlay(): void,\r\n}\r\n\r\nconst Main: React.FC = ({trackVideoPlay}) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default Main\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose, lifecycle, withHandlers } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { withRouter } from 'react-router-dom'\r\nimport { analytics } from 'services/Analytics'\r\nimport { comparePlansScroller, selectPlanScroller, benefitsScroller } from 'services/PageScroller'\r\nimport { setScrollElementId } from 'redux-app/modules/pageScroller'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport { withScrollToElements } from 'hocs/withScrollToElements'\r\nimport { MENU_ITEM_NAMES } from './constants'\r\nimport Main from './Main'\r\n\r\nexport default compose(\r\n connect(\r\n null,\r\n {\r\n setScrollElementId,\r\n },\r\n ),\r\n withLocalization('home.main'),\r\n withRouter,\r\n withHandlers({\r\n trackVideoPlay: ({ }) => formValues => {\r\n analytics.viewVideoOnHomePage()\r\n },\r\n }),\r\n withScrollToElements([comparePlansScroller, selectPlanScroller, benefitsScroller]),\r\n lifecycle({\r\n componentDidMount () {\r\n const { match: { params: { menu } } } = this.props\r\n if (menu === MENU_ITEM_NAMES.plans) {\r\n this.props.setScrollElementId(selectPlanScroller.getElementId())\r\n return\r\n }\r\n if (menu === MENU_ITEM_NAMES.benefits) {\r\n this.props.setScrollElementId(benefitsScroller.getElementId())\r\n return\r\n }\r\n analytics.openHomePage()\r\n },\r\n }),\r\n)(Main)\r\n","import { compose, lifecycle } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { setScrollElementId } from 'redux-app/modules/pageScroller'\r\nimport { getScrollElementId } from 'redux-app/selectors/pageScroller'\r\n\r\nexport const withScrollToElements = (pageScrollers = []) => BaseComponent => compose(\r\n connect(\r\n state => ({\r\n scrollElementId: getScrollElementId(state),\r\n }),\r\n {\r\n setScrollElementId,\r\n },\r\n ),\r\n lifecycle({\r\n componentDidMount () {\r\n const { scrollElementId, setScrollElementId } = this.props\r\n if (scrollElementId !== null) {\r\n const pageScroller = pageScrollers.find(pageScroller => {\r\n return pageScroller.getElementId() === scrollElementId\r\n })\r\n if (pageScroller) {\r\n pageScroller.goToElement()\r\n setScrollElementId(null)\r\n }\r\n }\r\n },\r\n componentWillReceiveProps (nextProps) {\r\n if (this.props.scrollElementId !== nextProps.scrollElementId && nextProps.scrollElementId !== null) {\r\n const pageScroller = pageScrollers.find(pageScroller => {\r\n return pageScroller.getElementId() === nextProps.scrollElementId\r\n })\r\n if (pageScroller) {\r\n pageScroller.scrollToElement()\r\n nextProps.setScrollElementId(null)\r\n }\r\n }\r\n },\r\n }),\r\n)(BaseComponent)\r\n","export const getScrollElementId = state => state.pageScroller\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport Main from './MainContainer'\r\n\r\nexport default Main\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport { change } from 'redux-form'\r\nimport { compose } from 'recompose'\r\nimport { connect } from 'react-redux'\r\n\r\nconst fieldName = 'captcha'\r\n\r\ninterface IState {\r\n isCaptchaVerified: boolean,\r\n}\r\n\r\nexport const formWithCaptchaHoc = WrappedComponent => class FormWithCaptcha extends React.Component {\r\n private captchaRef = null\r\n\r\n public state = {\r\n isCaptchaVerified: false,\r\n }\r\n\r\n private onVerifyCaptcha = response => {\r\n this.setState({\r\n isCaptchaVerified: !!response,\r\n })\r\n }\r\n\r\n private onSubmit = formValues => {\r\n return this.props.onSubmit(formValues)\r\n .then(r => {\r\n this.onResetCaptcha()\r\n return Promise.resolve(r)\r\n })\r\n .catch(e => {\r\n this.onResetCaptcha()\r\n throw e\r\n })\r\n }\r\n\r\n private setCaptchaRef = r => this.captchaRef = r\r\n\r\n private onResetCaptcha = () => {\r\n if (!this.captchaRef) {\r\n return\r\n }\r\n this.setState({\r\n isCaptchaVerified: false,\r\n })\r\n this.captchaRef.reset()\r\n this.props.change(this.props.form, fieldName, false)\r\n }\r\n\r\n public render () {\r\n return (\r\n \r\n )\r\n }\r\n}\r\n\r\nexport const formWithCaptcha = WrappedComponent => compose(\r\n connect(\r\n null,\r\n {\r\n change,\r\n },\r\n ),\r\n formWithCaptchaHoc,\r\n)(WrappedComponent)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nexport enum STEPS {\r\n success,\r\n form,\r\n}\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nexport enum CARD_FIELD_NAMES {\r\n paymentCreditCard = 'paymentCreditCard',\r\n nameOnCard = 'nameOnCard',\r\n expMonth = 'expMonth',\r\n expYear = 'expYear',\r\n CVV = 'CVV',\r\n agreementCheckbox = 'agreementCheckbox'\r\n}\r\n\r\nexport enum BUSINESS_FIELD_NAMES {\r\n name = 'name',\r\n signatoryTitle = 'signatoryTitle',\r\n signatoryFirstName = 'signatoryFirstName',\r\n signatoryLastName = 'signatoryLastName',\r\n}\r\n\r\nexport enum BILLING_FIELD_NAMES {\r\n address1 = 'address1',\r\n city = 'city',\r\n stateId = 'stateId',\r\n postalCode = 'postalCode',\r\n}\r\n\r\nexport const MAX_LENGTHS = {\r\n name: 30,\r\n city: 30,\r\n address: 250,\r\n companyName: 30,\r\n email: 60,\r\n password: 20,\r\n secretAnswer: 255,\r\n cardCVV: 3,\r\n cardCVVLong: 4,\r\n promoElc: 50,\r\n promoEvt: 15,\r\n transferReason: 2000,\r\n textarea: 250,\r\n businessName: 100,\r\n signatoryTitle: 100,\r\n cancellationReason: 280\r\n}\r\n\r\nexport const EFFECTIVE_DATE_INTERVAL_IN_MINUTES = 30\r\n\r\nexport enum USER_FORMS {\r\n profileShippingForm = 'profileShippingForm',\r\n profileBillingForm = 'profileBillingForm',\r\n profileAddCard = 'profileAddCard',\r\n profilePaymentDetails = 'profilePaymentDetails',\r\n profileBusinessDetails = 'profileBusinessDetails',\r\n contactUsForm = 'contactUsForm',\r\n forgotPasswordForm = 'forgotPasswordForm',\r\n cancelSubscription = 'cancelSubscription'\r\n}\r\n","import _get from 'lodash/get'\r\nimport { withLocalization } from 'hocs/localization'\r\n\r\nexport const withLocalizationErrorMessage = WrappedComponent =>\r\n withLocalization(({ meta }) => _get(meta, ['error', 0, 'startPath']))(WrappedComponent)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport * as React from 'react'\r\nimport { Label as BootstrapLabel } from 'reactstrap'\r\nimport classNames from 'classnames/bind'\r\nimport * as styles from './Label.scss'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IProps {\r\n styleType?: string,\r\n children?: any,\r\n for?: string,\r\n required?: boolean,\r\n size?: string,\r\n}\r\n\r\nconst Label: React.SFC = ({ children, styleType, required = false, size, ...restProps }) => {\r\n return (\r\n \r\n {children}\r\n \r\n )\r\n}\r\n\r\nexport default Label\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport Label from './Label'\r\n\r\nexport default Label\r\n","import React from 'react'\r\nimport classNames from 'classnames/bind'\r\nimport Label from 'elements/Label'\r\nimport * as styles from './FormField.scss'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IProps {\r\n styleType?: string,\r\n isErrorShown: boolean,\r\n isPromptShown: boolean,\r\n required: boolean,\r\n errorMessage: string,\r\n promptMessage: string,\r\n label: string | React.ReactChild,\r\n}\r\n\r\nclass FormField extends React.Component {\r\n public render () {\r\n const {\r\n isErrorShown,\r\n errorMessage,\r\n promptMessage,\r\n children,\r\n label,\r\n required,\r\n inline,\r\n hint,\r\n isPromptShown,\r\n } = this.props\r\n\r\n return (\r\n
\r\n \r\n {children}\r\n
\r\n {isPromptShown && (\r\n
\r\n {promptMessage}\r\n
\r\n )\r\n }\r\n {isErrorShown\r\n ? (\r\n
\r\n {errorMessage}\r\n
\r\n )\r\n : hint\r\n ? (
\r\n {hint}\r\n
)\r\n : (
)\r\n }\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default FormField\r\n","import FormField from './FormField'\r\n\r\nexport default FormField\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport InputMask from 'react-input-mask'\r\nimport ButtonWithIcon from 'apps/ButtonWithIcon'\r\nimport classNames from 'classnames/bind'\r\nimport * as styles from './Input.scss'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ntype State = 'active' | 'valid' | 'alert' | 'warning' | 'default'\r\n\r\ninterface IProps {\r\n name?: string,\r\n styleType?: string,\r\n mask?: string,\r\n type?: string,\r\n placeholder?: string,\r\n state?: State,\r\n value?: string,\r\n iconName?: string,\r\n meta?: any,\r\n id?: string,\r\n maxLength?: number,\r\n onChange?: (val: any) => any,\r\n onFocus?: (val: any) => any,\r\n onBlur?: (val: any) => any,\r\n size?: string,\r\n disabled?: boolean,\r\n autoFocus?: boolean,\r\n}\r\n\r\ninterface IState {\r\n showPass: boolean,\r\n autoFilled: boolean,\r\n}\r\n\r\nclass Input extends React.Component {\r\n private inputRef = null\r\n\r\n public readonly state = {\r\n showPass: false,\r\n autoFilled: false,\r\n }\r\n\r\n public componentDidMount () {\r\n if (this.props.autoFocus) {\r\n this.inputRef.focus()\r\n }\r\n }\r\n\r\n public componentDidUpdate (prevProps) {\r\n if (!prevProps.autoFocus && this.props.autoFocus) {\r\n this.inputRef.focus()\r\n }\r\n if (this.props.mask\r\n && (prevProps.value.length - this.props.value.length > 2\r\n || prevProps.value.length - this.props.value.length < -2)) {\r\n this.setState({\r\n autoFilled: true,\r\n })\r\n }\r\n }\r\n\r\n private togglePassword = (e) => {\r\n e.preventDefault()\r\n\r\n this.setState({\r\n showPass: !this.state.showPass,\r\n })\r\n }\r\n\r\n private handleType = (type) => {\r\n if (type === 'password') {\r\n return this.state.showPass ? 'text' : 'password'\r\n }\r\n if (type === 'cvv') {\r\n return 'password'\r\n }\r\n return type\r\n }\r\n\r\n public render () {\r\n const {\r\n state = 'default',\r\n iconName,\r\n styleType = 'default',\r\n size = 'medium',\r\n disabled,\r\n value,\r\n type,\r\n meta,\r\n mask: inputMask,\r\n ...restProps\r\n } = this.props\r\n const { showPass, autoFilled } = this.state\r\n\r\n const isPassword = type === 'password'\r\n\r\n return (\r\n
\r\n this.inputRef = r}\r\n mask={(value && meta.touched) || !autoFilled ? inputMask : null}\r\n autoComplete={inputMask ? 'none' : 'on'}\r\n className={cx(\r\n 'input',\r\n state,\r\n size,\r\n {\r\n disabled,\r\n withIcon: !!iconName,\r\n },\r\n )}\r\n value={value}\r\n disabled={disabled}\r\n />\r\n {isPassword && (\r\n
\r\n \r\n
\r\n )\r\n }\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default Input\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport Input from './Input'\r\n\r\nexport default Input\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nexport const getMessageText = (meta, text, newLine) => {\r\n let message = ''\r\n if ((meta.visited || meta.touched) && meta.error) {\r\n meta.error.forEach(({ path }, index) => {\r\n message += text(path)\r\n if (meta.error.length !== index + 1) {\r\n if (newLine) {\r\n message += '\\n'\r\n } else {\r\n message += ', '\r\n }\r\n }\r\n })\r\n }\r\n return message\r\n}\r\n\r\nexport const isErrorShown = meta => {\r\n if (meta.touched) {\r\n return !!meta.error\r\n }\r\n return false\r\n}\r\n\r\nexport const getFieldState = meta => {\r\n let state = 'default'\r\n if (meta.touched) {\r\n state = meta.error ? 'warning' : 'valid'\r\n }\r\n return state\r\n}\r\n\r\nexport const isErrorIncludes = ({ error = [] }, errorText) => {\r\n return !!error.find(({ path }) => path.includes(errorText))\r\n}\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport FormField from 'apps/FormField'\r\nimport InputElement from 'elements/Input'\r\nimport { isErrorShown, getMessageText, getFieldState, isErrorIncludes } from 'utils/field'\r\n\r\nconst Input: React.FC = ({\r\n input,\r\n meta,\r\n t,\r\n newLineError,\r\n getTextPath,\r\n startPath,\r\n label,\r\n required,\r\n dispatch,\r\n inline,\r\n withPrompt,\r\n withError,\r\n hint,\r\n ...restProps\r\n}) => (\r\n \r\n \r\n \r\n)\r\n\r\nexport default Input\r\n","import { withLocalizationErrorMessage } from 'hocs/withLocalizationErrorMessage'\r\nimport Input from './Input'\r\n\r\nexport default withLocalizationErrorMessage(Input)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport Reaptcha from 'reaptcha'\r\n\r\nclass Captcha extends React.Component {\r\n private onChange = value => {\r\n const { input: { onChange }, verifyCallback } = this.props\r\n\r\n onChange(value)\r\n verifyCallback(value)\r\n }\r\n\r\n private onExpire = () => {\r\n const { input: { onChange }, verifyCallback } = this.props\r\n\r\n onChange(null)\r\n verifyCallback(null)\r\n }\r\n\r\n public render () {\r\n return (\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default Captcha\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { getLang } from 'redux-app/selectors/localization'\r\nimport { googleRecaptchaSiteKey } from 'redux-app/selectors/apiData'\r\nimport Captcha from './Captcha'\r\n\r\nexport default compose(\r\n connect(\r\n state => ({\r\n lang: getLang(state),\r\n googleRecaptchaSiteKey: googleRecaptchaSiteKey(state),\r\n }),\r\n null,\r\n ),\r\n)(Captcha)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport Captcha from './CaptchaContainer'\r\n\r\nexport default Captcha\r\n","import React from 'react'\r\nimport CaptchaComponent from 'apps/Captcha'\r\n\r\nconst Captcha = ({ input, verifyCallback, captchaRef }) =>\r\n \r\n\r\nexport default Captcha\r\n","import Captcha from './Captcha'\r\n\r\nexport default Captcha\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport { EMPTY_ARRAY } from 'constants/frozenObjects'\r\nimport FormField from 'apps/FormField'\r\nimport Loading from 'apps/Loading'\r\nimport SelectComponent, { SelectItem } from 'elements/Select'\r\nimport { isErrorShown, getMessageText, getFieldState } from 'utils/field'\r\n\r\nconst Select: React.FC = ({\r\n input,\r\n meta,\r\n options = EMPTY_ARRAY,\r\n labelRenderer,\r\n t,\r\n label,\r\n apiTypes,\r\n required,\r\n ...restProps\r\n}) => (\r\n \r\n \r\n \r\n {options.map(({ label, value, ...restProps }) => {\r\n const currentLabel = labelRenderer ? labelRenderer({ label, value, ...restProps, isMenu: true }) : label\r\n return {currentLabel}\r\n })}\r\n \r\n \r\n \r\n)\r\n\r\nexport default Select\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nexport const ADDED_EXPIRATION_YEARS = 11\r\n\r\nexport enum CARD_TYPES {\r\n visa = 'VISA',\r\n dc = 'DC',\r\n amex = 'AMEX',\r\n disc = 'DISC',\r\n mc = 'MC',\r\n custom = 'CUSTOM',\r\n}\r\n","import { compose } from 'recompose'\r\nimport { withLocalizationErrorMessage } from 'hocs/withLocalizationErrorMessage'\r\nimport { normalizeEvents } from 'hocs/normalizeEvents'\r\nimport Select from './Select'\r\n\r\nexport default compose(\r\n withLocalizationErrorMessage,\r\n normalizeEvents,\r\n)(Select)\r\n","import { withHandlers } from 'recompose'\r\n\r\nexport const normalizeEvents = WrappedComponent => withHandlers({\r\n onChange: ({ input: { onChange } }) => ({ name, value }) => onChange(value),\r\n onBlur: ({ input: { onBlur } }) => () => onBlur(),\r\n})(WrappedComponent)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport TextareaAutosize from 'react-autosize-textarea'\r\nimport classNames from 'classnames/bind'\r\nimport Icon from 'elements/Icon'\r\nimport * as styles from './Textarea.scss'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IProps {\r\n styleType?: string,\r\n size: 'medium' | 'large',\r\n iconName?: string,\r\n state?: string,\r\n}\r\n\r\nconst Textarea: React.SFC = ({\r\n styleType = 'default',\r\n size = 'medium',\r\n iconName,\r\n state,\r\n ...restProps\r\n}) => (\r\n
\r\n \r\n {(restProps.showLengthCounter && restProps.maxLength) && (\r\n
{restProps.value.length}/{restProps.maxLength}
\r\n )}\r\n
\r\n \r\n
\r\n
\r\n)\r\n\r\nexport default Textarea\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport Textarea from './Textarea'\r\n\r\nexport default Textarea\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport FormField from 'apps/FormField'\r\nimport TextareaElement from 'elements/Textarea'\r\nimport { isErrorShown, getMessageText, getFieldState } from 'utils/field'\r\n\r\nconst Textarea: React.FC = ({\r\n input,\r\n meta,\r\n t,\r\n getTextPath,\r\n startPath,\r\n label,\r\n required,\r\n dispatch,\r\n ...restProps\r\n}) => (\r\n \r\n \r\n \r\n)\r\n\r\nexport default Textarea\r\n","import { withLocalizationErrorMessage } from 'hocs/withLocalizationErrorMessage'\r\nimport Textarea from './Textarea'\r\n\r\nexport default withLocalizationErrorMessage(Textarea)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport classNames from 'classnames/bind'\r\nimport * as styles from './Checkbox.scss'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IProps {\r\n label?: string,\r\n size?: 'small' | 'medium' | 'large',\r\n value?: any,\r\n styleType?: 'default' | 'inputCenter' | 'onlyCheckbox',\r\n disabled?: boolean,\r\n}\r\n\r\nconst Checkbox: React.SFC = ({ styleType = 'default', label, size, disabled, ...restProps }) => {\r\n return (\r\n \r\n \r\n \r\n {label}\r\n \r\n )\r\n}\r\n\r\nexport default Checkbox\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport Checkbox from './Checkbox'\r\n\r\nexport default Checkbox\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport FormField from 'apps/FormField'\r\nimport CheckboxElement from 'elements/Checkbox'\r\n\r\nconst Input: React.FC = ({\r\n input,\r\n meta,\r\n ...restProps\r\n}) => (\r\n \r\n \r\n \r\n)\r\n\r\nexport default Input\r\n","import Checkbox from './Checkbox'\r\n\r\nexport default Checkbox\r\n","import React from 'react'\r\nimport * as styles from './FormErrorMessage.scss'\r\n\r\nconst FormErrorMessage = ({ messages = [] }) => messages.length > 0 ? (\r\n
{messages.join('\\n')}
\r\n) : null\r\n\r\nexport default FormErrorMessage\r\n","import FormErrorMessage from './FormErrorMessage'\r\n\r\nexport default FormErrorMessage\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { CARD_TYPES } from 'constants/payment'\r\n\r\n// hasValidFunctions\r\n// tslint:disable\r\nexport const hasValidEmail = value => /^(([^<>()\\[\\]\\\\.,;:\\s@\".?!'#$%^*&]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\".?!'#$%^*&)]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/.test(value)\r\nexport const hasValidPassword = (value = '') => {\r\n return value.length >= 8 &&\r\n /^(?=.*[a-zа-яà-ž])(?=.*[A-ZА-ЯÀ-Ž])(?=.*[0-9])(?=.*[-*.!@#$%^&(){}[\\]:\";'<>,?/~`_+=|\\\\]).{8,}$/g.test(value)\r\n}\r\nexport const hasPasswordUppercaseLetters = (value = '') => /^(?=.*[A-ZА-ЯÀ-Ž])/g.test(value)\r\nexport const hasPasswordLowercaseLetters = (value = '') => /^(?=.*[a-zа-яà-ž])/g.test(value)\r\nexport const hasPasswordNumbers = (value = '') => /^(?=.*[0-9])/g.test(value)\r\nexport const hasPasswordSpecialCharacters = (value = '') => /^(?=.*[-*.!@#$%^&(){}[\\]:\";'<>,?/~`_+=|\\\\])/g.test(value)\r\nexport const hasPasswordValidLength = (value = '') => value.length >= 8 && value.length <= 20\r\n\r\n// tslint:enable\r\nexport const hasRequired = (value = '') => {\r\n if (!value) {\r\n return false\r\n }\r\n return value.trim().length > 0\r\n}\r\nexport const hasRequiredCheckbox = value => {\r\n return value\r\n}\r\nexport const hasOnlyLetters = value => /^[A-zÀ-ž]+$/g.test(value)\r\nexport const hasOnlyNumbers = value => /^[0-9]+$/g.test(value)\r\nexport const hasOnlyAlphanumeric = value => /^[0-9A-zÀ-ž]+$/g.test(value)\r\nexport const hasPhoneNumber = value => /^[0-9\\-]{12}$/g.test(value)\r\nexport const hasCardNumber = (value = '', cardType) => {\r\n if (cardType === CARD_TYPES.amex) {\r\n return value.replace(/-|_/g, '').length === 15\r\n }\r\n\r\n return value.replace(/-|_/g, '').length === 16\r\n}\r\nexport const hasCardCVV = (value, cardType) => {\r\n if (cardType !== CARD_TYPES.amex) {\r\n return /^[0-9]{3}$/g.test(value)\r\n }\r\n\r\n return /^[0-9]{4}$/g.test(value)\r\n}\r\nexport const hasNameOnCard = value => {\r\n if (/\\s/.test(value)) {\r\n const parts = value.split(' ')\r\n const name = parts.filter(word => word)\r\n return name.length > 1 && name.every(word => hasName(word))\r\n }\r\n\r\n return false\r\n}\r\nexport const hasFullName = value => {\r\n if (/\\s/.test(value)) {\r\n const parts = value.split(' ')\r\n const name = parts.filter(word => word)\r\n return name.length > 1\r\n }\r\n return false\r\n}\r\nexport const hasValidSecretAnswer = (value = '') => /^[0-9A-zÀ-ž\\s]+$/g.test(value)\r\nexport const hasMoreMinLength = min => (value = '') => value.trim().length >= min\r\nexport const hasLessMaxLength = max => (value = '') => value.trim().length <= max\r\nexport const hasRequiredLength = requiredLength => (value = '') => value.trim().length === requiredLength\r\nexport const hasFloatNumber = value => /^[0-9]+\\.*[0-9]*$/g.test(value)\r\nexport const hasValidDateRange = value => {\r\n if (value) {\r\n const startDate = new Date(value.startDate)\r\n const endDate = new Date(value.endDate)\r\n return endDate.valueOf() - startDate.valueOf() >= 0\r\n }\r\n return true\r\n}\r\nexport const hasName = value => /^[A-Za-zÀ-ž\\-\\'\\‘\\-]+$/.test(value)\r\nexport const hasSelectedValue = value => value !== undefined && value !== null\r\n\r\nexport const hasValidMultipleEmails = ({ max, min = 0 }) => (value = '') => {\r\n const valueWithoutSpaces = value.replace(/\\s+/g, '')\r\n\r\n if (min === 0 && valueWithoutSpaces.length === 0) {\r\n return true\r\n }\r\n\r\n const emails = valueWithoutSpaces.split(',')\r\n\r\n if (emails.length < min || emails.length > max) {\r\n return false\r\n }\r\n\r\n for (const email of emails) {\r\n if (email.length < 5 || email.length > 60) {\r\n return false\r\n }\r\n if (!hasValidEmail(email)) {\r\n return false\r\n }\r\n }\r\n\r\n return true\r\n}\r\n\r\nexport const hasMoreMinValue = minValue => value => minValue <= value\r\n\r\nexport const hasLink = value =>\r\n /(?:http(s)?:\\/\\/)[\\w.-]+(?:\\.[\\w\\.-]+)+[\\wА-я\\-\\._~:/?#[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$/g.test(value)\r\n\r\nexport const hasValidPostalCode = (value = '') => {\r\n if (value.length > 5) {\r\n return /^[0-9]{5}-[0-9]{4}$/.test(value)\r\n }\r\n return /^[0-9]{5}$/.test(value)\r\n}\r\n\r\nexport const hasAddressWithoutPOBox = (value = '') => {\r\n return !/\\bP(ost|ostal)?([ \\.]*(O|0)(ffice)?)?([ \\.]*B(ox)?)?\\b/i.test(value)\r\n}\r\n\r\n// utils\r\nexport const createValidation = validators => value => {\r\n const messages = []\r\n validators.forEach(validator => {\r\n if (!validator(value)) {\r\n messages.push(typeof validator.message === 'function' ? validator.message() : validator.message)\r\n }\r\n })\r\n if (messages.length) {\r\n return messages\r\n }\r\n}\r\n\r\nexport const createValidator = (hasValid, message) => {\r\n const validator: any = value => hasValid(value)\r\n validator.message = message\r\n return validator\r\n}\r\n\r\ntype IValidation = (value: any) => string[] | undefined\r\n\r\ninterface IValidationsByName {\r\n [name: string]: IValidation,\r\n}\r\n\r\nexport const createSyncFormValidation = (validationsByName: IValidationsByName) => values => {\r\n const messages = {}\r\n Object.entries(validationsByName).forEach(([name, validation]) => {\r\n messages[name] = validation(values[name])\r\n })\r\n return messages\r\n}\r\n\r\nexport const onBeforeChangePostalCode = ({ value, selection }) => {\r\n if (value.length > 5 && value[value.length - 1] !== '-') {\r\n return {\r\n value,\r\n selection: {\r\n start: value.length,\r\n end: value.length,\r\n },\r\n }\r\n }\r\n if (value[value.length - 1] === '-') {\r\n const newValue = value.substr(0, value.length - 1)\r\n return {\r\n value: newValue,\r\n selection: {\r\n start: newValue.length,\r\n end: newValue.length,\r\n },\r\n }\r\n }\r\n return {\r\n value,\r\n selection,\r\n }\r\n}\r\n\r\n// normalizations\r\nexport const removeSpaces = (value = '') => value.replace(/\\s+/g, '')\r\nexport const onlyDigits = (value = '') => value.replace(/[^0-9]+/, '')\r\nexport const removeDashes = (value = '') => value.replace(/-+/g, '')\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport { Field } from 'redux-form'\r\nimport classNames from 'classnames/bind'\r\nimport { MAX_LENGTHS } from 'constants/forms'\r\nimport { EMPTY_ARRAY } from 'constants/frozenObjects'\r\nimport { Text as TextType, GetTextPath } from 'hocs/localization'\r\nimport { Input, Captcha } from 'apps/FormFields'\r\nimport FormErrorMessage from 'apps/FormErrorMessage'\r\nimport Button from 'elements/Button'\r\nimport {\r\n createValidation,\r\n createValidator,\r\n hasValidEmail,\r\n hasValidPassword,\r\n hasPasswordUppercaseLetters,\r\n hasPasswordLowercaseLetters,\r\n hasPasswordNumbers,\r\n hasPasswordSpecialCharacters,\r\n hasPasswordValidLength,\r\n removeSpaces,\r\n} from 'utils/form'\r\nimport { STEPS } from './constants'\r\nimport * as styles from './SignUpForm.scss'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IProps {\r\n t: TextType,\r\n getTextPath: GetTextPath,\r\n handleSubmit: any,\r\n valid: boolean,\r\n submitting: boolean,\r\n isCaptchaVerified: boolean,\r\n onVerifyCaptcha: (response: string) => void,\r\n captchaRef: (ref: React.ReactElement) => React.Ref\r\n onSubmit: (formValues: any) => void,\r\n captchaFieldName: string,\r\n step: STEPS,\r\n countryResidenceOptions: any[],\r\n onChangeCountry: () => void,\r\n errorMessages: string[],\r\n showConfirmationMessage: boolean,\r\n onSetErrorMessages: (errorMessages: string[]) => void,\r\n isCaptchaEnabled: boolean,\r\n isCaptchaWhiteListed: boolean,\r\n}\r\n\r\nclass SignUpForm extends React.Component {\r\n public emailValidation = createValidation([\r\n createValidator(hasValidEmail, this.props.getTextPath('errors.email')),\r\n ])\r\n\r\n public passwordValidation = createValidation([\r\n createValidator(hasValidPassword, this.props.getTextPath('errors.password')),\r\n createValidator(hasPasswordUppercaseLetters, this.props.getTextPath('errors.password.uppercaseLetter')),\r\n createValidator(hasPasswordLowercaseLetters, this.props.getTextPath('errors.password.lowercaseLetter')),\r\n createValidator(hasPasswordNumbers, this.props.getTextPath('errors.password.number')),\r\n createValidator(hasPasswordSpecialCharacters, this.props.getTextPath('errors.password.specialCharacter')),\r\n createValidator(hasPasswordValidLength, this.props.getTextPath('errors.password.length')),\r\n ])\r\n\r\n private onChange = () => {\r\n this.props.onSetErrorMessages(EMPTY_ARRAY)\r\n }\r\n\r\n public render () {\r\n const {\r\n t,\r\n handleSubmit,\r\n submitting,\r\n onVerifyCaptcha,\r\n captchaRef,\r\n onSubmit,\r\n captchaFieldName,\r\n errorMessages,\r\n showConfirmationMessage,\r\n isCaptchaEnabled,\r\n isCaptchaWhiteListed,\r\n } = this.props\r\n\r\n return (\r\n
\r\n \r\n \r\n {(isCaptchaEnabled && !isCaptchaWhiteListed) && (\r\n
\r\n \r\n
\r\n )}\r\n \r\n {(showConfirmationMessage) && (\r\n
\r\n {t('alerts.signUpSuccesfull.message')}\r\n
\r\n )}\r\n
\r\n \r\n {submitting ? t('submitButtonSubmitting') : t('next')}\r\n \r\n
\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default SignUpForm\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nexport enum VALUE_KEYS {\r\n merchantGuid = 'merchantGuid',\r\n accessToken = 'accessToken',\r\n paymentCreditCard = 'paymentCreditCard',\r\n expMonth = 'expMonth',\r\n expYear = 'expYear',\r\n type = 'type',\r\n CVV = 'CVV',\r\n}\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose, withState, withHandlers, lifecycle } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { reduxForm } from 'redux-form'\r\nimport { analytics } from 'services/Analytics'\r\nimport { ERROR_CODES } from 'constants/errors'\r\nimport { EMPTY_ARRAY } from 'constants/frozenObjects'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport { formWithCaptcha } from 'hocs/formWithCaptcha'\r\nimport { onShowError, createAlert } from 'redux-app/modules/alerts'\r\nimport { ALERTS } from 'constants/alerts'\r\nimport { onSignUp } from 'redux-app/modules/auth'\r\nimport { isCaptchaEnabled , isCaptchaWhiteListed } from 'redux-app/selectors/apiData'\r\nimport { getSelectedPlanId } from 'redux-app/selectors/subscription'\r\nimport { getErrorCodes, getFormErrorMessages } from 'utils/error'\r\nimport { STEPS } from './constants'\r\nimport SignUpForm from './SignUpForm'\r\n\r\nexport default compose(\r\n connect(\r\n state => ({\r\n subscriptionPlanId: getSelectedPlanId(state),\r\n isCaptchaEnabled: isCaptchaEnabled(state),\r\n isCaptchaWhiteListed: isCaptchaWhiteListed(state),\r\n }),\r\n {\r\n onSignUp,\r\n onShowError,\r\n createAlert,\r\n },\r\n ),\r\n withState('step', 'onUpdateStep', STEPS.form),\r\n withState('errorMessages', 'onSetErrorMessages', EMPTY_ARRAY),\r\n withState('showConfirmationMessage', 'onShowConfirmationMessage', false),\r\n withLocalization('auth.signUp.form'),\r\n withHandlers({\r\n onSubmit: ({ onSignUp, onUpdateStep, onShowError, onSetErrorMessages, createAlert,\r\n t, isCaptchaEnabled, isCaptchaWhiteListed, onShowConfirmationMessage }) => formValues => {\r\n onSetErrorMessages(EMPTY_ARRAY)\r\n onShowConfirmationMessage(false)\r\n if (isCaptchaEnabled && !isCaptchaWhiteListed && !formValues.captcha) {\r\n return Promise.resolve()\r\n }\r\n return onSignUp(formValues)\r\n .then(() => {\r\n onUpdateStep(STEPS.success)\r\n createAlert({ name: ALERTS.signUpSuccesfull })\r\n onShowConfirmationMessage(true)\r\n })\r\n .catch(error => {\r\n analytics.showSignUpError({ errorCodes: getErrorCodes(error) })\r\n if (getErrorCodes(error).includes(ERROR_CODES.userAlreadyExist)) {\r\n onSetErrorMessages(getFormErrorMessages(error, t))\r\n return\r\n }\r\n onShowError(error)\r\n })\r\n },\r\n }),\r\n reduxForm({\r\n form: 'signUp',\r\n }),\r\n lifecycle({\r\n componentDidMount () {\r\n analytics.openSignUpPage()\r\n },\r\n }),\r\n formWithCaptcha,\r\n)(SignUpForm)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport SignUpForm from './SignUpFormContainer'\r\n\r\nexport default SignUpForm\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport classNames from 'classnames/bind'\r\nimport { Text } from 'hocs/localization'\r\nimport { REGISTRATION_STEPS } from 'constants/auth'\r\nimport * as styles from './CreateProfileProgress.scss'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IProps {\r\n step: string,\r\n t: Text\r\n}\r\n\r\nconst isActive = (step, item, i) => {\r\n const activeNum = step ? Object.values(REGISTRATION_STEPS).indexOf(step) : 0\r\n return i <= activeNum\r\n}\r\n\r\nconst CreateProfileProgress: React.SFC = ({ step, t }) => (\r\n
\r\n
\r\n
    \r\n {Object.values(REGISTRATION_STEPS).map((item, i) => (\r\n
  • \r\n {i + 1}\r\n {t(item)}\r\n
  • \r\n ))}\r\n
\r\n
\r\n
\r\n)\r\n\r\nexport default CreateProfileProgress\r\n","import { compose } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport { getRegistrationStep } from 'redux-app/selectors/auth'\r\nimport CreateProfileProgress from './CreateProfileProgress'\r\n\r\nexport default compose(\r\n withLocalization('profile.progress'),\r\n connect(\r\n state => ({\r\n step: getRegistrationStep(state),\r\n }),\r\n null,\r\n ),\r\n)(CreateProfileProgress)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport CreateProfileProgress from './CreateProfileProgressContainer'\r\n\r\nexport default CreateProfileProgress\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport { Text } from 'hocs/localization'\r\nimport { toCurrency } from 'utils/price'\r\nimport * as styles from './SelectedPlan.scss'\r\nimport logo from 'assets/images/logo.png'\r\n\r\ninterface IProps {\r\n t: Text,\r\n plan: any,\r\n}\r\n\r\nconst SelectedPlan: React.SFC = ({ plan = {}, t }) => (\r\n
\r\n
\r\n
{plan.name}/
\r\n
\r\n

{plan.name} {t('plan')}
\r\n
{plan.productDescription} {t('printer')}
\r\n
{t('with')} {t('unlimited')}
\r\n
{t('automat')}
\r\n

\r\n
\r\n {t('price', { price: toCurrency(plan.price) })} \r\n {t('taxes')}\r\n
\r\n

\r\n {!!plan.activationFee && (\r\n
\r\n {t('activationFee', { activationFee: toCurrency(plan.activationFee) })}\r\n
\r\n )}\r\n

\r\n
\r\n
{plan.productDescription}/
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n)\r\n\r\nexport default SelectedPlan\r\n","import { compose } from 'recompose'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport SelectedPlan from './SelectedPlan'\r\n\r\nexport default compose(\r\n withLocalization('profile.progress.create'),\r\n)(SelectedPlan)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport SelectedPlan from './SelectedPlanContainer'\r\n\r\nexport default SelectedPlan\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport classNames from 'classnames/bind'\r\nimport { Text } from 'hocs/localization'\r\nimport HomeLayout from 'apps/HomeLayout'\r\nimport SignUpForm from 'apps/Profile/SignUpForm'\r\nimport CreateProfileProgress from 'apps/Profile/CreateProfileProgress'\r\nimport SelectedPlan from 'apps/Profile/SelectedPlan'\r\nimport * as styles from './CreateProfile.scss'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IProps {\r\n name: string,\r\n t: Text,\r\n onCheckBillingBlock: () => void,\r\n plan: { name: string, id: string }\r\n}\r\n\r\nconst CreateProfile: React.SFC = ({ t, plan }) => (\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

{t('selectedPlanTitle')}

\r\n
\r\n
\r\n {plan && }\r\n
\r\n
\r\n

{t('createAccountTitle')}

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n)\r\n\r\nexport default CreateProfile\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose, lifecycle } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { withRouter } from 'react-router-dom'\r\nimport { ROUTES } from 'constants/routes'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport { getSubscriptionPlans, getSelectedPlanId, isSelectedPlanAvailable } from 'redux-app/selectors/subscription'\r\nimport CreateProfile from './CreateProfile'\r\n\r\nexport default compose(\r\n withLocalization('profile.create'),\r\n connect(\r\n state => ({\r\n selectedPlanId: getSelectedPlanId(state),\r\n plan: getSubscriptionPlans(state).find(plan => plan.id === getSelectedPlanId(state)),\r\n isSelectedPlanAvailable: isSelectedPlanAvailable(state),\r\n }),\r\n null,\r\n ),\r\n withRouter,\r\n lifecycle({\r\n componentWillMount () {\r\n if (!this.props.selectedPlanId || !this.props.isSelectedPlanAvailable) {\r\n this.props.history.replace(ROUTES.home.home)\r\n }\r\n },\r\n }),\r\n)(CreateProfile)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport CreateProfile from './CreateProfileContainer'\r\n\r\nexport default CreateProfile\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport classNames from 'classnames/bind'\r\nimport { Text } from 'hocs/localization'\r\nimport Logo from 'assets/images/logo.png'\r\nimport * as styles from './Auth.scss'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IProps {\r\n children?: React.ReactChild,\r\n t: Text,\r\n styleType: string\r\n}\r\n\r\nconst Auth: React.FC = ({ children, t, styleType }) => (\r\n
\r\n
\r\n
\r\n
\r\n {t('logoAlt')}\r\n
\r\n {children}\r\n
\r\n
\r\n
\r\n)\r\n\r\nexport default Auth\r\n","import { compose } from 'recompose'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport Auth from './Auth'\r\n\r\nexport default compose(\r\n withLocalization('auth.login'),\r\n)(Auth)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport Auth from './AuthContainer'\r\n\r\nexport default Auth\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { ADDED_EXPIRATION_YEARS, CARD_TYPES } from 'constants/payment'\r\nimport { getYearsDuration } from 'utils/date'\r\n\r\nexport const getMonthOptions = () => {\r\n const options = []\r\n for (let i = 1; i <= 12; i++) {\r\n options.push({\r\n label: i,\r\n value: i,\r\n })\r\n }\r\n return options\r\n}\r\n\r\nexport const getYearOptions = () => {\r\n const options = []\r\n const [start, end] = getYearsDuration(ADDED_EXPIRATION_YEARS)\r\n for (let i = start; i <= end; i++) {\r\n options.push({\r\n label: i,\r\n value: i.toString().substr(2),\r\n })\r\n }\r\n return options\r\n}\r\n\r\nexport const getCardTypeByNumber = (cardNumber: string): CARD_TYPES | null => {\r\n if (!cardNumber) {\r\n return null\r\n }\r\n\r\n if (cardNumber.startsWith('4')) {\r\n return CARD_TYPES.visa\r\n }\r\n\r\n if (cardNumber.startsWith('30') || cardNumber.startsWith('36') || cardNumber.startsWith('38')) {\r\n return CARD_TYPES.dc\r\n }\r\n\r\n if (cardNumber.startsWith('34') || cardNumber.startsWith('37')) {\r\n return CARD_TYPES.amex\r\n }\r\n\r\n if (\r\n cardNumber.startsWith('60') ||\r\n cardNumber.startsWith('62') ||\r\n cardNumber.startsWith('64') ||\r\n cardNumber.startsWith('65')\r\n ) {\r\n return CARD_TYPES.disc\r\n }\r\n\r\n if (\r\n cardNumber.startsWith('51') ||\r\n cardNumber.startsWith('52') ||\r\n cardNumber.startsWith('53') ||\r\n cardNumber.startsWith('54') ||\r\n cardNumber.startsWith('55')\r\n ) {\r\n return CARD_TYPES.mc\r\n }\r\n\r\n return CARD_TYPES.custom\r\n}\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport _get from 'lodash/get'\r\nimport env from 'env'\r\nimport { getURLSearchParams } from 'redux-app/utils/api'\r\nimport { getCardTypeByNumber } from 'utils/payment'\r\nimport { VALUE_KEYS } from './constants'\r\n\r\ninterface IValues {\r\n [VALUE_KEYS.merchantGuid]: string,\r\n [VALUE_KEYS.accessToken]: string,\r\n [VALUE_KEYS.paymentCreditCard]: string,\r\n [VALUE_KEYS.expMonth]: number,\r\n [VALUE_KEYS.expYear]: number,\r\n [VALUE_KEYS.CVV]: number,\r\n}\r\n\r\ninterface IResult {\r\n code: number,\r\n success: boolean,\r\n}\r\n\r\nclass Paymetric {\r\n private static firstToUp = (str: string): string => str.charAt(0).toUpperCase() + str.substr(1)\r\n\r\n private static prepareRequestData = ({ accessToken, merchantGuid, ...restValues }: IValues) =>\r\n {\r\n var data = $XIPlugin.createJSRequestPacket(merchantGuid, accessToken);\r\n\r\n Object.entries({\r\n ...restValues,\r\n [VALUE_KEYS.type]: getCardTypeByNumber(_get(restValues, VALUE_KEYS.paymentCreditCard)),\r\n }).forEach(([key, value]) => {\r\n var myField = $XIPlugin.createField(Paymetric.firstToUp(key), key === VALUE_KEYS.paymentCreditCard, value);\r\n data.addField(myField);\r\n })\r\n\r\n return data;\r\n }\r\n\r\n private readonly url = `${env.paymetric}/diecomm/Ajax`\r\n private readonly headers = {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/x-www-form-urlencoded',\r\n 'x-requested-with': 'XMLHttpRequest',\r\n }\r\n\r\n public submit = async (data: IValues): Promise => {\r\n\r\n var ccData = Paymetric.prepareRequestData(data)\r\n\r\n return new Promise((resolve, reject) => {\r\n\r\n $XIPlugin.ajax({\r\n url: this.url,\r\n type: \"POST\",\r\n data: ccData,\r\n success: function(result) {\r\n \r\n if (result.UrlsAndPayloadsFor3Ds) {\r\n const url = result.UrlsAndPayloadsFor3Ds.CentinelAcsUrl\r\n const formData = getURLSearchParams({\r\n PaReq: result.UrlsAndPayloadsFor3Ds.CentinelPayload,\r\n TermUrl: result.UrlsAndPayloadsFor3Ds.CentinelTermUrl,\r\n MD: result.UrlsAndPayloadsFor3Ds.PaymetricPayload,\r\n })\r\n \r\n return fetch(url, {\r\n method: 'POST',\r\n headers: this.headers,\r\n body: formData,\r\n })\r\n }\r\n else {\r\n resolve({\r\n code: result.Code,\r\n success: result.HasPassed,\r\n });\r\n }\r\n },\r\n error: function(err) {\r\n reject({\r\n code: err.Code,\r\n success: err.HasPassed,\r\n });\r\n },\r\n })\r\n });\r\n }\r\n}\r\n\r\nexport default Paymetric\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport Paymetric from './Paymetric'\r\n\r\nexport const paymetric = new Paymetric()\r\n","import env from 'env'\r\n\r\nexport const getPaymetricAccessToken = (captcha: any, meta?: any) => ({\r\n type: 'api/paymetric/GET_PAYMETRIC_ACCESS_TOKEN',\r\n payload: {\r\n apiAction: {\r\n hostname: env.api,\r\n url: '/api/payments/access-token?googleRecaptchaResponse=' + captcha,\r\n method: 'GET',\r\n },\r\n },\r\n meta,\r\n})\r\ngetPaymetricAccessToken.toString = () => 'api/paymetric/GET_PAYMETRIC_ACCESS_TOKEN'\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { paymetric } from 'services/Paymetric'\r\nimport { ALERTS } from 'constants/alerts'\r\nimport { createAlert, onShowError } from 'redux-app/modules/alerts'\r\nimport { updatePaymentDetails, verifyCurrentCard } from 'api/client/actions/card'\r\nimport { getPaymetricAccessToken } from 'api/client/actions/paymetric'\r\nimport { resendConfirmEmail, getShippingHistory, getPaymentHistory } from 'api/client/actions/user'\r\n\r\nexport const onRequestToPaymetric = (formValues, captcha) => dispatch => {\r\n return dispatch(getPaymetricAccessToken(captcha)).then(async ({ value: { result } }) => {\r\n const { accessToken, merchantId } = result\r\n const { paymentCreditCard, expMonth, expYear, CVV } = formValues\r\n const paymetricResponse = await paymetric.submit({\r\n accessToken,\r\n merchantGuid: merchantId,\r\n paymentCreditCard,\r\n expMonth,\r\n expYear,\r\n CVV,\r\n })\r\n\r\n if (paymetricResponse.success) {\r\n return Promise.resolve(result)\r\n }\r\n\r\n dispatch(createAlert({\r\n name: ALERTS.paymetricError,\r\n }))\r\n\r\n return Promise.reject()\r\n })\r\n}\r\n\r\nexport const onUpdatePaymentDetails = data => dispatch => {\r\n return dispatch(updatePaymentDetails(data))\r\n}\r\n\r\nexport const onVerifyCurrentCard = data => dispatch => {\r\n return dispatch(verifyCurrentCard())\r\n}\r\n\r\nexport const onResendConfirmEmail = () => dispatch => {\r\n return dispatch(resendConfirmEmail())\r\n .then(() => {\r\n dispatch(createAlert({\r\n name: ALERTS.successResendConfirmEmail,\r\n }))\r\n })\r\n .catch(error => {\r\n dispatch(onShowError(error))\r\n })\r\n}\r\n\r\nexport const onGetShippingHistory = () => dispatch => {\r\n return dispatch(getShippingHistory())\r\n .catch((error: any) => {\r\n dispatch(onShowError(error, {}))\r\n throw error\r\n })\r\n}\r\n\r\nexport const onGetPaymentHistory = () => dispatch => {\r\n return dispatch(getPaymentHistory())\r\n .catch((error: any) => {\r\n dispatch(onShowError(error, {}))\r\n throw error\r\n })\r\n}\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport { RouteComponentProps, Link } from 'react-router-dom'\r\nimport classNames from 'classnames/bind'\r\nimport { selectPlanScroller } from 'services/PageScroller'\r\nimport { ROUTES } from 'constants/routes'\r\nimport { Text as TextType } from 'hocs/localization'\r\nimport Button from 'elements/Button'\r\nimport * as styles from './LoginMeta.scss'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IProps extends RouteComponentProps {\r\n t: TextType,\r\n setScrollElementId: (elementId: string | null) => void,\r\n}\r\n\r\nclass LoginMeta extends React.Component {\r\n\r\n private goToHomePlans = event => {\r\n event.preventDefault()\r\n const { history, setScrollElementId } = this.props\r\n\r\n history.push(ROUTES.home.home)\r\n setScrollElementId(selectPlanScroller.getElementId())\r\n }\r\n\r\n public render () {\r\n const { t } = this.props\r\n\r\n return (\r\n \r\n
\r\n {t('signUpQuestion')} \r\n this.goToHomePlans(event)}\r\n >\r\n {t('signUp')}\r\n \r\n
\r\n
\r\n {t('forgotPasswordLink')}\r\n
\r\n \r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default LoginMeta\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { withRouter } from 'react-router-dom'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport { setScrollElementId } from 'redux-app/modules/pageScroller'\r\nimport LoginMeta from './LoginMeta'\r\n\r\nexport default compose(\r\n connect(\r\n null,\r\n {\r\n setScrollElementId,\r\n },\r\n ),\r\n withRouter,\r\n withLocalization('auth.login.form.meta'),\r\n)(LoginMeta)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport LoginMeta from './LoginMetaContainer'\r\n\r\nexport default LoginMeta\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport { Field } from 'redux-form'\r\nimport classNames from 'classnames/bind'\r\nimport { MAX_LENGTHS } from 'constants/forms'\r\nimport { Text as TextType, GetTextPath } from 'hocs/localization'\r\nimport { Input, Captcha } from 'apps/FormFields'\r\nimport Button from 'elements/Button'\r\nimport {\r\n createValidation,\r\n createValidator,\r\n hasValidEmail,\r\n hasRequired,\r\n removeSpaces,\r\n} from 'utils/form'\r\nimport * as styles from './LoginForm.scss'\r\nimport LoginMeta from './apps/LoginMeta'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IProps {\r\n t: TextType,\r\n getTextPath: GetTextPath,\r\n handleSubmit: any,\r\n valid: boolean,\r\n submitting: boolean,\r\n isResendingEmail: boolean,\r\n onResend: () => void,\r\n isCaptchaVerified: boolean,\r\n onVerifyCaptcha: (response: string) => void,\r\n captchaRef: (ref: React.ReactElement) => React.Ref\r\n onSubmit: (formValues: any) => void,\r\n captchaFieldName: string,\r\n isCaptchaEnabled: boolean,\r\n isCaptchaWhiteListed: boolean,\r\n isShowEmailConfirmationLink: boolean,\r\n setScrollElementId: (elementId: string | null) => void,\r\n}\r\n\r\nclass LoginForm extends React.Component {\r\n private requiredFieldValidation = createValidation([\r\n createValidator(hasRequired, this.props.getTextPath('errors.textField')),\r\n ])\r\n\r\n public emailValidation = createValidation([\r\n createValidator(hasValidEmail, this.props.getTextPath('errors.email')),\r\n ])\r\n\r\n public render () {\r\n const {\r\n t,\r\n handleSubmit,\r\n submitting,\r\n onVerifyCaptcha,\r\n captchaRef,\r\n onSubmit,\r\n onResend,\r\n captchaFieldName,\r\n isCaptchaEnabled,\r\n isCaptchaWhiteListed,\r\n isShowEmailConfirmationLink,\r\n isResendingEmail\r\n } = this.props\r\n\r\n return (\r\n
\r\n
\r\n

{t('header')}

\r\n
\r\n
\r\n \r\n \r\n {(isShowEmailConfirmationLink) && (\r\n
\r\n
\r\n {t('profile.view.notifications.notConfirmedEmail')}\r\n
\r\n
\r\n \r\n {t('profile.view.notifications.resendEmailLink')}\r\n \r\n
\r\n
\r\n )\r\n }\r\n {(isCaptchaEnabled && !isCaptchaWhiteListed) && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n
\r\n \r\n {submitting ? t('submitButtonSubmitting') : t('submitButton')}\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default LoginForm\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose, withHandlers, lifecycle, withState } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { reduxForm } from 'redux-form'\r\nimport { ERROR_CODES } from 'constants/errors'\r\nimport { ROUTES } from 'constants/routes'\r\nimport { analytics } from 'services/Analytics'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport { formWithCaptcha } from 'hocs/formWithCaptcha'\r\nimport { onLogin } from 'redux-app/modules/auth'\r\nimport { getUserDetails } from 'api/client/actions/user'\r\nimport { onResendConfirmEmail } from 'redux-app/actionCreators/users'\r\nimport { onShowError } from 'redux-app/modules/alerts'\r\nimport { isCaptchaEnabled, isCaptchaWhiteListed } from 'redux-app/selectors/apiData'\r\nimport { getErrorCodes } from 'utils/error'\r\nimport { history } from 'utils/location'\r\nimport LoginForm from './LoginForm'\r\n\r\nexport default compose(\r\n connect(\r\n (state, props) => {\r\n return {\r\n isCaptchaEnabled: isCaptchaEnabled(state),\r\n isCaptchaWhiteListed: isCaptchaWhiteListed(state),\r\n }\r\n },\r\n {\r\n onLogin,\r\n getUserDetails,\r\n onResendConfirmEmail,\r\n onShowError\r\n },\r\n ),\r\n withState('isShowEmailConfirmationLink', 'onShowResendEmailConfirmationLink', false),\r\n withState('isResendingEmail', 'setResendingStatus', false),\r\n withLocalization('auth.login.form'),\r\n withHandlers({\r\n onSubmit: ({ onLogin, isCaptchaEnabled, isCaptchaWhiteListed,\r\n onShowResendEmailConfirmationLink, getUserDetails, onShowError }) => formValues => {\r\n\r\n if (isCaptchaEnabled && !isCaptchaWhiteListed && !formValues.captcha) {\r\n return Promise.resolve()\r\n }\r\n onShowResendEmailConfirmationLink(false)\r\n return onLogin(formValues)\r\n .then(() => {\r\n getUserDetails()\r\n .then(({ value: { result } }) => {\r\n if (!result.emailConfirmed)\r\n {\r\n onShowResendEmailConfirmationLink(true)\r\n }\r\n })\r\n })\r\n .catch((error: any) => {\r\n if (getErrorCodes(error).includes(ERROR_CODES.userEmailNotConfirmed))\r\n {\r\n onShowResendEmailConfirmationLink(true)\r\n return\r\n }\r\n if (getErrorCodes(error).includes(ERROR_CODES.passwordExpired)) {\r\n history.push(ROUTES.auth.passwordExpired)\r\n return\r\n }\r\n if (getErrorCodes(error).includes(ERROR_CODES.userAccountLocked)) {\r\n history.push(ROUTES.auth.loginMaxAttempted)\r\n return\r\n }\r\n onShowError(error, formValues)\r\n analytics.showLoginError({ errorCodes: getErrorCodes(error) })\r\n })\r\n },\r\n onResend: ({ onResendConfirmEmail, setResendingStatus, onShowResendEmailConfirmationLink }) => event => {\r\n event.preventDefault()\r\n setResendingStatus(true)\r\n onResendConfirmEmail()\r\n .then(() => {\r\n setResendingStatus(false)\r\n onShowResendEmailConfirmationLink(false)\r\n })\r\n .catch(() => {\r\n setResendingStatus(false)\r\n })\r\n },\r\n }),\r\n reduxForm({\r\n form: 'login',\r\n }),\r\n lifecycle({\r\n componentDidMount () {\r\n analytics.openLoginPage()\r\n },\r\n }),\r\n formWithCaptcha,\r\n)(LoginForm)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport LoginForm from './LoginFormContainer'\r\n\r\nexport default LoginForm\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport { withLocalization, Text } from 'hocs/localization'\r\nimport HomeLayout from 'apps/HomeLayout'\r\nimport AuthPage from 'apps/AuthPage'\r\nimport LoginForm from 'apps/Profile/LoginForm'\r\n\r\ninterface IProps {\r\n t: Text,\r\n}\r\n\r\nconst Login: React.SFC = ({ t }) => (\r\n \r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default withLocalization('auth.login')(Login)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport Login from './Login'\r\n\r\nexport default Login\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport classNames from 'classnames/bind'\r\nimport { ROUTES } from 'constants/routes'\r\nimport { Text } from 'hocs/localization'\r\nimport Button from 'elements/Button'\r\nimport * as styles from './SuccessForgotPassEmailSending.scss'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IProps {\r\n t: Text,\r\n}\r\n\r\nconst SuccessForgotPassEmailSending: React.SFC = ({ t }) => (\r\n
\r\n
\r\n
\r\n
\r\n

{t('checkEmailTitle')}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{t('checkEmailText')}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n)\r\n\r\nexport default SuccessForgotPassEmailSending\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose } from 'recompose'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport SuccessForgotPassEmailSending from './SuccessForgotPassEmailSending'\r\n\r\nexport default compose(\r\n withLocalization('home.forgot.success'),\r\n)(SuccessForgotPassEmailSending)\r\n","import SuccessForgotPassEmailSending from './SuccessForgotPassEmailSendingContainer'\r\n\r\nexport default SuccessForgotPassEmailSending\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport { Field } from 'redux-form'\r\nimport { Link } from 'react-router-dom'\r\nimport classNames from 'classnames/bind'\r\nimport { ROUTES } from 'constants/routes'\r\nimport { MAX_LENGTHS } from 'constants/forms'\r\nimport { Text as TextType, GetTextPath } from 'hocs/localization'\r\nimport AuthPage from 'apps/AuthPage'\r\nimport { Input, Captcha } from 'apps/FormFields'\r\nimport Button from 'elements/Button'\r\nimport {\r\n createValidation,\r\n createValidator,\r\n hasValidEmail,\r\n removeSpaces,\r\n} from 'utils/form'\r\nimport SuccessForgotPassEmailSending from './apps/SuccessForgotPassEmailSending'\r\nimport * as styles from './ForgotPasswordForm.scss'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IProps {\r\n t: TextType,\r\n getTextPath: GetTextPath,\r\n handleSubmit: any,\r\n valid: boolean,\r\n submitting: boolean,\r\n isSent: boolean,\r\n captchaRef: (ref: React.ReactElement) => React.Ref,\r\n captchaFieldName: string,\r\n onVerifyCaptcha: (response: string) => void,\r\n isCaptchaEnabled: boolean,\r\n isCaptchaWhiteListed: boolean,\r\n isCaptchaVerified: boolean,\r\n}\r\n\r\nclass ForgotPasswordForm extends React.Component {\r\n public emailValidation = createValidation([\r\n createValidator(hasValidEmail, this.props.getTextPath('errors.email')),\r\n ])\r\n\r\n public render () {\r\n const {\r\n t,\r\n captchaRef,\r\n captchaFieldName,\r\n handleSubmit,\r\n onVerifyCaptcha,\r\n valid,\r\n submitting,\r\n isSent,\r\n isCaptchaEnabled,\r\n isCaptchaWhiteListed,\r\n isCaptchaVerified,\r\n } = this.props\r\n\r\n return (\r\n \r\n {isSent ? : (\r\n
\r\n \r\n {(isCaptchaEnabled && !isCaptchaWhiteListed) && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n \r\n {submitting ? t('submitButtonSubmitting') : t('submitButton')}\r\n \r\n
\r\n
\r\n {t('backToLogin')}\r\n
\r\n \r\n )}\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default ForgotPasswordForm\r\n","export enum LINK_STATUSES {\r\n expired,\r\n used,\r\n notActual,\r\n error,\r\n}\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose, withHandlers, withState } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { reduxForm } from 'redux-form'\r\nimport { analytics } from 'services/Analytics'\r\nimport { USER_FORMS } from 'constants/forms'\r\nimport { formWithCaptcha } from 'hocs/formWithCaptcha'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport { onForgotPassword } from 'redux-app/modules/auth'\r\nimport { onShowError } from 'redux-app/modules/alerts'\r\nimport { isCaptchaEnabled, isCaptchaWhiteListed } from 'redux-app/selectors/apiData'\r\nimport { getErrorCodes } from 'utils/error'\r\nimport ForgotPasswordForm from './ForgotPasswordForm'\r\n\r\nexport default compose(\r\n connect(\r\n state => ({\r\n isCaptchaEnabled: isCaptchaEnabled(state),\r\n isCaptchaWhiteListed: isCaptchaWhiteListed(state),\r\n }),\r\n {\r\n onForgotPassword,\r\n onShowError,\r\n },\r\n ),\r\n withState('isSent', 'onUpdateSend', false),\r\n withHandlers({\r\n onSubmit: ({ onForgotPassword, onUpdateSend, onShowError }) => formValues => {\r\n return onForgotPassword(formValues)\r\n .then(() => {\r\n onUpdateSend(true)\r\n analytics.forgotPassword()\r\n })\r\n .catch((error: any) => {\r\n analytics.showForgotPasswordError({ errorCodes: getErrorCodes(error) })\r\n onShowError(error, formValues)\r\n onUpdateSend(false)\r\n })\r\n },\r\n }),\r\n reduxForm({\r\n form: USER_FORMS.forgotPasswordForm,\r\n }),\r\n withLocalization('home.forgot'),\r\n formWithCaptcha,\r\n)(ForgotPasswordForm)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport ForgotPasswordForm from './ForgotPasswordFormContainer'\r\n\r\nexport default ForgotPasswordForm\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport HomeLayout from 'apps/HomeLayout'\r\nimport ForgotPasswordForm from './apps/ForgotPasswordForm'\r\n\r\nconst ForgotPassword: React.SFC<{}> = () => (\r\n \r\n \r\n \r\n)\r\n\r\nexport default ForgotPassword\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport ForgotPassword from './ForgotPassword'\r\n\r\nexport default ForgotPassword\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport { Link } from 'react-router-dom'\r\nimport { withLocalization, Text as TextType } from 'hocs/localization'\r\nimport * as styles from '../../ConfirmEmail.scss'\r\n\r\ninterface IProps {\r\n t: TextType,\r\n onResendConfirmEmail: () => void,\r\n}\r\n\r\nconst ConfirmEmail: React.FC = ({\r\n t,\r\n onResendConfirmEmail,\r\n}) => {\r\n const link = (\r\n \r\n {t('expired.linkToNew')}\r\n \r\n )\r\n return (\r\n \r\n
\r\n

{t('expired.header')}

\r\n
\r\n
\r\n {t('expired.messageStart')} {link} {t('expired.messageEnd')}\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default withLocalization('auth.confirmEmail')(ConfirmEmail)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose, lifecycle, withHandlers } from 'recompose'\r\nimport { withRouter } from 'react-router-dom'\r\nimport { connect } from 'react-redux'\r\nimport { analytics } from 'services/Analytics'\r\nimport { ROUTES } from 'constants/routes'\r\nimport { ERROR_CODES } from 'constants/errors'\r\nimport { ALERTS } from 'constants/alerts'\r\nimport { loading } from 'hocs/loading'\r\nimport { confirmEmail, resendEmail } from 'api/client/actions/auth'\r\nimport { getUserDetails } from 'api/client/actions/user'\r\nimport { createAlert, onShowError } from 'redux-app/modules/alerts'\r\nimport { selectPlan } from 'redux-app/modules/subscriptions'\r\nimport { isUserAuthorizated } from 'redux-app/selectors/auth'\r\nimport { getErrorCodes } from 'utils/error'\r\nimport { getQueryFromSearch } from 'utils/location'\r\nimport ConfirmEmailExpired from './ConfirmEmail'\r\n\r\nexport default compose(\r\n connect(\r\n state => ({\r\n isUserAuthorizated: isUserAuthorizated(state),\r\n }),\r\n {\r\n confirmEmail,\r\n createAlert,\r\n resendEmail,\r\n onShowError,\r\n getUserDetails,\r\n selectPlan,\r\n },\r\n ),\r\n withRouter,\r\n lifecycle({\r\n componentDidMount () {\r\n const {\r\n history: { replace },\r\n location: { search },\r\n confirmEmail,\r\n isUserAuthorizated,\r\n createAlert,\r\n getUserDetails,\r\n selectPlan,\r\n } = this.props\r\n const { token, subscriptionplanid: subscriptionPlanId } = getQueryFromSearch(search)\r\n\r\n if (!token) {\r\n replace(ROUTES.home.logIn)\r\n return\r\n }\r\n\r\n confirmEmail({\r\n token: decodeURIComponent(token),\r\n })\r\n .then(() => {\r\n analytics.openSuccessConfirmEmailPage()\r\n if (isUserAuthorizated) {\r\n getUserDetails()\r\n .then(() => {\r\n createAlert({ name: ALERTS.successEmailConfirmed })\r\n replace(ROUTES.profile.view)\r\n })\r\n } else {\r\n createAlert({ name: ALERTS.successEmailConfirmed })\r\n replace(ROUTES.home.logIn)\r\n }\r\n return\r\n })\r\n .catch(error => {\r\n const errorCodes = getErrorCodes(error)\r\n analytics.showConfirmEmailError({ errorCodes: getErrorCodes(error) })\r\n if (errorCodes.includes(ERROR_CODES.linkExpired)) {\r\n this.setState({\r\n loadProgress: 100,\r\n })\r\n return\r\n }\r\n if (errorCodes.includes(ERROR_CODES.userAlreadyActivated)) {\r\n replace(ROUTES.home.confirmEmail.alreadyActivated)\r\n return\r\n }\r\n if (errorCodes.includes(ERROR_CODES.subscriptionPlanHasNoAvailableDevice)) {\r\n selectPlan(subscriptionPlanId)\r\n if (isUserAuthorizated) {\r\n replace(ROUTES.profile.changePlan.noAvailablePrinter)\r\n } else {\r\n replace(ROUTES.home.leaveEmail)\r\n }\r\n return\r\n }\r\n this.setState({\r\n loadProgress: 100,\r\n })\r\n })\r\n },\r\n }),\r\n withHandlers({\r\n onResendConfirmEmail: ({\r\n location: { search },\r\n resendEmail,\r\n history: { replace },\r\n onShowError,\r\n createAlert,\r\n }) => event => {\r\n event.preventDefault()\r\n const { token } = getQueryFromSearch(search)\r\n\r\n resendEmail({ token })\r\n .then(() => {\r\n createAlert({ name: ALERTS.successResendConfirmEmail })\r\n })\r\n .catch(error => {\r\n analytics.showConfirmEmailError({ errorCodes: getErrorCodes(error) })\r\n const errorCodes = getErrorCodes(error)\r\n if (errorCodes.includes(ERROR_CODES.userAlreadyActivated)) {\r\n replace(ROUTES.home.confirmEmail.alreadyActivated)\r\n return\r\n }\r\n onShowError(error)\r\n })\r\n },\r\n }),\r\n loading,\r\n)(ConfirmEmailExpired)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport ConfirmEmail from './ConfirmEmailContainer'\r\n\r\nexport default ConfirmEmail\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport { withLocalization, Text as TextType } from 'hocs/localization'\r\nimport * as styles from '../../ConfirmEmail.scss'\r\n\r\ninterface IProps {\r\n t: TextType,\r\n}\r\n\r\nconst ConfirmEmailUserAlreadyActivated: React.FC = ({ t }) => {\r\n return (\r\n \r\n
\r\n

{t('alreadyActivated.header')}

\r\n
\r\n
\r\n {t('alreadyActivated.message')}\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default withLocalization('auth.confirmEmail')(ConfirmEmailUserAlreadyActivated)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport ConfirmEmailUserAlreadyActivated from './ConfirmEmailUserAlreadyActivated'\r\n\r\nexport default ConfirmEmailUserAlreadyActivated\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport { Switch, Route } from 'react-router-dom'\r\nimport { ROUTES } from 'constants/routes'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport HomeLayout from 'apps/HomeLayout'\r\nimport AuthPage from 'apps/AuthPage'\r\nimport ConfirmEmailPage from './routes/ConfirmEmail'\r\nimport ConfirmEmailUserAlreadyActivated from './routes/ConfirmEmailUserAlreadyActivated'\r\n\r\nconst ConfirmEmail: React.SFC<{}> = () => (\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n)\r\n\r\nexport default withLocalization('auth.confirmEmail')(ConfirmEmail)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport ConfirmEmail from './ConfirmEmail'\r\n\r\nexport default ConfirmEmail\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nexport enum STEPS {\r\n valid,\r\n expired,\r\n}\r\n","export enum STEPS {\r\n valid,\r\n expired,\r\n used,\r\n}\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport { Text as TextType } from 'hocs/localization'\r\nimport { LINK_STATUSES } from './contants'\r\nimport * as styles from './ConfirmChangeEmail.scss'\r\n\r\ninterface IProps {\r\n t: TextType,\r\n onResendConfirmEmail: () => void,\r\n status: LINK_STATUSES,\r\n}\r\n\r\nconst ConfirmChangeEmail: React.FC = ({\r\n t,\r\n status,\r\n}) => {\r\n if (status === LINK_STATUSES.expired) {\r\n return (\r\n \r\n
\r\n

{t('header')}

\r\n
\r\n
\r\n {t('expired')}\r\n
\r\n
\r\n )\r\n }\r\n if (status === LINK_STATUSES.notActual) {\r\n return (\r\n \r\n
\r\n

{t('header')}

\r\n
\r\n
\r\n {t('notActual')}\r\n
\r\n
\r\n )\r\n }\r\n if (status === LINK_STATUSES.used) {\r\n return (\r\n \r\n
\r\n

{t('header')}

\r\n
\r\n
\r\n {t('used')}\r\n
\r\n
\r\n )\r\n }\r\n\r\n return (\r\n \r\n
\r\n

{t('header')}

\r\n
\r\n
\r\n {t('error')}\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default ConfirmChangeEmail\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose, lifecycle } from 'recompose'\r\nimport { withRouter } from 'react-router-dom'\r\nimport { connect } from 'react-redux'\r\nimport { ROUTES } from 'constants/routes'\r\nimport { ERROR_CODES } from 'constants/errors'\r\nimport { ALERTS } from 'constants/alerts'\r\nimport { loading } from 'hocs/loading'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport { confirmChangeEmail } from 'api/client/actions/auth'\r\nimport { onStartLogoutWithRedirect } from 'redux-app/actionCreators/auth'\r\nimport { createAlert, onShowError } from 'redux-app/modules/alerts'\r\nimport { isUserAuthorizated } from 'redux-app/selectors/auth'\r\nimport { getErrorCodes } from 'utils/error'\r\nimport { getQueryFromSearch } from 'utils/location'\r\nimport { LINK_STATUSES } from './contants'\r\nimport ConfirmChangeEmail from './ConfirmChangeEmail'\r\n\r\nexport default compose(\r\n connect(\r\n state => ({\r\n isUserAuthorizated: isUserAuthorizated(state),\r\n }),\r\n {\r\n confirmChangeEmail,\r\n createAlert,\r\n onShowError,\r\n onStartLogoutWithRedirect,\r\n },\r\n ),\r\n withRouter,\r\n lifecycle({\r\n componentDidMount () {\r\n const {\r\n history: { replace },\r\n location: { search },\r\n confirmChangeEmail,\r\n isUserAuthorizated,\r\n createAlert,\r\n onStartLogoutWithRedirect,\r\n } = this.props\r\n const { token } = getQueryFromSearch(search)\r\n\r\n if (!token) {\r\n replace(ROUTES.home.logIn)\r\n return\r\n }\r\n\r\n confirmChangeEmail({\r\n token: decodeURIComponent(token),\r\n })\r\n .then(() => {\r\n createAlert({ name: ALERTS.successChangeEmailConfirmed })\r\n if (isUserAuthorizated) {\r\n onStartLogoutWithRedirect()\r\n } else {\r\n replace(ROUTES.home.logIn)\r\n }\r\n })\r\n .catch(error => {\r\n const errorCodes = getErrorCodes(error)\r\n if (errorCodes.includes(ERROR_CODES.linkExpired)) {\r\n this.setState({\r\n status: LINK_STATUSES.expired,\r\n loadProgress: 100,\r\n })\r\n return\r\n }\r\n if (errorCodes.includes(ERROR_CODES.linkUsed)) {\r\n this.setState({\r\n status: LINK_STATUSES.notActual,\r\n loadProgress: 100,\r\n })\r\n return\r\n }\r\n if (errorCodes.includes(ERROR_CODES.changeEmailLinkAlreadyUsed)) {\r\n this.setState({\r\n status: LINK_STATUSES.used,\r\n loadProgress: 100,\r\n })\r\n return\r\n }\r\n this.setState({\r\n loadProgress: 100,\r\n status: LINK_STATUSES.error,\r\n })\r\n })\r\n },\r\n }),\r\n loading,\r\n withLocalization('confirmChangeEmail'),\r\n)(ConfirmChangeEmail)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport ConfirmChangeEmail from './ConfirmChangeEmailContainer'\r\n\r\nexport default ConfirmChangeEmail\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport { Switch, Route } from 'react-router-dom'\r\nimport { ROUTES } from 'constants/routes'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport HomeLayout from 'apps/HomeLayout'\r\nimport AuthPage from 'apps/AuthPage'\r\nimport ConfirmChangeEmailPage from './routes/ConfirmChangeEmail'\r\n\r\nconst ConfirmChangeEmail: React.FC<{}> = () => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default withLocalization('auth.confirmChangeEmail')(ConfirmChangeEmail)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport ConfirmChangeEmail from './ConfirmChangeEmail'\r\n\r\nexport default ConfirmChangeEmail\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport { Field } from 'redux-form'\r\nimport { RouteComponentProps } from 'react-router-dom'\r\nimport classNames from 'classnames/bind'\r\nimport { MAX_LENGTHS } from 'constants/forms'\r\nimport { Text as TextType, GetTextPath } from 'hocs/localization'\r\nimport { Input, Captcha } from 'apps/FormFields'\r\nimport Button from 'elements/Button'\r\nimport {\r\n createValidation,\r\n createValidator,\r\n hasValidPassword,\r\n hasPasswordUppercaseLetters,\r\n hasPasswordLowercaseLetters,\r\n hasPasswordSpecialCharacters,\r\n hasPasswordNumbers,\r\n hasPasswordValidLength,\r\n removeSpaces,\r\n} from 'utils/form'\r\nimport { STEPS } from './constants'\r\nimport * as styles from './ChangePasswordForm.scss'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IProps extends RouteComponentProps {\r\n t: TextType,\r\n getTextPath: GetTextPath,\r\n handleSubmit: any,\r\n step: any,\r\n isSent: boolean,\r\n valid: boolean,\r\n submitting: boolean,\r\n isLinkExpired: boolean,\r\n isCaptchaEnabled: boolean,\r\n isCaptchaWhiteListed: boolean,\r\n onResendForgotPassword: () => Promise,\r\n}\r\n\r\ninterface IState {\r\n isCaptchaVerified: boolean,\r\n}\r\n\r\nclass ChangePasswordForm extends React.Component {\r\n public state = {\r\n isCaptchaVerified: false,\r\n }\r\n\r\n public passwordValidation = createValidation([\r\n createValidator(hasValidPassword, this.props.getTextPath('errors.password')),\r\n createValidator(hasPasswordUppercaseLetters, this.props.getTextPath('errors.password.uppercaseLetter')),\r\n createValidator(hasPasswordLowercaseLetters, this.props.getTextPath('errors.password.lowercaseLetter')),\r\n createValidator(hasPasswordNumbers, this.props.getTextPath('errors.password.number')),\r\n createValidator(hasPasswordSpecialCharacters, this.props.getTextPath('errors.password.specialCharacter')),\r\n createValidator(hasPasswordValidLength, this.props.getTextPath('errors.password.length')),\r\n ])\r\n\r\n private onVerifyCaptcha = response => {\r\n this.setState({\r\n isCaptchaVerified: !!response,\r\n })\r\n }\r\n\r\n public render () {\r\n const {\r\n t,\r\n handleSubmit,\r\n valid,\r\n submitting,\r\n isCaptchaEnabled,\r\n isCaptchaWhiteListed,\r\n step,\r\n isSent,\r\n onResendForgotPassword,\r\n } = this.props\r\n const {\r\n isCaptchaVerified,\r\n } = this.state\r\n if (isSent) {\r\n return (\r\n
\r\n {t('linkExpired.resendEmail')}\r\n
\r\n )\r\n }\r\n if (step === null) {\r\n return(\r\n
\r\n
\r\n

{t('form.header')}

\r\n
\r\n
\r\n \r\n \r\n {isCaptchaEnabled && !isCaptchaWhiteListed && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n \r\n
\r\n \r\n
\r\n )\r\n }\r\n if (step === STEPS.used) {\r\n return (\r\n
\r\n {t('linkUsed')}\r\n
\r\n )\r\n }\r\n if (step === STEPS.expired) {\r\n const link = ({t('linkExpired.linkToNew')})\r\n return (\r\n
\r\n {t('linkExpired.messageStart')} {link} {t('linkExpired.messageEnd')}\r\n
\r\n )\r\n }\r\n }\r\n}\r\n\r\nexport default ChangePasswordForm\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose, withHandlers, withState } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { reduxForm } from 'redux-form'\r\nimport { withRouter } from 'react-router-dom'\r\nimport { ROUTES } from 'constants/routes'\r\nimport { ERROR_CODES } from 'constants/errors'\r\nimport { ALERTS } from 'constants/alerts'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport { onResetPassword } from 'redux-app/modules/auth'\r\nimport { onShowError, createAlert } from 'redux-app/modules/alerts'\r\nimport { resendForgotPassword } from 'api/client/actions/auth'\r\nimport { isCaptchaEnabled, isCaptchaWhiteListed } from 'redux-app/selectors/apiData'\r\nimport { getErrorCodes } from 'utils/error'\r\nimport { getQueryFromSearch } from 'utils/location'\r\nimport { STEPS } from './constants'\r\nimport ChangePasswordForm from './ChangePasswordForm'\r\n\r\ninterface IValues {\r\n questionAnswer: string,\r\n password: string,\r\n confirmPassword: string,\r\n}\r\n\r\nexport default compose(\r\n connect(\r\n state => ({\r\n isCaptchaEnabled: isCaptchaEnabled(state),\r\n isCaptchaWhiteListed: isCaptchaWhiteListed(state),\r\n }),\r\n {\r\n onResetPassword,\r\n onShowError,\r\n resendForgotPassword,\r\n createAlert,\r\n },\r\n ),\r\n withLocalization('auth.changePassword'),\r\n withRouter,\r\n withState('step', 'setStep', null),\r\n withState('isSent', 'onUpdateSend', false),\r\n withHandlers({\r\n onSubmit: ({\r\n onResetPassword,\r\n setStep,\r\n onShowError,\r\n createAlert,\r\n location: { search },\r\n history: { replace },\r\n }) => formValues => {\r\n const { token } = getQueryFromSearch(search)\r\n const { password } = formValues\r\n\r\n const requestData: any = {\r\n token,\r\n password,\r\n }\r\n\r\n return onResetPassword(requestData).then(() => {\r\n createAlert({ name: ALERTS.successChangePassword })\r\n replace(ROUTES.home.logIn)\r\n }).catch((error: any) => {\r\n if (error.status === 400 && getErrorCodes(error).includes(ERROR_CODES.linkExpired)) {\r\n return setStep(STEPS.expired)\r\n }\r\n if (error.status === 400 && getErrorCodes(error).includes(ERROR_CODES.linkUsed)) {\r\n return setStep(STEPS.used)\r\n }\r\n if (error.status === 400 && getErrorCodes(error).includes(ERROR_CODES.passwordUsedBefore)) {\r\n createAlert({ name: ALERTS.passwordUsedBefore })\r\n return\r\n }\r\n onShowError(error, requestData)\r\n })\r\n },\r\n onResendForgotPassword: ({\r\n resendForgotPassword,\r\n onShowError,\r\n location: { search },\r\n onUpdateSend,\r\n }) => () => {\r\n const { token } = getQueryFromSearch(search)\r\n\r\n return resendForgotPassword(token)\r\n .then(() => {\r\n onUpdateSend(true)\r\n })\r\n .catch(error => {\r\n onShowError(error)\r\n })\r\n },\r\n }),\r\n reduxForm({\r\n form: 'resetPassword',\r\n validate: (values: IValues, { getTextPath }) => {\r\n const errors: any = {}\r\n if (!values.password || values.password !== values.confirmPassword) {\r\n errors.confirmPassword = [getTextPath('errors.confirmPassword')]\r\n }\r\n return errors\r\n },\r\n }),\r\n)(ChangePasswordForm)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport ChangePasswordForm from './ChangePasswordFormContainer'\r\n\r\nexport default ChangePasswordForm\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport { Link, RouteComponentProps } from 'react-router-dom'\r\nimport classNames from 'classnames/bind'\r\nimport { ROUTES } from 'constants/routes'\r\nimport { Text as TextType } from 'hocs/localization'\r\nimport { STEPS } from './constants'\r\nimport ChangePasswordForm from './apps/ChangePasswordForm'\r\nimport * as styles from './ChangePasswordCheckLink.scss'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IProps extends RouteComponentProps {\r\n t: TextType,\r\n step: STEPS,\r\n}\r\n\r\nconst ChangePasswordCheckLink: React.SFC = ({\r\n step,\r\n location: { search },\r\n t,\r\n}) => {\r\n if (step === STEPS.valid) {\r\n return (\r\n \r\n \r\n
\r\n {t('backToLogin')}\r\n
\r\n
\r\n )\r\n }\r\n if (step === STEPS.expired) {\r\n const link = {t('linkToNew')}\r\n return (\r\n
\r\n {t('messageStart')} {link} {t('messageEnd')}\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default ChangePasswordCheckLink\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose, lifecycle } from 'recompose'\r\nimport { withRouter } from 'react-router-dom'\r\nimport { connect } from 'react-redux'\r\nimport { ROUTES } from 'constants/routes'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport { loading } from 'hocs/loading'\r\nimport { onStartLogout } from 'redux-app/actionCreators/auth'\r\nimport { onShowError } from 'redux-app/modules/alerts'\r\nimport { checkChangePasswordLink } from 'api/client/actions/auth'\r\nimport { isUserAuthorizated } from 'redux-app/selectors/auth'\r\nimport { getQueryFromSearch } from 'utils/location'\r\nimport { STEPS } from './constants'\r\nimport ChangePasswordCheckLink from './ChangePasswordCheckLink'\r\n\r\nexport default compose(\r\n connect(\r\n state => ({\r\n isUserAuthorizated: isUserAuthorizated(state),\r\n }),\r\n {\r\n checkChangePasswordLink,\r\n onStartLogout,\r\n onShowError,\r\n },\r\n ),\r\n withRouter,\r\n lifecycle({\r\n componentDidMount () {\r\n const {\r\n history: { replace },\r\n location: { search },\r\n onStartLogout,\r\n isUserAuthorizated,\r\n } = this.props\r\n const { token } = getQueryFromSearch(search)\r\n\r\n isUserAuthorizated && onStartLogout()\r\n\r\n if (!token) {\r\n replace(ROUTES.auth.login)\r\n return\r\n }\r\n\r\n this.setState({\r\n loadProgress: 100,\r\n step: STEPS.valid,\r\n })\r\n return\r\n },\r\n }),\r\n loading,\r\n withLocalization('auth.changePassword.checkLink'),\r\n)(ChangePasswordCheckLink)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport ChangePasswordCheckLink from './ChangePasswordCheckLinkContainer'\r\n\r\nexport default ChangePasswordCheckLink\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport { Switch, Route } from 'react-router-dom'\r\nimport { ROUTES } from 'constants/routes'\r\nimport HomeLayout from 'apps/HomeLayout'\r\nimport AuthPage from 'apps/AuthPage'\r\nimport ChangePasswordCheckLink from './routes/ChangePasswordCheckLink'\r\n\r\nconst ChangePassword: React.FC<{}> = () => (\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n)\r\n\r\nexport default ChangePassword\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport ChangePassword from './ChangePassword'\r\n\r\nexport default ChangePassword\r\n","import env from 'env'\r\n\r\nexport const getUserDetails = () => ({\r\n type: 'api/userProfile/GET_USER_DETAILS',\r\n payload: {\r\n apiAction: {\r\n hostname: env.api,\r\n url: '/api/accounts/me',\r\n method: 'GET',\r\n },\r\n },\r\n})\r\ngetUserDetails.toString = () => 'api/userProfile/GET_USER_DETAILS'\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nexport const MODAL_PAYMETRIC_SERVICE_UNAVAILABLE = 'paymetricServiceUnavailable'\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport _get from 'lodash/get'\r\nimport { EMPTY_OBJECT } from 'constants/frozenObjects'\r\n\r\nexport const getModalStatusByName = (state, name) => _get(state, ['modals', name, 'isOpen'], false)\r\nexport const getModalDataByName = (state, { name }) => _get(state, ['modals', name, 'data'], EMPTY_OBJECT)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose, branch, renderNothing } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { getModalStatusByName } from 'redux-app/selectors/modals'\r\n\r\nexport const hiddenUnmountedModal = modalName => WrappedComponent => compose(\r\n connect(\r\n state => ({\r\n isOpen: getModalStatusByName(state, modalName),\r\n }),\r\n null,\r\n ),\r\n branch(\r\n ({ isOpen }) => !isOpen,\r\n renderNothing,\r\n ),\r\n)(WrappedComponent)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport classNames from 'classnames/bind'\r\nimport ReactModal from 'react-modal'\r\nimport ButtonWithIcon from 'apps/ButtonWithIcon'\r\nimport Heading from 'elements/Heading'\r\nimport * as styles from './Modal.scss'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IProps {\r\n closeModal: (param: any) => void,\r\n name: string,\r\n isOpen: boolean,\r\n shouldCloseOnOverlayClick?: boolean,\r\n styleType?: string,\r\n header?: string | React.ReactChildren,\r\n hideCloseButton?: boolean,\r\n}\r\n\r\ninterface IState {\r\n overlayStyle: { height: number } | null,\r\n}\r\n\r\nexport default class Modal extends React.Component {\r\n public readonly state = {\r\n overlayStyle: null,\r\n }\r\n public componentDidMount () {\r\n if (this.props.styleType === 'banner') {\r\n window.addEventListener('resize', this.onCalcOverlayStyle)\r\n }\r\n }\r\n\r\n public componentWillUnmount () {\r\n window.removeEventListener('resize', this.onCalcOverlayStyle)\r\n }\r\n\r\n private onCalcOverlayStyle = () => {\r\n if (this.props.styleType === 'banner') {\r\n const { height } = this.contentRef.getBoundingClientRect()\r\n this.setState({\r\n overlayStyle: {\r\n height,\r\n },\r\n })\r\n }\r\n }\r\n\r\n private onCloseModal = () => {\r\n const { closeModal, name } = this.props\r\n closeModal({ name })\r\n }\r\n\r\n private readonly contentRef = null\r\n\r\n public render () {\r\n const {\r\n isOpen,\r\n shouldCloseOnOverlayClick = true,\r\n styleType = 'default',\r\n header,\r\n hideCloseButton = false,\r\n } = this.props\r\n const { overlayStyle } = this.state\r\n\r\n return (\r\n \r\n
{ this.contentRef = r }} className={cx('modalBody', styleType)}>\r\n {!!header && (\r\n
\r\n {header}\r\n {!hideCloseButton && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n )}\r\n {this.props.children}\r\n
\r\n \r\n )\r\n }\r\n}\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { closeModal } from 'redux-app/modules/modals'\r\nimport { getModalStatusByName } from 'redux-app/selectors/modals'\r\nimport Modal from './Modal'\r\n\r\nexport default compose(\r\n connect(\r\n (state, { name, isOpen }) => ({\r\n isOpen: isOpen !== undefined ? isOpen : getModalStatusByName(state, name),\r\n }),\r\n {\r\n closeModal: name => closeModal(name),\r\n },\r\n ),\r\n)(Modal)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport * as styles from './Modal.scss'\r\n\r\ninterface IProps {\r\n children: any,\r\n}\r\n\r\nconst ModalMessage: React.SFC = ({ children }) => (\r\n
\r\n {children}\r\n
\r\n)\r\n\r\nexport default ModalMessage\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport * as styles from './Modal.scss'\r\n\r\ninterface IProps {\r\n children: any,\r\n}\r\n\r\nconst ModalFooter: React.SFC = ({ children }) => (\r\n
\r\n {children}\r\n
\r\n)\r\n\r\nexport default ModalFooter\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport * as styles from './Modal.scss'\r\n\r\ninterface IProps {\r\n children: any,\r\n}\r\n\r\nconst ModalFooterButtons: React.SFC = ({ children }) => (\r\n
\r\n {children}\r\n
\r\n)\r\n\r\nexport default ModalFooterButtons\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport Modal from './ModalContainer'\r\nimport ModalMessage from './ModalMessage'\r\nimport ModalFooter from './ModalFooter'\r\nimport ModalFooterButtons from './ModalFooterButtons'\r\n\r\nexport {\r\n ModalMessage,\r\n ModalFooter,\r\n ModalFooterButtons,\r\n}\r\n\r\nexport default Modal\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport { Text } from 'hocs/localization'\r\nimport Modal, { ModalMessage, ModalFooter, ModalFooterButtons } from 'apps/Modal'\r\nimport Button from 'elements/Button'\r\nimport { MODAL_PAYMETRIC_SERVICE_UNAVAILABLE } from './constants'\r\n\r\ninterface IProps {\r\n t: Text,\r\n onClose: () => void,\r\n}\r\n\r\nconst PaymetricServiceUnavailableModal: React.FC = ({ t, onClose }) => (\r\n \r\n \r\n {t('message')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default PaymetricServiceUnavailableModal\r\n","export const getFormattedTextOrDefault = (formatter, noValue = () => '-') => text => {\r\n if (text !== undefined && text !== null) {\r\n return formatter(text)\r\n }\r\n\r\n return noValue()\r\n}\r\n\r\nexport const getPrintedPostalCode = postalCode => {\r\n if (!postalCode) {\r\n return ''\r\n }\r\n if (postalCode.length === 5) {\r\n return postalCode\r\n }\r\n const start = postalCode.substr(0, 5)\r\n const end = postalCode.substr(5, postalCode.length)\r\n\r\n return `${start}-${end}`\r\n}\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose, withHandlers } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport { hiddenUnmountedModal } from 'hocs/hiddenUnmountedModal'\r\nimport { closeModal } from 'redux-app/modules/modals'\r\nimport { getModalDataByName } from 'redux-app/selectors/modals'\r\nimport { MODAL_PAYMETRIC_SERVICE_UNAVAILABLE } from './constants'\r\nimport PaymetricServiceUnavailableModal from './PaymetricServiceUnavailableModal'\r\n\r\nexport default compose(\r\n hiddenUnmountedModal(MODAL_PAYMETRIC_SERVICE_UNAVAILABLE),\r\n withLocalization('company.card.form.paymetricUnavailable'),\r\n connect(\r\n state => {\r\n const { requestData } = getModalDataByName(state, { name: MODAL_PAYMETRIC_SERVICE_UNAVAILABLE })\r\n return {\r\n requestData,\r\n }\r\n },\r\n {\r\n closeModal,\r\n },\r\n ),\r\n withHandlers({\r\n onClose: ({ closeModal }) => () => closeModal({ name: MODAL_PAYMETRIC_SERVICE_UNAVAILABLE }),\r\n }),\r\n)(PaymetricServiceUnavailableModal)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport { Text } from 'hocs/localization'\r\nimport Modal, { ModalMessage, ModalFooter, ModalFooterButtons } from 'apps/Modal'\r\nimport Button from 'elements/Button'\r\nimport { getPrintedPostalCode } from 'utils/printedData'\r\nimport { MODAL_NAMES } from './constants'\r\nimport * as styles from './CorrectedAddressModal.scss'\r\n\r\ninterface IProps {\r\n t: Text,\r\n onCloseModal: () => void,\r\n accessToken: string,\r\n onConfirm: (params: any) => Promise<{}>,\r\n shippingMessage: any,\r\n billingMessage: any,\r\n shippingCorrectedResult: any,\r\n billingCorrectedResult: any,\r\n name: MODAL_NAMES,\r\n}\r\n\r\ninterface IState {\r\n isSubmitting: boolean,\r\n}\r\n\r\nclass CorrectedAddressModal extends React.Component {\r\n public readonly state = {\r\n isSubmitting: false,\r\n }\r\n\r\n private onSubmit = () => {\r\n this.setState({\r\n isSubmitting: true,\r\n })\r\n const { accessToken, shippingCorrectedResult, billingCorrectedResult } = this.props\r\n\r\n this.props.onConfirm({ accessToken, shippingCorrectedResult, billingCorrectedResult }).then(() => {\r\n this.props.onCloseModal()\r\n })\r\n .catch(() => {\r\n this.setState({\r\n isSubmitting: false,\r\n })\r\n })\r\n }\r\n\r\n public render () {\r\n const { t, shippingMessage, billingMessage, name } = this.props\r\n const { isSubmitting } = this.state\r\n\r\n return (\r\n \r\n \r\n {[shippingMessage, billingMessage].map((form, i) => {\r\n if (form) {\r\n return t('message', {\r\n state: form.state,\r\n city: form.city,\r\n postalCode: getPrintedPostalCode(form.postalCode),\r\n address1: form.address1,\r\n formName: !i ? t('shipping') : t('billing'),\r\n })\r\n }\r\n })}\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default CorrectedAddressModal\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose, withHandlers, withProps } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { createSelector } from 'reselect'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport { hiddenUnmountedModal } from 'hocs/hiddenUnmountedModal'\r\nimport { closeModal } from 'redux-app/modules/modals'\r\nimport { getModalDataByName } from 'redux-app/selectors/modals'\r\nimport { getCountryById, getStateById } from 'redux-app/selectors/apiData'\r\nimport CorrectedAddressModal from './CorrectedAddressModal'\r\n\r\nconst getMessagesData = createSelector(\r\n (state, correctedData) => correctedData,\r\n (state, correctedData) => getCountryById(state, { id: correctedData.countryId }),\r\n (state, correctedData) => getStateById(state, { id: correctedData.stateId }),\r\n (correctedData, country = {}, state = {}) => ({\r\n ...correctedData,\r\n state: state.name,\r\n }),\r\n)\r\n\r\nexport default name => compose(\r\n withProps(() => ({\r\n name,\r\n })),\r\n hiddenUnmountedModal(name),\r\n withLocalization('company.correctedAddressModal'),\r\n connect(\r\n state => {\r\n const {\r\n accessToken,\r\n shippingCorrectedResult,\r\n billingCorrectedResult,\r\n } = getModalDataByName(state, { name })\r\n\r\n const shippingMessage = shippingCorrectedResult ? getMessagesData(state, shippingCorrectedResult) : null\r\n const billingMessage = billingCorrectedResult ? getMessagesData(state, billingCorrectedResult) : null\r\n return {\r\n accessToken,\r\n shippingCorrectedResult,\r\n billingCorrectedResult,\r\n shippingMessage,\r\n billingMessage,\r\n }\r\n },\r\n {\r\n closeModal,\r\n },\r\n ),\r\n withHandlers({\r\n onCloseModal: ({ closeModal }) => () => closeModal({ name }),\r\n }),\r\n)(CorrectedAddressModal)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nexport enum MODAL_NAMES {\r\n all = 'correctedAllAddresses',\r\n billing = 'correctedBillingAddress',\r\n shipping = 'correctedShippingAddress',\r\n}\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport CorrectedAddressModalHoc from './CorrectedAddressModalHoc'\r\nimport { MODAL_NAMES } from './constants'\r\n\r\nexport const correctedAllAddressesModal = {\r\n Component: CorrectedAddressModalHoc(MODAL_NAMES.all),\r\n name: MODAL_NAMES.all,\r\n}\r\n\r\nexport const correctedShippingAddressModal = {\r\n Component: CorrectedAddressModalHoc(MODAL_NAMES.shipping),\r\n name: MODAL_NAMES.shipping,\r\n}\r\n\r\nexport const correctedBillingAddressModal = {\r\n Component: CorrectedAddressModalHoc(MODAL_NAMES.billing),\r\n name: MODAL_NAMES.billing,\r\n}\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport _get from 'lodash/get'\r\nimport PropTypes from 'prop-types'\r\nimport React from 'react'\r\nimport { compose, withHandlers, lifecycle, setPropTypes } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { change } from 'redux-form'\r\nimport { NO_AVAILABLE_COUNTRY } from 'constants/countries'\r\nimport { Text } from 'hocs/localization'\r\nimport { openModal, closeModal } from 'redux-app/modules/modals'\r\nimport { getCountryByCountryIdState } from 'api/client/actions/country'\r\nimport {\r\n getLocalizedCompanyCountryResidenceOptions,\r\n getLocalizedStateOptions,\r\n getLocalizedLimitedStateOptions,\r\n getLocalizedBillingCountryOptions,\r\n} from 'redux-app/selectors/apiData'\r\nimport Modal, { ModalMessage, ModalFooter, ModalFooterButtons } from 'apps/Modal'\r\nimport Button from 'elements/Button'\r\n\r\nconst MODAL_OTHER_COUNTRIES = 'notAvailableCountries'\r\nconst COUNTRY_KEY = 'countryId'\r\nconst STATE_KEY = 'stateId'\r\n\r\nexport enum FORM_COUNTRY_TYPES {\r\n all,\r\n billing,\r\n}\r\n\r\ninterface IProps {\r\n t: Text,\r\n openModal: (params: { name: string }) => void,\r\n closeModal: (params: { name: string }) => void,\r\n}\r\n\r\nconst localizationPropTypes = {\r\n t: PropTypes.func.isRequired,\r\n texts: PropTypes.object.isRequired,\r\n}\r\n\r\nconst getCountryOptionsSelectorByCountryType = countryType => {\r\n if (countryType === FORM_COUNTRY_TYPES.all) {\r\n return getLocalizedCompanyCountryResidenceOptions\r\n }\r\n return getLocalizedBillingCountryOptions\r\n}\r\n\r\nconst WithNotAvailableCountryModalHoc = WrappedComponent =>\r\n class WithNotAvailableCountryModal extends React.Component {\r\n private onOpenNotAvailableCountriesModal = () => {\r\n this.props.openModal({ name: MODAL_OTHER_COUNTRIES })\r\n }\r\n\r\n private onCloseOtherCountriesModal = () => {\r\n this.props.closeModal({ name: MODAL_OTHER_COUNTRIES })\r\n }\r\n\r\n public render () {\r\n const { t } = this.props\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {t('notAvailableCountriesModal.message')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n }\r\n\r\nexport const withNotAvailableCountryModal = WrappedComponent => compose(\r\n connect(\r\n null,\r\n {\r\n closeModal,\r\n openModal,\r\n },\r\n ),\r\n WithNotAvailableCountryModalHoc,\r\n)(WrappedComponent)\r\n\r\nconst withOnChangeCountryHandler = WrappedComponent => compose(\r\n withHandlers({\r\n onChangeCountry: ({ openModal, onChangeFieldValue, onStatesRequest }) => (event, newValue) => {\r\n if (newValue === NO_AVAILABLE_COUNTRY) {\r\n event.preventDefault()\r\n openModal({ name: MODAL_OTHER_COUNTRIES })\r\n return\r\n }\r\n\r\n onChangeFieldValue({ name: STATE_KEY, value: null })\r\n onStatesRequest({ countryId: newValue })\r\n },\r\n }),\r\n)(WrappedComponent)\r\n\r\nconst withCountriesLoading = countryType => WrappedComponent => compose(\r\n setPropTypes({ ...localizationPropTypes }),\r\n connect(\r\n (state, props) => ({\r\n countryOptions: getCountryOptionsSelectorByCountryType(countryType)(state, props),\r\n }),\r\n {\r\n // getCountry: countryType === FORM_COUNTRY_TYPES.all ? getCountry : getCountryBilling,\r\n },\r\n ),\r\n lifecycle({\r\n componentDidMount () {\r\n // this.props.getCountry()\r\n },\r\n }),\r\n)(WrappedComponent)\r\n\r\nexport const withStatesLoading = (countryKey = COUNTRY_KEY) => WrappedComponent => compose(\r\n setPropTypes({ ...localizationPropTypes }),\r\n connect(\r\n (state, props) => ({\r\n stateOptions: getLocalizedStateOptions(state, props),\r\n stateLimitedOptions: getLocalizedLimitedStateOptions(state, props),\r\n }),\r\n {\r\n onStatesRequest: getCountryByCountryIdState,\r\n },\r\n ),\r\n lifecycle({\r\n componentDidMount () {\r\n const { onStatesRequest, initialValues } = this.props\r\n const countryId = _get(initialValues, countryKey) || 1\r\n\r\n countryId && onStatesRequest({ countryId })\r\n },\r\n\r\n componentWillReceiveProps (nextProps) {\r\n if (_get(this.props, ['initialValues', countryKey]) !== _get(nextProps, ['initialValues', countryKey])) {\r\n const countryId = _get(nextProps.initialValues, countryKey)\r\n countryId && this.props.onStatesRequest({ countryId })\r\n }\r\n },\r\n }),\r\n)(WrappedComponent)\r\n\r\nexport const formWithAddress = (countryType = FORM_COUNTRY_TYPES.all) => WrappedComponent => compose(\r\n setPropTypes({ ...localizationPropTypes }),\r\n connect(\r\n (state, props) => ({\r\n countryOptions: getCountryOptionsSelectorByCountryType(countryType)(state, props),\r\n }),\r\n {\r\n openModal,\r\n change,\r\n },\r\n ),\r\n withHandlers({\r\n onChangeFieldValue: ({ change }) => ({ name, value }) => change(name, value),\r\n }),\r\n withCountriesLoading(countryType),\r\n withStatesLoading(COUNTRY_KEY),\r\n withNotAvailableCountryModal,\r\n withOnChangeCountryHandler,\r\n)(WrappedComponent)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nexport enum CARD_FIELD_NAMES {\r\n paymentCreditCard = 'paymentCreditCard',\r\n nameOnCard = 'nameOnCard',\r\n expMonth = 'expMonth',\r\n expYear = 'expYear',\r\n CVV = 'CVV',\r\n captcha = 'captcha'\r\n}\r\n\r\nexport enum ADDRESS_FIELD_NAMES {\r\n firstName = 'firstName',\r\n lastName = 'lastName',\r\n countryId = 'countryId',\r\n stateId = 'stateId',\r\n city = 'city',\r\n postalCode = 'postalCode',\r\n address1 = 'address1',\r\n phoneNumber = 'phoneNumber',\r\n}\r\n\r\nexport const MODAL_UPDATE_ADDRESS = 'updatedBillingAddress'\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nexport const NO_AVAILABLE_COUNTRY = 'Other'\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport { Field } from 'redux-form'\r\nimport { MAX_LENGTHS, CARD_FIELD_NAMES } from 'constants/forms'\r\nimport { CARD_TYPES } from 'constants/payment'\r\nimport { Text, GetTextPath } from 'hocs/localization'\r\nimport { Select, Input, Checkbox, Captcha } from 'apps/FormFields'\r\nimport Button from 'elements/Button'\r\nimport {\r\n createValidation,\r\n createValidator,\r\n hasRequired,\r\n hasRequiredCheckbox,\r\n hasCardNumber,\r\n hasCardCVV,\r\n hasSelectedValue,\r\n onlyDigits,\r\n hasFullName,\r\n hasNameOnCard,\r\n} from 'utils/form'\r\nimport * as styles from './AddCardForm.scss'\r\n\r\ninterface IState {\r\n isDisabled\r\n}\r\n\r\ninterface IProps {\r\n isDisabled?: boolean,\r\n t: Text,\r\n getTextPath: GetTextPath,\r\n stateOptions: any[],\r\n submitting: boolean,\r\n valid: boolean,\r\n router: any,\r\n expirationMonthOptions: any[],\r\n expirationYearOptions: any[],\r\n onConfirmCorrectedAddress: () => void,\r\n cardType: CARD_TYPES,\r\n onChangeCardNumber: (event: Event, value: string) => void,\r\n backUrl?: string,\r\n isShowBackLink: boolean,\r\n isEdit: boolean,\r\n onSubmit: () => Promise,\r\n isCardNumberAutoFocus: boolean,\r\n handleSubmit: () => void,\r\n isSubmitting: boolean,\r\n isUserUnableToUpdateInfo: boolean,\r\n cardInfo: any,\r\n isCaptchaVerified: boolean,\r\n onVerifyCaptcha: (response: string) => void,\r\n captchaRef: (ref: React.ReactElement) => React.Ref,\r\n isCaptchaEnabled: boolean,\r\n isCaptchaWhiteListed: boolean,\r\n captchaFieldName: string,\r\n}\r\n\r\nclass AddCardForm extends React.Component {\r\n public readonly state = {\r\n isDisabled: false,\r\n }\r\n\r\n public requiredFieldValidation = createValidation([\r\n createValidator(hasRequired, this.props.getTextPath('errors.textField')),\r\n ])\r\n\r\n public requiredCheckboxValidation = createValidation([\r\n createValidator(hasRequiredCheckbox, ''),\r\n ])\r\n\r\n private ccNumberValidation = createValidation([\r\n createValidator(\r\n value => hasCardNumber(value, this.props.cardType),\r\n () => this.props.getTextPath('errors.cardNumber'),\r\n ),\r\n ])\r\n\r\n private cardCVVValidation = createValidation([\r\n createValidator(\r\n value => hasCardCVV(value, this.props.cardType),\r\n () => this.props.getTextPath('errors.cardCVV'),\r\n ),\r\n ])\r\n public selectFieldValidation = createValidation([\r\n createValidator(hasSelectedValue, this.props.getTextPath('errors.select')),\r\n ])\r\n\r\n private cardFullNameValidation = createValidation([\r\n createValidator(value => hasFullName(value), this.props.getTextPath('errors.cardHolderFullName')),\r\n ])\r\n\r\n private cardNameValidation = createValidation([\r\n createValidator(value => hasNameOnCard(value), this.props.getTextPath('errors.cardHolderName')),\r\n ])\r\n\r\n private onPasteCardNumber = (event) => {\r\n const value = event.clipboardData.getData('text/plain')\r\n this.props.onChangeCardNumber(event, value)\r\n }\r\n\r\n public componentWillReceiveProps (nextProps) {\r\n if (this.props.isDisabled !== nextProps.isDisabled) {\r\n this.setState({\r\n isDisabled: nextProps.isDisabled,\r\n })\r\n }\r\n }\r\n\r\n public render () {\r\n const {\r\n t,\r\n handleSubmit,\r\n expirationMonthOptions,\r\n expirationYearOptions,\r\n cardType,\r\n onChangeCardNumber,\r\n isEdit,\r\n submitting,\r\n valid,\r\n isCardNumberAutoFocus,\r\n isSubmitting,\r\n isUserUnableToUpdateInfo,\r\n cardInfo,\r\n isCaptchaEnabled,\r\n isCaptchaWhiteListed,\r\n captchaFieldName,\r\n onVerifyCaptcha,\r\n captchaRef,\r\n } = this.props\r\n\r\n const isFieldDisabled = (isEdit && isUserUnableToUpdateInfo) || this.state.isDisabled || isSubmitting\r\n\r\n return (\r\n
\r\n {isEdit && (\r\n
\r\n
{t('cardOnFile')}:
\r\n
\r\n
*{cardInfo.last4Digits}
\r\n
{cardInfo.expirationMonth}/{cardInfo.expirationYear}
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n {(isCaptchaEnabled && !isCaptchaWhiteListed) && (\r\n
\r\n \r\n
)}\r\n
\r\n
{t('payment.ccVerbiage1')}
\r\n
{t('payment.ccVerbiage2')}
\r\n
\r\n
\r\n {(isEdit && !isUserUnableToUpdateInfo) && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default AddCardForm\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport _get from 'lodash/get'\r\nimport { compose, withHandlers, withProps, withState } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { reduxForm, getFormValues, change, reset } from 'redux-form'\r\nimport { analytics, SITE_SECTIONS } from 'services/Analytics'\r\nimport { EMPTY_OBJECT } from 'constants/frozenObjects'\r\nimport { USER_FORMS } from 'constants/forms'\r\nimport { CARD_TYPES } from 'constants/payment'\r\nimport { ALERTS } from 'constants/alerts'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport { formWithAddress, FORM_COUNTRY_TYPES } from 'hocs/formWithAddress'\r\nimport { onRequestToPaymetric, onUpdatePaymentDetails } from 'redux-app/actionCreators/users'\r\nimport { onShowError, createAlert } from 'redux-app/modules/alerts'\r\nimport { onFinishSendDataToServer, onSendDataToServer } from 'redux-app/modules/form'\r\nimport { isCaptchaEnabled, isCaptchaWhiteListed } from 'redux-app/selectors/apiData'\r\nimport { openModal } from 'redux-app/modules/modals'\r\nimport { getUserDetails, isUserUnableToUpdateInfo, isCaptchaRequiredForCreditCardChange } from 'redux-app/selectors/user'\r\nimport { getUserDetails as onGetUserDetails } from 'api/client/actions/user'\r\nimport { formWithCaptcha } from 'hocs/formWithCaptcha'\r\nimport { getMonthOptions, getYearOptions, getCardTypeByNumber } from 'utils/payment'\r\nimport { getCurrentYearNumber, getCurrentMonthIndex } from 'utils/date'\r\nimport { getErrorCodes } from 'utils/error'\r\nimport { CARD_FIELD_NAMES } from './constants'\r\nimport AddCardForm from './AddCardForm'\r\n\r\nconst FORM_NAME = USER_FORMS.profileAddCard\r\nconst expirationMonthOptions = getMonthOptions()\r\nconst expirationYearOptions = getYearOptions()\r\n\r\ninterface IProps {\r\n redirectUrl: string,\r\n}\r\n\r\nexport default compose(\r\n connect(\r\n (state, props) => {\r\n const userDetails = getUserDetails(state) || EMPTY_OBJECT\r\n\r\n return {\r\n cardType: getCardTypeByNumber(_get(getFormValues(FORM_NAME)(state), 'paymentCreditCard'), ''),\r\n cvv: _get(getFormValues(FORM_NAME)(state), 'CVV', ''),\r\n afterSubmit: props.afterSubmit,\r\n isUserUnableToUpdateInfo: isUserUnableToUpdateInfo(state),\r\n cardInfo: _get(userDetails, 'creditCard', ''),\r\n isCaptchaEnabled: isCaptchaEnabled(state) && isCaptchaRequiredForCreditCardChange(state),\r\n isCaptchaWhiteListed: isCaptchaWhiteListed(state),\r\n }\r\n },\r\n {\r\n onShowError,\r\n createAlert,\r\n openModal,\r\n changeField: change,\r\n onUpdatePaymentDetails,\r\n onRequestToPaymetric,\r\n onSendDataToServer,\r\n onFinishSendDataToServer,\r\n onGetUserDetails,\r\n },\r\n ),\r\n withLocalization('company.create.addCard.form'),\r\n withState('isSubmitting', 'setSubmittingState', false),\r\n withHandlers({\r\n onSubmit: ({\r\n onUpdatePaymentDetails,\r\n onShowError,\r\n onRequestToPaymetric,\r\n createAlert,\r\n afterSubmit,\r\n setSubmittingState,\r\n onGetUserDetails,\r\n isCaptchaEnabled, \r\n isCaptchaWhiteListed,\r\n }) => formValues => {\r\n setSubmittingState(true)\r\n const normalizedRequestData = {\r\n [CARD_FIELD_NAMES.paymentCreditCard]: _get(formValues, CARD_FIELD_NAMES.paymentCreditCard, '')\r\n .replace(/-/g, ''),\r\n [CARD_FIELD_NAMES.expMonth]: _get(formValues, CARD_FIELD_NAMES.expMonth),\r\n [CARD_FIELD_NAMES.expYear]: _get(formValues, CARD_FIELD_NAMES.expYear),\r\n [CARD_FIELD_NAMES.CVV]: _get(formValues, CARD_FIELD_NAMES.CVV),\r\n [CARD_FIELD_NAMES.nameOnCard]: _get(formValues, CARD_FIELD_NAMES.nameOnCard).trim(),\r\n }\r\n\r\n if (isCaptchaEnabled && !isCaptchaWhiteListed && !formValues.captcha) {\r\n return Promise.resolve()\r\n }\r\n\r\n return onRequestToPaymetric(normalizedRequestData)\r\n .then(({ accessToken }) => {\r\n const updatedCard = {\r\n paymentAccessToken: accessToken,\r\n cardHolderName: normalizedRequestData.nameOnCard,\r\n }\r\n return onUpdatePaymentDetails({ creditCard: updatedCard })\r\n .then(() => {\r\n afterSubmit()\r\n reset(FORM_NAME)\r\n onGetUserDetails()\r\n createAlert({ name: ALERTS.successUpdateCard })\r\n analytics.saveChanges({ sectionName: SITE_SECTIONS.paymentDetails })\r\n })\r\n .catch(error => {\r\n onShowError(error, formValues)\r\n\r\n if (isCaptchaEnabled && !isCaptchaWhiteListed)\r\n {\r\n window.grecaptcha.reset();\r\n formValues.captcha = ''\r\n }\r\n \r\n analytics.showMyAccountError({\r\n errorCodes: getErrorCodes(error),\r\n sectionType: SITE_SECTIONS.paymentDetails,\r\n })\r\n })\r\n .finally(() => setSubmittingState(false))\r\n })\r\n .catch(() => setSubmittingState(false))\r\n },\r\n onChangeCardNumber: ({ cardType, changeField, cvv }) => (event, newValue = '') => {\r\n if (cardType === CARD_TYPES.amex && getCardTypeByNumber(newValue) !== cardType) {\r\n changeField(FORM_NAME, CARD_FIELD_NAMES.CVV, cvv.slice(0, 3))\r\n }\r\n changeField(FORM_NAME, CARD_FIELD_NAMES.paymentCreditCard, newValue)\r\n },\r\n }),\r\n withProps(() => ({\r\n expirationMonthOptions,\r\n expirationYearOptions,\r\n })),\r\n reduxForm({\r\n form: FORM_NAME,\r\n validate: (values, { getTextPath }) => {\r\n const errors = {}\r\n if (_get(values, CARD_FIELD_NAMES.expYear, 0)) {\r\n const expiredYear = parseInt(`20${_get(values, CARD_FIELD_NAMES.expYear, 0)}`, 10)\r\n const currentYear = getCurrentYearNumber()\r\n const expiredMonth = parseInt(_get(values, CARD_FIELD_NAMES.expMonth), 10)\r\n if (expiredYear < currentYear) {\r\n errors[CARD_FIELD_NAMES.expYear] = [getTextPath('errors.expiredYearPast')]\r\n } else if (expiredYear === currentYear && expiredMonth < getCurrentMonthIndex() + 1) {\r\n errors[CARD_FIELD_NAMES.expMonth] = [getTextPath('errors.expiredMonthPast')]\r\n }\r\n if (isCaptchaEnabled && _get(values, CARD_FIELD_NAMES.captcha, '') == '')\r\n {\r\n errors[CARD_FIELD_NAMES.captcha] = [getTextPath('errors.noCaptcha')]\r\n }\r\n }\r\n return errors\r\n },\r\n }),\r\n formWithAddress(FORM_COUNTRY_TYPES.billing),\r\n formWithCaptcha,\r\n)(AddCardForm)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport AddCardForm from './AddCardFormContainer'\r\n\r\nexport default AddCardForm\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport env from 'env'\r\n\r\nexport const getMeCompanyCardBillingAddress = (meta?: any) => ({\r\n type: 'api/company/GET_ME_COMPANY_CARD_BILLING_ADDRESS',\r\n payload: {\r\n apiAction: {\r\n hostname: env.api,\r\n url: '/api/me/company/card/billing-address',\r\n method: 'GET',\r\n },\r\n },\r\n meta,\r\n})\r\ngetMeCompanyCardBillingAddress.toString = () => 'api/company/GET_ME_COMPANY_CARD_BILLING_ADDRESS'\r\n\r\nexport const putMeCompanyCardBillingAddress =\r\n({ firstName, lastName, countryId, stateId, city, postalCode, address1, phoneNumber }, data, meta?: any) => ({\r\n type: 'api/company/PUT_ME_COMPANY_CARD_BILLING_ADDRESS',\r\n payload: {\r\n apiAction: {\r\n hostname: env.api,\r\n url: '/api/me/company/card/billing-address',\r\n method: 'PUT',\r\n data,\r\n query: { firstName, lastName, countryId, stateId, city, postalCode, address1, phoneNumber },\r\n },\r\n },\r\n meta,\r\n})\r\nputMeCompanyCardBillingAddress.toString = () => 'api/company/PUT_ME_COMPANY_CARD_BILLING_ADDRESS'\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport classNames from 'classnames/bind'\r\nimport { Field } from 'redux-form'\r\nimport { API_TYPES } from 'constants/apiTypes'\r\nimport { MAX_LENGTHS, BILLING_FIELD_NAMES } from 'constants/forms'\r\nimport { Text, GetTextPath } from 'hocs/localization'\r\nimport { Input, Select } from 'apps/FormFields'\r\nimport { correctedBillingAddressModal } from 'apps/Profile/CorrectedAddressModal'\r\nimport Button from 'elements/Button'\r\nimport {\r\n createValidation,\r\n createValidator,\r\n hasRequired,\r\n hasSelectedValue,\r\n hasValidPostalCode,\r\n onBeforeChangePostalCode,\r\n} from 'utils/form'\r\nimport * as styles from './BillingInfoForm.scss'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IState {\r\n isDisabled\r\n}\r\n\r\ninterface IProps {\r\n isDisabled?: boolean,\r\n t: Text,\r\n getTextPath: GetTextPath,\r\n handleSubmit: any,\r\n submitting: boolean,\r\n valid: boolean,\r\n dirty: boolean,\r\n isView: boolean,\r\n stateOptions: any[],\r\n onChangeCountry: () => void,\r\n isCardUpdate: boolean,\r\n paymentInfoUrl: string,\r\n isEdit: boolean,\r\n onConfirmCorrectedAddress: () => void,\r\n isUserUnableToUpdateInfo: boolean,\r\n postalCode: string,\r\n}\r\n\r\nclass BillingInfoForm extends React.Component {\r\n public readonly state = {\r\n isDisabled: false,\r\n }\r\n\r\n private requiredFieldValidation = createValidation([\r\n createValidator(hasRequired, this.props.getTextPath('errors.textField')),\r\n ])\r\n\r\n private selectFieldValidation = createValidation([\r\n createValidator(hasSelectedValue, this.props.getTextPath('errors.select')),\r\n ])\r\n\r\n private postalCodeValidation = createValidation([\r\n createValidator(hasValidPostalCode, this.props.getTextPath('errors.postalCode')),\r\n ])\r\n\r\n public componentWillReceiveProps (nextProps) {\r\n if (this.props.isDisabled !== nextProps.isDisabled) {\r\n this.setState({\r\n isDisabled: nextProps.isDisabled,\r\n })\r\n }\r\n }\r\n\r\n public render () {\r\n const {\r\n t,\r\n handleSubmit,\r\n stateOptions,\r\n isEdit,\r\n onConfirmCorrectedAddress,\r\n submitting,\r\n isUserUnableToUpdateInfo,\r\n postalCode,\r\n } = this.props\r\n\r\n const isFieldDisabled = (isEdit && isUserUnableToUpdateInfo) || this.state.isDisabled || submitting\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n 5\r\n ? t('postalCodeMaskFull')\r\n : t('postalCodeMaskShort')\r\n }\r\n maskChar={null}\r\n beforeMaskedValueChange={onBeforeChangePostalCode}\r\n required\r\n />\r\n
\r\n
\r\n
\r\n {isEdit && !isUserUnableToUpdateInfo && (\r\n
\r\n \r\n \r\n
\r\n )}\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default BillingInfoForm\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose, withHandlers } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { reduxForm, initialize, getFormValues } from 'redux-form'\r\nimport { createSelector } from 'reselect'\r\nimport _get from 'lodash/get'\r\nimport _omit from 'lodash/omit'\r\nimport { analytics, SITE_SECTIONS } from 'services/Analytics'\r\nimport { ERROR_CODES } from 'constants/errors'\r\nimport { ALERTS } from 'constants/alerts'\r\nimport { USER_FORMS } from 'constants/forms'\r\nimport { EMPTY_OBJECT } from 'constants/frozenObjects'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport { formWithAddress, FORM_COUNTRY_TYPES } from 'hocs/formWithAddress'\r\nimport { onSaveBillingAddress, onCompleteSavingBillingAddress } from 'redux-app/actionCreators/subscription'\r\nimport { onShowError, createAlert } from 'redux-app/modules/alerts'\r\nimport { openModal } from 'redux-app/modules/modals'\r\nimport { putMeCompanyCardBillingAddress, getMeCompanyCardBillingAddress } from 'api/client/actions/company'\r\nimport { getUserDetails, isUserUnableToUpdateInfo } from 'redux-app/selectors/user'\r\nimport { correctedBillingAddressModal } from 'apps/Profile/CorrectedAddressModal'\r\nimport { getErrorCodes } from 'utils/error'\r\nimport { removeDashes } from 'utils/form'\r\nimport { getPrintedPostalCode } from 'utils/printedData'\r\nimport BillingInfoForm from './BillingInfoForm'\r\n\r\nconst FORM_NAME = USER_FORMS.profileBillingForm\r\nconst SHIPPING_FORM_NAME = USER_FORMS.profileShippingForm\r\n\r\nconst getInitialValues = createSelector(\r\n (state, props) => _get(getUserDetails(state), 'billingAddress', EMPTY_OBJECT),\r\n (state, props) => getFormValues(SHIPPING_FORM_NAME)(state),\r\n (state, props) => props.isBillingCheckboxChecked,\r\n (state, props) => props.isEdit,\r\n (billingAddress, shippingAddress, isSameValues, isEdit) => {\r\n if (isSameValues && !isEdit) {\r\n return shippingAddress\r\n }\r\n\r\n return {\r\n ...billingAddress,\r\n postalCode: getPrintedPostalCode(_get(billingAddress, 'postalCode')),\r\n }\r\n },\r\n)\r\n\r\nexport default compose(\r\n connect(\r\n (state, props) => ({\r\n initialValues: getInitialValues(state, props),\r\n isUserUnableToUpdateInfo: isUserUnableToUpdateInfo(state),\r\n postalCode: _get(getFormValues(FORM_NAME)(state), 'postalCode', ''),\r\n }),\r\n {\r\n onUpdateBillingInfo: putMeCompanyCardBillingAddress,\r\n onShowError,\r\n createAlert,\r\n getMeCompanyCardBillingAddress,\r\n openModal,\r\n initialize,\r\n onSaveBillingAddress,\r\n onCompleteSavingBillingAddress,\r\n },\r\n ),\r\n withLocalization('company.paymentInfo.billing'),\r\n withHandlers({\r\n onSubmit: ({\r\n onSaveBillingAddress,\r\n onShowError,\r\n createAlert,\r\n openModal,\r\n onCompleteSavingBillingAddress,\r\n }) => ({ postalCode, ...restFormValues }) => {\r\n const formValues = {\r\n ...restFormValues,\r\n postalCode: removeDashes(postalCode),\r\n }\r\n return onSaveBillingAddress(formValues)\r\n .then(({ value: { result } }) => {\r\n if (!result.isMatch) {\r\n const data = {\r\n shippingCorrectedResult: _omit(result, ['isMatch']),\r\n }\r\n openModal({ name: correctedBillingAddressModal.name, data })\r\n return\r\n }\r\n createAlert({ name: ALERTS.successBillingInfoChanged })\r\n analytics.saveChanges({ sectionName: SITE_SECTIONS.billingAddress })\r\n onCompleteSavingBillingAddress()\r\n })\r\n .catch((error: Error) => {\r\n analytics.showMyAccountError({\r\n errorCodes: getErrorCodes(error),\r\n sectionType: SITE_SECTIONS.billingAddress,\r\n })\r\n if (getErrorCodes(error).includes(ERROR_CODES.addressIsNotValid)) {\r\n createAlert({ name: ALERTS.billingAddressIsNotValid })\r\n } else {\r\n onShowError(error, formValues)\r\n }\r\n })\r\n },\r\n onConfirmCorrectedAddress: ({\r\n onSaveBillingAddress,\r\n onShowError,\r\n createAlert,\r\n onCompleteSavingBillingAddress,\r\n initialize,\r\n }) => ({ shippingCorrectedResult }) => {\r\n return onSaveBillingAddress(shippingCorrectedResult)\r\n .then(({ value: { result } }) => {\r\n if (!result.isMatch) {\r\n createAlert({ name: ALERTS.profileBillingFormError })\r\n return\r\n }\r\n initialize(FORM_NAME, {\r\n ...result,\r\n postalCode: getPrintedPostalCode(result.postalCode),\r\n })\r\n createAlert({ name: ALERTS.successBillingInfoChanged })\r\n analytics.saveChanges({ sectionName: SITE_SECTIONS.billingAddress })\r\n onCompleteSavingBillingAddress()\r\n })\r\n .catch(error => {\r\n analytics.showMyAccountError({\r\n errorCodes: getErrorCodes(error),\r\n sectionType: SITE_SECTIONS.billingAddress,\r\n })\r\n onShowError(error)\r\n })\r\n },\r\n }),\r\n reduxForm({\r\n form: FORM_NAME,\r\n enableReinitialize: true,\r\n }),\r\n formWithAddress(FORM_COUNTRY_TYPES.billing),\r\n)(BillingInfoForm)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport BillingInfoForm from './BillingInfoFormContainer'\r\n\r\nexport default BillingInfoForm\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport { Field } from 'redux-form'\r\nimport { API_TYPES } from 'constants/apiTypes'\r\nimport { MAX_LENGTHS } from 'constants/forms'\r\nimport { Text, GetTextPath } from 'hocs/localization'\r\nimport { Input, Select } from 'apps/FormFields'\r\nimport { correctedShippingAddressModal } from 'apps/Profile/CorrectedAddressModal'\r\nimport Button from 'elements/Button'\r\nimport {\r\n createValidation,\r\n createValidator,\r\n hasRequired,\r\n hasPhoneNumber,\r\n hasName,\r\n hasSelectedValue,\r\n hasValidPostalCode,\r\n onBeforeChangePostalCode,\r\n hasAddressWithoutPOBox,\r\n removeSpaces,\r\n} from 'utils/form'\r\nimport * as styles from './ShippingInfoForm.scss'\r\n\r\ninterface IFieldEvent {\r\n name: any,\r\n value: string,\r\n}\r\n\r\ninterface IState {\r\n isDisabled\r\n}\r\n\r\ninterface IProps {\r\n isDisabled?: boolean,\r\n t: Text,\r\n getTextPath: GetTextPath,\r\n handleSubmit: any,\r\n submitting: boolean,\r\n valid: boolean,\r\n dirty: boolean,\r\n isView: boolean,\r\n isCustomerFromExcludedState: boolean,\r\n stateOptions: any[],\r\n stateLimitedOptions: any[],\r\n isCardUpdate: boolean,\r\n paymentInfoUrl: string,\r\n isEdit: boolean\r\n onUpdateField: (param: IFieldEvent) => void,\r\n onConfirmCorrectedAddress: () => void,\r\n isUserUnableToUpdateInfo: boolean,\r\n postalCode: string,\r\n}\r\n\r\nclass ShippingInfoForm extends React.Component {\r\n public readonly state = {\r\n isDisabled: false,\r\n }\r\n\r\n private requiredFieldValidation = createValidation([\r\n createValidator(hasRequired, this.props.getTextPath('errors.textField')),\r\n ])\r\n\r\n private contactNameValidation = createValidation([\r\n createValidator(hasName, this.props.getTextPath('errors.name')),\r\n ])\r\n\r\n private phoneValidation = createValidation([\r\n createValidator(hasPhoneNumber, this.props.getTextPath('errors.phone')),\r\n ])\r\n\r\n private selectFieldValidation = createValidation([\r\n createValidator(hasSelectedValue, this.props.getTextPath('errors.select')),\r\n ])\r\n\r\n private postalCodeValidation = createValidation([\r\n createValidator(hasValidPostalCode, this.props.getTextPath('errors.postalCode')),\r\n ])\r\n\r\n private addressWithoutPOBoxValidation = createValidation([\r\n createValidator(hasAddressWithoutPOBox, this.props.getTextPath('errors.POBox')),\r\n ])\r\n\r\n public componentWillReceiveProps (nextProps) {\r\n if (this.props.isDisabled !== nextProps.isDisabled) {\r\n this.setState({\r\n isDisabled: nextProps.isDisabled,\r\n })\r\n }\r\n }\r\n\r\n public render () {\r\n const {\r\n t,\r\n handleSubmit,\r\n stateOptions,\r\n isCustomerFromExcludedState,\r\n stateLimitedOptions,\r\n isEdit,\r\n valid,\r\n onConfirmCorrectedAddress,\r\n submitting,\r\n isUserUnableToUpdateInfo,\r\n postalCode,\r\n } = this.props\r\n\r\n const isFieldDisabled = (isEdit && isUserUnableToUpdateInfo) || submitting || this.state.isDisabled\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n 5\r\n ? t('postalCodeMaskFull')\r\n : t('postalCodeMaskShort')\r\n }\r\n maskChar={null}\r\n beforeMaskedValueChange={onBeforeChangePostalCode}\r\n required\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n {isEdit && !isUserUnableToUpdateInfo && (\r\n
\r\n \r\n \r\n
\r\n )}\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default ShippingInfoForm\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose, withHandlers } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { createSelector } from 'reselect'\r\nimport { reduxForm, initialize, change, getFormValues } from 'redux-form'\r\nimport _get from 'lodash/get'\r\nimport _omit from 'lodash/omit'\r\nimport { analytics, SITE_SECTIONS } from 'services/Analytics'\r\nimport { ERROR_CODES } from 'constants/errors'\r\nimport { ALERTS } from 'constants/alerts'\r\nimport { EMPTY_OBJECT } from 'constants/frozenObjects'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport { formWithAddress, FORM_COUNTRY_TYPES } from 'hocs/formWithAddress'\r\nimport { onSaveShippingAddress, onCompleteSavingShippingAddress } from 'redux-app/actionCreators/subscription'\r\nimport { onShowError, createAlert } from 'redux-app/modules/alerts'\r\nimport { openModal } from 'redux-app/modules/modals'\r\nimport { getUserDetails, isUserUnableToUpdateInfo } from 'redux-app/selectors/user'\r\nimport { correctedShippingAddressModal } from 'apps/Profile/CorrectedAddressModal'\r\nimport { getErrorCodes } from 'utils/error'\r\nimport { removeDashes } from 'utils/form'\r\nimport { getPrintedPostalCode } from 'utils/printedData'\r\nimport ShippingInfoForm from './ShippingInfoForm'\r\n\r\nconst FORM_NAME = 'profileShippingForm'\r\nconst BILLING_FORM_NAME = 'profileBillingForm'\r\n\r\nconst getInitialValues = createSelector(\r\n state => _get(getUserDetails(state), 'shippingAddress', EMPTY_OBJECT),\r\n shippingAddress => ({\r\n ...shippingAddress,\r\n postalCode: getPrintedPostalCode(_get(shippingAddress, 'postalCode')),\r\n isCustomerFromExcludedState: shippingAddress?.stateId == 1 || shippingAddress?.stateId == 10 //Alaska or Hawaii\r\n }),\r\n)\r\n\r\nexport default compose(\r\n connect(\r\n state => ({\r\n initialValues: getInitialValues(state),\r\n isUserUnableToUpdateInfo: isUserUnableToUpdateInfo(state),\r\n postalCode: _get(getFormValues(FORM_NAME)(state), 'postalCode', ''),\r\n isCustomerFromExcludedState: _get(getFormValues(FORM_NAME)(state), 'isCustomerFromExcludedState', false),\r\n }),\r\n {\r\n onShowError,\r\n createAlert,\r\n openModal,\r\n initialize,\r\n change,\r\n onSaveShippingAddress,\r\n onCompleteSavingShippingAddress,\r\n },\r\n ),\r\n withLocalization('company.paymentInfo.billing'),\r\n withHandlers({\r\n onUpdateField: ({ change }) => ({ name, value }) => {\r\n change(BILLING_FORM_NAME, name, value)\r\n },\r\n onSubmit: ({\r\n onSaveShippingAddress,\r\n onShowError,\r\n createAlert,\r\n openModal,\r\n onCompleteSavingShippingAddress,\r\n }) => ({ postalCode, ...restFormValues }) => {\r\n const formValues = {\r\n ...restFormValues,\r\n postalCode: removeDashes(postalCode),\r\n }\r\n return onSaveShippingAddress(formValues)\r\n .then(({ value: { result } }) => {\r\n if (!result.isMatch) {\r\n const data = {\r\n shippingCorrectedResult: _omit(result, ['isMatch']),\r\n }\r\n openModal({ name: correctedShippingAddressModal.name, data })\r\n return\r\n }\r\n createAlert({ name: ALERTS.successBillingInfoChanged })\r\n analytics.saveChanges({ sectionName: SITE_SECTIONS.shippingAddress })\r\n return onCompleteSavingShippingAddress()\r\n })\r\n .catch((error: Error) => {\r\n analytics.showMyAccountError({\r\n errorCodes: getErrorCodes(error),\r\n sectionType: SITE_SECTIONS.shippingAddress,\r\n })\r\n if (getErrorCodes(error).includes(ERROR_CODES.addressIsNotValid)) {\r\n createAlert({ name: ALERTS.shippingAddressIsNotValid })\r\n } else {\r\n onShowError(error, formValues)\r\n }\r\n })\r\n },\r\n onConfirmCorrectedAddress: ({\r\n onSaveShippingAddress,\r\n onShowError,\r\n createAlert,\r\n onCompleteSavingShippingAddress,\r\n initialize,\r\n }) => ({ shippingCorrectedResult }) => {\r\n return onSaveShippingAddress(shippingCorrectedResult)\r\n .then(({ value: { result } }) => {\r\n if (!result.isMatch) {\r\n createAlert({ name: ALERTS.profileShippingFormError })\r\n return\r\n }\r\n initialize(FORM_NAME, {\r\n ...result,\r\n postalCode: getPrintedPostalCode(result.postalCode),\r\n })\r\n createAlert({ name: ALERTS.successBillingInfoChanged })\r\n analytics.saveChanges({ sectionName: SITE_SECTIONS.shippingAddress })\r\n return onCompleteSavingShippingAddress()\r\n })\r\n .catch(error => {\r\n analytics.showMyAccountError({\r\n errorCodes: getErrorCodes(error),\r\n sectionType: SITE_SECTIONS.shippingAddress,\r\n })\r\n onShowError(error)\r\n })\r\n },\r\n }),\r\n reduxForm({\r\n form: FORM_NAME,\r\n }),\r\n formWithAddress(FORM_COUNTRY_TYPES.billing),\r\n)(ShippingInfoForm)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport ShippingInfoForm from './ShippingInfoFormContainer'\r\n\r\nexport default ShippingInfoForm\r\n","import env from 'env'\r\n\r\nexport const updateBusinessDetails = data => ({\r\n type: 'api/business/UPDATE_BUSINESS_DETAILS',\r\n payload: {\r\n apiAction: {\r\n hostname: env.api,\r\n url: '/api/accounts/me/company',\r\n data,\r\n headers: {},\r\n method: 'PUT',\r\n },\r\n },\r\n meta: {\r\n noAuth: true,\r\n },\r\n})\r\nupdateBusinessDetails.toString = () => 'api/business/UPDATE_BUSINESS_DETAILS'\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport classNames from 'classnames/bind'\r\nimport { Field } from 'redux-form'\r\nimport { MAX_LENGTHS, BUSINESS_FIELD_NAMES } from 'constants/forms'\r\nimport { Text, GetTextPath } from 'hocs/localization'\r\nimport { Input } from 'apps/FormFields'\r\nimport Button from 'elements/Button'\r\nimport {\r\n createValidation,\r\n createValidator,\r\n hasRequired,\r\n hasName,\r\n removeSpaces,\r\n} from 'utils/form'\r\nimport * as styles from './BusinessDetailsForm.scss'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IState {\r\n isDisabled: boolean,\r\n}\r\n\r\ninterface IProps {\r\n isDisabled?: boolean,\r\n t: Text,\r\n getTextPath: GetTextPath,\r\n handleSubmit: any,\r\n submitting: boolean,\r\n valid: boolean,\r\n dirty: boolean,\r\n isView: boolean,\r\n stateOptions: any[],\r\n onChangeCountry: () => void,\r\n isCardUpdate: boolean,\r\n paymentInfoUrl: string,\r\n isEdit: boolean,\r\n onConfirmCorrectedAddress: () => void,\r\n isUserUnableToUpdateInfo: boolean,\r\n postalCode: string,\r\n}\r\n\r\nclass BusinessDetailsForm extends React.Component {\r\n public readonly state = {\r\n isDisabled: false,\r\n }\r\n\r\n private requiredFieldValidation = createValidation([\r\n createValidator(hasRequired, this.props.getTextPath('errors.textField')),\r\n ])\r\n\r\n private contactNameValidation = createValidation([\r\n createValidator(hasName, this.props.getTextPath('errors.name')),\r\n ])\r\n\r\n public componentWillReceiveProps (nextProps) {\r\n if (this.props.isDisabled !== nextProps.isDisabled) {\r\n this.setState({\r\n isDisabled: nextProps.isDisabled,\r\n })\r\n }\r\n }\r\n\r\n public render () {\r\n const {\r\n t,\r\n handleSubmit,\r\n isEdit,\r\n submitting,\r\n isUserUnableToUpdateInfo,\r\n valid,\r\n } = this.props\r\n\r\n const isFieldDisabled = (isEdit && isUserUnableToUpdateInfo) || this.state.isDisabled || submitting\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
{t('infoMessage')}
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {isEdit && !isUserUnableToUpdateInfo && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default BusinessDetailsForm\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose, withHandlers } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { reduxForm, initialize } from 'redux-form'\r\nimport { createSelector } from 'reselect'\r\nimport _get from 'lodash/get'\r\nimport { analytics, SITE_SECTIONS } from 'services/Analytics'\r\nimport { ALERTS } from 'constants/alerts'\r\nimport { USER_FORMS } from 'constants/forms'\r\nimport { EMPTY_OBJECT } from 'constants/frozenObjects'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport { updateBusinessDetails } from 'api/client/actions/business'\r\nimport { getUserDetails as onGetUserDetails } from 'api/client/actions/user'\r\nimport { onShowError, createAlert } from 'redux-app/modules/alerts'\r\nimport { getUserDetails, isUserUnableToUpdateInfo } from 'redux-app/selectors/user'\r\nimport { getErrorCodes } from 'utils/error'\r\nimport BusinessDetailsForm from './BusinessDetailsForm'\r\n\r\nconst FORM_NAME = USER_FORMS.profileBusinessDetails\r\n\r\nconst getInitialValues = createSelector(\r\n state => _get(getUserDetails(state), 'company', EMPTY_OBJECT),\r\n (state, props) => props.isEdit,\r\n (company, isEdit) => {\r\n if (isEdit) {\r\n return company\r\n }\r\n },\r\n)\r\n\r\nexport default compose(\r\n connect(\r\n (state, props) => ({\r\n initialValues: getInitialValues(state, props),\r\n isUserUnableToUpdateInfo: isUserUnableToUpdateInfo(state),\r\n }),\r\n {\r\n onShowError,\r\n createAlert,\r\n initialize,\r\n updateBusinessDetails,\r\n onGetUserDetails,\r\n },\r\n ),\r\n withLocalization('profile.create.business'),\r\n withHandlers({\r\n onSubmit: ({\r\n updateBusinessDetails,\r\n onShowError,\r\n createAlert,\r\n onGetUserDetails,\r\n }) => formValues => {\r\n return updateBusinessDetails({ company: formValues })\r\n .then(({ value: { result } }) => {\r\n createAlert({ name: ALERTS.successBusinessDetailsChanged })\r\n analytics.saveChanges({ sectionName: SITE_SECTIONS.businessDetails })\r\n onGetUserDetails()\r\n })\r\n .catch((error: Error) => {\r\n analytics.showMyAccountError({\r\n errorCodes: getErrorCodes(error),\r\n sectionType: SITE_SECTIONS.businessDetails,\r\n })\r\n onShowError(error, formValues)\r\n })\r\n },\r\n }),\r\n reduxForm({\r\n form: FORM_NAME,\r\n enableReinitialize: true,\r\n }),\r\n)(BusinessDetailsForm)\r\n","import BusinessDetailsForm from './BusinessDetailsFormContainer'\r\n\r\nexport default BusinessDetailsForm\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport * as React from 'react'\r\nimport classNames from 'classnames/bind'\r\nimport Icon from 'elements/Icon'\r\nimport * as styles from './CollapsibleBlock.scss'\r\n\r\ninterface IProps{\r\n isOpen?: boolean,\r\n title: string,\r\n onCheck?: () => void,\r\n checkboxTitle?: string,\r\n styleType: string,\r\n isChecked: boolean,\r\n onOpen: () => void,\r\n onClose: () => void,\r\n disabled: boolean,\r\n setRef: () => void,\r\n isCheckboxReverseMode: boolean,\r\n}\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IState {\r\n isOpen: boolean,\r\n isChecked: boolean,\r\n}\r\n\r\nclass CollapsibleBlock extends React.Component {\r\n public readonly state = {\r\n isOpen: this.props.isOpen || false,\r\n isChecked: this.props.isChecked,\r\n }\r\n\r\n public componentWillReceiveProps (nextProps) {\r\n if (this.props.isOpen !== nextProps.isOpen) {\r\n this.setState({\r\n isOpen: nextProps.isOpen,\r\n })\r\n }\r\n }\r\n\r\n private onToggle = () => {\r\n if (this.props.onCheck && this.state.isChecked && !this.props.isCheckboxReverseMode) {\r\n return\r\n }\r\n if (this.props.onCheck && !this.state.isChecked && this.props.isCheckboxReverseMode) {\r\n return\r\n }\r\n\r\n if (!this.state.isOpen) {\r\n this.props.onOpen && this.props.onOpen()\r\n } else {\r\n this.props.onClose && this.props.onClose()\r\n }\r\n\r\n this.setState({\r\n isOpen: !this.state.isOpen,\r\n })\r\n }\r\n\r\n private onChangeCheckbox = () => {\r\n this.setState({\r\n isChecked: !this.state.isChecked,\r\n })\r\n\r\n if (!this.state.isOpen && (\r\n (this.state.isChecked && !this.props.isCheckboxReverseMode)\r\n || (!this.state.isChecked && this.props.isCheckboxReverseMode)\r\n )) {\r\n this.setState({\r\n isOpen: true,\r\n })\r\n } else if (this.state.isOpen\r\n || (!this.state.isOpen && !this.state.isChecked && !this.props.isCheckboxReverseMode)\r\n || (!this.state.isOpen && this.state.isChecked && this.props.isCheckboxReverseMode)) {\r\n this.setState({\r\n isOpen: false,\r\n })\r\n }\r\n this.props.onCheck()\r\n }\r\n\r\n private onPreventDoubleClick = e => {\r\n if (e.detail > 1) {\r\n e.preventDefault()\r\n }\r\n }\r\n\r\n public componentDidMount () {\r\n window.addEventListener('mousedown', this.onPreventDoubleClick)\r\n }\r\n\r\n public componentWillUnmount () {\r\n window.removeEventListener('mousedown', this.onPreventDoubleClick)\r\n }\r\n\r\n public render () {\r\n const { title, children, onCheck, checkboxTitle, styleType, isChecked, disabled, setRef } = this.props\r\n const { isOpen } = this.state\r\n\r\n return (\r\n
\r\n \r\n \r\n
{title}
\r\n {onCheck && (\r\n
\r\n \r\n \r\n
\r\n )}\r\n
\r\n {((!this.state.isChecked && !this.props.isCheckboxReverseMode)\r\n || (this.state.isChecked && this.props.isCheckboxReverseMode)) && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n
\r\n {children}\r\n
\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default CollapsibleBlock\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nexport enum CARD_FIELD_NAMES {\r\n nameOnCard = 'nameOnCard',\r\n paymentCreditCard = 'paymentCreditCard',\r\n expMonth = 'expMonth',\r\n expYear = 'expYear',\r\n CVV = 'CVV',\r\n}\r\n\r\nexport enum ADDRESS_FIELD_NAMES {\r\n firstName = 'firstName',\r\n lastName = 'lastName',\r\n countryId = 'countryId',\r\n stateId = 'stateId',\r\n city = 'city',\r\n postalCode = 'postalCode',\r\n address1 = 'address1',\r\n phoneNumber = 'phoneNumber',\r\n}\r\n\r\nexport const MODAL_UPDATE_ADDRESS = 'updatedBillingAddress'\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport CollapsibleBlock from './CollapsibleBlock'\r\n\r\nexport default CollapsibleBlock\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport classNames from 'classnames/bind'\r\nimport { Text } from 'hocs/localization'\r\nimport AddCardForm from 'apps/Profile/AddCardForm'\r\nimport BillingInfoForm from 'apps/Profile/BillingInfoForm'\r\nimport ShippingInfoForm from 'apps/Profile/ShippingInfoForm'\r\nimport BusinessDetailsForm from 'apps/Profile/BusinessDetailsForm'\r\nimport { correctedAllAddressesModal } from 'apps/Profile/CorrectedAddressModal'\r\nimport CollapsibleBlock from 'elements/CollapsibleBlock'\r\nimport Button from 'elements/Button/Button'\r\nimport * as styles from './SignUpForms.scss'\r\nimport SelectedPlan from 'apps/Profile/SelectedPlan'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IProps {\r\n isSubmitting: boolean,\r\n name: string,\r\n t: Text,\r\n changeBillingCheckbox: () => void,\r\n changeBusinessCheckbox: () => void,\r\n submitForm: () => Promise,\r\n isButtonDisabled: boolean,\r\n onConfirmCorrectedAddress: () => void\r\n isBillingCheckboxChecked: boolean,\r\n isBusinessCheckboxChecked: boolean,\r\n isPaymentDetailsOpened: boolean,\r\n plan: { name: string, id: string }\r\n}\r\n\r\nconst SignUpForms: React.SFC = ({\r\n isSubmitting,\r\n t,\r\n submitForm,\r\n isButtonDisabled,\r\n onConfirmCorrectedAddress,\r\n changeBillingCheckbox,\r\n changeBusinessCheckbox,\r\n isBillingCheckboxChecked,\r\n isBusinessCheckboxChecked,\r\n isPaymentDetailsOpened,\r\n plan,\r\n}) => (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{t('selectedPlanTitle')}

\r\n
\r\n
\r\n {plan && }\r\n
{t('changePlanInfo')}
\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
{t('changePlanInfo')}
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n)\r\n\r\nexport default SignUpForms\r\n","import { removeDashes } from 'utils/form'\r\nimport { ADDRESS_FIELD_NAMES } from './constants'\r\n\r\nexport const getNormalizedAddress = addressModel => Object.entries(addressModel).reduce((acc, [key, value]) => {\r\n if (key === ADDRESS_FIELD_NAMES.postalCode) {\r\n return {\r\n ...acc,\r\n [key]: removeDashes(value),\r\n }\r\n }\r\n return {\r\n ...acc,\r\n [key]: value,\r\n }\r\n}, {})\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose, lifecycle, withHandlers, withState } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { getFormValues, isValid } from 'redux-form'\r\nimport _get from 'lodash/get'\r\nimport _omit from 'lodash/omit'\r\nimport { analytics } from 'services/Analytics'\r\nimport { ERROR_CODES } from 'constants/errors'\r\nimport { ALERTS } from 'constants/alerts'\r\nimport { CARD_FIELD_NAMES, USER_FORMS } from 'constants/forms'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport { onRequestToPaymetric } from 'redux-app/actionCreators/users'\r\nimport { openModal } from 'redux-app/modules/modals'\r\nimport { onShowError, createAlert } from 'redux-app/modules/alerts'\r\nimport { onCompleteInitialSubscription, onSaveInitialSubscription } from 'redux-app/modules/auth'\r\nimport { getUserDetails } from 'api/client/actions/userProfile'\r\nimport { isCaptchaEnabled, isCaptchaWhiteListed } from 'redux-app/selectors/apiData'\r\nimport { getRegistrationStep } from 'redux-app/selectors/auth'\r\nimport { getUserId, isCaptchaRequiredForCreditCardChange } from 'redux-app/selectors/user'\r\nimport { MODAL_PAYMETRIC_SERVICE_UNAVAILABLE } from 'apps/Profile/PaymetricServiceUnavailableModal'\r\nimport { correctedAllAddressesModal } from 'apps/Profile/CorrectedAddressModal'\r\nimport { getErrorCodes, getNormalizedValidationErrors } from 'utils/error'\r\nimport SignUpForms from './SignUpForms'\r\nimport { getNormalizedAddress } from './utils'\r\nimport { getSubscriptionPlans, getSelectedPlanId } from 'redux-app/selectors/subscription'\r\n\r\ninterface IProps {\r\n getUserDetails: () => Promise<{}>\r\n}\r\n\r\nconst isCreateAccountFormsValid = (state, props) => {\r\n return isValid(USER_FORMS.profileShippingForm)(state) &&\r\n isValid(USER_FORMS.profileBillingForm)(state) &&\r\n isValid(USER_FORMS.profileAddCard)(state) &&\r\n (!props.isBusinessCheckboxChecked || isValid(USER_FORMS.profileBusinessDetails)(state))\r\n}\r\n\r\nconst onShowAddressFormsError = (error: any, alertName) => dispatch => {\r\n const codes = getErrorCodes(error)\r\n if (codes.includes(ALERTS.addressIsNotValid)) {\r\n dispatch(createAlert({\r\n name: alertName,\r\n }))\r\n } else {\r\n onShowError(error)\r\n }\r\n}\r\n\r\nexport default compose(\r\n withLocalization('profile.create'),\r\n withState('isPaymentDetailsOpened', 'setPaymentDetailsVisibility', false),\r\n withState('isBillingCheckboxChecked', 'setBillingCheckbox', true),\r\n withState('isBusinessCheckboxChecked', 'setBusinessCheckbox', false),\r\n withState('isSubmitting', 'setSubmittingState', false),\r\n connect(\r\n (state, props) => {\r\n return {\r\n isButtonDisabled: !isCreateAccountFormsValid(state, props),\r\n userId: getUserId(state),\r\n step: getRegistrationStep(state),\r\n shippingInfoFormValues: getFormValues(USER_FORMS.profileShippingForm)(state),\r\n businessInfoFormValues: getFormValues(USER_FORMS.profileBusinessDetails)(state),\r\n cardInfoFormValues: getFormValues(USER_FORMS.profileAddCard)(state),\r\n billingInfoFormValues: getFormValues(USER_FORMS.profileBillingForm)(state),\r\n isShippingFormValid: isValid(USER_FORMS.profileShippingForm)(state),\r\n plan: getSubscriptionPlans(state).find(plan => plan.id === getSelectedPlanId(state)),\r\n isCaptchaEnabled: isCaptchaEnabled(state) && isCaptchaRequiredForCreditCardChange(state),\r\n isCaptchaWhiteListed: isCaptchaWhiteListed(state),\r\n }\r\n },\r\n {\r\n onRequestToPaymetric,\r\n getUserDetails,\r\n onSaveInitialSubscription,\r\n onCompleteInitialSubscription,\r\n openModal,\r\n onShowError,\r\n onShowAddressFormsError,\r\n createAlert,\r\n },\r\n ),\r\n lifecycle({\r\n componentWillMount () {\r\n const { getUserDetails } = this.props\r\n getUserDetails()\r\n .then(() => {\r\n this.setState({\r\n loadProgress: 100,\r\n })\r\n })\r\n .catch(() => {\r\n this.setState({\r\n loadProgress: 100,\r\n })\r\n })\r\n .finally(() => {\r\n analytics.openCreatePaymentAndShippingPage()\r\n })\r\n },\r\n componentWillReceiveProps ({ isShippingFormValid }) {\r\n if (this.props.isShippingFormValid !== isShippingFormValid && isShippingFormValid) {\r\n this.props.setPaymentDetailsVisibility(true)\r\n }\r\n },\r\n }),\r\n withHandlers({\r\n changeBillingCheckbox: ({ isBillingCheckboxChecked, setBillingCheckbox }) => () => {\r\n return setBillingCheckbox(!isBillingCheckboxChecked)\r\n },\r\n changeBusinessCheckbox: ({ isBusinessCheckboxChecked, setBusinessCheckbox }) => () => {\r\n return setBusinessCheckbox(!isBusinessCheckboxChecked)\r\n },\r\n submitForm: ({\r\n userId,\r\n onRequestToPaymetric,\r\n shippingInfoFormValues,\r\n businessInfoFormValues,\r\n cardInfoFormValues,\r\n billingInfoFormValues,\r\n onSaveInitialSubscription,\r\n onCompleteInitialSubscription,\r\n openModal,\r\n onShowError,\r\n createAlert,\r\n onShowAddressFormsError,\r\n setSubmittingState,\r\n isCaptchaEnabled,\r\n isCaptchaWhiteListed,\r\n }) => () => {\r\n\r\n if (isCaptchaEnabled && !isCaptchaWhiteListed && !cardInfoFormValues.captcha) {\r\n return Promise.resolve()\r\n }\r\n\r\n setSubmittingState(true)\r\n const paymetricRequestData = {\r\n paymentCreditCard: _get(cardInfoFormValues, CARD_FIELD_NAMES.paymentCreditCard).replace(/-/g, ''),\r\n expMonth: _get(cardInfoFormValues, CARD_FIELD_NAMES.expMonth),\r\n expYear: _get(cardInfoFormValues, CARD_FIELD_NAMES.expYear),\r\n CVV: _get(cardInfoFormValues, CARD_FIELD_NAMES.CVV),\r\n }\r\n\r\n return onRequestToPaymetric(paymetricRequestData, cardInfoFormValues.captcha === undefined ? '' : cardInfoFormValues.captcha)\r\n .then(({ accessToken }) => {\r\n return onSaveInitialSubscription({\r\n userId,\r\n billingAddress: getNormalizedAddress({\r\n ...billingInfoFormValues,\r\n countryId: 1, // USA hardcoded\r\n }),\r\n company: businessInfoFormValues || null,\r\n shippingAddress: getNormalizedAddress({\r\n ...shippingInfoFormValues,\r\n countryId: 1, // USA hardcoded\r\n }),\r\n creditCard: {\r\n paymentAccessToken: accessToken,\r\n cardHolderName: _get(cardInfoFormValues, CARD_FIELD_NAMES.nameOnCard).trim(),\r\n PreAuthCompleted: false,\r\n },\r\n })\r\n .then(({ value: { result: { shippingAddress, creditCard: { billingAddress } } } }) => {\r\n setSubmittingState(false)\r\n if (!shippingAddress.isMatch || !billingAddress.isMatch) {\r\n const data = {}\r\n if (!shippingAddress.isMatch) {\r\n data.shippingCorrectedResult = _omit(shippingAddress, ['isMatch'])\r\n }\r\n if (!billingAddress.isMatch) {\r\n data.billingCorrectedResult = _omit(billingAddress, ['isMatch'])\r\n }\r\n openModal({ name: correctedAllAddressesModal.name, data })\r\n return\r\n }\r\n return onCompleteInitialSubscription().finally(() => {\r\n setSubmittingState(false)\r\n })\r\n })\r\n })\r\n .catch((error: any) => {\r\n setSubmittingState(false)\r\n\r\n if (isCaptchaEnabled && !isCaptchaWhiteListed)\r\n {\r\n window.grecaptcha.reset()\r\n cardInfoFormValues.captcha = ''\r\n }\r\n\r\n const errorCodes = getErrorCodes(error)\r\n analytics.showPaymentAndShippingError({\r\n errorCodes: getNormalizedValidationErrors(error.result).map(({ key, code }) => {\r\n if (code === ERROR_CODES.addressIsNotValid) {\r\n return `${code}.${key}`\r\n }\r\n return code\r\n }),\r\n })\r\n if (error.status === 409 && errorCodes.includes(ERROR_CODES.paymetricServiceUnavailable)) {\r\n openModal({\r\n name: MODAL_PAYMETRIC_SERVICE_UNAVAILABLE,\r\n data: {\r\n requestData: {\r\n ...cardInfoFormValues,\r\n },\r\n },\r\n })\r\n return\r\n }\r\n else if (errorCodes.includes(ERROR_CODES.paymetricCardCheckFailed)) {\r\n createAlert({ name: ALERTS.profileCreditCardIssue })\r\n return\r\n }\r\n if (errorCodes.includes(ERROR_CODES.addressIsNotValid)) {\r\n const normalizedValidationErrors = getNormalizedValidationErrors(error.result)\r\n normalizedValidationErrors.forEach(({ code, key }) => {\r\n if (code === ERROR_CODES.addressIsNotValid) {\r\n key.includes('ShippingAddress') && onShowAddressFormsError(error, ALERTS.profileShippingFormError)\r\n key.includes('BillingAddress') && onShowAddressFormsError(error, ALERTS.profileBillingFormError)\r\n }\r\n })\r\n return\r\n }\r\n onShowError(error, cardInfoFormValues)\r\n })\r\n },\r\n onConfirmCorrectedAddress: ({\r\n userId,\r\n businessInfoFormValues,\r\n cardInfoFormValues,\r\n shippingInfoFormValues,\r\n billingInfoFormValues,\r\n onRequestToPaymetric,\r\n onSaveInitialSubscription,\r\n onCompleteInitialSubscription,\r\n onShowError,\r\n createAlert,\r\n }) => ({ shippingCorrectedResult, billingCorrectedResult }) => {\r\n const paymetricRequestData = {\r\n paymentCreditCard: _get(cardInfoFormValues, CARD_FIELD_NAMES.paymentCreditCard).replace(/-/g, ''),\r\n expMonth: _get(cardInfoFormValues, CARD_FIELD_NAMES.expMonth),\r\n expYear: _get(cardInfoFormValues, CARD_FIELD_NAMES.expYear),\r\n CVV: _get(cardInfoFormValues, CARD_FIELD_NAMES.CVV),\r\n }\r\n return onRequestToPaymetric(paymetricRequestData, cardInfoFormValues.captcha === undefined ? '' : cardInfoFormValues.captcha)\r\n .then(({ accessToken }) => {\r\n return onSaveInitialSubscription({\r\n userId,\r\n billingAddress: getNormalizedAddress({\r\n countryId: 1, // USA hardcoded\r\n ...billingInfoFormValues,\r\n ...billingCorrectedResult,\r\n }),\r\n company: businessInfoFormValues || null,\r\n shippingAddress: getNormalizedAddress({\r\n countryId: 1, // USA hardcoded\r\n ...shippingInfoFormValues,\r\n ...shippingCorrectedResult,\r\n }),\r\n creditCard: {\r\n paymentAccessToken: accessToken,\r\n cardHolderName: _get(cardInfoFormValues, CARD_FIELD_NAMES.nameOnCard).trim(),\r\n PreAuthCompleted: true,\r\n },\r\n })\r\n .then(({ value: { result: { shippingAddress, creditCard: { billingAddress } } } }) => {\r\n if (!shippingAddress.isMatch || !billingAddress.isMatch) {\r\n !shippingAddress.isMatch && createAlert({ name: ALERTS.profileShippingFormError })\r\n !billingAddress.isMatch && createAlert({ name: ALERTS.profileBillingFormError })\r\n return\r\n }\r\n return onCompleteInitialSubscription()\r\n })\r\n .catch(error => {\r\n onShowError(error)\r\n analytics.showPaymentAndShippingError({ errorCodes: getErrorCodes(error) })\r\n })\r\n })\r\n .catch((error: any) => {\r\n const errorCodes = getErrorCodes(error)\r\n analytics.showPaymentAndShippingError({\r\n errorCodes: getNormalizedValidationErrors(error.result).map(({ key, code }) => {\r\n if (code === ERROR_CODES.addressIsNotValid) {\r\n return `${code}.${key}`\r\n }\r\n return code\r\n }),\r\n })\r\n if (error.status === 409 && errorCodes.includes(ERROR_CODES.paymetricServiceUnavailable)) {\r\n openModal({\r\n name: MODAL_PAYMETRIC_SERVICE_UNAVAILABLE,\r\n data: {\r\n requestData: {\r\n ...cardInfoFormValues,\r\n },\r\n },\r\n })\r\n return\r\n }\r\n else if (errorCodes.includes(ERROR_CODES.paymetricCvvCheckFailed) ||\r\n errorCodes.includes(ERROR_CODES.paymetricAvsCheckFailed)) {\r\n createAlert({ name: ALERTS.profileCreditCardIssue })\r\n return\r\n }\r\n if (errorCodes.includes(ERROR_CODES.addressIsNotValid)) {\r\n const normalizedValidationErrors = getNormalizedValidationErrors(error.result)\r\n normalizedValidationErrors.forEach(({ code, key }) => {\r\n if (code === ERROR_CODES.addressIsNotValid) {\r\n key.includes('ShippingAddress') && onShowAddressFormsError(error, ALERTS.profileShippingFormError)\r\n key.includes('BillingAddress') && onShowAddressFormsError(error, ALERTS.profileBillingFormError)\r\n }\r\n })\r\n return\r\n }\r\n onShowError(error, cardInfoFormValues)\r\n })\r\n },\r\n }),\r\n)(SignUpForms)\r\n","export enum FIELD_NAMES {\r\n customerSignature = 'customerSignature',\r\n epsonSignature = 'epsonSignature',\r\n termsRead = 'termsRead',\r\n}\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport SignUpForms from './SignUpFormsContainer'\r\n\r\nexport default SignUpForms\r\n","import React from 'react'\r\nimport classNames from 'classnames/bind'\r\nimport { withLocalization, Text } from 'hocs/localization'\r\nimport { getCurrencySymbol } from 'utils/user'\r\nimport * as styles from './LeaseAgreement.scss'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\nconst LeaseAgreement: React.SFC = ({\r\n t,\r\n productName,\r\n customerShippingAddress,\r\n monthlyFee,\r\n monthlyPayment,\r\n contractId,\r\n activationFee,\r\n businessSignatory,\r\n businessSignatoryTitle,\r\n customerName,\r\n customerPhoneNumber,\r\n customerEmail,\r\n contractStartDate,\r\n contractEndDate,\r\n firstPaymentDate,\r\n monthlyPaymentDay,\r\n totalMonthlyPayment,\r\n otherCharges,\r\n totalCost,\r\n totalTax,\r\n upDownFee,\r\n}) => {\r\n const currency = getCurrencySymbol()\r\n\r\n return (\r\n \r\n
\r\n
\r\n
\r\n

{t('leaseSummary')}

\r\n
\r\n
\r\n
\r\n
{t('deviceLabel')}
\r\n
{productName}
\r\n
\r\n
\r\n
{t('shippingAddressLabel')}
\r\n
{customerShippingAddress}
\r\n
\r\n
\r\n
{t('startContractLabel')}
\r\n
{contractEndDate}
\r\n
\r\n {activationFee !== '0.00' && (\r\n
\r\n
{t('activationFeeLabel')}
\r\n
{`${currency}${activationFee}`}
\r\n
\r\n )}\r\n
\r\n
{t('monthlyPaymentLabel')}
\r\n
{`${currency}${monthlyFee}`}
\r\n
\r\n
\r\n
{t('contractTermLabel')}
\r\n
{t('contractTermValue')}
\r\n
\r\n
\r\n
{t('securityDeposit')}
\r\n
\r\n
\r\n
{t('summaryInfo1')}
\r\n
{t('summaryInfo2')}
\r\n
{t('summaryInfo3')}
\r\n
\r\n
\r\n
\r\n
\r\n

{t('review')}

\r\n
\r\n
\r\n {t('leaseAgreementInfo')}\r\n
\r\n
\r\n
\r\n
\r\n
{t('section1')}
\r\n
\r\n
\r\n
\r\n
\r\n
{t('transactionIDLabel')}
\r\n
{contractId}
\r\n
\r\n
\r\n
{t('startDateLabel')}
\r\n
{contractStartDate}
\r\n
\r\n
\r\n
\r\n
{t('epsonNote')}
\r\n
\r\n
{t('addressCondition')}
\r\n
{t('epsonAddress')}
\r\n
\r\n
\r\n
\r\n
{t('customerNote')}
\r\n
\r\n
{t('customerNameLabel')}
\r\n
{businessSignatory\r\n ? `${businessSignatory}, ${businessSignatoryTitle}`\r\n : customerName\r\n }
\r\n
\r\n
\r\n
{t('mailingAddressLabel')}
\r\n
{customerShippingAddress}
\r\n
\r\n
\r\n
{t('phoneLabel')}
\r\n
{customerPhoneNumber}
\r\n
\r\n
\r\n
{t('emailLabel')}
\r\n
{customerEmail}
\r\n
\r\n
\r\n
\r\n
{t('deviceDescriptionLabel')}
\r\n
{productName}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{t('section2')}
\r\n
\r\n
\r\n
\r\n
\r\n
{t('columnTitle1')}
\r\n
\r\n
{t('firstPaymentLabel')}
\r\n
{`${currency}${monthlyPayment}`}
\r\n
\r\n
\r\n
\r\n
{t('columnTitle2')}
\r\n
\r\n {t('monthlyPayment1')}{`${currency}${monthlyPayment}`}\r\n {t('monthlyPayment2')}{firstPaymentDate}\r\n {t('monthlyPayment3')}{`${currency}${monthlyPayment}`}\r\n {t('monthlyPayment4')}{monthlyPaymentDay}\r\n {t('monthlyPayment5')}{`${currency}${totalMonthlyPayment}.`}\r\n
\r\n
\r\n
\r\n
{t('columnTitle3')}
\r\n
{t('otherChargesInfo')}
\r\n
{otherCharges}
\r\n {(!upDownFee || upDownFee !== '$0.00') && (\r\n
{upDownFee}
\r\n )}\r\n
\r\n
\r\n
{t('columnTitle4')}
\r\n
{t('totalInfo')}
\r\n
{`${currency}${totalCost}`}
\r\n
\r\n
\r\n

{t('section2Info1')}{t('section2Info1Bold')}

\r\n

{t('section2Info2')}{t('section2Info2Bold')}

\r\n
\r\n
\r\n
\r\n
\r\n
{t('section3')}
\r\n
\r\n
\r\n
{t('leaseTermTitle')}
\r\n

{t('leaseTermContent1')}{contractEndDate}{t('leaseTermContent2')}

\r\n
{t('leaseTermNote')}
\r\n
{t('taxesTitle')}
\r\n

{t('taxesContent1')}{`${currency}${totalTax}`}{t('taxesContent2')}

\r\n

{t('taxesContent3')}

\r\n
{t('paymentMethodTitle')}
\r\n

{t('paymentMethodContent1')}

\r\n

{t('paymentMethodContent5')}

\r\n
\r\n
\r\n
\r\n
\r\n
{t('section4')}
\r\n
\r\n
\r\n
{t('internetConnectionTitle')}
\r\n

{t('internetConnectionContent')}

\r\n
{t('addressTitle')}
\r\n

{t('addressContent')}

\r\n
{t('maintenanceTitle')}
\r\n

{t('maintenanceContent')}

\r\n
{t('providedInkTitle')}
\r\n

{t('providedInkContent')}

\r\n
{t('insuranceTitle')}
\r\n

{t('insuranceContent')}

\r\n
{t('printerLossTitle')}
\r\n

{t('printerLossContent')}

\r\n
{t('warrantiesTitle')}
\r\n

{t('warrantiesContent1')}

\r\n

{t('warrantiesContent2')}

\r\n
\r\n
\r\n
\r\n
\r\n
{t('section5')}
\r\n
\r\n
\r\n
{t('leaseOptionsTitle')}
\r\n

{t('leaseOptionsContent1')}

\r\n

{t('leaseOptionsContent2')}

\r\n

{t('leaseOptionsContent3')}

\r\n

{t('leaseOptionsContent4')}

\r\n

{t('leaseOptionsContent5')}

\r\n
{t('monthToMonthTitle')}
\r\n

{t('monthToMonthContent1')}

\r\n
{t('printerReturningTitle')}
\r\n

{t('printerReturningContent')}

\r\n
{t('wearTitle')}
\r\n

{t('wearContent1')}

\r\n

{t('wearContent2')}

\r\n

{t('wearContent3')}

\r\n

{t('wearContent4')}

\r\n
{t('terminationTitle1')}
\r\n

{t('terminationContent11')}

\r\n

{t('terminationContent12')}

\r\n

{t('terminationContent13')}

\r\n

{t('terminationContent14')}

\r\n
{t('terminationTitle2')}
\r\n

{t('terminationContent21')}

\r\n
{t('chargeCalculationTitle')}
\r\n

{t('chargeCalculationContent')}

\r\n
{t('defaultTitle')}
\r\n

{t('defaultContent1')}

\r\n

{t('defaultContent2')}

\r\n

{t('defaultContent3')}

\r\n

{t('defaultContent4')}

\r\n

{t('defaultContent5')}

\r\n
{t('remediesTitle')}
\r\n

{t('remediesContent1')}

\r\n

{t('remediesContent2')}

\r\n

{t('remediesContent3')}

\r\n

{t('remediesContent4')}

\r\n

{t('remediesContent5')}

\r\n

{t('remediesContent6')}

\r\n

{t('remediesContent7')}

\r\n

{t('remediesContent8')}

\r\n
{t('paymentTitle')}
\r\n

{t('paymentContent')}

\r\n
\r\n
\r\n
\r\n
\r\n
{t('section6')}
\r\n
\r\n
\r\n
{t('provisionsTitle')}
\r\n

{t('provisionsContent')}

\r\n
{t('assignmentTitle')}
\r\n

{t('assignmentContent')}

\r\n
{t('noticesTitle')}
\r\n

{t('noticesContent1')}

\r\n

{t('noticesContent3')}

\r\n

{t('noticesContent4')}

\r\n

{t('noticesContent5')}

\r\n

{t('noticesContent6')}

\r\n
{t('priceAndPlanChangesTitle')}
\r\n

{t('priceAndPlanChanges')}

\r\n
\r\n
\r\n
\r\n
\r\n

{t('info1')}

\r\n

{t('info2')}

\r\n

{t('info3')}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default withLocalization('leaseAgreement')(LeaseAgreement)\r\n","import LeaseAgreement from './LeaseAgreement'\r\n\r\nexport default LeaseAgreement\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport classNames from 'classnames/bind'\r\nimport { RouteComponentProps } from 'react-router-dom'\r\nimport { Field } from 'redux-form'\r\nimport { ROUTES } from 'constants/routes'\r\nimport { Text } from 'hocs/localization'\r\nimport Loading from 'apps/Loading'\r\nimport { Input, Checkbox } from 'apps/FormFields'\r\nimport Button from 'elements/Button'\r\nimport LeaseAgreement from 'apps/LeaseAgreement'\r\nimport { toCurrency } from 'utils/price'\r\nimport { createValidation, createValidator, hasRequired, hasRequiredCheckbox } from 'utils/form'\r\nimport { FIELD_NAMES } from './constants'\r\nimport * as styles from './Terms.scss'\r\nimport logo from 'assets/images/logo.png'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IProps extends RouteComponentProps {\r\n t: Text\r\n plan: any,\r\n summary: any,\r\n handleSubmit: any,\r\n acceptTerms: () => Promise\r\n onStartChangePlan: () => void,\r\n downloadTerms: () => void,\r\n termsFileUrl: string | null,\r\n isLoading: boolean,\r\n submitting: boolean,\r\n valid: boolean,\r\n}\r\n\r\ninterface IState {\r\n isSubmitting: boolean,\r\n isTermsAccepted: boolean,\r\n}\r\n\r\nclass Terms extends React.Component {\r\n public state = {\r\n isSubmitting: false,\r\n isTermsAccepted: false,\r\n }\r\n\r\n public requiredFieldValidation = createValidation([\r\n createValidator(hasRequired, this.props.getTextPath('errors.textField')),\r\n ])\r\n\r\n public requiredCheckboxValidation = createValidation([\r\n createValidator(hasRequiredCheckbox, ''),\r\n ])\r\n\r\n private onAccept = formValue => {\r\n this.setState({\r\n isSubmitting: true,\r\n })\r\n\r\n this.props.acceptTerms(formValue).finally(() => {\r\n this.setState({\r\n isSubmitting: false,\r\n })\r\n })\r\n }\r\n\r\n private onChangePlan = () => {\r\n this.props.history.push(ROUTES.profile.changePlan.root)\r\n }\r\n\r\n public render () {\r\n const {\r\n t,\r\n plan,\r\n isLoading,\r\n submitting,\r\n valid,\r\n handleSubmit,\r\n data,\r\n } = this.props\r\n\r\n return (\r\n
\r\n
\r\n
{t('description')}
\r\n
\r\n

{t('selectedPlan')}

\r\n
\r\n
\r\n\r\n
\r\n {plan && (\r\n
\r\n
{plan.name}/
\r\n
\r\n

{plan.name} {t('plan')}
\r\n
{plan.productDescription} {t('printer')}
\r\n
{t('with')} {t('unlimited')}
\r\n
{t('automat')}
\r\n

\r\n
\r\n {t('price', { price: toCurrency(plan.price) })} \r\n {t('taxes')}\r\n
\r\n

\r\n {!!plan.activationFee && (\r\n
\r\n {t('activationFee', { activationFee: toCurrency(plan.activationFee) })}\r\n
\r\n )}\r\n

\r\n
\r\n
{plan.productDescription}/
\r\n
\r\n
\r\n
{t('changePlanButton')}
\r\n
\r\n
\r\n )}\r\n {!plan && (\r\n
\r\n
{t('noPlanInfo')}
\r\n
{t('changePlanButton')}
\r\n
\r\n )}\r\n
\r\n {isLoading\r\n ? (
\r\n \r\n
)\r\n : ()\r\n }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{data && data.businessName ? data.businessName : ''}
\r\n
{t('signaturePrompt')}
\r\n \r\n
{t('signatureNote')}
\r\n
{data ? data.contractStartDate : '' }
\r\n
\r\n
\r\n
\r\n
{t('epsonName')}
\r\n \r\n
\r\n
{data ? data.contractStartDate : '' }
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n {this.state.isSubmitting ? t('submitting') : t('createButton')}\r\n \r\n
\r\n
\r\n {t('utc')}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default Terms\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nexport enum DATA_NAMES {\r\n creditCard = 'creditCard',\r\n billingAddress = 'billingAddress',\r\n}\r\n\r\nexport enum CARD_FIELD_NAMES {\r\n paymentCreditCard = 'paymentCreditCard',\r\n nameOnCard = 'nameOnCard',\r\n expMonth = 'expMonth',\r\n expYear = 'expYear',\r\n CVV = 'CVV',\r\n agreementCheckbox = 'agreementCheckbox',\r\n}\r\n\r\nexport enum ADDRESS_FIELD_NAMES {\r\n firstName = 'firstName',\r\n lastName = 'lastName',\r\n countryId = 'countryId',\r\n stateId = 'stateId',\r\n city = 'city',\r\n postalCode = 'postalCode',\r\n address1 = 'address1',\r\n phoneNumber = 'phoneNumber',\r\n}\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose, withHandlers, lifecycle, withState } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { reduxForm } from 'redux-form'\r\nimport { withRouter } from 'react-router-dom'\r\nimport _get from 'lodash/get'\r\nimport { analytics } from 'services/Analytics'\r\nimport { EMPTY_OBJECT } from 'constants/frozenObjects'\r\nimport { ALERTS } from 'constants/alerts'\r\nimport { ERROR_CODES } from 'constants/errors'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport { onAcceptTerms } from 'redux-app/actionCreators/subscription'\r\nimport { getTempSubscriptionTerms } from 'api/client/actions/subscriptions'\r\nimport { getUserDetails } from 'redux-app/selectors/user'\r\nimport { getSubscriptionPlans } from 'redux-app/selectors/subscription'\r\nimport { createAlert, onShowError } from 'redux-app/modules/alerts'\r\nimport { getErrorCodes } from 'utils/error'\r\nimport Terms from './Terms'\r\n\r\nexport default compose(\r\n withLocalization('profile.terms'),\r\n connect(\r\n state => {\r\n const userDetails = getUserDetails(state) || EMPTY_OBJECT\r\n const plans = getSubscriptionPlans(state) || EMPTY_OBJECT\r\n const userSubscriptionId = _get(userDetails, ['subscription', 'planId'])\r\n\r\n return {\r\n plan: plans.find(plan => plan.id === userSubscriptionId),\r\n }\r\n },\r\n {\r\n onAcceptTerms,\r\n getTempSubscriptionTerms,\r\n createAlert,\r\n onShowError,\r\n },\r\n ),\r\n withHandlers({\r\n acceptTerms: ({ onAcceptTerms }) => ({ customerSignature }) => {\r\n return onAcceptTerms({ customerSignature })\r\n .catch(error => {\r\n analytics.showReviewTermsError({ errorCodes: getErrorCodes(error) })\r\n })\r\n },\r\n }),\r\n reduxForm({\r\n form: 'acceptTerms',\r\n }),\r\n withState('data', 'setData', null),\r\n withState('isLoading', 'setLoadingStatus', true),\r\n lifecycle({\r\n componentDidMount () {\r\n window.scrollTo(0, 0)\r\n analytics.openCreateReviewTermsPage()\r\n this.props.getTempSubscriptionTerms()\r\n .then(({ value: { result } }) => {\r\n this.props.setData(result.fields)\r\n this.props.setLoadingStatus(false)\r\n })\r\n .catch(error => {\r\n const errorCodes = getErrorCodes(error)\r\n if (errorCodes.includes(ERROR_CODES.sabrixNotAvailable)) {\r\n this.props.createAlert({ name: ALERTS.error })\r\n return\r\n }\r\n this.props.setLoadingStatus(false)\r\n this.props.onShowError(error)\r\n })\r\n },\r\n }),\r\n withRouter,\r\n)(Terms)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport Terms from './TermsContainer'\r\n\r\nexport default Terms\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport classNames from 'classnames/bind'\r\nimport { Link } from 'react-router-dom'\r\nimport { Text } from 'hocs/localization'\r\nimport { ROUTES } from 'constants/routes'\r\nimport * as styles from './Congrats.scss'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IProps {\r\n t: Text\r\n}\r\n\r\nconst Congrats: React.SFC = ({ t, onResend, isResendingEmail, plan }) => (\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n

{t('heading')}!

\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n

{t('thanks1', { planName: plan.name })}

\r\n

{t('thanks2', { planName: plan.name })}

\r\n

{t('thanks3', { planName: plan.name })}

\r\n

\r\n {t('needHelp')}\r\n

\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n {t('viewAcc')}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n)\r\n\r\nexport default Congrats\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose, withHandlers, withState, lifecycle } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { analytics } from 'services/Analytics'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport { getActivePlan } from 'redux-app/selectors/user'\r\nimport { onResendConfirmEmail } from 'redux-app/actionCreators/users'\r\nimport { getErrorCodes } from 'utils/error'\r\nimport Congrats from './Congrats'\r\n\r\nexport default compose(\r\n withLocalization('profile.congrats'),\r\n connect(\r\n state => ({\r\n plan: getActivePlan(state),\r\n }),\r\n {\r\n onResendConfirmEmail,\r\n },\r\n ),\r\n withState('isResendingEmail', 'setResendingStatus', false),\r\n withHandlers({\r\n onResend: ({ onResendConfirmEmail, setResendingStatus }) => event => {\r\n event.preventDefault()\r\n setResendingStatus(true)\r\n onResendConfirmEmail()\r\n .then(() => {\r\n setResendingStatus(false)\r\n })\r\n .catch(error => {\r\n setResendingStatus(false)\r\n analytics.showCongratulationsError({ errorCodes: getErrorCodes(error) })\r\n })\r\n },\r\n }),\r\n lifecycle({\r\n componentDidMount () {\r\n const {\r\n plan,\r\n } = this.props\r\n \r\n window.scrollTo(0, 0)\r\n analytics.openCreateCongratulationsPage()\r\n analytics.enrollPlan({ planName: plan.name })\r\n },\r\n }),\r\n)(Congrats)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport Congrats from './CongratsContainer'\r\n\r\nexport default Congrats\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport { REGISTRATION_STEPS } from 'constants/auth'\r\nimport CreateProfileProgress from 'apps/Profile/CreateProfileProgress'\r\nimport SignUpForms from './apps/SignUpForms'\r\nimport Terms from './apps/Terms'\r\nimport Congrats from './apps/Congrats'\r\n\r\ninterface IProps {\r\n step: REGISTRATION_STEPS,\r\n}\r\n\r\nconst CreateProfile: React.FC = ({\r\n step,\r\n}) => (\r\n
\r\n
\r\n \r\n
\r\n {step === REGISTRATION_STEPS.payment && }\r\n {step === REGISTRATION_STEPS.terms && }\r\n {step === REGISTRATION_STEPS.congrats && }\r\n
\r\n)\r\n\r\nexport default CreateProfile\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { getRegistrationStep } from 'redux-app/selectors/auth'\r\nimport CreateProfile from './CreateProfile'\r\n\r\nexport default compose(\r\n connect(\r\n state => ({\r\n step: getRegistrationStep(state),\r\n }),\r\n null,\r\n ),\r\n)(CreateProfile)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport CreateProfile from './CreateProfileContainer'\r\n\r\nexport default CreateProfile\r\n","import React from 'react'\r\nimport LoadingOverlay from 'apps/LoadingOverlay'\r\nimport * as styles from './ProfileContent.scss'\r\n\r\nconst ProfileContent = ({ children, isLoading }) => (\r\n
\r\n {isLoading && ()}\r\n
\r\n {children}\r\n
\r\n
\r\n)\r\n\r\nexport default ProfileContent\r\n","import ProfileContent from './ProfileContent'\r\n\r\nexport default ProfileContent\r\n","import { DATA_NAMES, CARD_FIELD_NAMES } from './constants'\r\n\r\nexport const getFieldName = value => {\r\n if (CARD_FIELD_NAMES[value]) {\r\n return `${DATA_NAMES.creditCard}.${value}`\r\n }\r\n return `${DATA_NAMES.billingAddress}.${value}`\r\n}\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport classNames from 'classnames/bind'\r\nimport { Field } from 'redux-form'\r\nimport { correctedBillingAddressModal } from 'apps/Profile/CorrectedAddressModal'\r\nimport { MAX_LENGTHS } from 'constants/forms'\r\nimport { CARD_TYPES } from 'constants/payment'\r\nimport { API_TYPES } from 'constants/apiTypes'\r\nimport { Text, GetTextPath } from 'hocs/localization'\r\nimport { Select, Input, Checkbox, Captcha } from 'apps/FormFields'\r\nimport Button from 'elements/Button'\r\nimport Icon from 'elements/Icon'\r\nimport {\r\n createValidation,\r\n createValidator,\r\n hasRequiredCheckbox,\r\n hasRequired,\r\n hasCardNumber,\r\n hasCardCVV,\r\n hasSelectedValue,\r\n onlyDigits,\r\n hasFullName,\r\n hasNameOnCard,\r\n hasValidPostalCode,\r\n onBeforeChangePostalCode,\r\n} from 'utils/form'\r\nimport { CARD_FIELD_NAMES, ADDRESS_FIELD_NAMES } from './constants'\r\nimport { getFieldName } from './utils'\r\nimport * as styles from './PaymentDetailsForm.scss'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IState {\r\n isDisabled: boolean,\r\n isEditing: boolean,\r\n}\r\n\r\ninterface IProps {\r\n isDisabled?: boolean,\r\n t: Text,\r\n getTextPath: GetTextPath,\r\n stateOptions: any[],\r\n submitting: boolean,\r\n valid: boolean,\r\n router: any,\r\n expirationMonthOptions: any[],\r\n expirationYearOptions: any[],\r\n onConfirmCorrectedAddress: () => void,\r\n cardType: CARD_TYPES,\r\n onChangeCardNumber: (event: Event, value: string) => void,\r\n backUrl?: string,\r\n isShowBackLink: boolean,\r\n isEdit: boolean,\r\n isOpen: boolean,\r\n onSubmit: () => Promise,\r\n isCardNumberAutoFocus: boolean,\r\n handleSubmit: () => void,\r\n onClearFields: () => void,\r\n isSubmitting: boolean,\r\n isUserUnableToUpdateInfo: boolean,\r\n cardInfo: any,\r\n isCaptchaVerified: boolean,\r\n onVerifyCaptcha: (response: string) => void,\r\n captchaRef: (ref: React.ReactElement) => React.Ref,\r\n isCaptchaEnabled: boolean,\r\n isCaptchaWhiteListed: boolean,\r\n captchaFieldName: string,\r\n}\r\n\r\nclass PaymentDetailsForm extends React.Component {\r\n public readonly state = {\r\n isDisabled: false,\r\n isEditing: false,\r\n }\r\n\r\n private requiredFieldValidation = createValidation([\r\n createValidator(hasRequired, this.props.getTextPath('errors.textField')),\r\n ])\r\n\r\n private ccNumberValidation = createValidation([\r\n createValidator(\r\n value => hasCardNumber(value, this.props.cardType),\r\n () => this.props.getTextPath('errors.cardNumber'),\r\n ),\r\n ])\r\n\r\n private cardCVVValidation = createValidation([\r\n createValidator(\r\n value => hasCardCVV(value, this.props.cardType),\r\n () => this.props.getTextPath('errors.cardCVV'),\r\n ),\r\n ])\r\n public selectFieldValidation = createValidation([\r\n createValidator(hasSelectedValue, this.props.getTextPath('errors.select')),\r\n ])\r\n\r\n private cardFullNameValidation = createValidation([\r\n createValidator(value => hasFullName(value), this.props.getTextPath('errors.cardHolderFullName')),\r\n ])\r\n\r\n private cardNameValidation = createValidation([\r\n createValidator(value => hasNameOnCard(value), this.props.getTextPath('errors.cardHolderName')),\r\n ])\r\n\r\n private postalCodeValidation = createValidation([\r\n createValidator(hasValidPostalCode, this.props.getTextPath('errors.postalCode')),\r\n ])\r\n\r\n public requiredCheckboxValidation = createValidation([\r\n createValidator(hasRequiredCheckbox, ''),\r\n ])\r\n\r\n private onPasteCardNumber = (event) => {\r\n const value = event.clipboardData.getData('text/plain')\r\n this.props.onChangeCardNumber(event, value)\r\n }\r\n\r\n public componentWillReceiveProps (nextProps) {\r\n if (this.props.isDisabled !== nextProps.isDisabled) {\r\n this.setState({\r\n isDisabled: nextProps.isDisabled,\r\n })\r\n }\r\n }\r\n public componentDidUpdate (prevProps) {\r\n if (prevProps.isOpen !== this.props.isOpen) {\r\n this.setState({\r\n isEditing: false,\r\n })\r\n }\r\n }\r\n public toggleEditCard = () => {\r\n const fieldNames = []\r\n Object.keys(CARD_FIELD_NAMES).forEach(key => {\r\n fieldNames.push(getFieldName(CARD_FIELD_NAMES[key]))\r\n })\r\n this.props.onClearFields(fieldNames)\r\n this.setState({\r\n isEditing: !this.state.isEditing,\r\n })\r\n }\r\n\r\n public render () {\r\n const {\r\n t,\r\n handleSubmit,\r\n expirationMonthOptions,\r\n expirationYearOptions,\r\n cardType,\r\n onChangeCardNumber,\r\n isEdit,\r\n submitting,\r\n valid,\r\n isCardNumberAutoFocus,\r\n isSubmitting,\r\n isUserUnableToUpdateInfo,\r\n cardInfo,\r\n stateOptions,\r\n postalCode,\r\n onConfirmCorrectedAddress,\r\n isCaptchaEnabled,\r\n isCaptchaWhiteListed,\r\n captchaFieldName,\r\n onVerifyCaptcha,\r\n captchaRef,\r\n } = this.props\r\n const { isEditing } = this.state\r\n\r\n const isFieldDisabled = (isEdit && isUserUnableToUpdateInfo) || this.state.isDisabled || isSubmitting\r\n\r\n return (\r\n
\r\n {isEdit && (\r\n
\r\n
{t('cardOnFile')}:
\r\n
\r\n
*{cardInfo.last4Digits}
\r\n
{cardInfo.expirationMonth}/{cardInfo.expirationYear}
\r\n
\r\n
\r\n \r\n
\r\n
\r\n )}\r\n {isEditing && (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n {(isCaptchaEnabled && !isCaptchaWhiteListed) && (\r\n
\r\n \r\n
)}\r\n
\r\n )}\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n 5\r\n ? t('postalCodeMaskFull')\r\n : t('postalCodeMaskShort')\r\n }\r\n maskChar={null}\r\n beforeMaskedValueChange={onBeforeChangePostalCode}\r\n required\r\n />\r\n
\r\n
\r\n
\r\n {(isEdit && !isUserUnableToUpdateInfo) && (\r\n
\r\n \r\n \r\n
\r\n )}\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default PaymentDetailsForm\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport _get from 'lodash/get'\r\nimport _set from 'lodash/set'\r\nimport _omit from 'lodash/omit'\r\nimport { compose, withHandlers, withProps, withState } from 'recompose'\r\nimport { createSelector } from 'reselect'\r\nimport { connect } from 'react-redux'\r\nimport { change, getFormValues, initialize, reduxForm, reset, clearFields } from 'redux-form'\r\nimport { analytics, SITE_SECTIONS } from 'services/Analytics'\r\nimport { ERROR_CODES } from 'constants/errors'\r\nimport { EMPTY_OBJECT } from 'constants/frozenObjects'\r\nimport { USER_FORMS } from 'constants/forms'\r\nimport { CARD_TYPES } from 'constants/payment'\r\nimport { ALERTS } from 'constants/alerts'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport { FORM_COUNTRY_TYPES, formWithAddress } from 'hocs/formWithAddress'\r\nimport { onCompleteSavingBillingAddress } from 'redux-app/actionCreators/subscription'\r\nimport { onRequestToPaymetric, onUpdatePaymentDetails } from 'redux-app/actionCreators/users'\r\nimport { createAlert, onShowError } from 'redux-app/modules/alerts'\r\nimport { onFinishSendDataToServer, onSendDataToServer } from 'redux-app/modules/form'\r\nimport { openModal } from 'redux-app/modules/modals'\r\nimport { getUserDetails, isUserUnableToUpdateInfo, isCaptchaRequiredForCreditCardChange } from 'redux-app/selectors/user'\r\nimport { getUserDetails as onGetUserDetails } from 'api/client/actions/user'\r\nimport { correctedBillingAddressModal } from 'apps/Profile/CorrectedAddressModal'\r\nimport { getCardTypeByNumber, getMonthOptions, getYearOptions } from 'utils/payment'\r\nimport { getCurrentMonthIndex, getCurrentYearNumber } from 'utils/date'\r\nimport { isCaptchaEnabled, isCaptchaWhiteListed } from 'redux-app/selectors/apiData'\r\nimport { formWithCaptcha } from 'hocs/formWithCaptcha'\r\nimport { getPrintedPostalCode } from 'utils/printedData'\r\nimport { getErrorCodes } from 'utils/error'\r\nimport { removeDashes } from 'utils/form'\r\nimport { CARD_FIELD_NAMES, DATA_NAMES, ADDRESS_FIELD_NAMES } from './constants'\r\nimport { getFieldName } from './utils'\r\nimport PaymentDetailsForm from './PaymentDetailsForm'\r\n\r\nconst FORM_NAME = USER_FORMS.profileAddCard\r\nconst SHIPPING_FORM_NAME = USER_FORMS.profileShippingForm\r\nconst expirationMonthOptions = getMonthOptions()\r\nconst expirationYearOptions = getYearOptions()\r\n\r\ninterface IProps {\r\n redirectUrl: string,\r\n}\r\n\r\nconst getInitialValues = createSelector(\r\n state => _get(getUserDetails(state), [DATA_NAMES.creditCard, DATA_NAMES.billingAddress], EMPTY_OBJECT),\r\n state => getFormValues(SHIPPING_FORM_NAME)(state),\r\n (state, props) => props.isEdit,\r\n (billingAddress, shippingAddress, isEdit) => {\r\n if (!isEdit) {\r\n return shippingAddress\r\n }\r\n\r\n return {\r\n billingAddress: {\r\n ...billingAddress,\r\n [ADDRESS_FIELD_NAMES.postalCode]: getPrintedPostalCode(_get(billingAddress, ADDRESS_FIELD_NAMES.postalCode)),\r\n },\r\n }\r\n },\r\n)\r\n\r\nexport default compose(\r\n connect(\r\n (state, props) => {\r\n const userDetails = getUserDetails(state) || EMPTY_OBJECT\r\n\r\n return {\r\n initialValues: getInitialValues(state, props),\r\n cardType: getCardTypeByNumber(\r\n _get(getFormValues(FORM_NAME)(state), getFieldName(CARD_FIELD_NAMES.paymentCreditCard), ''),\r\n ),\r\n cvv: _get(getFormValues(FORM_NAME)(state), getFieldName(CARD_FIELD_NAMES.CVV), ''),\r\n afterSubmit: props.afterSubmit,\r\n isUserUnableToUpdateInfo: isUserUnableToUpdateInfo(state),\r\n cardInfo: _get(userDetails, DATA_NAMES.creditCard, ''),\r\n postalCode: _get(getFormValues(FORM_NAME)(state), getFieldName(ADDRESS_FIELD_NAMES.postalCode), ''),\r\n isCaptchaEnabled: isCaptchaEnabled(state) && isCaptchaRequiredForCreditCardChange(state),\r\n isCaptchaWhiteListed: isCaptchaWhiteListed(state),\r\n }\r\n },\r\n {\r\n onShowError,\r\n createAlert,\r\n openModal,\r\n initialize,\r\n changeField: change,\r\n onUpdatePaymentDetails,\r\n onRequestToPaymetric,\r\n onSendDataToServer,\r\n onFinishSendDataToServer,\r\n onCompleteSavingBillingAddress,\r\n onGetUserDetails,\r\n clearFields,\r\n },\r\n ),\r\n withLocalization('company.create.addCard.form'),\r\n withState('isSubmitting', 'setSubmittingState', false),\r\n withState('formData', 'setFormData', {}),\r\n withHandlers({\r\n onSubmit: ({\r\n onUpdatePaymentDetails,\r\n onShowError,\r\n onRequestToPaymetric,\r\n createAlert,\r\n afterSubmit,\r\n setSubmittingState,\r\n openModal,\r\n setFormData,\r\n onGetUserDetails,\r\n isCaptchaEnabled, \r\n isCaptchaWhiteListed,\r\n }) => formValues => {\r\n setSubmittingState(true)\r\n setFormData(formValues)\r\n\r\n let initialAction = () => Promise.resolve()\r\n if (formValues.creditCard) {\r\n const normalizedCCData = {\r\n [CARD_FIELD_NAMES.paymentCreditCard]: _get(formValues, getFieldName(CARD_FIELD_NAMES.paymentCreditCard), '')\r\n .replace(/-/g, ''),\r\n [CARD_FIELD_NAMES.expMonth]: _get(formValues, getFieldName(CARD_FIELD_NAMES.expMonth)),\r\n [CARD_FIELD_NAMES.expYear]: _get(formValues, getFieldName(CARD_FIELD_NAMES.expYear)),\r\n [CARD_FIELD_NAMES.CVV]: _get(formValues, getFieldName(CARD_FIELD_NAMES.CVV)),\r\n [CARD_FIELD_NAMES.nameOnCard]: _get(formValues, getFieldName(CARD_FIELD_NAMES.nameOnCard)).trim(),\r\n }\r\n\r\n if (isCaptchaEnabled && !formValues.captcha) {\r\n return Promise.resolve()\r\n }\r\n\r\n initialAction = () => onRequestToPaymetric(normalizedCCData, formValues.captcha === undefined ? '' : formValues.captcha)\r\n .then(paymetricResponse => {\r\n return {\r\n paymentAccessToken: paymetricResponse.accessToken,\r\n cardHolderName: normalizedCCData.nameOnCard,\r\n }\r\n })\r\n .catch(error => {\r\n onShowError(error)\r\n setSubmittingState(false)\r\n\r\n if (isCaptchaEnabled && !isCaptchaWhiteListed)\r\n {\r\n window.grecaptcha.reset();\r\n formValues.captcha = ''\r\n }\r\n\r\n return Promise.reject('Paymetric failed');\r\n })\r\n }\r\n\r\n return initialAction()\r\n .then(creditCard => {\r\n const requestData = {}\r\n if (creditCard) {\r\n requestData[DATA_NAMES.creditCard] = creditCard\r\n }\r\n requestData[DATA_NAMES.billingAddress] = {\r\n ...formValues[DATA_NAMES.billingAddress],\r\n [ADDRESS_FIELD_NAMES.postalCode]: removeDashes(\r\n _get(formValues, getFieldName(ADDRESS_FIELD_NAMES.postalCode)),\r\n ),\r\n }\r\n return onUpdatePaymentDetails(requestData)\r\n })\r\n .then(({ value: { result } }) => {\r\n if (!result[DATA_NAMES.billingAddress].isMatch) {\r\n const data = {\r\n billingCorrectedResult: _omit(result[DATA_NAMES.billingAddress], ['isMatch']),\r\n }\r\n openModal({ name: correctedBillingAddressModal.name, data })\r\n return\r\n }\r\n afterSubmit()\r\n reset(FORM_NAME)\r\n onGetUserDetails()\r\n createAlert({ name: ALERTS.successPaymentDetailsChanged })\r\n analytics.saveChanges({ sectionName: SITE_SECTIONS.paymentDetails })\r\n onCompleteSavingBillingAddress()\r\n })\r\n .catch(error => {\r\n if (getErrorCodes(error).includes(ERROR_CODES.addressIsNotValid)) {\r\n createAlert({ name: ALERTS.billingAddressIsNotValid })\r\n } else {\r\n onShowError(error, formValues)\r\n }\r\n analytics.showMyAccountError({\r\n errorCodes: getErrorCodes(error),\r\n sectionType: SITE_SECTIONS.paymentDetails,\r\n })\r\n })\r\n .finally(() => setSubmittingState(false))\r\n },\r\n onChangeCardNumber: ({ cardType, changeField, cvv }) => (event, newValue = '') => {\r\n if (cardType === CARD_TYPES.amex && getCardTypeByNumber(newValue) !== cardType) {\r\n changeField(FORM_NAME, getFieldName(CARD_FIELD_NAMES.CVV), cvv.slice(0, 3))\r\n }\r\n changeField(FORM_NAME, getFieldName(CARD_FIELD_NAMES.paymentCreditCard), newValue)\r\n },\r\n onConfirmCorrectedAddress: ({\r\n onUpdatePaymentDetails,\r\n onShowError,\r\n createAlert,\r\n onCompleteSavingBillingAddress,\r\n initialize,\r\n formData,\r\n onRequestToPaymetric,\r\n onGetUserDetails,\r\n }) => ({ billingCorrectedResult }) => {\r\n const formValues = {\r\n ...formData,\r\n [DATA_NAMES.billingAddress]: billingCorrectedResult,\r\n }\r\n let initialAction = () => Promise.resolve()\r\n if (formValues[DATA_NAMES.creditCard]) {\r\n const normalizedCCData = {\r\n [CARD_FIELD_NAMES.paymentCreditCard]: _get(formValues, getFieldName(CARD_FIELD_NAMES.paymentCreditCard), '')\r\n .replace(/-/g, ''),\r\n [CARD_FIELD_NAMES.expMonth]: _get(formValues, getFieldName(CARD_FIELD_NAMES.expMonth)),\r\n [CARD_FIELD_NAMES.expYear]: _get(formValues, getFieldName(CARD_FIELD_NAMES.expYear)),\r\n [CARD_FIELD_NAMES.CVV]: _get(formValues, getFieldName(CARD_FIELD_NAMES.CVV)),\r\n [CARD_FIELD_NAMES.nameOnCard]: _get(formValues, getFieldName(CARD_FIELD_NAMES.nameOnCard)).trim(),\r\n }\r\n initialAction = () => onRequestToPaymetric(normalizedCCData)\r\n .then(paymetricResponse => {\r\n return {\r\n paymentAccessToken: paymetricResponse.accessToken,\r\n cardHolderName: normalizedCCData.nameOnCard,\r\n }\r\n })\r\n .catch(error => {\r\n onShowError(error)\r\n })\r\n }\r\n return initialAction()\r\n .then(creditCard => {\r\n const requestData = {}\r\n if (creditCard) {\r\n requestData[DATA_NAMES.creditCard] = creditCard\r\n }\r\n requestData[DATA_NAMES.billingAddress] = {\r\n ...formValues[DATA_NAMES.billingAddress],\r\n [ADDRESS_FIELD_NAMES.postalCode]: removeDashes(\r\n _get(formValues, getFieldName(ADDRESS_FIELD_NAMES.postalCode)),\r\n ),\r\n }\r\n return onUpdatePaymentDetails(requestData)\r\n })\r\n .then(({ value: { result } }) => {\r\n if (!result.billingAddress.isMatch) {\r\n createAlert({ name: ALERTS.profileBillingFormError })\r\n return\r\n }\r\n initialize(FORM_NAME, {\r\n ...result,\r\n [DATA_NAMES.billingAddress]: {\r\n ...result[DATA_NAMES.billingAddress],\r\n [ADDRESS_FIELD_NAMES.postalCode]: getPrintedPostalCode(\r\n _get(result, getFieldName(ADDRESS_FIELD_NAMES.postalCode)),\r\n ),\r\n },\r\n })\r\n reset(FORM_NAME)\r\n onGetUserDetails()\r\n createAlert({ name: ALERTS.successPaymentDetailsChanged })\r\n analytics.saveChanges({ sectionName: SITE_SECTIONS.paymentDetails })\r\n onCompleteSavingBillingAddress()\r\n })\r\n .catch(error => {\r\n analytics.showMyAccountError({\r\n errorCodes: getErrorCodes(error),\r\n sectionType: SITE_SECTIONS.paymentDetails,\r\n })\r\n onShowError(error)\r\n })\r\n },\r\n onClearFields: ({ clearFields }) => fieldNames => {\r\n clearFields(FORM_NAME, false, false, ...fieldNames)\r\n },\r\n }),\r\n withProps(() => ({\r\n expirationMonthOptions,\r\n expirationYearOptions,\r\n })),\r\n reduxForm({\r\n form: FORM_NAME,\r\n validate: (values, { getTextPath }) => {\r\n const errors = {}\r\n if (_get(values, getFieldName(CARD_FIELD_NAMES.expYear), 0)) {\r\n const expiredYear = parseInt(`20${_get(values, getFieldName(CARD_FIELD_NAMES.expYear), 0)}`, 10)\r\n const currentYear = getCurrentYearNumber()\r\n const expiredMonth = parseInt(_get(values, getFieldName(CARD_FIELD_NAMES.expMonth)), 10)\r\n if (expiredYear < currentYear) {\r\n _set(errors, getFieldName(CARD_FIELD_NAMES.expYear), [getTextPath('errors.expiredYearPast')])\r\n } else if (expiredYear === currentYear && expiredMonth < getCurrentMonthIndex() + 1) {\r\n _set(errors, getFieldName(CARD_FIELD_NAMES.expMonth), [getTextPath('errors.expiredMonthPast')])\r\n }\r\n }\r\n return errors\r\n },\r\n }),\r\n formWithAddress(FORM_COUNTRY_TYPES.billing),\r\n formWithCaptcha,\r\n)(PaymentDetailsForm)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport PaymentDetailsForm from './PaymentDetailsFormContainer'\r\n\r\nexport default PaymentDetailsForm\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport { Text } from 'hocs/localization'\r\nimport Modal, { ModalMessage, ModalFooter, ModalFooterButtons } from 'apps/Modal'\r\nimport Button from 'elements/Button'\r\nimport { toCurrency } from 'utils/price'\r\nimport { MODAL_CONFIRM_CHANGING_PLAN } from './constants'\r\n\r\ninterface IProps {\r\n t: Text,\r\n onClose: () => void,\r\n goToPlans: () => void,\r\n upCharged: string,\r\n downCharged: string,\r\n}\r\n\r\nconst ConfirmChangingPlanModal: React.SFC = ({\r\n t,\r\n onClose,\r\n upCharged,\r\n downCharged,\r\n goToPlans,\r\n}) => (\r\n \r\n \r\n {t('youWillBeCharged', {\r\n upCharged: toCurrency(upCharged),\r\n downCharged: toCurrency(downCharged),\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default ConfirmChangingPlanModal\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nexport const MODAL_CONFIRM_CHANGING_PLAN = 'confirmChangingPlan'\r\n","import { compose, withHandlers } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { withRouter } from 'react-router-dom'\r\nimport { ROUTES } from 'constants/routes'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport { hiddenUnmountedModal } from 'hocs/hiddenUnmountedModal'\r\nimport { closeModal } from 'redux-app/modules/modals'\r\nimport { getModalDataByName } from 'redux-app/selectors/modals'\r\nimport ConfirmChangingPlanModal from './ConfirmChangingPlanModal'\r\nimport { MODAL_CONFIRM_CHANGING_PLAN } from './constants'\r\n\r\nexport default compose(\r\n hiddenUnmountedModal(MODAL_CONFIRM_CHANGING_PLAN),\r\n withLocalization('profile.manageAccount'),\r\n withRouter,\r\n connect(\r\n state => {\r\n const { upgradeFee, downgradeFee } = getModalDataByName(state, { name: MODAL_CONFIRM_CHANGING_PLAN })\r\n return {\r\n upCharged: upgradeFee,\r\n downCharged: downgradeFee,\r\n }\r\n },\r\n {\r\n closeModal,\r\n },\r\n ),\r\n withHandlers({\r\n onClose: ({ closeModal }) => () => closeModal({ name: MODAL_CONFIRM_CHANGING_PLAN }),\r\n goToPlans: ({ history: { push }, closeModal }) => () => {\r\n closeModal({ name: MODAL_CONFIRM_CHANGING_PLAN })\r\n push(ROUTES.profile.changePlan.root)\r\n },\r\n }),\r\n)(ConfirmChangingPlanModal)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { MODAL_CONFIRM_CHANGING_PLAN } from './constants'\r\nimport ConfirmChangingPlanModal from './ConfirmChangingPlanModalContainer'\r\n\r\nexport {\r\n MODAL_CONFIRM_CHANGING_PLAN\r\n}\r\n\r\nexport default ConfirmChangingPlanModal\r\n","import _get from 'lodash/get'\r\nimport { EMPTY_OBJECT } from 'constants/frozenObjects'\r\n\r\nexport const getEPSONContacts = state => {\r\n const res = {}\r\n state.contacts.contacts.value.forEach(item => {\r\n res[item.name.toLowerCase()] = {\r\n email: item.email,\r\n phoneNumber: item.phoneNumber,\r\n }\r\n })\r\n\r\n return res\r\n}\r\n\r\nexport const getGeneralContact = state => _get(getEPSONContacts(state), 'general', EMPTY_OBJECT)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport { Text } from 'hocs/localization'\r\nimport Modal, { ModalMessage, ModalFooter, ModalFooterButtons } from 'apps/Modal'\r\nimport Button from 'elements/Button'\r\nimport { MODAL_FORBIDDEN_CHANGING_PLAN } from './constants'\r\n\r\ninterface IProps {\r\n t: Text,\r\n onClose: () => void,\r\n phoneNumber: string,\r\n}\r\n\r\nconst ForbiddenChangingPlanModal: React.SFC = ({ t, onClose, phoneNumber }) => (\r\n \r\n \r\n {t('onlyOnceIn7Days', { phoneNumber })}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default ForbiddenChangingPlanModal\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nexport const MODAL_FORBIDDEN_CHANGING_PLAN = 'forbiddenChangingPlan'\r\n","import _get from 'lodash/get'\r\nimport { compose, withHandlers } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { EMPTY_OBJECT } from 'constants/frozenObjects'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport { hiddenUnmountedModal } from 'hocs/hiddenUnmountedModal'\r\nimport { getEPSONContacts } from 'redux-app/selectors/contacts'\r\nimport { closeModal } from 'redux-app/modules/modals'\r\nimport { MODAL_FORBIDDEN_CHANGING_PLAN } from './constants'\r\nimport ForbiddenChangingPlanModal from './ForbiddenChangingPlanModal'\r\n\r\nexport default compose(\r\n hiddenUnmountedModal(MODAL_FORBIDDEN_CHANGING_PLAN),\r\n withLocalization('profile.manageAccount'),\r\n connect(\r\n state => {\r\n const contacts = getEPSONContacts(state) || EMPTY_OBJECT\r\n return {\r\n phoneNumber: _get(contacts, 'general.phoneNumber', ''),\r\n }\r\n },\r\n {\r\n closeModal,\r\n },\r\n ),\r\n withHandlers({\r\n onClose: ({ closeModal }) => () => closeModal({ name: MODAL_FORBIDDEN_CHANGING_PLAN }),\r\n }),\r\n)(ForbiddenChangingPlanModal)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { MODAL_FORBIDDEN_CHANGING_PLAN } from './constants'\r\nimport ForbiddenChangingPlanModal from './ForbiddenChangingPlanModalContainer'\r\n\r\nexport {\r\n MODAL_FORBIDDEN_CHANGING_PLAN\r\n}\r\n\r\nexport default ForbiddenChangingPlanModal\r\n","import React from 'react'\r\nimport { Text } from 'hocs/localization'\r\nimport Modal, { ModalMessage, ModalFooter, ModalFooterButtons } from 'apps/Modal'\r\nimport Button from 'elements/Button'\r\nimport { toCurrency } from 'utils/price'\r\nimport * as styles from './ConfirmCancelSubscriptionModal.scss'\r\nimport { Select, Textarea } from 'shared/apps/FormFields'\r\nimport { MAX_LENGTHS } from 'constants/forms'\r\nimport { Field } from 'redux-form'\r\nimport { API_TYPES } from 'constants/apiTypes'\r\n\r\ninterface IProps {\r\n t: Text,\r\n name: string,\r\n onClose: () => void,\r\n onCancelSubscription: () => void,\r\n handleSubmit: () => void,\r\n isWithFee: boolean,\r\n fee: number,\r\n isSubmitting: boolean,\r\n otherSelected: boolean,\r\n reasonOptions: any[],\r\n setOtherSelected: any,\r\n setValid: any,\r\n valid: boolean \r\n}\r\n\r\ninterface IState { \r\n otherSelected: boolean,\r\n valid: boolean,\r\n details: string\r\n}\r\n\r\nexport const OTHER_REASON_ID = 5\r\nexport const MIN_REASON_LENGTH = 3\r\n\r\nclass ConfirmCancelSubscriptionModal extends React.Component {\r\n \r\n public onChangeReason = (event, newValue) => {\r\n\r\n if (newValue == null)\r\n {\r\n this.props.setValid(false)\r\n return;\r\n }\r\n\r\n if (newValue === OTHER_REASON_ID)\r\n {\r\n this.props.setOtherSelected(true)\r\n this.props.setValid(this.state != null && this.state.details.length >= MIN_REASON_LENGTH)\r\n return;\r\n }\r\n else \r\n {\r\n this.props.setValid(true)\r\n this.props.setOtherSelected(false) \r\n }\r\n }\r\n\r\n public onChangeDetails = (event, newValue) => {\r\n this.props.setValid(newValue.length >= MIN_REASON_LENGTH)\r\n this.setState({ details: newValue });\r\n }\r\n\r\npublic render()\r\n{ \r\n\r\n const {\r\n name,\r\n onClose,\r\n onCancelSubscription,\r\n handleSubmit,\r\n onSubmit,\r\n isSubmitting,\r\n valid,\r\n otherSelected,\r\n fee,\r\n isWithFee,\r\n t,\r\n reasonOptions\r\n } = this.props\r\n\r\n const caution = `${t('caution')} ${isWithFee ? t('feeInformation', { fee: toCurrency(fee) }) : ''}`\r\n\r\n return ( \r\n \r\n \r\n
\r\n \r\n {t('chooseReason')} \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
{caution}
\r\n
{t('question')}
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n}\r\n\r\nexport default ConfirmCancelSubscriptionModal\r\n","export enum NOTIFICATION_NAMES {\r\n notConfirmedEmail,\r\n printWillBeDelivered,\r\n cardExpired,\r\n askingReturnPrinter,\r\n subscriptionCanceled,\r\n subscriptionRenewed,\r\n subscriptionWillExpireSoon,\r\n subscriptionExpired,\r\n checkCreditCard,\r\n printerWillBeLocked,\r\n printerLocking,\r\n printerLocked,\r\n printerWillBeUnlocked,\r\n printerWillBeSoon,\r\n}\r\n","import { compose, lifecycle, withHandlers, withState } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { analytics } from 'services/Analytics'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport { onCancelSubscription } from 'redux-app/actionCreators/subscription'\r\nimport { closeModal } from 'redux-app/modules/modals'\r\nimport { getModalDataByName } from 'redux-app/selectors/modals'\r\nimport ConfirmCancelSubscriptionModal from './ConfirmCancelSubscriptionModal'\r\nimport {getCancellationReasonList} from 'api/client/actions/subscriptions'\r\nimport { reduxForm } from 'redux-form'\r\nimport { createSelector } from \"reselect\"\r\nimport { CONFIRM_CANCEL_SUBSCRIPTION_MODAL_NAME } from '../../contants'\r\n\r\nexport const getReasonOptions = createSelector(\r\n (state, props) => props.reasonsList,\r\n reasonsList => reasonsList.map(({ id, name }) => ({\r\n value: id,\r\n label: name,\r\n })), \r\n)\r\n\r\ninterface IProps {\r\n name: string\r\n}\r\n\r\nexport default compose(\r\n withLocalization('profile.manageAccount.confirmCancelSubscriptionModal'),\r\n withState('reasonsList', 'setReasonsList', []),\r\n connect(\r\n (state, props) => ({\r\n isWithFee: getModalDataByName(state, { name: CONFIRM_CANCEL_SUBSCRIPTION_MODAL_NAME }).hasCancellationFee,\r\n fee: getModalDataByName(state, { name: CONFIRM_CANCEL_SUBSCRIPTION_MODAL_NAME }).cancellationFee,\r\n reasonOptions: getReasonOptions(state, props)\r\n }),\r\n {\r\n getCancellationReasonList,\r\n closeModal,\r\n onCancelSubscription\r\n },\r\n ),\r\n reduxForm({\r\n form: 'cancelationForm',\r\n enableReinitialize: true,\r\n }),\r\n withState('isSubmitting', 'setSubmittingStatus', false),\r\n withState('otherSelected', 'setOtherSelected', false),\r\n withState('valid', 'setValid', false),\r\n lifecycle({\r\n componentDidMount () {\r\n const { getCancellationReasonList, setReasonsList } = this.props\r\n getCancellationReasonList()\r\n .then(({ value: { result } }) => { \r\n setReasonsList(result)\r\n })\r\n },\r\n }),\r\n withHandlers({\r\n onClose: ({ closeModal, name }) => () => closeModal({ name }),\r\n onSubmit: ({ setSubmittingStatus, onCancelSubscription, closeModal, name, cancellationReasonDetails }) => formValues => { \r\n setSubmittingStatus(true)\r\n return onCancelSubscription(formValues)\r\n .then(() => {\r\n setSubmittingStatus(false)\r\n closeModal({ name })\r\n analytics.cancelSubscription()\r\n })\r\n .catch(() => {\r\n setSubmittingStatus(false)\r\n })\r\n }\r\n }),\r\n)(ConfirmCancelSubscriptionModal)\r\n","export const CONFIRM_CANCEL_SUBSCRIPTION_MODAL_NAME = 'confirmCancelSubscription'\r\n","import ConfirmCancelSubscriptionModal from './ConfirmCancelSubscriptionModalContainer'\r\n\r\nexport default ConfirmCancelSubscriptionModal\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport _get from 'lodash/get'\r\nimport classNames from 'classnames/bind'\r\nimport { SUBSCRIPTION_STATUS, SUBSCRIPTION_PLAN_TYPE } from 'constants/subscription'\r\nimport { Text } from 'hocs/localization'\r\nimport LocalizationText from 'apps/LocalizationText'\r\nimport Button from 'elements/Button'\r\nimport { getPrintedDateLocal, isContractExpired } from 'utils/date'\r\nimport { getFormattedTextOrDefault } from 'utils/printedData'\r\nimport { CONFIRM_CANCEL_SUBSCRIPTION_MODAL_NAME } from './contants'\r\nimport ConfirmCancelSubscriptionModal from './apps/ConfirmCancelSubscriptionModal'\r\nimport * as styles from './ManageAccount.scss'\r\nimport ConfirmChangingPlanModal from '../ConfirmChangingPlanModal'\r\nimport ForbiddenChangingPlanModal from '../ForbiddenChangingPlanModal'\r\nimport { EMPTY_OBJECT } from 'constants/frozenObjects'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IProps {\r\n t: Text\r\n openChangingConfirm: () => void,\r\n isUserAbleToChangeSubscription: boolean,\r\n userSubscription: any,\r\n futureSubscription: any,\r\n onOpenCancellationConfirm: () => void,\r\n onGoToRenewalProcess: () => void,\r\n onGoToChangePlanProcess: () => void,\r\n onGoToEnrollPlanProcess: () => void,\r\n isUserAbleToCancelSubscription: boolean,\r\n isUserConfirmedEmail: boolean,\r\n isUserUnableToUpdateInfo: boolean,\r\n isEnrollAvailable: boolean,\r\n isUserContractExpired: boolean,\r\n isChangeSubscriptionAllowed: boolean,\r\n subscriptionStatus: SUBSCRIPTION_STATUS,\r\n}\r\n\r\nconst getPrintedStatus = (subscriptionStatus, t) => {\r\n let outputStatus = subscriptionStatus\r\n if (\r\n subscriptionStatus === SUBSCRIPTION_STATUS.pendingLocked ||\r\n subscriptionStatus === SUBSCRIPTION_STATUS.pendingPayment ||\r\n subscriptionStatus === SUBSCRIPTION_STATUS.locking\r\n ) {\r\n outputStatus = SUBSCRIPTION_STATUS.activated\r\n }\r\n\r\n return t('details.status', { status: t(`subscriptionStatuses.${outputStatus}`) })\r\n}\r\n\r\nconst ManageAccount: React.FC = ({\r\n t,\r\n openChangingConfirm,\r\n userSubscription,\r\n futureSubscription,\r\n isUserAbleToChangeSubscription,\r\n onOpenCancellationConfirm,\r\n onGoToRenewalProcess,\r\n onGoToChangePlanProcess,\r\n onGoToEnrollPlanProcess,\r\n isUserAbleToCancelSubscription,\r\n isUserConfirmedEmail,\r\n isUserUnableToUpdateInfo,\r\n subscriptionStatus,\r\n isEnrollAvailable,\r\n isChangeSubscriptionAllowed,\r\n isUserContractExpired\r\n}) => {\r\n const termStart = _get(userSubscription, 'termsStartDate')\r\n const termEnd = _get(userSubscription, 'termsEndDate')\r\n const hasDebts = _get(userSubscription, 'hasDebts')\r\n const contractType = _get(userSubscription, 'subscriptionContractType')\r\n const isCurrentContractExpired = futureSubscription === EMPTY_OBJECT && isEnrollAvailable\r\n\r\n return (\r\n
\r\n
    \r\n
  • \r\n \r\n {t('details.termStart', { termStart: isUserContractExpired ? 'N/A'\r\n : getFormattedTextOrDefault(getPrintedDateLocal)(termStart) })}\r\n \r\n
  • \r\n
  • \r\n \r\n {t('details.termEnd', { termEnd: isUserContractExpired ? 'N/A'\r\n : getFormattedTextOrDefault(getPrintedDateLocal)(termEnd) })}\r\n \r\n
  • \r\n
  • \r\n \r\n {t('details.subscriptionType', { subscriptionType: contractType === SUBSCRIPTION_PLAN_TYPE.contract ? 'Contract' : 'Month-2-Month' })}\r\n \r\n
  • \r\n {isCurrentContractExpired && isUserContractExpired && (\r\n
  • \r\n Subscription Status:
  • Expired
  • \r\n \r\n )}\r\n {!isUserContractExpired && (\r\n
  • \r\n \r\n {getPrintedStatus(subscriptionStatus, t)}\r\n \r\n
  • \r\n )}\r\n
\r\n\r\n {!isCurrentContractExpired && (\r\n
\r\n {isChangeSubscriptionAllowed && (\r\n
\r\n
\r\n \r\n {t('changeButtonTitle')}\r\n \r\n

{t('note')}

\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n \r\n {t('cancelButtonTitle')}\r\n \r\n

{t('note.cancel')}

\r\n
\r\n
\r\n
\r\n )}\r\n\r\n {isCurrentContractExpired && (\r\n
\r\n
\r\n
\r\n \r\n {t('enrollButtonTitle')}\r\n \r\n
\r\n
\r\n
\r\n )}\r\n\r\n \r\n \r\n \r\n
\r\n )\r\n}\r\n\r\nexport default ManageAccount\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose, withHandlers } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { withRouter } from 'react-router-dom'\r\nimport { SUBSCRIPTION_STATUS } from 'constants/subscription'\r\nimport { EMPTY_OBJECT } from 'constants/frozenObjects'\r\nimport { ROUTES } from 'constants/routes'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport { getUserDetails } from 'api/client/actions/user'\r\nimport { onVerifyCurrentCard } from 'redux-app/actionCreators/users'\r\nimport { createAlert, onShowError } from 'redux-app/modules/alerts'\r\nimport { MODAL_CONFIRM_CHANGING_PLAN } from '../ConfirmChangingPlanModal'\r\nimport { MODAL_FORBIDDEN_CHANGING_PLAN } from '../ForbiddenChangingPlanModal'\r\nimport { openModal } from 'redux-app/modules/modals'\r\nimport {\r\n getUserSubscription,\r\n getUserFutureSubscription,\r\n isUserUnableToUpdateInfo,\r\n isUserAbleToCancelSubscription,\r\n getSubscriptionStatus,\r\n isUserAbleToChangeSubscription,\r\n isUserConfirmedEmail,\r\n isEnrollAvailable,\r\n isUserContractExpired,\r\n isChangeSubscriptionAllowed\r\n} from 'redux-app/selectors/user'\r\nimport { CONFIRM_CANCEL_SUBSCRIPTION_MODAL_NAME } from './contants'\r\nimport ManageAccount from './ManageAccount'\r\nimport { ALERTS } from 'constants/alerts'\r\n\r\nexport default compose(\r\n connect(\r\n state => {\r\n const userSubscription = getUserSubscription(state) || EMPTY_OBJECT\r\n const futureSubscription = getUserFutureSubscription(state) || EMPTY_OBJECT\r\n const subscriptionStatus = getSubscriptionStatus(state)\r\n\r\n return {\r\n userSubscription,\r\n subscriptionStatus,\r\n futureSubscription,\r\n isUserConfirmedEmail: isUserConfirmedEmail(state),\r\n isUserAbleToChangeSubscription: isUserAbleToChangeSubscription(state) || futureSubscription !== EMPTY_OBJECT,\r\n isUserAbleToCancelSubscription: isUserAbleToCancelSubscription(state) || futureSubscription !== EMPTY_OBJECT,\r\n isUserUnableToUpdateInfo: isUserUnableToUpdateInfo(state),\r\n isEnrollAvailable: isEnrollAvailable(state),\r\n isUserContractExpired: isUserContractExpired(state),\r\n isChangeSubscriptionAllowed: isChangeSubscriptionAllowed(state),\r\n }\r\n },\r\n {\r\n openModal,\r\n getUserDetails,\r\n onVerifyCurrentCard,\r\n onShowError,\r\n createAlert,\r\n },\r\n ),\r\n withLocalization('profile.manageAccount'),\r\n withRouter,\r\n withHandlers({\r\n openChangingConfirm: ({\r\n openModal,\r\n getUserDetails,\r\n history,\r\n }) => () => {\r\n getUserDetails()\r\n .then(({ value: { result } }) => {\r\n const { subscription: {\r\n canChangeSubscriptionPlan,\r\n status,\r\n hasSubscriptionPlanChangeFee,\r\n upgradeFee,\r\n downgradeFee,\r\n } } = result\r\n if (canChangeSubscriptionPlan) {\r\n if (status === SUBSCRIPTION_STATUS.pendingConfirmation || !hasSubscriptionPlanChangeFee) {\r\n history.push(ROUTES.profile.changePlan.root)\r\n return\r\n }\r\n openModal({\r\n name: MODAL_CONFIRM_CHANGING_PLAN,\r\n data: {\r\n upgradeFee,\r\n downgradeFee,\r\n },\r\n })\r\n } else {\r\n openModal({\r\n name: MODAL_FORBIDDEN_CHANGING_PLAN,\r\n })\r\n }\r\n })\r\n },\r\n onOpenCancellationConfirm: ({ openModal, getUserDetails }) => () => {\r\n getUserDetails()\r\n .then(({ value: { result } }) => {\r\n const { subscription: { hasCancellationFee, cancellationFee } } = result\r\n openModal({\r\n name: CONFIRM_CANCEL_SUBSCRIPTION_MODAL_NAME,\r\n data: {\r\n hasCancellationFee,\r\n cancellationFee,\r\n },\r\n })\r\n })\r\n },\r\n onGoToRenewalProcess: ({ history, onVerifyCurrentCard, onShowError }) => () => {\r\n onVerifyCurrentCard().then(({ value: { result } }) => {\r\n history.push(ROUTES.profile.renewPlan.root)\r\n return\r\n })\r\n .catch(error => {\r\n onShowError(error)\r\n })\r\n return\r\n },\r\n onGoToChangePlanProcess: ({ history }) => () => {\r\n history.push(ROUTES.profile.changePlan.root)\r\n return\r\n },\r\n onGoToEnrollPlanProcess: ({ history, onVerifyCurrentCard, onShowError }) => () => {\r\n onVerifyCurrentCard().then(({ value: { result } }) => {\r\n history.push(ROUTES.profile.enrollPlan.root)\r\n return\r\n })\r\n .catch(error => {\r\n onShowError(error)\r\n })\r\n },\r\n }),\r\n)(ManageAccount)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport ManageAccount from './ManageAccountContainer'\r\n\r\nexport default ManageAccount\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport _get from 'lodash/get'\r\nimport React from 'react'\r\nimport { Text } from 'hocs/localization'\r\nimport { getFormattedTextOrDefault } from 'utils/printedData'\r\nimport { SUBSCRIPTION_PLAN_TYPE } from 'constants/subscription'\r\nimport { toCurrency } from 'utils/price'\r\nimport { isContractExpired } from 'utils/date'\r\nimport * as styles from './CurrentSubscription.scss'\r\nimport { EMPTY_OBJECT } from 'constants/frozenObjects'\r\n\r\ninterface IProps {\r\n plan: any,\r\n t: Text,\r\n onGoToRenewalProcess: () => void,\r\n onGoToChangePlanProcess: () => void,\r\n onGoToEnrollPlanProcess: () => void,\r\n currency: string,\r\n businessName: string,\r\n userDetails: any,\r\n nextBilling: string | null,\r\n lastBilling: string | null,\r\n address: string,\r\n contractType: string,\r\n isEnrollAvailable: boolean,\r\n userSubscription: any,\r\n futureSubscription: any,\r\n}\r\n\r\nconst CurrentSubscription: React.SFC = ({\r\n plan,\r\n t,\r\n onGoToRenewalProcess,\r\n onGoToChangePlanProcess,\r\n onGoToEnrollPlanProcess,\r\n currency,\r\n businessName,\r\n userDetails,\r\n nextBilling,\r\n lastBilling,\r\n address,\r\n contractType,\r\n isEnrollAvailable,\r\n userSubscription,\r\n futureSubscription,\r\n}) => {\r\n\r\n const termEnd = _get(userSubscription, 'termsEndDate')\r\n const isCurrentContractExpired = futureSubscription === EMPTY_OBJECT && isContractExpired(termEnd)\r\n const isRenewalButtonEnabled = userSubscription.isRenewalProcessAvailable\r\n\r\n return (\r\n
\r\n
\r\n {plan.name}/\r\n
\r\n
\r\n
    \r\n
  • \r\n \r\n {t('subscription')}:\r\n \r\n \r\n {t('subscriptionName', { planName: plan.name, currency, planPrice: toCurrency(plan.price) })}\r\n \r\n
  • \r\n
  • \r\n {t('contractType')}:\r\n {isCurrentContractExpired && (\r\n Expired\r\n )}\r\n {!isCurrentContractExpired && (\r\n {contractType}\r\n )}\r\n
  • \r\n
  • \r\n {t('nextPayment')}:\r\n {getFormattedTextOrDefault(nextBilling => nextBilling)(nextBilling)}\r\n
  • \r\n
  • \r\n {t('lastPayment')}:\r\n {getFormattedTextOrDefault(lastBilling => lastBilling)(lastBilling)}\r\n
  • \r\n {address && (\r\n
  • \r\n {t('address')}:\r\n {address}\r\n
  • \r\n )}\r\n {businessName && (\r\n
  • \r\n {t('businessName')}:\r\n {businessName}\r\n
  • \r\n )}\r\n {userDetails.creditCard && (\r\n
  • \r\n {t('cardOnFile')}:\r\n
    \r\n *{userDetails.creditCard.last4Digits}\r\n {userDetails.creditCard.expirationMonth}/{userDetails.creditCard.expirationYear}\r\n
    \r\n
  • \r\n )}\r\n
  • \r\n {t('emailAddress')}:\r\n {userDetails.email}\r\n
  • \r\n {(!isCurrentContractExpired && isRenewalButtonEnabled) && (\r\n
  • \r\n
    \r\n {t('renewalOptions')}\r\n
    \r\n
  • \r\n )}\r\n {(isEnrollAvailable) && (\r\n
  • \r\n
    \r\n {t('enrollAgain')}\r\n
    \r\n
  • \r\n )}\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default CurrentSubscription\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport _get from 'lodash/get'\r\nimport { EMPTY_OBJECT } from 'constants/frozenObjects'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport { getStates } from 'redux-app/selectors/apiData'\r\nimport { getUserDetails } from 'redux-app/selectors/user'\r\nimport { getPrintedDateLocal } from 'utils/date'\r\nimport { getCurrencySymbol, getPostalCodeFormatted } from 'utils/user'\r\nimport CurrentSubscription from './CurrentSubscription'\r\nimport { SUBSCRIPTION_PLAN_TYPE } from 'constants/subscription'\r\nimport { getUserFutureSubscription, isEnrollAvailable } from 'redux-app/selectors/user'\r\n\r\nexport default compose(\r\n connect(\r\n (state, props) => {\r\n const { plan } = props\r\n const userDetails = getUserDetails(state) || { creditCard:{} }\r\n const currentSubscription = userDetails.subscription\r\n const futureSubscription = getUserFutureSubscription(state) || EMPTY_OBJECT\r\n const stateAbbr = _get(\r\n getStates(state).find(state => state.id === userDetails.shippingAddress.stateId),\r\n 'isoCode',\r\n '',\r\n )\r\n const { address1, city, postalCode } = userDetails.shippingAddress\r\n return {\r\n currency: getCurrencySymbol(_get(plan, 'currency', EMPTY_OBJECT)),\r\n plan: plan || EMPTY_OBJECT,\r\n userDetails,\r\n nextBilling: ('nextBilling' in currentSubscription && currentSubscription.nextBilling) ?\r\n getPrintedDateLocal(currentSubscription.nextBilling) : null,\r\n lastBilling: ('lastBilling' in currentSubscription && currentSubscription.lastBilling) ?\r\n getPrintedDateLocal(currentSubscription.lastBilling) : null,\r\n address: `${address1}, ${city}, ${stateAbbr} ${getPostalCodeFormatted(postalCode)}`,\r\n businessName: _get(userDetails, ['company', 'name']),\r\n contractType: currentSubscription.subscriptionContractType === SUBSCRIPTION_PLAN_TYPE.contract ? 'Contract' : 'Mo-2-Mo',\r\n userSubscription: currentSubscription,\r\n futureSubscription,\r\n isEnrollAvailable: isEnrollAvailable(state)\r\n }\r\n },\r\n null,\r\n ),\r\n withLocalization('profile.currentSubscription'),\r\n)(CurrentSubscription)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport CurrentSubscription from './CurrentSubscriptionContainer'\r\n\r\nexport default CurrentSubscription\r\n","export enum SHIPPING_HISTORY_COLS {\r\n items = 'items',\r\n status = 'status',\r\n deliveredAt = 'deliveredAt',\r\n trackingUrl = 'trackingUrl',\r\n}\r\n","import React from 'react'\r\nimport classNames from 'classnames/bind'\r\nimport { Text } from 'hocs/localization'\r\nimport { getPrintedDate, getPrintedDateLocal } from 'utils/date'\r\nimport { NOTIFICATION_NAMES } from './constants'\r\nimport * as styles from './Notifications.scss'\r\nimport { EMPTY_OBJECT } from 'constants/frozenObjects'\r\nimport { SUBSCRIPTION_PLAN_TYPE } from 'constants/subscription'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IProps {\r\n items: NOTIFICATION_NAMES[],\r\n t: Text,\r\n isResendingEmail: boolean,\r\n onResend: () => void,\r\n onGoToPaymentHistory: () => void,\r\n onGoToRenewalProcess: () => void,\r\n onGoToEnrollPlanProcess: () => void,\r\n contacts: any,\r\n futureSubscription: any,\r\n}\r\n\r\nconst Notifications: React.FC = ({ items, t, isResendingEmail, onResend, onGoToPaymentHistory,\r\n onGoToRenewalProcess, onGoToEnrollPlanProcess, contacts, futureSubscription }) => (\r\n \r\n {items.map(name => {\r\n if (name === NOTIFICATION_NAMES.notConfirmedEmail) {\r\n return (\r\n
\r\n {t('notConfirmedEmail')}\r\n  \r\n \r\n {t('resendEmailLink')}\r\n \r\n
\r\n )\r\n }\r\n if (name === NOTIFICATION_NAMES.printWillBeDelivered) {\r\n return (\r\n
\r\n {t('printerWillBeDelivered')}\r\n
\r\n )\r\n }\r\n if (name === NOTIFICATION_NAMES.cardExpired) {\r\n return (\r\n
\r\n {t('cardExpired')}\r\n
\r\n )\r\n }\r\n if (name === NOTIFICATION_NAMES.askingReturnPrinter) {\r\n return (\r\n
\r\n {t('askingReturnPrinter')}\r\n
\r\n )\r\n }\r\n if (name === NOTIFICATION_NAMES.subscriptionCanceled) {\r\n return (\r\n
\r\n {t('subscriptionCanceled')}\r\n
\r\n )\r\n }\r\n if (name === NOTIFICATION_NAMES.subscriptionRenewed) {\r\n return (\r\n
\r\n
\r\n {t('subscriptionRenewed')}\r\n
\r\n {(futureSubscription !== EMPTY_OBJECT && futureSubscription.subscriptionContractType === SUBSCRIPTION_PLAN_TYPE.contract) &&\r\n
\r\n {t('futureContract', { termsStartDate: getPrintedDateLocal(futureSubscription.termsStartDate) })}\r\n
\r\n }\r\n {(futureSubscription !== EMPTY_OBJECT && futureSubscription.subscriptionContractType === SUBSCRIPTION_PLAN_TYPE.monthToMonth) &&\r\n
\r\n {t('futureM2M', { termsEndDate: getPrintedDateLocal(futureSubscription.termsEndDate) })}\r\n
\r\n }\r\n
\r\n )\r\n }\r\n\r\n if (name === NOTIFICATION_NAMES.subscriptionWillExpireSoon) {\r\n return (\r\n
\r\n
{t('subscriptionEndSoon')}
\r\n  \r\n \r\n
\r\n )\r\n }\r\n if (name === NOTIFICATION_NAMES.subscriptionExpired) {\r\n return (\r\n
\r\n
{t('subscriptionExpired')}
\r\n  \r\n \r\n
\r\n )\r\n }\r\n if (name === NOTIFICATION_NAMES.checkCreditCard) {\r\n return (\r\n
\r\n {t('checkCreditCard')}\r\n  \r\n \r\n {t('viewMoreLink')}\r\n \r\n
\r\n )\r\n }\r\n if (name === NOTIFICATION_NAMES.printerWillBeLocked) {\r\n return (\r\n
\r\n {t('printerWillBeLocked')}\r\n  \r\n \r\n {t('viewMoreLink')}\r\n \r\n
\r\n )\r\n }\r\n if (name === NOTIFICATION_NAMES.printerLocking) {\r\n return (\r\n
\r\n {t('printerLocking1')}\r\n  \r\n \r\n {t('viewMoreLink')}\r\n \r\n  \r\n {t('printerLocking2')}\r\n
\r\n )\r\n }\r\n if (name === NOTIFICATION_NAMES.printerLocked) {\r\n return (\r\n
\r\n {t('printerLocked', { phoneNumber: contacts.general.phoneNumber })}\r\n
\r\n )\r\n }\r\n if (name === NOTIFICATION_NAMES.printerWillBeUnlocked) {\r\n return (\r\n
\r\n {t('printerWillBeUnlocked')}\r\n
\r\n )\r\n }\r\n if (name === NOTIFICATION_NAMES.printerWillBeSoon) {\r\n return (\r\n
\r\n {t('printerWillBeSoon')}\r\n
\r\n )\r\n }\r\n return null\r\n })}\r\n
\r\n)\r\n\r\nexport default Notifications\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose, withState, withHandlers } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { createSelector } from 'reselect'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport { onResendConfirmEmail } from 'redux-app/actionCreators/users'\r\nimport {\r\n isUserConfirmedEmail,\r\n isPlanAcceptedMessageShown,\r\n isCardExpired,\r\n getSubscriptionStatus,\r\n isPrinterWillBeSentSoon,\r\n isRenewalProcessAvailable,\r\n isSubscriptionRenewed,\r\n isEnrollAvailable,\r\n getUserFutureSubscription,\r\n} from 'redux-app/selectors/user'\r\nimport { getEPSONContacts } from 'redux-app/selectors/contacts'\r\nimport Notifications from './Notifications'\r\nimport { getActiveNotificationNames } from './utils'\r\nimport { EMPTY_OBJECT } from 'constants/frozenObjects'\r\n\r\nconst getActiveNotifications = createSelector(\r\n getSubscriptionStatus,\r\n isPlanAcceptedMessageShown,\r\n isUserConfirmedEmail,\r\n isCardExpired,\r\n isPrinterWillBeSentSoon,\r\n isRenewalProcessAvailable,\r\n isSubscriptionRenewed,\r\n isEnrollAvailable,\r\n getUserFutureSubscription,\r\n (\r\n subscriptionStatus,\r\n isPlanAcceptedMessageShown,\r\n isUserConfirmedEmail,\r\n isCardExpired,\r\n isPrinterWillBeSentSoon,\r\n isRenewalProcessAvailable,\r\n isSubscriptionRenewed,\r\n isEnrollAvailable,\r\n ) =>\r\n getActiveNotificationNames({\r\n subscriptionStatus,\r\n isPlanAcceptedMessageShown,\r\n isUserConfirmedEmail,\r\n isCardExpired,\r\n isPrinterWillBeSentSoon,\r\n isRenewalProcessAvailable,\r\n isSubscriptionRenewed,\r\n isEnrollAvailable,\r\n }),\r\n)\r\n\r\nexport default compose(\r\n withLocalization('profile.view.notifications'),\r\n connect(\r\n state => {\r\n const futureSubscription = getUserFutureSubscription(state) || EMPTY_OBJECT\r\n\r\n return {\r\n items: getActiveNotifications(state),\r\n contacts: getEPSONContacts(state),\r\n futureSubscription\r\n }\r\n },\r\n {\r\n onResendConfirmEmail,\r\n },\r\n ),\r\n withState('isResendingEmail', 'setResendingStatus', false),\r\n withHandlers({\r\n onResend: ({ onResendConfirmEmail, setResendingStatus }) => event => {\r\n event.preventDefault()\r\n setResendingStatus(true)\r\n onResendConfirmEmail()\r\n .then(() => {\r\n setResendingStatus(false)\r\n })\r\n .catch(() => {\r\n setResendingStatus(false)\r\n })\r\n },\r\n }),\r\n)(Notifications)\r\n","import { EMPTY_OBJECT } from 'constants/frozenObjects'\r\nimport { SUBSCRIPTION_STATUS } from 'constants/subscription'\r\nimport { NOTIFICATION_NAMES } from './constants'\r\n\r\ninterface IParams {\r\n isUserConfirmedEmail?: boolean,\r\n isPlanAcceptedMessageShown?: boolean,\r\n isCardExpired?: boolean,\r\n subscriptionStatus?: SUBSCRIPTION_STATUS,\r\n isPrinterWillBeSentSoon?: boolean,\r\n isRenewalProcessAvailable: boolean,\r\n isSubscriptionRenewed: boolean,\r\n isEnrollAvailable: boolean,\r\n futureSubscription?: any,\r\n}\r\n\r\nexport const getActiveNotificationNames = ({\r\n isUserConfirmedEmail,\r\n isPlanAcceptedMessageShown,\r\n isCardExpired,\r\n subscriptionStatus,\r\n isPrinterWillBeSentSoon,\r\n isRenewalProcessAvailable,\r\n isSubscriptionRenewed,\r\n isEnrollAvailable,\r\n futureSubscription,\r\n}: IParams) => {\r\n const notifications = []\r\n if (isUserConfirmedEmail === false && subscriptionStatus !== SUBSCRIPTION_STATUS.canceled) {\r\n notifications.push(NOTIFICATION_NAMES.notConfirmedEmail)\r\n }\r\n if (isPlanAcceptedMessageShown) {\r\n notifications.push(NOTIFICATION_NAMES.printWillBeDelivered)\r\n }\r\n if (isCardExpired) {\r\n notifications.push(NOTIFICATION_NAMES.cardExpired)\r\n }\r\n if (subscriptionStatus === SUBSCRIPTION_STATUS.waitingForPrinter) {\r\n notifications.push(NOTIFICATION_NAMES.askingReturnPrinter)\r\n }\r\n if (subscriptionStatus === SUBSCRIPTION_STATUS.canceled) {\r\n notifications.push(NOTIFICATION_NAMES.subscriptionCanceled)\r\n }\r\n if ((subscriptionStatus === SUBSCRIPTION_STATUS.renewed && isSubscriptionRenewed)) {\r\n notifications.push(NOTIFICATION_NAMES.subscriptionRenewed)\r\n }\r\n if (isRenewalProcessAvailable && !isEnrollAvailable) {\r\n notifications.push(NOTIFICATION_NAMES.subscriptionWillExpireSoon)\r\n }\r\n if (isEnrollAvailable) {\r\n notifications.push(NOTIFICATION_NAMES.subscriptionExpired)\r\n }\r\n if (subscriptionStatus === SUBSCRIPTION_STATUS.pendingPayment) {\r\n notifications.push(NOTIFICATION_NAMES.checkCreditCard)\r\n }\r\n if (subscriptionStatus === SUBSCRIPTION_STATUS.pendingLocked) {\r\n notifications.push(NOTIFICATION_NAMES.printerWillBeLocked)\r\n }\r\n if (subscriptionStatus === SUBSCRIPTION_STATUS.locking) {\r\n notifications.push(NOTIFICATION_NAMES.printerLocking)\r\n }\r\n if (subscriptionStatus === SUBSCRIPTION_STATUS.locked) {\r\n notifications.push(NOTIFICATION_NAMES.printerLocked)\r\n }\r\n if (subscriptionStatus === SUBSCRIPTION_STATUS.pendingUnlocked) {\r\n notifications.push(NOTIFICATION_NAMES.printerWillBeUnlocked)\r\n }\r\n if (isPrinterWillBeSentSoon) {\r\n notifications.push(NOTIFICATION_NAMES.printerWillBeSoon)\r\n }\r\n return notifications\r\n}\r\n","import Notifications from './NotificationsContainer'\r\n\r\nexport default Notifications\r\n","export enum COLUMN_KEYS {\r\n type = 'paymentName',\r\n status = 'status',\r\n date = 'received',\r\n price = 'totalPrice',\r\n id = 'id',\r\n}\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport classNames from 'classnames/bind'\r\nimport { Text } from 'hocs/localization'\r\nimport * as styles from './Table.scss'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IProps {\r\n columns: any[],\r\n data: any[],\r\n t: Text,\r\n}\r\n\r\nconst renderCellContent = (rowItem, cellItem) => {\r\n return cellItem.cellContentRender ?\r\n cellItem.cellContentRender(rowItem[cellItem.dataKey], rowItem) : rowItem[cellItem.dataKey]\r\n}\r\n\r\nconst renderBody = (columns, data, t) => {\r\n if (!data.length) {\r\n return (\r\n \r\n {t('noData')}\r\n \r\n )\r\n }\r\n return data.map((rowItem, i) => (\r\n \r\n {columns.map((cellItem, n) => {\r\n return {renderCellContent(rowItem, cellItem)}\r\n })}\r\n \r\n ))\r\n}\r\n\r\nconst Table: React.SFC = ({ columns, data, t }) => (\r\n \r\n \r\n \r\n {Object.keys(columns).map((key, i) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n {renderBody(columns, data, t)}\r\n \r\n
{columns[key].title}
\r\n)\r\n\r\nexport default Table\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose } from 'recompose'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport Table from './Table'\r\n\r\nexport default compose(\r\n withLocalization('table'),\r\n)(Table)\r\n","import Table from './TableContainer'\r\n\r\nexport default Table\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport classNames from 'classnames/bind'\r\nimport { SHIPPING_HISTORY_COLS } from './constants'\r\nimport { Text } from 'hocs/localization'\r\nimport { getPrintedDate, getPrintedDateLocal } from 'utils/date'\r\nimport { getFormattedTextOrDefault } from 'utils/printedData'\r\nimport Table from 'apps/Table'\r\nimport * as styles from './ShippingHistory.scss'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IProps {\r\n t: Text\r\n subscriptionHistory: []\r\n}\r\n\r\nconst noValue = () =>
-
\r\n\r\nconst createRefLink = (data) => {\r\n if (!data.link || !data.num) {\r\n return noValue()\r\n }\r\n\r\n const { link, num } = data\r\n\r\n return (\r\n \r\n {num}\r\n \r\n )\r\n}\r\n\r\nconst createColumnsConfig = t => {\r\n return [\r\n {\r\n title: t(SHIPPING_HISTORY_COLS.items),\r\n dataKey: SHIPPING_HISTORY_COLS.items,\r\n cellContentRender: cellData => cellData.join('/n'),\r\n width: '30%',\r\n },\r\n {\r\n title: t(SHIPPING_HISTORY_COLS.status),\r\n dataKey: SHIPPING_HISTORY_COLS.status,\r\n cellContentRender: cellData => t(cellData),\r\n width: '17%',\r\n },\r\n {\r\n title: t(SHIPPING_HISTORY_COLS.deliveredAt),\r\n dataKey: SHIPPING_HISTORY_COLS.deliveredAt,\r\n cellContentRender: getFormattedTextOrDefault(getPrintedDateLocal, noValue),\r\n width: '30%',\r\n },\r\n {\r\n title: t(SHIPPING_HISTORY_COLS.trackingUrl),\r\n dataKey: SHIPPING_HISTORY_COLS.trackingUrl,\r\n cellContentRender: (cellData, row) =>\r\n getFormattedTextOrDefault(createRefLink, noValue)({ link: cellData, num: row.trackingNumber }),\r\n width: '23%',\r\n },\r\n ]\r\n}\r\n\r\nconst ShippingHistory: React.SFC = ({ t, subscriptionHistory }) => {\r\n return(\r\n
\r\n \r\n \r\n )\r\n}\r\n\r\nexport default ShippingHistory\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport _partition from 'lodash/partition'\r\nimport { compose, lifecycle } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { createSelector } from 'reselect'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport { onGetShippingHistory } from 'redux-app/actionCreators/users'\r\nimport { getShippingHistory } from 'redux-app/selectors/user'\r\nimport { isDateAfter } from 'shared/utils/date'\r\nimport ShippingHistory from './ShippingHistory'\r\n\r\nconst getNormalizedShippingHistory = createSelector(\r\n getShippingHistory,\r\n shippingHistory => {\r\n const splitted = _partition(shippingHistory, item => !item.deliveredAt)\r\n const withoutDate = splitted[0].sort((a, b) =>\r\n a.items[0].toLowerCase() > b.items[0].toLowerCase() ? 1 : -1)\r\n const withDate = splitted[1].sort((a, b) =>\r\n isDateAfter(a.deliveredAt, b.deliveredAt) ? -1 : 1)\r\n\r\n return withoutDate.concat(withDate)\r\n })\r\n\r\nexport default compose(\r\n connect(\r\n state => {\r\n return {\r\n subscriptionHistory: getNormalizedShippingHistory(state),\r\n }\r\n },\r\n {\r\n onGetShippingHistory,\r\n },\r\n ),\r\n withLocalization('profile.shippingHistory'),\r\n lifecycle({\r\n componentWillMount () {\r\n this.props.onGetShippingHistory()\r\n .then(res => {\r\n this.setState({\r\n loadProgress: 100,\r\n })\r\n }).catch(() => {\r\n this.setState({\r\n loadProgress: 100,\r\n })\r\n })\r\n },\r\n }),\r\n)(ShippingHistory)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport ShippingHistory from './ShippingHistoryContainer'\r\n\r\nexport default ShippingHistory\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport classNames from 'classnames/bind'\r\nimport { Text } from 'hocs/localization'\r\nimport { getFormattedTextOrDefault } from 'utils/printedData'\r\nimport Table from 'apps/Table'\r\nimport { toCurrency } from 'utils/price'\r\nimport { COLUMN_KEYS } from './constants'\r\nimport * as styles from './PaymentHistory.scss'\r\nimport { getPrintedDateLocal } from 'shared/utils/date'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IProps {\r\n t: Text\r\n items: [],\r\n downloadReceipt: (id) => Promise<{}>,\r\n}\r\n\r\nclass PaymentHistory extends React.Component {\r\n\r\n private onRequestReceipt = (invoiceId) => {\r\n this.props.downloadReceipt(invoiceId);\r\n }\r\n\r\n public render () {\r\n\r\n const {\r\n t,\r\n items,\r\n } = this.props\r\n\r\n const noValue = () =>
-
\r\n\r\n const createColumnsConfig = (t) => {\r\n return [\r\n {\r\n title: t('type'),\r\n dataKey: COLUMN_KEYS.type,\r\n width: '25%',\r\n },\r\n {\r\n title: t('status'),\r\n dataKey: COLUMN_KEYS.status,\r\n cellContentRender: status => t(`paymentStatuses.${status}`),\r\n width: '20%',\r\n },\r\n {\r\n title: t('date'),\r\n dataKey: COLUMN_KEYS.date,\r\n cellContentRender: getFormattedTextOrDefault(getPrintedDateLocal, noValue),\r\n width: '20%',\r\n },\r\n {\r\n title: t('price'),\r\n dataKey: COLUMN_KEYS.price,\r\n cellContentRender: price => {\r\n return t('priceValue', { amount: toCurrency(price) })\r\n },\r\n width: '20%',\r\n },\r\n {\r\n title: t('receipt'),\r\n dataKey: COLUMN_KEYS.id,\r\n width: '15%',\r\n cellContentRender: id => {\r\n return (\r\n
this.onRequestReceipt(id)}>\r\n {t('receiptLink')}\r\n
\r\n )\r\n },\r\n },\r\n ]\r\n }\r\n\r\n return(\r\n
\r\n
\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default PaymentHistory\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose, lifecycle, withHandlers } from 'recompose'\r\nimport { createSelector } from 'reselect'\r\nimport { connect } from 'react-redux'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport { onGetPaymentHistory } from 'redux-app/actionCreators/users'\r\nimport { getPaymentHistory } from 'redux-app/selectors/user'\r\nimport { onShowError } from 'redux-app/modules/alerts'\r\nimport { isDateAfter } from 'shared/utils/date'\r\nimport { getReceipt } from 'api/client/actions/subscriptions'\r\nimport PaymentHistory from './PaymentHistory'\r\n\r\nconst getNormalizedPaymentHistory = createSelector(\r\n getPaymentHistory,\r\n paymentHistory => paymentHistory\r\n .sort((a, b) =>\r\n isDateAfter(a.received, b.received) ? -1 : 1,\r\n ))\r\n\r\nexport default compose(\r\n connect(\r\n state => ({\r\n items: getNormalizedPaymentHistory(state),\r\n }),\r\n {\r\n onGetPaymentHistory,\r\n getReceipt,\r\n onShowError,\r\n },\r\n ),\r\n withLocalization('profile.paymentHistory'),\r\n lifecycle({\r\n componentWillMount () {\r\n this.props.onGetPaymentHistory()\r\n .then(() => {\r\n this.setState({\r\n loadProgress: 100,\r\n })\r\n })\r\n .catch(() => {\r\n this.setState({\r\n loadProgress: 100,\r\n })\r\n })\r\n },\r\n }),\r\n withHandlers({\r\n downloadReceipt: ({ onShowError, getReceipt }) => (id) => {\r\n\r\n getReceipt(id)\r\n .then((response) => {\r\n const url = window.URL.createObjectURL(new Blob([response.value.value]));\r\n const link = document.createElement('a');\r\n link.href = url;\r\n\r\n let clearFileName = response.value.fileName.split(/;(.+)/)[1].split(/=(.+)/)[1].split(\";\")[0].replaceAll(\"\\\"\", '');\r\n\r\n link.setAttribute('download', clearFileName);\r\n document.body.appendChild(link);\r\n link.click();\r\n })\r\n .catch(error => {\r\n onShowError(error)\r\n })\r\n },\r\n })\r\n)(PaymentHistory)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport PaymentHistory from './PaymentHistoryContainer'\r\n\r\nexport default PaymentHistory\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport classNames from 'classnames/bind'\r\nimport { Text } from 'hocs/localization'\r\nimport { ROUTES } from 'constants/routes'\r\nimport ProfileContent from 'apps/ProfileContent'\r\nimport BusinessDetailsForm from 'apps/Profile/BusinessDetailsForm'\r\nimport PaymentDetailsForm from 'apps/Profile/PaymentDetailsForm'\r\nimport ShippingInfoForm from 'apps/Profile/ShippingInfoForm'\r\nimport ManageAccount from 'apps/ManageAccount'\r\nimport CurrentSubscription from 'apps/CurrentSubscription'\r\nimport CollapsibleBlock from 'elements/CollapsibleBlock'\r\nimport Notifications from './apps/Notifications'\r\nimport ShippingHistory from './apps/ShippingHistory'\r\nimport PaymentHistory from './apps/PaymentHistory'\r\nimport { onVerifyCurrentCard } from 'redux-app/actionCreators/users'\r\nimport { onShowError } from 'redux-app/modules/alerts'\r\nimport { SUBSCRIPTION_PLAN_TYPE } from 'constants/subscription'\r\nimport { history } from 'utils/location'\r\nimport * as styles from './ViewProfile.scss'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IProps {\r\n t: Text,\r\n isBusiness: boolean,\r\n isRenewed: boolean,\r\n hasPreviousContract: boolean,\r\n contractType: string,\r\n hasExtensionDocument: boolean,\r\n futureContractType: string,\r\n downloadTerms: () => void,\r\n enrollPlanProcess: () => void,\r\n renewPlanProcess: () => void,\r\n downloadRenewedTerms: () => void\r\n}\r\n\r\ninterface IState {\r\n isAddCardFormSubmitted: boolean,\r\n isAddCardFormOpen: boolean,\r\n isShippingHistoryOpen: boolean,\r\n isPaymentHistoryOpen: boolean,\r\n}\r\n\r\nclass ViewProfile extends React.Component {\r\n private paymentHistoryRef: React.RefObject\r\n\r\n public readonly state = {\r\n isAddCardFormSubmitted: false,\r\n isAddCardFormOpen: false,\r\n isShippingHistoryOpen: false,\r\n isPaymentHistoryOpen: false,\r\n }\r\n\r\n private afterCardSubmit = () => {\r\n this.setState({\r\n isAddCardFormOpen: false,\r\n })\r\n window.scrollTo(0, 0)\r\n }\r\n\r\n private onOpenCardForm = () => {\r\n this.setState({\r\n isAddCardFormOpen: true,\r\n })\r\n }\r\n\r\n private onCloseCardForm = () => {\r\n this.setState({\r\n isAddCardFormOpen: false,\r\n })\r\n }\r\n\r\n private onOpenShippingBlock = () => {\r\n this.setState({\r\n isShippingHistoryOpen: true,\r\n })\r\n }\r\n\r\n private onCloseShippingBlock = () => {\r\n this.setState({\r\n isShippingHistoryOpen: false,\r\n })\r\n }\r\n\r\n private onOpenPaymentBlock = () => {\r\n this.setState({\r\n isPaymentHistoryOpen: true,\r\n })\r\n }\r\n\r\n private onClosePaymentBlock = () => {\r\n this.setState({\r\n isPaymentHistoryOpen: false,\r\n })\r\n }\r\n\r\n private onGoToPaymentHistory = event => {\r\n event.preventDefault()\r\n const { top } = this.paymentHistoryRef.getBoundingClientRect()\r\n\r\n this.setState({\r\n isPaymentHistoryOpen: true,\r\n }, () => {\r\n window.scrollTo({\r\n top: window.pageYOffset + top,\r\n behavior: 'smooth',\r\n })\r\n })\r\n }\r\n\r\n private onGoToChangePlanProcess = event => {\r\n event.preventDefault()\r\n return history.push(ROUTES.profile.changePlan.root)\r\n }\r\n\r\n public render () {\r\n const {\r\n t,\r\n currentPlan,\r\n isLoading,\r\n isBusiness,\r\n isRenewed,\r\n hasPreviousContract,\r\n contractType,\r\n futureContractType,\r\n hasExtensionDocument,\r\n downloadTerms,\r\n enrollPlanProcess,\r\n renewPlanProcess,\r\n downloadRenewedTerms\r\n } = this.props\r\n\r\n const isCardBlockOpen = this.state.isAddCardFormOpen\r\n const { isShippingHistoryOpen, isPaymentHistoryOpen } = this.state\r\n\r\n return (\r\n \r\n
\r\n
\r\n
\r\n
\r\n

{t('heading')}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n {isShippingHistoryOpen ? () : null}\r\n \r\n\r\n this.paymentHistoryRef = el}\r\n styleType='topSpace40'\r\n title={t('paymentHistory')}\r\n onOpen={this.onOpenPaymentBlock}\r\n onClose={this.onClosePaymentBlock}\r\n >\r\n {isPaymentHistoryOpen ? () : null}\r\n \r\n\r\n \r\n \r\n \r\n\r\n {isBusiness && (\r\n \r\n \r\n \r\n )}\r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n
\r\n {(isRenewed && contractType == SUBSCRIPTION_PLAN_TYPE.contract) ? t('downloadOriginalLink') : t('downloadLink')}\r\n
\r\n\r\n {(hasExtensionDocument ||\r\n futureContractType === SUBSCRIPTION_PLAN_TYPE.contract || \r\n (futureContractType === '' && ((isRenewed && contractType == SUBSCRIPTION_PLAN_TYPE.contract) || (hasPreviousContract && contractType == SUBSCRIPTION_PLAN_TYPE.contract))) \r\n ) && (\r\n
\r\n {t('downloadExtensionLink')}\r\n
)}\r\n\r\n
\r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default ViewProfile\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose, lifecycle, withState, withHandlers } from 'recompose'\r\nimport _get from 'lodash/get'\r\nimport { connect } from 'react-redux'\r\nimport { ALERTS } from 'constants/alerts'\r\nimport { analytics } from 'services/Analytics'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport { getUserDetails, getUserSubscription, getUserFutureSubscription } from 'redux-app/selectors/user'\r\nimport { onVerifyCurrentCard } from 'redux-app/actionCreators/users'\r\nimport { createAlert, onShowError } from 'redux-app/modules/alerts'\r\nimport { onHideNewPlanAcceptedMessage } from 'redux-app/modules/user'\r\nimport { getCurrentSubscriptionPlan, getSubscriptionTerms, getSubscriptionRenewedTerms } from 'api/client/actions/subscriptions'\r\nimport ViewProfile from './ViewProfile'\r\nimport { ROUTES } from 'constants/routes'\r\nimport { EMPTY_OBJECT } from 'constants/frozenObjects'\r\n\r\nexport default compose(\r\n connect(\r\n (state, props) => {\r\n const userDetails = getUserDetails(state)\r\n const subscriptionDetails = getUserSubscription(state)\r\n const futureSubscription = getUserFutureSubscription(state)\r\n const futureContractType = futureSubscription !== EMPTY_OBJECT && futureSubscription !== null ? _get(futureSubscription, 'subscriptionContractType') : ''\r\n\r\n return {\r\n isBusiness: _get(userDetails, 'isBusinessAccount'),\r\n isRenewed: _get(subscriptionDetails, 'isSubscriptionRenewed'),\r\n hasPreviousContract: _get(subscriptionDetails, 'hasPreviousContract'),\r\n contractType: _get(subscriptionDetails, 'subscriptionContractType'),\r\n hasExtensionDocument: _get(subscriptionDetails, 'hasExtensionDocument'),\r\n futureContractType: futureContractType\r\n }\r\n },\r\n {\r\n getCurrentSubscriptionPlan,\r\n getSubscriptionTerms,\r\n getSubscriptionRenewedTerms,\r\n onHideNewPlanAcceptedMessage,\r\n onVerifyCurrentCard,\r\n createAlert,\r\n onShowError,\r\n },\r\n ),\r\n withLocalization('profile.view'),\r\n withState('currentPlan', 'setPlan', {}),\r\n withState('isLoading', 'setLoadingStatus', false),\r\n withHandlers({\r\n enrollPlanProcess: ({ history, onVerifyCurrentCard, onShowError }) => () => {\r\n onVerifyCurrentCard().then(({ value: { result } }) => {\r\n history.push(ROUTES.profile.enrollPlan.root)\r\n return\r\n })\r\n .catch(error => {\r\n onShowError(error)\r\n })\r\n },\r\n renewPlanProcess: ({ history, onVerifyCurrentCard, onShowError }) => () => {\r\n onVerifyCurrentCard().then(({ value: { result } }) => {\r\n history.push(ROUTES.profile.renewPlan.root)\r\n return\r\n })\r\n .catch(error => {\r\n onShowError(error)\r\n })\r\n },\r\n }),\r\n lifecycle({\r\n componentDidMount () {\r\n const { setLoadingStatus, getCurrentSubscriptionPlan, setPlan, onShowError } = this.props\r\n analytics.openMyProfilePage()\r\n setLoadingStatus(true)\r\n getCurrentSubscriptionPlan()\r\n .then(({ value: { result } }) => {\r\n setPlan(result)\r\n setLoadingStatus(false)\r\n })\r\n .catch(error => {\r\n onShowError(error)\r\n setLoadingStatus(false)\r\n })\r\n },\r\n componentWillUnmount () {\r\n this.props.onHideNewPlanAcceptedMessage()\r\n },\r\n }),\r\n withHandlers({\r\n downloadTerms: ({ onShowError, getSubscriptionTerms, createAlert }) => () => {\r\n getSubscriptionTerms()\r\n .then(({ value: { result } }) => {\r\n if (result.url) {\r\n window.open(result.url, '_blank')\r\n } else {\r\n createAlert({ name: ALERTS.noAgreement })\r\n }\r\n })\r\n .catch(error => {\r\n onShowError(error)\r\n })\r\n },\r\n downloadRenewedTerms: ({ onShowError, getSubscriptionRenewedTerms, createAlert }) => () => {\r\n getSubscriptionRenewedTerms()\r\n .then(({ value: { result } }) => {\r\n if (result.url) {\r\n window.open(result.url, '_blank')\r\n } else {\r\n createAlert({ name: ALERTS.noAgreement })\r\n }\r\n })\r\n .catch(error => {\r\n onShowError(error)\r\n })\r\n },\r\n }),\r\n)(ViewProfile)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport ViewProfile from './ViewProfileContainer'\r\n\r\nexport default ViewProfile\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport classNames from 'classnames/bind'\r\nimport { RouteComponentProps } from 'react-router-dom'\r\nimport { ROUTES } from 'constants/routes'\r\nimport { Text } from 'hocs/localization'\r\nimport { isInventoryForChangePlanAvailable, isPlanAvailable } from 'redux-app/utils/subscription'\r\nimport ProfileContent from 'apps/ProfileContent'\r\nimport ButtonWithIcon from 'apps/ButtonWithIcon'\r\nimport PlanItem from 'routes/Main/apps/SelectPlan/apps/PlanItem'\r\nimport MultiPlanItem from 'routes/Main/apps/SelectPlan/apps/MultiPlanItem/MultiPlanItem'\r\nimport { toCurrency } from 'utils/price'\r\nimport * as styles from './PlanChoice.scss'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IProps extends RouteComponentProps {\r\n t: Text\r\n isUserLogin: boolean,\r\n handleSubmit: any,\r\n acceptTerms: () => void,\r\n plans: any[],\r\n groupedPlans: any[][],\r\n activePlanId: string,\r\n onChangePlan: (planId: string) => Promise<{}>,\r\n onShowTerms: (planId: string) => Promise<{}>,\r\n}\r\n\r\ninterface IState {\r\n selectedPlanId: string,\r\n isUserAbleToOpenProfile: boolean,\r\n isButtonDisabled: boolean,\r\n isSubmitting: boolean,\r\n plansState: any[],\r\n groupedPlansState: any[][],\r\n}\r\n\r\nclass PlanChoice extends React.Component {\r\n public state = {\r\n selectedPlanId: this.props.activePlanId,\r\n isButtonDisabled: true,\r\n isSubmitting: false,\r\n plansState: this.props.plans,\r\n groupedPlansState: this.props.groupedPlans,\r\n }\r\n\r\n private onChangeCheckBoxState = (weight) => {\r\n\r\n const plansFromState = [...this.state.plansState]\r\n const plansFromGroup = plansFromState.filter(x => x.weight === weight)\r\n\r\n // exchange plans vivibility\r\n const firstGroupPlanVisibility = plansFromGroup[0].visible\r\n plansFromGroup[0].visible = plansFromGroup[1].visible\r\n plansFromGroup[1].visible = firstGroupPlanVisibility\r\n\r\n this.setState({ plansState: plansFromState })\r\n }\r\n\r\n private onChoosePlan = planId => {\r\n const selectedPlanId = planId\r\n this.setState({\r\n isSubmitting: true,\r\n })\r\n const newPlan = this.props.plans.find(plan => plan.id === selectedPlanId)\r\n\r\n if (!isInventoryForChangePlanAvailable(newPlan)) {\r\n this.props.selectPlan(newPlan.id)\r\n this.props.history.push(ROUTES.profile.changePlan.noAvailablePrinter)\r\n return\r\n }\r\n if (this.props.isUserAbleToOpenProfile) {\r\n return this.props.onShowTerms(selectedPlanId)\r\n }\r\n this.props.onChangePlan(selectedPlanId)\r\n .catch(() => {\r\n this.setState({\r\n isSubmitting: false,\r\n })\r\n })\r\n }\r\n\r\n private onReturnBack = () => {\r\n this.props.history.push(ROUTES.profile.view)\r\n }\r\n\r\n public render () {\r\n const {\r\n t,\r\n isUserLogin,\r\n } = this.props\r\n const {\r\n plansState,\r\n groupedPlansState,\r\n } = this.state\r\n\r\n return (\r\n \r\n
\r\n
\r\n
\r\n

{t('title')}

\r\n
\r\n
\r\n
\r\n
\r\n\r\n {Object.keys(groupedPlansState).map((key) => {\r\n\r\n var planItem : any;\r\n var planItem2 : any;\r\n\r\n if (groupedPlansState[key].length > 0) {\r\n planItem = plansState.find(x => x.id === groupedPlansState[key][0].id);\r\n }\r\n\r\n if (groupedPlansState[key].length > 1) {\r\n planItem2 = plansState.find(x => x.id === groupedPlansState[key][1].id);\r\n }\r\n\r\n return (\r\n \r\n {groupedPlansState[key].length === 1 && (\r\n \r\n )}\r\n {groupedPlansState[key].length > 1 && (\r\n \r\n )}\r\n
\r\n )},\r\n )}\r\n\r\n
\r\n
\r\n \r\n {t('back')}\r\n \r\n
\r\n
\r\n \r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default PlanChoice\r\n","export enum FIELD_NAMES {\r\n customerSignature = 'customerSignature',\r\n epsonSignature = 'epsonSignature',\r\n termsRead = 'termsRead',\r\n}\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose, withHandlers, lifecycle } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { withRouter } from 'react-router-dom'\r\nimport _get from 'lodash/get'\r\nimport { analytics } from 'services/Analytics'\r\nimport { ROUTES } from 'constants/routes'\r\nimport { ALERTS } from 'constants/alerts'\r\nimport { SUBSCRIPTION_STATUS } from 'constants/subscription'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport { loading } from 'hocs/loading'\r\nimport { isUserAuthorizated } from 'redux-app/selectors/auth'\r\nimport { onChangeSubscriptionPlan, onGetSubscriptionsPlans } from 'redux-app/actionCreators/subscription'\r\nimport { createAlert } from 'redux-app/modules/alerts'\r\nimport { selectPlan } from 'redux-app/modules/subscriptions'\r\nimport { getSubscriptionStatus, getUserSubscription, isUserAbleToOpenProfile } from 'redux-app/selectors/user'\r\nimport { getSubscriptionPlans } from 'redux-app/selectors/subscription'\r\nimport PlanChoice from './PlanChoice'\r\n\r\nexport default compose(\r\n withLocalization('profile.planChoose'),\r\n connect(\r\n (state) => {\r\n\r\n const isUserLogin = isUserAuthorizated(state)\r\n const plans = getSubscriptionPlans(state)\r\n .sort((a, b) => {\r\n\r\n if (a.weight === b.weight)\r\n {\r\n return !!a.activationFee ? 1 : -1\r\n }\r\n\r\n return a.weight > b.weight ? 1 : -1\r\n })\r\n\r\n plans.forEach(plan => {\r\n plan['visible'] = false;\r\n });\r\n\r\n const groupByCategory = plans.reduce((group, plan) => {\r\n group[plan.weight] = group[plan.weight] ?? []\r\n group[plan.weight].push(plan)\r\n return group\r\n }, {})\r\n\r\n for (const item in groupByCategory) {\r\n groupByCategory[item][0].visible = true\r\n }\r\n\r\n return {\r\n isUserLogin,\r\n activePlanId: _get(getUserSubscription(state), 'planId'),\r\n plans,\r\n groupedPlans: groupByCategory,\r\n subscriptionStatus: getSubscriptionStatus(state),\r\n isUserAbleToOpenProfile: isUserAbleToOpenProfile(state),\r\n }\r\n },\r\n {\r\n onChangeSubscriptionPlan,\r\n onGetSubscriptionsPlans,\r\n createAlert,\r\n selectPlan,\r\n },\r\n ),\r\n withRouter,\r\n withHandlers({\r\n onChangePlan: ({\r\n onChangeSubscriptionPlan,\r\n history,\r\n subscriptionStatus,\r\n createAlert,\r\n activePlanId,\r\n plans,\r\n }) => planId => {\r\n const newPlan = plans.find(plan => plan.id === planId)\r\n return onChangeSubscriptionPlan(planId)\r\n .then(() => {\r\n const oldPlan = plans.find(plan => plan.id === activePlanId)\r\n if (newPlan.price > oldPlan.price) {\r\n analytics.upgradePlan({ planName: newPlan.name })\r\n } else {\r\n analytics.downgradePlan({ planName: newPlan.name })\r\n }\r\n if (subscriptionStatus === SUBSCRIPTION_STATUS.pendingConfirmation) {\r\n history.replace(ROUTES.profile.view)\r\n createAlert({ name: ALERTS.successChangeSubscription })\r\n return\r\n }\r\n history.push(ROUTES.profile.changePlan.newPlanAccepted)\r\n })\r\n },\r\n onShowTerms: ({ plans, selectPlan, history }) => planId => {\r\n const newPlan = plans.find(plan => plan.id === planId)\r\n selectPlan(newPlan.id)\r\n return history.push(ROUTES.profile.changePlan.terms)\r\n },\r\n }),\r\n lifecycle({\r\n componentWillMount () {\r\n this.props.onGetSubscriptionsPlans()\r\n .then(() => {\r\n this.setState({\r\n loadProgress: 100,\r\n })\r\n })\r\n .catch(() => {\r\n this.setState({\r\n loadProgress: 100,\r\n })\r\n })\r\n },\r\n }),\r\n loading,\r\n)(PlanChoice)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport PlanChoice from './PlanChoiceContainer'\r\n\r\nexport default PlanChoice\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport classNames from 'classnames/bind'\r\nimport { RouteComponentProps } from 'react-router-dom'\r\nimport { ROUTES } from 'constants/routes'\r\nimport { Field } from 'redux-form'\r\nimport { Text } from 'hocs/localization'\r\nimport Loading from 'apps/Loading'\r\nimport { Input, Checkbox } from 'apps/FormFields'\r\nimport ButtonWithIcon from 'apps/ButtonWithIcon'\r\nimport LeaseAgreement from 'apps/LeaseAgreement'\r\nimport Button from 'elements/Button'\r\nimport { createValidation, createValidator, hasRequired, hasRequiredCheckbox } from 'utils/form'\r\nimport { FIELD_NAMES } from './constants'\r\nimport * as styles from './Terms.scss'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IProps extends RouteComponentProps {\r\n t: Text,\r\n summary: any,\r\n changePlan: () => void,\r\n downloadTerms: () => void,\r\n termsFileUrl: string | null,\r\n isLoading: boolean,\r\n submitting: boolean,\r\n valid: boolean,\r\n}\r\n\r\ninterface IState {\r\n isSubmitting: boolean,\r\n isTermsAccepted: boolean,\r\n}\r\n\r\nclass Terms extends React.Component {\r\n public state = {\r\n isSubmitting: false,\r\n isTermsAccepted: false,\r\n }\r\n\r\n public requiredFieldValidation = createValidation([\r\n createValidator(hasRequired, this.props.getTextPath('errors.textField')),\r\n ])\r\n\r\n public requiredCheckboxValidation = createValidation([\r\n createValidator(hasRequiredCheckbox, ''),\r\n ])\r\n\r\n private onReturnBack = () => {\r\n this.props.history.push(ROUTES.profile.changePlan.root)\r\n }\r\n\r\n private onChangePlan = formValues => {\r\n this.setState({\r\n isSubmitting: true,\r\n })\r\n\r\n this.props.changePlan(formValues).finally(() => {\r\n this.setState({\r\n isSubmitting: false,\r\n })\r\n })\r\n }\r\n\r\n public render () {\r\n const {\r\n t,\r\n data,\r\n isLoading,\r\n submitting,\r\n valid,\r\n handleSubmit,\r\n } = this.props\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n

{t('title')}

\r\n
\r\n
\r\n
\r\n
\r\n {isLoading\r\n ? (
\r\n \r\n
)\r\n : ()\r\n }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{data && data.businessName ? data.businessName : ''}
\r\n
{t('signaturePrompt')}
\r\n \r\n
{t('signatureNote')}
\r\n
{data ? data.contractStartDate : '' }
\r\n
\r\n
\r\n
{t('epsonName')}
\r\n
\r\n \r\n
\r\n
{data ? data.contractStartDate : '' }
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {this.state.isSubmitting ? t('submitButtonSubmitting') : t('submitButton')}\r\n \r\n
\r\n
\r\n \r\n {t('back')}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {t('utc')}\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default Terms\r\n","export enum FIELD_NAMES {\r\n customerSignature = 'customerSignature',\r\n epsonSignature = 'epsonSignature',\r\n termsRead = 'termsRead',\r\n}\r\n","import { compose, withHandlers, lifecycle, withState } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport _get from 'lodash/get'\r\nimport { reduxForm } from 'redux-form'\r\nimport { withRouter } from 'react-router-dom'\r\nimport { analytics } from 'services/Analytics'\r\nimport { ROUTES } from 'constants/routes'\r\nimport { ALERTS } from 'constants/alerts'\r\nimport { ERROR_CODES } from 'constants/errors'\r\nimport { SUBSCRIPTION_STATUS } from 'constants/subscription'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport { onChangeSubscriptionPlan } from 'redux-app/actionCreators/subscription'\r\nimport { getChangeSubscriptionTerms } from 'api/client/actions/subscriptions'\r\nimport { getSelectedPlanId, getSubscriptionPlans } from 'redux-app/selectors/subscription'\r\nimport { getSubscriptionStatus, getUserSubscription } from 'redux-app/selectors/user'\r\nimport { createAlert, onShowError } from 'redux-app/modules/alerts'\r\nimport { getErrorCodes } from 'utils/error'\r\nimport { FIELD_NAMES } from './constants'\r\nimport Terms from './Terms'\r\n\r\nexport default compose(\r\n withLocalization('profile.planChoose.terms'),\r\n connect(\r\n state => ({\r\n activePlanId: _get(getUserSubscription(state), 'planId'),\r\n plans: getSubscriptionPlans(state).sort((a, b) => a.price > b.price ? 1 : -1),\r\n subscriptionStatus: getSubscriptionStatus(state),\r\n selectedPlanId: getSelectedPlanId(state),\r\n }),\r\n {\r\n onChangeSubscriptionPlan,\r\n getChangeSubscriptionTerms,\r\n createAlert,\r\n onShowError,\r\n },\r\n ),\r\n withRouter,\r\n withHandlers({\r\n changePlan: ({\r\n plans,\r\n createAlert,\r\n history,\r\n selectedPlanId,\r\n subscriptionStatus,\r\n activePlanId,\r\n onChangeSubscriptionPlan,\r\n }) => formValues => {\r\n const newPlan = plans.find(plan => plan.id === selectedPlanId)\r\n return onChangeSubscriptionPlan(selectedPlanId, formValues[FIELD_NAMES.customerSignature])\r\n .then(() => {\r\n const oldPlan = plans.find(plan => plan.id === activePlanId)\r\n if (newPlan.price > oldPlan.price) {\r\n analytics.upgradePlan({ planName: newPlan.name })\r\n } else {\r\n analytics.downgradePlan({ planName: newPlan.name })\r\n }\r\n if (subscriptionStatus === SUBSCRIPTION_STATUS.pendingConfirmation) {\r\n history.replace(ROUTES.profile.view)\r\n createAlert({ name: ALERTS.successChangeSubscription })\r\n return\r\n }\r\n history.push(ROUTES.profile.changePlan.newPlanAccepted)\r\n })\r\n },\r\n }),\r\n reduxForm({\r\n form: 'acceptTerms',\r\n }),\r\n withState('data', 'setData', null),\r\n withState('isLoading', 'setLoadingStatus', true),\r\n lifecycle({\r\n componentDidMount () {\r\n window.scrollTo(0, 0)\r\n analytics.openCreateReviewTermsPage()\r\n this.props.getChangeSubscriptionTerms(this.props.selectedPlanId)\r\n .then(({ value: { result } }) => {\r\n this.props.setData(result.fields)\r\n this.props.setLoadingStatus(false)\r\n })\r\n .catch(error => {\r\n const errorCodes = getErrorCodes(error)\r\n if (errorCodes.includes(ERROR_CODES.sabrixNotAvailable)) {\r\n this.props.createAlert({ name: ALERTS.error })\r\n return\r\n }\r\n this.props.setLoadingStatus(false)\r\n this.props.onShowError(error)\r\n })\r\n },\r\n }),\r\n withRouter,\r\n)(Terms)\r\n","import Terms from './TermsContainer'\r\n\r\nexport default Terms\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport { Text as TextType } from 'hocs/localization'\r\nimport AccessWrapper, { USER_ROLES } from 'apps/AccessWrapper'\r\nimport AuthPage from 'apps/AuthPage'\r\nimport Text from 'elements/Text'\r\nimport * as styles from './NoAvailablePrinterForm.scss'\r\n\r\ninterface IProps {\r\n t: TextType,\r\n onGoToChangeSubscription: () => void,\r\n onAddToWaitlist: () => void,\r\n}\r\n\r\nconst NoAvailablePrinterForm: React.FC = ({ t, onGoToChangeSubscription, onAddToWaitlist }) => (\r\n \r\n
\r\n {t('message')}\r\n \r\n \r\n {t('hereLink')} {t('changeSubscription')}\r\n \r\n \r\n \r\n {t('hereLink')} {t('addToWaitlist')}\r\n \r\n
\r\n
\r\n)\r\n\r\nexport default NoAvailablePrinterForm\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose, withHandlers } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { withRouter } from 'react-router-dom'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport { ROUTES } from 'constants/routes'\r\nimport { ALERTS } from 'constants/alerts'\r\nimport { createAlert, onShowError } from 'redux-app/modules/alerts'\r\nimport { addMeToWaitlist } from 'api/client/actions/auth'\r\nimport { isUserAuthorizated } from 'redux-app/selectors/auth'\r\nimport { getSelectedPlanId } from 'redux-app/selectors/subscription'\r\nimport NoAvailablePrinterForm from './NoAvailablePrinterForm'\r\n\r\nexport default compose(\r\n connect(\r\n state => ({\r\n isUserAuthorizated: isUserAuthorizated(state),\r\n selectedPlanId: getSelectedPlanId(state),\r\n }),\r\n {\r\n createAlert,\r\n onAddToWaitlist: addMeToWaitlist,\r\n onShowError,\r\n },\r\n ),\r\n withRouter,\r\n withHandlers({\r\n onAddToWaitlist: ({\r\n isUserAuthorizated,\r\n history,\r\n createAlert,\r\n onAddToWaitlist,\r\n onShowError,\r\n selectedPlanId,\r\n }) => event => {\r\n event.preventDefault()\r\n if (isUserAuthorizated) {\r\n onAddToWaitlist(selectedPlanId)\r\n .then(() => {\r\n createAlert({ name: ALERTS.successLeaveEmail })\r\n history.replace(ROUTES.profile.view)\r\n })\r\n .catch(error => {\r\n onShowError(error)\r\n })\r\n } else {\r\n history.replace(ROUTES.home.leaveEmail)\r\n }\r\n },\r\n onGoToChangeSubscription: ({ history }) => event => {\r\n event.preventDefault()\r\n history.push(ROUTES.profile.changePlan.root)\r\n },\r\n }),\r\n withLocalization('noAvailablePrinter'),\r\n)(NoAvailablePrinterForm)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport NoAvailablePrinterForm from './NoAvailablePrinterFormContainer'\r\n\r\nexport default NoAvailablePrinterForm\r\n","import React from 'react'\r\nimport NoAvailablePrinterForm from 'apps/NoAvailablePrinterForm'\r\n\r\nconst NoAvailablePrinter: React.FC<{}> = () => (\r\n \r\n)\r\n\r\nexport default NoAvailablePrinter\r\n","import NoAvailablePrinter from './NoAvailablePrinter'\r\n\r\nexport default NoAvailablePrinter\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport classNames from 'classnames/bind'\r\nimport { Text } from 'hocs/localization'\r\nimport ProfileContent from 'apps/ProfileContent'\r\nimport Button from 'elements/Button'\r\nimport * as styles from './NewPlanAccepted.scss'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IProps {\r\n t: Text,\r\n onConfirm: () => void\r\n}\r\n\r\nconst NewPlanAccepted: React.SFC = ({ t, onConfirm }) => (\r\n \r\n
\r\n
\r\n
\r\n

{t('accepted')}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{t('checkEmail')}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n)\r\n\r\nexport default NewPlanAccepted\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose, withHandlers } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { withRouter } from 'react-router-dom'\r\nimport { ROUTES } from 'constants/routes'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport { onShowNewPlanAcceptedMessage } from 'redux-app/modules/user'\r\nimport NewPlanAccepted from './NewPlanAccepted'\r\n\r\nexport default compose(\r\n connect(\r\n null,\r\n {\r\n withRouter,\r\n onShowNewPlanAcceptedMessage,\r\n },\r\n ),\r\n withLocalization('profile.newPlanAccepted'),\r\n withHandlers({\r\n onConfirm: ({\r\n onShowNewPlanAcceptedMessage,\r\n history: { replace },\r\n }) => () => {\r\n onShowNewPlanAcceptedMessage()\r\n replace(ROUTES.profile.view)\r\n },\r\n }),\r\n)(NewPlanAccepted)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport NewPlanAccepted from './NewPlanAcceptedContainer'\r\n\r\nexport default NewPlanAccepted\r\n","import React from 'react'\r\nimport { Switch, Route } from 'react-router-dom'\r\nimport { ROUTES } from 'constants/routes'\r\nimport PlanChoice from './routes/PlanChoice'\r\nimport Terms from './routes/Terms'\r\nimport NoAvailablePrinter from './routes/NoAvailablePrinter'\r\nimport NewPlanAccepted from './routes/NewPlanAccepted'\r\n\r\nconst ChangePlan = () => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default ChangePlan\r\n","import ChangePlan from './ChangePlan'\r\n\r\nexport default ChangePlan\r\n","import React from 'react'\r\nimport classNames from 'classnames/bind'\r\nimport { withLocalization, Text } from 'hocs/localization'\r\nimport { getCurrencySymbol } from 'utils/user'\r\nimport * as styles from './RenewalLeaseAgreement.scss'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\nconst RenewalLeaseAgreement: React.SFC = ({\r\n t,\r\n productName,\r\n customerShippingAddress,\r\n monthlyFee,\r\n monthlyPayment,\r\n contractId,\r\n activationFee,\r\n businessSignatory,\r\n businessSignatoryTitle,\r\n customerName,\r\n customerPhoneNumber,\r\n customerEmail,\r\n contractStartDate,\r\n originalContractSignDate,\r\n contractEndDate,\r\n firstPaymentDate,\r\n monthlyPaymentDay,\r\n totalMonthlyPayment,\r\n otherCharges,\r\n totalCost,\r\n totalTax,\r\n}) => {\r\n const currency = getCurrencySymbol()\r\n\r\n return (\r\n \r\n
\r\n
\r\n

{t('review')}

\r\n
\r\n
\r\n {t('leaseAgreementInfo', {\r\n originalContractSignDate,\r\n })}\r\n
\r\n
\r\n
\r\n
\r\n
{t('section1')}
\r\n
\r\n
\r\n
\r\n
\r\n
{t('account')}
\r\n
{contractId}
\r\n
\r\n
\r\n
{t('startDateLabel')}
\r\n
{contractStartDate}
\r\n
\r\n
\r\n
{t('extension')}
\r\n
\r\n {contractEndDate}\r\n
{t('extensionText')}
\r\n
\r\n
\r\n
\r\n
{t('monthlyPayment')}
\r\n
{`${currency}${monthlyPayment}`}
\r\n
\r\n
{t('termsAndConditionsText')}
\r\n
{t('epsonNote')}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{t('section2')}
\r\n
\r\n
\r\n
\r\n
\r\n {t('customerNote')}\r\n
\r\n
\r\n
{t('customerNameLabel')}
\r\n
{businessSignatory\r\n ? `${businessSignatory}, ${businessSignatoryTitle}`\r\n : customerName\r\n }
\r\n
\r\n
\r\n
{t('mailingAddressLabel')}
\r\n
{customerShippingAddress}
\r\n
\r\n
\r\n
{t('phoneLabel')}
\r\n
{customerPhoneNumber}
\r\n
\r\n
\r\n
{t('emailLabel')}
\r\n
{customerEmail}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{t('info1')}

\r\n

{t('info2')}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default withLocalization('renewalLeaseAgreement')(RenewalLeaseAgreement)\r\n","import RenewalLeaseAgreement from './RenewalLeaseAgreement'\r\n\r\nexport default RenewalLeaseAgreement\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport classNames from 'classnames/bind'\r\nimport { RouteComponentProps } from 'react-router-dom'\r\nimport { ROUTES } from 'constants/routes'\r\nimport { Field } from 'redux-form'\r\nimport { Text } from 'hocs/localization'\r\nimport Loading from 'apps/Loading'\r\nimport { Input, Checkbox } from 'apps/FormFields'\r\nimport ButtonWithIcon from 'apps/ButtonWithIcon'\r\nimport RenewalLeaseAgreement from 'apps/RenewalLeaseAgreement'\r\nimport Button from 'elements/Button'\r\nimport { SUBSCRIPTION_PLAN_TYPE } from 'constants/subscription'\r\nimport { toCurrency } from 'utils/price'\r\nimport contract from 'assets/images/contract.png'\r\nimport mo2mo from 'assets/images/mo2mo.png'\r\nimport { createValidation, createValidator, hasRequired, hasRequiredCheckbox } from 'utils/form'\r\nimport { FIELD_NAMES } from './constants'\r\n\r\nimport * as styles from './RenewalTerms.scss'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IProps extends RouteComponentProps {\r\n t: Text,\r\n plan: any,\r\n summary: any,\r\n changePlan: () => void,\r\n downloadTerms: () => void,\r\n termsFileUrl: string | null,\r\n isLoading: boolean,\r\n submitting: boolean,\r\n valid: boolean,\r\n currency: string,\r\n businessName: string,\r\n userDetails: any,\r\n address: string,\r\n existingContractType: string,\r\n newContractType: string,\r\n}\r\n\r\ninterface IState {\r\n isSubmitting: boolean,\r\n isTermsAccepted: boolean,\r\n}\r\n\r\nclass RenewalTerms extends React.Component {\r\n public state = {\r\n isSubmitting: false,\r\n isTermsAccepted: false,\r\n }\r\n\r\n public requiredFieldValidation = createValidation([\r\n createValidator(hasRequired, this.props.getTextPath('errors.textField')),\r\n ])\r\n\r\n public requiredCheckboxValidation = createValidation([\r\n createValidator(hasRequiredCheckbox, ''),\r\n ])\r\n\r\n private onReturnBack = () => {\r\n this.props.history.push(ROUTES.profile.renewPlan.root)\r\n }\r\n\r\n private onChangePlan = formValues => {\r\n this.setState({\r\n isSubmitting: true,\r\n })\r\n\r\n this.props.changePlan(formValues).finally(() => {\r\n this.setState({\r\n isSubmitting: false,\r\n })\r\n })\r\n }\r\n\r\n public render () {\r\n const {\r\n t,\r\n data,\r\n isLoading,\r\n submitting,\r\n valid,\r\n handleSubmit,\r\n existingContractType,\r\n newContractType,\r\n userDetails,\r\n currency,\r\n businessName,\r\n address,\r\n plan,\r\n } = this.props\r\n\r\n const renderAgreement = () => {\r\n if (newContractType === SUBSCRIPTION_PLAN_TYPE.contract) {\r\n return (isLoading\r\n ? (
\r\n \r\n
)\r\n : ()\r\n )\r\n }\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{newContractType === SUBSCRIPTION_PLAN_TYPE.contract ? t('titleContract') : t('titleM2M')}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {plan.name}/\r\n
\r\n
\r\n
    \r\n
  • \r\n \r\n {t('planName')}:\r\n \r\n \r\n {plan.name}\r\n \r\n
  • \r\n
  • \r\n {t('contractType')}:\r\n {newContractType === SUBSCRIPTION_PLAN_TYPE.contract ? 'Contract' : 'Mo-2-Mo'}\r\n
  • \r\n
  • \r\n \r\n {t('monthlyFee')}:\r\n \r\n \r\n {currency + toCurrency(data?.monthlyPayment)}\r\n \r\n
  • \r\n {address && (\r\n
  • \r\n {t('address')}:\r\n {address}\r\n
  • \r\n )}\r\n {businessName && (\r\n
  • \r\n {t('businessName')}:\r\n {businessName}\r\n
  • \r\n )}\r\n {userDetails.creditCard && (\r\n
  • \r\n {t('cardOnFile')}:\r\n
    \r\n *{userDetails.creditCard.last4Digits}\r\n {userDetails.creditCard.expirationMonth}/{userDetails.creditCard.expirationYear}\r\n
    \r\n
  • \r\n )}\r\n
  • \r\n {t('emailAddress')}:\r\n {userDetails.email}\r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n {renderAgreement()}\r\n\r\n
\r\n
\r\n
\r\n\r\n {newContractType === SUBSCRIPTION_PLAN_TYPE.contract && (\r\n
\r\n
\r\n
{data && data.businessName ? data.businessName : ''}
\r\n
{t('signaturePrompt')}
\r\n \r\n
{t('signatureNote')}
\r\n
{data ? data.newContractSignDate : '' }
\r\n
\r\n
\r\n
{t('epsonName')}
\r\n
\r\n \r\n
\r\n
{data ? data.newContractSignDate : '' }
\r\n
\r\n
\r\n )}\r\n\r\n {newContractType === SUBSCRIPTION_PLAN_TYPE.contract && (\r\n
\r\n \r\n
\r\n )}\r\n\r\n {newContractType === SUBSCRIPTION_PLAN_TYPE.monthToMonth && (\r\n
\r\n \r\n
\r\n )}\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n {this.state.isSubmitting ? t('submitButtonSubmitting') :\r\n (newContractType === SUBSCRIPTION_PLAN_TYPE.contract ? t('submitButtonContract') : t('submitButton'))}\r\n \r\n
\r\n\r\n
\r\n \r\n {t('back')}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {t('utc')}\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default RenewalTerms\r\n","import { compose, withHandlers, lifecycle, withState } from 'recompose'\r\nimport { EMPTY_OBJECT } from 'constants/frozenObjects'\r\nimport { connect } from 'react-redux'\r\nimport _get from 'lodash/get'\r\nimport { reduxForm } from 'redux-form'\r\nimport { withRouter } from 'react-router-dom'\r\nimport { analytics } from 'services/Analytics'\r\nimport { ROUTES } from 'constants/routes'\r\nimport { ALERTS } from 'constants/alerts'\r\nimport { getStates } from 'redux-app/selectors/apiData'\r\nimport { ERROR_CODES } from 'constants/errors'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport { onAcceptRenewSubscriptionPlan } from 'redux-app/actionCreators/subscription'\r\nimport { getRenewSubscriptionTerms } from 'api/client/actions/subscriptions'\r\nimport { getSelectedPlanForRenew, getSelectedPlanId, getSubscriptionPlansForRenew } from 'redux-app/selectors/subscription'\r\nimport { getCurrencySymbol, getPostalCodeFormatted } from 'utils/user'\r\nimport { getSubscriptionStatus, getUserSubscription, getUserDetails, } from 'redux-app/selectors/user'\r\nimport { createAlert, onShowError } from 'redux-app/modules/alerts'\r\nimport { getErrorCodes } from 'utils/error'\r\nimport { FIELD_NAMES } from './constants'\r\nimport RenewalTerms from './RenewalTerms'\r\n\r\nexport default compose(\r\n withLocalization('profile.planRenew.terms'),\r\n connect(\r\n (state, props) => {\r\n\r\n const userDetails = getUserDetails(state) || { creditCard:{} }\r\n const currentSubscription = userDetails.subscription\r\n const stateAbbr = _get(\r\n getStates(state).find(state => state.id === userDetails.shippingAddress.stateId),\r\n 'isoCode',\r\n '',\r\n )\r\n const { address1, city, postalCode } = userDetails.shippingAddress\r\n\r\n return {\r\n currency: getCurrencySymbol(_get(getSelectedPlanForRenew(state), 'currency', EMPTY_OBJECT)),\r\n plans: getSubscriptionPlansForRenew(state).sort((a, b) => a.price > b.price ? 1 : -1),\r\n activePlanId: _get(getUserSubscription(state), 'planId'),\r\n subscriptionStatus: getSubscriptionStatus(state),\r\n selectedPlanId: getSelectedPlanId(state),\r\n plan: getSelectedPlanForRenew(state),\r\n userDetails,\r\n address: `${address1}, ${city}, ${stateAbbr} ${getPostalCodeFormatted(postalCode)}`,\r\n businessName: _get(userDetails, ['company', 'name']),\r\n existingContractType: currentSubscription.subscriptionContractType,\r\n newContractType: _get(getSelectedPlanForRenew(state), 'subscriptionPlanCategoryType'),\r\n currentSubscription,\r\n }\r\n },\r\n {\r\n onAcceptRenewSubscriptionPlan,\r\n getRenewSubscriptionTerms,\r\n createAlert,\r\n onShowError,\r\n },\r\n ),\r\n withRouter,\r\n withHandlers({\r\n changePlan: ({\r\n createAlert,\r\n history,\r\n selectedPlanId,\r\n plan,\r\n onAcceptRenewSubscriptionPlan,\r\n }) => formValues => {\r\n return onAcceptRenewSubscriptionPlan(selectedPlanId, formValues[FIELD_NAMES.customerSignature], formValues[FIELD_NAMES.termsRead])\r\n .then(() => {\r\n\r\n let price = plan.price\r\n if (plan.activationFee) {\r\n price += plan.activationFee\r\n }\r\n\r\n analytics.renewPlan({ planName: plan.name, terms: plan.subscriptionPlanCategoryType, price })\r\n history.replace(ROUTES.profile.view)\r\n return\r\n })\r\n },\r\n }),\r\n reduxForm({\r\n form: 'acceptTerms',\r\n }),\r\n withState('data', 'setData', null),\r\n withState('isLoading', 'setLoadingStatus', true),\r\n lifecycle({\r\n componentDidMount () {\r\n window.scrollTo(0, 0)\r\n analytics.openCreateReviewTermsPage()\r\n\r\n // if (this.props.plan.subscriptionPlanCategoryType === SUBSCRIPTION_PLAN_TYPE.contract) {\r\n this.props.getRenewSubscriptionTerms(this.props.selectedPlanId)\r\n .then(({ value: { result } }) => {\r\n this.props.setData(result.fields)\r\n this.props.setLoadingStatus(false)\r\n })\r\n .catch(error => {\r\n const errorCodes = getErrorCodes(error)\r\n if (errorCodes.includes(ERROR_CODES.sabrixNotAvailable)) {\r\n this.props.createAlert({ name: ALERTS.error })\r\n return\r\n }\r\n this.props.setLoadingStatus(false)\r\n this.props.onShowError(error)\r\n })\r\n //}\r\n },\r\n }),\r\n withRouter,\r\n)(RenewalTerms)\r\n","import RenewalTerms from './RenewalTermsContainer'\r\n\r\nexport default RenewalTerms\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport classNames from 'classnames/bind'\r\nimport { Route, RouteComponentProps } from 'react-router-dom'\r\nimport { ROUTES } from 'constants/routes'\r\nimport { Text } from 'hocs/localization'\r\nimport { SUBSCRIPTION_PLAN_TYPE } from 'constants/subscription'\r\nimport ProfileContent from 'apps/ProfileContent'\r\nimport ButtonWithIcon from 'apps/ButtonWithIcon'\r\nimport Button from 'elements/Button'\r\nimport contract from 'assets/images/contract.png'\r\nimport mo2mo from 'assets/images/mo2mo.png'\r\nimport { toCurrency } from 'utils/price'\r\nimport { getPrintedDateLocal } from 'utils/date'\r\nimport * as styles from './PlanRenewal.scss'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IProps extends RouteComponentProps {\r\n t: Text\r\n handleSubmit: any,\r\n acceptTerms: () => void,\r\n plans: any[],\r\n currentUserPlanImageUri: string,\r\n activePlanId: string,\r\n currentUserPlanName: string,\r\n contractExpirationDate: string,\r\n onShowTerms: (planId: string) => Promise<{}>,\r\n onSelectChangePlan: () => void\r\n}\r\n\r\ninterface IState {\r\n selectedPlanId: string,\r\n isUserAbleToOpenProfile: boolean,\r\n isButtonDisabled: boolean,\r\n isSubmitting: boolean,\r\n}\r\n\r\nclass PlanRenewal extends React.Component {\r\n public state = {\r\n selectedPlanId: this.props.activePlanId,\r\n isButtonDisabled: !this.props.plans.some(x => x.id == this.props.activePlanId),\r\n isSubmitting: false,\r\n }\r\n\r\n private onChoosePlan = planId => {\r\n this.setState({\r\n selectedPlanId: planId,\r\n })\r\n\r\n this.state.isButtonDisabled = false\r\n }\r\n\r\n private onReturnBack = () => {\r\n this.props.history.push(ROUTES.profile.view)\r\n }\r\n\r\n private onSubmit = () => {\r\n const { selectedPlanId } = this.state\r\n this.setState({\r\n isSubmitting: true,\r\n })\r\n\r\n return this.props.onShowTerms(selectedPlanId)\r\n }\r\n\r\n private onSubmitChangePlan = () => {\r\n this.setState({\r\n isSubmitting: true,\r\n })\r\n\r\n return this.props.onSelectChangePlan()\r\n }\r\n\r\n public render () {\r\n const {\r\n t,\r\n plans,\r\n activePlanId,\r\n currentUserPlanImageUri,\r\n currentUserPlanName,\r\n contractExpirationDate,\r\n } = this.props\r\n const {\r\n selectedPlanId,\r\n isSubmitting,\r\n isButtonDisabled,\r\n } = this.state\r\n\r\n return (\r\n \r\n
\r\n
\r\n
\r\n

{t('title')}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {currentUserPlanName}\r\n
\r\n
\r\n
Current plan: {currentUserPlanName}
\r\n
Plan expires: {getPrintedDateLocal(contractExpirationDate)}
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n

{plans.length > 0 ? t('subTitle') : t('renewalOptionsNotAvailable')}

\r\n {plans.length == 0 && (\r\n

{t('renewalOptionsChoseNewPlan')}

\r\n )}\r\n
\r\n
\r\n
\r\n\r\n
\r\n {plans.map(plan => (\r\n
\r\n \r\n
\r\n {plan.name}\r\n
\r\n
\r\n

\r\n {plan.subscriptionPlanCategoryType === SUBSCRIPTION_PLAN_TYPE.contract ? '2-year Contract' : 'Month-to-month'}\r\n

\r\n

\r\n {plan.subscriptionPlanCategoryType === SUBSCRIPTION_PLAN_TYPE.monthToMonth && (\r\n
{t('upTo')}
\r\n )}\r\n {t('price', { price: toCurrency(plan.price) })}\r\n {!!plan.activationFee && (\r\n
\r\n {t('activationFee', { activationFee: toCurrency(plan.activationFee) })}\r\n
\r\n )}\r\n
{t('taxes')}
\r\n{/*
{t('taxes')}
*/}\r\n

\r\n\r\n
\r\n { this.onChoosePlan(plan.id) } }>\r\n {plan.id === selectedPlanId ? t('selectedButton') : t('selectButton')}\r\n \r\n
\r\n
\r\n
\r\n
\r\n ))}\r\n
\r\n
\r\n
\r\n \r\n {t('back')}\r\n \r\n
\r\n
\r\n {plans.length > 0 &&\r\n \r\n {isSubmitting ? t('submitButtonSubmitting') : t('submitButton')}\r\n \r\n }\r\n {plans.length == 0 &&\r\n \r\n {isSubmitting ? t('submitButtonSubmitting') : t('choseNewPlanButton')}\r\n \r\n }\r\n
\r\n
\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default PlanRenewal\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose, withHandlers, lifecycle } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { withRouter } from 'react-router-dom'\r\nimport _get from 'lodash/get'\r\nimport { analytics } from 'services/Analytics'\r\nimport { ROUTES } from 'constants/routes'\r\nimport { ALERTS } from 'constants/alerts'\r\nimport { SUBSCRIPTION_STATUS, SUBSCRIPTION_PLAN_TYPE } from 'constants/subscription'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport { getPrintedDateLocal } from 'utils/date'\r\nimport { loading } from 'hocs/loading'\r\nimport { onChangeSubscriptionPlan, onGetSubscriptionsPlansForRenew } from 'redux-app/actionCreators/subscription'\r\nimport { createAlert } from 'redux-app/modules/alerts'\r\nimport { selectPlan } from 'redux-app/modules/subscriptions'\r\nimport { getSubscriptionStatus, getUserSubscription, isUserAbleToOpenProfile, getActivePlan } from 'redux-app/selectors/user'\r\nimport { getSubscriptionPlansForRenew } from 'redux-app/selectors/subscription'\r\nimport PlanRenewal from './PlanRenewal'\r\n\r\nexport default compose(\r\n withLocalization('profile.planRenew'),\r\n connect(\r\n (state) => {\r\n\r\n let subscriptionPlansForRenew = getSubscriptionPlansForRenew(state)\r\n\r\n return {\r\n activePlanId: _get(getUserSubscription(state), 'planId'),\r\n plans: subscriptionPlansForRenew?.sort((a, b) => a.price > b.price ? 1 : -1),\r\n subscriptionStatus: getSubscriptionStatus(state),\r\n isUserAbleToOpenProfile: isUserAbleToOpenProfile(state),\r\n currentUserPlanName: _get(getUserSubscription(state), 'planName'),\r\n currentUserPlanImageUri: _get(getUserSubscription(state), 'planImageUri'),\r\n contractExpirationDate: getPrintedDateLocal(_get(getUserSubscription(state), 'termsEndDate')),\r\n }\r\n },\r\n {\r\n onChangeSubscriptionPlan,\r\n onGetSubscriptionsPlansForRenew,\r\n createAlert,\r\n selectPlan,\r\n },\r\n ),\r\n withRouter,\r\n withHandlers({\r\n onShowTerms: ({ plans, selectPlan, history }) => planId => {\r\n const newPlan = plans.find(plan => plan.id === planId)\r\n selectPlan(newPlan.id)\r\n\r\n return history.push(ROUTES.profile.renewPlan.terms)\r\n },\r\n onSelectChangePlan: ({ history }) => () => {\r\n return history.push({ pathname: ROUTES.profile.enrollPlan.root, state: { changeAndRenew : true }})\r\n },\r\n }),\r\n lifecycle({\r\n componentWillMount () {\r\n this.props.onGetSubscriptionsPlansForRenew()\r\n .then(() => {\r\n this.setState({\r\n loadProgress: 100,\r\n })\r\n })\r\n .catch(() => {\r\n this.setState({\r\n loadProgress: 100,\r\n })\r\n })\r\n },\r\n }),\r\n loading,\r\n)(PlanRenewal)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport PlanRenewal from './PlanRenewalContainer'\r\n\r\nexport default PlanRenewal\r\n","import React from 'react'\r\nimport { Switch, Route } from 'react-router-dom'\r\nimport { ROUTES } from 'constants/routes'\r\nimport RenewalTerms from '../RenewPlan/routes/RenewalTerms'\r\nimport NewPlanAccepted from '../ChangePlan/routes/NewPlanAccepted'\r\nimport PlanRenewal from '../RenewPlan/routes/PlanRenewal'\r\n\r\nconst RenewPlan = () => (\r\n \r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default RenewPlan\r\n","import RenewPlan from './RenewPlan'\r\n\r\nexport default RenewPlan\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport classNames from 'classnames/bind'\r\nimport { RouteComponentProps } from 'react-router-dom'\r\nimport { ROUTES } from 'constants/routes'\r\nimport { Text } from 'hocs/localization'\r\nimport { isInventoryForChangePlanAvailable, isPlanAvailable } from 'redux-app/utils/subscription'\r\nimport ProfileContent from 'apps/ProfileContent'\r\nimport ButtonWithIcon from 'apps/ButtonWithIcon'\r\nimport PlanItem from 'routes/Main/apps/SelectPlan/apps/PlanItem'\r\nimport MultiPlanItem from 'routes/Main/apps/SelectPlan/apps/MultiPlanItem/MultiPlanItem'\r\nimport { toCurrency } from 'utils/price'\r\nimport * as styles from './EnrollPlanChoice.scss'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IProps extends RouteComponentProps {\r\n t: Text\r\n isUserLogin: boolean,\r\n isRenewAndChange: boolean,\r\n handleSubmit: any,\r\n acceptTerms: () => void,\r\n plans: any[],\r\n groupedPlans: any[][],\r\n activePlanId: string,\r\n onChangePlan: (planId: string) => Promise<{}>,\r\n onShowTerms: (planId: string) => Promise<{}>,\r\n}\r\n\r\ninterface IState {\r\n selectedPlanId: string,\r\n isUserAbleToOpenProfile: boolean,\r\n isButtonDisabled: boolean,\r\n isSubmitting: boolean,\r\n plansState: any[],\r\n groupedPlansState: any[][],\r\n}\r\n\r\nclass EnrollPlanChoice extends React.Component {\r\n public state = {\r\n selectedPlanId: this.props.activePlanId,\r\n isButtonDisabled: true,\r\n isSubmitting: false,\r\n plansState: this.props.plans,\r\n groupedPlansState: this.props.groupedPlans,\r\n }\r\n\r\n private onChangeCheckBoxState = (weight) => {\r\n\r\n const plansFromState = [...this.state.plansState]\r\n const plansFromGroup = plansFromState.filter(x => x.weight === weight)\r\n\r\n // exchange plans vivibility\r\n const firstGroupPlanVisibility = plansFromGroup[0].visible\r\n plansFromGroup[0].visible = plansFromGroup[1].visible\r\n plansFromGroup[1].visible = firstGroupPlanVisibility\r\n\r\n this.setState({ plansState: plansFromState })\r\n }\r\n\r\n private onChoosePlan = planId => {\r\n const selectedPlanId = planId\r\n this.setState({\r\n isSubmitting: true,\r\n })\r\n const newPlan = this.props.plans.find(plan => plan.id === selectedPlanId)\r\n\r\n if (!isPlanAvailable(newPlan)) {\r\n this.props.selectPlan(newPlan.id)\r\n this.props.history.push(ROUTES.profile.enrollPlan.noAvailablePrinter)\r\n return\r\n }\r\n if (this.props.isUserAbleToOpenProfile) {\r\n return this.props.onShowTerms(selectedPlanId)\r\n }\r\n this.props.onChangePlan(selectedPlanId)\r\n .catch(() => {\r\n this.setState({\r\n isSubmitting: false,\r\n })\r\n })\r\n }\r\n\r\n private onReturnBack = () => {\r\n this.props.history.push(ROUTES.profile.view)\r\n }\r\n\r\n public render () {\r\n const {\r\n t,\r\n isUserLogin,\r\n } = this.props\r\n const {\r\n plansState,\r\n groupedPlansState,\r\n } = this.state\r\n\r\n return (\r\n \r\n
\r\n
\r\n
\r\n

{t('title')}

\r\n
\r\n
\r\n
\r\n
\r\n\r\n {Object.keys(groupedPlansState).map((key) => {\r\n \r\n var planItem : any;\r\n var planItem2 : any;\r\n \r\n if (groupedPlansState[key].length > 0) {\r\n planItem = plansState.find(x => x.id === groupedPlansState[key][0].id);\r\n }\r\n\r\n if (groupedPlansState[key].length > 1) {\r\n planItem2 = plansState.find(x => x.id === groupedPlansState[key][1].id);\r\n }\r\n\r\n return (\r\n \r\n {groupedPlansState[key].length === 1 && (\r\n \r\n )}\r\n {groupedPlansState[key].length > 1 && (\r\n \r\n )}\r\n
\r\n )},\r\n )}\r\n\r\n
\r\n
\r\n \r\n {t('back')}\r\n \r\n
\r\n
\r\n
\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default EnrollPlanChoice\r\n","export enum FIELD_NAMES {\r\n customerSignature = 'customerSignature',\r\n epsonSignature = 'epsonSignature',\r\n termsRead = 'termsRead',\r\n}\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose, withHandlers, lifecycle } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { withRouter } from 'react-router-dom'\r\nimport _get from 'lodash/get'\r\nimport { analytics } from 'services/Analytics'\r\nimport { ROUTES } from 'constants/routes'\r\nimport { ALERTS } from 'constants/alerts'\r\nimport { SUBSCRIPTION_STATUS } from 'constants/subscription'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport { loading } from 'hocs/loading'\r\nimport { isUserAuthorizated } from 'redux-app/selectors/auth'\r\nimport { onChangeSubscriptionPlan, onGetSubscriptionsPlans } from 'redux-app/actionCreators/subscription'\r\nimport { createAlert } from 'redux-app/modules/alerts'\r\nimport { selectPlan } from 'redux-app/modules/subscriptions'\r\nimport { getSubscriptionStatus, getUserSubscription, isUserAbleToOpenProfile } from 'redux-app/selectors/user'\r\nimport { getSubscriptionPlans } from 'redux-app/selectors/subscription'\r\nimport EnrollPlanChoice from './EnrollPlanChoice'\r\n\r\nexport default compose(\r\n withLocalization('profile.planEnroll'),\r\n connect(\r\n (state, props) => {\r\n\r\n const isRenewAndChange = props.location.state?.changeAndRenew === true\r\n const isUserLogin = isUserAuthorizated(state)\r\n const plans = getSubscriptionPlans(state)\r\n .sort((a, b) => {\r\n\r\n if (a.weight === b.weight)\r\n {\r\n return !!a.activationFee ? 1 : -1\r\n }\r\n\r\n return a.weight > b.weight ? 1 : -1\r\n })\r\n\r\n plans.forEach(plan => {\r\n plan['visible'] = false;\r\n });\r\n\r\n const groupByCategory = plans.reduce((group, plan) => {\r\n group[plan.weight] = group[plan.weight] ?? []\r\n group[plan.weight].push(plan)\r\n return group\r\n }, {})\r\n\r\n for (const item in groupByCategory) {\r\n groupByCategory[item][0].visible = true\r\n }\r\n\r\n return {\r\n isUserLogin,\r\n activePlanId: _get(getUserSubscription(state), 'planId'),\r\n plans,\r\n groupedPlans: groupByCategory,\r\n subscriptionStatus: getSubscriptionStatus(state),\r\n isUserAbleToOpenProfile: isUserAbleToOpenProfile(state),\r\n isRenewAndChange: isRenewAndChange,\r\n }\r\n },\r\n {\r\n onChangeSubscriptionPlan,\r\n onGetSubscriptionsPlans,\r\n createAlert,\r\n selectPlan,\r\n },\r\n ),\r\n withRouter,\r\n withHandlers({\r\n onChangePlan: ({\r\n onChangeSubscriptionPlan,\r\n history,\r\n subscriptionStatus,\r\n createAlert,\r\n activePlanId,\r\n isRenewAndChange,\r\n plans,\r\n }) => planId => {\r\n return onChangeSubscriptionPlan(planId)\r\n .then(() => {\r\n if (subscriptionStatus === SUBSCRIPTION_STATUS.pendingConfirmation) {\r\n history.replace(ROUTES.profile.view)\r\n createAlert({ name: ALERTS.successChangeSubscription })\r\n return\r\n }\r\n history.push(ROUTES.profile.enrollPlan.accepted)\r\n })\r\n },\r\n onShowTerms: ({ plans, selectPlan, history, isRenewAndChange }) => planId => {\r\n const newPlan = plans.find(plan => plan.id === planId)\r\n selectPlan(newPlan.id)\r\n\r\n return history.push({ pathname: ROUTES.profile.enrollPlan.terms, state: { changeAndRenew : isRenewAndChange }})\r\n },\r\n }),\r\n lifecycle({\r\n componentWillMount () {\r\n this.props.onGetSubscriptionsPlans()\r\n .then(() => {\r\n this.setState({\r\n loadProgress: 100,\r\n })\r\n })\r\n .catch(() => {\r\n this.setState({\r\n loadProgress: 100,\r\n })\r\n })\r\n },\r\n }),\r\n loading,\r\n)(EnrollPlanChoice)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport EnrollPlanChoice from './EnrollPlanChoiceContainer'\r\n\r\nexport default EnrollPlanChoice\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport classNames from 'classnames/bind'\r\nimport { RouteComponentProps } from 'react-router-dom'\r\nimport { ROUTES } from 'constants/routes'\r\nimport { Field } from 'redux-form'\r\nimport { Text } from 'hocs/localization'\r\nimport Loading from 'apps/Loading'\r\nimport { Input, Checkbox } from 'apps/FormFields'\r\nimport ButtonWithIcon from 'apps/ButtonWithIcon'\r\nimport LeaseAgreement from 'apps/LeaseAgreement'\r\nimport Button from 'elements/Button'\r\nimport { createValidation, createValidator, hasRequired, hasRequiredCheckbox } from 'utils/form'\r\nimport { FIELD_NAMES } from './constants'\r\nimport { toCurrency } from 'utils/price'\r\nimport * as styles from './Terms.scss'\r\nimport contract from 'assets/images/contract.png'\r\nimport mo2mo from 'assets/images/mo2mo.png'\r\nimport { SUBSCRIPTION_PLAN_TYPE } from 'constants/subscription'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IProps extends RouteComponentProps {\r\n t: Text,\r\n plan: any,\r\n summary: any,\r\n changePlan: () => void,\r\n downloadTerms: () => void,\r\n termsFileUrl: string | null,\r\n isLoading: boolean,\r\n submitting: boolean,\r\n valid: boolean,\r\n currency: string,\r\n businessName: string,\r\n userDetails: any,\r\n address: string,\r\n newContractType: string,\r\n}\r\n\r\ninterface IState {\r\n isSubmitting: boolean,\r\n isTermsAccepted: boolean,\r\n}\r\n\r\nclass Terms extends React.Component {\r\n public state = {\r\n isSubmitting: false,\r\n isTermsAccepted: false,\r\n }\r\n\r\n public requiredFieldValidation = createValidation([\r\n createValidator(hasRequired, this.props.getTextPath('errors.textField')),\r\n ])\r\n\r\n public requiredCheckboxValidation = createValidation([\r\n createValidator(hasRequiredCheckbox, ''),\r\n ])\r\n\r\n private onReturnBack = () => {\r\n this.props.history.push(ROUTES.profile.enrollPlan.root)\r\n }\r\n\r\n private onChangePlan = formValues => {\r\n this.setState({\r\n isSubmitting: true,\r\n })\r\n\r\n this.props.changePlan(formValues).finally(() => {\r\n this.setState({\r\n isSubmitting: false,\r\n })\r\n })\r\n }\r\n\r\n public render () {\r\n const {\r\n t,\r\n data,\r\n isLoading,\r\n submitting,\r\n valid,\r\n handleSubmit,\r\n newContractType,\r\n userDetails,\r\n currency,\r\n businessName,\r\n address,\r\n plan,\r\n } = this.props\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n

{t('title')}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {plan.name}/\r\n
\r\n
\r\n
    \r\n
  • \r\n \r\n {t('planName')}:\r\n \r\n \r\n {plan.name}\r\n \r\n
  • \r\n
  • \r\n {t('contractType')}:\r\n {newContractType === SUBSCRIPTION_PLAN_TYPE.contract ? 'Contract' : 'Mo-2-Mo'}\r\n
  • \r\n
  • \r\n \r\n {t('monthlyFee')}:\r\n \r\n \r\n {currency + toCurrency(data?.monthlyPayment)}\r\n \r\n
  • \r\n {address && (\r\n
  • \r\n {t('address')}:\r\n {address}\r\n
  • \r\n )}\r\n {businessName && (\r\n
  • \r\n {t('businessName')}:\r\n {businessName}\r\n
  • \r\n )}\r\n {userDetails.creditCard && (\r\n
  • \r\n {t('cardOnFile')}:\r\n
    \r\n *{userDetails.creditCard.last4Digits}\r\n {userDetails.creditCard.expirationMonth}/{userDetails.creditCard.expirationYear}\r\n
    \r\n
  • \r\n )}\r\n
  • \r\n {t('emailAddress')}:\r\n {userDetails.email}\r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n {isLoading\r\n ? (
\r\n \r\n
)\r\n : ()\r\n }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{data && data.businessName ? data.businessName : ''}
\r\n
{t('signaturePrompt')}
\r\n \r\n
{t('signatureNote')}
\r\n
{data ? data.contractStartDate : '' }
\r\n
\r\n
\r\n
{t('epsonName')}
\r\n
\r\n \r\n
\r\n
{data ? data.contractStartDate : '' }
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {this.state.isSubmitting ? t('submitButtonSubmitting') : t('submitButton')}\r\n \r\n
\r\n
\r\n \r\n {t('back')}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {t('utc')}\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default Terms\r\n","import { compose, withHandlers, lifecycle, withState } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport _get from 'lodash/get'\r\nimport { reduxForm } from 'redux-form'\r\nimport { withRouter } from 'react-router-dom'\r\nimport { analytics } from 'services/Analytics'\r\nimport { EMPTY_OBJECT } from 'constants/frozenObjects'\r\nimport { ROUTES } from 'constants/routes'\r\nimport { ALERTS } from 'constants/alerts'\r\nimport { ERROR_CODES } from 'constants/errors'\r\nimport { SUBSCRIPTION_STATUS } from 'constants/subscription'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport { getStates } from 'redux-app/selectors/apiData'\r\nimport { onAcceptEnrollSubscriptionPlan, onAcceptRenewAndChangeSubscriptionPlan } from 'redux-app/actionCreators/subscription'\r\nimport { getEnrollSubscriptionTerms, getRenewAndChangeSubscriptionTerms } from 'api/client/actions/subscriptions'\r\nimport { getSelectedPlanId, getSubscriptionPlans, getSelectedPlan } from 'redux-app/selectors/subscription'\r\nimport { getSubscriptionStatus, getUserSubscription, getUserDetails } from 'redux-app/selectors/user'\r\nimport { getCurrencySymbol, getPostalCodeFormatted } from 'utils/user'\r\nimport { createAlert, onShowError } from 'redux-app/modules/alerts'\r\nimport { getErrorCodes } from 'utils/error'\r\nimport { FIELD_NAMES } from './constants'\r\nimport Terms from './Terms'\r\n\r\nexport default compose(\r\n withLocalization('profile.planChoose.terms'),\r\n connect(\r\n (state, props) => {\r\n\r\n const isRenewAndChange = props.location.state?.changeAndRenew === true\r\n const userDetails = getUserDetails(state) || { creditCard:{} }\r\n const stateAbbr = _get(\r\n getStates(state).find(state => state.id === userDetails.shippingAddress.stateId),\r\n 'isoCode',\r\n '',\r\n )\r\n const { address1, city, postalCode } = userDetails.shippingAddress\r\n\r\n return {\r\n currency: getCurrencySymbol(_get(getSelectedPlan(state), 'currency', EMPTY_OBJECT)),\r\n activePlanId: _get(getUserSubscription(state), 'planId'),\r\n plans: getSubscriptionPlans(state).sort((a, b) => a.price > b.price ? 1 : -1),\r\n subscriptionStatus: getSubscriptionStatus(state),\r\n selectedPlanId: getSelectedPlanId(state),\r\n plan: getSelectedPlan(state),\r\n userDetails,\r\n address: `${address1}, ${city}, ${stateAbbr} ${getPostalCodeFormatted(postalCode)}`,\r\n businessName: _get(userDetails, ['company', 'name']),\r\n newContractType: _get(getSelectedPlan(state), 'subscriptionPlanCategoryType'),\r\n isRenewAndChange: isRenewAndChange,\r\n }\r\n },\r\n {\r\n onAcceptEnrollSubscriptionPlan,\r\n onAcceptRenewAndChangeSubscriptionPlan,\r\n getEnrollSubscriptionTerms,\r\n getRenewAndChangeSubscriptionTerms,\r\n createAlert,\r\n onShowError,\r\n },\r\n ),\r\n withRouter,\r\n withHandlers({\r\n changePlan: ({\r\n plans,\r\n createAlert,\r\n history,\r\n selectedPlanId,\r\n subscriptionStatus,\r\n activePlanId,\r\n onAcceptEnrollSubscriptionPlan,\r\n onAcceptRenewAndChangeSubscriptionPlan,\r\n isRenewAndChange\r\n }) => formValues => {\r\n const newPlan = plans.find(plan => plan.id === selectedPlanId)\r\n\r\n if (isRenewAndChange){\r\n return onAcceptRenewAndChangeSubscriptionPlan(selectedPlanId, formValues[FIELD_NAMES.customerSignature])\r\n .then(() => {\r\n analytics.enrollPlan({ planName: newPlan.name })\r\n history.push(ROUTES.profile.renewAndChangePlan.accepted)\r\n })\r\n .catch(error => {\r\n const errorCodes = getErrorCodes(error)\r\n if (errorCodes.includes(ERROR_CODES.paymentricInvalidAccountNumber) ||\r\n errorCodes.includes(ERROR_CODES.paymetricAuthorizationFailed)) {\r\n history.replace(ROUTES.profile.view)\r\n return\r\n }\r\n })\r\n }\r\n else {\r\n return onAcceptEnrollSubscriptionPlan(selectedPlanId, formValues[FIELD_NAMES.customerSignature])\r\n .then(() => {\r\n analytics.enrollPlan({ planName: newPlan.name })\r\n if (subscriptionStatus === SUBSCRIPTION_STATUS.pendingConfirmation) {\r\n history.replace(ROUTES.profile.view)\r\n return\r\n }\r\n history.push(ROUTES.profile.enrollPlan.accepted)\r\n })\r\n .catch(error => {\r\n const errorCodes = getErrorCodes(error)\r\n if (errorCodes.includes(ERROR_CODES.paymentricInvalidAccountNumber) ||\r\n errorCodes.includes(ERROR_CODES.paymetricAuthorizationFailed)) {\r\n history.replace(ROUTES.profile.view)\r\n return\r\n }\r\n })\r\n }\r\n },\r\n }),\r\n reduxForm({\r\n form: 'acceptTerms',\r\n }),\r\n withState('data', 'setData', null),\r\n withState('isLoading', 'setLoadingStatus', true),\r\n lifecycle({\r\n componentDidMount () {\r\n window.scrollTo(0, 0)\r\n analytics.openCreateReviewTermsPage()\r\n\r\n if (this.props.isRenewAndChange) {\r\n this.props.getRenewAndChangeSubscriptionTerms(this.props.selectedPlanId)\r\n .then(({ value: { result } }) => {\r\n this.props.setData(result.fields)\r\n this.props.setLoadingStatus(false)\r\n })\r\n .catch(error => {\r\n const errorCodes = getErrorCodes(error)\r\n if (errorCodes.includes(ERROR_CODES.sabrixNotAvailable)) {\r\n this.props.createAlert({ name: ALERTS.error })\r\n return\r\n }\r\n this.props.setLoadingStatus(false)\r\n this.props.onShowError(error)\r\n })\r\n }\r\n else {\r\n this.props.getEnrollSubscriptionTerms(this.props.selectedPlanId)\r\n .then(({ value: { result } }) => {\r\n this.props.setData(result.fields)\r\n this.props.setLoadingStatus(false)\r\n })\r\n .catch(error => {\r\n const errorCodes = getErrorCodes(error)\r\n if (errorCodes.includes(ERROR_CODES.sabrixNotAvailable)) {\r\n this.props.createAlert({ name: ALERTS.error })\r\n return\r\n }\r\n this.props.setLoadingStatus(false)\r\n this.props.onShowError(error)\r\n })\r\n }\r\n } \r\n }),\r\n)(Terms)\r\n","import Terms from './TermsContainer'\r\n\r\nexport default Terms\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport classNames from 'classnames/bind'\r\nimport { Text } from 'hocs/localization'\r\nimport ProfileContent from 'apps/ProfileContent'\r\nimport Button from 'elements/Button'\r\nimport * as styles from './NewPlanAccepted.scss'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IProps {\r\n t: Text,\r\n onConfirm: () => void\r\n}\r\n\r\nconst NewPlanAccepted: React.SFC = ({ t, onConfirm }) => (\r\n \r\n
\r\n
\r\n
\r\n

{t('accepted')}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{t('checkEmail')}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n)\r\n\r\nexport default NewPlanAccepted\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose, withHandlers } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { withRouter } from 'react-router-dom'\r\nimport { ROUTES } from 'constants/routes'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport { onShowNewPlanAcceptedMessage } from 'redux-app/modules/user'\r\nimport NewPlanAccepted from './NewPlanAccepted'\r\n\r\nexport default compose(\r\n connect(\r\n null,\r\n {\r\n withRouter,\r\n onShowNewPlanAcceptedMessage,\r\n },\r\n ),\r\n withLocalization('profile.newPlanAccepted'),\r\n withRouter,\r\n withHandlers({\r\n onConfirm: ({\r\n onShowNewPlanAcceptedMessage,\r\n history: { replace },\r\n }) => () => {\r\n onShowNewPlanAcceptedMessage()\r\n replace(ROUTES.profile.view)\r\n },\r\n }),\r\n)(NewPlanAccepted)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport NewPlanAccepted from './NewPlanAcceptedContainer'\r\n\r\nexport default NewPlanAccepted\r\n","import React from 'react'\r\nimport { Text as TextType } from 'hocs/localization'\r\nimport AccessWrapper, { USER_ROLES } from 'apps/AccessWrapper'\r\nimport AuthPage from 'apps/AuthPage'\r\nimport Text from 'elements/Text'\r\nimport * as styles from './NoAvailablePrinter.scss'\r\n\r\ninterface IProps {\r\n t: TextType,\r\n onGoToEnrollSubscription: () => void,\r\n onAddToWaitlist: () => void,\r\n}\r\n\r\nconst NoAvailablePrinter: React.FC = ({ t, onGoToEnrollSubscription, onAddToWaitlist }) => (\r\n \r\n
\r\n {t('message')}\r\n \r\n \r\n {t('hereLink')} {t('changeSubscription')}\r\n \r\n \r\n \r\n {t('hereLink')} {t('addToWaitlist')}\r\n \r\n
\r\n
\r\n)\r\n\r\nexport default NoAvailablePrinter\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose, withHandlers } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { withRouter } from 'react-router-dom'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport { ROUTES } from 'constants/routes'\r\nimport { ALERTS } from 'constants/alerts'\r\nimport { createAlert, onShowError } from 'redux-app/modules/alerts'\r\nimport { addMeToWaitlist } from 'api/client/actions/auth'\r\nimport { isUserAuthorizated } from 'redux-app/selectors/auth'\r\nimport { getSelectedPlanId } from 'redux-app/selectors/subscription'\r\nimport NoAvailablePrinter from './NoAvailablePrinter'\r\n\r\nexport default compose(\r\n connect(\r\n state => ({\r\n isUserAuthorizated: isUserAuthorizated(state),\r\n selectedPlanId: getSelectedPlanId(state),\r\n }),\r\n {\r\n createAlert,\r\n onAddToWaitlist: addMeToWaitlist,\r\n onShowError,\r\n },\r\n ),\r\n withRouter,\r\n withHandlers({\r\n onAddToWaitlist: ({\r\n isUserAuthorizated,\r\n history,\r\n createAlert,\r\n onAddToWaitlist,\r\n onShowError,\r\n selectedPlanId,\r\n }) => event => {\r\n event.preventDefault()\r\n if (isUserAuthorizated) {\r\n onAddToWaitlist(selectedPlanId)\r\n .then(() => {\r\n createAlert({ name: ALERTS.successLeaveEmail })\r\n history.replace(ROUTES.profile.view)\r\n })\r\n .catch(error => {\r\n onShowError(error)\r\n })\r\n } else {\r\n history.replace(ROUTES.home.leaveEmail)\r\n }\r\n },\r\n onGoToEnrollSubscription: ({ history }) => event => {\r\n event.preventDefault()\r\n history.push(ROUTES.profile.enrollPlan.root)\r\n },\r\n }),\r\n withLocalization('noAvailablePrinter'),\r\n)(NoAvailablePrinter)\r\n","import NoAvailablePrinter from './NoAvailablePrinterContainer'\r\n\r\nexport default NoAvailablePrinter\r\n","import React from 'react'\r\nimport { Switch, Route } from 'react-router-dom'\r\nimport { ROUTES } from 'constants/routes'\r\nimport EnrollPlanChoice from './routes/EnrollPlanChoice'\r\nimport Terms from './routes/Terms'\r\nimport NewPlanAccepted from './routes/NewPlanAccepted'\r\nimport NoAvailablePrinter from './routes/NoAvailablePrinter'\r\n\r\nconst EnrollPlan = () => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default EnrollPlan\r\n","import EnrollPlan from './EnrollSubscription'\r\n\r\nexport default EnrollPlan\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport classNames from 'classnames/bind'\r\nimport { Text } from 'hocs/localization'\r\nimport ProfileContent from 'apps/ProfileContent'\r\nimport Button from 'elements/Button'\r\nimport * as styles from './RenewAndChangePlanAccepted.scss'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IProps {\r\n t: Text,\r\n onConfirm: () => void\r\n}\r\n\r\nconst RenewAndChangePlanAccepted: React.SFC = ({ t, onConfirm }) => (\r\n \r\n
\r\n
\r\n
\r\n

{t('accepted')}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{t('checkEmail')}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n)\r\n\r\nexport default RenewAndChangePlanAccepted\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose, withHandlers } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { withRouter } from 'react-router-dom'\r\nimport { ROUTES } from 'constants/routes'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport { onShowNewPlanAcceptedMessage } from 'redux-app/modules/user'\r\nimport RenewAndChangePlanAccepted from './RenewAndChangePlanAccepted'\r\n\r\nexport default compose(\r\n connect(\r\n null,\r\n {\r\n withRouter,\r\n onShowNewPlanAcceptedMessage,\r\n },\r\n ),\r\n withLocalization('profile.renewAndChange'),\r\n withHandlers({\r\n onConfirm: ({\r\n onShowNewPlanAcceptedMessage,\r\n history: { replace },\r\n }) => () => {\r\n onShowNewPlanAcceptedMessage()\r\n replace(ROUTES.profile.view)\r\n },\r\n }),\r\n)(RenewAndChangePlanAccepted)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport RenewAndChangePlanAccepted from './RenewAndChangePlanAcceptedContainer'\r\n\r\nexport default RenewAndChangePlanAccepted\r\n","import React from 'react'\r\nimport { Switch, Route } from 'react-router-dom'\r\nimport { ROUTES } from 'constants/routes'\r\nimport RenewAndChangePlanAccepted from './routes/RenewAndChangePlanAccepted'\r\n\r\nconst RenewAndChangeSubscription = () => (\r\n \r\n \r\n \r\n)\r\n\r\nexport default RenewAndChangeSubscription\r\n","import env from 'env'\r\n\r\nexport const changeEmail = ({ email, password }) => ({\r\n type: 'api/userSettings/CHANGE_EMAIL',\r\n payload: {\r\n apiAction: {\r\n hostname: env.api,\r\n url: '/api/accounts/me/email',\r\n method: 'PUT',\r\n data: {\r\n email,\r\n password,\r\n },\r\n },\r\n },\r\n})\r\nchangeEmail.toString = () => 'api/userSettings/CHANGE_EMAIL'\r\n\r\nexport const changePassword = ({ currentPassword, newPassword }) => ({\r\n type: 'api/userSettings/CHANGE_PASSWORD',\r\n payload: {\r\n apiAction: {\r\n hostname: env.api,\r\n url: '/api/accounts/me/password',\r\n method: 'PUT',\r\n data: {\r\n currentPassword,\r\n newPassword,\r\n },\r\n },\r\n },\r\n})\r\nchangePassword.toString = () => 'api/userSettings/CHANGE_PASSWORD'\r\n","export const SUCCESS_MODAL = 'successChangeEmail'\r\n","export enum FIELD_NAMES {\r\n currentPassword = 'currentPassword',\r\n newPassword = 'newPassword',\r\n}\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport { Field } from 'redux-form'\r\nimport { MAX_LENGTHS } from 'constants/forms'\r\nimport { Text, GetTextPath } from 'hocs/localization'\r\nimport { Input } from 'apps/FormFields'\r\nimport Modal, { ModalMessage, ModalFooter, ModalFooterButtons } from 'apps/Modal'\r\nimport Button from 'elements/Button'\r\nimport {\r\n createValidation,\r\n createValidator,\r\n hasValidEmail,\r\n hasRequired,\r\n removeSpaces,\r\n} from 'utils/form'\r\nimport { SUCCESS_MODAL } from './contants'\r\nimport * as styles from './ChangeEmailForm.scss'\r\n\r\ninterface IProps {\r\n isDisabled?: boolean,\r\n t: Text,\r\n getTextPath: GetTextPath,\r\n handleSubmit: any,\r\n submitting: boolean,\r\n valid: boolean,\r\n onFinish: () => void,\r\n isUserUnableToUpdateInfo: boolean,\r\n}\r\n\r\nclass ChangeEmailForm extends React.Component {\r\n public emailValidation = createValidation([\r\n createValidator(hasValidEmail, this.props.getTextPath('errors.email')),\r\n ])\r\n\r\n private requiredFieldValidation = createValidation([\r\n createValidator(hasRequired, this.props.getTextPath('errors.textField')),\r\n ])\r\n\r\n public render () {\r\n const {\r\n t,\r\n handleSubmit,\r\n submitting,\r\n valid,\r\n onFinish,\r\n isUserUnableToUpdateInfo,\r\n } = this.props\r\n\r\n const isFieldDisabled = submitting || isUserUnableToUpdateInfo\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {!isUserUnableToUpdateInfo && (\r\n
\r\n \r\n
\r\n )}\r\n \r\n \r\n {t('successModal.message')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nexport default ChangeEmailForm\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose, withHandlers } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { reduxForm, reset } from 'redux-form'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport { changeEmail } from 'api/client/actions/userSettings'\r\nimport { onShowError } from 'redux-app/modules/alerts'\r\nimport { openModal, closeModal } from 'redux-app/modules/modals'\r\nimport { isUserUnableToUpdateInfo } from 'redux-app/selectors/user'\r\nimport { SUCCESS_MODAL } from './contants'\r\nimport ChangeEmailForm from './ChangeEmailForm'\r\n\r\nconst FORM_NAME = 'changeEmail'\r\n\r\nexport default compose(\r\n withLocalization('profile.settings.changeEmail'),\r\n connect(\r\n state => ({\r\n isUserUnableToUpdateInfo: isUserUnableToUpdateInfo(state),\r\n }),\r\n {\r\n changeEmail,\r\n onShowError,\r\n reset,\r\n openModal,\r\n closeModal,\r\n },\r\n ),\r\n withHandlers({\r\n onSubmit: ({ changeEmail, onShowError, openModal, reset }) => formValues => {\r\n return changeEmail(formValues)\r\n .then(() => {\r\n openModal({ name: SUCCESS_MODAL })\r\n reset(FORM_NAME)\r\n })\r\n .catch(error => {\r\n onShowError(error)\r\n })\r\n },\r\n onFinish: ({ closeModal }) => () => {\r\n closeModal({ name: SUCCESS_MODAL })\r\n },\r\n }),\r\n reduxForm({\r\n form: FORM_NAME,\r\n }),\r\n)(ChangeEmailForm)\r\n","import ChangeEmailForm from './ChangeEmailFormContainer'\r\n\r\nexport default ChangeEmailForm\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport { Field } from 'redux-form'\r\nimport { MAX_LENGTHS } from 'constants/forms'\r\nimport { Text, GetTextPath } from 'hocs/localization'\r\nimport { Input } from 'apps/FormFields'\r\nimport Button from 'elements/Button'\r\nimport {\r\n hasRequired,\r\n createValidation,\r\n createValidator,\r\n hasValidPassword,\r\n hasPasswordUppercaseLetters,\r\n hasPasswordLowercaseLetters,\r\n hasPasswordSpecialCharacters,\r\n hasPasswordNumbers,\r\n hasPasswordValidLength,\r\n} from 'utils/form'\r\nimport { FIELD_NAMES } from './constants'\r\nimport * as styles from './ChangePasswordForm.scss'\r\n\r\ninterface IProps {\r\n isDisabled?: boolean,\r\n t: Text,\r\n getTextPath: GetTextPath,\r\n handleSubmit: any,\r\n submitting: boolean,\r\n valid: boolean,\r\n isUserUnableToUpdateInfo: boolean,\r\n}\r\n\r\nclass ChangePasswordForm extends React.Component {\r\n private requiredFieldValidation = createValidation([\r\n createValidator(hasRequired, this.props.getTextPath('errors.textField')),\r\n ])\r\n\r\n public passwordValidation = createValidation([\r\n createValidator(hasValidPassword, this.props.getTextPath('errors.password')),\r\n createValidator(hasPasswordUppercaseLetters, this.props.getTextPath('errors.password.uppercaseLetter')),\r\n createValidator(hasPasswordLowercaseLetters, this.props.getTextPath('errors.password.lowercaseLetter')),\r\n createValidator(hasPasswordNumbers, this.props.getTextPath('errors.password.number')),\r\n createValidator(hasPasswordSpecialCharacters, this.props.getTextPath('errors.password.specialCharacter')),\r\n createValidator(hasPasswordValidLength, this.props.getTextPath('errors.password.length')),\r\n ])\r\n\r\n public render () {\r\n const {\r\n t,\r\n handleSubmit,\r\n submitting,\r\n valid,\r\n isUserUnableToUpdateInfo,\r\n } = this.props\r\n\r\n const isFieldDisabled = submitting || isUserUnableToUpdateInfo\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {!isUserUnableToUpdateInfo && (\r\n
\r\n \r\n
\r\n )}\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default ChangePasswordForm\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose, withHandlers } from 'recompose'\r\nimport _get from 'lodash/get'\r\nimport { connect } from 'react-redux'\r\nimport { reduxForm, reset } from 'redux-form'\r\nimport { ALERTS } from 'constants/alerts'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport { onStartLogoutWithRedirect } from 'redux-app/actionCreators/auth'\r\nimport { changePassword } from 'api/client/actions/userSettings'\r\nimport { onShowError, createAlert } from 'redux-app/modules/alerts'\r\nimport { isUserUnableToUpdateInfo } from 'redux-app/selectors/user'\r\nimport { FIELD_NAMES } from './constants'\r\nimport { IValues } from './types'\r\nimport ChangePasswordForm from './ChangePasswordForm'\r\n\r\nconst FORM_NAME = 'changePassword'\r\n\r\nexport default compose(\r\n withLocalization('profile.settings.changePassword'),\r\n connect(\r\n state => ({\r\n isUserUnableToUpdateInfo: isUserUnableToUpdateInfo(state),\r\n }),\r\n {\r\n changePassword,\r\n onShowError,\r\n reset,\r\n createAlert,\r\n onStartLogoutWithRedirect,\r\n },\r\n ),\r\n withHandlers({\r\n onSubmit: ({ changePassword, onShowError, reset, createAlert, onStartLogoutWithRedirect }) => formValues => {\r\n return changePassword(formValues)\r\n .then(() => {\r\n createAlert({ name: ALERTS.successChangePassword })\r\n reset(FORM_NAME)\r\n onStartLogoutWithRedirect()\r\n })\r\n .catch(error => {\r\n onShowError(error)\r\n })\r\n },\r\n }),\r\n reduxForm({\r\n form: FORM_NAME,\r\n validate: (values: IValues, { getTextPath }) => {\r\n const errors: any = {}\r\n const currentPassword = _get(values, FIELD_NAMES.currentPassword)\r\n if (currentPassword && currentPassword === _get(values, FIELD_NAMES.newPassword)) {\r\n errors[FIELD_NAMES.newPassword] = [getTextPath('errors.newPasswordMatch')]\r\n }\r\n return errors\r\n },\r\n }),\r\n)(ChangePasswordForm)\r\n","import ChangePasswordForm from './ChangePasswordFormContainer'\r\n\r\nexport default ChangePasswordForm\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport classNames from 'classnames/bind'\r\nimport { Text } from 'hocs/localization'\r\nimport ProfileContent from 'apps/ProfileContent'\r\nimport CollapsibleBlock from 'elements/CollapsibleBlock'\r\nimport ChangeEmailForm from './apps/ChangeEmailForm'\r\nimport ChangePasswordForm from './apps/ChangePasswordForm'\r\nimport * as styles from './ProfileSettings.scss'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IProps {\r\n t: Text,\r\n}\r\n\r\nconst ProfileSettings: React.FC = ({ t }) => (\r\n \r\n
\r\n
\r\n
\r\n
\r\n

{t('heading')}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n)\r\n\r\nexport default ProfileSettings\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose } from 'recompose'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport ProfileSettings from './ProfileSettings'\r\n\r\nexport default compose(\r\n withLocalization('profile.settings'),\r\n)(ProfileSettings)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport ProfileSettings from './ProfileSettingsContainer'\r\n\r\nexport default ProfileSettings\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport { RouteComponentProps } from 'react-router-dom'\r\nimport { Text } from 'hocs/localization'\r\nimport classNames from 'classnames/bind'\r\nimport * as styles from './MaintenanceBanner.scss'\r\nimport { StringFormat } from 'shared/utils/text'\r\nimport { getPrintedDateWithTime12H } from 'shared/utils/date'\r\nimport { getFormattedTextOrDefault } from 'shared/utils/printedData'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IProps extends RouteComponentProps {\r\n isMaintenanceModeOn: boolean,\r\n message: string,\r\n t: Text\r\n}\r\n\r\nclass MaintenanceBanner extends React.Component {\r\n public render () {\r\n const { t, isMaintenanceModeOn, message} = this.props\r\n\r\n return(\r\n \r\n {isMaintenanceModeOn && (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default MaintenanceBanner\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport MaintenanceBanner from './MaintenanceBanner'\r\nimport { isMaintenanceModeOn, maintenanceMessage } from 'redux-app/selectors/apiData'\r\nimport { withInitialLoad } from 'shared/hocs/initialLoad'\r\nimport { profileInitialLoad } from 'redux-app/actionCreators/api'\r\n\r\nexport default compose(\r\n withInitialLoad(profileInitialLoad),\r\n connect(\r\n state => ({\r\n isMaintenanceModeOn: isMaintenanceModeOn(state),\r\n message: maintenanceMessage(state)\r\n }),\r\n null\r\n ),\r\n withLocalization('MaintenanceBanner')\r\n)(MaintenanceBanner)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport MaintenanceBanner from './MaintenanceBannerContainer'\r\n\r\nexport default MaintenanceBanner","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport { Redirect, Route, Switch } from 'react-router-dom'\r\nimport { ROUTES } from 'constants/routes'\r\nimport Header from 'apps/Header'\r\nimport Footer from 'apps/Footer'\r\nimport CreateProfile from './routes/CreateProfile'\r\nimport ViewProfile from './routes/ViewProfile'\r\nimport ChangePlan from './routes/ChangePlan'\r\nimport RenewPlan from './routes/RenewPlan'\r\nimport EnrollPlan from './routes/EnrollSubscription'\r\nimport RenewAndChangePlanAccepted from './routes/RenewAndChangeSubscription/RenewAndChangeSubscription'\r\nimport ProfileSettings from './routes/ProfileSettings'\r\nimport * as styles from './Profile.scss'\r\nimport MaintenanceBanner from 'apps/MaintenanceBanner'\r\n\r\ninterface IProps {\r\n isUserAbleToOpenProfile: boolean,\r\n isUserAbleToChangePlan: boolean,\r\n isUserNeedsToRenewSubscription: boolean,\r\n isEnrollAvailable: boolean,\r\n}\r\n\r\nconst Profile: React.FC = ({ isUserAbleToOpenProfile, isUserAbleToChangePlan,\r\n isUserNeedsToRenewSubscription, isEnrollAvailable }) => (\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n {isUserAbleToOpenProfile && [\r\n ,\r\n ,\r\n ]}\r\n {isUserAbleToChangePlan && (\r\n \r\n )}\r\n {isUserNeedsToRenewSubscription && (\r\n \r\n )}\r\n {(isEnrollAvailable || isUserNeedsToRenewSubscription) && (\r\n \r\n )}\r\n {isUserAbleToOpenProfile && (\r\n \r\n )}\r\n {!isUserAbleToOpenProfile && (\r\n \r\n )}\r\n \r\n
\r\n
\r\n \r\n)\r\n\r\nexport default Profile\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { REGISTRATION_STEPS } from 'constants/auth'\r\nimport { withInitialLoad } from 'hocs/initialLoad'\r\nimport { profileInitialLoad } from 'redux-app/actionCreators/api'\r\nimport { \r\n isUserAbleToOpenProfile, \r\n isUserNeedsToRenewSubscription, \r\n isEnrollAvailable } from 'redux-app/selectors/user'\r\nimport { getRegistrationStep } from 'redux-app/selectors/auth'\r\nimport Profile from './Profile'\r\n\r\nexport default compose(\r\n withInitialLoad(profileInitialLoad),\r\n connect(\r\n state => ({\r\n isUserAbleToOpenProfile: isUserAbleToOpenProfile(state),\r\n isUserAbleToChangePlan: isUserAbleToOpenProfile(state) || getRegistrationStep(state) === REGISTRATION_STEPS.terms,\r\n isUserNeedsToRenewSubscription: isUserNeedsToRenewSubscription(state),\r\n isEnrollAvailable: isEnrollAvailable(state),\r\n }),\r\n null,\r\n ),\r\n)(Profile)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport Profile from './ProfileContainer'\r\n\r\nexport default Profile\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport classNames from 'classnames/bind'\r\nimport Img from 'react-cool-img'\r\nimport { Text } from 'hocs/localization'\r\nimport HomeLayout from 'apps/HomeLayout'\r\nimport Button from 'elements/Button'\r\nimport * as styles from './ContactUs.scss'\r\nimport loadingImage from './assets/contact-us-header-min.jpg'\r\nimport headerImgSrc from './assets/contact-us-header.jpg'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IProps {\r\n t: Text,\r\n generalContact: any,\r\n}\r\n\r\nconst ContactUs: React.FC = ({ t, generalContact }) => (\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n Contact Us\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
    \r\n
  • {t('emailSupport')}
  • \r\n
  • \r\n \r\n {t('emailButton')}\r\n \r\n
  • \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
    \r\n
  • {t('faqHeader')}
  • \r\n
  • {t('faqQuestion1')}
  • \r\n
  • {t('faqAnswer1')}
  • \r\n
  • {t('faqQuestion2')}
  • \r\n
  • {t('faqAnswer2')}
  • \r\n
  • {t('faqQuestion3')}
  • \r\n
  • {t('faqAnswer3')}
  • \r\n
  • {t('faqQuestion4')}
  • \r\n
  • {t('faqAnswer4')}
  • \r\n
  • {t('faqQuestion5')}
  • \r\n
  • {t('faqAnswer5')}
  • \r\n
  • {t('faqQuestion6')}
  • \r\n
  • {t('faqAnswer6')}
  • \r\n
  • {t('faqQuestion7')}
  • \r\n
  • {t('faqAnswer7')}
  • \r\n
  • {t('faqQuestion8')}
  • \r\n
  • {t('faqAnswer8a')}

    {t('faqAnswer8b')}
  • \r\n
  • {t('faqQuestion9')}
  • \r\n
  • {t('faqAnswer9')}
  • \r\n
  • {t('faqQuestion10')}
  • \r\n
  • {t('faqAnswer10')}
  • \r\n
  • {t('faqQuestion11')}
  • \r\n
  • {t('faqAnswer11')}
  • \r\n
  • {t('faqQuestion12')}
  • \r\n
  • {t('faqAnswer12a')}

    {t('faqAnswer12b')}

    {t('faqAnswer12c')}
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n)\r\n\r\nexport default ContactUs\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose, lifecycle } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { analytics } from 'services/Analytics'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport { getGeneralContact } from 'redux-app/selectors/contacts'\r\nimport ContactUs from './ContactUs'\r\n\r\nexport default compose(\r\n connect(\r\n state => ({\r\n generalContact: getGeneralContact(state),\r\n }),\r\n null,\r\n ),\r\n withLocalization('contactUs'),\r\n lifecycle({\r\n componentDidMount () {\r\n analytics.openContactPage()\r\n },\r\n }),\r\n)(ContactUs)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport ContactUs from './ContactUsContainer'\r\n\r\nexport default ContactUs\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport { Field } from 'redux-form'\r\nimport classNames from 'classnames/bind'\r\nimport { MAX_LENGTHS } from 'constants/forms'\r\nimport { Text as TextType, GetTextPath } from 'hocs/localization'\r\nimport { Input, Captcha } from 'apps/FormFields'\r\nimport Button from 'elements/Button'\r\nimport Text from 'elements/Text'\r\nimport {\r\n createValidation,\r\n createValidator,\r\n hasValidEmail,\r\n hasRequired,\r\n removeSpaces,\r\n} from 'utils/form'\r\nimport * as styles from './LeaveEmailForm.scss'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\ninterface IProps {\r\n t: TextType,\r\n getTextPath: GetTextPath,\r\n handleSubmit: any,\r\n valid: boolean,\r\n submitting: boolean,\r\n isCaptchaVerified: boolean,\r\n onVerifyCaptcha: (response: string) => void,\r\n captchaRef: (ref: React.ReactElement) => React.Ref\r\n onSubmit: (formValues: any) => void,\r\n captchaFieldName: string,\r\n isCaptchaEnabled: boolean,\r\n isCaptchaWhiteListed: boolean,\r\n setScrollElementId: (elementId: string | null) => void,\r\n}\r\n\r\nclass LeaveEmailForm extends React.Component {\r\n private nameValidation = createValidation([\r\n createValidator(hasRequired, this.props.getTextPath('errors.textField')),\r\n ])\r\n\r\n public emailValidation = createValidation([\r\n createValidator(hasValidEmail, this.props.getTextPath('errors.email')),\r\n ])\r\n\r\n public render () {\r\n const {\r\n t,\r\n handleSubmit,\r\n submitting,\r\n isCaptchaVerified,\r\n onVerifyCaptcha,\r\n captchaRef,\r\n onSubmit,\r\n captchaFieldName,\r\n valid,\r\n isCaptchaEnabled,\r\n isCaptchaWhiteListed,\r\n } = this.props\r\n\r\n return (\r\n
\r\n
\r\n

{t('header')}

\r\n
\r\n
\r\n {t('message')}\r\n \r\n \r\n {(isCaptchaEnabled && !isCaptchaWhiteListed) && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n
\r\n \r\n {submitting ? t('submitButtonSubmitting') : t('submitButton')}\r\n \r\n
\r\n
\r\n \r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default LeaveEmailForm\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose, withHandlers, lifecycle } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { reduxForm } from 'redux-form'\r\nimport { withRouter } from 'react-router-dom'\r\nimport { analytics } from 'services/Analytics'\r\nimport { ALERTS } from 'constants/alerts'\r\nimport { ROUTES } from 'constants/routes'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport { formWithCaptcha } from 'hocs/formWithCaptcha'\r\nimport { onShowError, createAlert } from 'redux-app/modules/alerts'\r\nimport { leaveEmail } from 'api/client/actions/auth'\r\nimport { isCaptchaEnabled, isCaptchaWhiteListed } from 'redux-app/selectors/apiData'\r\nimport { getSelectedPlanId } from 'redux-app/selectors/subscription'\r\nimport LeaveEmailForm from './LeaveEmailForm'\r\n\r\nexport default compose(\r\n connect(\r\n state => ({\r\n isCaptchaEnabled: isCaptchaEnabled(state),\r\n isCaptchaWhiteListed: isCaptchaWhiteListed(state),\r\n selectedPlanId: getSelectedPlanId(state),\r\n }),\r\n {\r\n leaveEmail,\r\n onShowError,\r\n createAlert,\r\n },\r\n ),\r\n withRouter,\r\n withHandlers({\r\n onSubmit: ({ leaveEmail, onShowError, createAlert, history, selectedPlanId }) => formValues => {\r\n return leaveEmail(selectedPlanId, formValues)\r\n .then(() => {\r\n createAlert({ name: ALERTS.successLeaveEmail })\r\n history.replace(ROUTES.home.home)\r\n })\r\n .catch(error => {\r\n onShowError(error)\r\n })\r\n },\r\n }),\r\n withLocalization('leaveEmail.form'),\r\n reduxForm({\r\n form: 'leaveEmail',\r\n }),\r\n formWithCaptcha,\r\n lifecycle({\r\n componentDidMount () {\r\n analytics.openLoginPage()\r\n },\r\n }),\r\n)(LeaveEmailForm)\r\n","import LeaveEmail from './LeaveEmailFormContainer'\r\n\r\nexport default LeaveEmail\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport HomeLayout from 'apps/HomeLayout'\r\nimport AuthPage from 'apps/AuthPage'\r\nimport LeaveEmailForm from './apps/LeaveEmailForm'\r\n\r\nconst LeaveEmail: React.FC<{}> = () => (\r\n \r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default LeaveEmail\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose, lifecycle } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { withRouter } from 'react-router-dom'\r\nimport { ROUTES } from 'constants/routes'\r\nimport { getSelectedPlanId, isSelectedPlanAvailable } from 'redux-app/selectors/subscription'\r\nimport LeaveEmail from './LeaveEmail'\r\n\r\nexport default compose(\r\n connect(\r\n state => ({\r\n selectedPlanId: getSelectedPlanId(state),\r\n isSelectedPlanAvailable: isSelectedPlanAvailable(state),\r\n }),\r\n null,\r\n ),\r\n withRouter,\r\n lifecycle({\r\n componentWillMount () {\r\n if (!this.props.selectedPlanId || this.props.isSelectedPlanAvailable) {\r\n this.props.history.replace(ROUTES.home.home)\r\n }\r\n },\r\n }),\r\n)(LeaveEmail)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport LeaveEmail from './LeaveEmailContainer'\r\n\r\nexport default LeaveEmail\r\n","import React from 'react'\r\nimport HomeLayout from 'apps/HomeLayout'\r\nimport NoAvailablePrinterForm from 'apps/NoAvailablePrinterForm'\r\n\r\nconst NoAvailablePrinter: React.FC<{}> = () => (\r\n \r\n \r\n \r\n)\r\n\r\nexport default NoAvailablePrinter\r\n","import NoAvailablePrinter from './NoAvailablePrinter'\r\n\r\nexport default NoAvailablePrinter\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport { Text as TextType } from 'hocs/localization'\r\nimport Modal from 'apps/Modal'\r\nimport Heading from 'elements/Heading'\r\nimport Text from 'elements/Text'\r\nimport Button from 'elements/Button'\r\nimport * as styles from './CookieAccept.scss'\r\n\r\ninterface IProps {\r\n t: TextType,\r\n onAccept: () => void,\r\n}\r\n\r\nconst CookieAccept: React.FC = ({ t, onAccept }) => (\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n {t('message')}\r\n \r\n
\r\n
\r\n
\r\n \r\n {t('okButton')}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n)\r\n\r\nexport default CookieAccept\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { withLocalization } from 'hocs/localization'\r\nimport { acceptCookie } from 'redux-app/modules/user'\r\nimport CookieAccept from './CookieAccept'\r\n\r\nexport default compose(\r\n withLocalization('cookieAcceptBanner'),\r\n connect(\r\n null,\r\n {\r\n onAccept: acceptCookie,\r\n },\r\n ),\r\n)(CookieAccept)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport CookieAccept from './CookieAcceptContainer'\r\n\r\nexport default CookieAccept\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport classNames from 'classnames/bind'\r\nimport { Route, Switch, Redirect } from 'react-router-dom'\r\nimport { USER_ROLES } from 'constants/user'\r\nimport { ROUTES } from 'constants/routes'\r\nimport Alerts from 'apps/Alerts'\r\nimport LoadingOverlay from 'apps/LoadingOverlay'\r\nimport Main from 'routes/Main'\r\nimport CreateProfile from 'routes/CreateProfile'\r\nimport Login from 'routes/Login'\r\nimport ForgotPassword from 'routes/ForgotPassword'\r\nimport ConfirmEmail from 'routes/ConfirmEmail'\r\nimport ConfirmChangeEmail from 'routes/ConfirmChangeEmail'\r\nimport ChangePassword from 'routes/ChangePassword'\r\nimport Profile from 'routes/Profile'\r\nimport ContactUs from 'routes/ContactUs'\r\nimport LeaveEmail from 'routes/LeaveEmail'\r\nimport NoAvailablePrinter from 'routes/NoAvailablePrinter'\r\nimport CookieAccept from './apps/CookieAccept'\r\nimport * as styles from './CoreLayout.scss'\r\n\r\nconst cx = classNames.bind(styles)\r\n\r\nconst CoreLayout = ({ isCookieAccepted, isDataSending, userRole }) => (\r\n \r\n \r\n \r\n \r\n {userRole !== USER_ROLES.subscriptionUser && [\r\n ,\r\n ,\r\n ,\r\n ,\r\n ,\r\n ]}\r\n \r\n \r\n \r\n \r\n {userRole === USER_ROLES.subscriptionUser && (\r\n \r\n )}\r\n \r\n \r\n \r\n {!isCookieAccepted && }\r\n {isDataSending && }\r\n
\r\n)\r\n\r\nexport default CoreLayout\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport { compose, lifecycle } from 'recompose'\r\nimport { connect } from 'react-redux'\r\nimport { withRouter } from 'react-router-dom'\r\nimport env from 'env'\r\nimport { withInitialLoad } from 'hocs/initialLoad'\r\nimport { coreInitialLoad } from 'redux-app/actionCreators/api'\r\nimport { getVersion } from 'api/client/actions/version'\r\nimport { isCookieAccepted } from 'redux-app/selectors/user'\r\nimport { getUserRole } from 'redux-app/selectors/auth'\r\nimport { isDataSendingToServer } from 'redux-app/selectors/forms'\r\nimport { history } from 'utils/location'\r\nimport CoreLayout from './CoreLayout'\r\n\r\nconst onPrintVersions = () => dispatch => {\r\n console.log(`%cFrontend version: ${__VERSION__} `, 'font-size: 16px;')\r\n dispatch(getVersion())\r\n .then(({ value: { result: { version } } }) => {\r\n console.log(`%cBackend version: ${version}`, 'font-size: 16px;')\r\n })\r\n}\r\n\r\nexport default compose(\r\n connect(\r\n state => ({\r\n isCookieAccepted: isCookieAccepted(state),\r\n isDataSending: isDataSendingToServer(state),\r\n userRole: getUserRole(state),\r\n }),\r\n {\r\n onPrintVersions,\r\n },\r\n ),\r\n withRouter,\r\n lifecycle({\r\n componentWillMount () {\r\n history.setHistory(this.props.history)\r\n },\r\n componentDidMount () {\r\n if (env.isDebugInfo) {\r\n this.props.onPrintVersions()\r\n }\r\n },\r\n componentWillReceiveProps (prevProps) {\r\n if (this.props.location.pathname !== prevProps.location.pathname) {\r\n window.scrollTo(0, 0)\r\n }\r\n },\r\n }),\r\n withInitialLoad(coreInitialLoad),\r\n)(CoreLayout)\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nexport const getData = state => state.form\r\nexport const isDataSendingToServer = state => state.formUtil.isSendingInProgress\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport CoreLayout from './CoreLayoutContainer'\r\n\r\nexport default CoreLayout\r\n","/*\r\n * Developed for EPSON AMERICA INC. by Softeq Development Corporation\r\n * http://www.softeq.com\r\n */\r\n\r\nimport React from 'react'\r\nimport { Provider } from 'react-redux'\r\nimport { BrowserRouter as Router } from 'react-router-dom'\r\nimport CoreLayout from 'shared/apps/CoreLayout'\r\nimport * as styles from './AppContainer.scss'\r\n\r\ninterface IProps {\r\n store: object,\r\n}\r\n\r\nclass AppContainer extends React.Component {\r\n public render () {\r\n const { store } = this.props\r\n return (\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default AppContainer\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"loginTitle\":\"_3Udab\",\"confirmBody\":\"_90Ms5\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"uu9V4\",\"container768\":\"-qVKo\",\"selectedPlan\":\"_1O1IV\",\"changePlanInfo\":\"_3nVwE\",\"PlanContent\":\"_3HERP\",\"Office\":\"ZJ9Fz\",\"CreateAccountForm\":\"wlirQ\",\"FormField\":\"_3fJ-5\",\"captcha\":\"_2F1Db\",\"StepButton\":\"xLlGM\",\"AlreadyLogin\":\"_1M7IE\",\"topSpace50\":\"_3045j\",\"topSpace40\":\"_2Rf5y\",\"topSpace30\":\"_1PdcM\",\"NextButton\":\"_37hDc\",\"buttonWrap\":\"_2Uv-Z\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"_2Uaru\",\"wrapper\":\"_2iAfx\",\"spinner\":\"_3uU_E\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"PlanContent\":\"vzkNR\",\"Office\":\"_2mBMJ\",\"fee\":\"_1OxfY\",\"Content\":\"_2n02V\",\"leftImg\":\"_2ydR6\",\"rightside\":\"_2YH1H\",\"price\":\"_1G1oB\",\"boldText\":\"vm1JJ\",\"allRightImgs\":\"IT72P\",\"rightImg1\":\"_1YJyy\",\"rightImg2\":\"_3r2VN\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header\":\"_30ZcW\",\"message\":\"_2Zayn\"};","module.exports = __webpack_public_path__ + \"images/a308e35009d91d397827c73724d3d263.jpg\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"_3cqkz\",\"success\":\"_19ZqA\",\"warning\":\"_3DIIL\",\"disabledLink\":\"_3k0Xn\",\"linkAlignRight\":\"_3o6Ti\",\"contractExpire\":\"_2VXwC\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"mobileMenu\":\"_30XFl\",\"visible\":\"_1LeYP\",\"list\":\"_2JBf0\",\"item\":\"Lr8Re\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"_2192E\",\"background\":\"RsX1o\",\"content\":\"_2ER8Y\",\"mainText\":\"_2kPOD\",\"mainTextSmall\":\"_34Byy\",\"link\":\"_1MNw9\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tableWrap\":\"_1_K7D\",\"trackingLink\":\"xEl1y\",\"noData\":\"Z7ghC\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tableRoot\":\"cXG0K\",\"noData\":\"HBDcp\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tableWrap\":\"I7FaR\",\"trackingLink\":\"_57tlW\",\"noData\":\"_8V8ZB\",\"link\":\"_1G9YL\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"_1LzoK\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"_3Ih35\",\"required\":\"_34JCe\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"_3Ljaw\",\"header\":\"_32JTh\",\"list\":\"_7Hnlj\",\"item\":\"Q220F\",\"itemDescription\":\"_2VHok\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"ManageAccount\":\"Q2e0D\",\"planimg\":\"_2M7xR\",\"planimgtext\":\"_3A1sz\",\"planItem\":\"_1_BIz\",\"cardData\":\"_2wY8i\",\"link\":\"A277I\",\"expiredStatus\":\"F7mmW\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"x9oiC\",\"SaveChange\":\"_3o1rI\",\"row\":\"_3K9Bk\",\"column\":\"_24H5F\",\"fieldset\":\"_3Vpo2\",\"postalCode\":\"_39oJL\",\"field\":\"_2y4TY\",\"footer\":\"_1Bnwe\",\"submitButton\":\"_2otIT\",\"fieldsContainer\":\"_2LuCX\",\"fieldWrap\":\"_9K_NT\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"_1ZPOm\",\"button\":\"_3AVvk\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"_1SkPm\",\"primary\":\"_2yepS\",\"disabled\":\"_3ONqY\",\"secondary\":\"_2R7Lh\",\"regular\":\"_3MGKr\",\"red\":\"_35tPJ\",\"tertiary\":\"w4JOy\",\"tertiaryAsLink\":\"ylhXm\",\"xSmall\":\"_18WBM\",\"small\":\"sXC3U\",\"medium\":\"_1xZcr\",\"large\":\"_3pE9J\",\"xLarge\":\"_1PUsH\",\"xxLarge\":\"_2qyrZ\",\"round\":\"_2FhQn\",\"iconWrapper\":\"_1YXdw\",\"fluid\":\"_1MfGp\",\"cookies\":\"_11vPq\",\"noStyle\":\"_2fcFZ\",\"noStyleLink\":\"_1TKW_\",\"scrollUp\":\"YeRNO\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container768\":\"aliTC\",\"container1200\":\"_3xBy_\",\"topSpace50\":\"_1IiR1\",\"description\":\"_1tSJ7\",\"selectedPlan\":\"_2mi_z\",\"Content\":\"_1WDQX\",\"ContentEmpty\":\"_1tNUo\",\"leftImg\":\"oTYXQ\",\"rightside\":\"ac3kA\",\"boldText\":\"_1K-4w\",\"price\":\"_5X0zU\",\"fee\":\"jd0a0\",\"allRightImgs\":\"_1NMzY\",\"rightImg1\":\"_3h797\",\"rightImg2\":\"_3BWbj\",\"pLink\":\"qO9SF\",\"planContent\":\"_3iEUN\",\"planName\":\"hXvfN\",\"office\":\"_3YPBR\",\"changePlanButton\":\"_1_9b_\",\"terms\":\"OgcMH\",\"termsBlock\":\"_1yNzs\",\"signForm\":\"_1E_qx\",\"signature\":\"U1bRb\",\"signatureNote\":\"_1a4W-\",\"companyName\":\"_2y7Ft\",\"info\":\"rdKzK\",\"agreementCheckbox\":\"_1nfl2\",\"buttonWrapper\":\"_3yLzQ\",\"utc\":\"_3gmxp\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"y7BMj\",\"small\":\"_1tNRe\",\"medium\":\"_2aGBu\",\"large\":\"_2ii2R\",\"inputCenter\":\"_2dbwa\",\"icon\":\"_1OrlA\",\"onlyCheckbox\":\"_1zu6S\",\"disabled\":\"_3uYAU\",\"input\":\"BsKps\",\"label\":\"_39eiZ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container768\":\"_3uN6m\",\"container1200\":\"_3frO5\",\"selectedPlan\":\"_1DIr_\",\"bold\":\"_2OL31\",\"summary\":\"_Kpyx\",\"summaryTable\":\"D0-6o\",\"summaryLine\":\"_3DOiy\",\"summaryCondition\":\"_2XXUA\",\"summaryValue\":\"_-54Vb\",\"terms\":\"_3v9k5\",\"termsDescription\":\"_2XVcR\",\"termsBlock\":\"_1G9bZ\",\"termsSection\":\"_3o_X7\",\"section\":\"_35HG1\",\"sectionTitle\":\"_3Ufs_\",\"termsContent\":\"_2zLfo\",\"sectionTable\":\"azK2R\",\"tableTitle\":\"_2yJIv\",\"sectionColumn\":\"_4Br6u\",\"tableLine\":\"_2bZoo\",\"notes\":\"gCd2e\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"_3Rl7V\",\"title\":\"_2mO4V\",\"container768\":\"_1gX7f\",\"container1200\":\"_1ktu8\",\"topSpace50\":\"_13dia\",\"selectedPlan\":\"JyNCV\",\"saveChange\":\"VsaAy\",\"backLink\":\"_2AnPR\",\"terms\":\"IIKxg\",\"termsBlock\":\"_1h7sl\",\"signForm\":\"_3Mcl9\",\"signature\":\"gKMmn\",\"signatureNote\":\"_3dFVE\",\"companyName\":\"VQKOE\",\"info\":\"_1yC3i\",\"agreementCheckbox\":\"_3FbDl\",\"buttons\":\"_2yjdA\",\"buttonWrapper\":\"XVKuk\",\"utc\":\"YzAzj\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"_3XuUg\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"_2NfKQ\",\"largeIndent\":\"_2OoM7\",\"alt\":\"_1b-w6\",\"xSmall\":\"_2TJh2\",\"small\":\"_3k3rq\",\"medium\":\"CY9n9\",\"large\":\"_1O9yU\",\"xLarge\":\"_333q2\",\"remark\":\"_1Y7rn\",\"sm-small\":\"_1Nk2C\",\"sm-medium\":\"_1YOXr\",\"sm-large\":\"_36pXM\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"_33Cad\",\"inline\":\"EPjyd\",\"prompt\":\"_1E81O\",\"errorMessage\":\"_1z_8d\",\"hint\":\"_2FTe-\",\"space\":\"vn66c\",\"fieldMeta\":\"_382DO\"};","module.exports = __webpack_public_path__ + \"images/f697c9cb788227fad8bc5196fe13abc4.jpg\";","module.exports = __webpack_public_path__ + \"images/f37f994c71f9e6bffd9dbfa43e831f90.jpg\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"_3xA2S\",\"smallWidth\":\"VC1yi\",\"menus\":\"_29Dmc\",\"menu\":\"_2ToDO\",\"copyright\":\"dWOa1\",\"privacyMenu\":\"_34X05\",\"item\":\"_2b4C1\",\"link\":\"_2hbKc\",\"FooterSec\":\"d2QEN\",\"footerRow\":\"_3BUJA\",\"footermenu\":\"_1tIOM\",\"Readyprint\":\"_3ER4r\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"_3wc8X\",\"CreateAccount\":\"_2Wn35\",\"MinHeight\":\"CGdvc\",\"container768\":\"_2aSA0\",\"topSpace80\":\"_3EgBc\",\"title\":\"_10iQ_\",\"congratulations\":\"_1ndS6\",\"topSpace50\":\"lvTMS\",\"nextButton\":\"wPTFN\",\"disabledLink\":\"_3Fdo9\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"_9kbAd\",\"row\":\"_1e1Ac\",\"column\":\"_2rwNM\",\"fieldset\":\"_25D-I\",\"field\":\"_2F1Va\",\"agreementCheckbox\":\"_2vvl3\",\"verbiageOuter\":\"_1i8LJ\",\"verbiageInner\":\"_2MDBm\",\"submitButton\":\"_3GQ9Q\",\"fieldsContainer\":\"_3xE7k\",\"fieldWrap\":\"_12uki\",\"fieldWrapCaptcha\":\"_21S-9\",\"cardInfo\":\"r6irV\",\"cardData\":\"E4sGN\"};","module.exports = __webpack_public_path__ + \"images/349125eed96e98a70eca9a7a689a2848.jpg\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"_3ZkzJ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"_1D3xI\",\"row\":\"_2AlSd\",\"column\":\"_1WYMt\",\"fieldset\":\"_1bxd9\",\"postalCode\":\"_3HKqu\",\"field\":\"_1kYEI\",\"submitButton\":\"_25-W_\",\"fieldsContainer\":\"_25Uxv\",\"fieldWrap\":\"OHUla\",\"cardInfo\":\"_2rDnm\",\"cardData\":\"_1blbL\",\"edit\":\"RkRRC\",\"agreementCheckbox\":\"_20Kd7\",\"verbiageOuter\":\"_2islF\",\"verbiageInner\":\"_1CHeR\",\"g-recaptcha\":\"Qytzu\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container768\":\"_1raZU\",\"topSpace40\":\"Iqx2l\",\"selectedPlan\":\"_1ho55\",\"CreateAccount\":\"_3yS5-\",\"topSpace50\":\"_2f9w6\",\"title\":\"_3g6dr\",\"notification\":\"_3U5Vu\",\"notificationGreen\":\"_2ps1s\",\"notificationOrange\":\"_3uudC\",\"disabledLink\":\"_3ymsH\",\"link\":\"_3wWUT\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"page\":\"_2Q1lF\",\"container768\":\"_137mP\",\"CreateAccount\":\"_3KE4L\",\"PlanContent\":\"_2wLwb\",\"ChangePlan\":\"_3uPHA\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"_1VN8F\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"buttonWrapper\":\"YMa1O\",\"fieldWrapper\":\"_1-n5T\",\"root\":\"_3wyEn\",\"hiddenField\":\"-otz4\",\"cautionBlock\":\"_1EfeL\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"rJfZP\",\"dropdownButton\":\"_1zBIv\",\"role\":\"_3Mnkc\",\"dropdown\":\"tvtdA\",\"visible\":\"lMnwD\",\"item\":\"_1gtWd\"};","module.exports = __webpack_public_path__ + \"images/2ed83b58503836fd63df84f56664170c.png\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"_2oAhn\",\"active\":\"_3Z7nH\",\"image\":\"_1udaO\",\"content\":\"_3H9Pl\",\"name\":\"_1uvzo\",\"pLink\":\"_3zL4n\",\"price\":\"_1U2Nx\",\"fee\":\"_2ICvM\",\"withFee\":\"_339Yg\",\"planFeaturesTitle\":\"_21kTr\",\"options\":\"_3CU2i\",\"option\":\"_2YCLV\",\"checkboxWrapper\":\"_256-p\",\"checkbox\":\"_3OYRm\",\"button\":\"_2yfL1\"};","module.exports = __webpack_public_path__ + \"images/65c09c15eeec4baa0df09774ee403f21.jpg\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"_1R1ki\",\"show\":\"_11AQg\",\"collapse\":\"zWgpW\",\"icon\":\"_1_6Rs\",\"header\":\"_17wWP\",\"disabled\":\"_1z-nb\",\"headerButton\":\"_1ByW1\",\"withCheckBox\":\"SBpp_\",\"headerTitle\":\"_2PtbU\",\"headerCheckbox\":\"_29_aW\",\"topSpace40\":\"_1rp9J\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"CreateAccount\":\"_3smJH\",\"MinHeight\":\"_33clR\",\"container768\":\"_27LGc\",\"topSpace80\":\"_1vjrW\",\"title\":\"_2mBAU\",\"congratulations\":\"Xvrcq\",\"topSpace50\":\"_2Fjam\",\"nextButton\":\"_2zEAe\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"_2V7Ha\",\"singleInputFilter\":\"_19nat\",\"warning\":\"_2ZZ-s\",\"active\":\"-PUwx\",\"valid\":\"_2Den1\",\"noValidState\":\"_3cXj0\",\"icon\":\"qakUt\",\"alert\":\"_22Rbi\",\"input\":\"_2slkW\",\"withIcon\":\"_1SBGR\",\"disabled\":\"_1FcLC\",\"passIcon\":\"_2rdW5\",\"visible\":\"_24fH8\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container768\":\"_5YekT\",\"root\":\"_33Mm2\",\"warning\":\"_3mo5h\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"UsHTa\",\"wrapper\":\"_1p6uL\",\"spinner\":\"YgNZO\"};","module.exports = __webpack_public_path__ + \"images/02dada2ec9d6c1123bc920a1928301ad.png\";","module.exports = __webpack_public_path__ + \"images/c9dac8972df097f10350cb27f9bc5007.jpg\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container768\":\"_1kq7H\",\"selectedPlan\":\"_23Vxr\",\"createProfile\":\"YeMQE\",\"PlanContent\":\"_1BZvV\",\"Office\":\"bSYFY\",\"CreateAccountForm\":\"_3Zz47\",\"FormField\":\"_1-goy\",\"captcha\":\"_934lN\",\"StepButton\":\"_2Hm1D\",\"AlreadyLogin\":\"_1r9Ym\",\"topSpace50\":\"_3Rudm\",\"CreateAccount\":\"Sr8lf\"};","module.exports = __webpack_public_path__ + \"images/2d9645fb6f2847394c780499c7f00c53.png\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container768\":\"r0JTq\",\"topSpace40\":\"_3Tgbx\",\"selectedPlan\":\"_3RU_I\",\"CreateAccount\":\"mFbH0\",\"topSpace50\":\"_3vhfF\",\"CreateAccountTitle\":\"_1OSi5\",\"notification\":\"nVV4y\",\"notificationGreen\":\"PAjmz\",\"disabledLink\":\"iupwt\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"yFKaF\",\"lang\":\"_3f0ED\",\"separator\":\"_2voCA\",\"user\":\"i9FkD\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"modalOverlay\":\"ssmUE\",\"banner\":\"_34YIc\",\"modalContent\":\"YjOkl\",\"viewImage\":\"_3NMnp\",\"noScroll\":\"_3rqwn\",\"modalBody\":\"_1eOR2\",\"default\":\"DnwLn\",\"form\":\"_3Ev7I\",\"modalHeader\":\"RwJCl\",\"modalHeaderButton\":\"_3DFs8\",\"modalMessage\":\"_3Xecm\",\"modalFooter\":\"ksdN3\",\"modalFooterButtons\":\"_1nDmr\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"topSpace50\":\"LPxiT\",\"CreateAccount\":\"_2DOBi\",\"PlanContent\":\"_1PGoa\",\"changePlan\":\"_26Nkp\",\"active\":\"_2NwGV\",\"title\":\"_5mpgS\",\"subTitle\":\"UbTr2\",\"planContent\":\"H2QM4\",\"planImg\":\"vGM68\",\"planDescription\":\"d4jvi\",\"currentPlanText\":\"_2SpQT\",\"plansContainer\":\"-gZWm\",\"image\":\"_2zY-j\",\"office\":\"BgKDd\",\"fee\":\"_15A4e\",\"upTo\":\"_2YeqZ\",\"withFee\":\"OkuXP\",\"currentPlan\":\"qptsf\",\"selectButtonWrapper\":\"_3Fd7j\",\"saveChange\":\"_16WGl\",\"backLink\":\"_1bUwC\",\"plan\":\"_1rDCt\",\"buttonWrapper\":\"_2ljXf\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"formField\":\"F9Fba\",\"alreadyLogin\":\"_7ulpd\",\"buttonWrap\":\"_3Ncx9\"};","module.exports = __webpack_public_path__ + \"images/c512dbce4017c7514dec9fd0ff03de14.jpg\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"_3SqGM\",\"disabled\":\"_27tM5\",\"headerLang\":\"_26EEW\",\"labelWrapper\":\"_1zNmw\",\"filter\":\"_3MuMx\",\"pagination\":\"_2b-w1\",\"phone\":\"_2Rhtu\",\"large\":\"_3nQqF\",\"label\":\"_3IvqO\",\"selected\":\"_3Nery\",\"warning\":\"_9SW5G\",\"icon\":\"_3q96y\",\"menu\":\"_26l9K\",\"input\":\"_2N-2V\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"_2zRbb\",\"row\":\"_3rvQw\",\"fieldWrap\":\"_3KvG1\",\"submitButton\":\"c4zp3\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"_14YIT\",\"visible\":\"_3JP5K\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"_2-Xx8\",\"formField\":\"sqfVa\",\"captcha\":\"_22kJu\",\"StepButton\":\"_1WyGq\",\"AlreadyLogin\":\"_3-1un\",\"confirmationLinkSent\":\"_1qdIa\"};"],"sourceRoot":""}