{"version":3,"sources":["types/index.ts","lib/gtm/gtmUtils.ts","utils/storage.ts","components/Elements/Icons/CheckIcon.js","components/Elements/Icons/XIcon.js","utils/helpers.ts","config/appConstants.ts","config/index.ts","assets/playing.png","components/Elements/ErrorPage/ErrorPage.tsx","components/Layout/ErrorPage.tsx","stores/notifications.ts","assets/working.png","components/Elements/ActivationScreenContainer/ActivationScreenContainer.tsx","components/Elements/Spinner/Spinner.tsx","components/Elements/Button/Button.tsx","components/Elements/CaptchaTurnstile/CaptchaTurnstile.tsx","components/Elements/Collapsible/Collapsible.tsx","components/Elements/FAQsContainer/FAQsContainer.tsx","components/Elements/GoTo/GoTo.tsx","components/Elements/HelpContainer/HelpContainer.tsx","assets/products-hero-picture.png","components/Elements/PromoCard/PromoCard.tsx","assets/phone-girl.png","components/Elements/PromoUpdateCard/PromoUpdateCard.tsx","hooks/useMe.ts","components/Elements/ProductDetail/ProductDetail.tsx","components/Elements/SelectPicker/SelectPicker.tsx","components/Elements/AccountNavigationBar/AccountNavigationBar.tsx","assets/curved-next-arrow.png","components/Form/SelectPhoneField.tsx","utils/forms.tsx","components/Elements/CouponForm/CouponForm.tsx","components/Elements/Modal/customStyles.ts","lib/axios.ts","lib/react-query.ts","features/payment/api/createPayment.ts","features/payment/api/updatePayment.ts","features/payment/api/deleteUserIncompleteProduct.ts","features/payment/api/createPaymentMethod.ts","assets/error.png","components/Elements/Modal/Modal.tsx","components/Elements/PaymentsModal/PaymentsModal.tsx","components/Elements/ErrorModal/ErrorModal.tsx","components/Elements/InvoiceUpdateSummary/InvoiceUpdateSummary.tsx","components/Elements/PendingPaymentErrorModal/PendingPaymentErrorModal.tsx","components/Elements/UnpaidMeteredErrorModal/UnpaidMeteredErrorModal.tsx","components/Elements/UpdateProductCard/UpdateProductCard.tsx","components/Elements/ConfirmNeededPaymentModal/ConfirmNeededPaymentModal.tsx","components/Notifications/Notification.tsx","components/Notifications/Notifications.tsx","lib/gtm/gtm.tsx","lib/i18n/i18n.tsx","providers/theming.ts","providers/app.tsx","lib/auth.tsx","assets/ENS.jpg","assets/facebook-icon.svg","assets/letter-icon.svg","assets/linkedin-icon.svg","assets/phone-icon.svg","assets/twitter-icon.svg","assets/youtube-icon.svg","components/Footer/PublicFooter.tsx","components/Elements/LanguageSelector/LanguageSelector.tsx","components/Footer/PublicCleanFooter.tsx","components/Footer/PrivateFooter.tsx","components/Header/PublicHeader.tsx","components/Header/PrivateHeader.tsx","features/me/api/getMe.ts","hooks/useGeoLocation.ts","hooks/useUserProducts.ts","lib/AbstractAPI/api/getGeoLocation.ts","components/Layout/PublicLayout.tsx","components/Layout/PublicCleanLayout.tsx","components/Notifications/NotificationTemplates/NewFreeReminderTemplate.tsx","components/Notifications/NotificationTemplates/NoBillingReminderTemplate.tsx","components/Notifications/NotificationTemplates/PaymentReminderTemplate.tsx","components/Notifications/NotificationHelpers/helpers.tsx","features/myServices/api/getUserServices.ts","components/Containers/SpinnerContainer/SpinnerContainer.tsx","components/Sidebar/PrivateSidebar.tsx","features/myProducts/api/getUserProducts.ts","features/myProducts/api/deleteUserPendingProduct.ts","features/myProducts/api/reactivateUserCancelledProduct.ts","features/billing/api/getDetails.ts","features/billing/api/updateDetails.tsx","features/billing/index.ts","hooks/useGroupBillingDetails.ts","components/Layout/PrivateLayout.tsx","lib/Aunoa/aunoa.tsx","assets/not-found.png","components/Elements/NotFound/NotFound.tsx","components/Layout/NotFound.tsx","components/Layout/Logout.tsx","components/Containers/PrivateLayoutContainer/PrivateLayoutContainer.tsx","assets/gear.png","components/Elements/BillingModeSwitch/BillingModeSwitch.tsx","components/Elements/CurrencySwitch/CurrencySwitch.tsx","components/Elements/FeatureComparatorLink/FeatureComparatorLink.tsx","components/Elements/ProductCard/ProductCard.tsx","components/Elements/ProductCardsContainer/ProductCardsContainer.tsx","components/Elements/Slider/Slider.tsx","components/Containers/EmailMarketingContainer/EmailMarketingContainer.tsx","components/Products/EmailMarketingProducts.tsx","components/Elements/BillingModeUnique/BillingModeUnique.tsx","components/Containers/SMSMarketingContainer/SMSMarketingContainer.tsx","components/Products/SMSMarketingProducts.tsx","components/Containers/PrepaidMarketingContainer/PrepaidMarketingContainer.tsx","components/Products/PrepaidProducts.tsx","components/Containers/ProductsContainer/ProductsContainer.tsx","assets/mail.svg","components/Elements/ActivationNeededModal/ActivationNeededModal.tsx","components/Elements/IncompletePaymentMethodFailedErrorModal/IncompletePaymentMethodFailedErrorModal.tsx","components/Elements/IncompletePaymentRequiresActionErrorModal/IncompletePaymentRequiresActionErrorModal.tsx","components/Elements/ProductsHero/ProductsHero.tsx","components/Elements/RequestAccountHero/RequestAccountHero.tsx","assets/stars.svg","components/Elements/WaitProcessModal/WaitProcessModal.tsx","components/Form/FormConfirm.tsx","components/Form/FormContactGuessUser.tsx","components/Form/FormContactGuessUserInModal.tsx","components/Form/FormContact.tsx","components/Form/FormContactInModal.tsx","components/PublicPages/ProductsPublicPage/ProductsPublicPage.tsx","features/countries/api/getCountries.ts","features/invoices/api/getInvoices.ts","features/invoices/api/createInvoicePending.ts","features/notification/api/createNotificationContact.tsx","features/notification/api/createNotificationContactGuessUser.tsx","features/products/api/getProducts.ts","features/smsCredits/api/getSmsCredits.ts","features/misc/routes/ProductsPage.tsx","components/Elements/FeatureComparator/FeatureComparator.tsx","components/Containers/FeatureComparatorContainer/FeatureComparatorContainer.tsx","components/PublicPages/FeatureComparatorPublicPage/FeatureComparatorPublicPage.tsx","features/misc/routes/FeatureComparatorPage.tsx","components/Elements/DisclaimerPhoneValidation/DisclaimerPhoneValidation.tsx","components/Elements/Footer/Footer.tsx","features/mobileToken/api/getMobileToken.ts","features/mobileToken/api/requestMobileToken.ts","features/mobileToken/api/createMobileToken.ts","features/mobileToken/api/updateMobileToken.tsx","features/mobileToken/api/validateMobileToken.ts","features/mobileToken/index.ts","components/Form/FormPhoneValidation.tsx","components/Form/FormTokenCheck.tsx","components/Containers/PhoneValidationContainer/PhoneValidationContainer.tsx","components/Containers/PhoneValidationContainer/PhoneValidationContainerInModal.tsx","components/Elements/PaymentErrorModal/PaymentErrorModal.tsx","components/Elements/SummaryPaymentModal/SummaryPaymentModal.tsx","assets/calendar.png","components/Elements/TourButtonRequest/TourButtonRequest.tsx","assets/question.svg","components/Elements/Tooltip/Tooltip.tsx","lib/Pmp/pmp.tsx","components/Form/FormUserAccount.tsx","components/Form/FormUserAccountInModal.tsx","components/PrivatePages/ProductsUpdatePrivatePage/ProductsUpdatePrivatePage.tsx","features/provinces/api/getProvinces.ts","features/tinDocumentTypes/api/getTinDocumentTypes.ts","utils/paymentIntentWrapper.tsx","features/misc/routes/ProductsUpdatePage.tsx","assets/lock-yellow.svg","components/Elements/SecurityModal/SecurityModal.tsx","components/Elements/ConfirmDialog/ConfirmDialog.tsx","components/Containers/CurrentUserPlanContainer/CurrentUserPlanContainer.tsx","components/Elements/OldPlanUserAdvise/OldPlanUserAdvise.tsx","components/PrivateContainers/MyRatePageContainer/MyRatePageContainer.tsx","components/PrivatePages/MyRatePrivatePage/MyRatePrivatePage.tsx","features/misc/routes/MyRatePage.tsx","features/groups/api/updateGroups.tsx","assets/invoices-not-found.svg","components/Elements/RechargesHistoryTable/RechargesHistoryTable.tsx","components/PrivateContainers/MyInvoicesPageContainer/MyInvoicesPageContainer.tsx","components/PrivatePages/MyInvoicesPrivatePage/MyInvoicesPrivatePage.tsx","features/misc/routes/MyInvoicesPage.tsx","components/PrivateContainers/MyAccountPageContainer/MyAccountPageContainer.tsx","components/PrivatePages/MyAccountPrivatePage/MyAccountPrivatePage.tsx","features/misc/routes/MyAccountPage.tsx","features/misc/routes/ActivationPage.tsx","features/misc/routes/PurchasePage.tsx","assets/featureko.svg","features/misc/routes/UpdatePaymentMethodPage.tsx","features/misc/routes/FaqsPage.tsx","routes/private.tsx","components/Containers/LoginContainer/LoginContainer.tsx","routes/privateNotLogged.tsx","components/Head/Head.tsx","features/public/routes/Faqs.tsx","features/public/routes/FeatureComparator.tsx","features/public/routes/Logout.tsx","features/public/routes/NotFound.tsx","features/public/routes/Products.tsx","features/public/routes/Redirect.tsx","components/Form/FormSetup.tsx","components/Elements/DisclaimerPhoneValidation/DisclaimerPhoneValidationV2.tsx","components/Form/FormSetupConfirm.tsx","components/Containers/SetupContainer/SetupContainer.tsx","components/PublicPages/SetupPublicPage/SetupPublicPage.tsx","features/public/routes/Setup.tsx","features/public/routes/index.tsx","routes/public.tsx","routes/index.tsx","App.tsx","reportWebVitals.ts","index.tsx"],"names":["BillingModes","BILLING_MODE_MONTH","BILLING_MODE_YEAR","BILLING_MODE_UNIQUE","IntervalBillingModes","INTERVAL_COUNT_FOR_BILLING_MONTH","INTERVAL_COUNT_FOR_BILLING_YEAR","currencySymbolMap","eur","usd","isGTMEnabled","eval","GTM_ENABLED","sendEventGtm","gtmData","GTMDriver","index","arguments","length","undefined","console","info","window","dataLayer","setTimeout","parseInt","buildGTMAddToCartRequest","userData","gtmAddToCart","ecommerce","add","products","id","productId","name","productName","lang","buildGTMTokenRequest","me","gtmTokenRequest","navigation","buildGTMUserData","validatedAt","Date","toLocaleString","buildGTMTokenValidated","gtmTokenValidated","buildGTMAddLogged","gtmAddLogged","gruid","sha256","groupId","groupCreatedAt","buildGTMNavigationData","billingDetails","userProducts","userNavigationData","pendingProduct","filterUserProductsByPending","activeProduct","filterUserProductsByActive","sessionData","currentURL","location","href","currentTime","moment","format","NEW_ACCOUNT_DATE_FORMAT","currentLang","Object","assign","alreadyPhoneTokenValidated","isNewFreeUser","product","activeProducts","buildGTMInformationData","buildGTMCompletedBilling","gtmCompletedBillingData","buildGTMValidationAccount","gtmValidationAccountData","buildGTMAddNotLogged","gtmAddNotLogged","buildGTMCheckoutData","landingname","currency","authInfo","productPrice","getProductLicensedPriceByCurrency","prices","EUR","gtmCheckoutData","newProductData","category","UNKNOWN","mdirectorId","price","amount","brand","categoryName","variant","quantity","coupon","getGroupId","checkout","actionField","option","buildGTMPaidPlanData","gtmPaidPlanData","userInfo","periodicity","getOrigin","purchase","language","createdAt","PENDING_PRODUCT_STORE_KEY","AUTH_INFO_STORE_KEY","USER_CURRENCY_STORE_KEY","RESIGNATION_VIEWED_STORE_KEY","ORIGIN_STORE_KEY","storage","clear","localStorage","getToken","authInfoRawData","getItem","JSON","parse","access_token","setToken","token","setItem","stringify","clearAuthInfo","removeItem","getPendingProduct","setPendingProduct","clearPendingProduct","clearUserData","clearUserCurrency","getUserCurrency","userCurrency","setUserCurrency","setResignationViewed","getResignationViewed","clearResignationViewed","setExternalOrigin","origin","getExternalOrigin","setSidebarUserServices","userId","userServices","React","require","module","exports","props","createElement","xmlns","fill","viewBox","stroke","strokeLinecap","strokeLinejoin","strokeWidth","d","getCurrencySymbol","getIntervalCountByBillingMode","billingMode","INTERVAL_COUNT_FOR_BILLING_UNIQUE","getBillingModeByTargetTap","target","PRODUCT_CATEGORY_TYPE_EMAIL","getBillingModeByIntervalCount","intervalCount","getIntervalBillingModeFromUserProduct","userProduct","_licensedPricing$recu","groupProduct","pricing","licensedPricing","getLicensedPrice","recurring","interval_count","getBillingModeFromUserProduct","getBillingModePriceText","userBillingMode","getBillingModePlanText","getProductPrice","type","find","USAGE_LICENSED","usage_type","interval","filter","_ref","getLicensedPriceByInterval","_ref2","currencyPrice","classToggle","el","_len","args","Array","_key","map","e","classList","toggle","getFreemiumProduct","PRODUCT_CATEGORY_FREEMIUM","getProductsNonFreemium","getMDirectorSupportPhone","MDIRECTOR_SUPPORT_PHONE","getMDirectorSupportPhoneRaw","replace","getUserCurrentProductFromProducts","userProductActive","filterUserProductsByStatus","ACTIVE","userProductCancelled","CANCELLED","userProductProcessing","PROCESSING","userProductPending","PENDING","haveUserAnOldPlan","getUserProduct","_userProducts$","getUserProductSubscriptionId","subscriptionId","isExternalPaidProduct","PRODUCT_PAID_EXTERNAL","isExternalFreeProduct","isFreemiumProduct","isCoreProduct","class","PRODUCT_CORE","isPrepaidProduct","PRODUCT_CATEGORY_PREPAID_EMAIL","PRODUCT_CATEGORY_PREPAID_SMS","userHasProducts","getNoPlanProduct","marks","stepValue","items","item","productStep","getProductDetails","prop","getProductStep","getKeyByValue","object","value","keys","key","isCurrency","USD","isBillingMode","includes","isLanguage","APP_LANGUAGES","isIntervalBillingMode","DEFAULT_USER_CURRENCY","generatePendingUserProductTypes","invoicePreview","status","buildProductsCheckingInStorageForPendings","push","checkHasToShowUserAccountForm","_billingDetails$curre","capabilities","isBillingDetailsFilled","toLowerCase","checkByStatus","_licensedPrice$recurr","licensedPrice","_products$","_products$2","parseDate","locale","DEFAULT_LANG","date","options","dateObj","Intl","DateTimeFormat","error","DATE_UNKNOWN","parseCurrency","resolution","DEFAULT_CURRENCY_RESOLUTION_FOR_PRICES","NumberFormat","style","minimumFractionDigits","getPriceText","UNKNOWN_DATA","getPendingUserProduct","getActiveUserProduct","searchProductByPriceId","priceId","filteredProducts","_ref3","some","_ref4","_ref5","getCurrencyFromPriceId","_ref6","getCurrencyFromGroupProduct","getCurrencyFromUserProduct","results","_ref7","getPrepaidProductPriceByCurrency","_results$","parseFloat","sortCountries","countries","userCountry","sort","a","b","nameA","toUpperCase","nameB","getOriginFromStorage","getRegisterUrl","path","REGISTER_DOMAIN","getRegisterUrlWithHash","productHash","getPublicUrlByPath","PAYMENTS_ROOT_URL","getRegisterUrlToCheckout","intervalBillingMode","intervalCounter","getProductHash","btoa","getOffset","rect","getBoundingClientRect","left","scrollX","top","scrollY","onlyDigits","test","rolId","ROL_ADM_MDIRECTOR_NEWFREE","isNewFreeUserFromMe","isAdminUser","ROL_ADM_MDIRECTOR","isAdminUserFromMe","isAppSumo","appsumo","isAppsumo","getMyRateURL","PRIVATE_NAVIGATION_TAB_RATE","getMyAccountURL","PRIVATE_NAVIGATION_MY_ACCOUNT","redirectMyRate","redirectMyAccount","isManualValidationNeeded","isManualValidationEnabled","DEFAULT_MANUAL_VALIDATION_NEEDED","checkHasToShowPhoneValidationForm","mobileToken","PHONE_VALIDATION_ACTIVATED","usedAt","getUserData","i18n","email","DEFAULT_MISSING_EMAIL","defaultOrigin","getBillingModeOrigin","DEFAULT_ORIGIN_FORM","_product$prices$","_product$prices$$recu","billingModeDefault","isEmailMarketingTab","tab","getProductToUpdateFromUserCollection","state","shouldShowTheCurrencySwitch","shouldShowTheBillingModeSwitch","SHOW_ANNUAL_PAYMENTS","filterHiddenPriceProducts","hidePrice","filterProducts","getProductFilterPricesByCurrencyBillingMode","_price$recurring","getPricesIdsByCurrencyAndInterval","_price$recurring2","getPromotionCodeByCurrencyAndInterval","_price$recurring3","promotionCode","code","pop","sortPricesByUsage","themes","classicTheme","assetsURL","THEME_ASSETS_URL","v2","v3","getGuessURL","APP_BACKEND_URL","findRawInvoicePreviewPrice","data","findPromotionCodeByGroupProductAndProduct","redirectToAndReload","urlRedirect","newWindow","open","checkClosed","setInterval","closed","clearInterval","reload","REQUEST_SUCCESS","REQUEST_FAILED","DEFAULT_USER_COUNTRY","COUNTRY_US","LANG_EN","LANG_ES","LANG_DE","PRODUCT_CATEGORY_LITE","PRODUCT_CATEGORY_PRO","PRODUCT_CATEGORY_TOTAL","PRODUCT_CATEGORY_TYPE_SMS","PRODUCT_CATEGORY_TYPE_PREPAID","PRIVATE_NAVIGATION_TAB_PRODUCTS","PRIVATE_NAVIGATION_TAB_ACCOUNT","PRIVATE_NAVIGATION_TAB_INVOICES","DEFAULT_CURRENCY_RESOLUTION_FOR_METERED","STRIPE_METHOD_DIRECT","DEFAULT_GROUP_ID","DEFAULT_COUNTRY_ID","DEFAULT_PHONE","DEFAULT_USER_NAME","DEFAULT_USER_LANGUAGE_FOR_CONTACT","USAGE_METERED","INCOMPLETE","BILLING_MODE_YEAR_FIXED_DISCOUNT_PERCENT","PRODUCT_FREE","PRODUCT_LITE","PRODUCT_PRO","PRODUCT_TOTAL","PRODUCT_FREE_PRICE","UPDATE_PRODUCTS_FAKE_ID","MAX_CHECKS_CIF","process","TAG_MANAGER_ID","ENV","APP_HOME_URL","APP_404_URL","APP_BACKEND_LOGOUT_URL","APP_SIGNUP_URL","SIGNUP_BACKEND_URL","DEFAULT_THEME","LANG_COOKIE_NAME","ADMIN_EMAIL_ADDRESS","LOGIN_URL","AUTH_HOST","PAYMENTS_BACKEND_URL","PAYMENTS_FRONTEND_URL","NOTIFICATION_NEW_FREE_REMINDER_ID","NOTIFICATION_NO_BILLING_REMINDER_ID","NOTIFICATION_CHECKOUT_REMINDER_ID","NOTIFICATION_DEFAULT_AUTOCLOSE_TIME_IN_MS","RUN_GTM_CALLBACKS_IN_MS","AUNOA_BOT_URL","AUNOA_BOT_USER_KEY","DEFAULT_STRIPE_METHOD","DEFAULT_MY_RATE_REFRESH_TIME_IN_SEG","APP_APPSUMO_URL","APP_PMP_URL","PHONE_USER_CONSENT_CHECKBOX","SHOW_TOUR_BUTTON_ON_PRODUCTS","TOUR_BUTTON_REQUEST_URL","GEOLOCATION_SERVICE_URL","GEOLOCATION_SERVICE_API_KEY","COUPONS_ENABLED","RECAPTCHA_TURNSTILE_SITE_KEY","RECAPTCHA_NEEDED","PATH_UPDATE_PAYMENT_METHOD","ErrorPage","customImage","errorPicture","actionButton","t","useTranslation","_jsx","className","children","_jsxs","title","width","alt","src","ErrorPageComponent","useNotificationStore","create","set","get","notifications","addNotification","notification","message","nanoid","dismissNotification","changeNotificationVisibility","_id","hideOnDeclare","ActivationScreenContainer","description","image","getHeader","activationImage","sizes","sm","md","lg","xl","variants","light","primary","Spinner","size","_Fragment","clsx","cx","cy","r","secondary","ghost","danger","rounded","raw","full","free","Button","ref","isLoading","_isLoading","startIcon","endIcon","spinnerPlacement","loadingText","_loadingText","onClick","disabled","setIsLoading","useState","setLoadingText","onDefaultClick","displayName","CaptchaTurnstile","siteKey","onVerify","onVerifyDefault","Turnstile","sitekey","CollapsibleWrap","styled","div","Collapsible","trigger","MainCollapsible","classParentString","contentInnerClassName","FAQsContainerWrap","FAQsContainer","collection","categoryCollection","getFAQsCollection","x","body","Trans","components","bold","startsWith","faq","HelpContainer","ArrowRightIcon","PromoCard","PromoPic","onActionClick","PromoUpdateCard","defaultMe","lastName","canBuySubscriptionProducts","canBuyProducts","canMakeAppsumoActions","useMe","isSet","getMe","setMe","_get$me","_get$me2","isMeSet","setUserInfo","_get$me3","setCapabilities","_get$me4","ProductDetail","urlMoreInformation","prefix","generateProductsFeaturesTranslation","text","_item","role","productLicensedPriceObj","productPriceMeteredObj","productLicensedPrice","productPriceMetered","bullets","features","bullet","getBullets","getProductName","parsePriceWithCurrency","getCategoryName","values","extraPrice","parseMeteredWithCurrency","SelectPicker","searchable","onChange","defaultValue","placeholder","placement","SelectPickerRsuite","SelectPhoneField","onBlur","userLang","defaultCountry","PhoneInput","flags","labels","countryTranslations","international","event","phoneNumber","parsePhoneNumber","getInputStyleClasses","getInputStyleClassesByType","getTagFormName","formik","fieldId","_formik$initialValues","_formik$initialValues2","initialValues","formName","getFormName","_formik$initialValues3","renderField","opts","showLabel","getInputField","touched","errors","handleChange","handleBlur","autoFocus","customClasses","htmlFor","Translation","required","helpText","getSelectComponent","getPhoneSelect","onDefaultChange","phoneData","_event$target","setFieldValue","_event$target2","userLanguage","getSelect","itemClasses","label","renderLabel","renderSelect","checkPhone","isPossiblePhoneNumber","renderLegalCheck","legalLabel","defaultChecked","CouponErrorMessage","CouponSuccessMessage","ClearCouponMessage","CouponForm","onSubmit","couponStatus","lastValidCoupon","currentCoupon","MainForm","formikData","customCoupon","useFormik","handleSubmit","getClearCouponButton","tabIndex","submitForm","onKeyDown","getCouponErrors","getCouponSuccess","defaultModalStyles","content","height","maxWidth","margin","tinyModalStyles","wideNoScrollModalStyles","paddingLeft","paddingRight","ultraWideModalStyles","axios","interceptors","request","use","config","_config$params","headers","Accept","params","isPublic","Authorization","response","Promise","reject","callable","callback","parameters","getAllAxiosData","getter","setter","onErrorCallback","all","_","then","spread","res","_getter$key","_getter$key$callback","errorSource","Error","catch","queryClient","QueryClient","defaultOptions","queries","useErrorBoundary","refetchOnWindowFocus","retry","createPayment","preview","endPoint","postData","method","successUrl","getSuccessUrl","cancelUrl","post","useCreatePayment","useMutation","onMutate","async","cancelQueries","creatingNotification","previousDetails","getQueryData","setQueryData","onError","__","context","onSuccess","refetchQueries","mutationFn","suffix","updatePayment","putData","put","hostedInvoiceUrl","detail","useUpdatePayment","deleteUserIncompleteProduct","delete","useDeleteUserIncompleteProduct","createPaymentMethod","returnUrl","url","Modal","isOpen","onAfterOpen","onRequestClose","shouldCloseOnOverlayClick","closeButton","MainModal","setAppElement","overlayClassName","htmlOpenClassName","bodyOpenClassName","preventScroll","XIcon","PaymentsModal","appElement","document","getElementById","ErrorModal","labelError","onDefaultRequestClose","errorImage","InvoiceUpdateSummaryWrapper","InvoiceUpdateSummary","invoiceUpdateSummaryData","isProrationCoupon","_data$coupon$metadata","metadata","is_proration_coupon","generateCouponDescriptionTranslation","getDiscountRow","discount","amountOfDiscounts","getAmountOfDiscounts","amountOf","amountOff","percentOfDiscounts","percentOff","getPercentOfDiscounts","couponName","_data$coupon$metadata2","_data$coupon$metadata3","getCouponName","renderDiscountRowProrationCoupon","subtotal","totalExcludingTax","findSubTotal","tax","findTax","total","findTotal","amountDue","hasDiscount","discounts","hasDiscounts","oldPriceRaw","oldPrice","findOldPrice","getDiscountsRow","findNewPrice","PendingPaymentErrorModal","onConfirmAction","onCancelAction","disabledButtons","setDisabledButtons","onDefaultConfirmAction","onDefaultCancelAction","UnpaidMeteredErrorModal","UpdateProductCard","formatProductName","formatCredits","formatCategoryName","isANewProductToUpdate","isPrepaid","categoryNameParsed","camelCase","categoryNameTranslated","productNameTranslated","getProductNameTranslated","getProductPriceByBillingMode","priceText","UpgradeProductCards","CurvedArrow","ConfirmNeededPaymentModal","onActionButton","oldUserProduct","newUserProduct","newCurrency","newIntervalCount","isCouponEnabled","onDemoCouponFormSubmit","onSubmitCoupon","initialInvoiceUpdateSummaryData","actionButtonLabel","isDemo","onConfirmUnpaidMeteredErrorAction","handleError","useErrorHandler","setInvoiceUpdateSummaryData","setCouponStatus","isInvoiceUpdateSummaryDataLoading","setIsInvoiceUpdateSummaryDataLoading","setCurrentCoupon","setLastValidCoupon","showSpinner","setShowSpinner","statusErrorPaymentTryAgain","setStatusErrorPaymentTryAgain","statusUnpaidMeteredError","setStatusUnpaidMeteredError","statusPendingPaymentError","setStatusPendingPaymentError","useEffect","getters","onDefaultConfirmUnpaidMeteredErrorAction","onDefaultConfirmPendingPaymentErrorAction","getInvoiceUpdateSummaryStyle","promise","onDefaultActionButton","notificationCollection","icon","InformationCircleIcon","success","CheckCircleIcon","warning","ExclamationCircleIcon","XCircleIcon","cardReminder","CreditCardIcon","Notification","customIcon","closeable","autoClose","URLRedirectOnClose","progressBarPlacement","accent","onDismiss","notificationEle","useRef","ariaLabel","notificationIcon","isVisible","setIsVisible","progressBar","element","current","identity","scene","Transition","appear","show","as","Fragment","enter","enterFrom","enterTo","leave","leaveFrom","leaveTo","afterLeave","onDefaultDismiss","hideNotification","Notifications","GTM","dataLayerName","detectionOptions","order","caches","lookupCookie","cookieDomain","getI18nCookieDomain","cookieOptions","sameSite","Backend","LanguageDetector","initReactI18next","init","fallbackLng","detection","debug","supportedLngs","react","bindI18n","bindI18nStore","transEmptyNodeValue","transSupportBasicHtmlNodes","transKeepBasicHtmlNodesFor","useSuspense","ThemeProvider","useTheme","createTheming","myErrorHandler","AppProvider","ErrorBoundary","FallbackComponent","HelmetProvider","GTMProvider","I18nextProvider","QueryClientProvider","client","Router","authFilter","authService","getConfig","force","pathname","loginUrl","authHost","getAuthTicket","callbackOk","callbackError","withCredentials","_error$response","useAuth","login","authTicket","DEBUG","mdAuth","isLogged","newLogin","getAuthInfo","localStorageKey","removeItemInLocalStorage","PublicFooter","LetterIcon","PhoneIcon","YouTubeIcon","TwitterIcon","LinkedInIcon","FacebookIcon","ENS","LanguageSelectorWrap","LanguageSelector","changeLanguage","PublicCleanFooter","rel","PrivateFooter","theme","MDFooter","PublicHeaderWrap","PublicHeader","toggleHeaderSubMenu","_e$target","_e$target$parentEleme","preventDefault","parentElement","toggleHeaderMenu","headerMenu","headerMenuButton","UserIcon","PrivateHeader","extraItems","showCompanies","onChangeCompany","onChangeLanguage","action","openSupportChat","logoutUrl","onLogout","myAccountUrl","getHelpUrl","loadExternalCSS","MDHeader","properties","getMeInfo","useGeoLocation","geoLocation","getGeoLocation","setGeoLocation","getGeoLocationCurrencyCode","currency_code","useUserProducts","isSelectedProductCurrency","selectedProduct","selectedProductCurrency","selectedProductIntervalBillingMode","selectedProductBillingMode","getSelectedUserProduct","setSelectedProduct","setSelectedProductBillingMode","setSelectedProductCurrency","isSelectedProductCurrencySet","getGeoClientData","PublicLayout","searchParams","useSearchParams","isOriginSetted","setIsOriginSetted","PublicCleanLayoutWrap","PublicCleanLayout","NewFreeReminderTemplate","NoBillingReminderTemplate","PaymentReminderTemplate","onCancelButton","showNotificationNoBilling","alreadySaved","dismissNoBillingReminderNotification","getState","showNotificationNewFree","dismissNewFreeNotification","getUserServices","_response$_embedded","parseServices","_embedded","services","SERVICES_DICTIONARY","MDirector","Landings","Transaccionales","Automation","Payments","service","SpinnerContainerWrap","SpinnerContainer","PrivateSidebar","setUserServices","getUserId","MDSidebar","userConfig","customClassName","preventDefaultLinks","companyId","getCompanyId","getUserProducts","my_products","resolve","deleteUserPendingProduct","validateStatus","useDeleteUserPendingProduct","reactivateUserCancelledProduct","patch","getBillingDetails","companyCif","companyCifDocumentType","updateBillingDetails","hasError","WRONG_DATA_COUNTRIES","WRONG_CIF","useUpdateBillingDetails","updatingDetails","defaultBillingDetails","address","city","companyName","countryId","lastname","phone","postalCode","provinceId","useGroupBillingDetails","setBillingDetails","initBillingDetails","getBillingDetailsAPI","setters","setGroupId","isBillingDetailsSet","PrivateLayout","hiddenHeader","hiddenFooter","hiddenNotification","sendDataToGTM","useGTMDispatch","useParams","setIsLogged","isErrorLogged","setIsErrorLogged","setUserProducts","deleteUserPendingProductMutation","setProducts","_product$prices$0$rec","pageData","gruId","salesarea","scriptId","existingScript","AUNOA_USER_DATA","idnombre","idemail","idgru","idtipo","idsales","script","appendChild","onload","loadAunoa","dismissAllNotifications","onReminderCancelButton","mutateAsync","onReminderActionButton","createPaymentReminderNotification","observer","MutationObserver","MDNotice","cors","user","getUserName","userType","getRolId","disconnect","observe","childList","subtree","mdZendeskjs","openPopup","MDZendeskjs","classError","onLoadSucess","onLoadFail","appClass","NotFound","notFound","NotFoundComponent","Logout","PrivateLayoutContainer","Outlet","BillingModeSwitch","billingModeDefaultValue","CurrencySwitch","FeatureComparatorLink","onComparatorLinkClick","actionLabel","PromotionPriceWrap","ProductCard","onPendingButtonAction","onIncompleteAction","onProductSelect","onRequestInfo","currentPeriodEndDate","alreadyPurchased","alreadyPurchasedLink","isCancelled","isProcessing","isPending","isIncomplete","autoCheckout","showFeatures","isSticky","removePrice","activeBillingMode","buttonCardRef","onDefaultRequestInfo","hidePriceNeeded","onDefaultPendingButtonAction","onDefaulIncompleteAction","_buttonCardRef$curren","click","isFreemium","isFeatured","featured","getproductNameTranslated","productPriceObj","hasPriceWithPromotion","setHasPriceWithPromotion","productPriceWithPromotion","amountWithPromotion","getProductPriceWithPromotion","productFeatures","getDefaultActionButtonLabel","wantToPrintPrice","renderPrice","log","CheckIcon","ProductCardsContainer","freemiumProduct","productsCollection","onFreeProductSelect","userIsLogged","hideFree","setHideFree","isHidePriceNeeded","getActionButtonLabel","processingProduct","getOnActionButton","userProductIncomplete","getFreeActionButtonLabel","isAlreadyPurchased","completePaymentUrl","SliderStyledWrap","Slider","min","max","step","onSliderChange","selectMarks","selectClass","entries","MainSlider","trackStyle","backgroundColor","customTheme","colors","handleStyle","borderColor","marginLeft","marginTop","opacity","borderWidth","boxShadow","railStyle","dotStyle","activeDotStyle","dots","ProductCardsContainerWrap","getProducts","EmailMarketingContainer","productCardsContainerClass","stickyMode","publicPage","menuBarTop","setMenuBarTop","productsCardContainerInner","setProductsCollection","currentStep","setCurrentStep","currentBillingMode","setCurrentBillingMode","productsSticky","setProductsSticky","marksParsed","result","forEach","iKey","parseMarks","selectStep","unselectStep","currentSelectedStepLabel","querySelector","remove","currentStepLabel","menuBarEle","scrollTop","nextElement","nextElementTop","useLayoutEffect","addEventListener","removeEventListener","clean","billingModeValue","checked","EmailMarketingProducts","steps","getDefaultSliderValue","pro","getDefaultCheckedBillingModeValue","BillingModeUnique","SMSBodyWrap","SMSMarketingContainer","defaultSMSCountryProvider","smsCredits","selectedCountryProvider","setSelectedCountryProvider","formatNumberByLanguage","num","formatter","getSMSCountryName","country","credits","totalCredits","Math","round","SMSMarketingProducts","PrepaidMarketingContainer","PrepaidProducts","ProductsContainerWrap","getProductsByEmailMarketing","liteProducts","proProducts","totalProducts","getProductsByProductCategoryType","productCategoryType","ProductsContainer","tabSelected","setTabSelected","showBody","active","getTabContent","productsItems","tabContent","productsEmailMarketing","stepsFixtureEmailing","productsPrepaidSms","stepsFixtureSms","productsPrepaidEmail","stepsFixturePrepaid","ActivationNeededModal","customImageWidth","closeModal","Lock","IncompletePaymentMethodFailedErrorModal","IncompletePaymentRequiresActionErrorModal","ProductsHero","RequestAccountHero","onRequestAccountClick","WaitProcessModal","timeInMS","timeoutCallback","imageClass","Stars","FormConfirm","actionButtonIcon","actionURL","onClickAction","imageWidth","imageHeight","getImage","Mail","initialValuesDefault","userFirstName","userLastName","howManyEmails","howManySMS","legalTerms","referer","FormContactGuessUser","validationSchema","Yup","oneOf","getHowManyEmails","getHowManySMS","rows","FormContactGuessUserInModal","confirmIsOpen","setConfirmIsOpen","block","hidden","FormContact","showCancel","FormContactInModal","ProductsPublicPage","onGuestRequestInfoSubmit","onRegisteredRequestInfoSubmit","getUpdatePaymentIntent","demoMode","onCancelIncompleteAction","validationNeededModalIsOpen","setValidationNeededModalIsOpen","requestInfoModalIsOpen","setRequestInfoModalIsOpen","confirmNeededPaymentModalIsOpen","setConfirmNeededPaymentModalIsOpen","upgradeCheckoutProcessModalIsOpen","setUpgradeCheckoutProcessModalIsOpen","upgradeCheckoutFailProcessModalIsOpen","setUpgradeCheckoutFailProcessModalIsOpen","upgradeCheckoutSuccessProcessModalIsOpen","setUpgradeCheckoutSuccessProcessModalIsOpen","showIncompletePaymentRequiresActionErrorModal","setShowIncompletePaymentRequiresActionErrorModal","showIncompletePaymentMethodFailedErrorModal","setShowIncompletePaymentMethodFailedErrorModal","setOrigin","onRequestInfoClose","onDefaultGuestRequestInfoSubmit","onDefaultUserRegisteredRequestInfoSubmit","onUpgradeCheckoutErrorCallback","omit","redirectToContractUrl","onRequestCloseConfirmNeededPaymentModal","onRequestPaymentModalOpen","onDefaultConfirmIncompleteAction","onDefaultCancelIncompleteAction","onRequestCloseActivationNeededModal","Gear","timeoutCheckoutSuccessWaitProcess","onUpgradeCheckoutModalClose","updatePaymentResponse","onRequestInfoWithoutProduct","onRequestAccountHero","getCountries","useInvoices","useQuery","queryFn","getInvoices","invoices","createInvoicePending","useCreateInvoicePending","createNotificationContact","useCreateNotificationContact","createNotificationContactGuessUser","useCreateNotificationContactGuessUser","useProducts","getSmsCredits","ProductsPage","productsQuery","setCountries","setSmsCredits","fetchError","setFetchError","hasBeenCanceled","setHasBeenCanceled","productsIsLoading","createNotificationContactGuessUserMutation","createNotificationContactMutation","deleteUserIncompleteProductMutation","createUpdatePaymentMutation","createInvoicePendingMutation","paymentIntent","FeatureComparator","parseFeature","feature","renderFeature","specs","lite","toString","renderBlock","FeatureComparatorContainer","FeatureComparatorPublicPage","FeatureComparatorPage","isLoggedAuth","DisclaimerPhoneValidation","Footer","getMobileToken","requestMobileToken","hash","recaptcha","createMobileToken","WRONG_TOKEN","useCreateMobileToken","updateMobileToken","WRONG_TOKEN_VALIDATION","useUpdateMobileToken","validateMobileToken","FormPhoneValidation","defaultValidationSchema","getActionButton","deliveries","used","isUsed","blocked","isBlocked","tries","errorToken","getError","FormTokenCheck","onDefaultRetryDelivery","canRetry","getRetry","blockedByTime","isBlockedByTime","validAt","getTime","PhoneValidationContainer","showFooter","onSubmitFormPhoneValidation","onSubmitFormTokenCheck","getShowFormPhoneValidation","getShowFormTokenCheck","showFormPhoneValidation","setShowFormPhoneValidation","showFormTokenCheck","setShowFormTokenCheck","onDefaultSubmitFormPhoneValidation","onDefaultSubmitFormTokenCheck","onRetryDelivery","PhoneValidationContainerInModal","onDefaultRequestInfoOpen","PaymentErrorModal","titleTag","shouldRedirect","SummaryPaymentModal","getCreatePaymentIntent","isSummaryDataLoading","setIsSummaryDataLoading","TourButtonRequest","tourRequestURL","iconURL","padding","Calendar","TRIGGER_HOVER","Tooltip","tooltipClassName","onShow","onHide","setIsOpen","onKeyPress","flex","PMP_ID","checkFile","loadPmp","FormUserAccount","provinces","tinDocumentTypes","countryOnChange","showCancelButton","showPaymentCheckout","showAgreementsCheck","isModalForm","mapperInitialValues","triesCif","notOneOf","when","is","val","formValues","checkCP","provinceIdParsed","padStart","slice","parent","setResignationAsViewed","getSignupFormResignation","getCancelButton","getSubmitButton","getCifTooltip","QuestionIcon","UserForm","hasBlockedCifField","hasToShowResignationViewed","formSelector","submitSelector","acceptanceSelector","emailSelector","gdprRegister","sendToPmpData","onFormSubmit","FormUserAccountInModal","onDefaultCancelProduct","ProductsUpdatePrivatePage","onRequestInfoSubmit","onSubmitFormUserAccount","onFinishURLRedirect","requestUserAccountModalIsOpen","setRequestUserAccountModalIsOpen","requestPhoneValidationModalIsOpen","setRequestPhoneValidationModalIsOpen","summaryPaymentModalIsOpen","setSummaryPaymentModalIsOpen","invoiceSummaryData","setInvoiceSummaryData","showPaymentError","setShowPaymentError","userCurrencySelected","setUserCurrencySelected","closeAllModals","generatePaymentIntent","onShowValidationNeededModalOpen","onRequestUserAccountModalOpen","onRequestPhoneValidationModalOpen","sessionUrl","phoneValidationNeeded","onRequestPhoneValidationModalClose","onRequestPaymentModalClose","getProvinces","getTinDocumentTypes","parseTinDdocumentTypes","tin_document_types","tinDdocumentTypes","tinDdocumentType","documentType","PaymentIntentWrapper","createCreatePaymentMutation","setHasBeenReactivated","clearActions","ProductsUpdatePage","updateBillingDetailsMutation","setMobileToken","setProvinces","setTinDocumentTypes","createMobileTokenMutation","updateUpdateMobileTokenMutation","loadMe","responseProvinces","newBillingDetails","responseTinDocumentTypes","SecurityModal","ConfirmDialog","cancelButton","onActionButtonVariant","onCancelButtonVariant","actionButtonToRight","CurrentUserPlanContainer","onPlanCancel","onPlanReactivate","onAppsumoAction","productType","cancelConfirmModalIsOpen","setCancelConfirmModalIsOpen","reactivateConfirmModalIsOpen","setReactivateConfirmModalIsOpen","disabledCancelButton","setDisabledCancelButton","isActive","getOnCancelAction","requestCancellationConfirm","getOnChangeCreditCardAction","requestReactivateConfirm","onConfirmCancelPlan","onConfirmReactivatePlan","onCancelCancelPlan","onCancelReactivatePlan","productPriceExcess","renderProductProcessing","parsedPrice","getTooltip","renderMeteredPrice","_userProduct$invoiceP","_userProduct$invoiceP2","emailExcess","periodEndDate","renderInvoicePreview","getActionProductButton","buttonLabel","changeCreditCardLabel","updateAppsumoButtonLabel","OldPlanUserAdvise","MyRatePageContainer","isUserProductInStatus","onDefaultProductSelect","checkIfAutoCheckout","productParsed","parseUserProduct","MyRatePrivatePage","completeCheckout","initCompleteCheckout","setInitCompleteCheckout","checkHasToShowManualValidationModal","manualValidationNeeded","newFreeUser","securityModalIsOpen","setSecurityModalIsOpen","userPromotionCode","onRequestSecurityModalClose","MyRatePage","currencyRaw","comID","comIDRaw","intervalRaw","signature","signatureRaw","parseInterval","parseComID","parseSignature","reactivateUserCancelledProductMutation","useReactivateUserCancelledProduct","autoCheckoutSetted","setAutoCheckoutSetted","hasBeenAutoCanceled","setHasBeenAutoCanceled","hasBeenReactivated","seconds","setSeconds","setUserProductProcessing","setUserProductsFilteringByStatus","cancelPendingProductIfNeeded","_userProductPending$p","cancelPlan","intervalUseEffect","onPlanCancelButton","updateComId","updateGroups","isAutoCheckoutAllowed","checkByStatusResult","addCheckoutProduct","_userProduct$product","_userProduct$product$","userProductsFiltered","productFiltered","unhideProducts","onAppsumoActionlButton","Column","HeaderCell","Cell","Table","RechargesHistoryTable","recharges","loading","autoHeight","showHeader","align","resizable","fixed","dataKey","rowData","getNameRecharge","flexGrow","paymentDate","year","month","timeStyle","dateStyle","MyInvoicesPageContainer","MyInvoicesPrivatePage","InvoicesNotFound","MyInvoicesPage","invoicesQuery","invoicesIsLoading","MyAccountPageContainer","disablePage","page__disabled","getContactForm","getSystemConfirmSuccess","MyAccountPrivatePage","MyAccountPage","setDisablePage","buildNewBillingDetails","ActivationPage","renderActivationScreenContainer","PurchasePage","productPriceId","isMe","purchasedProducts","purchasedProduct","purchaseCurrency","UpdatePaymentMethodPage","setUrl","wait","renderWaitProcessModal","FaqsPage","privateRoutes","Navigate","to","LoginContainer","privateRoutesNotLogged","Head","page","Helmet","defaultTitle","property","Faqs","LogoutComponent","Products","Redirect","FormSetupWrapper","CheckboxConsentWrap","SetupInfoMessage","SetupErrorMessage","FormSetup","systemError","isSubmitting","formikGlobal","internationalPhone","consentTerms","SetupForm","nationalNumber","countryCallingCode","getSystemErrors","onCaptchaChange","EmailCheckInfo","captchaField","setAttribute","DisclaimerPhoneValidationWrapper","DisclaimerPhoneValidationV2","FormSetupConfirm","onGoBack","userBlocked","actionForm","systemConfirmSuccess","tokenResent","tokenResentError","tokenLoading","formRef","createRef","showGoBack","setShowGoBack","_formRef$current","submit","onDefaultGoBack","getTokenErrors","getTokenSuccess","getSystemError","SetupConfirmForm","UserBlockedMessage","SetupContainer","successRedirectURL","showFormSetup","setShowFormSetup","showFormSetupConfirm","setShowFormSetupConfirm","submittingConfirm","setSubmittingConfirm","submittingSetup","setSubmittingSetup","setSystemError","requestMobileTokenMutation","useRequestMobileToken","validateMobileTokenMutation","useValidateMobileToken","systemConfirmError","setSystemConfirmError","setUserBlocked","setSystemConfirmSuccess","setTokenResent","setTokenResentError","setTokenLoading","sendDataForRetrieveToken","onDefaultResendToken","onDefaultFormSetupSubmit","onSubmitSetupSuccess","onSubmitSetupError","scrollTo","behavior","history","replaceState","onDefaultFormSetupConfirmSubmit","validateToken","tokenData","sendDataForValidateToken","FormSetupConfirmWrapper","onResendToken","SetupPublicPage","productname","productid","userSetupData","GTMData","tokeId","Setup","PublicRoutes","Routes","Route","publicRoutes","AppRoutes","routes","useRoutes","App","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","render"],"mappings":"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","file":"static/js/main.6de16015.chunk.js","sourcesContent":["import React from 'react';\n\nimport {\n ACTIVE,\n CANCELLED,\n EUR,\n PENDING,\n PROCESSING,\n REQUEST_FAILED,\n REQUEST_SUCCESS,\n STRIPE_METHOD_CHECKOUT,\n STRIPE_METHOD_DIRECT,\n USAGE_LICENSED,\n USAGE_METERED,\n USD,\n BILLING_MODE_MONTH,\n BILLING_MODE_UNIQUE,\n BILLING_MODE_YEAR,\n INTERVAL_COUNT_FOR_BILLING_MONTH,\n INTERVAL_COUNT_FOR_BILLING_YEAR,\n LANG_EN,\n LANG_ES,\n LANG_IT,\n LANG_FR,\n LANG_PT,\n PRODUCT_CATEGORY_TYPE_EMAIL,\n PRODUCT_CATEGORY_TYPE_SMS,\n PRODUCT_CATEGORY_TYPE_PREPAID,\n PRODUCT_CATEGORY_PREPAID_SMS,\n PRODUCT_CATEGORY_PREPAID_EMAIL,\n PRODUCT_CATEGORY_LITE,\n PRODUCT_CATEGORY_PRO,\n PRODUCT_CATEGORY_TOTAL,\n PRODUCT_CATEGORY_FREEMIUM,\n PRODUCT_CATEGORY_APPSUMO,\n INTERVAL_COUNT_FOR_BILLING_UNIQUE,\n AUTOMATIC_COUPON,\n INCOMPLETE,\n} from '@/config/appConstants';\n\nexport type AppLanguages =\n | typeof LANG_EN\n | typeof LANG_ES\n | typeof LANG_IT\n | typeof LANG_FR\n | typeof LANG_PT;\n\nexport type BaseEntity = {\n id: string;\n createdAt: string;\n};\n\nexport interface BaseFormEntity {\n formName?: string;\n}\n\nexport interface ICurrencyKeys {\n eur: string;\n usd: string;\n}\n\nexport type Currency = typeof EUR | typeof USD;\n\nexport type BillingMode =\n | typeof BILLING_MODE_MONTH\n | typeof BILLING_MODE_YEAR\n | typeof BILLING_MODE_UNIQUE;\n\nexport const BillingModes = [BILLING_MODE_MONTH, BILLING_MODE_YEAR, BILLING_MODE_UNIQUE];\n\nexport type IntervalBillingMode =\n | typeof INTERVAL_COUNT_FOR_BILLING_MONTH\n | typeof INTERVAL_COUNT_FOR_BILLING_YEAR\n | typeof INTERVAL_COUNT_FOR_BILLING_UNIQUE;\n\nexport const IntervalBillingModes = [\n INTERVAL_COUNT_FOR_BILLING_MONTH,\n INTERVAL_COUNT_FOR_BILLING_YEAR,\n];\n\nexport type SliderMarkType = {\n [key: number]: string;\n};\n\nexport type ParsedSliderMarkType = {\n [key: number]: React.ReactNode;\n};\n\nexport const currencySymbolMap: ICurrencyKeys = {\n eur: '€',\n usd: 'US$',\n};\n\nexport type FieldOptions = {\n showLabel?: boolean;\n customClasses?: string;\n name?: any;\n type?: string;\n value?: any;\n disabled?: boolean;\n placeholder?: string;\n onChange?: any;\n onBlur?: any;\n itemClasses?: string;\n options?: any[];\n renderLabel?: any;\n required?: boolean;\n defaultCountry?: any;\n userLanguage?: AppLanguages;\n helpText?: React.ReactNode | string;\n autoFocus?: boolean;\n};\n\nexport type UsageType = typeof USAGE_LICENSED | typeof USAGE_METERED;\n\nexport interface ProductFeaturesTypes {\n title: string;\n bullets: string[];\n}\n\nexport interface ProductDescriptionTypes {\n productName: string;\n productStep: string;\n productStepCriteria: string;\n categoryName: string;\n categoryDescription: string;\n actionButton: string;\n features: ProductFeaturesTypes;\n}\n\nexport interface RecurringTypes {\n aggregate_usage?: string | null;\n interval: string;\n interval_count: number;\n trial_period_days?: string | null;\n usage_type: string;\n}\n\nexport interface PricesTypes {\n id: string;\n currency: string;\n amount: string | number;\n recurring: RecurringTypes | null;\n productId?: string;\n usageBillingThreshold: number;\n promotionCode?: PromotionCodeTypes | null;\n amountWithPromotion?: string | number;\n}\n\nexport type PromotionCodeTypes = {\n id: string;\n coupon: CouponTypes;\n code: string | null;\n};\n\nexport type ProductCategoryTypes =\n | typeof PRODUCT_CATEGORY_TYPE_EMAIL\n | typeof PRODUCT_CATEGORY_TYPE_SMS\n | typeof PRODUCT_CATEGORY_TYPE_PREPAID;\n\nexport type CategoryType =\n | typeof PRODUCT_CATEGORY_PREPAID_SMS\n | typeof PRODUCT_CATEGORY_PREPAID_EMAIL\n | typeof PRODUCT_CATEGORY_LITE\n | typeof PRODUCT_CATEGORY_PRO\n | typeof PRODUCT_CATEGORY_TOTAL\n | typeof PRODUCT_CATEGORY_FREEMIUM\n | typeof PRODUCT_CATEGORY_APPSUMO\n | string;\n\nexport interface ProductTypes {\n id: string;\n mdirectorId: string;\n class: string;\n category: CategoryType;\n hidePrice?: boolean | undefined;\n featured: boolean;\n description: string | null;\n info: ProductDescriptionTypes;\n prices: PricesTypes[];\n name: string;\n}\n\nexport interface UserProductTypes {\n product: ProductTypes;\n groupProduct: GroupProductTypes;\n invoicePreview: InvoicePreviewTypes | null;\n}\n\nexport type StatusType =\n | typeof PENDING\n | typeof ACTIVE\n | typeof CANCELLED\n | typeof PROCESSING\n | typeof INCOMPLETE;\n\nexport interface GroupProductTypes {\n class?: string;\n currentPeriodEndDate?: string;\n groupId?: string;\n modificationDate?: string;\n paymentMethod?: string | null;\n productId: string;\n requestDate?: string;\n status: string;\n subscriptionId?: string;\n pricing?: PricesTypes[];\n promotionCode?: string | null;\n completePaymentUrl?: string;\n}\n\nexport type InvoicePreviewItemTypes = {\n currency: Currency;\n amount: number | bigint | string;\n proration: boolean;\n};\n\nexport type CouponTypes = {\n id: string;\n name: string;\n amountOff: number | null;\n percentOff: number | null;\n currency: null | Currency;\n duration: string;\n durationInMonths: null | number;\n appliesTo: null | string;\n metadata?: CouponMetadataTypes;\n};\nexport type CouponModeType = typeof AUTOMATIC_COUPON | string;\nexport type CouponMetadataTypes = {\n interval?: string;\n mode?: CouponModeType;\n description?: string;\n is_proration_coupon?: string | boolean;\n};\n\nexport type DiscountTypes =\n | {\n id: string;\n coupon: CouponTypes;\n promotionCode: string | null;\n }\n | undefined;\n\nexport interface InvoicePreviewTypes {\n currency: Currency;\n periodEndDate: string;\n subtotal?: string | number;\n totalExcludingTax?: string | number;\n tax?: string | number;\n amountDue: string | number;\n total: string | number;\n items: InvoicePreviewItemTypes[];\n discounts?: DiscountTypes[] | undefined;\n emailExcess?: number | null | undefined;\n}\n\nexport type ProductCardProps = {\n key?: string;\n onPendingButtonAction?: (product: ProductTypes) => void;\n onIncompleteAction?: () => void;\n onActionButton?: (product: ProductTypes) => void | undefined;\n onProductSelect: (product: ProductTypes) => void;\n onRequestInfo?: (product: ProductTypes) => void;\n product: ProductTypes;\n userCurrency: Currency;\n userBillingMode?: BillingMode;\n activeBillingMode?: BillingMode | null;\n currentPeriodEndDate?: string;\n className?: string;\n formatProductName?: (productName: string | ProductFeaturesTypes) => string;\n formatCredits?: (product: ProductTypes) => React.ReactNode | string;\n formatCategoryName?: (productName: string | ProductFeaturesTypes) => string;\n alreadyPurchased?: boolean;\n alreadyPurchasedLink?: string;\n isCancelled?: boolean;\n isProcessing?: boolean;\n isPending?: boolean;\n isIncomplete?: boolean;\n actionButtonLabel?: string;\n hidePrice?: boolean;\n removePrice?: boolean;\n autoCheckout?: boolean;\n showFeatures?: boolean;\n isSticky?: boolean;\n promotionCode?: string | undefined;\n};\n\nexport type iSteps = Record;\n\nexport interface UserData {\n name: string;\n email: string;\n groupId: string;\n rolId: string;\n groupCreatedAt: string;\n lang: AppLanguages;\n}\n\nexport interface iUserSetupData {\n lang: AppLanguages;\n productName: string;\n productId: string;\n currency: Currency;\n}\n\nexport type Recharges = {\n id: string;\n requestDate: string;\n paymentDate: string;\n name: string;\n currency: Currency;\n interval: string | boolean;\n price: number | bigint;\n [key: string]: any;\n};\n\nexport type StripeMethod = typeof STRIPE_METHOD_DIRECT | typeof STRIPE_METHOD_CHECKOUT;\n\nexport type responseStatus = typeof REQUEST_SUCCESS | typeof REQUEST_FAILED;\n\nexport interface Me {\n userInfo: UserInfo;\n capabilities: Capabilities;\n}\n\nexport interface UserInfo {\n id: string;\n name: string;\n lastName: string;\n email: string;\n groupId: string;\n rolId: string;\n groupCreatedAt: string;\n language: AppLanguages;\n currency: Currency;\n}\nexport interface Capabilities {\n isManualValidationEnabled: boolean;\n isBillingDetailsFilled: boolean;\n canBuySubscriptionProducts: boolean;\n canBuyProducts: boolean;\n appsumo: Appsumo;\n}\n\nexport interface Appsumo {\n isAppsumo: boolean;\n canMakeAppsumoActions: boolean;\n}\n\nexport interface iAuthInfo {\n clear: () => void;\n expiresInLessThan: (e: any) => void;\n get: () => void;\n getAccessToken: () => void;\n getCompanies: () => void;\n getCompanyId: () => void;\n getCompanyName: () => void;\n getCreationTime: () => string;\n getCurrency: () => void;\n getExpirationTime: () => void;\n getGroupId: () => string;\n getRolId: () => string;\n getUserId: () => string;\n getTimeToExpire: () => void;\n getTimeZone: () => void;\n getUserName: () => string;\n init: (e: any) => void;\n initFromLocalStorage: () => void;\n isExpired: () => void;\n isSuperAdmin: () => void;\n isValid: () => void;\n localStorageKey: string;\n save: () => void;\n}\n\nexport type CurrencyObj = {\n iso: Currency;\n simbol: '€' | '$';\n};\n\nexport interface iAuthInfoLocalStorage {\n access_token: string;\n companies: [];\n company_id: string | null;\n company_name: string | null;\n creation_time: string;\n currency: CurrencyObj;\n expires_in: string | number;\n group_id: string;\n rol_id: string;\n user_id: string;\n time_zone: string;\n user_name: string;\n}\n\nexport type Theme = {\n assetsURL: string;\n};\n\nexport interface ServiceTypes {\n service: string;\n rolId: string;\n enable: boolean;\n}\n","import { sha256 } from 'js-sha256';\nimport moment from 'moment';\n\nimport { GTM_ENABLED } from '@/config';\nimport { EUR, NEW_ACCOUNT_DATE_FORMAT, UNKNOWN } from '@/config/appConstants';\nimport { BillingDetails } from '@/features/billing';\nimport gtmAddLogged from '@/lib/gtm/gtmAddLogged.json';\nimport gtmAddNotLogged from '@/lib/gtm/gtmAddNotLogged.json';\nimport gtmAddToCart from '@/lib/gtm/gtmAddToCart.json';\nimport gtmCheckoutData from '@/lib/gtm/gtmCheckoutData.json';\nimport gtmCompletedBillingData from '@/lib/gtm/gtmCompletedBillingData.json';\nimport gtmPaidPlanData from '@/lib/gtm/gtmPaidPlanData.json';\nimport gtmTokenRequest from '@/lib/gtm/gtmTokenRequestData.json';\nimport gtmTokenValidated from '@/lib/gtm/gtmTokenValidatedData.json';\nimport {\n GTMAddEventTypes,\n GTMCheckoutEventTypes,\n GTMCompletedBillingEventTypes,\n GTMProductsTypes,\n GTMPaidPlanEventTypes,\n GTMUserNavigationTypes,\n GTMUserDataTypes,\n} from '@/lib/gtm/gtmTypes';\nimport gtmValidationAccountData from '@/lib/gtm/gtmValidationAccountData.json';\nimport userNavigationData from '@/lib/gtm/userNavigationData.json';\nimport {\n Currency,\n iAuthInfo,\n iUserSetupData,\n Me,\n PricesTypes,\n ProductTypes,\n UserData,\n UserProductTypes,\n} from '@/types';\nimport {\n filterUserProductsByActive,\n filterUserProductsByPending,\n getProductLicensedPriceByCurrency,\n isNewFreeUser,\n getOrigin,\n} from '@/utils/helpers';\n\nexport const isGTMEnabled = (): boolean => eval(GTM_ENABLED as unknown as string) === true;\n\nexport const sendEventGtm = (\n gtmData: any,\n GTMDriver: (\n data:\n | GTMUserNavigationTypes\n | GTMAddEventTypes\n | GTMPaidPlanEventTypes\n | GTMCompletedBillingEventTypes\n ) => void,\n index = 0\n): void => {\n console.info('Is GTM enabled?', isGTMEnabled(), index);\n\n if (!isGTMEnabled()) return;\n if (index == 5) return;\n\n if (typeof window.dataLayer === 'undefined') {\n setTimeout(() => {\n sendEventGtm(gtmData, GTMDriver, parseInt(index as unknown as string, 10) + 1);\n }, 1000);\n } else {\n GTMDriver(gtmData);\n }\n};\n\nexport const buildGTMAddToCartRequest = (userData: iUserSetupData): GTMAddEventTypes => {\n const gtmData = gtmAddToCart as GTMAddEventTypes;\n gtmData.ecommerce.add.products[0].id = userData.productId;\n gtmData.ecommerce.add.products[0].name = userData.productName;\n gtmData.ecommerce.add.products[0].lang = userData.lang;\n\n return gtmData;\n};\n\nexport const buildGTMTokenRequest = (me: Me): GTMCompletedBillingEventTypes => {\n const gtmData = gtmTokenRequest as GTMCompletedBillingEventTypes;\n gtmData.ecommerce.navigation.userData = buildGTMUserData(\n me,\n gtmData.ecommerce.navigation.userData\n );\n gtmData.ecommerce.navigation.userData.validatedAt = new Date().toLocaleString();\n\n return gtmData;\n};\n\nexport const buildGTMTokenValidated = (me: Me): GTMCompletedBillingEventTypes => {\n const gtmData = gtmTokenValidated as GTMCompletedBillingEventTypes;\n gtmData.ecommerce.navigation.userData = buildGTMUserData(\n me,\n gtmData.ecommerce.navigation.userData\n );\n gtmData.ecommerce.navigation.userData.validatedAt = new Date().toLocaleString();\n\n return gtmData;\n};\n\nexport const buildGTMAddLogged = (userData: UserData): GTMAddEventTypes => {\n const gtmData = gtmAddLogged as GTMAddEventTypes;\n gtmData.ecommerce.add.products[0].lang = userData.lang;\n gtmData.ecommerce.add.products[0].gruid = sha256(userData.groupId);\n gtmData.ecommerce.add.products[0].groupCreatedAt = userData.groupCreatedAt;\n\n return gtmData;\n};\n\nexport const buildGTMNavigationData = (\n userData: UserData,\n billingDetails: BillingDetails,\n userProducts: UserProductTypes[]\n): GTMUserNavigationTypes => {\n const gtmData = userNavigationData as GTMUserNavigationTypes;\n const pendingProduct = filterUserProductsByPending(userProducts);\n const activeProduct = filterUserProductsByActive(userProducts);\n\n // Session\n gtmData.ecommerce.navigation.sessionData.currentURL = window.location.href;\n gtmData.ecommerce.navigation.sessionData.currentTime = moment().format(NEW_ACCOUNT_DATE_FORMAT);\n gtmData.ecommerce.navigation.sessionData.currentLang = userData.lang;\n\n // UserData (Billing Details)\n billingDetails.id = billingDetails.groupId;\n gtmData.ecommerce.navigation.userData = Object.assign(\n { alreadyPhoneTokenValidated: !isNewFreeUser(userData) },\n billingDetails\n );\n\n // Pending Product\n pendingProduct && (gtmData.ecommerce.navigation.pendingProduct = pendingProduct.product);\n\n // Product (only one at this moment)\n activeProduct && (gtmData.ecommerce.navigation.activeProducts[0] = activeProduct.product);\n\n return gtmData;\n};\n\nexport const buildGTMInformationData = (): GTMAddEventTypes => {\n return gtmAddLogged as GTMAddEventTypes;\n};\n\nexport const buildGTMCompletedBilling = (me: Me): GTMCompletedBillingEventTypes => {\n const gtmData = gtmCompletedBillingData as GTMCompletedBillingEventTypes;\n gtmData.ecommerce.navigation.userData = buildGTMUserData(\n me,\n gtmData.ecommerce.navigation.userData\n );\n\n return gtmData;\n};\n\nexport const buildGTMValidationAccount = (me: Me): GTMCompletedBillingEventTypes => {\n const gtmData = gtmValidationAccountData as GTMCompletedBillingEventTypes;\n\n gtmData.ecommerce.navigation.userData = buildGTMUserData(\n me,\n gtmData.ecommerce.navigation.userData\n );\n gtmData.ecommerce.navigation.userData.validatedAt = new Date().toLocaleString();\n\n return gtmData;\n};\n\nexport const buildGTMAddNotLogged = (): GTMAddEventTypes => {\n return gtmAddNotLogged as GTMAddEventTypes;\n};\n\nexport const buildGTMCheckoutData = (\n product: ProductTypes,\n landingname: string | undefined,\n currency: Currency | undefined,\n authInfo: iAuthInfo,\n lang: string\n): GTMCheckoutEventTypes => {\n const productPrice = getProductLicensedPriceByCurrency(product.prices, currency || EUR);\n const gtmData = gtmCheckoutData as GTMCheckoutEventTypes;\n const newProductData: GTMProductsTypes = {\n name: product.category || UNKNOWN,\n id: product.mdirectorId || UNKNOWN,\n price: productPrice?.amount || UNKNOWN,\n brand: 'Mdirector',\n category: product.info.categoryName || UNKNOWN,\n variant: product.name || UNKNOWN,\n quantity: 1,\n coupon: '',\n lang: lang,\n groupCreatedAt: moment().format(NEW_ACCOUNT_DATE_FORMAT),\n gruid: sha256(authInfo.getGroupId()),\n };\n\n gtmData.ecommerce.checkout.actionField.option = landingname || UNKNOWN;\n gtmData.ecommerce.checkout.products = [newProductData];\n\n return gtmData;\n};\n\nexport const buildGTMPaidPlanData = (\n product: ProductTypes,\n price: PricesTypes | undefined,\n lang: string,\n me: Me\n): GTMPaidPlanEventTypes => {\n const gtmData = gtmPaidPlanData as GTMPaidPlanEventTypes;\n const newProductData: GTMProductsTypes = {\n name: product.category || UNKNOWN,\n id: product.mdirectorId || UNKNOWN,\n price: price?.amount || UNKNOWN,\n brand: 'Mdirector',\n category: product.info.categoryName || UNKNOWN,\n variant: product.name || UNKNOWN,\n quantity: 1,\n coupon: '',\n lang: lang,\n groupCreatedAt: me.userInfo.groupCreatedAt,\n gruid: sha256(me.userInfo.groupId),\n periodicity: getOrigin(product),\n };\n\n gtmData.ecommerce.purchase.actionField.id = price?.id || UNKNOWN;\n gtmData.ecommerce.navigation.activeProducts = [newProductData];\n gtmData.ecommerce.navigation.userData = buildGTMUserData(\n me,\n gtmData.ecommerce.navigation.userData\n );\n\n return gtmData;\n};\n\nconst buildGTMUserData = (me: Me, userData: GTMUserDataTypes): GTMUserDataTypes => {\n userData.id = me.userInfo.groupId ? me.userInfo.groupId : UNKNOWN;\n userData.gruid = me.userInfo.groupId ? sha256(me.userInfo.groupId) : UNKNOWN;\n userData.currentLang = me.userInfo.language;\n userData.createdAt = me.userInfo.groupCreatedAt;\n\n return userData;\n};\n","import { Currency, iAuthInfoLocalStorage, ProductTypes, ServiceTypes } from '@/types';\n\nconst PENDING_PRODUCT_STORE_KEY = 'pendingProduct';\nconst AUTH_INFO_STORE_KEY = 'authInfo';\nconst USER_CURRENCY_STORE_KEY = 'userCurrency';\nconst RESIGNATION_VIEWED_STORE_KEY = 'resignationViewed';\nconst ORIGIN_STORE_KEY = 'origin';\n\nconst storage = {\n clear: () => {\n window.localStorage.clear();\n },\n\n getToken: () => {\n const authInfoRawData: string | null = window.localStorage.getItem(AUTH_INFO_STORE_KEY);\n return authInfoRawData ? JSON.parse(authInfoRawData).access_token : null;\n },\n\n setToken: (token: string) => {\n const authInfoRawData: string | null = window.localStorage.getItem(AUTH_INFO_STORE_KEY);\n if (authInfoRawData) {\n const authInfo: iAuthInfoLocalStorage = JSON.parse(authInfoRawData);\n authInfo.access_token = token;\n window.localStorage.setItem(AUTH_INFO_STORE_KEY, JSON.stringify(authInfo));\n }\n },\n\n clearAuthInfo: () => {\n window.localStorage.removeItem(AUTH_INFO_STORE_KEY);\n },\n\n getPendingProduct: (): ProductTypes | null => {\n const product = window.localStorage.getItem(PENDING_PRODUCT_STORE_KEY);\n return product ? JSON.parse(product) : null;\n },\n\n setPendingProduct: (product: ProductTypes) => {\n window.localStorage.setItem(PENDING_PRODUCT_STORE_KEY, JSON.stringify(product));\n },\n\n clearPendingProduct: () => {\n window.localStorage.removeItem(PENDING_PRODUCT_STORE_KEY);\n },\n\n clearUserData: () => {\n storage.clearPendingProduct();\n storage.clearUserCurrency();\n },\n\n getUserCurrency: (): Currency | null => {\n const userCurrency = window.localStorage.getItem(USER_CURRENCY_STORE_KEY);\n\n return userCurrency ? JSON.parse(userCurrency) : null;\n },\n\n setUserCurrency: (userCurrency: Currency) => {\n window.localStorage.setItem(USER_CURRENCY_STORE_KEY, JSON.stringify(userCurrency));\n },\n\n clearUserCurrency: () => {\n window.localStorage.removeItem(USER_CURRENCY_STORE_KEY);\n },\n\n setResignationViewed: () => {\n window.localStorage.setItem(RESIGNATION_VIEWED_STORE_KEY, 'true');\n },\n\n getResignationViewed: (): boolean =>\n window.localStorage.getItem(RESIGNATION_VIEWED_STORE_KEY) === 'true' || false,\n\n clearResignationViewed: () => {\n window.localStorage.removeItem(RESIGNATION_VIEWED_STORE_KEY);\n },\n\n setExternalOrigin: (origin: string | null) => {\n if (origin != storage.getExternalOrigin() && origin != null) {\n window.localStorage.setItem(ORIGIN_STORE_KEY, origin);\n }\n },\n\n getExternalOrigin: (): string | null => window.localStorage.getItem(ORIGIN_STORE_KEY) || null,\n\n setSidebarUserServices: (groupId: string, userId: string, userServices: ServiceTypes[]) => {\n window.localStorage.setItem('services-' + groupId + '-' + userId, JSON.stringify(userServices));\n },\n};\n\nexport default storage;\n","const React = require('react');\n\nfunction CheckIcon(props) {\n return /*#__PURE__*/ React.createElement(\n 'svg',\n Object.assign(\n {\n xmlns: 'http://www.w3.org/2000/svg',\n fill: 'none',\n viewBox: '0 0 24 24',\n stroke: 'currentColor',\n },\n props\n ),\n /*#__PURE__*/ React.createElement('path', {\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n strokeWidth: 4,\n d: 'M5 13l4 4L19 7',\n })\n );\n}\n\nmodule.exports = CheckIcon;\n","const React = require('react');\n\nfunction XIcon(props) {\n return /*#__PURE__*/ React.createElement(\n 'svg',\n Object.assign(\n {\n xmlns: 'http://www.w3.org/2000/svg',\n fill: 'none',\n viewBox: '0 0 24 24',\n stroke: 'currentColor',\n },\n props\n ),\n /*#__PURE__*/ React.createElement('path', {\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n strokeWidth: 4,\n d: 'M6 18L18 6M6 6l12 12',\n })\n );\n}\n\nmodule.exports = XIcon;\n","import { i18n } from 'i18next';\n\nimport {\n DEFAULT_LANG,\n DEFAULT_MANUAL_VALIDATION_NEEDED,\n MDIRECTOR_SUPPORT_PHONE,\n PAYMENTS_ROOT_URL,\n PHONE_VALIDATION_ACTIVATED,\n REGISTER_DOMAIN,\n ROL_ADM_MDIRECTOR,\n ROL_ADM_MDIRECTOR_NEWFREE,\n SHOW_ANNUAL_PAYMENTS,\n THEME_ASSETS_URL,\n APP_BACKEND_URL,\n} from '@/config';\nimport {\n ACTIVE,\n APP_LANGUAGES,\n BILLING_MODE_MONTH,\n BILLING_MODE_UNIQUE,\n BILLING_MODE_YEAR,\n CANCELLED,\n DATE_UNKNOWN,\n DEFAULT_CURRENCY_RESOLUTION_FOR_PRICES,\n DEFAULT_MISSING_EMAIL,\n DEFAULT_ORIGIN_FORM,\n DEFAULT_USER_CURRENCY,\n EUR,\n INTERVAL_COUNT_FOR_BILLING_MONTH,\n INTERVAL_COUNT_FOR_BILLING_UNIQUE,\n INTERVAL_COUNT_FOR_BILLING_YEAR,\n PENDING,\n PRIVATE_NAVIGATION_MY_ACCOUNT,\n PRIVATE_NAVIGATION_TAB_RATE,\n PROCESSING,\n PRODUCT_CATEGORY_FREEMIUM,\n PRODUCT_CATEGORY_PREPAID_EMAIL,\n PRODUCT_CATEGORY_PREPAID_SMS,\n PRODUCT_CATEGORY_TYPE_EMAIL,\n PRODUCT_CORE,\n PRODUCT_PAID_EXTERNAL,\n UNKNOWN_DATA,\n USAGE_LICENSED,\n USD,\n} from '@/config/appConstants';\nimport { BillingDetails } from '@/features/billing';\nimport { Country, CountryName } from '@/features/countries';\nimport { MobileToken } from '@/features/mobileToken';\nimport {\n BillingMode,\n IntervalBillingMode,\n Currency,\n currencySymbolMap,\n ICurrencyKeys,\n Me,\n UserData,\n PricesTypes,\n ProductDescriptionTypes,\n ProductTypes,\n StatusType,\n UsageType,\n UserProductTypes,\n GroupProductTypes,\n ProductCategoryTypes,\n IntervalBillingModes,\n BillingModes,\n AppLanguages,\n Theme,\n InvoicePreviewTypes,\n InvoicePreviewItemTypes,\n} from '@/types';\nimport storage from '@/utils/storage';\n\nexport const getCurrencySymbol = (currency: Currency) =>\n currencySymbolMap[currency as keyof ICurrencyKeys];\n\nexport const getIntervalCountByBillingMode = (billingMode: BillingMode): IntervalBillingMode => {\n if (billingMode === BILLING_MODE_YEAR) {\n return INTERVAL_COUNT_FOR_BILLING_YEAR;\n } else if (billingMode === BILLING_MODE_MONTH) {\n return INTERVAL_COUNT_FOR_BILLING_MONTH;\n }\n\n return INTERVAL_COUNT_FOR_BILLING_UNIQUE;\n};\n\nexport const getBillingModeByTargetTap = (target: string): BillingMode => {\n if (target === PRODUCT_CATEGORY_TYPE_EMAIL) {\n return BILLING_MODE_MONTH;\n }\n\n return BILLING_MODE_UNIQUE;\n};\n\nexport const getBillingModeByIntervalCount = (intervalCount: IntervalBillingMode): BillingMode => {\n if (intervalCount === INTERVAL_COUNT_FOR_BILLING_YEAR) {\n return BILLING_MODE_YEAR;\n }\n\n if (intervalCount === INTERVAL_COUNT_FOR_BILLING_MONTH) {\n return BILLING_MODE_MONTH;\n }\n\n return BILLING_MODE_UNIQUE;\n};\n\nexport const getIntervalBillingModeFromUserProduct = (\n userProduct: UserProductTypes\n): IntervalBillingMode => {\n const groupProduct: GroupProductTypes | null = userProduct.groupProduct || null;\n\n if (!groupProduct || !groupProduct.pricing || groupProduct.pricing.length === 0) {\n return INTERVAL_COUNT_FOR_BILLING_MONTH;\n }\n\n const licensedPricing = getLicensedPrice(groupProduct.pricing);\n\n if (!licensedPricing) {\n return INTERVAL_COUNT_FOR_BILLING_MONTH;\n }\n\n return licensedPricing.recurring?.interval_count as IntervalBillingMode;\n};\n\nexport const getBillingModeFromUserProduct = (\n userProduct: UserProductTypes | null | undefined\n): BillingMode => {\n if (!userProduct) {\n return BILLING_MODE_MONTH;\n }\n\n return getBillingModeByIntervalCount(getIntervalBillingModeFromUserProduct(userProduct));\n};\n\nexport const getBillingModePriceText = (userBillingMode: BillingMode): string => {\n switch (userBillingMode) {\n case BILLING_MODE_YEAR:\n return 'ProductDetail.yearlyPrice';\n case BILLING_MODE_UNIQUE:\n return 'ProductDetail.uniquePrice';\n case BILLING_MODE_MONTH:\n default:\n return 'ProductDetail.monthlyPrice';\n }\n};\n\nexport const getBillingModePlanText = (userBillingMode: BillingMode): string => {\n switch (userBillingMode) {\n case BILLING_MODE_YEAR:\n return 'ProductDetail.yearlyPlan';\n case BILLING_MODE_MONTH:\n default:\n return 'ProductDetail.monthlyPlan';\n }\n};\n\nexport const getProductPrice = (\n product: ProductTypes,\n type: UsageType,\n currency: Currency,\n billingMode: BillingMode\n) => {\n const intervalCount = getIntervalCountByBillingMode(billingMode);\n\n const prices = product.prices.find(\n (price) =>\n price.currency === currency &&\n ((price.recurring == null && type === USAGE_LICENSED) ||\n (price.recurring &&\n price.recurring.usage_type === type &&\n price.recurring.interval === BILLING_MODE_MONTH &&\n price.recurring.interval_count === intervalCount))\n );\n\n return prices || false;\n};\n\nexport const getLicensedPrice = (prices: PricesTypes[]) => {\n if (prices.length === 1) {\n return prices[0];\n }\n\n return prices.filter(({ recurring }) => recurring?.usage_type === USAGE_LICENSED)[0];\n};\n\nexport const getLicensedPriceByInterval = (\n prices: PricesTypes[],\n intervalCount: IntervalBillingMode,\n currency: Currency\n) => {\n if (prices.length === 1) {\n return prices[0];\n }\n\n return prices.filter(\n ({ recurring, currency: currencyPrice }) =>\n recurring?.usage_type === USAGE_LICENSED &&\n recurring?.interval_count === intervalCount &&\n currencyPrice === currency\n )[0];\n};\n\nexport const classToggle = (el: HTMLElement, ...args: string[]) =>\n args.map((e) => el.classList.toggle(e));\n\nexport const getFreemiumProduct = (products: ProductTypes[]) =>\n products.filter((product) => product.category === PRODUCT_CATEGORY_FREEMIUM)[0];\n\nexport const getProductsNonFreemium = (products: ProductTypes[]) =>\n products.filter((product) => product.category !== PRODUCT_CATEGORY_FREEMIUM);\n\nexport const getMDirectorSupportPhone = () => MDIRECTOR_SUPPORT_PHONE;\n\nexport const getMDirectorSupportPhoneRaw = () =>\n MDIRECTOR_SUPPORT_PHONE && MDIRECTOR_SUPPORT_PHONE.replace(/\\s/g, '');\n\nexport const getUserCurrentProductFromProducts = (userProducts: UserProductTypes[]) => {\n const userProductActive = filterUserProductsByStatus(userProducts, ACTIVE);\n const userProductCancelled = filterUserProductsByStatus(userProducts, CANCELLED);\n const userProductProcessing = filterUserProductsByStatus(userProducts, PROCESSING);\n const userProductPending = filterUserProductsByStatus(userProducts, PENDING);\n\n return userProductActive || userProductCancelled || userProductProcessing || userProductPending;\n};\n\nexport const haveUserAnOldPlan = (userProducts: UserProductTypes[]) =>\n !getUserCurrentProductFromProducts(userProducts);\n\nexport const getUserProduct = (userProducts: UserProductTypes[]) => userProducts[0]?.product;\n\nexport const getUserProductSubscriptionId = (userProducts: UserProductTypes[]) =>\n userProducts[0].groupProduct.subscriptionId;\n\nexport const isExternalPaidProduct = (userProducts: UserProductTypes[]) => {\n const userProduct = getUserProduct(userProducts);\n return userProduct && getUserProductSubscriptionId(userProducts) === PRODUCT_PAID_EXTERNAL;\n};\n\nexport const isExternalFreeProduct = (userProducts: UserProductTypes[]) => {\n const userProduct = getUserProduct(userProducts);\n\n return (\n userProduct &&\n isFreemiumProduct(userProduct) &&\n getUserProductSubscriptionId(userProducts) === PRODUCT_PAID_EXTERNAL\n );\n};\n\nexport const isCoreProduct = (product: ProductTypes): boolean => {\n return product.class === PRODUCT_CORE;\n};\n\nexport const isFreemiumProduct = (product: ProductTypes | null | undefined): boolean => {\n if (!product) return false;\n return product.category === PRODUCT_CATEGORY_FREEMIUM;\n};\n\nexport const isPrepaidProduct = (product: ProductTypes | null): boolean => {\n if (!product) return false;\n\n return (\n product.category === PRODUCT_CATEGORY_PREPAID_EMAIL ||\n product.category === PRODUCT_CATEGORY_PREPAID_SMS\n );\n};\n\nexport const userHasProducts = (userProducts: UserProductTypes[] | undefined): boolean => {\n if (!userProducts) {\n return false;\n }\n\n return userProducts.length > 0;\n};\n\nexport const getNoPlanProduct = (\n products: ProductTypes[][],\n marks: any,\n productStep = 0\n): ProductTypes => {\n const stepValue = marks[productStep];\n const filteredProducts = products.map((product: ProductTypes[]) => {\n const items = product.filter((item: ProductTypes) => {\n return item.info.productStep === stepValue;\n });\n return items && items[0];\n });\n return filteredProducts.filter((item) => !!item)[0];\n};\n\nexport const getProductDetails = (product: ProductTypes, prop: keyof ProductDescriptionTypes) =>\n product.info[prop] || '';\n\nexport const getProductStep = (userProduct: UserProductTypes) =>\n userProduct.product.info.productStep;\n\nexport const getKeyByValue = (object: any, value: string | number) =>\n Object.keys(object).find((key) => object[key] === value);\n\nexport const isCurrency = (currency: Currency): boolean => currency === EUR || currency === USD;\n\nexport const isBillingMode = (billingMode: BillingMode): boolean =>\n BillingModes.includes(billingMode);\n\nexport const isLanguage = (lang: string | undefined): boolean => {\n if (lang) return APP_LANGUAGES.includes(lang);\n return false;\n};\n\nexport const isIntervalBillingMode = (interval: any): boolean =>\n IntervalBillingModes.includes(parseInt(interval, 10));\n\nexport const getUserCurrency = (\n billingDetails: BillingDetails | null | undefined,\n storage: any\n): Currency => {\n if (storage.getUserCurrency && storage.getUserCurrency()) {\n return storage.getUserCurrency() as Currency;\n }\n\n if (billingDetails && billingDetails.currency) {\n return billingDetails.currency as Currency;\n }\n\n return DEFAULT_USER_CURRENCY;\n};\n\nexport const generatePendingUserProductTypes = (product: ProductTypes): UserProductTypes => {\n return {\n product: product,\n invoicePreview: null,\n groupProduct: {\n status: PENDING,\n productId: product.mdirectorId,\n class: product.class,\n pricing: product.prices,\n },\n };\n};\n\nexport const buildProductsCheckingInStorageForPendings = (\n userProducts: UserProductTypes[] | undefined,\n storage: any\n): UserProductTypes[] | undefined => {\n const product = storage.getPendingProduct();\n if (product) {\n if (!userProducts) {\n return [generatePendingUserProductTypes(product)];\n }\n userProducts.push(generatePendingUserProductTypes(product));\n }\n\n return userProducts;\n};\n\nexport const checkHasToShowUserAccountForm = (\n currency: Currency,\n me: Me,\n billingDetails?: BillingDetails\n): boolean => {\n if (!billingDetails || !currency || !me.capabilities.isBillingDetailsFilled) {\n return true;\n }\n\n if (billingDetails.currency?.toLowerCase() !== currency.toLowerCase()) {\n return true;\n }\n\n return false;\n};\n\nexport const checkByStatus = (\n userProducts: UserProductTypes[] | undefined,\n mdirectorId: string,\n status: StatusType[],\n billingMode: BillingMode\n) => {\n if (!userProducts) {\n return false;\n }\n const intervalCount = getIntervalCountByBillingMode(billingMode);\n\n return !!userProducts.filter((userProduct) => {\n if (userProduct.groupProduct.pricing) {\n const licensedPrice = getLicensedPrice(userProduct.groupProduct.pricing);\n\n return (\n status.includes(userProduct.groupProduct.status as StatusType) &&\n userProduct.product.mdirectorId === mdirectorId &&\n (licensedPrice ? licensedPrice.recurring?.interval_count === intervalCount : true)\n );\n }\n\n return (\n status.includes(userProduct.groupProduct.status as StatusType) &&\n userProduct.product.mdirectorId === mdirectorId\n );\n }).length;\n};\n\nexport const filterUserProductsByStatus = (\n userProducts: UserProductTypes[] | null | undefined,\n status: StatusType\n): UserProductTypes | null => {\n const products =\n userProducts &&\n userProducts.filter(\n (product: UserProductTypes) => product && product.groupProduct.status === status\n );\n\n if (products && products[0]?.product && products[0]?.groupProduct.pricing) {\n products[0].product.prices = products[0].groupProduct.pricing;\n }\n\n return (products && products[0]) || null;\n};\n\nexport const filterUserProductsByPending = (userProducts: UserProductTypes[]) =>\n filterUserProductsByStatus(userProducts, PENDING);\n\nexport const filterUserProductsByActive = (userProducts: UserProductTypes[]) =>\n filterUserProductsByStatus(userProducts, ACTIVE);\n\nexport const parseDate = (locale: string = DEFAULT_LANG, date: string, options = {}) => {\n try {\n const dateObj = new Date(date);\n return new Intl.DateTimeFormat([locale], options).format(dateObj);\n } catch (error) {\n return DATE_UNKNOWN;\n }\n};\n\nexport const parseCurrency = (\n locale: string,\n currency: Currency,\n price: number | bigint,\n resolution: number = DEFAULT_CURRENCY_RESOLUTION_FOR_PRICES\n) =>\n new Intl.NumberFormat(locale, {\n style: 'currency',\n currency: currency,\n minimumFractionDigits: resolution,\n }).format(price);\n\nexport const getPriceText = (\n price: number | bigint | string,\n currency: Currency,\n language: string\n): string => {\n if (price === null) {\n return UNKNOWN_DATA;\n }\n\n if (typeof price === 'string') {\n return price;\n }\n\n return parseCurrency(language, currency, price);\n};\n\nexport const getPendingUserProduct = (\n userProducts: UserProductTypes[] | null\n): UserProductTypes | null => filterUserProductsByStatus(userProducts, PENDING);\n\nexport const getActiveUserProduct = (\n userProducts: UserProductTypes[] | null | undefined\n): UserProductTypes | null => filterUserProductsByStatus(userProducts, ACTIVE);\n\nexport const searchProductByPriceId = (products: ProductTypes[], priceId: string) => {\n const filteredProducts: ProductTypes[] = products.filter(({ prices = [] }) =>\n prices.some(({ id }) => id === priceId)\n );\n if (filteredProducts.length > 0) {\n filteredProducts[0].prices = filteredProducts[0].prices.filter(({ id }) => id === priceId);\n }\n return filteredProducts;\n};\n\nexport const getCurrencyFromPriceId = (product: ProductTypes, priceId: string) =>\n product.prices.filter(({ id }) => id === priceId)[0].currency;\n\nexport const getCurrencyFromGroupProduct = (groupProduct: GroupProductTypes) => {\n if (!groupProduct || !groupProduct.pricing || !groupProduct.pricing.length) {\n return DEFAULT_USER_CURRENCY;\n }\n\n const pricing: PricesTypes = groupProduct.pricing[0];\n return pricing.currency as Currency;\n};\n\nexport const getCurrencyFromUserProduct = (userProduct: UserProductTypes) => {\n const groupProduct: GroupProductTypes | null = userProduct.groupProduct || null;\n\n return getCurrencyFromGroupProduct(groupProduct);\n};\n\nexport const getProductLicensedPriceByCurrency = (prices: PricesTypes[], currency: Currency) => {\n const results = prices.filter((price) => price.currency === currency);\n\n return results.length === 1\n ? results[0]\n : results.filter(({ recurring }) => recurring?.usage_type === USAGE_LICENSED)[0];\n};\n\nexport const getPrepaidProductPriceByCurrency = (prices: PricesTypes[], currency: Currency) => {\n const results = prices.filter((price) => price.currency === currency);\n const price = results[0]?.amount;\n\n if (!price) {\n return UNKNOWN_DATA;\n }\n\n if (typeof price === 'string') {\n return parseFloat(price.replace(',', '.') || '0');\n }\n\n return price;\n};\n\nexport const sortCountries = (countries: Country[], userCountry: keyof CountryName) =>\n countries.sort((a: Country, b: Country) => {\n const nameA = (a.name[userCountry] || '').toUpperCase();\n const nameB = (b.name[userCountry] || '').toUpperCase();\n\n if (nameA < nameB) {\n return -1;\n }\n\n if (nameA > nameB) {\n return 1;\n }\n\n return 0;\n });\n\nexport const getOriginFromStorage = (): string => {\n let origin = '';\n if (storage.getExternalOrigin() != null) {\n origin = `&origin=${storage.getExternalOrigin()}`;\n }\n return origin;\n};\n\nexport const getRegisterUrl = (path: string) =>\n `${REGISTER_DOMAIN}${path}?` + getOriginFromStorage();\n\nexport const getRegisterUrlWithHash = (path: string, productHash: string) => {\n return getRegisterUrl(path) + `&productHash=${productHash}`;\n};\n\nexport const getPublicUrlByPath = (path: string) => `${PAYMENTS_ROOT_URL}${path}`;\n\nexport const getRegisterUrlToCheckout = (\n product: ProductTypes,\n currency: Currency,\n intervalBillingMode: IntervalBillingMode | null\n) => {\n const intervalCounter = product.class === PRODUCT_CORE ? `/${intervalBillingMode}` : '';\n\n return `${PAYMENTS_ROOT_URL}account/checkout/${product.mdirectorId}/${currency}${intervalCounter}`;\n};\n\nexport const getProductHash = (\n mdirectorId: string,\n currency: Currency,\n billingMode: BillingMode\n): string =>\n btoa(\n `{\"mdirectorId\":\"${mdirectorId}\", \"currency\":\"${currency}\", \"billingMode\":\"${billingMode}\"}`\n );\n\nexport const getOffset = (el: any) => {\n const rect = el.getBoundingClientRect();\n return {\n left: rect.left + window.scrollX,\n top: rect.top + window.scrollY,\n };\n};\n\nexport const onlyDigits = (value: string) => /^\\d+$/.test(value);\n\nexport const isNewFreeUser = (userData: UserData) => userData.rolId === ROL_ADM_MDIRECTOR_NEWFREE;\nexport const isNewFreeUserFromMe = (me: Me) => me.userInfo.rolId === ROL_ADM_MDIRECTOR_NEWFREE;\nexport const isAdminUser = (userData: UserData) => userData.rolId === ROL_ADM_MDIRECTOR;\nexport const isAdminUserFromMe = (me: Me) => me.userInfo.rolId === ROL_ADM_MDIRECTOR;\nexport const isAppSumo = (me: Me) => me.capabilities.appsumo.isAppsumo;\n\nexport const getMyRateURL = () => `${PAYMENTS_ROOT_URL}account/${PRIVATE_NAVIGATION_TAB_RATE}`;\n\nexport const getMyAccountURL = () => `${PAYMENTS_ROOT_URL}account/${PRIVATE_NAVIGATION_MY_ACCOUNT}`;\n\nexport const redirectMyRate = () => window.location.assign(getMyRateURL());\nexport const redirectMyAccount = () => window.location.assign(getMyAccountURL());\n\nexport const isManualValidationNeeded = (me?: Me) =>\n typeof me !== 'undefined' && typeof me.capabilities.isManualValidationEnabled !== 'undefined'\n ? me.capabilities.isManualValidationEnabled\n : DEFAULT_MANUAL_VALIDATION_NEEDED;\n\nexport const checkHasToShowPhoneValidationForm = (mobileToken: MobileToken, me: Me): boolean => {\n if (eval(PHONE_VALIDATION_ACTIVATED as unknown as string) === false) {\n return false;\n }\n\n if (isAdminUserFromMe(me)) {\n return false;\n }\n\n if (mobileToken.usedAt) {\n return false;\n }\n\n return true;\n};\n\nexport const getUserData = (me: Me | undefined, i18n: i18n): UserData => {\n return {\n name: me?.userInfo.name || '',\n groupId: me?.userInfo.groupId || '',\n email: me?.userInfo.email || DEFAULT_MISSING_EMAIL,\n rolId: me?.userInfo.rolId || '',\n lang: i18n.language as AppLanguages,\n groupCreatedAt: me?.userInfo.groupCreatedAt || '',\n };\n};\n\nexport const getOrigin = (\n product: ProductTypes | undefined | null,\n billingMode?: BillingMode | null,\n defaultOrigin?: string\n): string => {\n if (!product) return defaultOrigin || DEFAULT_ORIGIN_FORM;\n return getBillingModeOrigin(product, billingMode);\n};\n\nconst getBillingModeOrigin = (product: ProductTypes, billingMode?: BillingMode | null): string => {\n if (billingMode) return `tarifa_${product.category}_${product.info.productStep}_${billingMode}`;\n\n if (!product?.prices[0]) return `tarifa_${product.category}_${product.info.productStep}`;\n const billingModeDefault = getBillingModeByIntervalCount(\n product?.prices[0]?.recurring?.interval_count as IntervalBillingMode\n );\n\n return `tarifa_${product.category}_${product.info.productStep}_${billingModeDefault}`;\n};\n\nexport const isEmailMarketingTab = (tab: ProductCategoryTypes) =>\n tab === PRODUCT_CATEGORY_TYPE_EMAIL;\n\nexport const getProductToUpdateFromUserCollection = (\n userProductActive: UserProductTypes | null,\n userProducts: UserProductTypes[] | undefined\n): UserProductTypes | null => {\n if (userProductActive) {\n return userProductActive;\n }\n\n // Order of the states to check:\n const statesToCheck = [CANCELLED, PENDING, PROCESSING];\n\n const products = statesToCheck.map((state) => {\n const product = filterUserProductsByStatus(userProducts, state as StatusType);\n if (product) {\n return product;\n }\n });\n\n return products.filter((item) => !!item)[0] || null;\n};\n\nexport const shouldShowTheCurrencySwitch = (\n userProducts: UserProductTypes[] | undefined\n): boolean => {\n const userProductActive = filterUserProductsByStatus(userProducts || [], ACTIVE);\n const userProductCancelled = filterUserProductsByStatus(userProducts || [], CANCELLED);\n return (\n (!userProductActive || isFreemiumProduct(userProductActive.product)) && !userProductCancelled\n );\n};\n\nexport const shouldShowTheBillingModeSwitch = (): boolean => {\n // Perhaps this const will become a property in the future.\n return SHOW_ANNUAL_PAYMENTS;\n};\n\nexport const filterHiddenPriceProducts = (\n products: ProductTypes[],\n mdirectorId: string | null\n): ProductTypes => {\n const filteredProducts =\n products &&\n products.filter((product: ProductTypes) => {\n return product.mdirectorId === mdirectorId && !product.hidePrice;\n });\n\n return filteredProducts[0];\n};\n\nexport const filterProducts = (\n products: ProductTypes[],\n mdirectorId: string | null\n): ProductTypes => {\n const filteredProducts =\n products &&\n products.filter((product: ProductTypes) => {\n return product.mdirectorId === mdirectorId;\n });\n\n return filteredProducts[0];\n};\n\nexport const getProductFilterPricesByCurrencyBillingMode = (\n product: ProductTypes,\n currency: Currency,\n billingMode: BillingMode\n): ProductTypes => {\n const intervalCount = getIntervalCountByBillingMode(billingMode);\n\n if (intervalCount) {\n product.prices = product.prices.filter(\n (price: PricesTypes) =>\n price.currency === currency &&\n (price.recurring == null || price.recurring?.interval_count == intervalCount)\n );\n }\n\n return product;\n};\n\nexport const getPricesIdsByCurrencyAndInterval = (\n prices: PricesTypes[],\n currency: Currency,\n intervalCount: IntervalBillingMode\n): string[] => {\n return prices\n .filter(\n (price: PricesTypes) =>\n price.currency === currency &&\n (price.recurring == null || price.recurring?.interval_count == intervalCount)\n )\n .map((price: PricesTypes) => price.id);\n};\n\nexport const getPromotionCodeByCurrencyAndInterval = (\n prices: PricesTypes[],\n currency: Currency,\n intervalCount: IntervalBillingMode\n): string | undefined => {\n return (\n prices\n .filter(\n (price: PricesTypes) =>\n price.currency === currency &&\n price.promotionCode !== null &&\n (price.recurring == null || price.recurring?.interval_count == intervalCount)\n )\n .map((price: PricesTypes) => price.promotionCode && price.promotionCode.code)\n .pop() || undefined\n );\n};\n\nexport const sortPricesByUsage = (prices: PricesTypes[]): PricesTypes[] => {\n return prices.sort((a: PricesTypes, b: PricesTypes) => {\n const nameA = (a.recurring && a.recurring.usage_type) || '';\n const nameB = (b.recurring && b.recurring.usage_type) || '';\n if (nameA < nameB) {\n return -1;\n }\n if (nameA > nameB) {\n return 1;\n }\n return 0;\n });\n};\n\nexport const themes: { [key: string]: Theme } = {\n classicTheme: {\n assetsURL: `${THEME_ASSETS_URL}classicTheme`,\n },\n v2: {\n assetsURL: `${THEME_ASSETS_URL}v2/`,\n },\n v3: {\n assetsURL: `${THEME_ASSETS_URL}v3/`,\n },\n};\n\nexport const getGuessURL = () => `${APP_BACKEND_URL}private?redirect=dashboard`;\n\nexport const findRawInvoicePreviewPrice = (data: InvoicePreviewTypes | null) => {\n if (!data || !data.items) {\n return null;\n }\n\n const price: InvoicePreviewItemTypes[] = data.items.filter((item: any) => item.amount < 0);\n\n if (!price[0] || !price[0].amount) {\n return 0;\n }\n\n const amount = price[0].amount;\n\n if (typeof amount === 'number' || typeof amount === 'bigint') {\n return amount;\n }\n\n return parseFloat(amount.replace(',', '.'));\n};\n\nexport const findPromotionCodeByGroupProductAndProduct = (\n userProducts: UserProductTypes[],\n product: ProductTypes | null\n): string | undefined => {\n const products =\n userProducts &&\n product &&\n userProducts.filter((userProduct: UserProductTypes) => {\n return (\n userProduct &&\n userProduct.product.id === product.id &&\n userProduct.groupProduct.promotionCode\n );\n });\n\n return (\n (product && products && products[0] && products[0].groupProduct.promotionCode) || undefined\n );\n};\n\nexport const redirectToAndReload = (urlRedirect: string) => {\n const newWindow = window.open(urlRedirect, '_blank');\n const reload = () => {\n const checkClosed = setInterval(() => {\n clearInterval(checkClosed);\n location.reload();\n }, 3000);\n };\n const checkClosed = setInterval(() => {\n if (newWindow && newWindow.closed) {\n clearInterval(checkClosed);\n reload();\n }\n }, 1000);\n};\n","export const REQUEST_SUCCESS = 'ok';\nexport const REQUEST_FAILED = 'ko';\n\nexport const DEFAULT_USER_COUNTRY = 'ES';\nexport const COUNTRY_US = 'US';\n\nexport const LANG_EN = 'en';\nexport const LANG_ES = 'es';\nexport const LANG_DE = 'de';\nexport const LANG_IT = 'it';\nexport const LANG_FR = 'fr';\nexport const LANG_PT = 'pt';\nexport const APP_LANGUAGES: string[] = [LANG_ES, LANG_EN, LANG_FR, LANG_PT, LANG_IT];\n\nexport const EUR = 'eur';\nexport const USD = 'usd';\n\nexport const PRODUCT_CATEGORY_PREPAID_SMS = 'prepaid-sms';\nexport const PRODUCT_CATEGORY_PREPAID_EMAIL = 'prepaid-email';\nexport const PRODUCT_CATEGORY_LITE = 'lite';\nexport const PRODUCT_CATEGORY_PRO = 'pro';\nexport const PRODUCT_CATEGORY_TOTAL = 'total';\nexport const PRODUCT_CATEGORY_FREEMIUM = 'freemium';\nexport const PRODUCT_CATEGORY_APPSUMO = 'appsumo';\nexport const PRODUCT_PAID_EXTERNAL = 'external';\nexport const PRODUCT_CORE = 'core';\n\nexport const PRODUCT_CATEGORY_TYPE_EMAIL = 'emailMarketing';\nexport const PRODUCT_CATEGORY_TYPE_SMS = 'smsMarketing';\nexport const PRODUCT_CATEGORY_TYPE_PREPAID = 'prepaid';\n\nexport const PRIVATE_NAVIGATION_TAB_PRODUCTS = 'products';\nexport const PRIVATE_NAVIGATION_TAB_ACCOUNT = 'account';\nexport const PRIVATE_NAVIGATION_TAB_RATE = 'my-rate';\nexport const PRIVATE_NAVIGATION_TAB_INVOICES = 'my-invoices';\nexport const PRIVATE_NAVIGATION_MY_ACCOUNT = 'my-account';\n\nexport const DEFAULT_USER_CURRENCY = EUR;\nexport const DEFAULT_CURRENCY_RESOLUTION_FOR_PRICES = 2;\nexport const DEFAULT_CURRENCY_RESOLUTION_FOR_METERED = 5;\n\nexport const STRIPE_METHOD_DIRECT = 'direct';\nexport const STRIPE_METHOD_CHECKOUT = 'checkout';\n\nexport const UNKNOWN = 'unknown';\nexport const UNKNOWN_DATA = '---';\n\nexport const DEFAULT_ORIGIN_FORM = UNKNOWN;\nexport const DEFAULT_GROUP_ID = UNKNOWN;\nexport const DEFAULT_COUNTRY_ID = UNKNOWN;\nexport const DEFAULT_PHONE = '';\nexport const DEFAULT_USER_NAME = UNKNOWN;\nexport const DEFAULT_USER_LANGUAGE_FOR_CONTACT = UNKNOWN;\n\nexport const USAGE_LICENSED = 'licensed';\nexport const USAGE_METERED = 'metered';\n\nexport const PENDING = 'pending';\nexport const ACTIVE = 'active';\nexport const CANCELLED = 'cancelled';\nexport const PROCESSING = 'processing';\nexport const INCOMPLETE = 'incomplete';\n\nexport const DATE_UNKNOWN = '???';\n\nexport const BILLING_MODE_MONTH = 'month';\nexport const BILLING_MODE_YEAR = 'year';\nexport const BILLING_MODE_UNIQUE = 'unique';\nexport const INTERVAL_COUNT_FOR_BILLING_MONTH = 1;\nexport const INTERVAL_COUNT_FOR_BILLING_YEAR = 12;\nexport const INTERVAL_COUNT_FOR_BILLING_UNIQUE = 0;\nexport const BILLING_MODE_YEAR_FIXED_DISCOUNT_PERCENT = '10';\n\nexport const DEFAULT_MISSING_EMAIL = 'unknown@example.com';\n\nexport const PRODUCT_FREE = 'FREE';\nexport const PRODUCT_LITE = 'LITE';\nexport const PRODUCT_PRO = 'PRO';\nexport const PRODUCT_TOTAL = 'TOTAL';\nexport const PRODUCT_FREE_PRICE = '0,00';\n\nexport const UPDATE_PRODUCTS_FAKE_ID = 'mamarracho';\n\nexport const NEW_ACCOUNT_DATE_FORMAT = 'YYYY-MM-DD H:m:s';\n\nexport const AUTOMATIC_COUPON = 'automatic';\n\nexport const MAX_CHECKS_CIF = 20;\n","import { StripeMethod } from '@/types';\n\nexport const PAYMENTS_ROOT_URL = process.env.REACT_APP_PAYMENTS_ROOT_URL as string;\nexport const GTM_ENABLED = process.env.REACT_APP_GTM_ENABLED as unknown as boolean;\nexport const TAG_MANAGER_ID = process.env.REACT_APP_TAG_MANAGER_ID as string;\nexport const RECAPTCHA_SITE_KEY = process.env.REACT_APP_RECAPTCHA_SITE_KEY as string;\nexport const ENV = process.env.REACT_APP_ENV as string;\nexport const DEFAULT_LANG = process.env.REACT_APP_DEFAULT_LANG as string;\nexport const STORAGE_PREFIX = process.env.REACT_APP_STORAGE_PREFIX as string;\nexport const APP_HOME_URL = process.env.REACT_APP_HOME_URL as string;\nexport const APP_404_URL = process.env.REACT_APP_404_URL as string;\nexport const APP_BACKEND_URL = process.env.REACT_APP_BACKEND_URL as string;\nexport const APP_BACKEND_LOGOUT_URL = process.env.REACT_APP_BACKEND_LOGOUT_URL as string;\nexport const APP_SIGNUP_URL = process.env.REACT_APP_SIGNUP_URL as string;\nexport const SIGNUP_BACKEND_URL = process.env.REACT_APP_SIGNUP_BACKEND_URL as string;\nexport const DEFAULT_THEME = process.env.REACT_APP_DEFAULT_THEME as string;\nexport const LANG_COOKIE_NAME = process.env.REACT_APP_LANG_COOKIE_NAME as string;\nexport const THEME_ASSETS_URL = process.env.REACT_APP_THEME_ASSETS_URL as string;\nexport const ADMIN_EMAIL_ADDRESS = process.env.REACT_APP_ADMIN_EMAIL_ADDRESS as string;\nexport const LOGIN_URL = process.env.REACT_APP_LOGIN_URL as string;\nexport const AUTH_HOST = process.env.REACT_APP_AUTH_HOST as string;\nexport const PAYMENTS_BACKEND_URL = process.env.REACT_APP_PAYMENTS_BACKEND_URL as string;\nexport const PAYMENTS_FRONTEND_URL = process.env.REACT_APP_PAYMENTS_FRONTEND_URL as string;\nexport const ROL_ADM_MDIRECTOR_NEWFREE = 'adm_mdirector_newfree' as string;\nexport const ROL_ADM_MDIRECTOR = 'adm_mdirector' as string;\nexport const NOTIFICATION_NEW_FREE_REMINDER_ID = 'NewFreeReminder' as string;\nexport const NOTIFICATION_NO_BILLING_REMINDER_ID = 'NoBillingReminder' as string;\nexport const NOTIFICATION_CHECKOUT_REMINDER_ID = 'CheckoutReminder' as string;\nexport const NOTIFICATION_DEFAULT_AUTOCLOSE_TIME_IN_MS = 2000;\nexport const RUN_GTM_CALLBACKS_IN_MS = 4000;\nexport const MDIRECTOR_SUPPORT_PHONE = process.env.REACT_APP_MDIRECTOR_SUPPORT_PHONE;\nexport const STRIPE_PUBLIC_KEY = process.env.REACT_APP_STRIPE_PUBLIC_KEY as string;\nexport const REGISTER_DOMAIN = process.env.REACT_APP_REGISTER_DOMAIN as string;\nexport const AUNOA_BOT_URL = process.env.REACT_APP_AUNOA_BOT_URL;\nexport const AUNOA_BOT_USER_KEY = process.env.REACT_APP_AUNOA_BOT_USER_KEY as string;\nexport const DEFAULT_STRIPE_METHOD = 'checkout' as StripeMethod;\nexport const DEFAULT_MY_RATE_REFRESH_TIME_IN_SEG = 5;\nexport const DEFAULT_MANUAL_VALIDATION_NEEDED = true as boolean;\nexport const SHOW_ANNUAL_PAYMENTS = process.env\n .REACT_APP_SHOW_ANNUAL_PAYMENTS as unknown as boolean;\nexport const PHONE_VALIDATION_ACTIVATED = process.env\n .REACT_APP_PHONE_VALIDATION_ACTIVATED as unknown as boolean;\nexport const APP_APPSUMO_URL = 'https://appsumo.com/account/products/' as string;\nexport const APP_PMP_URL = 'https://pmp.antevenio.com/assets/consenter.js' as string;\nexport const PHONE_USER_CONSENT_CHECKBOX = (process.env.REACT_APP_PHONE_USER_CONSENT_CHECKBOX ===\n 'true') as boolean;\nexport const SHOW_TOUR_BUTTON_ON_PRODUCTS = (process.env.REACT_APP_SHOW_TOUR_BUTTON_ON_PRODUCTS ===\n 'true') as boolean;\nexport const TOUR_BUTTON_REQUEST_URL = process.env.REACT_APP_TOUR_BUTTON_REQUEST_URL as string;\nexport const GEOLOCATION_SERVICE_URL = process.env.REACT_APP_GEOLOCATION_SERVICE_URL as string;\nexport const GEOLOCATION_SERVICE_API_KEY = process.env\n .REACT_APP_GEOLOCATION_SERVICE_API_KEY as string;\nexport const COUPONS_ENABLED = process.env.REACT_APP_COUPONS_ENABLED as unknown as boolean;\n// export const COUPONS_ENABLED = true as boolean;\nexport const RECAPTCHA_TURNSTILE_SITE_KEY = process.env\n .REACT_APP_RECAPTCHA_TURNSTILE_SITE_KEY as string;\nexport const RECAPTCHA_NEEDED = true as boolean;\nexport const PATH_UPDATE_PAYMENT_METHOD = '/account/update-payment-method' as string;\n","export default __webpack_public_path__ + \"static/media/playing.71393e90.png\";","import * as React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport errorPicture from '@/assets/playing.png';\nimport { PAYMENTS_FRONTEND_URL } from '@/config';\n\nexport type ErrorPageProps = {\n customImage?: string;\n actionButton?: string;\n};\n\nexport const ErrorPage = ({ customImage = errorPicture, actionButton = PAYMENTS_FRONTEND_URL }) => {\n const { t } = useTranslation();\n\n return (\n
\n
\n
\n
{t('ErrorPage.title')}
\n

\n {t('ErrorPage.description')}\n

\n

{t('ErrorPage.action')}

\n \n {t('ErrorPage.back')}\n \n
\n
\n \"Error\"\n
\n
\n
\n );\n};\n","import * as React from 'react';\n\nimport { ErrorPage as ErrorPageComponent } from '@/components/Elements/ErrorPage';\n\nexport const ErrorPage = () => {\n return ;\n};\n","import { nanoid } from 'nanoid';\nimport React from 'react';\nimport create from 'zustand';\n\nexport type Notification = {\n id?: string;\n type: 'info' | 'success' | 'warning' | 'error' | 'cardReminder';\n title?: string | React.ReactNode;\n message?: string | React.ReactNode;\n customIcon?: React.ReactNode;\n closeable?: boolean;\n hideOnDeclare?: boolean;\n autoClose?: number;\n progressBarPlacement?: 'top' | 'bottom';\n accent?: 'top' | 'right' | 'bottom' | 'left';\n URLRedirectOnClose?: string;\n};\n\ntype NotificationsStore = {\n notifications: Notification[];\n addNotification: (notification: Notification) => void;\n dismissNotification: (id: string) => void;\n changeNotificationVisibility: (id: string) => void;\n};\n\nexport const useNotificationStore = create((set, get) => ({\n notifications: [],\n\n addNotification: (notification) => {\n const alreadyNotification = get().notifications.find(({ id }) => id === notification.id);\n\n if (!alreadyNotification) {\n set((state) => ({\n notifications: [\n ...state.notifications.filter(\n (notification) =>\n notification.id !== notification.id && notification.message !== notification.message\n ),\n { id: nanoid(), ...notification },\n ],\n }));\n }\n },\n\n dismissNotification: (id) =>\n set((state) => ({\n notifications: state.notifications.filter((notification) => notification.id !== id),\n })),\n\n changeNotificationVisibility: (id) => {\n const hideNotification = get().notifications.find(\n ({ id: _id, hideOnDeclare }) => _id === id && hideOnDeclare\n );\n\n if (hideNotification) {\n set((state) => ({\n notifications: state.notifications.map((notification) => {\n if (notification.id === id && notification.hideOnDeclare === true) {\n notification.hideOnDeclare = false;\n }\n return notification;\n }),\n }));\n }\n\n return '';\n },\n}));\n","export default __webpack_public_path__ + \"static/media/working.1c43e035.png\";","import React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport activationImage from '@/assets/working.png';\n\nexport type ActivationScreenContainerProps = {\n title: React.ReactNode | string;\n description: React.ReactNode | string;\n image?: React.ReactNode | string;\n};\n\nexport const ActivationScreenContainer = ({\n title,\n description,\n image,\n}: ActivationScreenContainerProps) => {\n const { t } = useTranslation();\n\n const getHeader = (image: React.ReactNode | string) => {\n if (typeof image === 'string') {\n return {t('ActivationScreen.imageAlt')};\n }\n\n if (typeof image === 'object') {\n return image;\n }\n\n return false;\n };\n\n return (\n
\n
\n

{title}

\n

\n {getHeader(image || activationImage)}\n

\n

{description}

\n
\n
\n );\n};\n","import clsx from 'clsx';\n\nconst sizes = {\n sm: 'h-4 w-4',\n md: 'h-8 w-8',\n lg: 'h-16 w-16',\n xl: 'h-24 w-24',\n};\n\nconst variants = {\n light: 'text-white',\n primary: 'text-blue-600',\n};\n\nexport type SpinnerProps = {\n size?: keyof typeof sizes;\n variant?: keyof typeof variants;\n className?: string;\n};\n\nexport const Spinner = ({ size = 'md', variant = 'primary', className = '' }: SpinnerProps) => {\n return (\n <>\n \n \n \n \n Loading\n \n );\n};\n","import clsx from 'clsx';\nimport * as React from 'react';\nimport { ReactChild, ReactFragment, ReactPortal, useState } from 'react';\n\nimport { Spinner } from '@/components/Elements/Spinner';\n\nexport const variants = {\n primary: 'md__payments__btn md__payments__btn--primary',\n secondary: 'md__payments__btn md__payments__btn--secondary',\n ghost: 'md__payments__btn md__payments__btn--ghost',\n 'primary--alt': 'md__payments__btn md__payments__btn--primary--alt',\n danger: 'md__payments__btn md__payments__btn--danger',\n rounded: 'md__payments__btn md__payments__btn--rounded',\n 'link--black': 'md__payments__btn btn--link--black no-box-shadow',\n raw: 'md__payments__btn--raw',\n};\n\nconst sizes = {\n sm: 'md__payments__btn--sm',\n md: 'md__payments__btn--md',\n lg: 'md__payments__btn--lg',\n full: 'md__payments__btn--full',\n free: 'md__payments__btn--free',\n};\n\ntype IconProps =\n | { startIcon: React.ReactElement; endIcon?: never }\n | { endIcon: React.ReactElement; startIcon?: never }\n | { endIcon?: undefined; startIcon?: undefined };\n\ntype SpinnerProps = 'start' | 'end';\n\nexport type ButtonProps = React.ButtonHTMLAttributes & {\n variant?: keyof typeof variants;\n size?: keyof typeof sizes;\n isLoading?: boolean;\n loadingText?: string;\n spinnerPlacement?: SpinnerProps;\n onClick?: any;\n} & IconProps;\n\nexport const Button = React.forwardRef(\n (\n {\n type = 'button',\n className = '',\n variant = 'primary',\n size = 'md',\n isLoading: _isLoading = false,\n startIcon,\n endIcon,\n spinnerPlacement = 'end',\n loadingText: _loadingText,\n onClick,\n disabled = false,\n ...props\n },\n ref\n ) => {\n const [isLoading, setIsLoading] = useState(false);\n const [loadingText, setLoadingText] = useState(\n false\n );\n const onDefaultClick = () => {\n if (!_isLoading) {\n onClick && onClick();\n } else {\n setIsLoading(true);\n _loadingText && setLoadingText(_loadingText);\n onClick &&\n onClick(() => {\n setIsLoading(false);\n _loadingText && props.children && setLoadingText(props.children);\n });\n }\n };\n return (\n \n {(!isLoading || !_isLoading) && startIcon}\n {(isLoading || _isLoading) && spinnerPlacement === 'start' && (\n \n )}\n {props.children && (\n \n {_isLoading ? _loadingText || props.children : loadingText || props.children}\n \n )}\n {(!isLoading || !_isLoading) && endIcon}\n {(isLoading || _isLoading) && spinnerPlacement === 'end' && (\n \n )}\n \n );\n }\n);\n\nButton.displayName = 'Button';\n","import Turnstile from 'react-turnstile';\n\nimport { RECAPTCHA_NEEDED } from '@/config';\n\nexport type CaptchaTurnstileProps = {\n siteKey: string;\n onVerify: (value: string | null) => void;\n};\n\nexport const CaptchaTurnstile = ({ siteKey, onVerify }: CaptchaTurnstileProps) => {\n const onVerifyDefault = (value: string | null) => {\n onVerify && onVerify(value);\n };\n if (!RECAPTCHA_NEEDED) {\n onVerifyDefault('NOT');\n return <>;\n }\n\n return ;\n};\n","import * as React from 'react';\nimport { default as MainCollapsible, CollapsibleProps } from 'react-collapsible';\nimport styled from 'styled-components';\n\nconst CollapsibleWrap = styled.div`\n .md__collapsible__trigger {\n display: block;\n position: relative;\n }\n .md__collapsible__trigger:after {\n color: var(--md-purple-color);\n content: '+';\n display: block;\n font-family: 'FontAwesomeSolid';\n font-size: 52px;\n font-weight: bold;\n margin-right: 10px;\n position: absolute;\n right: 10px;\n text-align: center;\n top: 15px;\n transition: transform 300ms;\n }\n .md__collapsible__trigger.is-open {\n border: 0;\n color: #343434;\n }\n .md__collapsible__trigger.is-open:after {\n color: var(--md-purple-color);\n content: '-';\n margin-right: 13px;\n transform: rotateZ(180deg);\n }\n\n @media only screen and (max-width: 415px) {\n .md__collapsible__trigger:after {\n font-size: 41px;\n transform: translateY(-50%);\n top: 50%;\n }\n .md__collapsible__trigger.is-open:after {\n transform: translateY(-50%) rotateZ(180deg);\n }\n }\n`;\n\nexport const Collapsible = ({ trigger = '', children, ...props }: CollapsibleProps) => (\n \n \n {children}\n \n \n);\n","import * as React from 'react';\nimport { useTranslation, Trans } from 'react-i18next';\nimport styled from 'styled-components';\n\nimport { Collapsible } from '@/components/Elements/Collapsible';\nimport { PRODUCT_CATEGORY_TYPE_EMAIL } from '@/config/appConstants';\nimport { ProductCategoryTypes } from '@/types';\n\nconst FAQsContainerWrap = styled.div`\n .md__faqs__container > div:first-of-type {\n border-top-left-radius: 20px;\n border-top-right-radius: 20px;\n }\n\n .md__faqs__container > div:last-of-type {\n border-bottom-left-radius: 20px;\n border-bottom-right-radius: 20px;\n }\n\n .md__faqs__container {\n border-bottom-left-radius: 20px;\n border-bottom-right-radius: 20px;\n }\n`;\n\nexport type FAQsContainerProps = {\n collection?: ProductCategoryTypes;\n};\n\nexport const FAQsContainer = ({ collection = PRODUCT_CATEGORY_TYPE_EMAIL }: FAQsContainerProps) => {\n const { t } = useTranslation();\n\n const getFAQsCollection = () => {\n const categoryCollection = [];\n\n for (let x = 1; ; x++) {\n const title = t(`FAQs.${collection}.title${x}`);\n const body = (\n , bold: }\n }\n >\n {t(`FAQs.${collection}.body${x}`)}\n \n );\n\n if (title.startsWith('FAQs')) {\n break;\n }\n\n categoryCollection.push({\n title,\n body,\n });\n }\n\n return categoryCollection;\n };\n\n const categoryCollection = getFAQsCollection();\n\n return (\n
\n \n
\n
\n
\n
\n

{t('FAQs.title')}

\n
\n
\n {categoryCollection.map((faq, index) => (\n
\n \n {faq.title}\n

\n }\n >\n

\n {faq.body}\n

\n \n
\n ))}\n
\n
\n
\n
\n
\n
\n );\n};\n","import { ArrowRightIcon } from '@heroicons/react/outline';\nimport * as React from 'react';\n\nimport { Button } from '@/components/Elements';\n\nexport type GoToProps = {\n textLabel: string;\n onClickGoTo?: any;\n textLink: string;\n url: string;\n};\n\nexport const GoTo = ({ textLabel, onClickGoTo, url, textLink }: GoToProps) => {\n const goToIcon = ;\n const onClick = (url: any, onClickButton: any) => {\n onClickButton && onClickButton();\n window.location = url;\n };\n return (\n
\n
\n

{textLabel}

\n
\n
\n onClick(url, onClickGoTo)}\n title={textLink}\n className=\"text-md-mediumGray hover:text-md-mediumGray hover:no-underline\"\n >\n {textLink}\n \n
\n
\n
\n
\n );\n};\n","import { ArrowRightIcon } from '@heroicons/react/outline';\nimport * as React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport { Button } from '@/components/Elements/Button/Button';\n\nexport type HelpContainerProps = {\n onClick: () => void;\n className?: string;\n};\n\nexport const HelpContainer = ({ onClick, className = '' }: HelpContainerProps) => {\n const { t } = useTranslation();\n\n return (\n \n
\n

{t('HelpContainer.title')}

\n

\n {t('HelpContainer.description')}\n

\n }\n >\n {t('HelpContainer.actionButton')}\n \n
\n \n );\n};\n","export default __webpack_public_path__ + \"static/media/phone-girl.14884c69.png\";","import { ArrowRightIcon } from '@heroicons/react/outline';\nimport clsx from 'clsx';\nimport * as React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport PromoPic from '@/assets/phone-girl.png';\nimport { Button } from '@/components/Elements';\n\nexport type PromoUpdateCardProps = {\n className?: string;\n customImage?: string;\n};\n\nexport const PromoUpdateCard = ({ className, customImage }: PromoUpdateCardProps) => {\n const { t } = useTranslation();\n\n const onActionClick = () => window.location.assign('/account/products');\n\n return (\n \n
\n {t('PromoUpdateCard.title')}\n
\n \"Promo\"\n }\n >\n {t('PromoUpdateCard.actionButton')}!\n \n \n );\n};\n","import create from 'zustand';\n\nimport { DEFAULT_MISSING_EMAIL, DEFAULT_USER_CURRENCY, LANG_ES } from '@/config/appConstants';\nimport { Appsumo, Capabilities, Me, UserInfo } from '@/types';\n\ntype MeHook = {\n me: Me;\n isSet: boolean;\n getMe: () => Me;\n setMe: (me: Me) => void;\n isMeSet: () => boolean;\n setUserInfo: (userInfo: UserInfo) => void;\n setCapabilities: (capabilities: Capabilities) => void;\n};\n\nconst defaultUserInfo: UserInfo = {\n id: '',\n name: '',\n lastName: '',\n email: DEFAULT_MISSING_EMAIL,\n groupId: '',\n rolId: '',\n groupCreatedAt: '',\n language: LANG_ES,\n currency: DEFAULT_USER_CURRENCY,\n};\n\nconst defaultAppsumo: Appsumo = {\n isAppsumo: false,\n canMakeAppsumoActions: false,\n};\n\nconst defaultCapabilities: Capabilities = {\n isManualValidationEnabled: true,\n isBillingDetailsFilled: false,\n canBuySubscriptionProducts: false,\n canBuyProducts: false,\n appsumo: defaultAppsumo,\n};\n\nconst defaultMe: Me = {\n userInfo: defaultUserInfo as UserInfo,\n capabilities: defaultCapabilities as Capabilities,\n} as Me;\n\nexport const useMe = create((set, get) => ({\n me: defaultMe,\n isSet: false,\n getMe: (): Me => {\n return {\n userInfo: get().me.userInfo,\n capabilities: get().me.capabilities,\n };\n },\n\n setMe: (me: Me) => {\n if (me.userInfo === get().me?.userInfo && me.capabilities === get().me?.capabilities) return;\n set(() => ({\n isSet: true,\n me: me,\n }));\n },\n\n isMeSet: (): boolean => {\n return get().isSet;\n },\n\n setUserInfo: (userInfo: UserInfo) => {\n if (userInfo === get().me?.userInfo) return;\n const me = get().me;\n if (me) me.userInfo = userInfo;\n set(() => ({\n me: me,\n }));\n },\n\n setCapabilities: (capabilities: Capabilities) => {\n if (capabilities === get().me?.capabilities) return;\n const me = get().me;\n if (me) me.capabilities = capabilities;\n set(() => ({\n me: me,\n }));\n },\n}));\n","import * as React from 'react';\nimport { useTranslation, Trans } from 'react-i18next';\n\nimport { PromoCard } from '@/components/Elements/PromoCard';\nimport { PromoUpdateCard } from '@/components/Elements/PromoUpdateCard';\nimport {\n DEFAULT_CURRENCY_RESOLUTION_FOR_METERED,\n USAGE_LICENSED,\n USAGE_METERED,\n USD,\n} from '@/config/appConstants';\nimport { useMe } from '@/hooks/useMe';\nimport { BillingMode, Currency, PricesTypes, ProductTypes, UserProductTypes } from '@/types';\nimport { getProductPrice, isAppSumo, isCoreProduct, parseCurrency } from '@/utils/helpers';\n\nexport type ProductDetailProps = {\n userProducts?: UserProductTypes[] | null;\n product?: ProductTypes | null;\n userCurrency: Currency | null;\n urlMoreInformation: string;\n billingMode: BillingMode;\n};\n\nexport const ProductDetail = ({\n userProducts,\n product,\n userCurrency,\n urlMoreInformation,\n billingMode,\n}: ProductDetailProps) => {\n const { t, i18n } = useTranslation();\n const prefix = 'ProductsFeatures.';\n const { getMe } = useMe();\n const me = getMe();\n userCurrency = isAppSumo(me) ? (USD as Currency) : (userCurrency as Currency);\n\n const generateProductsFeaturesTranslation = (text: string): string => {\n let _item = t(`${prefix}${text}`);\n _item.startsWith(prefix) && (_item = _item.replace(prefix, ''));\n\n return _item;\n };\n\n const getBullets = (product: ProductTypes) => {\n return product.info.features.bullets.map((bullet: string, index: any) => (\n
  • \n {generateProductsFeaturesTranslation(bullet)}\n
  • \n ));\n };\n\n const getProductName = (product: ProductTypes) => {\n return product.info.productName;\n };\n\n const getCategoryName = (product: ProductTypes, billingMode: BillingMode): string => {\n if (!isCoreProduct(product)) return `${product.info.categoryName}`.toUpperCase();\n\n if (isAppSumo(me))\n return `${t('ProductDetail.productCategory')} ${product.info.categoryName}`.toUpperCase();\n\n return (\n `${t('ProductDetail.productCategory')} ` +\n `${product.info.categoryName} (${t(`BillingMode.${billingMode}ly`)})`.toUpperCase()\n );\n };\n\n if (!product || !userCurrency) {\n return (\n
    \n {userProducts && userProducts.length > 0 ? : }\n
    \n );\n }\n\n const productLicensedPriceObj = getProductPrice(\n product,\n USAGE_LICENSED,\n userCurrency,\n billingMode\n ) as PricesTypes;\n\n const productPriceMeteredObj = getProductPrice(\n product,\n USAGE_METERED,\n userCurrency,\n billingMode\n ) as PricesTypes;\n\n const { amount: productLicensedPrice } = productLicensedPriceObj;\n const { amount: productPriceMetered } = productPriceMeteredObj;\n\n const bullets = getBullets(product);\n const productName = getProductName(product);\n\n const parsePriceWithCurrency = () => {\n const price = (productLicensedPrice || 0) as number | bigint;\n return parseCurrency(i18n.language, userCurrency as Currency, price);\n };\n\n const parseMeteredWithCurrency = () => {\n const price = (productPriceMetered || 0) as number | bigint;\n\n return parseCurrency(\n i18n.language,\n userCurrency as Currency,\n price,\n DEFAULT_CURRENCY_RESOLUTION_FOR_METERED\n );\n };\n\n return (\n
    \n
    {t('ProductDetail.title')}
    \n
    \n
    \n
    {getCategoryName(product, billingMode)}
    \n
    {parsePriceWithCurrency()}
    \n
    \n
    \n
      {bullets}
    \n
    \n
    \n
    \n
    {productName}
    \n
    \n
    \n
    {t('ProductDetail.totalText')}
    \n
    {parsePriceWithCurrency()}
    \n
    \n\n {productPriceMetered && (\n <>\n
    \n }}\n values={{ extraPrice: parseMeteredWithCurrency() }}\n >\n ProductDetail.extra\n \n
    \n \n \n )}\n
    \n );\n};\n","import { SelectPicker as SelectPickerRsuite } from 'rsuite';\n\ntype Placement =\n | 'bottomStart'\n | 'bottomEnd'\n | 'topStart'\n | 'topEnd'\n | 'leftStart'\n | 'leftEnd'\n | 'rightStart'\n | 'rightEnd'\n | 'auto'\n | 'autoVerticalStart'\n | 'autoVerticalEnd'\n | 'autoHorizontalStart'\n | 'autoHorizontalEnd';\n\nexport type SelectPickerProps = {\n data: any;\n searchable?: boolean;\n style?: any;\n onChange: any;\n defaultValue?: any;\n placeholder?: string;\n placement?: Placement;\n className?: string;\n};\n\nexport const SelectPicker = ({\n data,\n searchable = false,\n style,\n onChange,\n defaultValue,\n placeholder,\n placement,\n className = '',\n}: SelectPickerProps) => {\n return (\n \n );\n};\n","import clsx from 'clsx';\nimport { useTranslation } from 'react-i18next';\nimport styled from 'styled-components';\n\nimport { PAYMENTS_ROOT_URL } from '@/config';\nimport {\n PRIVATE_NAVIGATION_TAB_ACCOUNT,\n PRIVATE_NAVIGATION_TAB_INVOICES,\n PRIVATE_NAVIGATION_TAB_PRODUCTS,\n PRIVATE_NAVIGATION_TAB_RATE,\n} from '@/config/appConstants';\nimport { getMyRateURL } from '@/utils/helpers';\n\nexport type AccountNavigationBarProps = {\n tabSelected?:\n | typeof PRIVATE_NAVIGATION_TAB_PRODUCTS\n | typeof PRIVATE_NAVIGATION_TAB_ACCOUNT\n | typeof PRIVATE_NAVIGATION_TAB_RATE\n | typeof PRIVATE_NAVIGATION_TAB_INVOICES;\n className?: string;\n};\n\nconst AccountNavigationBarWrap = styled.div`\n .nav {\n border-bottom: 1px solid #ddd;\n display: flex;\n flex-wrap: nowrap;\n list-style: none;\n margin-bottom: 0;\n padding-left: 0;\n padding-top: 0;\n }\n .nav li {\n border-bottom: 2px solid var(--md-lightGray-color);\n box-sizing: content-box;\n flex-grow: 1;\n height: auto;\n text-align: center;\n }\n .nav li:hover {\n border-color: var(--md-blue-color);\n }\n .nav li.active {\n border-color: var(--md-turquoise-color);\n }\n .nav li a {\n background: inherit;\n border-radius: 4px 4px 0 0;\n border: 1px solid transparent;\n box-shadow: none;\n color: var(--md-blue-color);\n display: block;\n font-weight: 600;\n line-height: 1.42857143;\n margin-right: 2px;\n text-transform: uppercase;\n }\n`;\n\nexport const AccountNavigationBar = ({ tabSelected, className }: AccountNavigationBarProps) => {\n const { t } = useTranslation();\n const getAccountNavigationBarATagStyles = () =>\n 'font-secondary font-bold text-md-blue px-0 py-5 lg:p-8 lg:py-5 text-xs lg:text-[15px] hover:no-underline';\n\n return (\n
    \n \n
      \n \n \n {t('AccountNavigationBar.products')}\n {t('AccountNavigationBar.products_short')}\n \n \n\n \n \n {t('AccountNavigationBar.account')}\n {t('AccountNavigationBar.account_short')}\n \n \n\n \n \n {t('AccountNavigationBar.myRate')}\n \n \n \n \n {t('AccountNavigationBar.myInvoices')}\n \n \n
    \n
    \n
    \n );\n};\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAAtrAAALawEADeBKAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAf5QTFRF////AQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACAQACK1d6AwAAAKl0Uk5TAAECAwQFBgcICQoLDA0ODxARFRYZGhwdICEiIyQlJigpKistLzAyMzQ1Njc5Ojs8PT9AQURFRkhJSktMT1BTVlhaXF5gYmNmaGlqa25wdnh6e31+f4CBg4WGh4mKi4yNkJGSk5SVmJyfoqOoqaqsrbCxsrO0tbe7vL3Cw8XGx8jJysvMzc7P0dPU1dbX2dvc3+Hi4+Xn6Onq7e7v8fP09fb3+Pn6+/z9/pB2Ak4AAANcSURBVHja7dn5PxRxHMfxz64tbZurIh06lEoH2g65Et3IV4dSSBFKh1IkcpUkHQpJh6OS9fkv+2HDHjM73/nO7Pfzy7z/gHm+eKz5ziwAa9asWbMWth1cRRzAOokLGBIXMCQuYEhcwJC4gCFxgTeAsOB/AF3BQgBZwWIAVcFSAFGBTwBNgW8ASYFfAEWBfwBBQUCA/ILAAOkFQQGyC4IDJBcoBMgtUAqQWqAYIKnAHp+aV9yOBAWxGcW1zT2jcxhiYSpwJB+/9nQEeWZ+QVTm9a7fyD9TC2Kyq/vmUOdMK9h+ud+DIjOjwLa38iMKz2hBhLt2FA3NUMG6coO6oQJHbqsHzZhYQeLVMTRrAgUpzR40cXoLUlvQ5Okq2N+G5o+/IOM5hmVtfHzCvfDwOJnOw0eWTZH6OcNI6W9qRVL/7DSpv7oFSf2scVLfWY+kftI7Wt/9jdY/PUvq26uR1Hc9ovXjXhlX5sc634j6sS+NyDNDLTdLcrY51d6Otf2YXjH5T/fd8hNpa22LF2JifnS3AP63q+KQM/BKTMiPeqEXn+urzFR8sGIi/vIOXbjndU1OtNq1mMj9p1GHPl6XFxfqWkzAP8f/i3+S59C4GNPvp/Pef4fL4rUPc6bbT+A7/mea3DaeZ0mm11/Rx8P3F8VyvkownT7c0Na/16UA95hOf5fmNz2Tl1wAQgE8vmNA625XvwZALIDr+btUw3+4GUAwgMvfOBOS79wHIBrA9/7VHop/nwsgHMDnZ4Xgv5yJAPEAPh/Uz+Dpiy4A8QBO/7Cq/zYZwEAApw+qh3DjSjASwOsfULvzFAAYCeD1QeX7n4EkMBTA7W9V9m9HGvKhmNeHK0r8j2NgcPx/vB8U/N5EkLadCn7NMnk+VAXx8yUSebB9DnrYPiXTh92B/my+VB+KAvxf2XJ9uBPw8x+R7MOg/+evULbv8n8WLZXtQ7qff0u6D+d9/Qd2+QG1Pv6gU74PTUv+1BYCH3z+HVBI4fs8jjaS+EtnMckHAAAmFk6gPTQ+LHwp0kDkw0+vPxFHFfDJG3CSyod+79uvjSzgGSIippH5cB8RsYPOhwZExKOEARWIOEDoQwEi5lMGbEAcsVMGwFesIvXhMe6gDWBDtD64LxAHuNaDNWvWrFmj3D/3pCtHPm2CygAAAABJRU5ErkJggg==\"","import React from 'react';\nimport 'react-phone-number-input/style.css';\nimport { useTranslation } from 'react-i18next';\nimport PhoneInput, {\n Country,\n parsePhoneNumber,\n PhoneNumber,\n type Value,\n} from 'react-phone-number-input';\nimport flags from 'react-phone-number-input/flags';\n\nimport countryTranslations from '@/components/Form/countries/translations.json';\nimport { DEFAULT_LANG } from '@/config';\nimport { COUNTRY_US, DEFAULT_USER_COUNTRY, LANG_EN } from '@/config/appConstants';\nimport { AppLanguages } from '@/types';\n\nexport type SelectPhoneFieldProps = {\n className?: string;\n value?: Value;\n onChange: (value: string, phoneData: PhoneNumber | undefined) => void;\n defaultCountry?: string | undefined;\n onBlur?: (value: any) => void;\n fieldId: string;\n userLang?: AppLanguages;\n};\n\nexport const SelectPhoneField = ({\n className,\n onChange,\n onBlur,\n value = '' as Value,\n userLang = DEFAULT_LANG as AppLanguages,\n defaultCountry = DEFAULT_USER_COUNTRY,\n}: SelectPhoneFieldProps) => {\n const { t } = useTranslation();\n\n const getPhonePrefixCountry = () => {\n if (defaultCountry === LANG_EN.toUpperCase()) {\n return COUNTRY_US;\n }\n\n return defaultCountry;\n };\n\n const onDefaultChange = (event: Value) => {\n const phoneNumber = event ? parsePhoneNumber(event) : undefined;\n onChange(event, phoneNumber);\n };\n\n return (\n \n );\n};\n","import clsx from 'clsx';\nimport React, { ChangeEvent } from 'react';\nimport { Trans, Translation } from 'react-i18next';\nimport { isPossiblePhoneNumber } from 'react-phone-number-input';\nimport { PhoneNumber } from 'react-phone-number-input/index';\n\nimport { SelectPhoneField } from '@/components/Form/SelectPhoneField';\nimport { FieldOptions } from '@/types';\n\nexport const getCommonInputTextStyleClasses = () => 'md__payments__input--text';\nexport const getCommonInputTextAreaStyleClasses = () => 'md__payments__input--textarea';\nexport const getCommonInputSelectStyleClasses = () => 'md__payments__input--select';\n\nexport const getCheckboxTermsStyleClasses = () => 'md__payments__input--checkbox--terms';\n\nexport const getInputStyleClasses = (error: boolean, type: string) => {\n return clsx(getInputStyleClassesByType(type), {\n 'md__payments__element--error': error,\n 'md__payments__element--valid': !error,\n });\n};\n\nconst getInputStyleClassesByType = (type: string): string => {\n switch (type) {\n case 'select':\n return getCommonInputSelectStyleClasses();\n case 'textarea':\n return getCommonInputTextAreaStyleClasses();\n case 'text':\n default:\n return getCommonInputTextStyleClasses();\n }\n};\n\nconst getTagFormName = (formik: any, fieldId: string): string => {\n return formik?.initialValues?.formName\n ? `Forms.${formik.initialValues?.formName}.${fieldId}`\n : `Forms.${fieldId}`;\n};\n\nexport const getFormName = (formik: any): string => {\n return formik?.initialValues?.formName;\n};\n\nexport const renderField = (formik: any, fieldId: string, opts?: FieldOptions) => {\n const showLabel: boolean = opts?.showLabel !== false;\n\n const getInputField = () => (\n \n );\n\n if (opts?.type === 'hidden') {\n return getInputField();\n }\n\n return (\n
    \n {showLabel && (\n
    \n \n {formik ? (\n formik.touched[fieldId] && formik.errors[fieldId] ? (\n
    \n {formik.errors[fieldId]}\n
    \n ) : null\n ) : (\n ''\n )}\n
    \n )}\n {getInputField()}\n
    \n );\n};\n\nconst getSelect = (formik: any, fieldId: string, opts?: FieldOptions) => {\n const onDefaultChange = (event: ChangeEvent) => {\n opts && opts.onChange && opts.onChange(event, formik && formik.values);\n formik && formik.handleChange(event);\n };\n\n const onDefaultBlur = (event: ChangeEvent) => {\n opts && opts.onBlur && opts.onBlur(event);\n formik && formik.handleBlur(event);\n };\n\n const defaultValue = opts?.value || formik?.values[fieldId] || '';\n\n return (\n \n \n {(t) => (\n \n )}\n \n\n {opts &&\n opts.options &&\n opts.options.map((value: any, index: any) => {\n const label = opts && opts.renderLabel ? opts.renderLabel(value) : value.name;\n\n return (\n \n {label}\n \n );\n })}\n \n );\n};\n\nconst getPhoneSelect = (formik: any, fieldId: string, opts?: FieldOptions) => {\n const onDefaultChange = (\n event: ChangeEvent | string,\n phoneData: PhoneNumber | undefined\n ) => {\n const value = (typeof event === 'string' ? event : event?.target?.value) || '';\n opts && opts.onChange && opts.onChange(value, formik && formik.values, phoneData);\n formik && formik.setFieldValue(fieldId, value);\n formik && formik.handleChange(value);\n };\n\n const onDefaultBlur = (event: ChangeEvent | string) => {\n const value = typeof event === 'string' ? event : event?.target?.value;\n formik && formik.handleBlur(value);\n };\n\n const defaultValue = opts?.value || formik?.values[fieldId] || '';\n\n return (\n \n );\n};\n\nconst getSelectComponent = (formik: any, fieldId: string, opts?: FieldOptions) => {\n if (opts && opts.type === 'phone') {\n return getPhoneSelect(formik, fieldId, opts);\n }\n\n if (opts && opts.options && opts.options.length > 0) {\n return getSelect(formik, fieldId, opts);\n }\n\n return (\n

    \n {(t) => t('common.notAvailable')}\n

    \n );\n};\n\nexport const renderSelect = (formik: any, fieldId: string, opts?: FieldOptions) => {\n const showLabel: boolean = opts?.showLabel !== false;\n\n return (\n
    \n {showLabel && (\n
    \n \n {(t) => }\n \n {opts?.required && '*'}\n {formik ? (\n formik.touched[fieldId] && formik.errors[fieldId] ? (\n
    \n {formik.errors[fieldId]}\n
    \n ) : null\n ) : (\n ''\n )}\n
    \n )}\n {getSelectComponent(formik, fieldId, opts)}\n
    \n );\n};\n\nexport const checkCP = (value: string | undefined, provinceId: string | undefined): boolean => {\n if (!value || !provinceId || value.length !== 5) {\n return false;\n }\n\n const provinceIdParsed = provinceId.padStart(2, '0');\n\n return value.slice(0, provinceIdParsed.length) === provinceIdParsed;\n};\n\nexport const checkPhone = (value: string | undefined): boolean =>\n value ? isPossiblePhoneNumber(value) : false;\n\nexport const renderLegalCheck = (formik: any, fieldId: string, opts?: FieldOptions) => {\n const legalLabel = opts && opts.renderLabel ? opts.renderLabel() : '';\n const getInputLegalCheck = () => (\n \n );\n\n return (\n
    \n \n
    \n );\n};\n","import { useFormik } from 'formik';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport styled from 'styled-components';\n\nimport { Button } from '@/components/Elements';\nimport { REQUEST_FAILED, REQUEST_SUCCESS } from '@/config/appConstants';\nimport { renderField } from '@/utils/forms';\n\nconst CouponErrorMessage = styled.div`\n .coupon--error__message {\n color: var(--md-red-color);\n }\n`;\n\nconst CouponSuccessMessage = styled.div`\n .coupon--success__message {\n color: var(--md-linksAlt-color);\n position: relative;\n }\n`;\n\nconst ClearCouponMessage = styled.div`\n .clear__coupon__message {\n color: var(--md-linksAlt-color);\n cursor: pointer;\n right: 5px;\n position: relative;\n text-align: right;\n top: -226px;\n }\n`;\n\nexport type CouponStatusProps = typeof REQUEST_SUCCESS | typeof REQUEST_FAILED;\n\nexport type CouponFormProps = {\n className?: string;\n onSubmit: (values: any) => void;\n couponStatus?: CouponStatusProps;\n lastValidCoupon?: string;\n currentCoupon?: string;\n isLoading?: boolean;\n};\n\nexport const CouponForm = ({\n className = '',\n onSubmit,\n couponStatus,\n lastValidCoupon,\n currentCoupon,\n isLoading,\n}: CouponFormProps) => {\n const { t } = useTranslation();\n const MainForm = () => {\n const onFormSubmit = (values: any) => {\n onSubmit && onSubmit(values);\n };\n\n const formikData = {\n initialValues: {\n customCoupon: currentCoupon || '',\n },\n onSubmit: onFormSubmit,\n };\n\n const getCouponErrors = () => {\n if (currentCoupon && couponStatus === REQUEST_FAILED) {\n return (\n \n
    \n

    {t('Forms.Coupon.couponError')}

    \n
    \n
    \n );\n }\n };\n\n const getCouponSuccess = () => {\n if (currentCoupon && couponStatus === REQUEST_SUCCESS) {\n return (\n \n
    \n

    {t('Forms.Coupon.couponApplied')}

    \n
    \n
    \n );\n }\n };\n\n const formik: any = useFormik(formikData);\n\n const isClearCouponButtonVisible = () => {\n if ((currentCoupon && couponStatus === REQUEST_SUCCESS) || lastValidCoupon) {\n return true;\n }\n\n return false;\n };\n\n const getClearCouponButton = () => {\n if (isClearCouponButtonVisible()) {\n return (\n \n
    \n {\n formik.setFieldValue('customCoupon', '');\n formik.submitForm();\n }}\n onKeyDown={() => {\n formik.setFieldValue('customCoupon', '');\n formik.submitForm();\n }}\n >\n {t('Forms.Coupon.clearCoupon')}\n \n
    \n
    \n );\n }\n };\n\n return (\n
    \n {isLoading ? '' : getClearCouponButton()}\n\n
    \n \n {t('Forms.Coupon.applyCoupon')}\n \n\n {renderField(formik, 'customCoupon', { customClasses: 'text-sm w-full' })}\n
    \n {!isLoading && getCouponErrors()}\n {!isLoading && getCouponSuccess()}\n
    \n );\n };\n\n return (\n
    \n \n
    \n );\n};\n","export const defaultModalStyles = {\n content: {\n height: 'max-content',\n maxWidth: '500px',\n margin: 'auto',\n },\n};\n\nexport const tinyModalStyles = {\n content: {\n height: 'max-content',\n maxWidth: '300px',\n margin: 'auto',\n },\n};\n\nexport const wideModalStyles = {\n content: {\n height: 'max-content',\n maxWidth: '570px',\n margin: 'auto',\n },\n};\n\nexport const wideNoScrollModalStyles = {\n content: {\n height: 'max-content',\n maxWidth: '570px',\n margin: 'auto',\n paddingLeft: '10px',\n paddingRight: '10px',\n },\n};\n\nexport const ultraWideModalStyles = {\n content: {\n height: 'max-content',\n maxWidth: '660px',\n margin: 'auto',\n },\n};\n\nexport const ultraWideNoScrollModalStyles = {\n content: {\n height: 'max-content',\n maxWidth: '660px',\n margin: 'auto',\n paddingLeft: '10px',\n paddingRight: '10px',\n },\n};\n","import axios, { AxiosRequestConfig, AxiosResponse } from 'axios';\nimport _ from 'lodash';\n\nimport { APP_BACKEND_LOGOUT_URL } from '@/config';\nimport storage from '@/utils/storage';\n\nfunction authRequestInterceptor(config: AxiosRequestConfig) {\n const token = storage.getToken();\n\n config.headers.Accept = 'application/json';\n\n if (config && config?.params && config?.params?.isPublic) {\n return config;\n }\n\n if (token) {\n config.headers.Authorization = `Bearer ${token}`;\n }\n\n return config;\n}\n\nfunction authResponseErrorInterceptor(error: any) {\n if (error.response && error.response.status && error.response.status === 401) {\n storage.clear();\n window.location.assign(APP_BACKEND_LOGOUT_URL);\n return Promise.reject(error);\n }\n return Promise.reject(error);\n}\n\nfunction authResponseInterceptor(response: AxiosResponse) {\n if (response.status === 401) {\n storage.clear();\n window.location.assign(APP_BACKEND_LOGOUT_URL);\n }\n return (response && response?.data) || {};\n}\n\naxios.interceptors.request.use(authRequestInterceptor);\naxios.interceptors.response.use(authResponseInterceptor, authResponseErrorInterceptor);\n\nexport type GetterAxios = {\n callback: any;\n parameters?: any;\n};\n\nconst callable = (callback: any, parameters: any) => {\n return callback(parameters);\n};\n\nexport const getAllAxiosData = (\n getter: GetterAxios[],\n setter: [],\n onErrorCallback?: (error: any) => void\n) => {\n return axios\n .all(\n _.map(getter, (item: GetterAxios) => {\n return callable(item.callback, item.parameters);\n })\n )\n .then(\n axios.spread((...res: any) => {\n _.map(res, (item, key: any) => {\n if (!item) {\n const errorSource = getter[key]?.callback?.name || 'unknown method';\n throw new Error(`Critical error fetching data in: ${errorSource}`);\n }\n\n callable(setter[key], item);\n });\n })\n )\n .catch((error) => {\n if (onErrorCallback) {\n onErrorCallback(error);\n } else {\n //throw new Error(error);\n return {\n type: 'error',\n message: error,\n };\n }\n });\n};\n\nexport default axios;\n","import { AxiosError } from 'axios';\nimport { QueryClient, UseQueryOptions, UseMutationOptions, DefaultOptions } from 'react-query';\nimport { PromiseValue } from 'type-fest';\n\nconst queryConfig: DefaultOptions = {\n queries: {\n useErrorBoundary: true,\n refetchOnWindowFocus: false,\n retry: false,\n },\n};\n\nexport const queryClient = new QueryClient({ defaultOptions: queryConfig });\n\nexport type ExtractFnReturnType any> = PromiseValue<\n ReturnType\n>;\n\nexport type QueryConfig any> = Omit<\n UseQueryOptions>,\n 'queryKey' | 'queryFn'\n>;\n\nexport type MutationConfig any> = UseMutationOptions<\n ExtractFnReturnType,\n AxiosError,\n Parameters[0]\n>;\n","import { useMutation } from 'react-query';\n\nimport { DEFAULT_STRIPE_METHOD, PAYMENTS_BACKEND_URL, PAYMENTS_ROOT_URL } from '@/config';\nimport axios from '@/lib/axios';\nimport { MutationConfig, queryClient } from '@/lib/react-query';\nimport { getMyRateURL } from '@/utils/helpers';\n\nimport { PaymentProps } from '..';\n\nexport type PaymentIntent = {\n id: string;\n clientSecret: string;\n amount: string | number;\n currency: string;\n sessionUrl: string | null;\n};\n\nexport const createPayment = ({\n prices,\n preview = false,\n promotionCode,\n onErrorCallback,\n}: PaymentProps): Promise => {\n const endPoint = PAYMENTS_BACKEND_URL + 'payment';\n const priceId: string = prices[0];\n\n const postData = {\n prices: prices,\n preview,\n promotionCode,\n method: DEFAULT_STRIPE_METHOD,\n successUrl: getSuccessUrl(priceId),\n cancelUrl: getMyRateURL(),\n };\n\n return axios\n .post(endPoint, postData)\n .then((response: any) => {\n return response;\n })\n .catch((error) => {\n onErrorCallback && onErrorCallback(error.response.status);\n if (error.response.status === 406) {\n return;\n }\n if (error.response.status === 503) {\n return;\n }\n if (error.response.status === 500) {\n return;\n }\n throw Error(`Critical error fetching data in ${endPoint}: ${error}`);\n });\n};\n\ntype UseCreatePaymentOptions = {\n config?: MutationConfig;\n};\n\nexport const useCreatePayment = ({ config }: UseCreatePaymentOptions = {}) => {\n return useMutation({\n onMutate: async (creatingNotification: any) => {\n await queryClient.cancelQueries(['payment', creatingNotification]);\n\n const previousDetails = queryClient.getQueryData([\n 'payment',\n creatingNotification,\n ]);\n\n queryClient.setQueryData(['payment', creatingNotification], {\n ...previousDetails,\n ...creatingNotification.data,\n });\n\n return { previousDetails: previousDetails };\n },\n onError: (_, __, context: any) => {\n if (context?.previousDetails) {\n queryClient.setQueryData(['payment', context.previousDetails], context.previousDetails);\n }\n },\n onSuccess: (data) => {\n queryClient.refetchQueries(['payment', data]);\n },\n ...config,\n mutationFn: createPayment,\n });\n};\n\nconst getSuccessUrl = (suffix = ''): string => `${PAYMENTS_ROOT_URL}account/purchase/${suffix}`;\n","import { AxiosResponse } from 'axios';\nimport { sha256 } from 'js-sha256';\nimport { useMutation } from 'react-query';\n\nimport { PAYMENTS_BACKEND_URL } from '@/config';\nimport { STRIPE_METHOD_DIRECT, UPDATE_PRODUCTS_FAKE_ID } from '@/config/appConstants';\nimport axios from '@/lib/axios';\nimport { MutationConfig, queryClient } from '@/lib/react-query';\n\nimport { PaymentProps } from '..';\n\nexport type UpdatePaymentIntent = {\n status?: string;\n id: string;\n clientSecret: string;\n amount: string | number;\n currency: string;\n sessionUrl: string | null;\n};\n\nexport const updatePayment = ({\n prices,\n preview = false,\n promotionCode,\n onErrorCallback,\n}: PaymentProps): Promise => {\n const id = preview ? 'preview' : sha256(UPDATE_PRODUCTS_FAKE_ID);\n const endPoint = `${PAYMENTS_BACKEND_URL}payment/${id}`;\n const putData = {\n prices: prices,\n method: STRIPE_METHOD_DIRECT,\n promotionCode,\n };\n\n return axios.put(endPoint, putData).catch((error) => {\n onErrorCallback &&\n onErrorCallback(\n error.response.status,\n error.response.data.hostedInvoiceUrl,\n error.response.data.detail\n );\n\n if (error.response.status === 402) {\n return;\n }\n\n if (error.response.status === 406) {\n return;\n }\n\n if (error.response.status === 503) {\n return;\n }\n if (error.response.status === 500) {\n return;\n }\n\n throw Error(`Critical error putting data in ${endPoint}: ${error}`);\n });\n};\n\ntype UseUpdatePaymentOptions = {\n config?: MutationConfig;\n};\n\nexport const useUpdatePayment = ({ config }: UseUpdatePaymentOptions = {}) => {\n return useMutation({\n onMutate: async (creatingNotification: any) => {\n await queryClient.cancelQueries(['payment', creatingNotification]);\n\n const previousDetails = queryClient.getQueryData([\n 'payment',\n creatingNotification,\n ]);\n\n queryClient.setQueryData(['payment', creatingNotification], {\n ...previousDetails,\n ...creatingNotification.data,\n });\n\n return { previousDetails: previousDetails };\n },\n onError: (_, __, context: any) => {\n if (context?.previousDetails) {\n queryClient.setQueryData(['payment', context.previousDetails], context.previousDetails);\n }\n },\n onSuccess: (data) => {\n queryClient.refetchQueries(['payment', data]);\n },\n ...config,\n mutationFn: updatePayment,\n });\n};\n","import { useMutation } from 'react-query';\n\nimport { PAYMENTS_BACKEND_URL } from '@/config';\nimport axios from '@/lib/axios';\nimport { MutationConfig, queryClient } from '@/lib/react-query';\nimport { UserProductTypes } from '@/types';\n\nexport const deleteUserIncompleteProduct = ({\n groupId,\n}: {\n groupId: string;\n}): Promise => {\n const endPoint = PAYMENTS_BACKEND_URL + 'payment/' + groupId;\n return axios.delete(endPoint).then((response: any) => {\n return response.data;\n });\n};\n\ntype UseDeleteUserIncompleteProductOptions = {\n config?: MutationConfig;\n};\n\nexport const useDeleteUserIncompleteProduct = ({\n config,\n}: UseDeleteUserIncompleteProductOptions = {}) => {\n return useMutation({\n onMutate: async (creatingNotification: any) => {\n await queryClient.cancelQueries(['payment', creatingNotification]);\n\n const previousDetails = queryClient.getQueryData([\n 'payment',\n creatingNotification,\n ]);\n\n queryClient.setQueryData(['payment', creatingNotification], {\n ...previousDetails,\n ...creatingNotification.data,\n });\n\n return { previousDetails: previousDetails };\n },\n onError: (_, __, context: any) => {\n if (context?.previousDetails) {\n queryClient.setQueryData(['payment', context.previousDetails], context.previousDetails);\n }\n },\n onSuccess: (data) => {\n return queryClient.refetchQueries(['payment', data]);\n },\n ...config,\n mutationFn: deleteUserIncompleteProduct,\n });\n};\n","import { PAYMENTS_BACKEND_URL } from '@/config';\nimport axios from '@/lib/axios';\nimport { getMyRateURL } from '@/utils/helpers';\nexport type PaymentMethod = {\n url: string;\n};\n\nexport const createPaymentMethod = (): Promise => {\n const endPoint = PAYMENTS_BACKEND_URL + 'customer-portal-session';\n\n const postData = { returnUrl: getMyRateURL() };\n\n return axios.post(endPoint, postData).then((response: any) => {\n if (typeof response === 'string') {\n throw Error(`Critical error fetching data in ${endPoint}`);\n }\n return response.url;\n });\n};\n","export default __webpack_public_path__ + \"static/media/error.053bc96a.png\";","import { XIcon } from '@heroicons/react/outline';\nimport clsx from 'clsx';\nimport * as React from 'react';\nimport { default as MainModal, Props as MainModalProps } from 'react-modal';\n\nimport { Button } from '@/components/Elements';\n\nexport interface ModalProps extends MainModalProps {\n isOpen: boolean;\n onAfterOpen?: () => void;\n onRequestClose?: () => void;\n style?: any;\n shouldCloseOnOverlayClick?: boolean;\n closeButton?: boolean;\n children?: React.ReactNode;\n}\n\nexport const Modal = ({\n isOpen,\n onAfterOpen,\n onRequestClose,\n shouldCloseOnOverlayClick = true,\n style,\n children,\n closeButton = true,\n ...props\n}: ModalProps) => {\n MainModal.setAppElement('#root');\n\n const getModalStyles = () =>\n clsx(\n 'md__modal p-2 md:py-8 md:px-10 bg-white text-xs absolute top-2 bottom-2 left-2 lg:top-10 lg:bottom-10 lg:left-10 lg:right-10 rounded-lg shadow-xl',\n {\n 'right-6': closeButton,\n 'right-2': !closeButton,\n }\n );\n\n const getCloseButton = () => (\n }\n />\n );\n\n return (\n \n <>\n {closeButton && getCloseButton()}\n {children}\n \n \n );\n};\n","import { Modal, ModalProps } from '@/components/Elements/Modal/Modal';\n\nexport const PaymentsModal = ({\n isOpen,\n onAfterOpen,\n onRequestClose,\n shouldCloseOnOverlayClick = true,\n style,\n children,\n closeButton = true,\n}: ModalProps) => {\n return (\n
    \n \n {children}\n \n
    \n );\n};\n","import { Trans, useTranslation } from 'react-i18next';\n\nimport errorImage from '@/assets/error.png';\nimport { defaultModalStyles } from '@/components/Elements/Modal/customStyles';\n\nimport { PaymentsModal } from '../PaymentsModal';\n\nexport type ErrorModalProps = {\n status?: number;\n onRequestClose: () => void;\n};\n\nexport const ErrorModal = ({ status = 0, onRequestClose }: ErrorModalProps) => {\n const { t } = useTranslation();\n const isOpen: boolean = status > 0;\n const labelError: string = status === 500 ? t('ErrorModal.errorSupport') : t('ErrorModal.error');\n const onDefaultRequestClose = () => {\n onRequestClose();\n };\n return (\n \n \n

    \n }\n }\n >\n {labelError}\n \n

    \n \n );\n};\n","import clsx from 'clsx';\nimport { useTranslation } from 'react-i18next';\nimport styled from 'styled-components';\n\nimport { Spinner } from '@/components/Elements';\nimport { DEFAULT_USER_CURRENCY } from '@/config/appConstants';\nimport { Currency, DiscountTypes, InvoicePreviewItemTypes, InvoicePreviewTypes } from '@/types';\nimport { findRawInvoicePreviewPrice, getPriceText, parseCurrency } from '@/utils/helpers';\n\nconst InvoiceUpdateSummaryWrapper = styled.div`\n .summary__update--success .total__amount p:last-of-type {\n color: var(--md-linksAlt-color);\n }\n .row__separator {\n border-top: 1px dashed var(--md-mediumGray-color);\n }\n`;\n\nexport type InvoiceUpdateSummaryProps = {\n invoiceUpdateSummaryData: InvoicePreviewTypes | null;\n isLoading: boolean;\n className?: string;\n};\n\nexport const InvoiceUpdateSummary = ({\n invoiceUpdateSummaryData,\n isLoading = false,\n className,\n}: InvoiceUpdateSummaryProps) => {\n const { t, i18n } = useTranslation();\n const prefix = 'Coupon.';\n\n const getItemListStyle = () =>\n 'flex justify-between border-b border-gray-200 py-2 items-center px-2';\n\n const getItemListNoBorderStyle = () => 'flex justify-between py-2 items-center px-2';\n\n const getItemLabelStyle = () => 'text-md-blue text-sm mt-0';\n\n const findOldPrice = (data: InvoicePreviewTypes | null, language: string) => {\n if (!data || !data.items) {\n return null;\n }\n\n const price: InvoicePreviewItemTypes[] = data.items.filter((item: any) => item.amount < 0);\n\n if (!price[0]) {\n return getPriceText(0, data.currency, language);\n }\n\n return getPriceText((price[0].amount as number) * -1, price[0].currency, language);\n };\n\n const findNewPrice = (data: InvoicePreviewTypes | null, language: string) => {\n if (!data || !data.totalExcludingTax) {\n return null;\n }\n\n if ((data.totalExcludingTax as number) < 0) {\n return getPriceText(0, data.currency, language);\n }\n\n return getPriceText(data.totalExcludingTax, data.currency, language);\n };\n\n const findSubTotal = (data: InvoicePreviewTypes | null, language: string) => {\n if (!data) {\n return 0;\n }\n if (!data.totalExcludingTax || (data.totalExcludingTax as number) < 0) {\n return getPriceText(0, data.currency, language);\n }\n\n return getPriceText(data.totalExcludingTax, data.currency, language);\n };\n\n const findTax = (data: InvoicePreviewTypes | null, language: string) => {\n if (!data) {\n return 0;\n }\n\n if (!data.tax || (data.tax as number) < 0) {\n return getPriceText(0, data.currency, language);\n }\n\n return getPriceText(data.tax, data.currency, language);\n };\n\n const findTotal = (data: InvoicePreviewTypes | null, language: string) => {\n if (!data || !data.items) {\n return 0;\n }\n\n if ((data.amountDue as number) < 0) {\n return getPriceText(0, data.currency, language);\n }\n\n return getPriceText(data.amountDue, data.currency, language);\n };\n\n const getAmountOfDiscounts = (data: DiscountTypes, currency: Currency) => {\n const amountOf = data && data?.coupon.amountOff;\n\n if (!amountOf) {\n return null;\n }\n\n return parseCurrency(i18n.language, currency || DEFAULT_USER_CURRENCY, amountOf);\n };\n\n const isProrationCoupon = (data: DiscountTypes) => {\n return data && data?.coupon.metadata?.is_proration_coupon == 'true';\n };\n const getCouponName = (data: DiscountTypes): string | undefined => {\n if (data && data?.coupon.metadata?.description) {\n return data && generateCouponDescriptionTranslation(data?.coupon.metadata?.description);\n }\n if (isProrationCoupon(data)) {\n return t('InvoiceUpdateSummary.old');\n }\n\n return data && data?.coupon.name;\n };\n\n const generateCouponDescriptionTranslation = (text: string): string => {\n let _item = t(`${prefix}${text}`);\n _item.startsWith(prefix) && (_item = _item.replace(prefix, ''));\n return _item;\n };\n\n const getPercentOfDiscounts = (data: DiscountTypes) => {\n const percentOfDiscounts = data && data?.coupon.percentOff;\n\n return percentOfDiscounts\n ? `${percentOfDiscounts} ${t('InvoiceUpdateSummary.percentOf')}`\n : null;\n };\n\n const hasDiscounts = (data: InvoicePreviewTypes | null) => {\n return data?.discounts && data?.discounts.length > 0;\n };\n\n const getDiscountRow = (discount: DiscountTypes, currency: Currency, index: number) => {\n const amountOfDiscounts = getAmountOfDiscounts(discount, currency);\n const percentOfDiscounts = getPercentOfDiscounts(discount);\n const couponName = getCouponName(discount);\n\n if (isProrationCoupon(discount)) {\n return renderDiscountRowProrationCoupon(\n couponName,\n amountOfDiscounts,\n percentOfDiscounts,\n index\n );\n }\n\n if (amountOfDiscounts || percentOfDiscounts) {\n return (\n
    \n \n

    {t('Forms.Coupon.coupon')}

    \n

    {amountOfDiscounts || percentOfDiscounts}

    \n
    \n \n

    {couponName}

    \n \n \n );\n }\n return null;\n };\n\n const getDiscountsRow = (data: InvoicePreviewTypes | null) => {\n const discounts = data?.discounts;\n\n if (!discounts) {\n return null;\n }\n\n return discounts.map((discount: DiscountTypes, index: number) => {\n return getDiscountRow(discount, data?.currency, index);\n });\n };\n\n const renderDiscountRowProrationCoupon = (\n couponName: string | undefined,\n amountOfDiscounts: any,\n percentOfDiscounts: any,\n index: number\n ) => {\n if (amountOfDiscounts || percentOfDiscounts) {\n return (\n
    \n \n

    {couponName}

    \n

    {amountOfDiscounts || percentOfDiscounts}

    \n
    \n \n );\n }\n return null;\n };\n\n const subtotal = findSubTotal(invoiceUpdateSummaryData, i18n.language);\n const tax = findTax(invoiceUpdateSummaryData, i18n.language);\n const total = findTotal(invoiceUpdateSummaryData, i18n.language);\n const hasDiscount = hasDiscounts(invoiceUpdateSummaryData);\n const oldPriceRaw = !!findRawInvoicePreviewPrice(invoiceUpdateSummaryData);\n const oldPrice = findOldPrice(invoiceUpdateSummaryData, i18n.language);\n\n if (isLoading) {\n return (\n
    \n \n
    \n );\n }\n\n return (\n \n
    \n
    \n {hasDiscount && getDiscountsRow(invoiceUpdateSummaryData)}\n
    \n

    \n {t('InvoiceUpdateSummary.new')}\n {hasDiscount && ` ${t('InvoiceUpdateSummary.withDiscount')} `}\n

    \n

    \n {findNewPrice(invoiceUpdateSummaryData, i18n.language)}\n

    \n
    \n {oldPriceRaw && (\n
    \n

    {t('InvoiceUpdateSummary.old')}

    \n

    -{oldPrice}

    \n
    \n )}\n
    \n

    {t('InvoiceUpdateSummary.subtotal')}

    \n

    {subtotal}

    \n
    \n
    \n

    {t('InvoiceUpdateSummary.tax')}

    \n

    {tax}

    \n
    \n
    \n

    {t('InvoiceUpdateSummary.total')}

    \n

    {total}

    \n
    \n
    \n
    \n
    \n );\n};\n","import * as React from 'react';\nimport { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport { Button } from '@/components/Elements';\nimport { ultraWideModalStyles } from '@/components/Elements/Modal/customStyles';\nimport { PaymentsModal } from '@/components/Elements/PaymentsModal';\n\nexport type PendingPaymentErrorModalProps = {\n onConfirmAction: () => void;\n onCancelAction: () => void;\n isOpen?: boolean;\n};\n\nexport const PendingPaymentErrorModal = ({\n onConfirmAction,\n onCancelAction,\n isOpen = false,\n}: PendingPaymentErrorModalProps) => {\n const [disabledButtons, setDisabledButtons] = useState(false);\n const { t } = useTranslation();\n\n const onDefaultConfirmAction = () => {\n setDisabledButtons(true);\n onConfirmAction && onConfirmAction();\n };\n\n const onDefaultCancelAction = () => {\n setDisabledButtons(true);\n onCancelAction && onCancelAction();\n };\n\n const getCancelButton = () => (\n \n {t('PendingPaymentErrorModal.cancelButton')}\n \n );\n\n const getConfirmButton = () => (\n \n {t('PendingPaymentErrorModal.confirmButton')}\n \n );\n\n return (\n \n
    \n
    {t('PendingPaymentErrorModal.title')}
    \n
    {t('PendingPaymentErrorModal.description')}
    \n
    \n {getCancelButton()}\n {getConfirmButton()}\n
    \n
    \n \n );\n};\n","import * as React from 'react';\nimport { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport { Button } from '@/components/Elements';\nimport { ultraWideModalStyles } from '@/components/Elements/Modal/customStyles';\nimport { PaymentsModal } from '@/components/Elements/PaymentsModal';\n\nexport type UnpaidMeteredErrorModalProps = {\n onConfirmAction: () => void;\n onCancelAction: () => void;\n isOpen?: boolean;\n};\n\nexport const UnpaidMeteredErrorModal = ({\n onConfirmAction,\n onCancelAction,\n isOpen = false,\n}: UnpaidMeteredErrorModalProps) => {\n const [disabledButtons, setDisabledButtons] = useState(false);\n const { t } = useTranslation();\n\n const onDefaultConfirmAction = () => {\n setDisabledButtons(true);\n onConfirmAction && onConfirmAction();\n };\n\n const onDefaultCancelAction = () => {\n setDisabledButtons(true);\n onCancelAction && onCancelAction();\n };\n\n const getCancelButton = () => (\n \n {t('UnpaidMeteredErrorModal.cancelButton')}\n \n );\n\n const getConfirmButton = () => (\n \n {t('UnpaidMeteredErrorModal.confirmButton')}\n \n );\n\n return (\n \n
    \n
    {t('UnpaidMeteredErrorModal.title')}
    \n
    {t('UnpaidMeteredErrorModal.description1')}
    \n
    {t('UnpaidMeteredErrorModal.description2')}
    \n
    {t('UnpaidMeteredErrorModal.description3')}
    \n
    {t('UnpaidMeteredErrorModal.description4')}
    \n
    \n {getCancelButton()}\n {getConfirmButton()}\n
    \n
    \n \n );\n};\n","import clsx from 'clsx';\nimport _ from 'lodash';\nimport * as React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport { BILLING_MODE_MONTH, PRODUCT_FREE_PRICE, UNKNOWN_DATA } from '@/config/appConstants';\nimport {\n BillingMode,\n Currency,\n ProductFeaturesTypes,\n ProductTypes,\n UserProductTypes,\n} from '@/types';\nimport {\n getProductDetails,\n isPrepaidProduct,\n getLicensedPrice,\n getLicensedPriceByInterval,\n getIntervalCountByBillingMode,\n getCurrencySymbol,\n getPriceText,\n getPrepaidProductPriceByCurrency,\n getBillingModePriceText,\n} from '@/utils/helpers';\n\nexport type UpdateProductCardProps = {\n key?: string;\n userProduct?: UserProductTypes;\n product?: ProductTypes;\n currency: Currency;\n billingMode?: BillingMode;\n className?: string;\n formatProductName?: (productName: string | ProductFeaturesTypes) => string;\n formatCredits?: (product: ProductTypes) => React.ReactNode | string;\n formatCategoryName?: (productName: string | ProductFeaturesTypes) => string;\n isANewProductToUpdate: boolean;\n};\n\nexport const UpdateProductCard = ({\n userProduct,\n product,\n currency,\n className,\n formatProductName = undefined,\n formatCredits = undefined,\n formatCategoryName = undefined,\n billingMode = BILLING_MODE_MONTH,\n isANewProductToUpdate,\n}: UpdateProductCardProps) => {\n const { t, i18n } = useTranslation();\n product || (product = userProduct?.product);\n\n const isPrepaid = product ? isPrepaidProduct(product) : false;\n\n if (!product) {\n return (\n
    \n

    \n {t('ProductDetail.productNotAvailable')}\n

    \n
    \n );\n }\n\n const getProductNameTranslated = (productName: string | ProductFeaturesTypes) => {\n return t(`ProductDetail.${productName}`) === `ProductDetail.${productName}`\n ? productName\n : t(`ProductDetail.${productName}`);\n };\n\n const productName = getProductDetails(product, 'productName');\n const categoryName = getProductDetails(product, 'categoryName') as string;\n const categoryNameParsed = _.camelCase(categoryName.replace(/\\s/g, ''));\n const categoryNameTranslated = t(`ProductDetail.${categoryNameParsed}`);\n const productNameTranslated = getProductNameTranslated(productName);\n\n const getProductPriceByBillingMode = () => {\n const intervalCount = getIntervalCountByBillingMode(billingMode);\n\n if (!intervalCount && product) {\n const price = getPrepaidProductPriceByCurrency(product.prices, currency);\n return getPriceText(price, currency, i18n.language);\n }\n\n if (isANewProductToUpdate) {\n return product\n ? getLicensedPriceByInterval(product.prices, intervalCount, currency).amount\n : UNKNOWN_DATA;\n }\n\n if (!userProduct?.groupProduct) {\n return UNKNOWN_DATA;\n }\n\n if (userProduct?.groupProduct.pricing) {\n return getLicensedPrice(userProduct.groupProduct.pricing).amount;\n }\n\n return `${PRODUCT_FREE_PRICE} ${getCurrencySymbol(currency)}`;\n };\n\n const productPrice = getProductPriceByBillingMode();\n const priceText = getPriceText(productPrice, currency, i18n.language);\n\n return (\n
    \n
    \n \n

    \n {!isANewProductToUpdate && !isPrepaid\n ? t('UpdateProductCard.current')\n : t('UpdateProductCard.selected')}\n

    \n\n

    \n {formatCategoryName\n ? formatCategoryName(categoryNameTranslated)\n : isPrepaid\n ? categoryNameTranslated\n : categoryName}\n

    \n {!formatCredits && (\n

    \n {formatProductName ? formatProductName(productName) : productNameTranslated}\n

    \n )}\n
    {priceText}
    \n

    \n {t(getBillingModePriceText(billingMode))}\n

    \n \n
    \n
    \n );\n};\n","import * as React from 'react';\nimport { useEffect, useState } from 'react';\nimport { useErrorHandler } from 'react-error-boundary';\nimport { useTranslation } from 'react-i18next';\nimport styled from 'styled-components';\n\nimport CurvedArrow from '@/assets/curved-next-arrow.png';\nimport { Button, Spinner } from '@/components/Elements';\nimport { CouponForm } from '@/components/Elements/CouponForm';\nimport { tinyModalStyles, wideNoScrollModalStyles } from '@/components/Elements/Modal/customStyles';\nimport { PATH_UPDATE_PAYMENT_METHOD } from '@/config';\nimport { REQUEST_FAILED, REQUEST_SUCCESS } from '@/config/appConstants';\nimport { updatePayment } from '@/features/payment';\nimport { getAllAxiosData, GetterAxios } from '@/lib/axios';\nimport {\n Currency,\n IntervalBillingMode,\n InvoicePreviewTypes,\n ProductTypes,\n UserProductTypes,\n} from '@/types';\nimport {\n getBillingModeByIntervalCount,\n getCurrencyFromUserProduct,\n getBillingModeFromUserProduct,\n getPricesIdsByCurrencyAndInterval,\n getPromotionCodeByCurrencyAndInterval,\n} from '@/utils/helpers';\n\nimport { ErrorModal } from '../ErrorModal';\nimport { InvoiceUpdateSummary } from '../InvoiceUpdateSummary';\nimport { PaymentsModal } from '../PaymentsModal';\nimport { PendingPaymentErrorModal } from '../PendingPaymentErrorModal';\nimport { UnpaidMeteredErrorModal } from '../UnpaidMeteredErrorModal';\nimport { UpdateProductCard } from '../UpdateProductCard/UpdateProductCard';\n\nconst UpgradeProductCards = styled.div`\n .upgrade__arrow {\n position: absolute;\n left: calc(50% + 40px);\n transform: translateX(-50%);\n }\n\n .upgrade__arrow::after {\n background-image: url(${CurvedArrow});\n background-position: center;\n background-repeat: no-repeat;\n background-size: contain;\n content: ' ';\n display: block;\n height: 128px;\n margin-left: auto;\n position: absolute;\n right: 0;\n top: 50px;\n width: 80px;\n z-index: 9;\n transform: rotate(25deg);\n }\n`;\n\nexport type ConfirmNeededPaymentModalProps = {\n isOpen?: boolean;\n onRequestClose: () => void;\n onActionButton: (promotionCode: string | undefined) => void;\n oldUserProduct?: UserProductTypes;\n newUserProduct: ProductTypes;\n newCurrency: Currency;\n newIntervalCount: IntervalBillingMode;\n isCouponEnabled?: boolean;\n onDemoCouponFormSubmit?: (values: any) => Promise;\n isDemo?: boolean;\n actionButtonLabel?: string;\n initialInvoiceUpdateSummaryData?: InvoicePreviewTypes;\n onSubmitCoupon?: (\n currency: Currency,\n product: ProductTypes | null,\n promotionCode: string | undefined\n ) => Promise;\n onConfirmUnpaidMeteredErrorAction: () => void;\n};\n\nexport const ConfirmNeededPaymentModal = ({\n onRequestClose,\n onActionButton,\n isOpen = false,\n oldUserProduct,\n newUserProduct,\n newCurrency,\n newIntervalCount,\n isCouponEnabled,\n onDemoCouponFormSubmit,\n onSubmitCoupon,\n initialInvoiceUpdateSummaryData,\n actionButtonLabel,\n isDemo = false,\n onConfirmUnpaidMeteredErrorAction,\n}: ConfirmNeededPaymentModalProps) => {\n const { t } = useTranslation();\n const handleError = useErrorHandler();\n const [invoiceUpdateSummaryData, setInvoiceUpdateSummaryData] = useState(null);\n const [couponStatus, setCouponStatus] = useState(null);\n const [isInvoiceUpdateSummaryDataLoading, setIsInvoiceUpdateSummaryDataLoading] = useState(false);\n const [currentCoupon, setCurrentCoupon] = useState(undefined);\n const [lastValidCoupon, setLastValidCoupon] = useState(undefined);\n const [showSpinner, setShowSpinner] = useState(true);\n const [statusErrorPaymentTryAgain, setStatusErrorPaymentTryAgain] = useState(0);\n const [statusUnpaidMeteredError, setStatusUnpaidMeteredError] = useState(false);\n const [statusPendingPaymentError, setStatusPendingPaymentError] = useState(false);\n\n useEffect(() => {\n // Only for testing purposes (Storybook)\n if (initialInvoiceUpdateSummaryData) {\n setInvoiceUpdateSummaryData(initialInvoiceUpdateSummaryData);\n setShowSpinner(false);\n return;\n }\n\n const getters: GetterAxios[] = [\n {\n callback: updatePayment,\n parameters: {\n preview: true,\n prices: getPricesIdsByCurrencyAndInterval(\n newUserProduct.prices,\n newCurrency,\n newIntervalCount\n ),\n onErrorCallback: (status: number, urlRedirect?: string, detail?: string) => {\n if (status === 503 || status === 500 || status === 402)\n return setStatusErrorPaymentTryAgain(status);\n\n if (\n status === 406 &&\n detail &&\n detail === 'There are unpaid metered items in this subscription'\n )\n return setStatusUnpaidMeteredError(status > 0);\n\n if (\n status === 406 &&\n detail &&\n detail === 'There are pending payments for the current subscription'\n )\n return setStatusPendingPaymentError(status > 0);\n },\n promotionCode: getPromotionCodeByCurrencyAndInterval(\n newUserProduct.prices,\n newCurrency,\n newIntervalCount\n ),\n },\n },\n ];\n const setters: any = [setInvoiceUpdateSummaryData];\n const pageData = getAllAxiosData(getters, setters);\n\n pageData\n .then(() => {\n setShowSpinner(false);\n })\n .catch((error) => {\n handleError(error);\n });\n }, [\n handleError,\n newUserProduct.prices,\n newCurrency,\n newIntervalCount,\n initialInvoiceUpdateSummaryData,\n ]);\n\n const onDefaultActionButton = () => {\n onDefaultRequestClose();\n onActionButton && onActionButton(currentCoupon);\n };\n\n const onDefaultRequestClose = () => {\n onRequestClose && onRequestClose();\n };\n\n const renderSpinner = () => (\n \n
    \n \n
    \n \n );\n\n const renderStatusUnpaidMeteredErrorModal = () => (\n \n );\n\n const renderStatusPendingPaymentErrorModal = () => (\n \n );\n\n const onDefaultCouponFormSubmit = async (values: any) => {\n setIsInvoiceUpdateSummaryDataLoading(true);\n setCurrentCoupon(values.customCoupon);\n\n let promise;\n\n if (isDemo && onDemoCouponFormSubmit) {\n promise = onDemoCouponFormSubmit(values);\n } else if (onSubmitCoupon) {\n promise = onSubmitCoupon(newCurrency, newUserProduct, values.customCoupon);\n } else {\n promise = updatePayment({\n preview: true,\n prices: getPricesIdsByCurrencyAndInterval(\n newUserProduct.prices,\n newCurrency,\n newIntervalCount\n ),\n promotionCode: values.customCoupon,\n onErrorCallback: (status: number, urlRedirect?: string, detail?: string) => {\n if (status === 503 || status === 500 || status === 402)\n return setStatusErrorPaymentTryAgain(status);\n if (\n status === 406 &&\n detail &&\n detail === 'There are unpaid metered items in this subscription'\n )\n return setStatusUnpaidMeteredError(status > 0);\n\n if (\n status === 406 &&\n detail &&\n detail === 'There are pending payments for the current subscription'\n )\n return setStatusPendingPaymentError(status > 0);\n setCouponStatus(REQUEST_FAILED);\n },\n });\n }\n\n return promise\n .then((response) => {\n setIsInvoiceUpdateSummaryDataLoading(false);\n\n if (response) {\n setCouponStatus(REQUEST_SUCCESS);\n setInvoiceUpdateSummaryData(response);\n setLastValidCoupon(values.customCoupon);\n }\n })\n .catch(() => {\n setCouponStatus(REQUEST_FAILED);\n setIsInvoiceUpdateSummaryDataLoading(false);\n });\n };\n\n const getInvoiceUpdateSummaryStyle = () => {\n if (isCouponEnabled) {\n if (couponStatus === REQUEST_SUCCESS) {\n return 'summary__update--success';\n } else if (couponStatus === REQUEST_FAILED) {\n return 'summary__update--error';\n }\n }\n\n return;\n };\n\n const onDefaultConfirmUnpaidMeteredErrorAction = async () => {\n onConfirmUnpaidMeteredErrorAction && (await onConfirmUnpaidMeteredErrorAction());\n\n onDefaultRequestClose && onDefaultRequestClose();\n };\n\n const onDefaultConfirmPendingPaymentErrorAction = () => {\n window.location.assign(PATH_UPDATE_PAYMENT_METHOD);\n onDefaultRequestClose && onDefaultRequestClose();\n };\n\n return (\n
    \n {!invoiceUpdateSummaryData && renderSpinner()}\n {statusErrorPaymentTryAgain && (\n \n )}\n\n {statusUnpaidMeteredError && renderStatusUnpaidMeteredErrorModal()}\n {statusPendingPaymentError && renderStatusPendingPaymentErrorModal()}\n\n {!showSpinner &&\n !statusErrorPaymentTryAgain &&\n !statusUnpaidMeteredError &&\n !statusPendingPaymentError && (\n \n
    \n {oldUserProduct && (\n <>\n

    \n {t('ConfirmNeededPaymentModal.title')}\n

    \n \n
    \n \n
    \n \n
    \n
    \n

    \n {t('ConfirmNeededPaymentModal.notice')}\n

    \n \n )}\n {invoiceUpdateSummaryData && (\n \n )}\n\n {isCouponEnabled && (\n \n )}\n \n {actionButtonLabel || t('ConfirmNeededPaymentModal.actionButton')}\n \n
    \n \n )}\n
    \n );\n};\n","import { Transition } from '@headlessui/react';\nimport {\n CheckCircleIcon,\n ExclamationCircleIcon,\n XCircleIcon,\n InformationCircleIcon,\n CreditCardIcon,\n} from '@heroicons/react/outline';\nimport { XIcon } from '@heroicons/react/solid';\nimport clsx from 'clsx';\nimport { nanoid } from 'nanoid';\nimport { Fragment, useEffect, useRef, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport { NOTIFICATION_DEFAULT_AUTOCLOSE_TIME_IN_MS } from '@/config';\nimport { Notification as NotificationType } from '@/stores/notifications';\n\nimport { Button } from '../Elements';\n\nexport const notificationCollection = {\n info: {\n icon: ,\n style: 'bg-blue-100 text-blue-900 border-blue-200',\n },\n success: {\n icon: ,\n style: 'bg-green-100 text-green-900 border-green-200',\n },\n warning: {\n icon: ,\n style: 'bg-yellow-100 text-yellow-900 border-yellow-200',\n },\n error: {\n icon: ,\n style: 'bg-red-100 text-red-900 border-red-200',\n },\n cardReminder: {\n icon: ,\n style: 'bg-yellow-100 text-yellow-900 border-yellow-200',\n },\n};\n\nexport type NotificationProps = {\n notification: NotificationType;\n onDismiss: (id: string) => void;\n};\n\nexport const Notification = ({\n notification: {\n id = nanoid(),\n type,\n title,\n message,\n customIcon,\n closeable = true,\n hideOnDeclare = false,\n autoClose,\n URLRedirectOnClose,\n progressBarPlacement = 'bottom',\n accent,\n },\n onDismiss,\n}: NotificationProps) => {\n const { t } = useTranslation();\n const notificationEle = useRef(null);\n const ariaLabel = typeof title === 'string' ? type : t('common.notification') || '';\n const notificationIcon = customIcon || notificationCollection[type].icon;\n const [isVisible, setIsVisible] = useState(!hideOnDeclare);\n\n const onDefaultDismiss = (id: string) => {\n onDismiss(id);\n };\n\n const hideNotification = () => {\n setIsVisible(false);\n };\n\n const progressBar = useRef(null);\n\n useEffect(() => {\n if (autoClose) {\n const element = progressBar.current;\n let width = 100;\n\n const scene = () => {\n if (width <= 0) {\n clearInterval(identity);\n setIsVisible(false);\n URLRedirectOnClose && window.location.assign(URLRedirectOnClose);\n } else {\n width--;\n element && (element.style.width = `${width}%`);\n }\n };\n\n const identity = setInterval(\n scene,\n (autoClose || NOTIFICATION_DEFAULT_AUTOCLOSE_TIME_IN_MS) / 100\n );\n\n return () => clearInterval(identity);\n }\n }, [autoClose, URLRedirectOnClose]);\n\n return (\n \n closeable && onDefaultDismiss(id)}\n >\n \n
    \n
    \n
    {notificationIcon}
    \n
    \n {title ?

    {title}

    : ''}\n

    {message}

    \n
    \n
    \n \n {t('common.close')}\n \n \n
    \n
    \n {autoClose && (\n \n )}\n
    \n \n \n \n );\n};\n","import { useNotificationStore } from '@/stores/notifications';\n\nimport { Notification } from './Notification';\n\nexport const Notifications = () => {\n const { notifications, dismissNotification } = useNotificationStore();\n\n return (\n \n {notifications.map((notification) => {\n return (\n \n );\n })}\n \n );\n};\n","import { TAG_MANAGER_ID } from '@/config';\n\ntype GTMType = {\n id: string;\n dataLayerName: string;\n};\n\nconst GTM: GTMType = {\n id: TAG_MANAGER_ID,\n dataLayerName: 'dataLayer',\n};\n\nexport default GTM;\n","import i18n from 'i18next';\nimport LanguageDetector, { DetectorOptions } from 'i18next-browser-languagedetector';\nimport Backend from 'i18next-http-backend';\nimport { initReactI18next } from 'react-i18next';\n\nimport { DEFAULT_LANG, ENV, LANG_COOKIE_NAME } from '@/config';\nimport { APP_LANGUAGES } from '@/config/appConstants';\n\nconst getI18nCookieDomain = () => {\n if (ENV === 'localhost') {\n return;\n }\n\n return '.mdirector.com';\n};\n\nconst detectionOptions: DetectorOptions = {\n order: ['cookie', 'localStorage', 'sessionStorage', 'navigator'],\n caches: ['cookie'],\n lookupCookie: LANG_COOKIE_NAME,\n cookieDomain: getI18nCookieDomain(),\n cookieOptions: { path: '/', sameSite: 'strict' },\n};\n\ni18n\n .use(Backend)\n .use(LanguageDetector)\n .use(initReactI18next)\n .init({\n fallbackLng: DEFAULT_LANG,\n detection: detectionOptions,\n debug: false,\n supportedLngs: APP_LANGUAGES,\n react: {\n bindI18n: 'languageChanged',\n bindI18nStore: '',\n transEmptyNodeValue: '',\n transSupportBasicHtmlNodes: true,\n transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'a'],\n useSuspense: false,\n },\n });\n\nexport default i18n;\n","import { createTheming, ThemingType } from '@callstack/react-theme-provider';\n\nimport { DEFAULT_THEME } from '@/config';\nimport { Theme } from '@/types';\nimport { themes } from '@/utils/helpers';\n\nconst { ThemeProvider, useTheme }: ThemingType = createTheming(themes[DEFAULT_THEME]);\n\nexport { ThemeProvider, useTheme };\n","import { GTMProvider } from '@elgorditosalsero/react-gtm-hook';\nimport * as React from 'react';\nimport { ErrorBoundary } from 'react-error-boundary';\nimport { HelmetProvider } from 'react-helmet-async';\nimport { I18nextProvider } from 'react-i18next';\nimport { QueryClientProvider } from 'react-query';\nimport { ReactQueryDevtools } from 'react-query/devtools';\nimport { BrowserRouter as Router } from 'react-router-dom';\n\nimport { ErrorPage } from '@/components/Layout/ErrorPage';\nimport { Notifications } from '@/components/Notifications/Notifications';\nimport GTM from '@/lib/gtm/gtm';\nimport i18n from '@/lib/i18n/i18n';\nimport { queryClient } from '@/lib/react-query';\n\nimport { ThemeProvider } from './theming';\n\nconst myErrorHandler = (error: Error, info: { componentStack: string }) => {\n // Do something with the error\n // E.g. log to an error logging client here\n console.info('Error Handler: ', error, info);\n};\n\ntype AppProviderProps = {\n children: React.ReactNode;\n};\n\nexport const AppProvider = ({ children }: AppProviderProps) => {\n return (\n <>\n \n \n \n \n \n \n {process.env.NODE_ENV !== 'production' && }\n \n {children}\n \n \n \n \n \n \n \n );\n};\n","import mdAuth from 'md-authjs';\nimport create from 'zustand';\n\nimport { LOGIN_URL, AUTH_HOST } from '@/config';\nimport { REQUEST_FAILED, REQUEST_SUCCESS } from '@/config/appConstants';\nimport axios from '@/lib/axios';\nimport { iAuthInfo } from '@/types';\n\nconst authFilter = {\n init() {\n /* Nothing to do here */\n },\n};\n\nexport type ConfigType = { loginUrl: string; authHost: string };\n\nlet authService: any;\n\nconst getConfig = (force = ''): ConfigType => {\n let pathname = window.location.pathname;\n pathname = pathname.replace('/', '');\n\n return {\n loginUrl: LOGIN_URL + (pathname ? `?path=${pathname}` : ''),\n authHost: AUTH_HOST + force,\n };\n};\n\nconst login = (callback: any) => {\n const config = getConfig();\n const options = { config, authTicket: getAuthTicket(config.authHost), authFilter, DEBUG: false };\n\n authService = mdAuth(options);\n authService.login(callback);\n};\n\nconst getAuthTicket = (authHost: string): any => {\n return {\n get(callbackOk: any, callbackError: any) {\n return axios\n .get(authHost, { withCredentials: true })\n .then((response: any) => {\n if (callbackOk) {\n return callbackOk(response);\n }\n })\n .catch((error: any) => {\n if (!error.response && callbackError) {\n return callbackError(error);\n }\n\n if (error?.response?.status === 401) {\n if (callbackError) {\n return callbackError(error.response);\n }\n }\n /* not hit since no 401 */\n });\n },\n };\n};\n\nconst newLogin = (callback: any) => {\n const config = getConfig('?force=true');\n const options = { config, authTicket: getAuthTicket(config.authHost), authFilter, DEBUG: false };\n authService = mdAuth(options);\n return authService.newLogin(callback);\n};\n\nconst isLogged = () => {\n const config = getConfig();\n const options = { config, authTicket: getAuthTicket(config.authHost), authFilter, DEBUG: false };\n authService = mdAuth(options);\n const authInfo = window.localStorage.getItem(authService.getAuthInfo().localStorageKey);\n\n return authInfo && JSON.parse(authInfo) ? true : false;\n};\n\nconst removeItemInLocalStorage = () => {\n const config = getConfig();\n const options = { config, authTicket: getAuthTicket(config.authHost), authFilter, DEBUG: false };\n authService = mdAuth(options);\n\n window.localStorage.removeItem(authService.getAuthInfo().localStorageKey);\n};\n\ntype Auth = {\n login: (callback: any) => any;\n newLogin: (callback: any) => any;\n getAuthInfo: () => iAuthInfo;\n isLogged: () => boolean;\n removeItemInLocalStorage: () => void;\n};\n\nexport const useAuth = create(() => ({\n login: (callback: any) => {\n login((isLogged: boolean) => {\n isLogged && callback && callback(REQUEST_SUCCESS);\n !isLogged && callback && callback(REQUEST_FAILED);\n });\n },\n\n newLogin: async (callback: any) => {\n await newLogin((isLogged: boolean) => {\n isLogged && callback && callback();\n return true;\n });\n return true;\n },\n\n getAuthInfo: () => (authService ? authService.getAuthInfo() : {}),\n\n isLogged: () => isLogged(),\n\n removeItemInLocalStorage: () => removeItemInLocalStorage(),\n}));\n","export default __webpack_public_path__ + \"static/media/ENS.3f8a262e.jpg\";","export default __webpack_public_path__ + \"static/media/facebook-icon.839e44fb.svg\";","export default __webpack_public_path__ + \"static/media/letter-icon.85e9e13b.svg\";","export default __webpack_public_path__ + \"static/media/linkedin-icon.272b8515.svg\";","export default __webpack_public_path__ + \"static/media/phone-icon.280dba0c.svg\";","export default __webpack_public_path__ + \"static/media/twitter-icon.eb263c16.svg\";","export default __webpack_public_path__ + \"static/media/youtube-icon.423e45a7.svg\";","import { useTranslation } from 'react-i18next';\n\nimport ENS from '@/assets/ENS.jpg';\nimport FacebookIcon from '@/assets/facebook-icon.svg';\nimport LetterIcon from '@/assets/letter-icon.svg';\nimport LinkedInIcon from '@/assets/linkedin-icon.svg';\nimport PhoneIcon from '@/assets/phone-icon.svg';\nimport TwitterIcon from '@/assets/twitter-icon.svg';\nimport YouTubeIcon from '@/assets/youtube-icon.svg';\nimport { ADMIN_EMAIL_ADDRESS, APP_HOME_URL, DEFAULT_THEME } from '@/config';\nimport { themes } from '@/utils/helpers';\n\nexport const PublicFooter = () => {\n const { t } = useTranslation();\n\n const titleLinkStyle = () =>\n 'text-xs uppercase text-md-purple font-bold mb-3 hover:text-md-purple hover:no-underline hover:opacity-80';\n const linkStyle = () => 'my-0 lg:my-1 block text-black text-sm uppercase';\n const addressTitleStyle = () => 'text-base text-md-blue font-black mb-4 flex gap-2';\n const addressStyle = () => 'my-1 block text-md-blue text-[13px] font-normal font-secondary';\n const legalLinkStyle = () =>\n 'font-black uppercase text-md-blue text-xs w-1/2 lg:w-auto text-center lg:text-right py-2 lg:py-0';\n const getLogoUrl = () =>\n themes[DEFAULT_THEME].assetsURL + '/globals/src/images/logos/logo_MDirector.png';\n return (\n
    \n
    \n \n \n \n \n {t('PublicFooter.emailUs')}\n \n {ADMIN_EMAIL_ADDRESS}\n \n \n \n {t('PublicFooter.phoneUs')}\n \n {t('PublicFooter.phoneNumber')}\n \n \n
    \n \n {t('PublicFooter.followUs')}\n \n \n
    \n
    \n\n
    \n
    \n \n {t('PublicFooter.Solutions.title')}\n \n
      \n
    1. \n \n {t('PublicFooter.Solutions.emailMarketing')}\n \n
    2. \n
    3. \n \n {t('PublicFooter.Solutions.smsMarketing')}\n \n
    4. \n
    5. \n \n {t('PublicFooter.Solutions.landingOptimizer')}\n \n
    6. \n
    7. \n \n {t('PublicFooter.Solutions.marketingAutomation')}\n \n
    8. \n
    \n
    \n\n
    \n \n {t('PublicFooter.Plans.title')}\n \n
      \n
    1. \n \n {t('PublicFooter.Plans.prices')}\n \n
    2. \n
    \n
    \n\n
    \n \n {t('PublicFooter.Support.title')}\n \n
      \n
    1. \n \n {t('PublicFooter.Support.support')}\n \n
    2. \n
    3. \n \n {t('PublicFooter.Support.contact')}\n \n
    4. \n
    5. \n \n {t('PublicFooter.Support.resources')}\n \n
    6. \n
    7. \n \n {t('PublicFooter.Support.blog')}\n \n
    8. \n
    9. \n \n {t('PublicFooter.Support.API')}\n \n
    10. \n
    \n
    \n\n
    \n \n {t('PublicFooter.About.title')}\n \n
      \n
    1. \n \n {t('PublicFooter.About.company')}\n \n
    2. \n
    3. \n \n {t('PublicFooter.About.delegations')}\n \n
    4. \n
    5. \n \n {t('PublicFooter.About.certifications')}\n \n
    6. \n
    7. \n \n {t('PublicFooter.About.talent')}\n \n
    8. \n
    \n
    \n\n
    \n \"ENS\"\n
    \n
    \n\n \n\n
    \n
    \n
    \n {t('PublicFooter.copyright')}\n
    \n {t('PublicFooter.certificated')}\n
    \n \n
    \n
    \n
    \n );\n};\n","import { useTranslation } from 'react-i18next';\nimport { SelectPicker } from 'rsuite';\nimport styled from 'styled-components';\n\nimport { APP_LANGUAGES } from '@/config/appConstants';\n\nconst LanguageSelectorWrap = styled.div``;\n\nexport const LanguageSelector = () => {\n const { t, i18n } = useTranslation();\n\n const data = APP_LANGUAGES.map((lang) => {\n return { label: t('Languages.' + lang), value: lang };\n });\n\n return (\n \n
    \n {\n value && void i18n.changeLanguage(value);\n }}\n />\n
    \n
    \n );\n};\n","import { useTranslation } from 'react-i18next';\n\nimport { LanguageSelector } from '@/components/Elements/LanguageSelector/LanguageSelector';\n\nexport const PublicCleanFooter = () => {\n const { t } = useTranslation();\n\n return (\n
    \n
    \n

    \n {`${t('PublicFooter.copyright')} `}\n {`${t('PublicFooter.certificated')} `}\n \n {` ${t('PublicFooter.privacy')}`}\n \n {` ${t('common.and')} `}\n \n {t('PublicFooter.terms')}\n \n .\n

    \n \n
    \n
    \n );\n};\n","import MDFooter from 'md-footerjs';\n\nimport { DEFAULT_LANG, DEFAULT_THEME } from '@/config';\n\nexport type PrivateFooterProps = {\n theme?: string;\n lang?: string;\n};\n\nexport const PrivateFooter = ({\n theme = DEFAULT_THEME,\n lang = DEFAULT_LANG,\n}: PrivateFooterProps) => {\n return ;\n};\n","import { UserIcon } from '@heroicons/react/outline';\nimport clsx from 'clsx';\nimport React, { MouseEvent } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport styled from 'styled-components';\n\nimport { APP_HOME_URL, DEFAULT_THEME, LOGIN_URL } from '@/config';\nimport { classToggle, getPublicUrlByPath, getRegisterUrl, themes } from '@/utils/helpers';\n\nimport { Button } from '../Elements';\n\nconst PublicHeaderWrap = styled.div`\n .md__header__submenu {\n max-height: 0;\n overflow: hidden;\n transition: max-height 0.2s ease-out;\n }\n .md__header__nav__item.opened .md__header__submenu {\n margin-bottom: 12px;\n max-height: 1000px;\n transition: max-height 0.6s ease-in;\n }\n #nav-toggle2.open > div > span:nth-child(1) {\n transform: rotate(45deg);\n }\n #nav-toggle2.open > div > span:nth-child(2) {\n opacity: 0;\n }\n #nav-toggle2.open > div > span:nth-child(3) {\n transform: rotate(-45deg);\n }\n .sub__menu {\n opacity: 0;\n pointer-events: none;\n transition: none;\n min-width: 300px;\n position: absolute;\n left: 0;\n padding: 20px 10px;\n text-align: left;\n margin-top: 15px;\n background: #fed925;\n border-radius: 0 12px 12px;\n box-shadow: 0 22px 24px -20px rgb(0 0 0 / 20%);\n }\n .menu__item--with_children:hover .sub__menu {\n opacity: 1;\n pointer-events: all;\n }\n .sub__menu a {\n display: block;\n font-size: 18px;\n line-height: 1.33;\n position: relative;\n padding: 12px 20px 12px 45px;\n text-transform: none;\n transition: 0.5s;\n color: #000;\n }\n .sub__menu a span {\n position: absolute;\n left: 25px;\n font-weight: bolder;\n }\n .sub__menu a:hover {\n color: #343434;\n text-decoration: none;\n }\n @media (min-width: 1199.99px) {\n .sub__menu {\n display: block !important;\n }\n }\n @media only screen and (max-width: 835px) {\n .md__header__nav__item:after {\n color: #ffffff;\n content: '>';\n position: absolute;\n right: 15px;\n top: 12px;\n transition: transform 0.2s ease-in;\n }\n .md__header__nav__item.opened:after {\n transform: rotate(90deg);\n }\n }\n @media only screen and (max-width: 1520px) {\n .md__header__nav__item a {\n font-size: 13px;\n margin-left: 0;\n margin-right: 0;\n }\n }\n`;\n\nexport const PublicHeader = () => {\n const { t } = useTranslation();\n\n const headerNavigationBarContainerStyle = () =>\n 'md__header__nav absolute lg:relative top-[50px] lg:top-0 left-0 right-0 bottom-0 flex-grow lg:flex lg:items-center lg:w-auto pt-6 lg:pt-0 max-w-none lg:max-w-4xl bg-md-yellow lg:bg-md-white mt-4 lg:mt-0 z-[55] hidden';\n\n const headerNavigationListItem = () =>\n 'md__header__nav__item pt-4 pr-11 pb-4 pl-6 relative border-b-[1px] border-md-paleBrown lg:border-b-0';\n\n const headerLinkStyle = () =>\n 'block font-black lg:font-bold text-black uppercase hover:text-black hover:no-underline active:text-black active:no-underline focus:text-black focus:no-underline text-lg whitespace-nowrap';\n\n const headerLinkHasChildren = () => 'hover:bg-md-yellow rounded-t-xl';\n\n const headerSubLinkStyle = () =>\n 'text-black hover:text-black hover:no-underline text-sm block pl-8 py-4';\n\n const hamburgerBarStyle = () =>\n 'block absolute h-0.2 w-5 bg-current transform transition duration-500 ease-in-out';\n\n const getLogoUrl = () =>\n themes[DEFAULT_THEME].assetsURL + '/globals/src/images/logos/logo_MDirector.png';\n\n const toggleHeaderMenu = () => {\n const headerMenu = document.getElementById('nav-content');\n const headerMenuButton = document.getElementById('nav-toggle2');\n\n if (headerMenu && headerMenuButton) {\n classToggle(headerMenu, 'hidden', 'open');\n classToggle(headerMenuButton, 'open');\n classToggle(document.body, 'overflow-hidden');\n }\n };\n\n const toggleHeaderSubMenu = (e: MouseEvent) => {\n e.preventDefault();\n (e.target as Element)?.parentElement?.classList.toggle('opened');\n };\n\n return (\n
    \n \n
    \n
    \n \n Open main menu\n
    \n \n \n \n
    \n \n
    \n\n
    \n \n \"MDirector\"\n \n
    \n
    \n
      \n
    1. \n \n {t('PublicHeader.Solutions.title')}\n \n \n
    2. \n \n {t('PublicFooter.Solutions.emailMarketing')}\n \n
    3. \n
    4. \n \n {t('PublicFooter.Solutions.smsMarketing')}\n \n
    5. \n
    6. \n \n {t('PublicFooter.Solutions.landingOptimizer')}\n \n
    7. \n
    8. \n \n {t('PublicFooter.Solutions.marketingAutomation')}\n \n
    9. \n
    \n \n
  • \n \n {t('PublicHeader.Rates.title')}\n \n \n
  • \n \n {t('PublicHeader.Comparator.title')}\n \n
  • \n
  • \n \n {t('PublicHeader.FAQs.title')}\n \n
  • \n \n \n
  • \n \n {t('PublicHeader.Support.title')}\n \n
  • \n
  • \n \n {t('PublicHeader.About.title')}\n \n \n
  • \n \n {t('PublicFooter.About.company')}\n \n
  • \n
  • \n \n {t('PublicFooter.About.talent')}\n \n
  • \n \n \n
  • \n \n {t('PublicHeader.Resources.title')}\n \n
  • \n
  • \n \n {t('PublicHeader.Blog.title')}\n \n
  • \n \n
    \n
    \n
      \n
    1. \n \n {t('PublicHeader.Solutions.title')}\n \n
    2. \n\n \n \n {t('PublicHeader.Rates.title')}\n \n \n \n\n
    3. \n \n {t('PublicHeader.Support.title')}\n \n
    4. \n
    5. \n \n {t('PublicHeader.About.title')}\n \n
    6. \n
    7. \n \n {t('PublicHeader.Resources.title')}\n \n
    8. \n
    9. \n \n {t('PublicHeader.Blog.title')}\n \n
    10. \n
    \n
    \n
    \n \n \n {t('PublicHeader.Access.title')}\n \n \n \n \n \n {t('PublicHeader.Trial.title')}\n \n \n {t('PublicHeader.Trial.titleShort')}\n \n \n
    \n
    \n
    \n
    \n );\n};\n","import MDHeader from 'md-headerjs';\nimport * as React from 'react';\n\nimport { APP_BACKEND_LOGOUT_URL, APP_SIGNUP_URL, DEFAULT_LANG, DEFAULT_THEME } from '@/config';\nimport { useMe } from '@/hooks/useMe';\nimport { useAuth } from '@/lib/auth';\nimport { isAppSumo } from '@/utils/helpers';\n\ntype IconsHeader = {\n alt: string;\n iconClass: string;\n};\n\ntype ExtraItemsHeader = {\n href?: string;\n name: string;\n iconClass?: string;\n iconImg?: IconsHeader;\n onClick: () => void;\n};\n\nexport type PrivateHeaderProps = {\n theme?: string;\n authInfo?: any;\n extraItems?: ExtraItemsHeader[];\n lang?: string;\n showCompanies?: boolean;\n onChangeCompany?: () => void;\n onChangeLanguage?: (lang: string) => void;\n onLogout?: () => void;\n openSupportChat?: () => void;\n action?: () => void;\n logoutUrl?: string;\n myAccountUrl?: string;\n getHelpUrl?: () => void;\n loadExternalCSS?: boolean;\n};\n\nexport const PrivateHeader = ({\n theme = DEFAULT_THEME,\n authInfo,\n extraItems,\n lang = DEFAULT_LANG,\n showCompanies = false,\n onChangeCompany,\n onChangeLanguage,\n action,\n openSupportChat,\n logoutUrl = APP_BACKEND_LOGOUT_URL,\n onLogout,\n myAccountUrl = APP_SIGNUP_URL + 'accounts',\n getHelpUrl = () => '/',\n loadExternalCSS = false,\n ...props\n}: PrivateHeaderProps) => {\n const { getAuthInfo } = useAuth();\n authInfo || (authInfo = getAuthInfo());\n const { getMe } = useMe();\n const me = getMe();\n\n return (\n \n );\n};\n","import { PAYMENTS_BACKEND_URL } from '@/config';\nimport axios from '@/lib/axios';\nimport { Me } from '@/types';\n\nexport const getMeInfo = (): Promise => {\n const endPoint = PAYMENTS_BACKEND_URL + 'auth/me';\n return axios\n .get(endPoint)\n .then((response: any) => {\n if (typeof response === 'string') {\n throw Error(`Critical error fetching data in ${endPoint}`);\n }\n\n if (response?.status === 404) {\n return null;\n }\n\n return response;\n })\n .catch((error) => {\n throw Error(`Critical error fetching data in ${endPoint}: ${error}`);\n });\n};\n","import create from 'zustand';\n\nimport { EUR, USD } from '@/config/appConstants';\nimport { GeoClientData } from '@/lib/AbstractAPI/types';\nimport { Currency } from '@/types';\n\ntype GeoLocationHook = {\n geoLocation: GeoClientData;\n isSet: boolean;\n getGeoLocation: () => GeoClientData;\n setGeoLocation: (geoLocation: GeoClientData) => void;\n getGeoLocationCurrencyCode: () => Currency;\n};\n\nexport const useGeoLocation = create((set, get) => ({\n geoLocation: {} as GeoClientData,\n isSet: false,\n getGeoLocation: (): GeoClientData => {\n return get().geoLocation;\n },\n\n setGeoLocation: (geoLocation: GeoClientData) => {\n if (geoLocation === get().geoLocation) return;\n set(() => ({\n isSet: true,\n geoLocation: geoLocation,\n }));\n },\n\n getGeoLocationCurrencyCode: (): Currency => {\n const currency = get().geoLocation.currency.currency_code;\n\n return currency.toUpperCase() === EUR.toUpperCase() ? EUR : USD;\n },\n}));\n","import create from 'zustand';\n\nimport {\n BILLING_MODE_MONTH,\n DEFAULT_USER_CURRENCY,\n INTERVAL_COUNT_FOR_BILLING_MONTH,\n} from '@/config/appConstants';\nimport { IntervalBillingMode, Currency, ProductTypes, BillingMode } from '@/types';\nimport { getIntervalCountByBillingMode } from '@/utils/helpers';\n\ntype SelectedUserProductData = {\n selectedProduct: ProductTypes | null;\n selectedProductCurrency: Currency;\n selectedProductIntervalBillingMode: IntervalBillingMode;\n selectedProductBillingMode: BillingMode;\n};\n\ntype UserProductHook = {\n isSelectedProductCurrency: boolean;\n selectedProduct: ProductTypes | null;\n selectedProductCurrency: Currency;\n selectedProductIntervalBillingMode: IntervalBillingMode;\n selectedProductBillingMode: BillingMode;\n getSelectedUserProduct: () => SelectedUserProductData;\n isSelectedProductCurrencySet: () => boolean;\n setSelectedProduct: (product: ProductTypes | null, intervalCount?: IntervalBillingMode) => void;\n setSelectedProductBillingMode: (billingMode: BillingMode) => void;\n setSelectedProductCurrency: (currency: Currency) => void;\n};\n\nexport const useUserProducts = create((set, get) => ({\n isSelectedProductCurrency: false,\n selectedProduct: null,\n selectedProductCurrency: DEFAULT_USER_CURRENCY,\n selectedProductIntervalBillingMode: INTERVAL_COUNT_FOR_BILLING_MONTH,\n selectedProductBillingMode: BILLING_MODE_MONTH,\n\n getSelectedUserProduct: (): SelectedUserProductData => {\n return {\n selectedProduct: get().selectedProduct,\n selectedProductCurrency: get().selectedProductCurrency,\n selectedProductIntervalBillingMode: get().selectedProductIntervalBillingMode,\n selectedProductBillingMode: get().selectedProductBillingMode,\n };\n },\n\n setSelectedProduct: (product: ProductTypes | null, intervalCount?: IntervalBillingMode) => {\n if (product === get().selectedProduct) return;\n set(() => ({\n isSelectedProductCurrency: true,\n selectedProduct: product,\n selectedProductIntervalBillingMode: intervalCount\n ? intervalCount\n : get().selectedProductIntervalBillingMode,\n }));\n },\n\n setSelectedProductBillingMode: (billingMode: BillingMode) => {\n const selectedProductIntervalBillingMode = getIntervalCountByBillingMode(billingMode);\n set(() => ({\n selectedProductBillingMode: billingMode,\n selectedProductIntervalBillingMode: selectedProductIntervalBillingMode,\n }));\n },\n\n setSelectedProductCurrency: (currency: Currency) => {\n if (currency === get().selectedProductCurrency) return;\n\n set(() => ({\n isSelectedProductCurrency: true,\n selectedProductCurrency: currency,\n }));\n },\n\n isSelectedProductCurrencySet: (): boolean => {\n return get().isSelectedProductCurrency;\n },\n}));\n","import { GEOLOCATION_SERVICE_API_KEY, GEOLOCATION_SERVICE_URL } from '@/config';\nimport { GeoClientData } from '@/lib/AbstractAPI/types';\nimport axios from '@/lib/axios';\n\nexport const getGeoClientData = (): Promise => {\n const geoClientURL = GEOLOCATION_SERVICE_URL;\n const geoClientKey = GEOLOCATION_SERVICE_API_KEY;\n const url = `${geoClientURL}?api_key=${geoClientKey}`;\n\n return axios.get(url).then((response: any) => response);\n};\n","import * as React from 'react';\nimport { useEffect, useState } from 'react';\nimport { useErrorHandler } from 'react-error-boundary';\nimport { useSearchParams } from 'react-router-dom';\n\nimport { PublicFooter } from '@/components/Footer';\nimport { PublicHeader } from '@/components/Header';\nimport { getMeInfo } from '@/features/me';\nimport { useGeoLocation } from '@/hooks/useGeoLocation';\nimport { useMe } from '@/hooks/useMe';\nimport { useUserProducts } from '@/hooks/useUserProducts';\nimport { getGeoClientData } from '@/lib/AbstractAPI/api/getGeoLocation';\nimport { GeoClientData } from '@/lib/AbstractAPI/types';\nimport { getAllAxiosData, GetterAxios } from '@/lib/axios';\nimport storage from '@/utils/storage';\n\ntype PublicLayoutProps = {\n children: React.ReactNode;\n className?: string;\n};\n\nexport const PublicLayout = (props: any) => {\n const { children, className }: PublicLayoutProps = props;\n const handleError = useErrorHandler();\n const { setMe } = useMe();\n const { setGeoLocation, getGeoLocationCurrencyCode } = useGeoLocation();\n const { setSelectedProductCurrency } = useUserProducts();\n const [searchParams] = useSearchParams();\n const [isOriginSetted, setIsOriginSetted] = useState(false);\n\n useEffect(() => {\n storage.setExternalOrigin(searchParams.get('origin'));\n setIsOriginSetted(true);\n\n const setGeolocationData = (geoLocation: GeoClientData) => {\n setGeoLocation(geoLocation);\n setSelectedProductCurrency(getGeoLocationCurrencyCode());\n };\n const getters: GetterAxios[] = [{ callback: getGeoClientData }];\n const setters: any = [setGeolocationData];\n\n const pageData = getAllAxiosData(getters, setters);\n pageData.catch((error) => {\n handleError(error);\n });\n }, [\n handleError,\n setSelectedProductCurrency,\n getGeoLocationCurrencyCode,\n setGeoLocation,\n searchParams,\n ]);\n\n useEffect(() => {\n const getters: GetterAxios[] = [{ callback: getMeInfo }];\n const setters: any = [setMe];\n\n const pageData = getAllAxiosData(getters, setters);\n pageData.catch((error) => {\n handleError(error);\n });\n }, [handleError, setMe]);\n\n return (\n
    \n
    \n {isOriginSetted && }\n
    {children}
    \n \n
    \n
    \n );\n};\n","import * as React from 'react';\nimport styled from 'styled-components';\n\nimport { PublicCleanFooter } from '@/components/Footer';\n\nconst PublicCleanLayoutWrap = styled.div`\n .public__clean__layout__wrap {\n display: grid;\n grid-template-columns: 3fr 0fr;\n height: 100%;\n overflow-y: auto;\n }\n .public__clean__layout__container {\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n }\n\n .public__clean__layout__content {\n display: flex;\n height: 100%;\n }\n`;\n\ntype PublicCleanLayoutProps = {\n children: React.ReactNode;\n className?: string;\n};\n\nexport const PublicCleanLayout = (props: any) => {\n const { children }: PublicCleanLayoutProps = props;\n\n return (\n \n
    \n
    \n
    \n
    \n
    \n
    {children}
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n );\n};\n","import { useTranslation, Trans } from 'react-i18next';\n\nexport const NewFreeReminderTemplate = () => {\n const { t } = useTranslation();\n const legalLabel = t('PrivateLayout.reminderBodyNewFreeLinks').replace(\n '{{contactURL}}',\n t('PublicFooter.Support.contactURL')\n );\n return (\n <>\n {t('PrivateLayout.reminderBodyNewFree')} \n
    \n }\n }\n >\n {legalLabel}\n \n \n );\n};\n","import * as React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport { getGuessURL } from '@/utils/helpers';\n\nexport const NoBillingReminderTemplate = () => {\n const { t } = useTranslation();\n\n return (\n <>\n {t('PrivateLayout.reminderBodyNewFree')} \n \n {t('PrivateLayout.reminderNoBillingNewFree')}\n \n \n );\n};\n","import * as React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport { Button } from '@/components/Elements';\nimport { Currency, IntervalBillingMode, ProductTypes } from '@/types';\n\nexport type NotificationTemplatesProps = {\n onActionButton: (\n product: ProductTypes,\n currency: Currency,\n intervalBillingMode: IntervalBillingMode | null\n ) => void;\n onCancelButton: () => void;\n product: ProductTypes;\n currency: Currency;\n intervalBillingMode: IntervalBillingMode | null;\n};\n\nexport const PaymentReminderTemplate = ({\n onActionButton,\n onCancelButton,\n product,\n currency,\n intervalBillingMode,\n}: NotificationTemplatesProps) => {\n const { t } = useTranslation();\n return (\n \n \n {t('Forms.cancelPendingProductShort')}\n \n\n onActionButton(product, currency, intervalBillingMode)}\n >\n {t('Forms.Checkout.reminder.goToCheckoutShort')}\n \n \n );\n};\n","import { CreditCardIcon } from '@heroicons/react/outline';\nimport * as React from 'react';\nimport { Translation } from 'react-i18next';\n\nimport { NewFreeReminderTemplate } from '@/components/Notifications/NotificationTemplates/NewFreeReminderTemplate';\nimport { NoBillingReminderTemplate } from '@/components/Notifications/NotificationTemplates/NoBillingReminderTemplate';\nimport {\n NOTIFICATION_CHECKOUT_REMINDER_ID,\n NOTIFICATION_NEW_FREE_REMINDER_ID,\n NOTIFICATION_NO_BILLING_REMINDER_ID,\n} from '@/config';\nimport { BillingDetails } from '@/features/billing';\nimport { useNotificationStore } from '@/stores/notifications';\nimport { Currency, IntervalBillingMode, Me, ProductTypes } from '@/types';\nimport { isNewFreeUserFromMe } from '@/utils/helpers';\n\nimport { PaymentReminderTemplate } from '../NotificationTemplates/PaymentReminderTemplate';\n\nexport const createNoBillingReminderNotification = () => {\n useNotificationStore.getState().addNotification({\n id: NOTIFICATION_NO_BILLING_REMINDER_ID,\n type: 'cardReminder',\n title: (\n \n {(t) => t('PrivateLayout.reminderTitle')}\n \n ),\n closeable: false,\n message: ,\n });\n};\n\nexport const showNotificationNoBilling = (billingDetails: BillingDetails | null, me: Me) => {\n if (!billingDetails?.alreadySaved && isNewFreeUserFromMe(me)) {\n createNoBillingReminderNotification();\n } else {\n dismissNoBillingReminderNotification();\n }\n};\n\nexport const createNewFreeNotification = () => {\n useNotificationStore.getState().addNotification({\n id: NOTIFICATION_NEW_FREE_REMINDER_ID,\n type: 'cardReminder',\n title: (\n \n {(t) => t('PrivateLayout.reminderTitle')}\n \n ),\n closeable: false,\n message: ,\n });\n};\n\nexport const showNotificationNewFree = (billingDetails: BillingDetails | null, me: Me) => {\n if (billingDetails?.alreadySaved && isNewFreeUserFromMe(me)) {\n createNewFreeNotification();\n } else {\n dismissNewFreeNotification();\n }\n};\n\nexport const dismissNoBillingReminderNotification = () =>\n useNotificationStore.getState().dismissNotification(NOTIFICATION_NO_BILLING_REMINDER_ID);\n\nexport const dismissNewFreeNotification = () =>\n useNotificationStore.getState().dismissNotification(NOTIFICATION_NEW_FREE_REMINDER_ID);\n\nexport const createPaymentReminderNotification = (\n product: ProductTypes,\n currency: Currency,\n intervalBillingMode: IntervalBillingMode | null,\n onActionButton: (\n product: ProductTypes,\n currency: Currency,\n intervalBillingMode: IntervalBillingMode | null\n ) => void,\n onCancelButton: (product: ProductTypes) => void\n) => {\n useNotificationStore.getState().addNotification({\n id: `${NOTIFICATION_CHECKOUT_REMINDER_ID}${product?.mdirectorId}`,\n type: 'warning',\n title: (\n \n {(t) => t('Forms.Checkout.reminder.description')}\n \n ),\n message: (\n onCancelButton(product)}\n product={product}\n currency={currency}\n intervalBillingMode={intervalBillingMode}\n />\n ),\n customIcon: ,\n closeable: false,\n accent: 'left',\n });\n};\n","import { PAYMENTS_BACKEND_URL } from '@/config';\nimport axios from '@/lib/axios';\nimport { ServiceTypes } from '@/types';\n\nexport const getUserServices = (): Promise => {\n return axios.get(PAYMENTS_BACKEND_URL + 'my-services').then((response: any) => {\n return parseServices(response._embedded?.services as ServiceTypes[]);\n });\n};\nconst SERVICES_DICTIONARY: any = {\n // Service name from backend API : service name\n MDirector: 'email_marketing',\n Landings: 'landing_optimizer',\n Transaccionales: 'email_transactional',\n Automation: 'marketing_automation',\n Payments: 'payments',\n};\n\nconst parseServices = (services: ServiceTypes[] | undefined): ServiceTypes[] => {\n if (services && services.length > 0) {\n const newServices: any[] = services\n .map(function (service: ServiceTypes) {\n const name = SERVICES_DICTIONARY[service.service];\n if (!name) {\n return null;\n }\n service.service = name;\n return service;\n })\n .filter(function (service: any) {\n return service;\n });\n return newServices;\n }\n return [];\n};\n","import * as React from 'react';\nimport styled from 'styled-components';\n\nimport { Spinner } from '@/components/Elements';\n\nconst SpinnerContainerWrap = styled.div`\n .spinner__container {\n min-height: calc(100vh - 186px);\n }\n`;\n\nexport type SpinnerContainerProps = {\n className?: string;\n};\n\nexport const SpinnerContainer = ({ className }: SpinnerContainerProps) => {\n return (\n \n
    \n \n
    \n
    \n );\n};\n","import { MDSidebar } from 'md-sidebarjs';\nimport { useEffect, useState } from 'react';\nimport { useErrorHandler } from 'react-error-boundary';\nimport { useTranslation } from 'react-i18next';\n\nimport { DEFAULT_THEME } from '@/config';\nimport { getUserServices } from '@/features/myServices';\nimport { useAuth } from '@/lib/auth';\nimport { getAllAxiosData, GetterAxios } from '@/lib/axios';\nimport { ServiceTypes } from '@/types';\nimport storage from '@/utils/storage';\n\nimport { SpinnerContainer } from '../Containers/SpinnerContainer';\n\nexport const PrivateSidebar = () => {\n const { getAuthInfo } = useAuth();\n const { i18n } = useTranslation();\n const [userServices, setUserServices] = useState(undefined);\n const handleError = useErrorHandler();\n const authInfo = getAuthInfo();\n useEffect(() => {\n if (!userServices) {\n const getters: GetterAxios[] = [{ callback: getUserServices, parameters: {} }];\n const setters: any = [setUserServices];\n\n const pageData = getAllAxiosData(getters, setters);\n pageData.catch((error) => {\n handleError(error);\n });\n }\n }, [userServices, handleError]);\n\n if (!userServices) {\n return ;\n }\n storage.setSidebarUserServices(authInfo.getGroupId(), authInfo.getUserId(), userServices);\n return (\n \n );\n};\n","import { PAYMENTS_BACKEND_URL } from '@/config';\nimport axios from '@/lib/axios';\nimport { UserProductTypes } from '@/types';\n\nexport const getUserProducts = ({ groupId }: { groupId: string }): Promise => {\n if (groupId) {\n return axios\n .get(PAYMENTS_BACKEND_URL + 'my-products', {\n params: { groupId: groupId },\n })\n .then((response: any) => {\n return response._embedded?.my_products;\n });\n }\n return new Promise((resolve) => {\n resolve([]);\n });\n};\n","import { useMutation } from 'react-query';\n\nimport { PAYMENTS_BACKEND_URL } from '@/config';\nimport axios from '@/lib/axios';\nimport { MutationConfig, queryClient } from '@/lib/react-query';\nimport { UserProductTypes } from '@/types';\n\nexport const deleteUserPendingProduct = ({\n mdirectorId,\n}: {\n mdirectorId: string;\n}): Promise => {\n const endPoint = PAYMENTS_BACKEND_URL + 'my-products/' + mdirectorId;\n return axios\n .delete(endPoint, {\n validateStatus: (status) => status < 500,\n })\n .then((response: any) => {\n return response.data;\n });\n};\n\ntype UseDeleteUserPendingProductOptions = {\n config?: MutationConfig;\n};\n\nexport const useDeleteUserPendingProduct = ({\n config,\n}: UseDeleteUserPendingProductOptions = {}) => {\n return useMutation({\n onMutate: async (creatingNotification: any) => {\n await queryClient.cancelQueries(['my-products', creatingNotification]);\n\n const previousDetails = queryClient.getQueryData([\n 'my-products',\n creatingNotification,\n ]);\n\n queryClient.setQueryData(['my-products', creatingNotification], {\n ...previousDetails,\n ...creatingNotification.data,\n });\n\n return { previousDetails: previousDetails };\n },\n onError: (_, __, context: any) => {\n if (context?.previousDetails) {\n queryClient.setQueryData(['my-products', context.previousDetails], context.previousDetails);\n }\n },\n onSuccess: (data) => {\n return queryClient.refetchQueries(['my-products', data]);\n },\n ...config,\n mutationFn: deleteUserPendingProduct,\n });\n};\n","import { useMutation } from 'react-query';\n\nimport { PAYMENTS_BACKEND_URL } from '@/config';\nimport axios from '@/lib/axios';\nimport { MutationConfig, queryClient } from '@/lib/react-query';\nimport { UserProductTypes } from '@/types';\n\nexport const reactivateUserCancelledProduct = ({\n mdirectorId,\n}: {\n mdirectorId: string;\n}): Promise => {\n const endPoint = PAYMENTS_BACKEND_URL + 'my-products/' + mdirectorId;\n return axios\n .patch(endPoint, {\n validateStatus: (status: number) => status < 500,\n })\n .then((response: any) => {\n return response.data;\n });\n};\n\ntype UseReactivateUserCancelledProductOptions = {\n config?: MutationConfig;\n};\n\nexport const useReactivateUserCancelledProduct = ({\n config,\n}: UseReactivateUserCancelledProductOptions = {}) => {\n return useMutation({\n onMutate: async (creatingNotification: any) => {\n await queryClient.cancelQueries(['my-products', creatingNotification]);\n\n const previousDetails = queryClient.getQueryData([\n 'my-products',\n creatingNotification,\n ]);\n\n queryClient.setQueryData(['my-products', creatingNotification], {\n ...previousDetails,\n ...creatingNotification.data,\n });\n\n return { previousDetails: previousDetails };\n },\n onError: (_, __, context: any) => {\n if (context?.previousDetails) {\n queryClient.setQueryData(['my-products', context.previousDetails], context.previousDetails);\n }\n },\n onSuccess: (data) => {\n return queryClient.refetchQueries(['my-products', data]);\n },\n ...config,\n mutationFn: reactivateUserCancelledProduct,\n });\n};\n","import { PAYMENTS_BACKEND_URL } from '@/config';\nimport axios from '@/lib/axios';\n\nimport { BillingDetails } from '../types';\n\nexport const getBillingDetails = ({ groupId }: { groupId: string }): Promise => {\n const endPoint = PAYMENTS_BACKEND_URL + 'billing/details/' + groupId;\n\n return axios\n .get(endPoint, {\n validateStatus: (status) => status < 500,\n })\n .then((response: any) => {\n if (typeof response === 'string') {\n throw Error(`Critical error fetching data in ${endPoint}`);\n }\n\n if (response?.status === 404) {\n return {\n groupId: groupId,\n alreadySaved: false,\n };\n }\n\n response.alreadySaved = false;\n if (response?.companyCif && response?.companyCifDocumentType) {\n response.alreadySaved = true;\n }\n\n return response;\n })\n .catch((error) => {\n throw Error(`Critical error fetching data in ${endPoint}: ${error}`);\n });\n};\n","import * as React from 'react';\nimport { Translation } from 'react-i18next';\nimport { useMutation } from 'react-query';\n\nimport { iFormUserAccountFields } from '@/components/Form/FormUserAccount';\nimport { NOTIFICATION_DEFAULT_AUTOCLOSE_TIME_IN_MS, PAYMENTS_BACKEND_URL } from '@/config';\nimport axios from '@/lib/axios';\nimport { MutationConfig, queryClient } from '@/lib/react-query';\nimport { useNotificationStore } from '@/stores/notifications';\n\nimport { WRONG_CIF, WRONG_DATA_COUNTRIES } from '..';\nimport { BillingDetails } from '../types';\n\nexport type UpdateBillingDetails = {\n data: iFormUserAccountFields;\n groupId: string;\n};\n\nexport const updateBillingDetails = ({\n data,\n groupId,\n}: UpdateBillingDetails): Promise => {\n const endPoint = PAYMENTS_BACKEND_URL + 'billing/details/' + groupId;\n return axios\n .put(endPoint, data, {\n validateStatus: (status) => status < 500,\n })\n .then((response: any) => {\n if (typeof response === 'string') {\n throw Error(`Critical error fetching data in ${endPoint}`);\n }\n\n if (response?.status === 406) {\n if (response?.detail === 'No match') {\n return {\n groupId: groupId,\n hasError: WRONG_DATA_COUNTRIES,\n };\n }\n\n return {\n groupId: groupId,\n hasError: WRONG_CIF,\n };\n }\n\n return response;\n })\n .catch((error) => {\n throw Error(`Critical error fetching data in ${endPoint}: ${error}`);\n });\n};\n\ntype UseUpdateDetailsOptions = {\n config?: MutationConfig;\n};\n\nexport const useUpdateBillingDetails = ({ config }: UseUpdateDetailsOptions = {}) => {\n const { addNotification } = useNotificationStore();\n\n const addNotificationWarning = (hasError: number) => {\n addNotification({\n type: 'warning',\n title: {(t) => t('Forms.Checkout.warning.billingDataWarning')},\n message: (\n \n {(t) => {\n return hasError === WRONG_CIF\n ? t('Forms.Checkout.warning.billingDataErrorCif')\n : t('Forms.Checkout.warning.billingDataErrorCountries');\n }}\n \n ),\n autoClose: NOTIFICATION_DEFAULT_AUTOCLOSE_TIME_IN_MS,\n });\n };\n\n return useMutation({\n onMutate: async (updatingDetails: any) => {\n await queryClient.cancelQueries(['details', updatingDetails?.groupId]);\n\n const previousDetails = queryClient.getQueryData([\n 'details',\n updatingDetails?.groupId,\n ]);\n\n queryClient.setQueryData(['details', updatingDetails?.groupId], {\n ...previousDetails,\n ...updatingDetails.data,\n id: updatingDetails.groupId,\n });\n\n return { previousDetails: previousDetails };\n },\n onError: (_, __, context: any) => {\n if (context?.previousDetails) {\n queryClient.setQueryData(['details', context.previousDetails.id], context.previousDetails);\n }\n },\n onSuccess: (data) => {\n queryClient.refetchQueries(['details', data.id]);\n if (data.hasError) {\n addNotificationWarning(data.hasError);\n return;\n }\n\n addNotification({\n type: 'success',\n title: {(t) => t('Forms.Checkout.success.billingDataSuccess')},\n message: (\n \n {(t) => {\n return data.createdAt\n ? t('Forms.Checkout.success.billingDataSuccessDisclaimer')\n : t('Forms.Checkout.success.billingDataSuccessDisclaimerFistTime');\n }}\n \n ),\n autoClose: NOTIFICATION_DEFAULT_AUTOCLOSE_TIME_IN_MS,\n });\n },\n ...config,\n mutationFn: updateBillingDetails,\n });\n};\n","export * from './types';\n\nexport * from './api/getDetails';\nexport * from './api/updateDetails';\n\nexport const WRONG_CIF = 1;\nexport const WRONG_DATA_COUNTRIES = 2;\n","import create from 'zustand';\n\nimport { BillingDetails, getBillingDetails as getBillingDetailsAPI } from '@/features/billing';\nimport { getAllAxiosData, GetterAxios } from '@/lib/axios';\n\ntype UserBillingDetailsHook = {\n billingDetails: BillingDetails;\n isSet: boolean;\n initBillingDetails: (groupId: string) => void;\n setBillingDetails: (billingDetails: BillingDetails) => void;\n getBillingDetails: () => BillingDetails;\n isBillingDetailsSet: () => boolean;\n groupId: string;\n};\n\nconst defaultBillingDetails: BillingDetails = {\n address: '',\n alreadySaved: false,\n city: '',\n companyCif: '',\n companyCifDocumentType: '',\n companyName: '',\n countryId: '',\n createdAt: '',\n currency: null,\n groupId: '',\n id: '',\n lastname: '',\n name: '',\n phone: '',\n postalCode: '',\n provinceId: '',\n};\n\nexport const useGroupBillingDetails = create((set, get) => {\n const getBillingDetails = (): BillingDetails => get().billingDetails;\n\n const setBillingDetails = (billingDetails: BillingDetails) =>\n set(() => ({ isSet: true, billingDetails: billingDetails }));\n\n const setGroupId = (groupId: string) => {\n set(() => ({ groupId }));\n };\n\n const initBillingDetails = (groupId: string) => {\n const getters: GetterAxios[] = [{ callback: getBillingDetailsAPI, parameters: { groupId } }];\n const setters: any = [setBillingDetails];\n\n setGroupId(groupId);\n\n getAllAxiosData(getters, setters).then(() => {\n // Nothing to do here\n });\n };\n const isBillingDetailsSet = (): boolean => {\n return get().isSet;\n };\n\n return {\n groupId: '',\n billingDetails: defaultBillingDetails,\n isSet: false,\n initBillingDetails,\n setBillingDetails,\n getBillingDetails,\n isBillingDetailsSet,\n };\n});\n","import { useGTMDispatch } from '@elgorditosalsero/react-gtm-hook';\nimport MDNotice from 'md-noticejs';\nimport MDZendeskjs from 'md-zendeskjs';\nimport * as React from 'react';\nimport { useEffect, useState } from 'react';\nimport { useErrorHandler } from 'react-error-boundary';\nimport { useTranslation } from 'react-i18next';\nimport { useParams } from 'react-router-dom';\n\nimport { ErrorPage as ErrorPageComponent } from '@/components/Elements/ErrorPage';\nimport { PrivateFooter } from '@/components/Footer';\nimport { PrivateHeader } from '@/components/Header';\nimport {\n createPaymentReminderNotification,\n dismissNewFreeNotification,\n dismissNoBillingReminderNotification,\n showNotificationNewFree,\n showNotificationNoBilling,\n} from '@/components/Notifications/NotificationHelpers/helpers';\nimport { PrivateSidebar } from '@/components/Sidebar';\nimport {\n APP_BACKEND_LOGOUT_URL,\n APP_HOME_URL,\n APP_SIGNUP_URL,\n DEFAULT_THEME,\n SIGNUP_BACKEND_URL,\n} from '@/config';\nimport { EUR, INTERVAL_COUNT_FOR_BILLING_MONTH, REQUEST_SUCCESS } from '@/config/appConstants';\nimport { getMeInfo } from '@/features/me';\nimport { getUserProducts, useDeleteUserPendingProduct } from '@/features/myProducts';\nimport { useGroupBillingDetails } from '@/hooks/useGroupBillingDetails';\nimport { useMe } from '@/hooks/useMe';\nimport { useUserProducts } from '@/hooks/useUserProducts';\nimport { getAunoaInitData, loadAunoa } from '@/lib/Aunoa/aunoa';\nimport { useAuth } from '@/lib/auth';\nimport { getAllAxiosData, GetterAxios } from '@/lib/axios';\nimport { buildGTMNavigationData, sendEventGtm } from '@/lib/gtm/gtmUtils';\nimport {\n BillingMode,\n Currency,\n iAuthInfo,\n IntervalBillingMode,\n ProductTypes,\n responseStatus,\n UserProductTypes,\n} from '@/types';\nimport {\n filterUserProductsByPending,\n getUserData,\n isBillingMode,\n buildProductsCheckingInStorageForPendings,\n isAppSumo,\n} from '@/utils/helpers';\nimport storage from '@/utils/storage';\n\ntype PrivateLayoutProps = {\n children: React.ReactNode;\n hiddenHeader: boolean;\n hiddenFooter: boolean;\n hiddenNotification: boolean;\n};\n\nexport const PrivateLayout = ({\n children,\n hiddenHeader,\n hiddenFooter,\n hiddenNotification,\n}: PrivateLayoutProps) => {\n const { t, i18n } = useTranslation();\n const handleError = useErrorHandler();\n const sendDataToGTM = useGTMDispatch();\n const { billingMode } = useParams();\n const { setMe, getMe, isMeSet } = useMe();\n const { initBillingDetails, getBillingDetails, isBillingDetailsSet } = useGroupBillingDetails();\n\n const {\n setSelectedProduct,\n setSelectedProductCurrency,\n getSelectedUserProduct,\n setSelectedProductBillingMode,\n isSelectedProductCurrencySet,\n } = useUserProducts();\n\n const [isLogged, setIsLogged] = useState(false);\n const [isErrorLogged, setIsErrorLogged] = useState(false);\n const [userProducts, setUserProducts] = useState(null);\n\n const { login, getAuthInfo, removeItemInLocalStorage } = useAuth();\n\n const authInfo: iAuthInfo = getAuthInfo();\n\n const deleteUserPendingProductMutation = useDeleteUserPendingProduct();\n\n useEffect(() => {\n if (!isLogged) {\n storage.clearAuthInfo();\n\n login((status: responseStatus) => {\n if (status === REQUEST_SUCCESS) {\n setIsLogged(true);\n } else {\n setIsErrorLogged(true);\n }\n });\n }\n });\n\n useEffect(() => {\n const setProducts = (userProducts: UserProductTypes[]) => {\n userProducts = buildProductsCheckingInStorageForPendings(\n userProducts,\n storage\n ) as UserProductTypes[];\n userProducts && setUserProducts(userProducts);\n const userProduct = filterUserProductsByPending(userProducts),\n product = userProduct?.product;\n\n userProducts &&\n product &&\n setSelectedProduct(\n product,\n (product?.prices[0].recurring?.interval_count as IntervalBillingMode) ||\n INTERVAL_COUNT_FOR_BILLING_MONTH\n );\n\n userProducts &&\n product &&\n setSelectedProductCurrency((product?.prices[0].currency as Currency) || EUR);\n\n billingMode &&\n isBillingMode(billingMode as BillingMode) &&\n setSelectedProductBillingMode(billingMode as BillingMode);\n };\n\n if (isLogged) {\n const groupId = authInfo.getGroupId();\n const getters: GetterAxios[] = [\n { callback: getUserProducts, parameters: { groupId } },\n { callback: getMeInfo },\n ];\n const setters: any = [setProducts, setMe];\n const pageData = getAllAxiosData(getters, setters);\n\n initBillingDetails(groupId);\n\n pageData.catch((error) => {\n handleError(error);\n });\n }\n }, [\n isLogged,\n authInfo,\n handleError,\n initBillingDetails,\n setSelectedProduct,\n setSelectedProductCurrency,\n setSelectedProductBillingMode,\n billingMode,\n setMe,\n ]);\n\n useEffect(() => {\n if (isLogged && isMeSet() && isBillingDetailsSet()) {\n loadAunoa(getAunoaInitData(getMe(), getBillingDetails()));\n\n const dismissAllNotifications = () => {\n dismissNoBillingReminderNotification();\n dismissNewFreeNotification();\n };\n\n if (!isSelectedProductCurrencySet()) setSelectedProductCurrency(getMe().userInfo.currency);\n\n const onReminderCancelButton = async (product: ProductTypes | null | undefined) => {\n if (!product) return;\n storage.clearUserData();\n if (!isAppSumo(getMe())) {\n await deleteUserPendingProductMutation.mutateAsync({\n mdirectorId: product.mdirectorId,\n });\n }\n window.location.reload();\n };\n\n const onReminderActionButton = (\n product: ProductTypes,\n currency: Currency,\n intervalBillingMode: IntervalBillingMode | null\n ) => {\n product && currency && intervalBillingMode && {}; // Unused variables. Making linter happy by using them.\n window.location.assign('/account/my-rate/checkout');\n };\n\n if (!hiddenNotification) {\n dismissAllNotifications();\n showNotificationNoBilling(getBillingDetails(), getMe());\n showNotificationNewFree(getBillingDetails(), getMe());\n const userProduct = userProducts && filterUserProductsByPending(userProducts);\n const { selectedProductIntervalBillingMode, selectedProduct, selectedProductCurrency } =\n getSelectedUserProduct();\n\n selectedProduct &&\n userProduct &&\n createPaymentReminderNotification(\n selectedProduct,\n selectedProductCurrency,\n selectedProductIntervalBillingMode,\n onReminderActionButton,\n onReminderCancelButton\n );\n }\n }\n }, [\n getBillingDetails,\n isBillingDetailsSet,\n isLogged,\n isMeSet,\n t,\n hiddenNotification,\n getSelectedUserProduct,\n userProducts,\n deleteUserPendingProductMutation,\n getMe,\n isSelectedProductCurrencySet,\n setSelectedProductCurrency,\n ]);\n\n useEffect(() => {\n if (isLogged && isMeSet() && isBillingDetailsSet() && userProducts) {\n sendEventGtm(\n buildGTMNavigationData(getUserData(getMe(), i18n), getBillingDetails(), userProducts),\n sendDataToGTM\n );\n }\n }, [\n isLogged,\n getMe,\n isMeSet,\n getBillingDetails,\n isBillingDetailsSet,\n userProducts,\n i18n,\n sendDataToGTM,\n ]);\n\n useEffect(() => {\n const getNotice = () => {\n isLogged &&\n MDNotice.init({\n el: '#noticeContainer',\n url: SIGNUP_BACKEND_URL + 'notice/payments',\n cors: true,\n userData: {\n user: authInfo.getUserName(),\n userType: authInfo.getRolId(),\n product: 'payments',\n name: authInfo.getUserName(),\n lang: i18n.language,\n },\n });\n };\n\n const observer = new MutationObserver(() => {\n const noticeContainer = document.getElementById('noticeContainer');\n if (noticeContainer) {\n getNotice();\n observer.disconnect();\n }\n });\n observer.observe(document.body, { childList: true, subtree: true });\n }, [isLogged, authInfo, i18n]);\n\n if (isLogged && isMeSet() && isBillingDetailsSet()) {\n const onChangeLanguage = (lang: string) => {\n void i18n.changeLanguage(lang);\n };\n\n const openSupportChat = () => {\n if (!window.mdZendeskjs) {\n window.mdZendeskjs = new MDZendeskjs({\n lang: i18n.language,\n classError: 'md__header__error',\n });\n const onLoadSucess = () => {\n window.mdZendeskjs.openPopup();\n };\n const onLoadFail = () => {};\n window.mdZendeskjs.init(onLoadSucess, onLoadFail);\n } else {\n window.mdZendeskjs.openPopup();\n }\n };\n\n const appClass = 'outer-wrapper';\n\n document.body.classList.add('payments', DEFAULT_THEME);\n\n return (\n
    \n
    \n \n
    \n
    \n
    \n {!hiddenHeader && (\n t('PrivateHeader.helpURL')}\n onLogout={() => removeItemInLocalStorage}\n openSupportChat={openSupportChat}\n />\n )}\n
    \n
    \n
    \n
    \n
    \n
    {children}
    \n
    \n
    \n
    {!hiddenFooter && }
    \n
    \n
    \n
    \n );\n }\n\n if (isErrorLogged) {\n return ;\n }\n\n return <>;\n};\n","import { AUNOA_BOT_URL, AUNOA_BOT_USER_KEY } from '@/config';\nimport { DEFAULT_MISSING_EMAIL } from '@/config/appConstants';\nimport { BillingDetails } from '@/features/billing';\nimport { Me } from '@/types';\n\nexport type AunoaProps = {\n titleMark?: string;\n callback: () => void;\n name: string;\n email: string;\n gruId: string;\n type: string;\n salesarea: string;\n};\n\nexport const loadAunoa = ({ callback, name, email, gruId, type, salesarea }: AunoaProps) => {\n const scriptId = 'AUNOA_BOT';\n const existingScript = document.getElementById(scriptId);\n\n if (!existingScript && AUNOA_BOT_URL && AUNOA_BOT_USER_KEY) {\n window.AUNOA_USER_DATA = {\n idnombre: name,\n idemail: email,\n idgru: gruId,\n idtipo: type,\n idsales: salesarea,\n };\n\n const script = document.createElement('script');\n script.src = AUNOA_BOT_URL + AUNOA_BOT_USER_KEY;\n script.id = scriptId;\n document.body.appendChild(script);\n\n script.onload = () => {\n callback && callback();\n };\n }\n if (existingScript && callback) callback();\n};\n\nexport const getAunoaInitData = (me: Me, billingDetails: BillingDetails) => {\n return {\n callback: () => console.info('Aunoa BOT loaded.'),\n name: me.userInfo.name + ' ' + me.userInfo.lastName,\n email: me.userInfo.email || DEFAULT_MISSING_EMAIL,\n gruId: me.userInfo.groupId,\n type: me.userInfo.rolId,\n salesarea: billingDetails.countryId,\n };\n};\n","export default __webpack_public_path__ + \"static/media/not-found.8d3c0cf3.png\";","import * as React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport notFound from '@/assets/not-found.png';\nimport { PAYMENTS_FRONTEND_URL } from '@/config';\n\nexport const NotFound = () => {\n const { t } = useTranslation();\n\n return (\n
    \n
    \n \"Not\n

    {t('NotFound.title')}

    \n

    \n {t('NotFound.description')}\n

    \n \n {t('NotFound.back')}\n \n
    \n
    \n );\n};\n","import * as React from 'react';\n\nimport { NotFound as NotFoundComponent } from '@/components/Elements/NotFound';\n\nexport const NotFound = () => {\n return ;\n};\n","import storage from '@/utils/storage';\nexport const Logout = () => {\n storage.clear();\n return <>;\n};\n","import * as React from 'react';\nimport { Outlet } from 'react-router-dom';\n\nimport { PrivateLayout } from '@/components/Layout';\n\ntype PrivateLayoutContainerProps = {\n hiddenHeader?: boolean;\n hiddenFooter?: boolean;\n hiddenNotification?: boolean;\n};\n\nexport const PrivateLayoutContainer = ({\n hiddenHeader = false,\n hiddenFooter = false,\n hiddenNotification = false,\n}: PrivateLayoutContainerProps) => {\n return (\n \n \n \n );\n};\n","export default __webpack_public_path__ + \"static/media/gear.0ef72293.png\";","import clsx from 'clsx';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport {\n BILLING_MODE_MONTH,\n BILLING_MODE_YEAR_FIXED_DISCOUNT_PERCENT,\n} from '@/config/appConstants';\nimport { BillingMode } from '@/types';\n\nexport type BillingModeSwitchProps = {\n onChange: (event: React.ChangeEvent) => void;\n billingModeDefaultValue: BillingMode;\n className?: string;\n};\n\nexport const BillingModeSwitch = ({\n onChange,\n className,\n billingModeDefaultValue = BILLING_MODE_MONTH,\n}: BillingModeSwitchProps) => {\n const { t } = useTranslation();\n\n return (\n
    \n {t('BillingMode.title')}\n
    \n \n \n {`-${BILLING_MODE_YEAR_FIXED_DISCOUNT_PERCENT}%`}\n \n
    \n
    \n );\n};\n","import React from 'react';\n\nimport { EUR, USD } from '@/config/appConstants';\nimport { Currency } from '@/types';\n\nexport type CurrencySwitchType = {\n onChange: (event: React.ChangeEvent) => void;\n defaultValue?: Currency;\n className?: string;\n title?: string;\n};\n\nexport const CurrencySwitch = ({\n onChange,\n defaultValue = EUR,\n className = '',\n title,\n}: CurrencySwitchType) => {\n const getSwitchStyle = () =>\n 'appearance-none rounded-full h-8 w-8 bg-white bg-md-purple border-md-purple opacity-20 checked:opacity-100 focus:outline-none transition duration-200 my-1 align-top bg-no-repeat bg-center bg-contain float-left cursor-pointer';\n const getSwitchLabelStyle = () =>\n 'absolute font-bold text-white text-xl inline-block top-[5px] cursor-pointer';\n\n return (\n
    \n {title && {title}}\n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n );\n};\n","import * as React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport { Button } from '@/components/Elements';\n\nexport type FeatureComparatorLinkProps = {\n onComparatorLinkClick: () => void;\n actionLabel?: React.ReactNode | string;\n};\n\nexport const FeatureComparatorLink = ({\n onComparatorLinkClick,\n actionLabel,\n}: FeatureComparatorLinkProps) => {\n const { t } = useTranslation();\n\n const onDefaultClick = () => {\n onComparatorLinkClick && onComparatorLinkClick();\n };\n\n return (\n \n \n \n );\n};\n","import { CheckIcon } from '@heroicons/react/outline';\nimport clsx from 'clsx';\nimport _ from 'lodash';\nimport * as React from 'react';\nimport { useEffect, useRef } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport styled from 'styled-components';\n\nimport { Button } from '@/components/Elements';\nimport { BILLING_MODE_MONTH, USAGE_LICENSED } from '@/config/appConstants';\nimport { useMe } from '@/hooks/useMe';\nimport { PricesTypes, ProductCardProps, ProductFeaturesTypes } from '@/types';\nimport {\n getProductPrice,\n getProductDetails,\n isFreemiumProduct,\n parseDate,\n parseCurrency,\n isPrepaidProduct,\n getBillingModePriceText,\n getBillingModePlanText,\n isAppSumo,\n} from '@/utils/helpers';\n\nconst PromotionPriceWrap = styled.div`\n .card__price__promotion {\n display: inline-block;\n height: 40px;\n padding: 0 3px;\n margin-right: 5px;\n font-size: 0.5em;\n background: linear-gradient(\n to left top,\n transparent 47.75%,\n currentColor 49.5%,\n currentColor 50.5%,\n transparent 52.25%\n );\n }\n`;\n\nexport const ProductCard = ({\n onPendingButtonAction,\n onIncompleteAction,\n onProductSelect,\n onRequestInfo,\n onActionButton,\n product,\n userCurrency,\n className,\n formatProductName = undefined,\n formatCredits = undefined,\n formatCategoryName = undefined,\n userBillingMode = BILLING_MODE_MONTH,\n currentPeriodEndDate,\n alreadyPurchased = false,\n alreadyPurchasedLink,\n isCancelled = false,\n isProcessing = false,\n isPending = false,\n isIncomplete = false,\n actionButtonLabel,\n hidePrice = product?.hidePrice || false,\n autoCheckout,\n showFeatures = true,\n isSticky = false,\n removePrice = false,\n activeBillingMode,\n promotionCode = undefined,\n}: ProductCardProps) => {\n const { t, i18n } = useTranslation();\n const buttonCardRef = useRef(null);\n const { getMe } = useMe();\n const me = getMe();\n\n const onDefaultRequestInfo = () => {\n onRequestInfo && onRequestInfo(product);\n };\n\n const onDefaultActionButton = () => {\n if (onActionButton) {\n onActionButton(product);\n return;\n }\n\n if (hidePriceNeeded) {\n onDefaultRequestInfo();\n return;\n }\n\n onProductSelect && onProductSelect(product);\n };\n\n const onDefaultPendingButtonAction = () => {\n if (onPendingButtonAction) {\n onPendingButtonAction(product);\n return;\n }\n };\n\n const onDefaulIncompleteAction = () => {\n console.info('onDefaulIncompleteAction');\n if (onIncompleteAction) {\n onIncompleteAction();\n return;\n }\n };\n\n useEffect(() => {\n autoCheckout && buttonCardRef.current?.click();\n }, [autoCheckout]);\n\n if (!product) {\n return (\n
    \n

    \n {t('ProductDetail.productNotAvailable')}\n

    \n \n {t('ProductDetail.requestInfo')}\n \n
    \n );\n }\n\n const getproductNameTranslated = (productName: string | ProductFeaturesTypes) => {\n return t(`ProductDetail.${productName}`) === `ProductDetail.${productName}`\n ? productName\n : t(`ProductDetail.${productName}`);\n };\n\n const isFreemium = isFreemiumProduct(product);\n const isFeatured = product.featured || false;\n const productName = getProductDetails(product, 'productName');\n const categoryName = getProductDetails(product, 'categoryName') as string;\n const categoryNameParsed = _.camelCase(categoryName.replace(/\\s/g, ''));\n const categoryNameTranslated = t(`ProductDetail.${categoryNameParsed}`);\n const productNameTranslated = getproductNameTranslated(productName);\n\n const getPriceText = (\n price: number | bigint | undefined,\n hidePrice: boolean,\n isFreemium: boolean\n ) => {\n {\n if (price && !hidePrice) {\n return parseCurrency(i18n.language, userCurrency, price);\n }\n\n if (!isFreemium) {\n return t('ProductDetail.askUs');\n }\n\n return parseCurrency(i18n.language, userCurrency, 0);\n }\n };\n\n const getProductPriceWithPromotion = (productPrice: PricesTypes): number | bigint => {\n if (productPrice.promotionCode !== null) {\n return productPrice.amountWithPromotion as number | bigint;\n }\n return productPrice.amount as number | bigint;\n };\n\n const setHasPriceWithPromotion = (productPrice: PricesTypes, isFreemium: boolean): boolean => {\n return productPrice.promotionCode !== null && !isFreemium;\n };\n\n const productPriceObj = getProductPrice(\n product,\n USAGE_LICENSED,\n userCurrency,\n userBillingMode\n ) as PricesTypes;\n const hasPriceWithPromotion = setHasPriceWithPromotion(productPriceObj, isFreemium);\n\n const productPriceWithPromotion = getProductPriceWithPromotion(productPriceObj);\n const productPrice = productPriceObj.amount as number | bigint;\n\n const productFeatures = getProductDetails(product, 'features');\n const actionButton = actionButtonLabel || getProductDetails(product, 'actionButton');\n const hidePriceNeeded = product.hidePrice || hidePrice || false;\n const prefix = 'ProductsFeatures.';\n\n const getActionButton = () => {\n if (isPending || isIncomplete) {\n console.log(isIncomplete);\n return (\n \n {t('ProductDetail.pending')}\n \n );\n }\n\n if ((alreadyPurchased && userBillingMode == activeBillingMode) || isCancelled || isProcessing) {\n if (typeof alreadyPurchasedLink !== 'undefined' && !isProcessing) {\n return (\n window.location.assign(alreadyPurchasedLink)}\n >\n {t('ProductDetail.goToProduct')}\n \n );\n }\n\n return (\n \n );\n }\n\n return (\n \n {getDefaultActionButtonLabel()}\n \n );\n };\n\n const getDefaultActionButtonLabel = () => {\n if (isFreemium) {\n return actionButtonLabel ? actionButtonLabel : t('ProductDetail.tryNow');\n }\n\n return hidePriceNeeded ? t('ProductDetail.writeUs') : actionButton;\n };\n\n const generateProductsFeaturesTranslation = (text: string): string => {\n let _item = t(`${prefix}${text}`);\n _item.startsWith(prefix) && (_item = _item.replace(prefix, ''));\n return _item;\n };\n\n const wantToPrintPrice = () =>\n (!promotionCode && !alreadyPurchased && !isProcessing) || !removePrice;\n const renderPrice = (\n productPrice: number | bigint | undefined,\n productPriceWithPromotion: number | bigint | undefined,\n hasPriceWithPromotion: boolean,\n hidePrice: boolean,\n isFreemium: boolean\n ) => {\n if (!hasPriceWithPromotion || isFreemium) {\n return getPriceText(productPrice, hidePrice, isFreemium);\n }\n\n return (\n \n
    \n {getPriceText(productPrice, hidePrice, isFreemium)}\n
    \n {getPriceText(productPriceWithPromotion, hidePrice, isFreemium)}\n
    \n );\n };\n return (\n \n \n {isFeatured && (\n
    {t('ProductDetail.featured')}
    \n )}\n \n \n {formatCategoryName\n ? formatCategoryName(categoryNameTranslated)\n : isPrepaidProduct(product)\n ? categoryNameTranslated\n : categoryName}\n

    \n {!formatCredits && (\n \n {formatProductName ? formatProductName(productName) : productNameTranslated}\n

    \n )}\n {formatCredits && formatCredits(product)}\n \n {wantToPrintPrice() ? (\n formatCredits ? (\n \n

    \n {getPriceText(productPrice, hidePrice, isFreemium)}\n

    \n {!hidePrice && (\n
    \n

    {t('BillingMode.unique')}

    \n

    {t('productTypes.smsMarketing.taxesDisclaimer')}**

    \n
    \n )}\n \n ) : (\n renderPrice(\n productPrice,\n productPriceWithPromotion,\n hasPriceWithPromotion,\n hidePrice,\n isFreemium\n )\n )\n ) : (\n
    \n {isAppSumo(me)\n ? t('BillingMode.unique')\n : t(getBillingModePlanText(userBillingMode))}\n
    \n )}\n \n {wantToPrintPrice() && !formatCredits && (\n \n {t(getBillingModePriceText(userBillingMode))} *{hasPriceWithPromotion && <>/ **}\n

    \n )}\n {getActionButton()}\n {isCancelled && currentPeriodEndDate && (\n

    \n {t('ProductDetail.cancellingDisclaimer')}\n {parseDate(i18n.language, currentPeriodEndDate)}\n

    \n )}\n \n {showFeatures && (\n \n
    \n

    \n {typeof productFeatures !== 'string'\n ? generateProductsFeaturesTranslation(productFeatures.title)\n : ''}\n

    \n
      \n {typeof productFeatures !== 'string'\n ? productFeatures.bullets.map((bullet: string, index: number) => (\n
    1. \n \n
      \n {generateProductsFeaturesTranslation(bullet)}\n
      \n
    2. \n ))\n : ''}\n
    \n
    \n \n )}\n \n \n );\n};\n","import clsx from 'clsx';\nimport { Fragment } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport { ProductCard } from '@/components/Elements/ProductCard';\nimport { PATH_UPDATE_PAYMENT_METHOD } from '@/config';\nimport {\n ACTIVE,\n BILLING_MODE_MONTH,\n CANCELLED,\n INCOMPLETE,\n PENDING,\n PROCESSING,\n} from '@/config/appConstants';\nimport { useMe } from '@/hooks/useMe';\nimport { BillingMode, Currency, Me, ProductTypes, UserProductTypes } from '@/types';\nimport {\n checkByStatus,\n filterUserProductsByStatus,\n getBillingModeFromUserProduct,\n getGuessURL,\n isExternalFreeProduct,\n isExternalPaidProduct,\n redirectToAndReload,\n userHasProducts,\n} from '@/utils/helpers';\n\nexport type ProductCardsContainerProps = {\n className?: string;\n freemiumProduct: ProductTypes;\n productsCollection: ProductTypes[];\n userProducts?: UserProductTypes[];\n userCurrency: Currency;\n billingMode: BillingMode;\n onProductSelect: (product: ProductTypes) => void;\n onFreeProductSelect: (product: ProductTypes) => void;\n onRequestInfo: (product: ProductTypes) => void;\n userIsLogged?: boolean;\n showFeatures?: boolean;\n isSticky?: boolean;\n};\n\nexport const ProductCardsContainer = ({\n className,\n freemiumProduct,\n productsCollection,\n userProducts,\n userCurrency,\n billingMode,\n onProductSelect,\n onFreeProductSelect,\n onRequestInfo,\n userIsLogged,\n showFeatures = true,\n isSticky = false,\n}: ProductCardsContainerProps) => {\n const { getMe } = useMe();\n const me = getMe();\n\n const { t } = useTranslation();\n const onDefaultRequestInfo = (product: ProductTypes) => {\n onRequestInfo && onRequestInfo(product);\n };\n\n const setHideFree = (productsCollection: ProductTypes[]): boolean => {\n return (\n freemiumProduct &&\n productsCollection[0] &&\n productsCollection[0].info.productStep !== freemiumProduct.info.productStep\n );\n };\n\n const hideFree = setHideFree(productsCollection);\n\n const isHidePriceNeeded = (product: ProductTypes | null) => {\n if (product?.hidePrice) {\n return true;\n }\n\n if (!userProducts) {\n return false;\n }\n\n if (isExternalFreeProduct(userProducts)) {\n return false;\n }\n\n return isExternalPaidProduct(userProducts);\n };\n\n const isHideFreeProductNeeded = () =>\n userProducts ? isExternalPaidProduct(userProducts) : false;\n\n const getActionButtonLabel = (me: Me) => {\n if (userIsLogged && !me.capabilities.canBuySubscriptionProducts) {\n return t('ProductDetail.writeUs');\n }\n\n if ((userIsLogged && !userHasProducts(userProducts)) || processingProduct) {\n return t('ProductDetail.writeUs');\n }\n\n return t('ProductDetail.payNow');\n };\n\n const getOnActionButton = (me: Me) => {\n if (userIsLogged && !me.capabilities.canBuySubscriptionProducts) {\n return onDefaultRequestInfo;\n }\n\n if ((userIsLogged && !userHasProducts(userProducts)) || processingProduct) {\n return onDefaultRequestInfo;\n }\n\n return undefined;\n };\n\n const getFreeActionButtonLabel = () => {\n if (userIsLogged) {\n return t('ProductDetail.writeUs');\n }\n\n return undefined;\n };\n\n const userProductActive = filterUserProductsByStatus(userProducts, ACTIVE);\n const processingProduct = filterUserProductsByStatus(userProducts, PROCESSING);\n const userProductIncomplete = filterUserProductsByStatus(userProducts, INCOMPLETE);\n\n const activeBillingMode = userProductActive && getBillingModeFromUserProduct(userProductActive);\n\n const renderProduct = (product: ProductTypes) => {\n const productId = product.mdirectorId;\n const isCancelled = checkByStatus(userProducts, productId, [CANCELLED], billingMode);\n const isProcessing = checkByStatus(userProducts, productId, [PROCESSING], billingMode);\n const isPending = checkByStatus(userProducts, productId, [PENDING], billingMode);\n const isIncomplete = checkByStatus(userProducts, productId, [INCOMPLETE], billingMode);\n\n const isAlreadyPurchased = checkByStatus(\n userProducts,\n productId,\n [ACTIVE, CANCELLED, PROCESSING],\n billingMode\n );\n\n return (\n \n {\n console.info('onIncompleteAction...');\n redirectToAndReload(\n userProductIncomplete?.groupProduct.completePaymentUrl || PATH_UPDATE_PAYMENT_METHOD\n );\n }}\n />\n \n );\n };\n\n return (\n \n
    \n
    \n {productsCollection.map(renderProduct)}\n \n {showFeatures && (\n

    {t('ProductDetail.taxesDisclaimer')}

    \n )}\n \n );\n};\n","import MainSlider from 'rc-slider';\nimport { useTranslation } from 'react-i18next';\nimport styled from 'styled-components';\n\nimport 'rc-slider/assets/index.css';\nimport { SelectPicker } from '@/components/Elements';\nimport customTheme from '@/customTheme.json';\n\nexport const SliderStyledWrap = styled.div`\n .rc-slider-mark-text {\n font-family: var(--md-secondary-fonts-stack);\n font-size: 14px;\n top: -65px;\n }\n .rc-slider-mark-text .step--selected {\n background-color: var(--md-yellow-color);\n border-radius: 5px;\n padding: 5px 18px;\n margin-top: -20px;\n }\n .rc-slider-mark-text .step--selected:after {\n border-left: 8px solid transparent;\n border-right: 8px solid transparent;\n border-top: 8px solid var(--md-yellow-color);\n bottom: -8px;\n content: ' ';\n height: 0;\n left: calc(50% - 8px);\n position: absolute;\n width: 0;\n }\n .rc-slider-mark-text .step--selected span {\n color: white;\n display: block;\n }\n .rc-slider-dot-active {\n /* Don't move! It doesn't work on the styled component. Why? No idea... */\n background-color: var(--md-yellow-color) !important;\n }\n`;\n\nexport type SliderProps = {\n min?: number;\n max: number;\n step?: number;\n onSliderChange: (step?: any) => void;\n defaultValue?: number;\n marks: any;\n selectMarks: any;\n className?: string;\n selectClass?: string;\n};\n\nexport const Slider = ({\n min = 0,\n max,\n step = 1,\n onSliderChange,\n defaultValue = 0,\n marks = {},\n selectMarks = {},\n className = '',\n selectClass = '',\n}: SliderProps) => {\n const { t } = useTranslation();\n\n const getDataForSelect = () =>\n Object.entries(selectMarks).map((key) => ({\n label: `${t('common.upTo')} ${t(`productSteps.${key[1]}`)}`,\n value: key[0],\n }));\n\n return (\n \n
    \n \n
    \n
    \n );\n};\n","import clsx from 'clsx';\nimport React, { useEffect, useLayoutEffect, useRef, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport styled from 'styled-components';\n\nimport { BillingModeSwitch } from '@/components/Elements/BillingModeSwitch';\nimport { CurrencySwitch } from '@/components/Elements/CurrencySwitch';\nimport { FeatureComparatorLink } from '@/components/Elements/FeatureComparatorLink';\nimport { ProductCardsContainer } from '@/components/Elements/ProductCardsContainer';\nimport { Slider, SliderProps } from '@/components/Elements/Slider';\nimport { BILLING_MODE_MONTH, BILLING_MODE_YEAR } from '@/config/appConstants';\nimport { useUserProducts } from '@/hooks/useUserProducts';\nimport {\n BillingMode,\n Currency,\n ParsedSliderMarkType,\n ProductTypes,\n SliderMarkType,\n UserProductTypes,\n} from '@/types';\nimport {\n getBillingModeByIntervalCount,\n getOffset,\n shouldShowTheBillingModeSwitch,\n shouldShowTheCurrencySwitch,\n} from '@/utils/helpers';\n\nconst ProductCardsContainerWrap = styled.div`\n .productCardsContainerInner {\n padding: 10px 0 30px;\n transition: all 0.5s ease 0s;\n }\n .collection__comparator--mode {\n max-width: 950px;\n }\n .public--page .comparator--mode.clean {\n background-position: 0 260px;\n }\n\n /* Only for desktop and non mobile devices */\n @media only screen and (min-width: 415px) {\n .productCardsContainerInner {\n top: -260px;\n }\n .is-sticky {\n padding: 10px 56px;\n top: 0;\n z-index: 50;\n }\n .is-sticky .md__product__featured__badge {\n display: none;\n }\n .is-sticky article {\n padding-top: 10px;\n }\n .is-sticky header {\n padding-top: 10px;\n padding-bottom: 10px;\n }\n .is-sticky .card__category__name {\n font-size: 18px;\n }\n .is-sticky button {\n padding-top: 2px;\n padding-bottom: 2px;\n margin: 5px;\n font-size: 16px;\n width: calc(100% - 10px);\n }\n .is-sticky button span {\n margin: 0;\n }\n .is-sticky .card__price {\n margin: 0;\n font-size: 28px;\n }\n }\n`;\n\nexport type EmailMarketingContainerProps = {\n title: string;\n freemiumProduct: ProductTypes;\n products: ProductTypes[][];\n userProducts?: UserProductTypes[] | undefined;\n onProductSelect: (product: ProductTypes) => void;\n onRequestInfo: (product: ProductTypes) => void;\n onFreeProductSelect: (product: ProductTypes) => void;\n showFeatures?: boolean;\n userIsLogged?: boolean;\n productCardsContainerClass?: string;\n stickyMode?: boolean;\n publicPage?: boolean;\n billingMode: BillingMode;\n} & SliderProps;\n\nexport const getProducts = (\n products: ProductTypes[][],\n marks: any,\n productStep = 0\n): ProductTypes[] =>\n products\n .map(\n (product: ProductTypes[]) =>\n product.filter((item: ProductTypes) => item.info.productStep === marks[productStep])[0]\n )\n .filter((item) => !!item);\n\nexport const EmailMarketingContainer = ({\n title,\n min = 0,\n max,\n freemiumProduct,\n products,\n userProducts,\n onSliderChange,\n onProductSelect,\n onFreeProductSelect,\n onRequestInfo,\n defaultValue = 0,\n marks = {},\n showFeatures,\n userIsLogged,\n productCardsContainerClass,\n stickyMode = false,\n publicPage,\n billingMode = BILLING_MODE_MONTH,\n}: EmailMarketingContainerProps) => {\n const { t } = useTranslation();\n const [menuBarTop, setMenuBarTop] = useState(undefined);\n const productsCardContainerInner = useRef(null);\n const step = 1;\n const { setSelectedProductCurrency, getSelectedUserProduct, setSelectedProductBillingMode } =\n useUserProducts();\n const [productsCollection, setProductsCollection] = useState(\n getProducts(products, marks, defaultValue)\n );\n const [currentStep, setCurrentStep] = useState(defaultValue);\n const [currentBillingMode, setCurrentBillingMode] = useState(billingMode);\n\n const [productsSticky, setProductsSticky] = useState(false);\n const { selectedProductCurrency, selectedProductIntervalBillingMode, selectedProduct } =\n getSelectedUserProduct();\n\n const parseMarks = (marks: SliderMarkType) => {\n const keys = Object.keys(marks);\n const result: ParsedSliderMarkType = {};\n\n keys.forEach((key: string) => {\n const iKey = +key;\n\n result[iKey] = (\n
    \n \n {iKey === keys.length - 1 ? '>' : ''}\n {t(`productSteps.${marks[iKey]}`)}\n \n {t(`common.emails`)}\n
    \n );\n });\n\n return result;\n };\n\n const marksParsed = parseMarks(marks);\n\n const unselectStep = () => {\n const currentSelectedStepLabel = document.querySelector('.step--selected');\n currentSelectedStepLabel && currentSelectedStepLabel.classList.remove('step--selected');\n };\n\n const selectStep = (step: number = currentStep + 1) => {\n unselectStep();\n\n const currentStepLabel = document.querySelector(\n `.rc-slider-mark-text:nth-of-type(${step}) > div`\n );\n\n currentStepLabel && currentStepLabel.classList.add('step--selected');\n };\n\n const isSticky = () => {\n const menuBarEle = productsCardContainerInner.current;\n const scrollTop = window.scrollY;\n\n if (!menuBarEle || typeof menuBarTop === 'undefined') {\n return false;\n }\n const nextElement = document.querySelector('.helpContainer--section');\n const nextElementTop = nextElement ? getOffset(nextElement).top : undefined;\n\n const conditionA = scrollTop >= menuBarTop + 290;\n const conditionB = nextElementTop ? scrollTop < nextElementTop : true;\n\n setProductsSticky(conditionA && conditionB);\n };\n\n useLayoutEffect(() => {\n const menuBarEle = productsCardContainerInner.current;\n\n if (menuBarEle) {\n const { top } = menuBarEle.getBoundingClientRect();\n setMenuBarTop(top);\n }\n }, []);\n\n useEffect(() => {\n selectStep();\n\n if (!stickyMode) {\n return;\n }\n\n window.addEventListener('scroll', isSticky);\n\n return () => {\n window.removeEventListener('scroll', isSticky);\n };\n });\n\n const onDefaultSliderChange = (value: number) => {\n setCurrentStep(value);\n setProductsCollection(getProducts(products, marks, value));\n selectStep(value);\n onSliderChange && onSliderChange(value);\n };\n\n const onChangeCurrencySwitch = (event: React.ChangeEvent) =>\n setSelectedProductCurrency(event.target.value as Currency);\n\n const onChangeBillingModeSwitch = (event: React.ChangeEvent) => {\n const billingModeValue = event.target.checked ? BILLING_MODE_YEAR : BILLING_MODE_MONTH;\n setSelectedProductBillingMode(billingModeValue);\n setCurrentBillingMode(billingModeValue);\n };\n\n const onComparatorLinkClick = () => {\n const urlRedirect = publicPage ? '/store/products' : '/account/products';\n window.location.assign(urlRedirect);\n };\n\n const onDefaultProductSelect = (product: ProductTypes) => {\n setSelectedProductBillingMode(currentBillingMode);\n onProductSelect && onProductSelect(product);\n };\n\n const onDefaultFreeProductSelect = (product: ProductTypes) => {\n setSelectedProductBillingMode(currentBillingMode);\n onFreeProductSelect && onFreeProductSelect(product);\n };\n\n return (\n \n
    \n

    {title}

    \n
    \n \n \n
    \n
    \n {shouldShowTheBillingModeSwitch() && (\n \n )}\n {shouldShowTheCurrencySwitch(userProducts) && (\n
    \n \n
    \n )}\n
    \n
    \n\n \n
    \n \n \n
    \n \n
    \n {!showFeatures && (\n

    {t('ProductDetail.taxesDisclaimer')}

    \n )}\n {!showFeatures && (\n \n )}\n \n \n );\n};\n","import { useTranslation } from 'react-i18next';\n\nimport { EmailMarketingContainer } from '@/components/Containers/EmailMarketingContainer';\nimport { ACTIVE, PENDING } from '@/config/appConstants';\nimport { Country } from '@/features/countries';\nimport { SmsCredits } from '@/features/smsCredits';\nimport { BillingMode, iSteps, ProductTypes, UserProductTypes } from '@/types';\nimport {\n filterUserProductsByStatus,\n getBillingModeFromUserProduct,\n getKeyByValue,\n getProductStep,\n} from '@/utils/helpers';\n\nexport type MarketingProductsProps = {\n userIsLogged?: boolean;\n onRequestInfo: (product: ProductTypes) => void;\n onProductSelect: (product: ProductTypes) => void;\n onFreeProductSelect?: (product: ProductTypes) => void;\n products: ProductTypes[][];\n userProducts?: UserProductTypes[];\n steps: iSteps;\n countries?: Country[];\n defaultSMSCountryProvider?: string;\n smsCredits?: SmsCredits;\n};\n\nexport interface iEmailMarketingProductsProps extends MarketingProductsProps {\n freemiumProduct: ProductTypes;\n showFeatures?: boolean;\n stickyMode?: boolean;\n publicPage?: boolean;\n}\n\nexport const EmailMarketingProducts = ({\n userIsLogged,\n onRequestInfo,\n onProductSelect,\n onFreeProductSelect,\n freemiumProduct,\n products,\n userProducts,\n steps,\n showFeatures = true,\n stickyMode = false,\n publicPage,\n}: iEmailMarketingProductsProps) => {\n const { t } = useTranslation();\n const title = t('productTypes.emailMarketing.headerTitle');\n const marks = steps;\n const max = Object.keys(marks).length - 1;\n\n const onSliderChange = () => {};\n\n const onDefaultFreeProductSelect = (product: ProductTypes) => {\n onFreeProductSelect && onFreeProductSelect(product);\n };\n\n const getDefaultSliderValue = () => {\n if (!userProducts || userProducts.length === 0) {\n return 0;\n }\n const userProductActive = filterUserProductsByStatus(userProducts || [], ACTIVE);\n const userProductPending = filterUserProductsByStatus(userProducts || [], PENDING);\n const pro = userProductPending || userProductActive;\n if (!pro) return 0;\n\n const currentStep = getKeyByValue(marks, getProductStep(pro));\n\n if (!currentStep) {\n return 0;\n }\n\n return parseInt(currentStep, 10);\n };\n\n const getDefaultCheckedBillingModeValue = (): BillingMode => {\n const userProductActive = filterUserProductsByStatus(userProducts || [], ACTIVE);\n const userProductPending = filterUserProductsByStatus(userProducts || [], PENDING);\n\n return getBillingModeFromUserProduct(userProductPending || userProductActive);\n };\n\n return (\n \n );\n};\n","import clsx from 'clsx';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nexport type BillingModeUniqueProps = {\n className?: string;\n};\n\nexport const BillingModeUnique = ({ className }: BillingModeUniqueProps) => {\n const { t } = useTranslation();\n\n return (\n
    \n

    {t('BillingMode.title')}

    \n
    \n
    \n {t('BillingMode.unique')}\n
    \n
    \n
    \n );\n};\n","import clsx from 'clsx';\nimport React, { useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport styled from 'styled-components';\n\nimport CurvedArrow from '@/assets/curved-next-arrow.png';\nimport { Button } from '@/components/Elements';\nimport { BillingModeUnique } from '@/components/Elements/BillingModeUnique';\nimport { CurrencySwitch } from '@/components/Elements/CurrencySwitch';\nimport { ProductCard } from '@/components/Elements/ProductCard';\nimport { Slider, SliderProps } from '@/components/Elements/Slider';\nimport { LANG_DE, LANG_ES, UNKNOWN_DATA } from '@/config/appConstants';\nimport { Country } from '@/features/countries';\nimport { SmsCredits } from '@/features/smsCredits';\nimport { useMe } from '@/hooks/useMe';\nimport { useUserProducts } from '@/hooks/useUserProducts';\nimport {\n BillingMode,\n Currency,\n Me,\n ParsedSliderMarkType,\n ProductFeaturesTypes,\n ProductTypes,\n SliderMarkType,\n UserProductTypes,\n} from '@/types';\nimport { renderSelect } from '@/utils/forms';\nimport { getNoPlanProduct, shouldShowTheCurrencySwitch } from '@/utils/helpers';\n\nconst SMSBodyWrap = styled.div`\n .sms__body__description::after {\n content: none;\n }\n\n .sms__body__description__advise {\n border: 3px solid #e7ab39;\n }\n\n .sms__body__description__advise__button {\n border: 2px solid #e7ab39;\n background-color: rgba(255, 255, 255, 0.5);\n text-transform: none;\n }\n\n @media (min-width: 1024px) {\n .sms__body__description::after {\n background-image: url(${CurvedArrow});\n background-position: center;\n background-repeat: no-repeat;\n background-size: contain;\n content: ' ';\n display: block;\n height: 128px;\n margin-left: auto;\n position: absolute;\n right: -107px;\n top: 35px;\n width: 128px;\n z-index: 9;\n transform: rotate(25deg);\n }\n }\n`;\n\nexport type SMSMarketingContainerProps = {\n title: string;\n products: ProductTypes[][];\n billingMode?: BillingMode;\n defaultSMSCountryProvider?: string;\n onProductSelect: (product: ProductTypes) => void;\n onRequestInfo: (product: ProductTypes, origen?: string) => void;\n userProducts?: UserProductTypes[];\n countries: Country[];\n smsCredits: SmsCredits;\n userIsLogged?: boolean;\n} & SliderProps;\n\nexport const SMSMarketingContainer = ({\n title,\n products,\n min = 0,\n max,\n onSliderChange,\n onProductSelect,\n onRequestInfo,\n defaultValue = 0,\n marks = {},\n defaultSMSCountryProvider = LANG_ES,\n billingMode = 'unique',\n countries,\n smsCredits,\n userProducts,\n userIsLogged,\n}: SMSMarketingContainerProps) => {\n const { getMe } = useMe();\n const me = getMe();\n const step = 1;\n const { t, i18n } = useTranslation();\n\n const [productsCollection, setProductsCollection] = useState(getNoPlanProduct(products, marks));\n const [currentStep, setCurrentStep] = useState(0);\n const { setSelectedProductCurrency, getSelectedUserProduct } = useUserProducts();\n const { selectedProductCurrency } = getSelectedUserProduct();\n const [selectedCountryProvider, setSelectedCountryProvider] = useState(\n defaultSMSCountryProvider || LANG_ES\n );\n\n const formatNumberByLanguage = (num: number) => {\n /*\n * If user has spanish language, we have to change it on the fly for a more friendly number format:\n * On the ISO, spanish numbers have a 'Minimum Grouping Digits' of 2, so 1234 is formatted as 1234, while 12345 is formatted as 12.345.\n * On deutsch, the 'Minimum Grouping Digits' is 1, so 1234 is formatted as 1.234\n **/\n const formatter = i18n.language === LANG_ES ? LANG_DE : i18n.language;\n return new Intl.NumberFormat(formatter, {}).format(num);\n };\n\n const parseMarks = (marks: SliderMarkType) => {\n const keys = Object.keys(marks);\n const result: ParsedSliderMarkType = {};\n\n keys.forEach((key: string) => {\n const iKey = +key;\n result[iKey] = (\n
    \n \n {iKey === keys.length - 1 ? '>' : ''}\n {t(`productSteps.${marks[iKey]}`)}\n \n \n {t('productTypes.smsMarketing.credits')}\n \n
    \n );\n });\n\n return result;\n };\n\n const marksParsed = parseMarks(marks);\n\n const unselectStep = () => {\n const currentSelectedStepLabel = document.querySelector('.step--selected');\n currentSelectedStepLabel && currentSelectedStepLabel.classList.remove('step--selected');\n };\n\n const selectStep = (step: number = currentStep + 1) => {\n unselectStep();\n\n const currentStepLabel = document.querySelector(\n `.rc-slider-mark-text:nth-of-type(${step}) > div`\n );\n\n currentStepLabel && currentStepLabel.classList.add('step--selected');\n };\n\n useEffect(() => {\n selectStep();\n });\n\n const onDefaultSliderChange = (value: number) => {\n setCurrentStep(value);\n setProductsCollection(getNoPlanProduct(products, marks, value));\n\n selectStep(value);\n\n onSliderChange && onSliderChange(value);\n };\n\n const onChangeCurrencySwitch = (event: React.ChangeEvent) =>\n setSelectedProductCurrency(event.target.value as Currency);\n\n const renderLabel = (language: string, item: Country) => {\n language = language.toUpperCase();\n return (item.name as any)[language];\n };\n\n const formatSMSProductName = (name: string | ProductFeaturesTypes) =>\n t('productTypes.smsMarketing.' + name);\n\n const getSMSCountryName = () => {\n if (selectedCountryProvider) {\n return selectedCountryProvider.toUpperCase();\n }\n\n return LANG_ES.toUpperCase();\n };\n\n const formatCredits = (product: ProductTypes) => {\n const country = getSMSCountryName() as keyof typeof smsCredits;\n const credits: number = +(smsCredits[country] || smsCredits['--']) as number;\n const quantity: number = +product.info.productStep || 0;\n\n const totalCredits = !credits ? UNKNOWN_DATA : Math.round(quantity / credits);\n\n return (\n
    \n

    {totalCredits} SMS

    \n
    \n

    {formatNumberByLanguage(quantity)}

    \n

    {t('productTypes.smsMarketing.credits')}

    \n
    \n
    \n );\n };\n\n const formatSMSCategoryName = (categoryName: string | ProductFeaturesTypes) =>\n `${categoryName} ${t('productTypes.smsMarketing.credits')}`;\n\n const countryOnDefaultChange = (e: React.ChangeEvent) => {\n setSelectedCountryProvider(e.target.value);\n };\n\n const getSMSUSAAdvise = () =>\n productsCollection && (\n
    \n

    {t('productTypes.smsMarketing.USAAdvise')}

    \n onRequestInfo(productsCollection, 'US_PR_EC')}\n >\n {t('productTypes.smsMarketing.USAAdviseButtonLabel')}\n \n
    \n );\n\n const getActionButtonLabel = (me: Me) => {\n if (userIsLogged && !me.capabilities.canBuyProducts) {\n return t('ProductDetail.writeUs');\n }\n\n return t('ProductDetail.payNow');\n };\n\n const getOnActionButton = (me: Me) => {\n if (userIsLogged && !me.capabilities.canBuyProducts) {\n return onRequestInfo;\n }\n\n return undefined;\n };\n\n return (\n
    \n
    \n

    {title}

    \n
    \n \n \n

    \n {t('productTypes.smsMarketing.creditsDisclaimer')}\n

    \n
    \n
    \n \n {shouldShowTheCurrencySwitch(userProducts) && (\n
    \n \n
    \n )}\n
    \n
    \n
    \n
    \n
    \n \n
    \n

    \n {t('productTypes.smsMarketing.productDescription')}\n {t('productTypes.smsMarketing.productDescription2')}\n {t('productTypes.smsMarketing.productDescription3')}\n

    \n
      \n
    1. {t('productTypes.smsMarketing.productBullet1')}
    2. \n
    3. {t('productTypes.smsMarketing.productBullet2')}
    4. \n
    5. {t('productTypes.smsMarketing.productBullet3')}
    6. \n
    \n

    \n {t('productTypes.smsMarketing.productDescription4')}\n

    \n

    \n {t('productTypes.smsMarketing.productDescription5')}\n

    \n {getSMSUSAAdvise()}\n

    \n {t('productTypes.smsMarketing.productDescription6')}\n

    \n
    \n
    \n
    \n
    \n {renderSelect(null, 'countryForSMSSteps', {\n customClasses: 'w-full mt-[5px]',\n itemClasses: 'bg-md-white',\n options: countries,\n renderLabel: (item: Country) => renderLabel(i18n.language, item),\n value: getSMSCountryName(),\n onChange: countryOnDefaultChange,\n })}\n \n
    \n
    \n {productsCollection && !productsCollection?.hidePrice && (\n

    {t('ProductDetail.taxesDisclaimer')}

    \n )}\n
    \n \n
    \n );\n};\n","import { useTranslation } from 'react-i18next';\n\nimport { SMSMarketingContainer } from '@/components/Containers/SMSMarketingContainer';\nimport { MarketingProductsProps } from '@/components/Products/EmailMarketingProducts';\n\nexport const SMSMarketingProducts = ({\n onRequestInfo,\n onProductSelect,\n products,\n steps,\n userProducts,\n countries = [],\n defaultSMSCountryProvider,\n smsCredits = { '--': '' },\n userIsLogged,\n}: MarketingProductsProps) => {\n const { t } = useTranslation();\n const title = t('productTypes.smsMarketing.headerTitle');\n const marks = steps;\n const max = Object.keys(marks).length - 1;\n const onSliderChange = () => {};\n\n return (\n \n );\n};\n","import clsx from 'clsx';\nimport React, { useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport { BillingModeUnique } from '@/components/Elements/BillingModeUnique';\nimport { CurrencySwitch } from '@/components/Elements/CurrencySwitch';\nimport { ProductCard } from '@/components/Elements/ProductCard';\nimport { Slider, SliderProps } from '@/components/Elements/Slider';\nimport { useMe } from '@/hooks/useMe';\nimport { useUserProducts } from '@/hooks/useUserProducts';\nimport {\n BillingMode,\n Currency,\n Me,\n ParsedSliderMarkType,\n ProductTypes,\n SliderMarkType,\n UserProductTypes,\n} from '@/types';\nimport { getNoPlanProduct, shouldShowTheCurrencySwitch } from '@/utils/helpers';\n\nexport type PrepaidMarketingContainerProps = {\n title: string;\n products: ProductTypes[][];\n billingMode?: BillingMode;\n onProductSelect: (product: ProductTypes) => void;\n onRequestInfo: (product: ProductTypes) => void;\n userProducts: UserProductTypes[] | undefined;\n userIsLogged?: boolean;\n} & SliderProps;\n\nexport const PrepaidMarketingContainer = ({\n title,\n products,\n min = 0,\n max,\n onSliderChange,\n onProductSelect,\n onRequestInfo,\n defaultValue = 0,\n marks = {},\n billingMode = 'unique',\n userProducts,\n userIsLogged,\n}: PrepaidMarketingContainerProps) => {\n const { getMe } = useMe();\n const me = getMe();\n\n const step = 1;\n const { t } = useTranslation();\n const { setSelectedProductCurrency, getSelectedUserProduct } = useUserProducts();\n const [productsCollection, setProductsCollection] = useState(getNoPlanProduct(products, marks));\n const [currentStep, setCurrentStep] = useState(0);\n const { selectedProductCurrency } = getSelectedUserProduct();\n const parseMarks = (marks: SliderMarkType) => {\n const keys = Object.keys(marks);\n const result: ParsedSliderMarkType = {};\n\n keys.forEach((key: string) => {\n const iKey = +key;\n result[iKey] = (\n
    \n \n {iKey === keys.length - 1 ? '>' : ''}\n {t(`productSteps.${marks[iKey]}`)}\n \n {t(`common.emails`)}\n
    \n );\n });\n\n return result;\n };\n\n const marksParsed = parseMarks(marks);\n\n const unselectStep = () => {\n const currentSelectedStepLabel = document.querySelector('.step--selected');\n currentSelectedStepLabel && currentSelectedStepLabel.classList.remove('step--selected');\n };\n\n const selectStep = (step: number = currentStep + 1) => {\n unselectStep();\n\n const currentStepLabel = document.querySelector(\n `.rc-slider-mark-text:nth-of-type(${step}) > div`\n );\n\n currentStepLabel && currentStepLabel.classList.add('step--selected');\n };\n\n useEffect(() => {\n selectStep();\n });\n\n const onDefaultSliderChange = (value: number) => {\n setCurrentStep(value);\n setProductsCollection(getNoPlanProduct(products, marks, value));\n\n selectStep(value);\n\n onSliderChange && onSliderChange(value);\n };\n\n const onChangeCurrencySwitch = (event: React.ChangeEvent) =>\n setSelectedProductCurrency(event.target.value as Currency);\n\n const getActionButtonLabel = (me: Me) => {\n if (userIsLogged && !me.capabilities.canBuyProducts) {\n return t('ProductDetail.writeUs');\n }\n\n return t('ProductDetail.payNow');\n };\n\n const getOnActionButton = (me: Me) => {\n if (userIsLogged && !me.capabilities.canBuyProducts) {\n return onRequestInfo;\n }\n\n return undefined;\n };\n\n return (\n
    \n
    \n

    {title}

    \n
    \n \n \n
    \n
    \n \n {shouldShowTheCurrencySwitch(userProducts) && (\n
    \n \n
    \n )}\n
    \n
    \n
    \n
    \n
    \n
    \n

    {t('productTypes.prepaid.prices')}

    \n

    {t('productTypes.prepaid.productDescription')}

    \n

    \n {t('productTypes.prepaid.needMore')}\n

    \n

    {t('productTypes.prepaid.needMoreText')}

    \n
    \n
    \n
    \n \n
    \n
    \n

    {t('ProductDetail.taxesDisclaimer')}

    \n
    \n \n
    \n );\n};\n","import { useTranslation } from 'react-i18next';\n\nimport { PrepaidMarketingContainer } from '@/components/Containers/PrepaidMarketingContainer';\nimport { MarketingProductsProps } from '@/components/Products/EmailMarketingProducts';\n\nexport const PrepaidProducts = ({\n onRequestInfo,\n onProductSelect,\n products,\n steps,\n userProducts,\n userIsLogged,\n}: MarketingProductsProps) => {\n const { t } = useTranslation();\n const title = t('productTypes.prepaid.headerTitle');\n const marks = steps;\n const max = Object.keys(marks).length - 1;\n\n const onSliderChange = () => {};\n\n return (\n \n );\n};\n","import clsx from 'clsx';\nimport { useTranslation } from 'react-i18next';\nimport styled from 'styled-components';\n\nimport { Button } from '@/components/Elements';\nimport {\n EmailMarketingProducts,\n PrepaidProducts,\n SMSMarketingProducts,\n} from '@/components/Products';\nimport stepsFixtureEmailing from '@/components/Products/fixtures/marksEmail.json';\nimport stepsFixturePrepaid from '@/components/Products/fixtures/marksPrepaidEmail.json';\nimport stepsFixtureSms from '@/components/Products/fixtures/marksPrepaidSms.json';\nimport {\n PRODUCT_CATEGORY_LITE,\n PRODUCT_CATEGORY_PREPAID_EMAIL,\n PRODUCT_CATEGORY_PREPAID_SMS,\n PRODUCT_CATEGORY_PRO,\n PRODUCT_CATEGORY_TOTAL,\n PRODUCT_CATEGORY_TYPE_EMAIL,\n PRODUCT_CATEGORY_TYPE_PREPAID,\n PRODUCT_CATEGORY_TYPE_SMS,\n} from '@/config/appConstants';\nimport { Country } from '@/features/countries';\nimport { SmsCredits } from '@/features/smsCredits';\nimport { useUserProducts } from '@/hooks/useUserProducts';\nimport { UserProductTypes, ProductCategoryTypes, ProductTypes } from '@/types';\nimport { getBillingModeByTargetTap, isCoreProduct } from '@/utils/helpers';\n\nconst ProductsContainerWrap = styled.div`\n .md__tabscontainer__button {\n background-color: var(--md-bg-gray-color);\n border-radius: 15px 15px 0 0;\n color: var(--md-mediumGray-color);\n text-transform: uppercase;\n font-weight: bold;\n }\n .md__tabscontainer__button.active {\n background-color: var(--md-yellow-color);\n color: var(--md-blue-color);\n font-weight: 900 !important;\n }\n`;\n\nconst getButtonStyles = () =>\n 'md__tabscontainer__button py-4 px-0.5 mr-0 sm:px-14 sm:mr-2 sm:py-5 text-xs lg:text-base';\n\nexport const getProductsByEmailMarketing = (products: ProductTypes[]): ProductTypes[][] => {\n const filteredProducts = products.filter((product: ProductTypes) => isCoreProduct(product));\n\n if (!filteredProducts) return [];\n\n let liteProducts: ProductTypes[] = [];\n let proProducts: ProductTypes[] = [];\n let totalProducts: ProductTypes[] = [];\n\n filteredProducts.forEach((product: ProductTypes) => {\n if (product.category === PRODUCT_CATEGORY_LITE) liteProducts = [...liteProducts, product];\n if (product.category === PRODUCT_CATEGORY_PRO) proProducts = [...proProducts, product];\n if (product.category === PRODUCT_CATEGORY_TOTAL) totalProducts = [...totalProducts, product];\n });\n\n return [[...liteProducts], [...proProducts], [...totalProducts]];\n};\n\nconst getProductsByProductCategoryType = (\n products: ProductTypes[],\n productCategoryType: string\n): ProductTypes[][] => [\n products && products.filter((product: ProductTypes) => product.category === productCategoryType),\n];\n\nexport type ProductsContainerProps = {\n userIsLogged?: boolean;\n products: ProductTypes[];\n freemiumProduct: ProductTypes;\n userProducts?: UserProductTypes[] | undefined;\n onRequestInfo: (product: ProductTypes) => void;\n onProductSelect: (product: ProductTypes) => void;\n onFreeProductSelect?: (product: ProductTypes) => void;\n tabSelected: ProductCategoryTypes;\n setTabSelected: any;\n className?: string;\n countries: Country[];\n defaultSMSCountryProvider?: string;\n smsCredits: SmsCredits;\n};\n\nexport const ProductsContainer = ({\n userIsLogged,\n products,\n freemiumProduct,\n userProducts,\n onRequestInfo,\n onProductSelect,\n onFreeProductSelect,\n tabSelected,\n setTabSelected,\n className,\n countries,\n defaultSMSCountryProvider,\n smsCredits,\n}: ProductsContainerProps) => {\n const { t } = useTranslation();\n const getEmailMarketingSteps = () => stepsFixtureEmailing;\n const getSMSMarketingSteps = () => stepsFixtureSms;\n const getPrepaidSteps = () => stepsFixturePrepaid;\n const { setSelectedProductBillingMode } = useUserProducts();\n\n const showBody = (target: ProductCategoryTypes) => {\n setSelectedProductBillingMode(getBillingModeByTargetTap(target));\n setTabSelected(target);\n };\n\n const getTabContent = (\n tabSelected: ProductCategoryTypes,\n productsItems: ProductTypes[],\n userProducts: UserProductTypes[] | undefined\n ) => {\n let tabContent;\n switch (tabSelected) {\n case PRODUCT_CATEGORY_TYPE_EMAIL: {\n const productsEmailMarketing = getProductsByEmailMarketing(productsItems);\n\n tabContent = (\n \n );\n break;\n }\n case PRODUCT_CATEGORY_TYPE_SMS: {\n const productsPrepaidSms = getProductsByProductCategoryType(\n productsItems,\n PRODUCT_CATEGORY_PREPAID_SMS\n );\n tabContent = (\n \n );\n break;\n }\n case PRODUCT_CATEGORY_TYPE_PREPAID: {\n const productsPrepaidEmail = getProductsByProductCategoryType(\n productsItems,\n PRODUCT_CATEGORY_PREPAID_EMAIL\n );\n tabContent = (\n \n );\n break;\n }\n }\n\n return
    {tabContent}
    ;\n };\n\n return (\n \n
    \n showBody(PRODUCT_CATEGORY_TYPE_EMAIL)}\n type=\"button\"\n variant=\"raw\"\n title={t('productTypes.emailMarketing.title')}\n >\n {t('productTypes.emailMarketing.title')}\n \n showBody(PRODUCT_CATEGORY_TYPE_SMS)}\n size=\"md\"\n type=\"button\"\n variant=\"raw\"\n title={t('productTypes.smsMarketing.title')}\n >\n {t('productTypes.smsMarketing.title')}\n \n showBody(PRODUCT_CATEGORY_TYPE_PREPAID)}\n size=\"md\"\n type=\"button\"\n variant=\"raw\"\n title={t('productTypes.prepaid.title')}\n >\n {t('productTypes.prepaid.title')}\n \n
    \n
    \n {getTabContent(tabSelected, products, userProducts)}\n
    \n
    \n );\n};\n","export default __webpack_public_path__ + \"static/media/mail.c695f700.svg\";","import * as React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport Lock from '@/assets/mail.svg';\nimport { Button } from '@/components/Elements';\nimport { defaultModalStyles } from '@/components/Elements/Modal/customStyles';\n\nimport { PaymentsModal } from '../PaymentsModal';\n\nexport type ActivationNeededModalProps = {\n customImage?: string;\n customImageWidth?: string;\n isOpen?: boolean;\n onRequestClose: () => void;\n};\n\nexport const ActivationNeededModal = ({\n customImage,\n customImageWidth = '150',\n onRequestClose,\n isOpen = false,\n}: ActivationNeededModalProps) => {\n const { t } = useTranslation();\n\n const onActionButton = () => {\n closeModal();\n };\n\n const closeModal = () => {\n onRequestClose && onRequestClose();\n };\n\n return (\n \n

    {t('ActivationNeededModal.title')}

    \n \n

    {t('ActivationNeededModal.description')}

    \n

    {t('ActivationNeededModal.notice')}

    \n \n {t('ActivationNeededModal.actionButton')}\n \n
    \n );\n};\n","import * as React from 'react';\nimport { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport { Button } from '@/components/Elements';\nimport { ultraWideModalStyles } from '@/components/Elements/Modal/customStyles';\nimport { PaymentsModal } from '@/components/Elements/PaymentsModal';\n\nexport type IncompletePaymentMethodFailedErrorModalProps = {\n onConfirmAction: () => void;\n onCancelAction: () => void;\n isOpen?: boolean;\n};\n\nexport const IncompletePaymentMethodFailedErrorModal = ({\n onConfirmAction,\n onCancelAction,\n isOpen = false,\n}: IncompletePaymentMethodFailedErrorModalProps) => {\n const [disabledButtons, setDisabledButtons] = useState(false);\n const { t } = useTranslation();\n\n const onDefaultConfirmAction = () => {\n setDisabledButtons(true);\n onConfirmAction && onConfirmAction();\n };\n\n const onDefaultCancelAction = () => {\n setDisabledButtons(true);\n onCancelAction && onCancelAction();\n };\n\n const getCancelButton = () => (\n \n {t('IncompletePaymentMethodFailedErrorModal.cancelButton')}\n \n );\n\n const getConfirmButton = () => (\n \n {t('IncompletePaymentMethodFailedErrorModal.confirmButton')}\n \n );\n\n return (\n \n
    \n
    \n {t('IncompletePaymentMethodFailedErrorModal.title')}\n
    \n
    {t('IncompletePaymentMethodFailedErrorModal.description')}
    \n
    \n
      \n
    • \n {t('IncompletePaymentMethodFailedErrorModal.description_1')}\n
    • \n
    • \n {t('IncompletePaymentMethodFailedErrorModal.description_2')}\n
    • \n
    \n
    \n
    \n {t('IncompletePaymentMethodFailedErrorModal.description_end')}\n
    \n
    \n {getCancelButton()}\n {getConfirmButton()}\n
    \n
    \n {t('IncompletePaymentMethodFailedErrorModal.disclaimer')}\n
    \n
    \n \n );\n};\n","import * as React from 'react';\nimport { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport { Button } from '@/components/Elements';\nimport { ultraWideModalStyles } from '@/components/Elements/Modal/customStyles';\nimport { PaymentsModal } from '@/components/Elements/PaymentsModal';\n\nexport type IncompletePaymentRequiresActionErrorModalProps = {\n onConfirmAction: () => void;\n onCancelAction: () => void;\n isOpen?: boolean;\n};\n\nexport const IncompletePaymentRequiresActionErrorModal = ({\n onConfirmAction,\n onCancelAction,\n isOpen = false,\n}: IncompletePaymentRequiresActionErrorModalProps) => {\n const [disabledButtons, setDisabledButtons] = useState(false);\n const { t } = useTranslation();\n\n const onDefaultConfirmAction = () => {\n setDisabledButtons(true);\n onConfirmAction && onConfirmAction();\n };\n\n const onDefaultCancelAction = () => {\n setDisabledButtons(true);\n onCancelAction && onCancelAction();\n };\n\n const getCancelButton = () => (\n \n {t('IncompletePaymentRequiresActionErrorModal.cancelButton')}\n \n );\n\n const getConfirmButton = () => (\n \n {t('IncompletePaymentRequiresActionErrorModal.confirmButton')}\n \n );\n\n return (\n \n
    \n
    \n {t('IncompletePaymentRequiresActionErrorModal.title')}\n
    \n
    \n {t('IncompletePaymentRequiresActionErrorModal.description')}\n
    \n
    \n {getCancelButton()}\n {getConfirmButton()}\n
    \n
    \n {t('IncompletePaymentRequiresActionErrorModal.disclaimer')}\n
    \n
    \n \n );\n};\n","import { useTranslation } from 'react-i18next';\n\nexport type ProductsHeroProps = {\n className?: string;\n};\n\nexport const ProductsHero = ({ className = '' }: ProductsHeroProps) => {\n const { t } = useTranslation();\n\n return (\n \n
    \n

    {t('ProductsHero.title')}

    \n

    \n {t('ProductsHero.description')}\n

    \n
    \n \n );\n };\n\n return (\n
    \n
    \n
    \n \n {features.map(renderBlock)}\n
    \n
    \n
    \n );\n};\n","import React from 'react';\n\nimport { getProductsByEmailMarketing } from '@/components/Containers/ProductsContainer';\nimport { FeatureComparator } from '@/components/Elements/FeatureComparator';\nimport { EmailMarketingProducts } from '@/components/Products';\nimport stepsFixtureEmailing from '@/components/Products/fixtures/marksEmail.json';\nimport { ProductTypes, UserProductTypes } from '@/types';\n\nexport type FeatureComparatorContainerProps = {\n className?: string;\n freemiumProduct: ProductTypes;\n products: ProductTypes[];\n userProducts?: UserProductTypes[] | undefined;\n onProductSelect: (product: ProductTypes) => void;\n onFreeProductSelect: (product: ProductTypes) => void;\n onRequestInfo: (product: ProductTypes) => void;\n publicPage?: boolean;\n userIsLogged: boolean;\n};\n\nexport const FeatureComparatorContainer = ({\n className,\n freemiumProduct,\n products,\n userProducts,\n onProductSelect,\n onFreeProductSelect,\n onRequestInfo,\n publicPage,\n userIsLogged,\n}: FeatureComparatorContainerProps) => {\n const getEmailMarketingSteps = () => stepsFixtureEmailing;\n const productsEmailMarketing = getProductsByEmailMarketing(products);\n\n return (\n
    \n \n \n
    \n );\n};\n","import { ExclamationCircleIcon } from '@heroicons/react/outline';\nimport { AxiosResponse } from 'axios';\nimport clsx from 'clsx';\nimport React, { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport Gear from '@/assets/gear.png';\nimport { FeatureComparatorContainer } from '@/components/Containers/FeatureComparatorContainer';\nimport { ConfirmNeededPaymentModal, HelpContainer } from '@/components/Elements';\nimport { ActivationNeededModal } from '@/components/Elements/ActivationNeededModal';\nimport { IncompletePaymentMethodFailedErrorModal } from '@/components/Elements/IncompletePaymentMethodFailedErrorModal';\nimport { IncompletePaymentRequiresActionErrorModal } from '@/components/Elements/IncompletePaymentRequiresActionErrorModal';\nimport { defaultModalStyles } from '@/components/Elements/Modal/customStyles';\nimport { PaymentsModal } from '@/components/Elements/PaymentsModal';\nimport { PendingPaymentErrorModal } from '@/components/Elements/PendingPaymentErrorModal';\nimport { RequestAccountHero } from '@/components/Elements/RequestAccountHero';\nimport { UnpaidMeteredErrorModal } from '@/components/Elements/UnpaidMeteredErrorModal';\nimport { WaitProcessModal } from '@/components/Elements/WaitProcessModal';\nimport { FormConfirm } from '@/components/Form/FormConfirm';\nimport { iFormContactFields } from '@/components/Form/FormContact';\nimport { iFormContactGuessUserFields } from '@/components/Form/FormContactGuessUser';\nimport { FormContactGuessUserInModal } from '@/components/Form/FormContactGuessUserInModal';\nimport { FormContactInModal } from '@/components/Form/FormContactInModal';\nimport { COUPONS_ENABLED, PATH_UPDATE_PAYMENT_METHOD } from '@/config';\nimport { ACTIVE, DEFAULT_COUNTRY_ID, DEFAULT_PHONE, REQUEST_SUCCESS } from '@/config/appConstants';\nimport { BillingDetails } from '@/features/billing';\nimport { Country } from '@/features/countries';\nimport { UpdatePaymentIntent } from '@/features/payment';\nimport { useMe } from '@/hooks/useMe';\nimport { useUserProducts } from '@/hooks/useUserProducts';\nimport { Currency, IntervalBillingMode, UserData, ProductTypes, UserProductTypes } from '@/types';\nimport {\n getOrigin,\n filterUserProductsByStatus,\n getProductHash,\n getRegisterUrlWithHash,\n getRegisterUrlToCheckout,\n getRegisterUrl,\n isManualValidationNeeded,\n isNewFreeUser,\n userHasProducts,\n isFreemiumProduct,\n isPrepaidProduct,\n getProductToUpdateFromUserCollection,\n redirectMyRate,\n redirectToAndReload,\n} from '@/utils/helpers';\n\nexport type FeatureComparatorPublicPageProps = {\n className?: string;\n freemiumProduct: ProductTypes;\n products: ProductTypes[];\n countries: Country[];\n userData?: UserData;\n billingDetails?: BillingDetails;\n demoMode?: boolean;\n userProducts?: UserProductTypes[] | undefined;\n onGuestRequestInfoSubmit: (values: iFormContactGuessUserFields) => void;\n onRegisteredRequestInfoSubmit: (values: iFormContactFields) => void;\n publicPage?: boolean;\n isLogged?: boolean;\n getUpdatePaymentIntent?: (\n productSelected: ProductTypes,\n userCurrency: Currency,\n intervalCount: IntervalBillingMode,\n onErrorCallback: (status: number, urlRedirect?: string, detail?: string) => void\n ) => Promise;\n onCancelIncompleteAction: () => void;\n onConfirmUnpaidMeteredErrorAction: () => void;\n};\n\nexport const FeatureComparatorPublicPage = ({\n className,\n freemiumProduct,\n products,\n onGuestRequestInfoSubmit,\n onRegisteredRequestInfoSubmit,\n countries,\n userData,\n userProducts,\n billingDetails,\n getUpdatePaymentIntent,\n demoMode = false,\n publicPage = false,\n isLogged = false,\n onCancelIncompleteAction,\n onConfirmUnpaidMeteredErrorAction,\n}: FeatureComparatorPublicPageProps) => {\n isLogged = demoMode ? true : isLogged;\n\n const NO_CLOSE = 0;\n const { t } = useTranslation();\n const { getSelectedUserProduct, setSelectedProduct } = useUserProducts();\n const {\n selectedProduct,\n selectedProductBillingMode,\n selectedProductIntervalBillingMode,\n selectedProductCurrency,\n } = getSelectedUserProduct();\n const { getMe } = useMe();\n const userProductActive = filterUserProductsByStatus(userProducts || [], ACTIVE);\n\n const [requestInfoModalIsOpen, setRequestInfoModalIsOpen] = useState(false);\n const [validationNeededModalIsOpen, setValidationNeededModalIsOpen] = useState(false);\n const [confirmNeededPaymentModalIsOpen, setConfirmNeededPaymentModalIsOpen] = useState(false);\n const [upgradeCheckoutProcessModalIsOpen, setUpgradeCheckoutProcessModalIsOpen] = useState(false);\n const [upgradeCheckoutFailProcessModalIsOpen, setUpgradeCheckoutFailProcessModalIsOpen] =\n useState(false);\n const [upgradeCheckoutSuccessProcessModalIsOpen, setUpgradeCheckoutSuccessProcessModalIsOpen] =\n useState(false);\n const [statusUnpaidMeteredError, setStatusUnpaidMeteredError] = useState(false);\n const [statusPendingPaymentError, setStatusPendingPaymentError] = useState(false);\n const [\n showIncompletePaymentRequiresActionErrorModal,\n setShowIncompletePaymentRequiresActionErrorModal,\n ] = useState(false);\n const [\n showIncompletePaymentMethodFailedErrorModal,\n setShowIncompletePaymentMethodFailedErrorModal,\n ] = useState(false);\n\n const name = userData?.name || '';\n const groupId = userData?.groupId || '';\n const email = userData?.email || '';\n const countryId = billingDetails?.countryId || DEFAULT_COUNTRY_ID;\n const phone = billingDetails?.phone || DEFAULT_PHONE;\n\n const closeAllModals = (omit?: string) => {\n omit !== 'InfoModal' && setRequestInfoModalIsOpen(false);\n omit !== 'ValidationNeededModal' && setValidationNeededModalIsOpen(false);\n omit !== 'ConfirmNeededPaymentModal' && setConfirmNeededPaymentModalIsOpen(false);\n\n if (omit !== 'WaitProcessModal') {\n setUpgradeCheckoutProcessModalIsOpen(false);\n setUpgradeCheckoutSuccessProcessModalIsOpen(false);\n }\n\n setUpgradeCheckoutFailProcessModalIsOpen(false);\n };\n\n const onRequestInfo = (product?: ProductTypes) => {\n product && setSelectedProduct(product);\n setRequestInfoModalIsOpen(true);\n };\n const onRequestInfoWithoutProduct = () => {\n setSelectedProduct(null);\n setRequestInfoModalIsOpen(true);\n };\n\n const onRequestInfoClose = () => {\n setRequestInfoModalIsOpen(false);\n };\n\n const onDefaultGuestRequestInfoSubmit = async (values: iFormContactGuessUserFields) => {\n onGuestRequestInfoSubmit(values);\n onRequestInfoClose();\n };\n\n const onDefaultUserRegisteredRequestInfoSubmit = (values: iFormContactFields) => {\n onRegisteredRequestInfoSubmit(values);\n onRequestInfoClose();\n };\n\n const onRequestAccountHero = () => {\n window.location.assign(getRegisterUrl(t('ProductsPublicPage.registerPath')));\n };\n\n const onFreeProductSelect = (product: ProductTypes) => {\n if (isLogged) return onRequestInfo(product);\n window.location.assign(getRegisterUrl(t('ProductsPublicPage.registerPath')));\n };\n\n const onRequestCloseActivationNeededModal = () => {\n setValidationNeededModalIsOpen(false);\n };\n\n const onShowValidationNeededModalOpen = () => {\n setValidationNeededModalIsOpen(true);\n };\n\n const onUpgradeCheckoutErrorCallback = (\n status: number,\n urlRedirect?: string,\n detail?: string\n ) => {\n closeAllModals();\n if (status === 402 && detail == 'requires_action')\n return setShowIncompletePaymentRequiresActionErrorModal(\n urlRedirect || PATH_UPDATE_PAYMENT_METHOD\n );\n if (status === 402 && detail == 'payment_method_failed')\n return setShowIncompletePaymentMethodFailedErrorModal(\n urlRedirect || PATH_UPDATE_PAYMENT_METHOD\n );\n if (\n status === 406 &&\n detail &&\n detail === 'There are unpaid metered items in this subscription'\n )\n return setStatusUnpaidMeteredError(status > 0);\n\n if (\n status === 406 &&\n detail &&\n detail === 'There are pending payments for the current subscription'\n )\n return setStatusPendingPaymentError(status > 0);\n setUpgradeCheckoutFailProcessModalIsOpen(true);\n };\n\n const onProductSelect = (product: ProductTypes) => {\n setSelectedProduct(product);\n\n if (!product || !selectedProductCurrency) {\n return;\n }\n\n if (!isLogged || !userData) {\n redirectToContractUrl(product);\n return;\n }\n\n if (isManualValidationNeeded(getMe()) || isNewFreeUser(userData)) {\n onShowValidationNeededModalOpen();\n return;\n }\n\n if (\n !isManualValidationNeeded(getMe()) &&\n (isNewFreeUser(userData) || !userHasProducts(userProducts))\n ) {\n setRequestInfoModalIsOpen(true);\n return;\n }\n\n onRequestPaymentModalOpen(selectedProductCurrency, product);\n };\n\n const redirectToContractUrl = (product: ProductTypes) =>\n window.location.assign(\n getRegisterUrlWithHash(\n t('ProductsPublicPage.contractPath'),\n getProductHash(product.mdirectorId, selectedProductCurrency, selectedProductBillingMode)\n )\n );\n\n const onRequestPaymentModalOpen = (currency: Currency, product: ProductTypes | null) => {\n // We print the \"UpdateProduct\" modal always user has a product non freemium.\n if (\n userProducts &&\n userProducts.length > 0 &&\n !isFreemiumProduct(userProductActive?.product) &&\n !isPrepaidProduct(product)\n ) {\n setConfirmNeededPaymentModalIsOpen(true);\n } else {\n selectedProduct &&\n window.location.assign(\n getRegisterUrlToCheckout(\n selectedProduct,\n selectedProductCurrency,\n selectedProductIntervalBillingMode\n )\n );\n }\n };\n\n const onRequestCloseConfirmNeededPaymentModal = () => {\n setConfirmNeededPaymentModalIsOpen(false);\n setStatusUnpaidMeteredError(false);\n setStatusPendingPaymentError(false);\n };\n\n const onActionConfirmNeededPaymentModal = async () => {\n if (\n !getUpdatePaymentIntent ||\n !selectedProduct ||\n !selectedProductCurrency ||\n !selectedProductIntervalBillingMode\n ) {\n return;\n }\n\n setUpgradeCheckoutProcessModalIsOpen(true);\n const updatePaymentResponse = await getUpdatePaymentIntent(\n selectedProduct,\n selectedProductCurrency,\n selectedProductIntervalBillingMode,\n onUpgradeCheckoutErrorCallback\n );\n\n if (updatePaymentResponse?.status === REQUEST_SUCCESS) {\n setUpgradeCheckoutProcessModalIsOpen(false);\n setUpgradeCheckoutSuccessProcessModalIsOpen(true);\n }\n };\n\n const getFormUserAccount = () => (\n \n );\n\n const getFormContactGuest = () => (\n \n );\n\n const timeoutCheckoutSuccessWaitProcess = () => {\n redirectMyRate();\n };\n\n const onUpgradeCheckoutModalClose = () => {\n setUpgradeCheckoutFailProcessModalIsOpen(false);\n };\n\n const onDefaultConfirmIncompleteAction = () => {\n redirectToAndReload(showIncompletePaymentRequiresActionErrorModal as string);\n setShowIncompletePaymentRequiresActionErrorModal(false);\n setShowIncompletePaymentMethodFailedErrorModal(false);\n };\n\n const onDefaultCancelIncompleteAction = async () => {\n onCancelIncompleteAction && (await onCancelIncompleteAction());\n setShowIncompletePaymentRequiresActionErrorModal(false);\n setShowIncompletePaymentMethodFailedErrorModal(false);\n };\n\n const onDefaultConfirmPendingPaymentErrorAction = () => {\n window.location.assign(PATH_UPDATE_PAYMENT_METHOD);\n onRequestCloseConfirmNeededPaymentModal && onRequestCloseConfirmNeededPaymentModal();\n };\n const onDefaultConfirmUnpaidMeteredErrorAction = () => {\n onConfirmUnpaidMeteredErrorAction && onConfirmUnpaidMeteredErrorAction();\n\n onRequestCloseConfirmNeededPaymentModal && onRequestCloseConfirmNeededPaymentModal();\n };\n\n const oldUserProduct = getProductToUpdateFromUserCollection(userProductActive, userProducts);\n\n const renderIncompletePaymentRequiresActionErrorModal = () => (\n \n );\n\n const renderIncompletePaymentMethodFailedErrorModal = () => (\n \n );\n\n const renderStatusUnpaidMeteredErrorModal = () => (\n \n );\n\n const renderStatusPendingPaymentErrorModal = () => (\n \n );\n\n return (\n <>\n {publicPage && (\n
    \n

    {t('FeatureComparator.title')}

    \n
    \n )}\n
    \n
    \n {groupId ? getFormUserAccount() : getFormContactGuest()}\n\n {showIncompletePaymentRequiresActionErrorModal &&\n renderIncompletePaymentRequiresActionErrorModal()}\n\n {showIncompletePaymentMethodFailedErrorModal &&\n renderIncompletePaymentMethodFailedErrorModal()}\n\n {statusUnpaidMeteredError && renderStatusUnpaidMeteredErrorModal()}\n {statusPendingPaymentError && renderStatusPendingPaymentErrorModal()}\n\n \n \n \n \n }\n onClickAction={onUpgradeCheckoutModalClose}\n />\n \n {confirmNeededPaymentModalIsOpen && oldUserProduct && selectedProduct && (\n \n )}\n \n \n {publicPage && (\n \n )}\n
    \n
    \n \n );\n};\n","import { useGTMDispatch } from '@elgorditosalsero/react-gtm-hook';\nimport { AxiosResponse } from 'axios';\nimport * as React from 'react';\nimport { useEffect, useState } from 'react';\nimport { useErrorHandler } from 'react-error-boundary';\nimport { useTranslation } from 'react-i18next';\nimport { useParams } from 'react-router-dom';\n\nimport { SpinnerContainer } from '@/components/Containers/SpinnerContainer';\nimport { iFormContactFields } from '@/components/Form/FormContact';\nimport { iFormContactGuessUserFields } from '@/components/Form/FormContactGuessUser';\nimport { FeatureComparatorPublicPage } from '@/components/PublicPages/FeatureComparatorPublicPage';\nimport { BillingDetails, getBillingDetails } from '@/features/billing';\nimport { Country, getCountries } from '@/features/countries';\nimport { useCreateInvoicePending } from '@/features/invoices';\nimport { getUserProducts } from '@/features/myProducts';\nimport {\n useCreateNotificationContact,\n useCreateNotificationContactGuessUser,\n} from '@/features/notification';\nimport {\n UpdatePaymentIntent,\n useDeleteUserIncompleteProduct,\n useUpdatePayment,\n} from '@/features/payment';\nimport { useProducts } from '@/features/products';\nimport { getSmsCredits, SmsCredits } from '@/features/smsCredits';\nimport { useMe } from '@/hooks/useMe';\nimport { useAuth } from '@/lib/auth';\nimport { getAllAxiosData, GetterAxios } from '@/lib/axios';\nimport { buildGTMAddLogged, buildGTMAddNotLogged, sendEventGtm } from '@/lib/gtm/gtmUtils';\nimport { Currency, IntervalBillingMode, ProductTypes, UserProductTypes } from '@/types';\nimport {\n getFreemiumProduct,\n getPricesIdsByCurrencyAndInterval,\n getProductsNonFreemium,\n getUserData,\n isLanguage,\n} from '@/utils/helpers';\nimport storage from '@/utils/storage';\n\nexport type FeatureComparatorPageProps = {\n publicPage?: boolean;\n isLogged?: boolean;\n};\n\nexport const FeatureComparatorPage = ({\n publicPage = false,\n isLogged = false,\n}: FeatureComparatorPageProps) => {\n const handleError = useErrorHandler();\n const productsQuery = useProducts();\n const { lang } = useParams();\n const { isLogged: isLoggedAuth } = useAuth();\n\n isLogged || (isLogged = isLoggedAuth());\n\n const sendDataToGTM = useGTMDispatch();\n\n const { i18n } = useTranslation();\n\n const [countries, setCountries] = useState([]);\n const [smsCredits, setSmsCredits] = useState(undefined);\n const [fetchError, setFetchError] = useState(false);\n const { getMe, isMeSet } = useMe();\n\n const [billingDetails, setBillingDetails] = useState(undefined);\n const [userProducts, setUserProducts] = useState(undefined);\n const [hasBeenCanceled, setHasBeenCanceled] = useState(false);\n\n const { isLoading: productsIsLoading = false } = productsQuery;\n const { data: products } = productsQuery;\n const createNotificationContactGuessUserMutation = useCreateNotificationContactGuessUser();\n const createNotificationContactMutation = useCreateNotificationContact();\n const deleteUserIncompleteProductMutation = useDeleteUserIncompleteProduct();\n const createUpdatePaymentMutation = useUpdatePayment();\n const createInvoicePendingMutation = useCreateInvoicePending();\n const groupId = getMe().userInfo.groupId;\n\n useEffect(() => {\n if (isLanguage(lang)) {\n void i18n.changeLanguage(lang);\n }\n }, [lang, i18n]);\n\n useEffect(() => {\n if (!productsIsLoading && products) {\n const getters: GetterAxios[] = [\n { callback: getCountries },\n { callback: getSmsCredits, parameters: {} },\n ];\n const setters: any = [setCountries, setSmsCredits];\n\n const pageData = getAllAxiosData(getters, setters);\n\n pageData.then((response) => {\n if (response?.type === 'error') {\n setFetchError(true);\n setSmsCredits({ '--': '0' });\n } else {\n setFetchError(false);\n }\n });\n\n pageData.catch((error) => {\n handleError(error);\n });\n }\n }, [productsIsLoading, products, handleError]);\n\n useEffect(() => {\n if (isMeSet() && groupId) {\n const getters: GetterAxios[] = [\n { callback: getBillingDetails, parameters: { groupId: groupId } },\n { callback: getUserProducts, parameters: { groupId: groupId } },\n ];\n const setters: any = [setBillingDetails, setUserProducts];\n\n const pageData = getAllAxiosData(getters, setters);\n pageData.catch((error) => {\n handleError(error);\n });\n }\n }, [handleError, groupId, isMeSet]);\n\n useEffect(() => {\n if (hasBeenCanceled && groupId) {\n const getters: GetterAxios[] = [\n { callback: getUserProducts, parameters: { groupId: groupId } },\n ];\n const setters: any = [setUserProducts];\n\n const pageData = getAllAxiosData(getters, setters);\n pageData.catch((error) => {\n handleError(error);\n });\n }\n }, [groupId, handleError, hasBeenCanceled]);\n\n if ((productsIsLoading && !fetchError) || !smsCredits) {\n return ;\n }\n\n if (!products?.length) {\n return (\n \n

    No Products Found

    \n \n );\n }\n\n const onGuestRequestInfoSubmit = async (values: iFormContactGuessUserFields) => {\n sendEventGtm(buildGTMAddNotLogged(), sendDataToGTM);\n await createNotificationContactGuessUserMutation.mutateAsync({\n data: values,\n });\n };\n\n const onRegisteredRequestInfoSubmit = async (values: iFormContactFields) => {\n sendEventGtm(buildGTMAddLogged(userData), sendDataToGTM);\n await createNotificationContactMutation.mutateAsync({\n data: values,\n });\n };\n\n const updatePayment = async (\n product: ProductTypes,\n currency: Currency,\n intervalCount: IntervalBillingMode,\n onErrorCallback: (status: number, urlRedirect?: string, detail?: string) => void\n ): Promise => {\n const prices: string[] = getPricesIdsByCurrencyAndInterval(\n product.prices,\n currency,\n intervalCount\n );\n\n if (!prices) {\n return;\n }\n\n const paymentIntent = await createUpdatePaymentMutation.mutateAsync({\n prices: prices,\n onErrorCallback: onErrorCallback,\n });\n\n storage.clearUserData();\n setHasBeenCanceled(false);\n\n return paymentIntent;\n };\n\n const onCancelIncompleteAction = async () => {\n storage.clearUserData();\n const userProducts = await deleteUserIncompleteProductMutation.mutateAsync({\n groupId: groupId,\n });\n setUserProducts(userProducts);\n };\n\n const onConfirmUnpaidMeteredErrorAction = async () => {\n await createInvoicePendingMutation.mutateAsync();\n };\n\n const userData = getUserData(getMe(), i18n);\n return (\n \n );\n};\n","import * as React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nexport type DisclaimerPhoneValidationProps = {\n className?: string;\n};\n\nexport const DisclaimerPhoneValidation = ({ className }: DisclaimerPhoneValidationProps) => {\n const { t } = useTranslation();\n\n return (\n \n

    {t('DisclaimerPhoneValidation.claimText1')}

    \n

    {t('DisclaimerPhoneValidation.claimText2')}

    \n

    {t('DisclaimerPhoneValidation.claimText3')}

    \n

    {t('DisclaimerPhoneValidation.claimText4')}

    \n

    {t('DisclaimerPhoneValidation.claimText5')}

    \n

    {t('DisclaimerPhoneValidation.claimText6')}

    \n

    {t('DisclaimerPhoneValidation.claimText7')}

    \n

    {t('DisclaimerPhoneValidation.claimText8')}

    \n \n );\n};\n","import React, { MouseEvent } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport { getMDirectorSupportPhone, getMDirectorSupportPhoneRaw } from '@/utils/helpers';\n\nexport type FooterProps = {\n onRequestInfo: () => void;\n};\n\nexport const Footer = ({ onRequestInfo }: FooterProps) => {\n const { t } = useTranslation();\n const onDefaultRequestInfo = (e: MouseEvent) => {\n e.preventDefault();\n onRequestInfo && onRequestInfo();\n };\n\n return (\n
    \n

    \n {t('Forms.help')}\n \n {getMDirectorSupportPhone()}\n \n

    \n \n {t('Forms.emailUs')}\n \n
    \n );\n};\n","import { useQuery } from 'react-query';\n\nimport { PAYMENTS_BACKEND_URL } from '@/config';\nimport axios from '@/lib/axios';\nimport { ExtractFnReturnType, QueryConfig } from '@/lib/react-query';\n\nimport { MobileToken } from '../types';\n\nexport const getMobileToken = ({ groupId }: { groupId: string }): Promise => {\n const endPoint = PAYMENTS_BACKEND_URL + 'mobile-token/check/' + groupId;\n\n return axios\n .get(endPoint, {\n validateStatus: (status) => status < 500,\n })\n .then((response: any) => {\n if (typeof response === 'string') {\n throw Error(`Critical error fetching data in ${endPoint}`);\n }\n\n if (response?.status === 404) {\n return {\n groupId: groupId,\n };\n }\n\n return response;\n })\n .catch((error) => {\n throw Error(`Critical error fetching data in ${endPoint}: ${error}`);\n });\n};\n\ntype QueryFnType = typeof getMobileToken;\n\ntype UseMobileTokenOptions = {\n groupId: string;\n config?: QueryConfig;\n};\n\nexport const useMobileToken = ({ groupId, config }: UseMobileTokenOptions) => {\n return useQuery>({\n queryFn: () => getMobileToken({ groupId }),\n ...config,\n });\n};\n","import { useMutation } from 'react-query';\n\nimport { PAYMENTS_BACKEND_URL, RECAPTCHA_NEEDED } from '@/config';\nimport axios from '@/lib/axios';\nimport { MutationConfig, queryClient } from '@/lib/react-query';\n\nexport type RequestMobileTokenProps = {\n hash: string;\n phone: string;\n recaptcha: string;\n};\n\nexport type RequestMobileTokenResponseProps = {\n id: null;\n groupId: null;\n phone: string;\n lang: string;\n tries: number;\n deliveries: number;\n validAt: string;\n usedAt: null;\n createdAt: null;\n};\n\nexport const requestMobileToken = ({\n hash,\n phone,\n recaptcha,\n}: RequestMobileTokenProps): Promise => {\n const endPoint = PAYMENTS_BACKEND_URL + 'mobile-token/send';\n let data;\n if (RECAPTCHA_NEEDED) {\n data = { hash, phone, 'cf-turnstile-response': recaptcha };\n } else {\n data = { hash, phone };\n }\n\n return axios\n .post(endPoint, data, {\n validateStatus: (status) => status < 500,\n })\n .then((response: any) => {\n if (typeof response === 'string') {\n throw Error(`Critical error fetching data in ${endPoint}`);\n }\n\n return response;\n })\n .catch((error) => {\n throw Error(`Critical error fetching data in ${endPoint}: ${error}`);\n });\n};\n\ntype UseRequestMobileToken = {\n config?: MutationConfig;\n};\n\nexport const useRequestMobileToken = ({ config }: UseRequestMobileToken = {}) => {\n return useMutation({\n onMutate: async (creatingNotification: any) => {\n await queryClient.cancelQueries(['mobile-token', creatingNotification]);\n\n const previousDetails = queryClient.getQueryData([\n 'mobile-token',\n creatingNotification,\n ]);\n\n queryClient.setQueryData(['mobile-token', creatingNotification], {\n ...previousDetails,\n ...creatingNotification.data,\n });\n\n return { previousDetails: previousDetails };\n },\n\n onError: (_, __, context: any) => {\n if (context?.previousDetails) {\n queryClient.setQueryData(\n ['mobile-token', context.previousDetails],\n context.previousDetails\n );\n }\n },\n\n onSuccess: (data) => {\n queryClient.refetchQueries(['mobile-token', data]);\n },\n ...config,\n\n mutationFn: requestMobileToken,\n });\n};\n","import { useMutation } from 'react-query';\n\nimport { iFormPhoneValidationFields } from '@/components/Form/FormPhoneValidation';\nimport { PAYMENTS_BACKEND_URL } from '@/config';\nimport axios from '@/lib/axios';\nimport { MutationConfig, queryClient } from '@/lib/react-query';\n\nimport { WRONG_TOKEN } from '..';\nimport { MobileToken } from '../types';\n\nexport type CreateMobileToken = {\n data: iFormPhoneValidationFields;\n groupId: string;\n};\n\nexport const createMobileToken = ({ data, groupId }: CreateMobileToken): Promise => {\n const endPoint = PAYMENTS_BACKEND_URL + 'mobile-token/init/' + groupId;\n return axios\n .post(\n endPoint,\n { groupId: data.groupId, phone: data.phone, lang: data.lang },\n {\n validateStatus: (status) => status < 500,\n }\n )\n .then((response: any) => {\n if (typeof response === 'string') {\n throw Error(`Critical error fetching data in ${endPoint}`);\n }\n\n if (response?.status === 406) {\n return {\n groupId: groupId,\n hasError: WRONG_TOKEN,\n };\n }\n\n return response;\n })\n .catch((error) => {\n throw Error(`Critical error fetching data in ${endPoint}: ${error}`);\n });\n};\n\ntype UseCreateMobileTokenOptions = {\n config?: MutationConfig;\n};\n\nexport const useCreateMobileToken = ({ config }: UseCreateMobileTokenOptions = {}) => {\n return useMutation({\n onMutate: async (creatingNotification: any) => {\n await queryClient.cancelQueries(['mobile-token', creatingNotification]);\n\n const previousDetails = queryClient.getQueryData([\n 'mobile-token',\n creatingNotification,\n ]);\n\n queryClient.setQueryData(['mobile-token', creatingNotification], {\n ...previousDetails,\n ...creatingNotification.data,\n });\n\n return { previousDetails: previousDetails };\n },\n onError: (_, __, context: any) => {\n if (context?.previousDetails) {\n queryClient.setQueryData(\n ['mobile-token', context.previousDetails],\n context.previousDetails\n );\n }\n },\n onSuccess: (data) => {\n queryClient.refetchQueries(['mobile-token', data]);\n },\n ...config,\n mutationFn: createMobileToken,\n });\n};\n","import { useMutation } from 'react-query';\n\nimport { iFormTokenCheckFields } from '@/components/Form/FormTokenCheck';\nimport { PAYMENTS_BACKEND_URL } from '@/config';\nimport axios from '@/lib/axios';\nimport { MutationConfig, queryClient } from '@/lib/react-query';\n\nimport { WRONG_TOKEN, WRONG_TOKEN_VALIDATION } from '..';\nimport { MobileToken } from '../types';\n\nexport type UpdateMobileToken = {\n data: iFormTokenCheckFields;\n groupId: string;\n};\n\nexport const updateMobileToken = ({ data, groupId }: UpdateMobileToken): Promise => {\n const endPoint = PAYMENTS_BACKEND_URL + 'mobile-token/check/' + groupId;\n return axios\n .put(\n endPoint,\n { groupId: data.groupId, phone: data.phone, token: data.token },\n {\n validateStatus: (status) => status < 500,\n }\n )\n .then((response: any) => {\n if (typeof response === 'string') {\n throw Error(`Critical error fetching data in ${endPoint}`);\n }\n\n if (response?.status === 406) {\n return {\n groupId: groupId,\n hasError: WRONG_TOKEN,\n };\n }\n if (response.response == false) {\n return { ...response.data, hasError: WRONG_TOKEN_VALIDATION };\n }\n return response.data;\n })\n .catch((error) => {\n throw Error(`Critical error fetching data in ${endPoint}: ${error}`);\n });\n};\n\ntype UseUpdateMobileTokenOptions = {\n config?: MutationConfig;\n};\n\nexport const useUpdateMobileToken = ({ config }: UseUpdateMobileTokenOptions = {}) => {\n return useMutation({\n onMutate: async (creatingNotification: any) => {\n await queryClient.cancelQueries(['mobile-token', creatingNotification]);\n\n const previousDetails = queryClient.getQueryData([\n 'mobile-token',\n creatingNotification,\n ]);\n\n queryClient.setQueryData(['mobile-token', creatingNotification], {\n ...previousDetails,\n ...creatingNotification.data,\n });\n\n return { previousDetails: previousDetails };\n },\n onError: (_, __, context: any) => {\n if (context?.previousDetails) {\n queryClient.setQueryData(\n ['mobile-token', context.previousDetails],\n context.previousDetails\n );\n }\n },\n onSuccess: (data) => {\n queryClient.refetchQueries(['mobile-token', data]);\n },\n ...config,\n mutationFn: updateMobileToken,\n });\n};\n","import { useMutation } from 'react-query';\n\nimport { PAYMENTS_BACKEND_URL } from '@/config';\nimport axios from '@/lib/axios';\nimport { MutationConfig, queryClient } from '@/lib/react-query';\n\nexport type ValidateMobileTokenProps = {\n hash: string;\n phone: string;\n token: string;\n};\n\nexport type ValidateMobileTokenResponseProps = {\n id: null;\n groupId: null;\n phone: string;\n lang: string;\n tries: number;\n deliveries: number;\n validAt: string;\n usedAt: null;\n createdAt: null;\n};\n\nexport const validateMobileToken = ({\n hash,\n phone,\n token,\n}: ValidateMobileTokenProps): Promise => {\n const endPoint = PAYMENTS_BACKEND_URL + 'mobile-token/validate';\n\n return axios\n .post(\n endPoint,\n {\n hash,\n phone,\n token,\n },\n {\n validateStatus: (status) => status < 500,\n }\n )\n .then((response: any) => {\n if (typeof response === 'string') {\n throw Error(`Critical error fetching data in ${endPoint}`);\n }\n\n return response;\n })\n .catch((error) => {\n throw Error(`Critical error fetching data in ${endPoint}: ${error}`);\n });\n};\n\ntype UseValidateMobileToken = {\n config?: MutationConfig;\n};\n\nexport const useValidateMobileToken = ({ config }: UseValidateMobileToken = {}) => {\n return useMutation({\n onMutate: async (creatingNotification: any) => {\n await queryClient.cancelQueries(['mobile-token', creatingNotification]);\n\n const previousDetails = queryClient.getQueryData([\n 'mobile-token',\n creatingNotification,\n ]);\n\n queryClient.setQueryData(['mobile-token', creatingNotification], {\n ...previousDetails,\n ...creatingNotification.data,\n });\n\n return { previousDetails: previousDetails };\n },\n\n onError: (_, __, context: any) => {\n if (context?.previousDetails) {\n queryClient.setQueryData(\n ['mobile-token', context.previousDetails],\n context.previousDetails\n );\n }\n },\n\n onSuccess: (data) => {\n queryClient.refetchQueries(['mobile-token', data]);\n },\n ...config,\n\n mutationFn: validateMobileToken,\n });\n};\n","export * from './api/getMobileToken';\nexport * from './api/requestMobileToken';\nexport * from './api/createMobileToken';\nexport * from './api/updateMobileToken';\nexport * from './api/validateMobileToken';\nexport * from './types';\n\nexport const WRONG_TOKEN = 1;\nexport const WRONG_TOKEN_VALIDATION = 2;\n","import { useFormik } from 'formik';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport * as Yup from 'yup';\n\nimport { Button } from '@/components/Elements';\nimport { DEFAULT_LANG } from '@/config';\nimport { DEFAULT_USER_LANGUAGE_FOR_CONTACT } from '@/config/appConstants';\nimport { MobileToken, WRONG_TOKEN } from '@/features/mobileToken';\nimport { AppLanguages, BaseFormEntity, UserData } from '@/types';\nimport { checkPhone, renderField, renderSelect } from '@/utils/forms';\nimport { isAdminUser } from '@/utils/helpers';\n\nexport type FormPhoneValidationProps = {\n className?: string;\n initialValues: iFormPhoneValidationFields | undefined;\n onSubmit: (values: iFormPhoneValidationFields) => void;\n mobileToken: MobileToken;\n userData: UserData;\n};\n\nexport type iFormPhoneValidationFields = {\n groupId: string;\n lang: string;\n phone: string;\n} & BaseFormEntity;\n\nconst initialValuesDefault: iFormPhoneValidationFields = {\n groupId: '',\n lang: DEFAULT_USER_LANGUAGE_FOR_CONTACT,\n phone: '',\n formName: 'PhoneValidation',\n};\n\nexport const FormPhoneValidation = ({\n className,\n initialValues,\n onSubmit,\n mobileToken,\n userData,\n}: FormPhoneValidationProps) => {\n const { t, i18n } = useTranslation();\n\n initialValuesDefault.groupId = userData.groupId;\n initialValuesDefault.phone = mobileToken.phone || '';\n initialValuesDefault.lang = i18n.language || 'es';\n\n const defaultValidationSchema = {\n phone: Yup.string()\n .min(3, `${t('Forms.minErrorChars')} 3 ${t('Forms.chars')}`)\n .test('test-phone', t('Forms.invalidFormat'), checkPhone)\n .required(t('Forms.required')),\n groupId: Yup.string().required(t('Forms.required')),\n };\n\n const MainForm = () => {\n const onFormSubmit = (values: iFormPhoneValidationFields) => {\n onSubmit && onSubmit(values);\n };\n\n const formikData = {\n initialValues: { ...initialValuesDefault, ...initialValues },\n validationSchema: Yup.object(defaultValidationSchema),\n onSubmit: onFormSubmit,\n };\n\n const formik: any = useFormik(formikData);\n\n return (\n
    \n

    {t('Forms.PhoneValidation.title')}

    \n
    \n {renderSelect(formik, 'phone', {\n customClasses: 'w-full md:w-1/2',\n type: 'phone',\n required: true,\n renderLabel: (item: { name: string }) => item.name,\n defaultCountry: i18n.language.toUpperCase(),\n userLanguage: (i18n.language || DEFAULT_LANG) as AppLanguages,\n })}\n
    \n {renderField(formik, 'groupId', { type: 'hidden' })}\n {renderField(formik, 'lang', { type: 'hidden', value: i18n.language })}\n
    \n
    \n \n {getActionButton(mobileToken)}\n \n
    \n
    \n
    \n );\n };\n\n const getActionButton = (mobileToken: MobileToken): string => {\n return typeof mobileToken.deliveries === 'undefined' ||\n parseInt(mobileToken.deliveries, 10) === 0\n ? t('Forms.PhoneValidation.send')\n : t('Forms.PhoneValidation.retry');\n };\n\n const isUsed = (mobileToken: MobileToken, userData: UserData): boolean => {\n if (isAdminUser(userData)) {\n return true;\n }\n if (mobileToken.usedAt) {\n return true;\n }\n\n return false;\n };\n\n const isBlocked = (mobileToken: MobileToken, userData: UserData): boolean => {\n if (isAdminUser(userData)) {\n return true;\n }\n if (\n typeof mobileToken.deliveries !== 'undefined' &&\n parseInt(mobileToken.deliveries, 10) >= 3\n ) {\n return true;\n }\n\n if (typeof mobileToken.tries !== 'undefined' && parseInt(mobileToken.tries, 10) >= 5) {\n return true;\n }\n\n return false;\n };\n\n const getError = (mobileToken: MobileToken): number => {\n if (typeof mobileToken.hasError !== 'undefined') {\n return mobileToken.hasError;\n }\n\n return 0;\n };\n\n const used: boolean = isUsed(mobileToken, userData);\n const blocked: boolean = isBlocked(mobileToken, userData);\n const errorToken: number = getError(mobileToken);\n\n return (\n
    \n
    \n {used &&

    {t('Forms.tokenChecked')}

    }\n\n {errorToken == WRONG_TOKEN && (\n

    {t('Forms.cantSendSmsError')}

    \n )}\n\n {blocked && !used && (\n

    {t('Forms.blockBillingDetails')}

    \n )}\n\n {!used && !blocked && }\n
    \n
    \n );\n};\n","import { useFormik } from 'formik';\nimport React, { MouseEvent } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport * as Yup from 'yup';\n\nimport { Button } from '@/components/Elements';\nimport { MobileToken, WRONG_TOKEN, WRONG_TOKEN_VALIDATION } from '@/features/mobileToken';\nimport { BaseFormEntity, UserData } from '@/types';\nimport { checkPhone, renderField } from '@/utils/forms';\nimport { isAdminUser, isNewFreeUser } from '@/utils/helpers';\n\nexport type FormTokenCheckProps = {\n className?: string;\n initialValues: iFormTokenCheckFields | undefined;\n onSubmit: (values: iFormTokenCheckFields) => void;\n onRetryDelivery: () => void;\n mobileToken: MobileToken;\n userData: UserData;\n};\n\nexport type iFormTokenCheckFields = {\n groupId: string;\n phone: string;\n token?: string;\n} & BaseFormEntity;\n\nconst initialValuesDefault: iFormTokenCheckFields = {\n groupId: '',\n phone: '',\n token: '',\n formName: 'TokenCheck',\n};\n\nexport const FormTokenCheck = ({\n className,\n initialValues,\n onSubmit,\n // onRetryDelivery,\n mobileToken,\n userData,\n}: FormTokenCheckProps) => {\n const { t } = useTranslation();\n\n initialValuesDefault.groupId = userData.groupId;\n initialValuesDefault.phone = mobileToken.phone;\n\n const defaultValidationSchema = {\n phone: Yup.string()\n .min(3, `${t('Forms.minErrorChars')} 3 ${t('Forms.chars')}`)\n .test('test-phone', t('Forms.invalidFormat'), checkPhone)\n .required(t('Forms.required')),\n groupId: Yup.string().required(t('Forms.required')),\n token: Yup.string().required(t('Forms.required')),\n };\n\n const onDefaultRetryDelivery = (e: MouseEvent) => {\n e.preventDefault();\n // onRetryDelivery && onRetryDelivery();\n console.info('onDefaultRetryDelivery...');\n };\n\n const MainForm = () => {\n const onFormSubmit = (values: iFormTokenCheckFields) => {\n onSubmit && onSubmit(values);\n };\n\n const formikData = {\n initialValues: { ...initialValuesDefault, ...initialValues },\n validationSchema: Yup.object(defaultValidationSchema),\n onSubmit: onFormSubmit,\n };\n const formik: any = useFormik(formikData);\n\n return (\n
    \n

    {t('Forms.TokenCheck.title')}

    \n {t('Forms.TokenCheck.warningCase')}\n
    \n {renderField(formik, 'token', {\n customClasses: 'w-full md:w-1/2',\n required: true,\n autoFocus: true,\n })}\n
    \n {renderField(formik, 'groupId', { type: 'hidden' })}\n {renderField(formik, 'phone', { type: 'hidden' })}\n
    \n
    \n \n {t('Forms.send')}\n \n
    \n {canRetry(mobileToken, userData) && getRetry()}\n
    \n
    \n );\n };\n\n const getRetry = () => {\n // return (\n // \n // {t('Forms.TokenCheck.retry')}\n // \n // );\n return (\n \n {t('Forms.TokenCheck.retry')}\n \n );\n };\n\n const isUsed = (mobileToken: MobileToken, userData: UserData): boolean => {\n if (isAdminUser(userData)) {\n return true;\n }\n if (mobileToken.usedAt) {\n return true;\n }\n\n return false;\n };\n\n const isBlocked = (mobileToken: MobileToken, userData: UserData): boolean => {\n if (isAdminUser(userData)) {\n return true;\n }\n if (\n typeof mobileToken.deliveries === 'undefined' ||\n parseInt(mobileToken.deliveries, 10) > 3 ||\n parseInt(mobileToken.deliveries, 10) === 0\n ) {\n return true;\n }\n\n if (typeof mobileToken.tries === 'undefined' || parseInt(mobileToken.tries, 10) >= 5) {\n return true;\n }\n\n return false;\n };\n\n const isBlockedByTime = (mobileToken: MobileToken, userData: UserData): boolean => {\n if (isBlocked(mobileToken, userData)) {\n return true;\n }\n\n if (\n typeof mobileToken.validAt === 'undefined' ||\n new Date(mobileToken.validAt).getTime() < new Date().getTime()\n ) {\n return true;\n }\n\n return false;\n };\n\n const canRetry = (mobileToken: MobileToken, userData: UserData): boolean => {\n if (\n isNewFreeUser(userData) &&\n (typeof mobileToken.deliveries === 'undefined' || parseInt(mobileToken.deliveries, 10) < 3)\n ) {\n return true;\n }\n\n return false;\n };\n\n const getError = (mobileToken: MobileToken): number => {\n if (typeof mobileToken.hasError !== 'undefined') {\n return mobileToken.hasError;\n }\n\n return 0;\n };\n\n const used: boolean = isUsed(mobileToken, userData);\n const blocked: boolean = isBlocked(mobileToken, userData);\n const blockedByTime: boolean = isBlockedByTime(mobileToken, userData);\n const errorToken: number = getError(mobileToken);\n\n return (\n
    \n {used &&

    {t('Forms.tokenChecked')}

    }\n {errorToken == WRONG_TOKEN && (\n

    \n {t('Forms.cantSendSmsError')} {canRetry(mobileToken, userData) && getRetry()}\n

    \n )}\n\n {errorToken == WRONG_TOKEN_VALIDATION && (\n

    {t('Forms.wrongToken')}

    \n )}\n\n {blocked && !used && !errorToken && (\n

    \n {t('Forms.blockBillingDetails')} {canRetry(mobileToken, userData) && getRetry()}\n

    \n )}\n {!used && !blocked && blockedByTime && (\n

    \n {t('Forms.TokenCheck.notValidTokenTime')} {canRetry(mobileToken, userData) && getRetry()}\n

    \n )}\n {!used && !blocked && !blockedByTime && }\n
    \n );\n};\n","import { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport { DisclaimerPhoneValidation } from '@/components/Elements/DisclaimerPhoneValidation';\nimport { Footer } from '@/components/Elements/Footer';\nimport {\n FormPhoneValidation,\n iFormPhoneValidationFields,\n} from '@/components/Form/FormPhoneValidation';\nimport { FormTokenCheck, iFormTokenCheckFields } from '@/components/Form/FormTokenCheck';\nimport { MobileToken } from '@/features/mobileToken';\nimport { UserData } from '@/types';\nimport { isNewFreeUser } from '@/utils/helpers';\n\nexport type PhoneValidationContainerProps = {\n className?: string;\n mobileToken: MobileToken;\n userData: UserData;\n showFooter?: boolean;\n onRequestInfo?: () => void;\n onSubmitFormPhoneValidation: (values: iFormPhoneValidationFields) => void;\n onSubmitFormTokenCheck: (values: iFormTokenCheckFields) => void;\n};\n\nexport const PhoneValidationContainer = ({\n className,\n mobileToken,\n userData,\n showFooter = false,\n onRequestInfo,\n onSubmitFormPhoneValidation,\n onSubmitFormTokenCheck,\n}: PhoneValidationContainerProps) => {\n const { t } = useTranslation();\n\n const getShowFormPhoneValidation = (mobileToken: MobileToken, userData: UserData): boolean => {\n if (\n isNewFreeUser(userData) &&\n (typeof mobileToken.deliveries === 'undefined' || parseInt(mobileToken.deliveries, 10) < 3) &&\n (typeof mobileToken.validAt === 'undefined' || !mobileToken.validAt) &&\n (typeof mobileToken.usedAt === 'undefined' || !mobileToken.usedAt)\n ) {\n return true;\n }\n\n return false;\n };\n\n const getShowFormTokenCheck = (mobileToken: MobileToken, userData: UserData): boolean => {\n if (isNewFreeUser(userData) && mobileToken.validAt) {\n return true;\n }\n return false;\n };\n\n const [showFormPhoneValidation, setShowFormPhoneValidation] = useState(\n getShowFormPhoneValidation(mobileToken, userData)\n );\n const [showFormTokenCheck, setShowFormTokenCheck] = useState(\n getShowFormTokenCheck(mobileToken, userData)\n );\n\n const onDefaultSubmitFormPhoneValidation = async (values: iFormPhoneValidationFields) => {\n onSubmitFormPhoneValidation && (await onSubmitFormPhoneValidation(values));\n\n setShowFormPhoneValidation(false);\n setShowFormTokenCheck(true);\n };\n\n const onDefaultSubmitFormTokenCheck = (values: iFormTokenCheckFields) => {\n onSubmitFormTokenCheck && onSubmitFormTokenCheck(values);\n\n setShowFormPhoneValidation(getShowFormPhoneValidation(mobileToken, userData));\n setShowFormTokenCheck(getShowFormTokenCheck(mobileToken, userData));\n };\n\n const onRetryDelivery = () => {\n setShowFormPhoneValidation(true);\n setShowFormTokenCheck(false);\n };\n\n const getFormPhoneValidation = () => {\n return (\n \n );\n };\n\n const getFormTokenCheck = () => {\n return (\n \n );\n };\n\n return (\n
    \n {showFormPhoneValidation && getFormPhoneValidation()}\n {showFormTokenCheck && getFormTokenCheck()}\n {!showFormPhoneValidation && !showFormTokenCheck && (\n

    {t('Forms.tokenChecked')}

    \n )}\n \n {showFooter && onRequestInfo &&
    }\n
    \n );\n};\n","import { ultraWideModalStyles } from '@/components/Elements/Modal/customStyles';\nimport { PaymentsModal } from '@/components/Elements/PaymentsModal';\nimport { ProductTypes } from '@/types';\n\nimport {\n PhoneValidationContainer,\n PhoneValidationContainerProps,\n} from './PhoneValidationContainer';\n\nexport interface iPhoneValidationContainerInModalProps\n extends Omit {\n isOpen: boolean;\n shouldCloseOnOverlayClick?: boolean;\n onRequestClose: () => void;\n onRequestInfo: (product: ProductTypes | null) => void;\n product?: ProductTypes | null;\n}\n\nexport const PhoneValidationContainerInModal = ({\n isOpen,\n shouldCloseOnOverlayClick,\n onRequestClose,\n onRequestInfo,\n mobileToken,\n userData,\n product = null,\n onSubmitFormPhoneValidation,\n onSubmitFormTokenCheck,\n}: iPhoneValidationContainerInModalProps) => {\n const onDefaultRequestClose = () => {\n onRequestClose && onRequestClose();\n };\n\n const onDefaultRequestInfoOpen = () => {\n onRequestInfo && onRequestInfo(product);\n };\n\n return (\n \n \n \n );\n};\n","import { ExclamationCircleIcon } from '@heroicons/react/outline';\nimport * as React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport { defaultModalStyles } from '@/components/Elements/Modal/customStyles';\nimport { PaymentsModal } from '@/components/Elements/PaymentsModal';\nimport { FormConfirm } from '@/components/Form/FormConfirm';\nimport { redirectMyRate } from '@/utils/helpers';\n\nexport type PaymentErrorModalProps = {\n titleTag: string;\n onRequestClose: () => void;\n isOpen?: boolean;\n shouldRedirect?: boolean;\n};\n\nexport const PaymentErrorModal = ({\n titleTag,\n onRequestClose,\n isOpen = false,\n shouldRedirect = false,\n}: PaymentErrorModalProps) => {\n const { t } = useTranslation();\n\n const onActionButton = () => {\n closeModal();\n shouldRedirect && redirectMyRate();\n };\n\n const closeModal = () => {\n onRequestClose && onRequestClose();\n };\n\n return (\n \n }\n onClickAction={onActionButton}\n />\n \n );\n};\n","import * as React from 'react';\nimport { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport { Button, Spinner } from '@/components/Elements';\nimport { CouponForm } from '@/components/Elements/CouponForm';\nimport { tinyModalStyles, wideNoScrollModalStyles } from '@/components/Elements/Modal/customStyles';\nimport { UpdateProductCard } from '@/components/Elements/UpdateProductCard';\nimport { BILLING_MODE_UNIQUE, REQUEST_FAILED, REQUEST_SUCCESS } from '@/config/appConstants';\nimport { PaymentIntent } from '@/features/payment';\nimport { Currency, IntervalBillingMode, InvoicePreviewTypes, ProductTypes } from '@/types';\nimport { getBillingModeByIntervalCount, isPrepaidProduct } from '@/utils/helpers';\n\nimport { ErrorModal } from '../ErrorModal';\nimport { InvoiceUpdateSummary } from '../InvoiceUpdateSummary';\nimport { PaymentsModal } from '../PaymentsModal';\n\nexport type SummaryPaymentModalProps = {\n isOpen?: boolean;\n onRequestClose: () => void;\n onActionButton: (promotionCode: string) => void;\n newUserProduct: ProductTypes;\n newCurrency: Currency;\n newIntervalCount: IntervalBillingMode;\n isCouponEnabled?: boolean;\n onCouponFormSubmit?: (values: any) => Promise;\n isDemo?: boolean;\n actionButtonLabel?: string;\n initialInvoiceUpdateSummaryData?: InvoicePreviewTypes;\n getCreatePaymentIntent?: (\n productSelected: ProductTypes | null | undefined,\n userCurrency: Currency,\n intervalCount: IntervalBillingMode,\n preview: boolean,\n promotionCode: string | undefined,\n onErrorCallback: (status: number) => void\n ) => Promise;\n};\n\nexport const SummaryPaymentModal = ({\n onRequestClose,\n onActionButton,\n isOpen = false,\n newUserProduct,\n newCurrency,\n newIntervalCount,\n isCouponEnabled,\n initialInvoiceUpdateSummaryData,\n actionButtonLabel,\n getCreatePaymentIntent,\n}: SummaryPaymentModalProps) => {\n const { t } = useTranslation();\n const [invoiceUpdateSummaryData, setInvoiceUpdateSummaryData] = useState(\n initialInvoiceUpdateSummaryData\n );\n const [couponStatus, setCouponStatus] = useState(null);\n const [isSummaryDataLoading, setIsSummaryDataLoading] = useState(false);\n const [currentCoupon, setCurrentCoupon] = useState('');\n const [lastValidCoupon, setLastValidCoupon] = useState(undefined);\n const [showSpinner, setShowSpinner] = useState(false);\n const [statusErrorPaymentTryAgain, setStatusErrorPaymentTryAgain] = useState(0);\n\n const onDefaultActionButton = () => {\n onDefaultRequestClose();\n setShowSpinner(true);\n onActionButton && onActionButton(currentCoupon);\n };\n\n const onDefaultRequestClose = () => {\n onRequestClose && onRequestClose();\n };\n\n const renderSpinner = () => (\n \n
    \n \n
    \n \n );\n\n const onErrorCallback = (status: number) => {\n if (status === 503 || status === 500 || status === 402)\n return setStatusErrorPaymentTryAgain(status);\n setCouponStatus(REQUEST_FAILED);\n setIsSummaryDataLoading(false);\n };\n\n const onDefaultCouponFormSubmit = async (values: any) => {\n const preview = true;\n setIsSummaryDataLoading(true);\n setCurrentCoupon(values.customCoupon);\n\n if (!getCreatePaymentIntent) {\n return;\n }\n\n const promise = getCreatePaymentIntent(\n newUserProduct,\n newCurrency,\n newIntervalCount,\n preview,\n values.customCoupon,\n onErrorCallback\n );\n\n return promise.then((response) => {\n setIsSummaryDataLoading(false);\n\n if (response) {\n setCouponStatus(REQUEST_SUCCESS);\n setInvoiceUpdateSummaryData(response);\n setLastValidCoupon(values.customCoupon);\n }\n });\n };\n\n const getInvoiceUpdateSummaryStyle = () => {\n if (isCouponEnabled) {\n if (couponStatus === REQUEST_SUCCESS) {\n return 'summary__update--success';\n } else if (couponStatus === REQUEST_FAILED) {\n return 'summary__update--error';\n }\n }\n\n return;\n };\n\n const isANewProductToUpdate = (product: ProductTypes) => {\n if (isPrepaidProduct(product)) {\n return false;\n }\n\n return true;\n };\n\n return (\n
    \n {!invoiceUpdateSummaryData && renderSpinner()}\n \n\n {!showSpinner && (\n \n
    \n

    \n {t('ConfirmNeededPaymentModal.newProductInvoice')}\n \n 💖\n \n

    \n
    \n \n
    \n {invoiceUpdateSummaryData && (\n \n )}\n\n {isCouponEnabled && (\n \n )}\n \n {actionButtonLabel || t('ConfirmNeededPaymentModal.actionButton')}\n \n
    \n \n )}\n
    \n );\n};\n","export default __webpack_public_path__ + \"static/media/calendar.1e45cdd1.png\";","import * as React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport Calendar from '@/assets/calendar.png';\n\nexport type TourButtonRequestProps = {\n tourRequestURL: string;\n actionLabel?: React.ReactNode | string;\n icon?: boolean;\n iconURL?: string;\n};\n\nexport const TourButtonRequest = ({\n tourRequestURL,\n actionLabel,\n iconURL,\n icon = true,\n}: TourButtonRequestProps) => {\n const { t } = useTranslation();\n\n return (\n \n \n {icon && (\n \n )}\n {actionLabel || t('TourRequest.title')}\n \n \n );\n};\n","export default __webpack_public_path__ + \"static/media/question.841e989c.svg\";","import clsx from 'clsx';\nimport { ReactNode, useState } from 'react';\n\nexport const TRIGGER_HOVER = 'hover';\nexport const TRIGGER_CLICK = 'click';\n\nexport type TooltipProps = {\n className?: string;\n tooltipClassName?: string;\n message: ReactNode | string;\n children?: ReactNode | string;\n trigger?: typeof TRIGGER_CLICK | typeof TRIGGER_HOVER;\n onShow?: () => void;\n onHide?: () => void;\n};\n\nexport const Tooltip = ({\n className,\n tooltipClassName,\n message,\n children,\n trigger = TRIGGER_HOVER,\n onShow,\n onHide,\n}: TooltipProps) => {\n const [isOpen, setIsOpen] = useState(false);\n\n const onDefaultClick = () => {\n trigger === TRIGGER_CLICK && setIsOpen(!isOpen);\n\n isOpen ? onHide && onHide() : onShow && onShow();\n };\n\n return (\n
    \n
    \n \n {children}\n
    \n \n \n {message}\n
    \n \n \n \n \n );\n};\n","import { APP_PMP_URL } from '@/config';\ndeclare const gdprRegister: any;\nconst PMP_ID = 'PMP_ID';\n\nconst getConfig = () => {\n return {\n formSelector: '#UserAccount',\n submitSelector: '#UserAccountButton',\n acceptanceSelector: '#legalTerms',\n emailSelector: '#email',\n };\n};\n\nconst checkFile = () => {\n const existingScript = document.getElementById(PMP_ID);\n return existingScript;\n};\n\nexport const loadPmp = () => {\n if (!checkFile() && APP_PMP_URL) {\n const script = document.createElement('script');\n script.src = APP_PMP_URL;\n script.id = PMP_ID;\n document.body.appendChild(script);\n script.onload = () => {\n console.log('PMP Script loaded.');\n };\n }\n};\n\nexport const sendToPmpData = (event: React.FormEvent) => {\n event.preventDefault();\n if (checkFile() && APP_PMP_URL) {\n const config = getConfig();\n gdprRegister(event, config.submitSelector, config.acceptanceSelector, config.emailSelector);\n }\n};\n","import clsx from 'clsx';\nimport { useFormik } from 'formik';\nimport React from 'react';\nimport { Translation, useTranslation } from 'react-i18next';\nimport * as Yup from 'yup';\n\nimport QuestionIcon from '@/assets/question.svg';\nimport { Button } from '@/components/Elements';\nimport { Footer } from '@/components/Elements/Footer';\nimport { Tooltip } from '@/components/Elements/Tooltip';\nimport { iFormContactFields } from '@/components/Form/FormContact';\nimport { DEFAULT_LANG } from '@/config';\nimport { MAX_CHECKS_CIF } from '@/config/appConstants';\nimport { Country, CountryName } from '@/features/countries';\nimport { Province } from '@/features/provinces';\nimport { TinDocumentType } from '@/features/tinDocumentTypes';\nimport { useGroupBillingDetails } from '@/hooks/useGroupBillingDetails';\nimport { useMe } from '@/hooks/useMe';\nimport { sendToPmpData, loadPmp } from '@/lib/Pmp/pmp';\nimport { AppLanguages, BaseFormEntity, BillingMode, Currency, ProductTypes } from '@/types';\nimport {\n checkCP,\n checkPhone,\n getFormName,\n renderField,\n renderLegalCheck,\n renderSelect,\n} from '@/utils/forms';\nimport { getGuessURL, onlyDigits, sortCountries } from '@/utils/helpers';\nimport storage from '@/utils/storage';\n\nexport type FormUserAccountProps = {\n className?: string;\n onSubmit: (values: iFormUserAccountFields, product: ProductTypes | null) => void;\n countries: Country[];\n provinces: Province[];\n tinDocumentTypes: TinDocumentType[];\n countryOnChange: (formValues: any, countryId: string) => void;\n groupId: string;\n actionButton?: React.ReactNode | string;\n showCancelButton?: boolean;\n onCancelButton?: () => void;\n showFooter?: boolean;\n onRequestInfo?: () => void;\n onRequestInfoSubmit?: (values: iFormContactFields) => void;\n showPaymentCheckout?: boolean;\n product?: ProductTypes | null;\n currency: Currency | null;\n billingMode: BillingMode | null;\n showAgreementsCheck: boolean;\n isModalForm?: boolean;\n};\n\nexport type iFormUserAccountFields = {\n groupId: string;\n name: string;\n lastname: string;\n countryId: string;\n provinceId: string;\n city: string;\n companyName: string;\n companyCif?: string;\n companyCifDocumentType?: string;\n address: string;\n postalCode: string;\n phone: string;\n currency: Currency | null;\n legalTerms: boolean;\n alreadySaved?: boolean;\n createdAt?: string;\n triesCif?: number;\n} & BaseFormEntity;\n\nconst initialValuesDefault: iFormUserAccountFields = {\n formName: 'UserAccount',\n name: '',\n lastname: '',\n countryId: '',\n provinceId: '',\n city: '',\n companyName: '',\n companyCif: '',\n companyCifDocumentType: '',\n address: '',\n postalCode: '',\n phone: '',\n groupId: '',\n currency: null,\n legalTerms: false,\n alreadySaved: true,\n};\n\nexport const FormUserAccount = ({\n onSubmit,\n className,\n countries,\n provinces,\n tinDocumentTypes,\n countryOnChange,\n groupId,\n actionButton,\n showCancelButton = false,\n onCancelButton,\n showFooter = false,\n showPaymentCheckout = false,\n onRequestInfo,\n product = null,\n currency,\n billingMode,\n showAgreementsCheck = false,\n isModalForm = false,\n}: FormUserAccountProps) => {\n const { t, i18n } = useTranslation();\n const { getBillingDetails } = useGroupBillingDetails();\n\n const mapperInitialValues = (values?: iFormUserAccountFields) => {\n const initialValues = getBillingDetails();\n Object.assign(initialValues, values);\n if (\n initialValues?.triesCif &&\n initialValues?.triesCif >= MAX_CHECKS_CIF &&\n !initialValues.alreadySaved\n ) {\n initialValues && (initialValues.companyCif = '');\n initialValues && (initialValues.companyCifDocumentType = '');\n }\n\n initialValues && currency && (initialValues.currency = currency);\n initialValues && provinces && provinces.length == 0 && (initialValues.provinceId = '');\n initialValues &&\n tinDocumentTypes &&\n tinDocumentTypes.length == 0 &&\n (initialValues.companyCifDocumentType = '');\n\n tinDocumentTypes;\n return initialValues;\n };\n const initialValues = mapperInitialValues();\n\n initialValuesDefault.groupId = groupId;\n initialValuesDefault.currency = currency;\n const { getMe } = useMe();\n const me = getMe();\n countries = sortCountries(countries, i18n.language.toUpperCase() as keyof CountryName);\n\n const defaultValidationSchema = {\n name: Yup.string()\n .max(40, `${t('Forms.maxErrorChars')} 40 ${t('Forms.chars')}`)\n .required(t('Forms.required')),\n lastname: Yup.string()\n .max(40, `${t('Forms.maxErrorChars')} 40 ${t('Forms.chars')}`)\n .required(t('Forms.required')),\n companyName: Yup.string().required(t('Forms.required')),\n companyCif: Yup.string()\n .min(3, `${t('Forms.min')} 3 ${t('Forms.chars')}`)\n .max(20, `${t('Forms.maxErrorChars')} 20 ${t('Forms.chars')}`)\n .notOneOf(['null', '0', '00', '000'], t('Forms.invalidFormat'))\n .required(t('Forms.required')),\n companyCifDocumentType: Yup.string().required(t('Forms.required')),\n countryId: Yup.string().required(t('Forms.required')),\n provinceId: Yup.string().when('countryId', {\n is: 'ES',\n then: Yup.string().required(t('Forms.required')),\n }),\n address: Yup.string().required(t('Forms.required')),\n postalCode: Yup.string()\n .required(t('Forms.required'))\n .when(['countryId', 'provinceId'], {\n is: (countryId: string | undefined, provinceId: string | undefined) =>\n countryId === 'ES' && provinceId,\n then: Yup.string()\n .test(\n 'isNumericCP',\n t('Forms.cpFormatNotValid'),\n (value: any) => value && onlyDigits(value)\n )\n .test(\n 'isValidCPLength',\n t('Forms.cpLengthNotValid'),\n (value: any) => value && value.length === 5\n )\n .test('isValidCP', t('Forms.cpNotValid'), (val: any, formValues: any) => {\n const provinceId = formValues.parent.provinceId;\n return checkCP(val, provinceId);\n }),\n }),\n\n phone: Yup.string()\n .min(3, `${t('Forms.minErrorChars')} 3 ${t('Forms.chars')}`)\n .test('test-phone', t('Forms.invalidFormat'), checkPhone)\n .required(t('Forms.required')),\n city: Yup.string().required(t('Forms.required')),\n groupId: Yup.string().required(t('Forms.required')),\n legalTerms: showAgreementsCheck\n ? Yup.boolean().oneOf([true], t('Forms.legalRequired'))\n : Yup.boolean(),\n };\n\n const renderLabel = (language: string, item: Country) =>\n (item.name as any)[language.toUpperCase()];\n\n const setResignationAsViewed = () => {\n storage.setResignationViewed();\n window.location.assign(getGuessURL());\n };\n\n const getSignupFormResignation = () => (\n \n );\n\n const getCancelButton = () => (\n \n {t('Forms.cancelPendingProduct')}\n \n );\n\n const getSubmitButton = (formik: any) => (\n \n {actionButton || t('common.save')}\n \n );\n\n const getCifTooltip = () => {\n const getTrigger = () => (\n \n );\n\n const onDefaultRequestInfoOpen = (event: React.MouseEvent) => {\n event.preventDefault();\n onRequestInfo && onRequestInfo();\n };\n\n const getTooltipMessage = () => (\n <>\n {(t) => t('Forms.CIFBlocked')}\n \n {t('Forms.contact')}\n \n .\n \n );\n\n return (\n \n {getTrigger()}\n \n );\n };\n\n const UserForm = ({ formik }: any) => {\n const countryOnDefaultChange = (e: React.ChangeEvent) => {\n countryOnChange(formik, e.target.value);\n };\n const provinceOnDefaultChange = (e: React.ChangeEvent) => {\n initialValues.provinceId = e.target.value;\n };\n\n const companyCifDocumentTypeOnDefaultChange = (e: React.ChangeEvent) => {\n initialValues.companyCifDocumentType = e.target.value;\n };\n\n const handleSubmit = (event: React.FormEvent) => {\n event.preventDefault();\n showAgreementsCheck && sendToPmpData(event);\n formik.handleSubmit(event);\n };\n const hasBlockedCifField = (): boolean => {\n if (initialValues?.triesCif && initialValues?.triesCif >= MAX_CHECKS_CIF) return true;\n return (!!initialValues?.companyCif &&\n !!initialValues?.companyCifDocumentType &&\n initialValues?.alreadySaved) as boolean;\n };\n const hasToShowResignationViewed = !initialValues?.currency && !storage.getResignationViewed();\n\n return (\n
    \n

    {t('Forms.UserAccount.title')}

    \n\n {showPaymentCheckout && product && currency && billingMode && (\n
    {t('Forms.UserAccount.checkoutProductPreviewNoShow')}
    \n )}\n
    \n {renderField(formik, 'name', { customClasses: 'w-full md:w-1/2', required: true })}\n {renderField(formik, 'lastname', { customClasses: 'w-full md:w-1/2', required: true })}\n
    \n
    \n {renderSelect(formik, 'phone', {\n customClasses: 'w-full md:w-1/2',\n type: 'phone',\n required: true,\n renderLabel: (item: { name: string }) => item.name,\n defaultCountry: (initialValues?.countryId || i18n.language).toUpperCase(),\n userLanguage: (i18n.language || DEFAULT_LANG) as AppLanguages,\n })}\n {renderField(formik, 'address', { customClasses: 'w-full md:w-1/2', required: true })}\n
    \n
    \n {renderSelect(formik, 'countryId', {\n customClasses: 'w-full bg-md-white',\n itemClasses: 'bg-md-white',\n options: countries,\n renderLabel: (item: Country) => renderLabel(i18n.language, item),\n onChange: countryOnDefaultChange,\n value: initialValues?.countryId,\n required: true,\n })}\n {renderSelect(formik, 'provinceId', {\n customClasses: 'w-full ',\n itemClasses: 'bg-md-white',\n options: provinces,\n value: provinces.length > 0 ? initialValues?.provinceId : '',\n onChange: provinceOnDefaultChange,\n })}\n
    \n
    \n {renderField(formik, 'city', { customClasses: 'w-full md:w-1/2', required: true })}\n {renderField(formik, 'postalCode', { customClasses: 'w-full md:w-1/2', required: true })}\n
    \n\n
    \n {renderField(formik, 'companyName', { customClasses: 'w-full', required: true })}\n
    \n
    \n {renderSelect(formik, 'companyCifDocumentType', {\n customClasses: 'w-full md:w-1/2',\n required: true,\n disabled: hasBlockedCifField(),\n helpText: hasBlockedCifField() ? getCifTooltip() : '',\n itemClasses: 'bg-md-white',\n options: tinDocumentTypes,\n value: tinDocumentTypes.length > 0 ? initialValues?.companyCifDocumentType : '',\n onChange: companyCifDocumentTypeOnDefaultChange,\n })}\n {renderField(formik, 'companyCif', {\n customClasses: 'w-full md:w-1/2',\n required: true,\n disabled: hasBlockedCifField(),\n helpText: hasBlockedCifField() ? getCifTooltip() : '',\n })}\n
    \n\n {renderField(formik, 'groupId', { type: 'hidden' })}\n {renderField(formik, 'email', { type: 'hidden', value: me.userInfo.email })}\n {renderField(formik, 'currency', { type: 'hidden', value: currency })}\n {showAgreementsCheck &&\n renderLegalCheck(formik, 'legalTerms', {\n required: true,\n renderLabel: () =>\n t('LegalTerms.checkCps')\n .replace('{{urlTerms}}', t('LegalTerms.termsURL'))\n .replace('{{privacyPolicyURL}}', t('LegalTerms.privacyPolicyURL')),\n })}\n {showAgreementsCheck && loadPmp()}\n
    \n
    \n {!isModalForm && hasToShowResignationViewed && getSignupFormResignation()}\n {!isModalForm && showCancelButton && getCancelButton()}\n {getSubmitButton(formik)}\n {isModalForm && showCancelButton && getCancelButton()}\n
    \n {isModalForm && hasToShowResignationViewed && getSignupFormResignation()}\n
    \n {showFooter && onRequestInfo &&