{"version":3,"sources":["webpack:///./confirmation/ConfirmationTitle.js","webpack:///./actions/AppActions.js","webpack:///./utility/polyfillFetch.js","webpack:///./utility/domUtils.js","webpack:///./utility/geoUtils.js","webpack:///./utility/paypalAphrodite.js","webpack:///./utility/helper.js","webpack:///./components/PendingWarning.js","webpack:///./confirmation/PendingView.js","webpack:///./components/illustrations/Illustration.js","webpack:///./components/returnToMerchant.js","webpack:///./routes/publicPath.js","webpack:///./components/withTheme.js","webpack:///./utility/inContextDonation.js","webpack:///./utility/queryStringHelper.js","webpack:///./utility/getTemplateData.js","webpack:///./utility/ppccUtils.js","webpack:///./components/onetouch/UserDetailsBanner.js","webpack:///./utility/nna.js","webpack:////home/jenkins/agent/workspace/donate-gro-release/constants/constants.js","webpack:///./utility/worldReadyUtils.js","webpack:///./components/coverFee/feeUtils.js","webpack:///./pages/error/receiverEligibilityError.js","webpack:///./utility/productIntegrationUtils.js","webpack:///./components/BackButton.js","webpack:///./utility/urlUtils.js","webpack:///./components/GN/bannerHeader.js","webpack:///./fpti/helper.js","webpack:///./components/withWorldReady.js","webpack:///./fpti/fpti.js","webpack:///./components/voucherFlowDisclaimer.js","webpack:///./confirmation/ConfirmationTransactionId.js","webpack:///./components/offerSaveButton.js","webpack:///./components/offerConfirmation.js","webpack:///./components/guest/SignUpAlert.js","webpack:///./confirmation/ConfirmationReturnText.js","webpack:///./confirmation/ConfirmationReturnTo.js","webpack:///./pages/confirmation/postTransaction.js","webpack:///./confirmation/ConfirmationRedirect.js","webpack:///./confirmation/DoneLink.js","webpack:///./components/postDonationModules/index.js","webpack:///./confirmation/ConfirmationView.js","webpack:///./confirmation/withConfirmationMessages.js","webpack:///./confirmation/withConfirmationData.js","webpack:///./utility/formator.js","webpack:///./confirmation/withPageTrack.js","webpack:///./stores/AppStore.js","webpack:///./confirmation/ConfirmationCheckmark.js","webpack:///./confirmation/ConfirmationAmount.js","webpack:///./confirmation/ConfirmationAmountGiftAid.js","webpack:///./confirmation/ConfirmationMessage.js","webpack:///./confirmation/SuccessView.js","webpack:///./setup/utils/modalUtils.js","webpack:///./routes/configureHistory.js","webpack:///./components/offerDetail.js","webpack:///./utility/personalizedMessages.js","webpack:///./confirmation/withCurrentPageUpdate.js","webpack:///./pages/member/confirmation.js","webpack:///./components/ppcc/ppcc.js","webpack:///./utility/cpl.js","webpack:///./components/Disclaimer.js","webpack:///./components/MessageWithHtml.js","webpack:///./utility/languageSelector.js","webpack:///./components/languageSelectorMenu.js","webpack:///./components/footer/footerLinks.js","webpack:///./components/footer/footer.js","webpack:///./fpti/analytics.js","webpack:///./dispatcher/AppDispatcher.js","webpack:///./confirmation/ConfirmationBody.js","webpack:///./confirmation/withPostTransactionRequest.js","webpack:///./utility/authUtils.js","webpack:///./components/cancelAndReturn.js","webpack:///./fpti/fptiConstants.js","webpack:///./components/CloseButton.js","webpack:///./components/amount/amountUtils.js","webpack:///./utility/israelPsl.js","webpack:///./utility/constants.js","webpack:///./utility/getSocialCampaign.js","webpack:///./components/socialShare/socialShareEmail.js","webpack:///./components/socialShare/socialShareMobile.js","webpack:///./components/socialShare/socialShareFacebook.js","webpack:///./components/socialShare/socialShareMessenger.js","webpack:///./components/socialShare/socialShareWhatsapp.js","webpack:///./components/socialShare/socialShareTwitter.js","webpack:///./components/socialShare/socialShareCopyLink.js","webpack:///./setup/lib/copyToClipBoard.js","webpack:///./components/CopyLink.js","webpack:///./components/socialShare/socialShare.js","webpack:///./confirmation/ConfirmationSocialShare.js","webpack:///./components/subHeader.js","webpack:///./components/CharityLogo.js","webpack:///./components/headerDNW.js","webpack:///./components/GN/GNCSubheader.js","webpack:///./components/GN/GNSubheader.js","webpack:///./components/GN/gnHeader.js","webpack:///./components/common/DonateHeader.js"],"names":["ConfirmationTitle","props","React","createElement","_HeadingText","size","style","margin","message","propTypes","PropTypes","string","changeAmount","item","AppDispatcher","handleViewAction","actionType","AppConstants","changeSymbol","changeCode","changeFormatedAmount","changeRecurring","changeSelectedRecurringFrequency","changeRecurringModalStatus","changeCoverFee","changeAnonymousStatus","changeFeeAmount","changeFormatedFeeAmount","changeAmountBeforeFee","changeNote","changeCountry","updateConfirmation","updateCurrentPage","updateServerErrors","updatePaymentError","updateFundingOptions","updateEmail","updateBillingAddress","updateDonationAmountType","donationAmountType","updateGiftaidItFlag","updateShareAddress","updateAddCardError","updateSelectedProgram","changeCardSpec","saveFormData","updateSelectedPresetButtonId","updateThreeDSData","showLanguageSelector","updateOrderStatus","updatePPCCStatus","polyfillFetch","url","options","fetchPolyfill","sanitizeInPlace","node","dompurify","sanitize","IN_PLACE","sanitizeURL","arguments","length","undefined","dirtyNode","document","setAttribute","clean","getAttribute","sanitizeOrgName","input","replace","e","show","selector","display","elementsToShow","querySelectorAll","i","hide","elementsToHide","objectOrArrayToQueryString","arrOrObj","prefix","s","add","name","r20","key","value","val","encodeURIComponent","Array","buildParams","join","obj","l","rbracket","test","_typeof","addClass","classNames","elementsSelected","_elementsSelected$i$c","classList","apply","_toConsumableArray","removeClass","_elementsSelected$i$c2","remove","fetcher","csrf","querySelector","dataset","fireEvent","headers","_objectSpread","window","fetch","location","href","indexOf","then","response","handleErrors","status","returnPath","renderURL","pathname","concat","history","pushState","reload","eventName","event","createEvent","initEvent","dispatchEvent","getElement","selectorOrElement","HTMLElement","nodeType","ownerDocument","isElement","scrollElementIntoView","element","scrollIntoView","behavior","_noOpFunction","safeScrollElement","scrollTo","getPosition","xPosition","yPosition","offsetLeft","scrollLeft","clientLeft","offsetTop","scrollTop","clientTop","offsetParent","x","y","scrollY","Number","isNaN","scroll","top","appendCdnHostName","templateData","cdnHostName","_ref$contextLocalityD","shouldRTL","PayPalStyleSheet","StyleSheet","create","cssInJSObject","_len","rest","_key","rtlConvertInline","setShouldRTL","newVal","rtlConvert","contextLocalityDir","addShake","setTimeout","showSpinnerOverlay","waitTextEl","getElementById","focus","outline","onkeydown","outlineOffset","keyCode","activeElement","preventDefault","setFocus","elements","elementWrapper","focusable","firstFocusableEl","find","el","type","onblur","hideSpinnerOverlay","updateDonation","redirecturl","clearSavedFormData","data","token","amount","appStore","getDonationAmount","getDonationAmountType","currencyCode","donationCode","donationNote","getDonationNote","recurring","getDonationRecurring","addCardError","getAddCardError","giftAidItFlag","getGiftaidItFlagStatus","selectedProgram","getSelectedProgram","selectedPresetButtonId","getSelectedPresetButtonId","selectedRecurringFrequency","getSelectedRecurringFrequency","coverFeeEnabled","feePayer","isOptInCoverFee","feeCurr","getDonationCode","feeAmount","getFeeAmount","rawAmount","getAmountBeforeFee","anonymousEnabled","anonymousStatus","getAnonymousStatus","updateUrl","method","body","JSON","stringify","catch","failureUrl","handleLogIn","donationAmount","isAmountGreaterThanZero","getParameterByName","sdkMeta","targetMeta","handleGuestCountryChange","handleTokenReuse","paymentStatus","parseErrorResponse","errors","errorMessages","messages","allErrorCodes","details","push","reduce","uniqueErr","errMsg","some","errMsgObj","removeDuplicateErrors","GENERIC_ERROR","parseValErrResp","dump","errorData","allError","errorCode","code","getErrFields","allFields","fields","isLTR","waitForElementToDisplay","time","callback","observeUntilEventObserved","targetNode","MutationObserver","mutations","observer","observe","getInitialDataInDom","initialDataInDom","parse","innerHTML","PendingWarning","_Row","align","Illustration","PendingView","worldReady","useContext","WorldReadyContext","isOfacPending","contentRoute","headingMessageId","bodyMessageId","isNna","country","isPslCountry","isGNC","headingMessage","MessageFormat","id","format","bodyMessage","orgName","donationName","ConfirmationView","_extends","illustration","Fragment","_Col","xs","className","ConfirmationBody","handleRedirect","func","returnTo","returnTextMember","bool","withConfirmationData","withConfirmationMessages","withTheme","illustrations","critical","success","warning","cause_success","pp_fundraising_success","send_bubble_hearts","document_colored","donate","share","heart","giving_fund","STYLES","extraLargeDWEB","width","extraLargeInContext","extraLarge","height","large","medium","short","small","max","_ref","_classNames","ariaHidden","_objectWithoutProperties","_excluded","classes","_defineProperty","css","src","aria-hidden","ReturnToMerchantLink","returnLabel","organizationName","returnUrl","label","_Link","onClick","trackLinkClick","LINK_NAME","RETURN","webpackPublicPath","__webpack_public_path__","shouldApplyPPUI4Styles","isAndroidWebView","includes","WrappedComponent","ThemeProvider","theme","PPUI4_PAYPAL_THEME","_PAYPAL_THEME","isInContext","isPopupMode","onComplete","postBackData","_get","transactionDetails","tx","txn_id","st","payment_status","amt","mc_gross","cc","mc_currency","cm","custom_data","item_number","item_name","isExternalFlow","xprops","closeWindow","close","isIframeMode","parent","isSdkMode","Boolean","opener","isdesktop","outerWidth","isFullPageRedirectionMode","isMobileOrInContext","ismobile","istablet","isMobileOrTablet","isMWebNoCancelURL","charityCancelUrl","isMWebNoReturnURL","charityReturnUrl","isNotFullScreen","isNotAtMaxWidth","screen","availWidth","availHeight","outerHeight","results","RegExp","exec","decodeURIComponent","getParametersFromUrl","queryString","decodeURI","rawTemplateData","_isEmpty","giftAid","_set","webscrData","giftAidAddress","localsMessagesNode","content","locals","personalized","getPersonalizedMessagesAsContentLoaderStandard","init","charityName","er","donationId","_templateData$presetA3","_templateData$presetA","donorCoversFee","isAtLandingPage","toString","AppActions","coverFee","formatedFeeAmount","formatAmount","currency","symbol","donationSymbol","note","recurringStatus","recurringEnabled","enablePresetAmounts","presetAmounts","donateContext","amount_type","amount_options","_templateData$presetA2","map","isOldButtonFactory","currencyLists","localsMessages","templateName","console","warn","localsAllMessages","path","replaceAll","parseMessages","guestLocalsMessages","getWorldReady","guestMessages","guestsignup","nationalIds","_map","createAccountPreProps","mainTitle","mainBlurb","itsFreeLine","mainTitle2","createAccountCheckboxContent","createAccountHelp1","label1","label2","legalBlurbHTML","legalBlurbWithFeeInformationDoc","incentiveTitle","incentiveCreateAccountCheckboxContent","incentiveTerms","labeldob","labelnationality","dobPattern","dobHelp","labelocc","legalOnlyHTML","consentBlurbHTML","labelNationalIdType","labelNationalIdNumber","defaultIdType","passwordWarnings","_MISMATCH","_IS_NULL","_TOO_SHORT","_TOO_LONG","_CONTAINS_REPEATED_CHARACTERS","_CONTAINS_NUMBER_SEQUENCE","_CONTAINS_LETTER_SEQUENCE","_CONTAINS_NUMBER_LETTER_SEQUENCE","_IS_BLACKLISTED","_CONTAINS_SPACES","_HAS_ILLEGAL_CHARACTERS","_LEGAL_CHECKBOX","_REQUIRED_DOB","_INVALID_DOB","_OCCUPATION","_NATIONALITY","_HINT1","_HINT2","_HINT3","_NATIONAL_ID_TYPE","_NATIONAL_ID_NUMBER","createAccountPost","pplogo","mainTitle1","mainTitle3","notNow","buttonText","ca","locale","brand","language","cp","path2","toUpperCase","cpf","warnings","_REQUIRED_CPF","_INVALID_CPF","guestLabels","guestHelp","help","guestCaptcha","captcha","getCurrencySymbol","symbols","ppccLookupRequired","json","result","isPPCC","DonateAppActions","isPartnerFlow","hasPartnerSource","UserDetailsBanner","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","call","_assertThisInitialized","firstName","isOneTouchUser","Message","sup","innerMessage","_additionalData","NOT_YOU","additionalData","FPTI_TAGS","AUTH_STATE","authState","VERSION","sessionDeprecationEnabled","logout","getHardLogoutUrl","state","bannerUrl","showCCErrorMessage","_createClass","backgroundImageExists","this","gn_user_details_banner","gn_user_details_banner_no_border","user_details_banner","user_details_banner_no_border","_this$props$userDetai","userDetails","profilePhotoUrl","thumbnailUrl","loggedInMessage","createLoggedInMessage","isLandingPage","viewName","shouldShowBackButton","determineUserDetailsBannerClass","BackButton","inverse","hasBanner","_Avatar","generic","BodyText","Link","handleNotYouLinkClick","Component","object","_templateData$pxp","_templateData$pxp$sho","nnaExperienceStatus","pxp","showNnaExp","experiment","memberMandatory","AppStore","module","exports","postbackKeys","TXN_ID","MC_CURRENCY","MC_FEE","MC_GROSS","PAYMENT_DATE","PAYMENT_FEE","PAYMENT_GROSS","PAYMENT_STATUS","PAYMENT_TYPE","BUSINESS","RECEIVER_EMAIL","RECEIVER_ID","CONTACT_PHONE","PAYER_EMAIL","PAYER_ID","PAYER_STATUS","FIRST_NAME","LAST_NAME","ADDRESS_NAME","ADDRESS_STREET","ADDRESS_CITY","ADDRESS_STATE","ADDRESS_COUNTRY_CODE","ADDRESS_ZIP","RESIDENCE_COUNTRY","ITEM_NAME","ITEM_NUMBER","INVOICE","QUANTITY","CUSTOM","PAYMENT_STATUS_RECURRING","CONFIRMATION_NUMBER","guestFormFiled","embend","UL_TAG_LINE_CONTENT_KEY_ENUM","DONATE_WITH_PAYPAL","SIGNUP_BUTTON_CONTENT_KEY_ENUM","CREATE_ACCOUNT","DONATE_WITH_CARD","LOGIN_OPTIONS_ENUM","FORCED","NOT_FORCED","ONE_TOUCH_OPTIN_ENUM","ENABLED","DISABLED","CONFIRM_EMAIL_TOPIC","BUTTON_FACTORY_CONSTANTS","BUTTON_FACTORY_INTERNAL_SERVER_ERROR","BFS_RESPONSE","BFS_RESPONSE_ALT_TEXT","HANDCRAFT_SECURITY_CONTEXT","ERROR_SET_BUSINESS_INFO","ERROR_SET_MERCHANT_SETTINGS","ERROR_SET_GLOBALNAV_HEADER_FOOTER","FRS_CONSTANTS","BADGE_INFO","PPCC_ELIGIBILITY_CODE_CONSTANTS","CIP_ELIGIBILITY_CODE_CONSTANT","PPCC_ELIGIBILITY_PERIOD_CONSTANTS","PPCC_ELIGIBILITY_ACTION_CONSTANTS","WARNING","ACTIVE","CIP_STATUS_ACTION_CONSTANTS","NOT_VERIFIED","PENDING","FIRST_TIME_VERIFIED","CIP_PROCESS_STATUS_CONSTANTS","FAILED","SUCCESS","CIP_BUSINESS_CATEGORIES","initializeWorldReady","worldReadyData","textContent","WorldReady","load","_ref$country","_ref$language","formatNumber","NumberFormat","wrNormalizeNumber","formatCurrency","CurrencyFormat","formatPhoneNumber","phoneObject","phoneRegion","PhoneNumberFormat","parsePhoneNumber","phoneNumber","getDateMaskFormat","DateInputMaskFormat","getRelativeTime","date","RelativeTimeFormat","formatDate","DateTimeFormat","getCoverFeeOptInStatus","computeAmountAfterFee","parseFloat","normalizeNumber","setFeeAmountInStore","flatFee","feeRate","TemplateData","updateDonationAmount","formatedAmount","restoreDonationAmount","optOutCoverFee","shouldSelectPresetAmount","ReceiverEligibilityErrorTile","messageKey","receiverEligibilityCode","useEffect","trackErrorPageIM","CloseButton","data-testid","product","PRODUCT","GENEROSITY_NETWORK_CHARITIES","isBrandedCampaign","BRANDED_CAMPAIGN","isPPFundraising","PP_FUNDRAISING","isCampaigns","DONATE_BUTTON_CAMPAIGN","isPPUnlistedCampaign","PAYPAL_FUNDRAISER_UNLISTED_CAMPAIGN","isPPCampaign","PAYPAL_FUNDRAISER_LISTED_CAMPAIGN","GENEROSITY_NETWORK","isCheckoutRail","prepareOrderParams","addressSharingConsent","currencySymbol","getDonationSymbol","ppgfMessage","directMessage","getMaximumDonationAlertMessage","limitReason","formatedMaximumAmount","formatCurrencyWithSymbol","maximumDonationAmount","maximumDonationCurrency","getPersonalizedNoteToPayeeLabel","psMessages","getPersonalizedMessages","GN_CONTENT_TOUCHPOINT","isHtml","noteToPayeeLabel","getPersonalizedNoteToPayeeTextboxCommentLabel","noteToPayeeTextboxCommentLabel","getPersonalizedAnonymousContent","anonymousLabel","anonymousTooltip","tooltip","getDismissEventName","EVENT_NAME","DW_GIVING_PAYMENT_SUCCESS_DISMISS_PRESSED","DW_GIVING_GUEST_FORM_DISMISS_PRESSED","DW_GIVING_MEMBER_REVIEW_DISMISS_PRESSED","DW_GIVING_DONATE_SETUP_DISMISS_PRESSED","useHistory","initialData","isProgressive","onboardingEnabled","selectedCountry","buttonBack","_IconButton","svgIconComponent","_ArrowLeftIcon","BACK","hideLandingPage","currentState","finally","buttonType","parseUrlQuery","search","queryParams","_fromPairs","_compact","slice","split","bannerType","logoBanner","banner","backgroundBanner","bannerv2","mobileBanner","BannerHeader","children","Banner","_ref3","bannerURL","backgroundImage","Avatar","_ref4","logoURL","initialLogo","initialColor","ImgLogo","InititalsLogo","IconLogo","_ref5","_ref6","CausesIcon","oneOfType","arrayOf","isRequired","donorIpCountry","fptPageName","npid","productId","integrationIdentifier","supportedRecurringFrequencies","getUiType","AMOUNT","getFeeDataFromTemplateData","_ref2","FEE_PAYER","FEE_AMOUNT","FEE_CURRENCY","getFeeData","NONANONYMOUS","getNoteData","NOTE_ALLOWED","noteFieldDisplayed","NOTE_ADDED","getRecurringStatus","IS_RECURRING","setEnabledRecurringFrequency","fpti","ENABLED_FREQUENCY","_AppStore$getSelected","SELECTED_FREQUENCY","getFeePayer","addFeature","feature","FEATURE","setAmountTypeFpti","AMOUNT_TYPE","trackSelectedPresetAmount","SELECTED_PRESET_BUTTON_ID","getLandingPageData","_ref10","PAGE_SPEC","LANDING_PAGE","getThreeDSData","_ref11","fundingOpts","getFundingOptions","contingencies","threeDSContingency","_find","action","FI_ID","FI_TYPE","FI_NETWORK","FI_OPERATION","IS_3DS_ELIGIBLE","THREE_DS_VERSION","THREE_DS_REF_ID","URL","getExternalFlowData","_objectSpread2","FPTI_PRODUCT","FLOW","INTEGRATION_IDENTIFIER","DONOR_IP_COUNTRY","ACCOUNT_TYPE","isLoggedInUser","CURRENCY","CAMPAIGN_ID","NPID","CHARITY_NAME","getToken","TOKEN","updateGlobalRespDuration","respDuration","globalRespDuration","resp_duration","Object","assign","updateGlobalFPTI","getDefaultPageSpec","isOnboardingFlow","pageSpec","page","ONBOARDING_GUEST_SUCCESS_PAGE","GUEST_SUCCESS_PAGE","ONBOARDING_GUEST_PENDING_PAGE","GUEST_PENDING_PAGE","ONBOARDING_GUEST_FORM","GUEST_FORM","getConfirmationData","confirmationData","_confirmationData$pos","_confirmationData$pos2","_confirmationData$pos3","_objectSpread3","confirmationNumber","SENDER_ID","payer_id","orderId","ORDER_ID","DW_GIVING_PAYMENT_PENDING_SCREEN_SHOWN","DW_GIVING_PAYMENT_SUCCESS_SCREEN_SHOWN","DONATION_CONFIRMATION_PAGE_IMP","checkAndReplaceInternalErrWithDnwErr","INTERNAL_ERROR","DNW_UNHANDLED_ERROR","withWorldReady","WorldReadyContextProvider","WorldReadyProvider","donationAmountEditable","trackLandingPageIM","shouldTrackExternalFlowData","onceData","DW_GIVING_DONATE_SETUP_SCREEN_SHOWN","DONATE_LANDING_SCREEN_SHOWN","globalData","UI_TYPE","AMOUNT_EDIT_ALLOWED","SOURCE","trackPageLoad","trackRecurringFrequencySelectionClick","DONATION_PAYMENT_VIEW_LANDING_FREQUENCY_PRESSED","trackClick","trackGuestFormIM","_ref5$isOnboarding","isOnboarding","DW_GIVING_GUEST_FORM_SCREEN_SHOWN","DONATE_GUEST_FORM_SCREEN_SHOWN","OFFER_TYPE","trackMemberReviewPageIM","_ref9","statusCode","processStatus","fromUOB","STATUS","STATUS_CODE","DONATE_REVIEW_SCREEN_SHOWN","MEMBER_REVIEW_PAGE","PROCESS_STATUS","trackErrorIM","_objectSpread4","errorMessage","fieldName","_ref11$pageSpec","DW_GIVING_FAILED_CUSTOMER_INTERACTION_OCCURRED","SCREEN_NAME","DW_GIVING_DONATE_SETUP_SCREEN","DW_GIVING_DONATE_GUEST_FORM_SCREEN","ERR_FIELD","ERR_CODE","ECCD","ERPG","ERR_DESC","trackError","trackThreeDSIframeIM","_ref12","_objectSpread5","threeDSRespDuration","confirmationStatus","THREE_DS_IFRAME_ONBRD","THREE_DS_IFRAME","THREE_DS_RESP_DURATION","CHALLENGE_STATUS","DONATE_THREE_DS_IFRAME_SHOWN","trackConfirmationPageIM","_ref13","_objectSpread6","isSignUp","flow","IS_SIGNUP","trackSocialShareIM","_ref14","enableMatchSocialShare","DONATE_MATCH_SOCIAL_SHARE_SCREEN_SHOWN","DONATE_GENERIC_SOCIAL_SHARE_SCREEN_SHOWN","trackPSLContentShow","_ref15","_objectSpread7","trackCaptureOrderPageIM","_ref16","_onceData3","pgrp","CAPTURE_ORDER_PAGE","PAGE_NAME","PAGE_GROUP","_ref17","trackPageIM","_ref18","trackAnonymousCheckboxClick","_objectSpread10","LINK","ANONYMOUS_CHECKBOX","CHECKBOX","DW_GIVING_DONATE_SETUP_SHARE_CONTACT_CHECK_PRESSED","DW_GIVING_DONATE_SETUP_SHARE_CONTACT_UNCHECK_PRESSED","DONATION_ANONYMOUS_CHECKBOX_CHECK_PRESSED","DONATION_ANONYMOUS_CHECKBOX_UNCHECK_PRESSED","trackCoverFeeCheckboxClick","_objectSpread11","COVER_FEE_CHECKBOX","trackDonateWithCardClick","_ref21","fptiData","DW_GIVING_DONATE_SETUP_DONATE_WITH_CARD_PRESSED","DONATION_PAYMENT_VIEW_LANDING_CARD_PRESSED","trackDonateWithPayPalClick","_ref24","DW_GIVING_DONATE_SETUP_NEXT_PRESSED","DONATION_PAYMENT_VIEW_LANDING_PAYPAL_PRESSED","trackNextClickForCheckout","_ref27","_objectSpread14","trackSignupChekboxClick","_objectSpread15","SWITCH","trackPaymentSubmitClick","_ref28","_objectSpread16","isNNA","link","DW_GIVING_GUEST_FORM_DONATE_PRESSED","DONATION_PAYMENT_GUEST_FORM_DONATE_PRESSED","GUEST_FORM_PAYMENT_SUBMIT_BUTTON","trackOnbrdPaymentSubmitClick","_ref33","_objectSpread17","isCvvSent","ACTION","IS_CVV_SENT","linkName","_objectSpread18","_ref34","_ref34$pageSpec","PAGE_LINK","PAGE_GROUP_LINK","trackThreeDsDdcStart","trackEventWithData","event_name","DONATE_THREE_DS_DDC_START","trackThreeDsDdcComplete","DONATE_THREE_DS_DDC_COMPLETE","trackThreeDsDdcFailure","DONATE_THREE_DS_DDC_FAILURE","trackThreeDsLookupStart","DONATE_THREE_DS_LOOKUP_START","trackThreeDsLookupComplete","timestamp","DONATE_THREE_DS_LOOKUP_COMPLETE","trackDonateLandingButtonClick","_ref35","DONATION_PAYMENT_VIEW_LANDING_DONATE_PRESSED","trackGuestReviewPageDonateClick","_ref36","isCvvSend","DONATE_GUEST_REVIEW_PROCESS_DONATE_CLICK","track3DSProceedToPayment","_ref37","DONATE_THREE_DS_PROOCEED_TO_PAYMENT","trackOrganizerUpdatesLoad","isPopulated","_onceData5","DONATE_LANDING_UPDATES_MODULE_SHOWN","STATE","LOADING_STATES","POPULATED","EMPTY","trackUpdatesReadMorePressed","DONATE_LANDING_UPDATES_READ_MORE_PRESSED","trackUpdatesShowMorePressed","DONATE_LANDING_UPDATES_SHOW_MORE_PRESSED","trackUpdatesLikePressed","updateId","positiveLike","_trackClick3","likesCount","DONATE_LANDING_UPDATES_LIKE_PRESSED","DONATE_LANDING_UPDATES_LIKE_PRESSED_COMPLETED","UPDATE_ID","LIKE","UNLIKE","COUNT","trackOrganizerUpdatesListIM","_onceData6","count","DONATE_LANDING_UPDATES_LIST_SHOWN","trackUpdatesListSelectionPressed","_trackClick4","DONATE_LANDING_UPDATES_LIST_SELECTION_PRESSED","trackUpdatesListLikePressed","_trackClick5","DONATE_LANDING_UPDATES_LIST_LIKE_PRESSED","trackUpdatesListDismissPressed","reason","_trackClick6","dismissMethod","CLOSE_SHEET_REASONS","BACKDROP_CLICK","DISMISS_METHODS","BACKGROUND","CLOSE","DONATE_LANDING_UPDATES_LIST_DISMISS_PRESSED","DISMISS_METHOD","trackUpdatesDetailDismissPressed","_trackClick7","DONATE_LANDING_UPDATES_DETAIL_DISMISS_PRESSED","trackUpdatesLoginDismissPressed","_trackClick8","DONATE_LANDING_UPDATES_LOGIN_DISMISS_PRESSED","trackUpdatesDetailIM","_onceData7","DONATE_LANDING_UPDATES_DETAIL_VIEW_SHOWN","trackUpdatesLoginIM","DONATE_LANDING_UPDATES_LOGIN_VIEW_SHOWN","trackUpdatesLoginButtonPressed","DONATE_LANDING_UPDATES_LOGIN_BUTTON_PRESSED","trackUpdatesLoginSignupPressed","DONATE_LANDING_UPDATES_LOGIN_SIGNUP_PRESSED","trackUpdatesLoadingError","DONATE_LANDING_UPDATES_LOADING_ERROR_SHOWN","sysColorUnselectedContrast","styles","disclaimerWrapper","maxWidth","disclaimer","VoucherFlowDisclaimer","_CaptionText","color","lineBreak","ConfirmationTransactionId","transactionId","saveButton","justifyContent","OfferSaveButton","_React$Component","args","print","VOUCHER_PRINT","title","text","navigator","VOUCHER_SHARE","printPage","_this$props","offerProgram","txnStatement","sharePage","handleClick","fontSize","_DownloadIcon","OfferConfirmation","textAlign","OfferDetail","txnId","SignUpAlert","_useState","useState","_useState2","_slicedToArray","hideAlert","setHideAlert","buttonCloseMsgFmt","handleCloseButton","signUpStatus","_Alert","closeButtonLabel","closeButton","successMessage","failMessage","ConfirmationReturnText","confirmation_reciept_wrapper","is_mobile","confirmationReceiptWrapper","returnText","ConfirmationReturnTo","DONATE_SUCCESS_MERCHANT_SITE_PRESSED","redirectUrl","returnto","PostTransaction","allowRedirect","setState","isRedirecting","removeEventListener","stopRedirect","handleKeyDown","keyPressed","which","KEY_DOWN","TAB","UP_ARROW","LEFT_ARROW","DOWN_ARROW","RIGHT_ARROW","hideSuccessPage","redirect","shouldShowSpinner","_ref$syncReturnUrl","syncReturnUrl","_ref$redirectUrl","_ref2$syncReturnUrl","_ref2$redirectUrl","_ref2$redirectMethod","redirectMethod","postBackForm","submit","redirectText","context","ref","form","postBackArray","defaultValue","_ref3$postdata","postdata","_ref3$syncReturnUrl","keys","forEach","_this2","_this$state","addEventListener","isEmpty","defaultProps","contextType","ConfirmationRedirect","autoRedirectMethod","autoRedirectUrl","DoneLink","doneContent","DW_GIVING_PAYMENT_SUCCESS_DONE_PRESSED","DONE","AlertSuccessContentPath","PostDonationModules","metaData","_ref$postDonationSetF","postDonationSetFavCharity","successAlertTarget","_ref$showSuccessAlert","showSuccessAlert","_ref$isPPGFCountry","isPPGFCountry","_ref$isFirstTimeDonor","isFirstTimeDonor","_ref$hasMultipleFavou","hasMultipleFavouriteCharities","CREATE_FUNDRAISER_URL","npID","dynamicProps","setDynamicProps","showModuleEventName","_trackEventWithData","POST_DONATION_MODULES","SET_FAVORITE_CHARITY","FPTI_SPEC","CONFIRMATION_PAGE_SET_FAV_CHARITY_MODULE_SHOWN","CREATE_FUNDRAISER","CONFIRMATION_PAGE_CREATE_FUNDRAISER_MODULE_SHOWN","GIVING_SUMMARY","CONFIRMATION_PAGE_INSIGHTS_MODULE_SHOWN","MODULE","ENCR_RCVR_ID","merchantId","NP_ID","setFavCharityError","error","showErrorAlert","showIconContent","showButton","showLoadingSpinner","DONATE_DONOR_VIEW_POST_DONATION_SET_FAVORITE_CHARITY_ERROR","onBtnClick","_additionalData2","DONATE_DONOR_VIEW_POST_DONATION_SET_FAV_CHARITY_MODULE_PRESSED","_asyncToGenerator","_regeneratorRuntime","mark","_callee","err","wrap","_context","prev","next","ok","Error","statusText","sent","abrupt","stop","_result$data","_result$data$clientDa","_trackEventWithData2","clientData","CONFIRMATION_PAGE_SET_FAV_CHARITY_SUCCESS","_additionalData3","DONATE_DONOR_VIEW_POST_DONATION_CREATE_FUNDRAISER_MODULE_PRESSED","_additionalData4","DONATE_DONOR_VIEW_POST_DONATION_INSIGHTS_MODULE_PRESSED","open","createFundraiserContent","useCallback","bodyContent","modalContent","listContent","captionText","successAlertContent","givingSummaryContent","setFavCharityContent","iconContent","errorAlertContent","_PostDonationSetFavCharity","_PostDonationCreateFundraiser","onModalSubmit","_additionalData5","DONATE_DONOR_VIEW_POST_DONATION_CREATE_FUNDRAISER_MODAL_PRESSED","onModalOpen","_additionalData6","DONATE_DONOR_VIEW_POST_DONATION_CREATE_FUNDRAISER_MODAL_SHOWN","_PostDonationGivingSummary","SHARE","_PostDonationShimmer","isPostDonationModule","postDonationModule","isShareModule","_personalizedMessages","_personalizedMessages2","_txnId$split$","getSocialMessage","params","autoRedirect","footer","hostedButtonId","isVoucherFlow","signUpProps","personalizedMessages","campaignId","endCustomCPLTrackingForConfirmationPage","isSocialShareLoading","setIsSocialShareLoading","_useState3","_useState4","setEnableMatchSocialShare","_useState5","_useState6","setPostDonationModule","checkShareModule","_useState7","social","emailSubject","emailBody","mobileText","facebookMessage","twitterMessage","whatsappMessage","copyLinkHeader","copyLinkSubheaderBefore","copyLinkSubheader","copiedText","copyText","subheader","shareGeneric","shareWithMatch","unhosted","_useState8","socialShareMessages","setSocialShareMessages","matchSocialShareMessages","enableNewSocialSharingMsg","_result$data2","_result$data2$clientD","postDonationModuleData","showSocialShare","socialSharePreference","FEATURES","SOCIAL_SHARE_PREFERENCE","_BodyText","isLoading","flexDirection","padding","ConfirmationSocialShare","email","donationEmail","success_subheader","transactionIdValue","trim","gn_donate_wrapper","donate_wrapper","confirmation","mobile_view","mobile_view_without_return_message","ppf","_BannerImage","dangerouslySetInnerHTML","__html","lg","sm","md","renderedView","CmHOC","giftaidFrequencyLabel","giftaidFlag","isSuccessView","rp_status","success_header","yourDonation","MessageWithHTML","campaignTitle","frequencyLabel","receiptId","getPersonalizedContent","getReturnTextLabel","getReturnTextMemberLabel","getReturnToLabel","getTxnIdLabel","yourRPdonation","getYourRPDonationLabel","giftAidConfText","getGiftAidConfText","getYourDonationLabel","getSignupProps","orgSuccess","getOrgSuccess","donateGiftPercentage","getGiftAidItExtraAmount","_class2","finalUrl","donatedAmount","toFixed","getConfirmation","displayMyAccount","showAccountOverview","returnAutoRedirect","returnMethod","signUpSuccess","extraDonateAmount","getExtraDonateAmount","showMyAccount","griffinPhoneHandler","metadata","__getInitialData","clientMetadata","initGriffinPhone","log","getGriffinPhoneHandler","initialDataNode","initialDataJSON","getCurrencyParts","currencyParts","getInitialData","formatNormalizedAmount","amountValue","formatPercentage","formatCurrencyNoDecimals","maximumFractionDigits","formatCurrencyAsString","numericAmount","formatPhone","countryCode","nationalNumber","validatePhone","normalizedPhone","getPhoneNumberWithoutCountryCode","firstSpaceIndex","substring","getDateFormat","formatRelativeDate","utcDate","Date","UTC","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","unit","timeZone","getRemainingDays","now","Math","ceil","roundUpAndFormatCurrency","roundedUpValue","parseDateOnly","setHours","withPageTrack","_class","confData","isGuestUpgrade","updatedFlow","updatedResult","tag","eventData","tmpl","rpStatus","_alldata","field","DonationStore","EventEmitter","prototype","emitChange","emit","getAllData","getFormatedAmount","getRecurringModalStatus","recurringModalStatus","getFormatedFeeAmount","amountBeforeFee","getPostBackData","getCurrentPage","currentPage","getServerErros","serverErrors","getPaymentError","paymentError","getSignUpError","signUpError","fundingOptions","getEmail","getBillingAddress","billingAddress","getUserCountry","getShareAddress","shareAddress","DonationConstants","getCardSpec","cardSpec","getFormData","formData","getThreeDSContingency","getLanguageSelectorState","languageSelectorState","getOrderStatus","orderStatus","getPPCCStatus","ppccStatus","dispatcherIndex","register","payload","_action$item$selected","ConfirmationCheckmark","illustrationSize","ConfirmationAmount","ConfirmationAmountGiftAid","GIFT_AID","ConfirmationMessage","role","SuccessView","_document$body$classL","hideLeaveModal","createBrowserHistory","getUserConfirmation","showLeaveModal","waitForElement","modalUtils","block","targetLocation","offerWrapper","paddingBottom","accordionWrapper","marginRight","marginLeft","backgroundColor","backgroundClip","offerDivider","borderColor","offerHeader","wordBreak","messageFrom","paddingTop","description","rightSymbol","isRightSymbol","row","click","VOUCHER","_this$props$offerProg","clientOfferType","businessName","subTitle","offerTextAmount","formattedValue","formatOfferTextAmount","aMessageFrom","titleMessage","amountText","heading","_RewardsIcon","as","createMarkup","_Accordion","_AccordionRow","_Divider","cache","getTouchpoint","touchpointCode","_step","_iterator","_createForOfIteratorHelper","n","done","touchpoint","touchpoint_code","f","_ref$merge","merge","_ref$isHtml","_ref$includeImpressio","includeImpressionUrl","_message$content","sort","contentKey","getContent","useHTML","_message$content2","trackingDetails","impressionUrl","tracking_details","impression_url","hasPersonalizedMessages","_touchpoint$messages$","_touchpoint$messages$2","_step2","_iterator2","get","withCurrentPageUpdate","WithCurrentPageUpdate","MemberConfirmationPending","withPostTransactionRequest","MemberConfirmationRecurring","MemberConfirmationSuccess","PPCC","dispatcherMessages","isHeader","showTooltip","setShowTooltip","toolTipMsgFmt","unregister","_Tooltip","verifiedIcon","logPerformance","_window6","_window6$PAYPAL","_window6$PAYPAL$analy","PAYPAL","analytics","_window","_window$performance","_window$performance$t","startTime","_window2","_window2$performance","_window3","_window3$navigator","_window4","_document","_document$documentEle","_window5","_document2","_document2$documentEl","networkInfo","deviceAndNetworkInfo","connection","screen_width","innerWidth","documentElement","clientWidth","screen_height","innerHeight","clientHeight","network_effectiveType","effectiveType","logPerformanceData","tt","performance","timing","loadEventEnd","navigationStart","view","t11","et","pt","ru","referrer","cd","colorDepth","sw","sh","dw","devicePixelRatio","dh","bw","bh","startCustomCPLTrackingForConfirmationPage","startCPLTracking","uicomp","uitype","endCPLTracking","Disclaimer","setContent","terms","_loop","_terms$i$href","pop","DW_GIVING_DONATE_SETUP_TERMS_PRESSED","array","messageFormatter","DOMPurify","languagesList","LanguageSelector","lang_options","isOpen","setIsOpen","currentLanguage","languageCode","lang","languageName","getCurrentLangName","_Button","_ChevronUpIcon","_ActionMenu","onSelection","index","updatedUrl","urlParams","clientState","updatePageLanguageByLocale","getLocale","onClose","Help","secondary","target","Security","ReportInappropriateContent","countryForReportLink","Feedback","handleSurvey","Imprint","CopyRight","currentYear","getFullYear","Privacy","Legal","Policy","CombinedFinancialServicesText","isLanguageSelectorEnabled","setIsLanguageSelectorEnabled","_payload$action","footer_in_context","mobile_footer","_Container","footer_container","mobile_footer_container","fluid","REPORT_LINK","latmconf","trackSprigEvent","_window$PAYPAL","_window$PAYPAL$analyt","instance","_window2$PAYPAL","_window2$PAYPAL$analy","startClientErrorTracking","spec","tsrce","recordEvent","fromSetup","recordImpression","recordClick","recordError","Dispatcher","dispatch","source","postTransactionUrl","WithPostTransactionRequest","serverRequest","isComponentMounted","guestSignUp","recurringConfirmationId","_isFunction","abort","abortRequestPostTransaction","requestPostTransaction","getForcedLoginUrlWithoutOt","forcedLoginUrlWithoutOt","hardLogoutUrl","isAuthenticatedUser","shouldShowUserBanner","fromUL","CancelAndReturn","CANCEL","DONATE_LANDING_MERCHANT_SITE_PRESSED","cancelurl","displayMe","isLanding","pp_cancel_btn_wrapper","is_landing","isGuest","cancelButtonWrapperClass","_CancelAndReturnUrl","handleCancel","IMPRESSION","GUEST_SIGNUP_SUCCESS_PAGE","GUEST_FAILURE_PAGE","comp","MEMBER_SUCCESS_PAGE","MEMBER_PENDING_PAGE","MEMBER_FAILURE_PAGE","RECURRING_SUCCESS_PAGE","CROSS_BORDER_PAGE","UNILATERAL_ERROR_PAGE","WEBSCR_ERROR_PAGE","GENERIC_ERROR_PAGE","CRS_ERROR_PAGE","CPL_PAGE_SPEC","TESLA_GUEST_FORM","ACCOUNT_HOME","ANONYMOUS_TOOLTIP","CHANGE_COUNTRY","CURRENCY_CONVERSION","NOTE_PAD","ONBOARDING_FORM_PAYMENT_SUBMIT_BUTTON","PRESET_AMOUNT","PROGRAM_SELECTED","RECURRING_CHECKBOX","SOCIAL_SHARE","SOCIAL_SHARE_DISMISS","UNIFIED_LOGIN","CAMPAIGN","CHALLENGE_END_TIME","CHALLENGE_START_TIME","COUNTRY","CONTINGENCY_RESOLVED","EXPERIMENT_ID","RESP_DURATION","SCREEN","THREE_DS_DCC_START_TIME","THREE_DS_DCC_END_TIME","THREE_DS_LOOKUP_END_TIME","THREE_DS_LOOKUP_START_TIME","THREE_DS_SPINNER_START_TIME","THREE_DS_SPINNER_END_TIME","TREATMENT_ID","UOB_BUNDLE_TYPE","CLOSE_BUTTON","ESC","SWIPE_DOWN","CTF","RECURRING","PRESET","ANONYMOUS","CHARITY_NOTE","DONATION_AMOUNT_EDITABLE","GUEST","MAILING_ADDRESS","DONATE_ADROIT_REDIRECTION_FOR_CIP_VERIFICATION","_CloseIcon","isDarkButton","formatAmountFromServerDNW","_ref$noDecimals","noDecimals","getMinimumDonationErrorMessage","formattedDollarOne","validateMinimumDonationAmount","minimumDonationAmount","showValidationError","validationErrorMessage","validationErrorCode","validateMaximumDonationAmount","maxAmount","_currencyParts$","formatCurrencyWithoutDecimals","countries","userCountry","legalCountry","keyMirror","require","CHANGE_AMOUNT","CHANGE_SYMBOL","CHANGE_CODE","CHANGE_RECURRING","CHANGE_RECURRING_FREQUENCY","CHANGE_COVER_FEE","CHANGE_FEE_AMOUNT","CHANGE_FORMATED_FEE_AMOUNT","CHANGE_AMOUNT_BEFORE_FEE","CHANGE_ANONYMOUS_STATUS","RP_MODAL_CLOSED","GIFT_AID_IT","CHANGE_FORMATED_AMOUNT","CHANGE_NOTE","CHANGE_CARD_NUMBER","CHANGE_EXP_DATE","CHANGE_SECURITY_CODE","CHANGE_CARD_SPEC","CHANGE_FIRST_NAME","CHANGE_LAST_NAME","CHANGE_ADDRESS","CHANGE_PHONE","CHANGE_EMAIL","CHANGE_PASSWORD","SHOW_LANGUAGE_SELECTOR","UPDATE_CONFIRMATION","POST_BACK_DATA","UPDATE_CURRENT_PAGE","UPDATE_SERVER_ERRORS","PAYMENT_ERROR","UPDATE_SIGN_UP_ERROR","FUNDING_OPTIONS","EMAIL","BILLING_ADDRESS","UPDATE_DONATION_AMOUNT_TYPE","ENABLE_PRESET_AMOUNTS","CHANGE_SHARE_ADDRESS","ADD_CARD_ERROR","UPDATE_SELECTED_PROGRAM","SAVE_FORM_DATA","UPDATE_THREEDS_DATA","UPDATE_SELECTED_PRESET_BUTTON_ID","UPDATE_ORDER_STATUS","UPDATE_PPCC_STATUS","EMAIL_REX","DEFAULT_CARD_SPEC","ccNumber","required","pattern","maxlength","expirationDate","csc","minlength","DONATE_GIFTAID_IT_EXTRA_AMOUNT","PPGF_DISCLAIMER_TOUCHPOINT","NNA_CONTENT_TOUCHPOINT","WPS_DONATION","PRODUCT_TYPE","DBUTTON","DBUTTONC","SEND_MONEY_RECURRING_DONATION","DONATE_BUTTON","DW_GIVING_DONATE_SETUP_COMMENT_PRESSED","DW_GIVING_DONATE_SETUP_TOOLTIP_PRESSED","DW_GIVING_PAYMENT_SUCCESS_SHARE_PRESSED","DW_GIVING_SHARE_SCREEN_SHOWN","DW_GIVING_SHARE_CHANNEL_PRESSED","DW_GIVING_SHARE_DISMISS_PRESSED","DW_GIVING_REDIRCT_SCREEN_SHOWN","DW_GIVING_REDIRCT_OPEN_PRESSED","DW_GIVING_REDIRCT_DISMISS_PRESSED","DONATE_SUCCESS_SHARE_MESSAGE","DONATE_LANDING_UPDATES_DETAIL_LIKE_PRESSED","DONATE_LANDING_UPDATES_LOADING_ERROR_RETRY_PRESSED","SPACE","ENTER","AU_CRS","ABORTED","FAILURE","ABORTED_STATUS_CODE","FAILURE_STATUS_CODE","SUCCESS_STATUS_CODE","SINGLE_TAX_RESIDENCY","MULTI_TAX_RESIDENCY","ALLOWED_IMAGE_TYPES","MAX_IMAGE_SIZE","KILOBYTE","MEGABYTE","BTN_IMAGE_MAX_FILE_SIZE","ALLOWED_FILE_EXTENSIONS","IMG_SCALE_SIZE","WIDTH_STEP_1","WIDTH_BANNER","WIDTH_LOGO","WIDTH_CAMPAIGN","INSTRUMENT_TYPES","HOLDING","PAYMENT_CARD","PAYMENT_TOKEN","BANK_ACCOUNT","CREDIT","UNKNOWN","PAYMENT_CARDS","VISA","MASTERCARD","MASTER_CARD","MAESTRO","AMEX","DISCOVER","JCB","CHINA_UNION_PAY","CDN_HOST_NAME","MERCHANT_PPCC_CONFIRMED_STATUS","FULL","VARIANT_VALUEPROP_1","VARIANT_VALUEPROP_2","VARIANT_VALUEPROP_3","APP_ID","ORGANIZER_UPDATES","INITIAL_UPDATES_COUNT","MAX_UPDATES_PER_PAGE","MAX_CHARACTERS_SUBJECT","MAX_ORGANIZER_UPDATES","ACTIONS","SHOW_UPDATE_DETAIL_VIEW","SHOW_UPDATE_LIST","ORGANIZER_UPDATE_SINGLE_UPDATE_ERROR","getSocialCampaign","socialTitle","_ref$emailSubject","_ref$emailBody","_ref$mobileText","_ref$facebookMessage","_ref$twitterMessage","_ref$whatsappMessage","_ref$copyLinkHeader","_ref$copyLinkSubheade","_ref$copyLinkSubheade2","_ref$copyText","_ref$copiedText","domain","paypalHostName","shareableUrl","mobile","mobileTitle","facebook","facebookMessenger","whatsapp","twitter","copyLink","copyLinkCopy","copyLinkCopied","sheet","SocialShareEmail","handleAnalytics","linkTitle","_EmailIcon","iconLink","SocialShareMobile","handleMobileClick","_PhoneIcon","SocialShareFacebook","handleSocialLinkClick","_ShareFacebookIcon","SocialShareMessenger","_ShareMessengerIcon","SocialShareWhatsapp","_ShareWhatsappIcon","SocialShareTwitter","_ShareTwitterIcon","SocialShareCopyLink","handleOpenCopyModal","_LinkIcon","copyToClipboard","sourceId","range","selection","sourceElement","userAgent","match","createRange","selectNodeContents","getSelection","removeAllRanges","addRange","setSelectionRange","readOnly","select","execCommand","sysColorBackgroundSurfaceHover","PAYPAL_THEME","sysColorPrimaryMain","copyLinkFieldContainer","borderBottom","paddingLeft","paddingRight","inContext","inContextCopyLinkHeight","maxHeight","copyLinkField","alignItems","border","borderStyle","copyLinkTextarea","resize","overflow","flex","copyLinkFieldIconContainer","zIndex","alignSelf","copyLinkFieldIcons","lineHeight","cursor","minWidth","notCopied","background","copied","copyLinkDescription","CopyLink","isCopied","setIsCopied","setPadding","copyRef","useRef","current","queryCommandSupported","_CheckmarkBackgroundSmIcon","copy","sysColorBackgroundHighContrast","sysColorSuccessMain","socialContainer","socialContainerMobile","shareMenu","copyLinkModal","copyLinkContainer","marginTop","marginBottom","isValid","getColor","_color$type","SocialShare","iconSize","menuProps","shareUrl","socialCampaign","isMobile","isModalOpen","setIsModalOpen","isShareMenuOpen","setIsShareMenuOpen","encodedUrl","emailUrl","facebookUrl","fbMessengerUrl","appId","quote","redirect_uri","getFBMessengerUrl","whatsappUrl","getPlatformType","twitterUrl","socialShareAltText","isActionMenu","renderMode","socialItems","isActionOrPostDonationModule","itemLeft","messenger","position","opacity","handleMobileSocialShareButtonClick","stopPropagation","handleSocialShareSheetClose","itemClassName","_OverflowIcon","toLowerCase","handleMenuSelection","_Dialog","containerClassName","_props$isLanding","_props$enableMatchSoc","_props$isPostDonation","handleSocialAnalytics","getTitleMessages","socialMessages","socialShareUrl","headerClasses","externalFlow","social_title","success_share_button","flexWrap","rowGap","SubHeader","OName","purposeLabel","donateto","support","formatOrgName","formattedDonationName","formattedOrgName","formattedDonationId","hasLogo","subHeaderClasses","getFormattedOrgName","shouldShowOrgName","Container","Row","Col","strong","_Title","shouldShowDonationId","centedImage","CharityLogo","logoUrl","altText","alt","HeaderDNW","_templateData$charity","_templateData$donatio","_templateData$bannerU","subHeaderLabel","data-test-id","GNCSubheader","purpose","HeadingText","level","CaptionText","organization","GNSubheader","bold","GNHeader","DonateHeader"],"mappings":"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","file":"donate~member.80689ecc039038838393.bundle.js","sourcesContent":["import React from 'react';\nimport { HeadingText } from '@paypalcorp/pp-react';\nimport PropTypes from 'prop-types';\n\nexport default function ConfirmationTitle(props) {\n return (\n \n {props.message}\n \n );\n}\n\nConfirmationTitle.propTypes = {\n message: PropTypes.string,\n};\n","import AppDispatcher from '../dispatcher/AppDispatcher';\nimport * as AppConstants from '../utility/constants';\n\nexport function changeAmount(item) {\n AppDispatcher.handleViewAction({\n actionType: AppConstants.CHANGE_AMOUNT,\n item: item,\n });\n}\n\nexport function changeSymbol(item) {\n AppDispatcher.handleViewAction({\n actionType: AppConstants.CHANGE_SYMBOL,\n item: item,\n });\n}\n\nexport function changeCode(item) {\n AppDispatcher.handleViewAction({\n actionType: AppConstants.CHANGE_CODE,\n item: item,\n });\n}\n\nexport function changeFormatedAmount(item) {\n AppDispatcher.handleViewAction({\n actionType: AppConstants.CHANGE_FORMATED_AMOUNT,\n item: item,\n });\n}\n\nexport function changeRecurring(item) {\n AppDispatcher.handleViewAction({\n actionType: AppConstants.CHANGE_RECURRING,\n item: item,\n });\n}\n\nexport function changeSelectedRecurringFrequency(item) {\n AppDispatcher.handleViewAction({\n actionType: AppConstants.CHANGE_RECURRING_FREQUENCY,\n item: item,\n });\n}\n\nexport function changeRecurringModalStatus(item) {\n AppDispatcher.handleViewAction({\n actionType: AppConstants.RP_MODAL_CLOSED,\n item: item,\n });\n}\n\nexport function changeCoverFee(item) {\n AppDispatcher.handleViewAction({\n actionType: AppConstants.CHANGE_COVER_FEE,\n item: item,\n });\n}\n\nexport function changeAnonymousStatus(item) {\n AppDispatcher.handleViewAction({\n actionType: AppConstants.CHANGE_ANONYMOUS_STATUS,\n item: item,\n });\n}\n\nexport function changeFeeAmount(item) {\n AppDispatcher.handleViewAction({\n actionType: AppConstants.CHANGE_FEE_AMOUNT,\n item: item,\n });\n}\n\nexport function changeFormatedFeeAmount(item) {\n AppDispatcher.handleViewAction({\n actionType: AppConstants.CHANGE_FORMATED_FEE_AMOUNT,\n item: item,\n });\n}\n\nexport function changeAmountBeforeFee(item) {\n AppDispatcher.handleViewAction({\n actionType: AppConstants.CHANGE_AMOUNT_BEFORE_FEE,\n item: item,\n });\n}\n\nexport function changeNote(item) {\n AppDispatcher.handleViewAction({\n actionType: AppConstants.CHANGE_NOTE,\n item: item,\n });\n}\n\nexport function changeCountry(item) {\n AppDispatcher.handleViewAction({\n actionType: AppConstants.CHANGE_COUNTRY,\n item: item,\n });\n}\n\nexport function updateConfirmation(item) {\n AppDispatcher.handleViewAction({\n actionType: AppConstants.UPDATE_CONFIRMATION,\n item: item,\n });\n}\n\nexport function updatePostBackData(item) {\n AppDispatcher.handleViewAction({\n actionType: AppConstants.POST_BACK_DATA,\n item: item,\n });\n}\n\nexport function updateCurrentPage(item) {\n AppDispatcher.handleViewAction({\n actionType: AppConstants.UPDATE_CURRENT_PAGE,\n item: item,\n });\n}\n\nexport function updateServerErrors(item) {\n AppDispatcher.handleViewAction({\n actionType: AppConstants.UPDATE_SERVER_ERRORS,\n item: item,\n });\n}\n\nexport function updatePaymentError(item) {\n AppDispatcher.handleViewAction({\n actionType: AppConstants.PAYMENT_ERROR,\n item: item,\n });\n}\n\nexport function updateSignUpError(item) {\n AppDispatcher.handleViewAction({\n actionType: AppConstants.UPDATE_SIGN_UP_ERROR,\n item: item,\n });\n}\n\nexport function updateFundingOptions(item) {\n AppDispatcher.handleViewAction({\n actionType: AppConstants.FUNDING_OPTIONS,\n item: item,\n });\n}\n\nexport function updateEmail(item) {\n AppDispatcher.handleViewAction({\n actionType: AppConstants.EMAIL,\n item: item,\n });\n}\n\nexport function updateBillingAddress(item) {\n AppDispatcher.handleViewAction({\n actionType: AppConstants.BILLING_ADDRESS,\n item: item,\n });\n}\n\n/**\n * Sets the donation amount type\n * @param {String} type type of donation amount - \"preset\" or \"userinput\"\n */\nexport function updateDonationAmountType(donationAmountType) {\n AppDispatcher.handleViewAction({\n actionType: AppConstants.UPDATE_DONATION_AMOUNT_TYPE,\n item: donationAmountType,\n });\n}\n\n/**\n * Sets the giftaidit type\n * @param {Boolean}\n */\nexport function updateGiftaidItFlag(item) {\n AppDispatcher.handleViewAction({\n actionType: AppConstants.GIFT_AID_IT,\n item: item,\n });\n}\n\n/**\n * Sets the shareAddress checkbox\n * @param {Boolean} shareAddress checkbox value\n */\nexport function updateShareAddress(item) {\n AppDispatcher.handleViewAction({\n actionType: AppConstants.CHANGE_SHARE_ADDRESS,\n item: item,\n });\n}\n\n/**\n * Sets the any card releated errors\n * @param {String} card error\n */\nexport function updateAddCardError(item) {\n AppDispatcher.handleViewAction({\n actionType: AppConstants.ADD_CARD_ERROR,\n item: item,\n });\n}\n\nexport function updateSelectedProgram(item) {\n AppDispatcher.handleViewAction({\n actionType: AppConstants.UPDATE_SELECTED_PROGRAM,\n item: item,\n });\n}\n\nexport function changeCardSpec(item) {\n AppDispatcher.handleViewAction({\n actionType: AppConstants.CHANGE_CARD_SPEC,\n item: item,\n });\n}\n\nexport function saveFormData(item) {\n AppDispatcher.handleViewAction({\n actionType: AppConstants.SAVE_FORM_DATA,\n item,\n });\n}\n\nexport function updateSelectedPresetButtonId(item) {\n AppDispatcher.handleViewAction({\n actionType: AppConstants.UPDATE_SELECTED_PRESET_BUTTON_ID,\n item,\n });\n}\n\nexport function updateThreeDSData(item) {\n AppDispatcher.handleViewAction({\n actionType: AppConstants.UPDATE_THREEDS_DATA,\n item,\n });\n}\n\nexport function showLanguageSelector(item) {\n AppDispatcher.handleViewAction({\n actionType: AppConstants.SHOW_LANGUAGE_SELECTOR,\n item,\n });\n}\n\nexport function updateOrderStatus(item) {\n AppDispatcher.handleViewAction({\n actionType: AppConstants.UPDATE_ORDER_STATUS,\n item,\n });\n}\n\nexport function updatePPCCStatus(item) {\n AppDispatcher.handleViewAction({\n actionType: AppConstants.UPDATE_PPCC_STATUS,\n item,\n });\n}\n","import { fetch as fetchPolyfill } from 'whatwg-fetch';\nimport 'consumerweb-shim';\n\nexport const polyfillFetch = (url, options) => {\n return fetchPolyfill(url, options);\n};\n","import dompurify from 'dompurify';\nimport { polyfillFetch } from './polyfillFetch';\n\n/**\n * This will take a node and select the given range of text from start to end in a\n * way that works for iOS\n * @param {HTMLInputElement} node - the input to select the text in\n * @param {Number} start - the index to start the selection\n * @param {Number} end - the index to end the selection\n */\nexport function selectRangeOfText(node, start, end) {\n // select all the text, but do it on the next tick because iOS has issues otherwise\n setTimeout(() => {\n // we're using setSelectionRange rather than select because select doesn't work with iOS\n node.setSelectionRange(start, end);\n });\n}\n\n/**\n * This moves the cursor position to the end of the text in the input node in a way\n * that works on iOS\n * @param {HTMLInputElement} node - the input to set the cursor position in\n */\nexport function moveCursorToTheEnd(node) {\n const { length } = node.value;\n node.setSelectionRange(length, length);\n}\n\nexport function sanitizeInPlace(node) {\n if (!node) return null;\n return dompurify.sanitize(node, { IN_PLACE: true });\n}\n\nexport function sanitizeURL(url = '') {\n const dirtyNode = document.createElement('a');\n dirtyNode.setAttribute('href', url);\n const clean = sanitizeInPlace(dirtyNode);\n return clean?.getAttribute('href');\n}\n\n/**\n * Sanitizes HTML\n */\nexport function sanitizeOrgName(input) {\n try {\n return dompurify\n .sanitize(input)\n .replace(//g, '>');\n } catch (e) {\n return '';\n }\n}\n\n/**\n * Sanitizes HTML\n */\nexport function sanitize(input) {\n try {\n return escapeHtml(dompurify.sanitize(input));\n } catch (e) {\n return '';\n }\n}\n\nfunction escapeHtml(unsafe) {\n return unsafe\n .replace(/&/g, '&')\n .replace(//g, '>')\n .replace(/\"/g, '"')\n .replace(/'/g, ''');\n}\n\n/**\n * This function shows the hidden element\n * @param {string} selector - element selector\n * @param {string} [display] - display property value\n */\nexport function show(selector, display = 'block') {\n const elementsToShow = document.querySelectorAll(selector);\n for (let i = 0; i < elementsToShow.length; i++) {\n elementsToShow[i].style.display = display;\n }\n}\n\n/**\n * This function hides the selected element\n * @param {string} selector - element selector\n */\nexport function hide(selector) {\n const elementsToHide = document.querySelectorAll(selector);\n for (let i = 0; i < elementsToHide.length; i++) {\n elementsToHide[i].style.display = 'none';\n }\n}\n\n/**\n * This function sets the value of the value attribute for all matched elements\n * @param {string} selector - elements selector\n * @param {string} value - value to set\n */\nexport function setValue(selector, value) {\n const elementsSelected = document.querySelectorAll(selector);\n for (let i = 0; i < elementsSelected.length; i++) {\n elementsSelected[i].value = value;\n }\n}\n\n/**\n * This function creates a serialized representation of an array or an object for use in a URL query string or Ajax request\n * @param {Array|Object} arrORObj - array or Object\n */\nexport var objectOrArrayToQueryString = function (arrOrObj) {\n var prefix, s, add, name, r20, output;\n s = [];\n r20 = /%20/g;\n add = function (key, value) {\n // If value is a function, invoke it and return its value\n const val = value === null ? '' : value;\n value = typeof value === 'function' ? value() : val;\n s[s.length] = encodeURIComponent(key) + '=' + encodeURIComponent(value);\n };\n if (arrOrObj instanceof Array) {\n for (name in arrOrObj) {\n add(name, arrOrObj[name]);\n }\n } else {\n for (prefix in arrOrObj) {\n buildParams(prefix, arrOrObj[prefix], add);\n }\n }\n output = s.join('&').replace(r20, '+');\n return output;\n};\n\nfunction buildParams(prefix, obj, add) {\n var name, i, l, rbracket;\n rbracket = /\\[\\]$/;\n if (obj instanceof Array) {\n for (i = 0, l = obj.length; i < l; i++) {\n if (rbracket.test(prefix)) {\n add(prefix, obj[i]);\n } else {\n buildParams(\n prefix + '[' + (typeof obj[i] === 'object' ? i : '') + ']',\n obj[i],\n add\n );\n }\n }\n } else if (typeof obj === 'object') {\n // Serialize object item.\n for (name in obj) {\n buildParams(prefix + '[' + name + ']', obj[name], add);\n }\n } else {\n // Serialize scalar item.\n add(prefix, obj);\n }\n}\n\n/**\n * Gets the offset top value relative to the document of the first DOM element that match the selector received as argument\n * @param {String} selector\n */\nexport function getOffsetTop(selector) {\n try {\n const element = document.querySelector(selector);\n return element.getBoundingClientRect().top + window.scrollY;\n } catch (e) {\n return 0;\n }\n}\n\n/**\n * This function will return the children of the selected element\n * @param {string} selector - element selector\n */\nexport function getChildren(selector) {\n const elementsSelected = document.querySelector(selector);\n return elementsSelected.children;\n}\n\n/**\n * This function will add the class provided to the element or elements\n * @param {string} selector - elements selector\n * @param {string[]} classNames - array of class name(s) to add\n */\nexport function addClass(selector, classNames) {\n const elementsSelected = document.querySelectorAll(selector);\n for (let i = 0; i < elementsSelected.length; i++) {\n elementsSelected[i].classList.add(...classNames);\n }\n}\n\n/**\n * This function will remove the class provided from the element or elements\n * @param {string} selector - elements selector\n * @param {string[]} classNames - array of class name(s) to remove\n */\nexport function removeClass(selector, classNames) {\n const elementsSelected = document.querySelectorAll(selector);\n for (let i = 0; i < elementsSelected.length; i++) {\n elementsSelected[i].classList.remove(...classNames);\n }\n}\n\n/**\n * This function will call fetch with additional headers and also uses a polyfill for IE\n * @param {string} url - url to access\n * @param {object} options - optional parameters\n */\nexport function fetcher(url, options = {}) {\n const csrf = document.querySelector('body').dataset.csrf;\n // This event is fired every time that a fetch is made and helps the user to extend session\n fireEvent('fetchCall');\n options.headers = {\n ...options.headers,\n 'X-CSRF-Token': csrf,\n 'Content-Type': 'application/json; charset=UTF-8',\n 'X-Requested-With': 'XMLHttpRequest',\n };\n\n if (window.fetch) {\n if (window.location.href.indexOf('donate/buttons') > -1) {\n return fetch(url, options).then((response) => handleErrors(response));\n }\n return fetch(url, options);\n }\n return polyfillFetch(url, options);\n}\n/**\n * This function will look at the fetch response and determine if there are any network\n * erros and how to respond\n */\n\nfunction handleErrors(response) {\n if (response.status !== 401) {\n return response;\n }\n handleFetch401Error();\n}\n\nfunction handleFetch401Error() {\n const currentTargetPath = window.location.pathname;\n const returnPath = currentTargetPath.replace(/(\\/*donate)/, ''); // some browsers don't put a leading '/'\n const renderURL = `/donate/buttons/login?returnUri=${returnPath}`;\n // Need to do in this way because window.location.href doesn't update referer in http req header\n window.history.pushState(null, null, renderURL);\n location.reload();\n}\n\n/**\n * Utility function for firing an event\n * @param {*} eventName\n */\nfunction fireEvent(eventName) {\n const event = document.createEvent('Event');\n event.initEvent(eventName, true, true);\n document.dispatchEvent(event);\n}\n\n/**\n * Executes the callback received just when all the DOM elements are safe to be manipulated. Similar to jQuery $.ready() function.\n * @param {function} callback\n */\nexport function documentReady(callback) {\n // in case the document is already rendered\n if (document.readyState !== 'loading') {\n return callback();\n }\n // modern browsers\n else if (document.addEventListener) {\n document.addEventListener('DOMContentLoaded', callback);\n }\n // IE <= 8\n else {\n document.attachEvent('onreadystatechange', function () {\n if (document.readyState === 'complete') {\n return callback();\n }\n });\n }\n}\n\nfunction isElement(obj) {\n try {\n return obj instanceof HTMLElement;\n } catch (e) {\n return (\n typeof obj === 'object' &&\n obj.nodeType === 1 &&\n typeof obj.style === 'object' &&\n typeof obj.ownerDocument === 'object'\n );\n }\n}\n\nfunction getElement(selectorOrElement) {\n if (isElement(selectorOrElement)) {\n return selectorOrElement;\n } else if (typeof selectorOrElement === 'string') {\n return document.querySelector(selectorOrElement);\n }\n return null;\n}\n\n/**\n * Scrolls element into view\n * @param {String | HTMLElement} selectorOrElement\n */\nexport function scrollElementIntoView(selectorOrElement) {\n const element = getElement(selectorOrElement);\n if (element) {\n element.scrollIntoView({\n behavior: 'smooth',\n });\n }\n}\n\nconst _noOpFunction = () => {};\n\nconst body = document.querySelector('body');\nconst safeScrollElement = body.scrollTo\n ? (element, options) => {\n element.scrollTo(options);\n }\n : _noOpFunction;\n\nconst safeScrollWindow = window.scrollTo\n ? (options) => {\n window.scrollTo(options);\n }\n : _noOpFunction;\n\n/**\n * Scrolls element or window to specified y location\n * @param {String | HTMLElement} selectorOrElement\n * @param { Number } scrollY\n */\nexport function scrollElementTo(selectorOrElement, scrollY = 0) {\n const element = getElement(selectorOrElement);\n if (element && element.scrollTop !== scrollY) {\n safeScrollElement(element, {\n top: scrollY,\n behavior: 'smooth',\n });\n } else if (window.pageYOffset !== scrollY) {\n safeScrollWindow({\n top: scrollY,\n behavior: 'smooth',\n });\n }\n}\n\n/**\n * Get {x, y} coordinates for HTML element\n * @param {String | HTMLElement} selectorOrElement\n */\nexport function getPosition(selectorOrElement) {\n let element = getElement(selectorOrElement);\n\n let xPosition = 0;\n let yPosition = 0;\n\n while (element) {\n xPosition += element.offsetLeft - element.scrollLeft + element.clientLeft;\n yPosition += element.offsetTop - element.scrollTop + element.clientTop;\n element = element.offsetParent;\n }\n\n return { x: xPosition, y: yPosition };\n}\n\n/**\n * Scrolls to specified y location\n * @param {String | HTMLElement} selectorOrElement\n * @param { Number } scrollY\n */\nexport function scrollTo(selectorOrElement, scrollY) {\n const element = getElement(selectorOrElement);\n if (element && typeof scrollY === 'number' && !Number.isNaN(scroll)) {\n safeScrollElement(element, {\n top: scrollY,\n behavior: 'smooth',\n });\n }\n}\n","import templateData from './getTemplateData';\n\nexport const appendCdnHostName = (url) => {\n return `${templateData.cdnHostName}${url}`;\n};\n","/*\n * paypalphrodite = paypal + aphrodite\n * This is our little wrapper around aphrodite so we can customize it.\n * In particular it allows us to\n */\n\nimport { css, StyleSheet } from 'aphrodite';\nimport rtlConvert from 'rtl-css-js';\nimport templateData from './getTemplateData';\n\nlet shouldRTL = false;\n// instead of aphrodite's StyleSheet, expose our own\nconst PayPalStyleSheet = { ...StyleSheet, create: customCreate };\n\nfunction setShouldRTL(newVal) {\n shouldRTL = newVal;\n}\n\nfunction customCreate(cssInJSObject, ...rest) {\n return StyleSheet.create(rtlConvertInline(cssInJSObject), ...rest);\n}\n\nfunction rtlConvertInline(cssInJSObject) {\n if (shouldRTL) {\n return rtlConvert(cssInJSObject);\n }\n return cssInJSObject;\n}\n\nfunction initializeRtl() {\n const { contextLocalityDir = '' } = templateData || {};\n setShouldRTL(!(contextLocalityDir === 'ltr'));\n}\n\ninitializeRtl();\n\nexport { setShouldRTL, rtlConvertInline, css, PayPalStyleSheet as StyleSheet };\n","import templateData from '../utility/getTemplateData';\nimport appStore from '../stores/AppStore';\nimport { isAmountGreaterThanZero } from '../components/amount/amountUtils';\nimport { getParameterByName } from './queryStringHelper';\nimport { show, hide, addClass, removeClass, fetcher } from './domUtils';\nimport { isOptInCoverFee } from '../components/coverFee/feeUtils';\nimport find from 'lodash/find';\nconst FROMUL_QUERY_PARAM = 'fromUL';\nconst FROMUOB_QUERY_PARAM = 'fromUOB';\nconst SDKMETA_QUERY_PARAM = 'sdkMeta';\n\nexport const addShake = () => {\n addClass('.inputField .money_input', ['animated', 'shake']);\n setTimeout(() => {\n removeClass('.inputField .money_input', ['animated', 'shake']);\n }, 1000);\n};\n\nexport const showSpinnerOverlay = () => {\n show('.spinneroverlay');\n\n const waitTextEl = document.getElementById('waitText');\n if (waitTextEl) {\n waitTextEl.focus();\n\n // Added this so mouse user will not always see the focus box\n waitTextEl.style.outline = 'none';\n\n // Since there is only one focusable element within the spinner\n // overlay, prevent any behaviour from occurring when the user\n // presses the TAB key\n waitTextEl.onkeydown = function (event) {\n // Add style back when user tries to manually focus on it\n waitTextEl.style.outline = 'thin dotted';\n waitTextEl.style.outline = '5px auto -webkit-focus-ring-color';\n waitTextEl.style.outlineOffset = '-2px';\n if (event.keyCode === 9 && document.activeElement === waitTextEl) {\n event.preventDefault();\n }\n };\n }\n};\n\nconst getFirstNonHiddenFocusableEl = (elements) => {\n return find(elements, (el) => {\n return el.type !== 'hidden';\n });\n};\n\n// After spinner exits, we need to set focus to the first fosable element\n// Assuming that focus should be set with either the gdpr cookie banner or donateWrapper\n// If any flow use a different main component, should update here\nexport const setFocus = () => {\n const elementWrapper =\n document.getElementById('gdprCookieContent_wrapper') ||\n document.getElementById('donateWrapper');\n\n if (elementWrapper) {\n // If there is no focusable element, will get text element\n const focusable =\n elementWrapper.querySelectorAll(\n 'button:not([hidden]),[href]:not([hidden]), input:not([hidden]), select:not([hidden]), textarea:not([hidden]), [tabindex]:not([tabindex=\"-1\"]):not([hidden])'\n ) ||\n elementWrapper.querySelectorAll('p:not([hidden]), span:not([hidden])');\n\n const firstFocusableEl = getFirstNonHiddenFocusableEl(focusable);\n\n if (firstFocusableEl) {\n firstFocusableEl.style.outline = 'none';\n firstFocusableEl.focus();\n\n firstFocusableEl.onkeydown = function () {\n firstFocusableEl.style.outline = 'thin dotted';\n firstFocusableEl.style.outline = '5px auto -webkit-focus-ring-color';\n firstFocusableEl.style.outlineOffset = '-2px';\n };\n\n firstFocusableEl.onblur = function () {\n firstFocusableEl.style.outline = 'none';\n };\n }\n }\n};\n\nexport const hideSpinnerOverlay = () => {\n hide('.spinneroverlay');\n};\n\nexport const updateDonation = (redirecturl, clearSavedFormData) => {\n const data = {\n token: templateData.token,\n amount: appStore.getDonationAmount(),\n donationAmountType:\n appStore.getDonationAmountType() === 'preset' ? 'preset' : 'userinput',\n currencyCode: templateData.donationCode,\n donationNote: appStore.getDonationNote() || '',\n recurring: appStore.getDonationRecurring(),\n addCardError: appStore.getAddCardError(),\n giftAidItFlag: appStore.getGiftaidItFlagStatus(),\n selectedProgram: appStore.getSelectedProgram(),\n selectedPresetButtonId: appStore.getSelectedPresetButtonId(),\n selectedRecurringFrequency: appStore.getSelectedRecurringFrequency(),\n };\n\n if (templateData.coverFeeEnabled) {\n data.feePayer = isOptInCoverFee() ? 'consumer' : 'merchant';\n data.feeCurr = appStore.getDonationCode();\n data.feeAmount = appStore.getFeeAmount();\n data.rawAmount = appStore.getAmountBeforeFee();\n }\n\n if (templateData.anonymousEnabled) {\n data.anonymousStatus = appStore.getAnonymousStatus();\n }\n\n if (clearSavedFormData) {\n data.clearSavedFormData = clearSavedFormData;\n }\n\n showSpinnerOverlay();\n let updateUrl = `/donate/update/donation`;\n if (templateData.token) {\n updateUrl = `${updateUrl}?token=${templateData.token}`;\n }\n fetcher(updateUrl, {\n method: 'POST',\n body: JSON.stringify(data),\n })\n .then((result) => {\n showSpinnerOverlay();\n window.location.href = redirecturl;\n })\n .catch(() => {\n showSpinnerOverlay();\n // On juno update failure, redirecting to landing page\n // Juno token will be re-validated and will handle following cases\n // Case 1: Display generic error page for expired token\n // Case 2: Start new flow, if token is valid.\n const failureUrl = '/donate?token=' + templateData.token;\n window.location.href = failureUrl;\n });\n};\n\n/*\n * Handles for loaging any CAL event.\n */\nexport const logCalEvent = (message) => {\n fetcher('/donate/event/logger', {\n method: 'POST',\n body: JSON.stringify({\n message,\n }),\n });\n};\n\n/*\n * Handles for redirect to UL.\n */\nexport const handleLogIn = () => {\n const donationAmount = appStore.getDonationAmount();\n\n if (isAmountGreaterThanZero(donationAmount)) {\n let url = `/donate/member?token=${templateData.token}`;\n if (getParameterByName(FROMUL_QUERY_PARAM) === 'true') {\n url = `${url}&${FROMUL_QUERY_PARAM}=true`;\n }\n if (getParameterByName(FROMUOB_QUERY_PARAM) === 'true') {\n url = `${url}&${FROMUOB_QUERY_PARAM}=true`;\n }\n const sdkMeta = templateData.sdkMeta;\n const targetMeta = getParameterByName('targetMeta') || '';\n\n if (sdkMeta) {\n url = `${url}&${SDKMETA_QUERY_PARAM}=${sdkMeta}`;\n }\n if (targetMeta) {\n url = `${url}&targetMeta=${targetMeta}`;\n }\n\n updateDonation(url);\n } else {\n addShake();\n }\n};\n\n/*\n * Handles for redirect to guest.\n */\nexport const handleGuestCountryChange = (url) => {\n updateDonation(url, true);\n};\n\n/*\n * Handles if token is reused to access donate app to make second payment.\n */\nexport const handleTokenReuse = () => {\n const paymentStatus = templateData.paymentStatus || '';\n const token = templateData.token;\n if (paymentStatus === 'complete') {\n window.location.href = `/donate/paymentComplete?token=${token}`;\n }\n};\n\nexport const removeDuplicateErrors = (errorMessages = []) => {\n return errorMessages.reduce((uniqueErr, errMsg) => {\n if (!uniqueErr.some((errMsgObj) => errMsgObj.value === errMsg.value)) {\n uniqueErr.push(errMsg);\n }\n return uniqueErr;\n }, []);\n};\n\nexport const parseErrorResponse = (errors, errorMessages) => {\n let messages = [],\n allErrorCodes = errors.details;\n\n for (const i in allErrorCodes) {\n const code = allErrorCodes[i].name,\n message = errorMessages[code];\n if (message) {\n messages.push({\n key: i,\n value: message,\n });\n }\n }\n messages = removeDuplicateErrors(messages);\n\n if (messages.length === 0) {\n const message = errorMessages.GENERIC_ERROR;\n if (message) {\n messages.push({\n key: 0,\n value: message,\n });\n }\n }\n return messages;\n};\n\nexport const parseValErrResp = (errors, dump, GENERIC_ERROR) => {\n const messages = [],\n allErrorCodes = errors.errorData || [];\n for (const allError in allErrorCodes) {\n const code =\n allErrorCodes[allError].errorCode || allErrorCodes[allError].code,\n message = dump[code];\n\n if (message) {\n messages.push({\n key: allError,\n value: message,\n });\n }\n }\n\n if (messages.length === 0) {\n const message = dump[GENERIC_ERROR];\n if (message) {\n messages.push({\n key: 0,\n value: message,\n });\n }\n }\n return messages;\n};\n\nexport const getErrFields = (errors) => {\n const allFields = [],\n allErrorCodes = errors.errorData || [];\n for (const allError in allErrorCodes) {\n allFields.push({\n key: allError,\n type: allErrorCodes[allError].code,\n fields: allErrorCodes[allError].fields,\n });\n }\n\n if (allFields.length === 0) {\n allFields.push({\n key: 0,\n type: 'VALIDATION_ERROR',\n });\n }\n\n return allFields;\n};\n\n/**\n * Checks whether minimum donation restriction should be enforced.\n * @return {Boolean} true if currency code is USD\n */\nexport const shouldEnforceMinimumDonation = () => {\n // @TODO: Check for corpIp\n // TemplateData.isCorpIp\n if (\n templateData.donationAmountEditable &&\n ['USD'].indexOf(templateData.donationCode) >= 0\n ) {\n return true;\n }\n return false;\n};\n\n/**\n * Gets minimum donation for current currency\n * @return {Number} 1 for USD, 0 otherwise\n */\nexport const getMinimumDonation = () => {\n // @TODO: Check for corpIp\n // && !TemplateData.isCorpIp\n if (['USD'].indexOf(templateData.donationCode) >= 0) {\n return 1;\n }\n return 0;\n};\n\n/**\n * Validates the donation amount restriction for USD\n * @return { Boolean } Returns false if validation fails, true otherwise\n */\nexport const validateDonationAmountForUS = () => {\n if (shouldEnforceMinimumDonation()) {\n const donationAmount = appStore.getDonationAmount() || 0;\n const minimumDonation = getMinimumDonation();\n if (donationAmount < minimumDonation) {\n return false;\n }\n }\n\n return true;\n};\n\n/**\n * Checks whether to show the promotion for HurricaneHarvey or not\n * Please note: Currently disabled. Always returns false.\n */\nexport const shouldShowHurricaneHarveyPromotion = () => {\n return false;\n // Check merchant and user country\n // const userCountry = templateData.country;\n // const userLanguage = templateData.language;\n\n // return userCountry === 'US' && userLanguage === 'en';\n};\n\n/**\n * Sets country and locale in the provided string\n * @param {String} str String to set country and locale on\n * @param {String} country Country code like 'AU', 'US'\n * @param {String} locale locale code like 'en_AU', en_US'\n * @return {String} Original string with country and locale\n */\nexport const setCountryAndLocale = (str) => {\n str = str.replace(new RegExp('{country}', 'g'), templateData.country);\n str = str.replace(\n new RegExp('{locale}', 'g'),\n `${templateData.language}_${templateData.country}`\n );\n str = str.replace(new RegExp('{brand}', 'g'), templateData.brand);\n str = str.replace(new RegExp('{language}', 'g'), templateData.language);\n return str;\n};\n\nexport const isLTR = () => {\n const { contextLocalityDir } = templateData;\n return contextLocalityDir === 'ltr';\n};\n\nexport const getPPCCStatus = () => {\n const { merchantPpccStatus } = templateData;\n return merchantPpccStatus\n ? merchantPpccStatus.toUpperCase()\n : merchantPpccStatus;\n};\n\nexport const waitForElementToDisplay = (selector, time, callback) => {\n if (document.querySelector(selector) !== null) {\n callback(); // eslint-disable-line\n } else {\n setTimeout(function () {\n waitForElementToDisplay(selector, time, callback);\n }, time);\n }\n};\n\nexport const observeUntilEventObserved = (targetNode, options, callback) => {\n const mutationObserver = new MutationObserver(function (mutations, observer) {\n callback(observer);\n });\n\n mutationObserver.observe(targetNode, options);\n};\n\nexport const getInitialDataInDom = () => {\n const initialDataInDom = document.getElementById('initialData');\n if (initialDataInDom) {\n return JSON.parse(initialDataInDom.innerHTML || '{}');\n }\n};\n\n// export default {\n// \taddShake: addShake,\n// \tupdateDonation: updateDonation,\n// \tlogCalEvent: logCalEvent,\n// \thandleLogIn: handleLogIn,\n// \thandleGuestCountryChange: handleGuestCountryChange,\n// \thandleTokenReuse: handleTokenReuse,\n// \tremoveErrors: removeErrors,\n// \tserializeFormData: serializeFormData,\n// \tparseErrorResponse: parseErrorResponse,\n// \tparseValErrResp: parseValErrResp,\n// \tgetErrFields: getErrFields,\n// \tisLTR,\n// \tgetPPCCStatus,\n// \tshouldEnforceMinimumDonation,\n// \tvalidateDonationAmountForUS,\n// \tshouldShowHurricaneHarveyPromotion,\n// \tsetCountryAndLocale,\n// \tshowSpinnerOverlay,\n// \thideSpinnerOverlay\n// }\n","import React from 'react';\nimport Illustration from './illustrations/Illustration';\nimport { Row } from '@paypalcorp/pp-react';\n\nfunction PendingWarning() {\n return (\n \n \n \n );\n}\n\nexport default PendingWarning;\n","import React, { useContext } from 'react';\nimport templateData from '../utility/getTemplateData';\nimport { Row, Col } from '@paypalcorp/pp-react';\nimport ConfirmationBody from './ConfirmationBody';\nimport ConfirmationTitle from './ConfirmationTitle';\nimport ConfirmationView from './ConfirmationView';\nimport PendingWarning from '../components/PendingWarning';\nimport PropTypes from 'prop-types';\nimport withConfirmationData from './withConfirmationData';\nimport withConfirmationMessages from './withConfirmationMessages';\nimport withTheme from '../components/withTheme';\nimport isNna from '../utility/nna';\nimport { MessageFormat } from '@paypalcorp/worldready';\nimport { Context as WorldReadyContext } from '@paypalcorp/worldready-react';\nimport isPslCountry from '../utility/israelPsl';\nimport { isGNC } from '../utility/productIntegrationUtils';\n\nfunction PendingView(props) {\n const worldReady = useContext(WorldReadyContext);\n const isOfacPending = props.isOfacPending;\n\n const contentRoute = 'confirmation.pending.label';\n let headingMessageId = `${contentRoute}.pending`;\n let bodyMessageId = `${contentRoute}.pending2`;\n\n if (isNna(templateData.country)) {\n bodyMessageId = `${contentRoute}.pendingNna`;\n } else if (isPslCountry() && !isGNC()) {\n if (isOfacPending) {\n headingMessageId = `${contentRoute}.ispsl.ofac.heading`;\n bodyMessageId = `${contentRoute}.ispsl.ofac.body1`;\n } else {\n bodyMessageId = `${contentRoute}.ispsl.body`;\n }\n }\n\n const headingMessage = new MessageFormat(worldReady, {\n id: headingMessageId,\n }).format();\n const bodyMessage = new MessageFormat(worldReady, {\n id: bodyMessageId,\n }).format({\n orgName: templateData.donationName,\n });\n\n const PendingMessage = () => (\n <>\n \n \n \n \n \n \n \n \n {isPslCountry() && !isGNC() && isOfacPending && (\n \n )}\n \n \n \n );\n\n return (\n }\n message={}\n />\n );\n}\n\nPendingView.propTypes = {\n handleRedirect: PropTypes.func,\n orgName: PropTypes.string,\n returnTo: PropTypes.string,\n returnTextMember: PropTypes.string,\n isOfacPending: PropTypes.bool,\n};\n\nexport default withConfirmationData(\n withConfirmationMessages(withTheme(PendingView), 'pending')\n);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { StyleSheet, css } from '../../utility/paypalAphrodite';\nimport classNames from 'classnames';\nimport { appendCdnHostName } from '../../utility/geoUtils';\n\nconst illustrations = {\n critical: appendCdnHostName(\n '/paypal-ui/illustrations/focused/svg/empty-critical.svg'\n ),\n 'more-info': appendCdnHostName('/paypal-ui/illustrations/svg/more-info.svg'),\n 'credit-cards': appendCdnHostName(\n '/paypal-ui/illustrations/svg/credit-cards.svg'\n ),\n success: appendCdnHostName(\n '/paypal-ui/illustrations/focused/svg/empty-success.svg'\n ),\n warning: appendCdnHostName(\n '/paypal-ui/illustrations/focused/svg/empty-warning.svg'\n ),\n cause_success: appendCdnHostName(\n '/paypal-ui/illustrations/focused/svg/cause-success-desktop.svg'\n ),\n pp_fundraising_success: appendCdnHostName(\n '/paypal-ui/illustrations/focused/svg/cause-success-mobile.svg'\n ),\n send_bubble_hearts: appendCdnHostName(\n '/paypal-ui/illustrations/focused/svg/send-bubble-hearts.svg'\n ),\n document: appendCdnHostName(\n '/paypal-ui/illustrations/focused/svg/document.svg'\n ),\n document_colored: appendCdnHostName(\n '/paypal-ui/pictograms/multicolored/svg/documents.svg'\n ),\n donate: appendCdnHostName(\n '/paypal-ui/pictograms/multicolored/svg/donate.svg'\n ),\n share: appendCdnHostName('/paypal-ui/pictograms/multicolored/svg/share.svg'),\n heart: appendCdnHostName('/paypal-ui/pictograms/multicolored/svg/heart.svg'),\n giving_fund: appendCdnHostName(\n '/paypal-ui/pictograms/multicolored/svg/giving-fund.svg'\n ),\n};\n\nconst STYLES = StyleSheet.create({\n extraLargeDWEB: {\n width: 392,\n },\n extraLargeInContext: {\n width: 343,\n },\n extraLarge: {\n width: 336,\n height: 168,\n },\n large: {\n width: 144,\n },\n medium: {\n width: 108,\n },\n short: {\n width: 96,\n },\n small: {\n width: 72,\n },\n max: {\n width: '100%',\n },\n});\n\nexport default function Illustration({\n type,\n size,\n className,\n ariaHidden,\n ...rest\n}) {\n if (!size) {\n size = 'large';\n }\n\n const classes = classNames(className, {\n [css(STYLES.extraLargeDWEB)]: size === 'extraLargeDWEB',\n [css(STYLES.extraLargeInContext)]: size === 'extraLargeInContext',\n [css(STYLES.extraLarge)]: size === 'extraLarge',\n [css(STYLES.large)]: size === 'large',\n [css(STYLES.medium)]: size === 'medium',\n [css(STYLES.short)]: size === 'short',\n [css(STYLES.small)]: size === 'small',\n [css(STYLES.max)]: size === 'max',\n });\n\n return (\n \n );\n}\n\nIllustration.propTypes = {\n type: PropTypes.string,\n size: PropTypes.string,\n className: PropTypes.string,\n ariaHidden: PropTypes.bool,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from '@paypalcorp/pp-react';\nimport { trackLinkClick } from '../fpti/fpti';\nimport { LINK_NAME } from '../fpti/fptiConstants';\n\nconst ReturnToMerchantLink = ({ returnLabel, organizationName, returnUrl }) => {\n const label = returnLabel.replace('{orgName}', organizationName);\n\n const handleReturnToMerchant = () => {\n trackLinkClick(LINK_NAME.RETURN);\n\n if (returnUrl.indexOf('http') !== 0 && returnUrl.indexOf('//') !== 0) {\n returnUrl = '//' + returnUrl;\n }\n window.location.href = returnUrl;\n };\n\n return {label};\n};\n\nReturnToMerchantLink.propTypes = {\n returnLabel: PropTypes.string,\n organizationName: PropTypes.string,\n returnUrl: PropTypes.string,\n};\n\nexport default ReturnToMerchantLink;\n","if (window.webpackPublicPath) {\n __webpack_public_path__ = window.webpackPublicPath; // eslint-disable-line no-undef\n}\n","import React from 'react';\nimport { PAYPAL_THEME } from '@paypalcorp/pp-react';\nimport { PAYPAL_THEME as PPUI4_PAYPAL_THEME } from 'ppui4theme';\nimport { ThemeProvider } from '@emotion/react';\nimport { isAndroidWebView } from '../utility/productIntegrationUtils';\n\n// We need to keep this as a function for it to not be memoized and apply\n// the styles when coming back from XO\nconst shouldApplyPPUI4Styles = () =>\n isAndroidWebView() && window.location.pathname.includes('/donate/member');\n\nfunction withTheme(WrappedComponent, theme = 'v2') {\n return (props) => {\n return (\n \n \n \n );\n };\n}\n\nexport default withTheme;\n","import templateData from './getTemplateData';\nimport { isExternalFlow } from './productIntegrationUtils';\nimport _get from 'lodash/get';\n\nexport function isInContext() {\n return isPopupMode();\n}\n\nexport function onComplete(postBackData) {\n const data = _get(postBackData, 'postBackData') || {};\n\n const transactionDetails = {\n tx: data.txn_id,\n st: data.payment_status,\n amt: data.mc_gross,\n cc: data.mc_currency,\n cm: data.custom_data,\n item_number: data.item_number,\n item_name: data.item_name,\n };\n // Add token if it is an external flow\n // so that they can call the GET TOKEN API\n if (isExternalFlow()) {\n transactionDetails.token = templateData.token;\n }\n if (window && window.xprops && window.xprops.onComplete) {\n window.xprops.onComplete({\n ...transactionDetails,\n });\n }\n}\n\nexport function onCancel(redirectUrl) {\n if (window && window.xprops && window.xprops.onCancel) {\n window.xprops.onCancel({\n redirectUrl,\n });\n }\n}\n\nexport function closeWindow() {\n if (window && window.xprops && window.xprops.close) {\n window.xprops.close();\n }\n}\n\n/**\n * Returns true if Donate is being rendered inside an iframe\n */\nexport function isIframeMode() {\n return window.parent !== window;\n}\n\nexport function isSdkMode() {\n return Boolean(templateData.sdkMeta || templateData.targetMeta);\n}\n\n/**\n * Returns true if window was opened by window.opener such as for pop-up windows.\n *\n */\nexport function isPopupMode() {\n // eslint-disable-next-line no-extra-boolean-cast\n if (Boolean(window.xprops)) {\n return isSdkMode() && Boolean(window.opener);\n }\n\n if (templateData.isdesktop) {\n return (\n isSdkMode() && Boolean(window.opener) && window && window.outerWidth < 650\n );\n }\n\n // default\n return isSdkMode() && Boolean(window.opener);\n}\n/**\n * We are in SDK Mode but we do not have window.xprops so this is FullPageRedirection Mode\n */\nexport function isFullPageRedirectionMode() {\n return isSdkMode() && Boolean(!window.xprops);\n}\n\nexport function isMobileOrInContext() {\n return isPopupMode() || templateData.ismobile || templateData.istablet;\n}\n\nexport function isMobileOrTablet() {\n return templateData.ismobile || templateData.istablet;\n}\n\nexport function isMWebNoCancelURL() {\n return !isInContext() && isMobileOrTablet() && !templateData.charityCancelUrl;\n}\n\nexport function isMWebNoReturnURL() {\n return !isInContext() && isMobileOrTablet() && !templateData.charityReturnUrl;\n}\n\nexport function isNotFullScreen() {\n var isNotAtMaxWidth = window.screen.availWidth - window.outerWidth > 0;\n var isNotAtMaxHeight = window.screen.availHeight - window.outerHeight > 0;\n return isNotAtMaxHeight && isNotAtMaxWidth;\n}\n","export function getParameterByName(name, url) {\n if (!url) {\n url = window.location.href;\n }\n name = name.replace(/[\\[\\]]/g, '\\\\$&');\n\n const regex = new RegExp(`[?&]${name}(=([^&#]*)|&|#|$)`);\n const results = regex.exec(url);\n\n if (!results) {\n return null;\n }\n\n if (!results[2]) {\n return '';\n }\n\n return decodeURIComponent(results[2].replace(/\\+/g, ' '));\n}\n\nexport function getParameterByNameFromURL(name, url) {\n name = name.replace(/[\\[\\]]/g, '\\\\$&');\n\n const regex = new RegExp(`[?&]${name}(=([^&#]*)|&|#|$)`);\n const results = regex.exec(url);\n\n if (!results) {\n return null;\n }\n\n if (!results[2]) {\n return '';\n }\n\n return decodeURIComponent(results[2].replace(/\\+/g, ' '));\n}\n\nexport function getValuesFromULState(keys, url) {\n const queryStringObj = {};\n keys.forEach((key) => {\n queryStringObj[key] = getParameterByName(key, url);\n });\n return queryStringObj;\n}\n\nexport function getParametersFromUrl(url) {\n if (!url) {\n url = window.location.href;\n }\n\n if (url.indexOf('?') >= 0) {\n let queryString = /[^?]*$/.exec(url)[0]; // eslint-disable-line\n return JSON.parse(\n '{\"' +\n decodeURI(queryString)\n .replace(/\"/g, '\\\\\"')\n .replace(/&/g, '\",\"')\n .replace(new RegExp('=', 'g'), '\":\"') +\n '\"}'\n );\n }\n return {};\n}\n","import * as AppActions from '../actions/AppActions';\nimport '../stores/AppStore';\nimport { formatAmount } from './formator';\nimport _map from 'lodash/map';\nimport _get from 'lodash/get';\nimport _set from 'lodash/set';\nimport _isEmpty from 'lodash/isEmpty';\nimport { init } from 'pp-react-l10n';\nimport { getPersonalizedMessagesAsContentLoaderStandard } from './personalizedMessages';\nimport { loadPPCCStatus } from './ppccUtils';\nimport { isAtLandingPage } from '../components/coverFee/feeUtils';\nimport { MessageFormat } from '@paypalcorp/worldready';\nimport { getWorldReady } from './worldReadyUtils';\n\nconst rawTemplateData =\n document.getElementById('templateData') &&\n document.getElementById('templateData').innerHTML;\nconst templateData = JSON.parse(rawTemplateData ? rawTemplateData : '{}');\n\nif (!_isEmpty(templateData)) {\n if (!_isEmpty(templateData.giftAid)) {\n _set(templateData, 'giftAid', JSON.parse(templateData.giftAid));\n }\n if (!_isEmpty(templateData.webscrData)) {\n _set(templateData, 'webscrData', JSON.parse(templateData.webscrData));\n }\n if (!_isEmpty(templateData.giftAidAddress)) {\n _set(\n templateData,\n 'giftAidAddress',\n JSON.parse(templateData.giftAidAddress)\n );\n }\n}\n\nconst localsMessagesNode =\n document.getElementById('localeMessages') &&\n document.getElementById('localeMessages').innerHTML;\nconst locals = (localsMessagesNode && JSON.parse(localsMessagesNode)) || {};\nconst personalized = getPersonalizedMessagesAsContentLoaderStandard();\nconst content = {\n locals,\n personalized,\n};\ninit({ content });\n\n/**\n * Normalize charity name and donation ID strings from template data.\n */\nif (templateData.charityName) {\n const charityName = templateData.charityName;\n try {\n templateData.charityName = decodeURIComponent(charityName);\n } catch (er) {\n templateData.charityName = charityName;\n }\n}\nif (templateData.donationId) {\n const donationId = templateData.donationId;\n try {\n templateData.donationId = decodeURIComponent(donationId);\n } catch (er) {\n templateData.donationId = donationId;\n }\n}\n\nexport const shouldSelectPresetAmount = (amount) => {\n if (!amount) {\n return false;\n }\n if (templateData.presetAmounts?.length === 3) {\n const presetAmounts = templateData.presetAmounts || [];\n return presetAmounts.map(Number).includes(Number(amount));\n }\n};\n\n/**\n * Attempting update default value for amount in flux store\n */\nconst donorCoversFee = templateData.feePayer === 'consumer';\nconst donationAmount =\n donorCoversFee && isAtLandingPage()\n ? templateData.rawAmount.toString()\n : templateData.donationAmount.toString();\nAppActions.changeAmount({\n amount: donationAmount,\n});\n\nif (donorCoversFee) {\n AppActions.changeCoverFee({ coverFee: 'checked' });\n AppActions.changeFeeAmount({ feeAmount: templateData.feeAmount });\n AppActions.changeFormatedAmount({\n formatedFeeAmount: formatAmount({\n currency: templateData.feeCurr,\n value: templateData.rawAmount,\n }),\n });\n}\n\nif (templateData.anonymousEnabled) {\n const anonymousStatus = templateData.anonymousStatus\n ? 'checked'\n : 'unchecked';\n AppActions.changeAnonymousStatus({ anonymousStatus });\n}\n\n/**\n * Attempting update default value for currency symbol in flux store\n */\nAppActions.changeSymbol({\n symbol: templateData.donationSymbol,\n});\n\n/**\n * Attempting update default value for currency code in flux store\n */\nAppActions.changeCode({\n code: templateData.donationCode,\n});\n\n/**\n * Attempting update default value for note in flux store\n */\nAppActions.changeNote({\n note: templateData.donationNote,\n});\n\n/**\n * Attempting update default value for recurring in flux store\n */\nAppActions.changeRecurring({\n recurring:\n templateData.recurringStatus === 'checked' ||\n templateData.recurringEnabled === 'checked'\n ? 'checked'\n : 'unchecked',\n});\n\nif (templateData.selectedRecurringFrequency) {\n AppActions.changeSelectedRecurringFrequency({\n selectedRecurringFrequency: templateData.selectedRecurringFrequency,\n });\n}\n\nAppActions.updateSelectedPresetButtonId(templateData.selectedPresetButtonId);\n\ntemplateData.enablePresetAmounts = shouldEnablePresetAmounts();\n\nif (_isEmpty(templateData.presetAmounts)) {\n templateData.presetAmounts = _get(\n templateData,\n 'donateContext.amount_options'\n );\n}\n\nif (\n templateData.donationAmountType === 'preset' &&\n templateData.presetAmounts?.length === 3\n) {\n if (!_isEmpty(donationAmount) && !shouldSelectPresetAmount(donationAmount)) {\n AppActions.updateDonationAmountType('userinput');\n } else {\n AppActions.updateDonationAmountType('preset');\n }\n}\n\nexport const isOldButtonFactory = () => {\n return _isEmpty(templateData.donateContext);\n};\n\nexport const isNewButtonFactory = () => {\n return !isOldButtonFactory();\n};\n\n// Prepopulate donationId in the dropdown\nif (isNewButtonFactory() && templateData.donationId) {\n AppActions.updateSelectedProgram(templateData.donationId);\n}\n\n/**\n * Attempting to parse all locals messages from DOM\n */\nfunction parseMessages(templateName) {\n if (!templateName) {\n console.warn('Missing template name');\n }\n try {\n const localsAllMessages = JSON.parse(\n document.getElementById('localeMessages').innerHTML || {}\n );\n const path = templateName.replaceAll('/', '.');\n return _get(localsAllMessages, path) || localsAllMessages;\n } catch (e) {\n console.warn('Please attach locales to DOM');\n return {};\n }\n}\n\n/**\n * Attempting to get all data from template\n */\nexport default templateData;\n\n/**\n * Attempting to grab all locals messages\n */\nexport function localsMessages(templateName) {\n return parseMessages(templateName);\n}\n\n/**\n * Attempting to grab all locals messages for guest billing page\n */\n\nexport function guestLocalsMessages() {\n const worldReady = getWorldReady();\n const guestMessages = localsMessages('guest/guestForm') || {};\n const guestsignup = guestMessages.guestsignup || {};\n\n let nationalIds = [];\n\n try {\n nationalIds = _map(guestsignup.nationalIds, (label, value) => {\n return {\n label,\n value,\n };\n });\n } catch (e) {\n /* nothing required as nationalIds are only applicable for limited countries */\n }\n\n const createAccountPreProps = {\n mainTitle: '', // guestsignup.mainTitle\n mainBlurb: '', // guestsignup.mainBlurb\n itsFreeLine: '', // guestsignup.itsFreeLine\n mainTitle2: 'guestsignup.mainTitle2',\n createAccountCheckboxContent: 'guestsignup.createAccountCheckboxContent',\n createAccountHelp1: 'guestsignup.expcreateAccountHelpContent',\n label1: 'guestsignup.explabel1',\n label2: 'guestsignup.explabel2',\n legalBlurbHTML: 'guestsignup.legalBlurbHTML',\n legalBlurbWithFeeInformationDoc:\n 'guestsignup.legalBlurbWithFeeInformationDoc',\n incentiveTitle: 'guestsignup.incentive.title',\n incentiveCreateAccountCheckboxContent:\n 'guestsignup.incentive.createAccountCheckboxContent',\n incentiveTerms: 'guestsignup.incentive.terms',\n labeldob: 'guestsignup.labeldob',\n labelnationality: 'guestsignup.labelnationality',\n dobPattern: 'guestsignup.dobPattern',\n dobHelp: 'guestsignup.dobPattern',\n labelocc: 'guestsignup.labelocc',\n legalOnlyHTML: 'guestsignup.legalOnlyHTML',\n consentBlurbHTML: 'guestsignup.consentBlurbHTML',\n labelNationalIdType: 'guestsignup.labelNationalIdType',\n labelNationalIdNumber: 'guestsignup.labelNationalIdNumber',\n nationalIds,\n defaultIdType: 'NATIONAL_ID', // Setting up deafult ID type\n passwordWarnings: {\n _MISMATCH: 'passwordWarnings.MISMATCH',\n _IS_NULL: 'passwordWarnings.IS_NULL',\n _TOO_SHORT: 'passwordWarnings.TOO_SHORT',\n _TOO_LONG: 'passwordWarnings.TOO_LONG',\n _CONTAINS_REPEATED_CHARACTERS:\n 'passwordWarnings.CONTAINS_REPEATED_CHARACTERS',\n _CONTAINS_NUMBER_SEQUENCE: 'passwordWarnings.CONTAINS_NUMBER_SEQUENCE',\n _CONTAINS_LETTER_SEQUENCE: 'passwordWarnings.CONTAINS_LETTER_SEQUENCE',\n _CONTAINS_NUMBER_LETTER_SEQUENCE:\n 'passwordWarnings.CONTAINS_NUMBER_LETTER_SEQUENCE',\n _IS_BLACKLISTED: 'passwordWarnings.IS_BLACKLISTED',\n _CONTAINS_SPACES: 'passwordWarnings.CONTAINS_SPACES',\n _HAS_ILLEGAL_CHARACTERS: 'passwordWarnings.HAS_ILLEGAL_CHARACTERS',\n _LEGAL_CHECKBOX: 'passwordWarnings.LEGAL_CHECKBOX',\n _REQUIRED_DOB: 'passwordWarnings.REQUIRED_DOB',\n _INVALID_DOB: 'passwordWarnings.INVALID_DOB',\n _OCCUPATION: 'passwordWarnings.OCCUPATION',\n _NATIONALITY: 'passwordWarnings.NATIONALITY',\n _HINT1: 'passwordWarnings.HINT1',\n _HINT2: 'passwordWarnings.HINT2',\n _HINT3: 'passwordWarnings.HINT3',\n _NATIONAL_ID_TYPE: 'passwordWarnings._NATIONAL_ID_TYPE',\n _NATIONAL_ID_NUMBER: 'passwordWarnings._NATIONAL_ID_NUMBER',\n },\n };\n\n const createAccountPost = {\n mainTitle: '', // guestsignup.mainTitle\n mainBlurb: '', // guestsignup.mainBlurb\n itsFreeLine: '', // guestsignup.itsFreeLine\n createAccountCheckboxContent: 'guestsignup.createAccountCheckboxContent',\n pplogo: 'guestsignup.pplogo',\n mainTitle1: 'guestsignup.mainTitle1',\n mainTitle2: 'guestsignup.expmainTitle2',\n mainTitle3: 'guestsignup.expmainTitle3',\n notNow: 'guestsignup.notNow',\n label1: 'guestsignup.explabel1',\n label2: 'guestsignup.explabel2',\n legalBlurbHTML: 'guestsignup.legalBlurbHTML',\n legalBlurbWithFeeInformationDoc:\n 'guestsignup.legalBlurbWithFeeInformationDoc',\n\n labeldob: 'guestsignup.labeldob',\n labelnationality: 'guestsignup.labelnationality',\n dobPattern: 'guestsignup.dobPattern',\n labelocc: 'guestsignup.labelocc',\n legalOnlyHTML: 'guestsignup.legalOnlyHTML',\n consentBlurbHTML: 'guestsignup.consentBlurbHTML',\n\n passwordWarnings: {\n _MISMATCH: 'passwordWarnings.MISMATCH',\n _IS_NULL: 'passwordWarnings.IS_NULL',\n _TOO_SHORT: 'passwordWarnings.TOO_SHORT',\n _TOO_LONG: 'passwordWarnings.TOO_LONG',\n _CONTAINS_REPEATED_CHARACTERS:\n 'passwordWarnings.CONTAINS_REPEATED_CHARACTERS',\n _CONTAINS_NUMBER_SEQUENCE: 'passwordWarnings.CONTAINS_NUMBER_SEQUENCE',\n _CONTAINS_LETTER_SEQUENCE: 'passwordWarnings.CONTAINS_LETTER_SEQUENCE',\n _CONTAINS_NUMBER_LETTER_SEQUENCE:\n 'passwordWarnings.CONTAINS_NUMBER_LETTER_SEQUENCE',\n _IS_BLACKLISTED: 'passwordWarnings.IS_BLACKLISTED',\n _CONTAINS_SPACES: 'passwordWarnings.CONTAINS_SPACES',\n _HAS_ILLEGAL_CHARACTERS: 'passwordWarnings.HAS_ILLEGAL_CHARACTERS',\n _LEGAL_CHECKBOX: 'passwordWarnings.LEGAL_CHECKBOX',\n\n _REQUIRED_DOB: 'passwordWarnings.REQUIRED_DOB',\n _INVALID_DOB: 'passwordWarnings.INVALID_DOB',\n _OCCUPATION: 'passwordWarnings.OCCUPATION',\n _NATIONALITY: 'passwordWarnings.NATIONALITY',\n _HINT1: 'passwordWarnings.HINT1',\n _HINT2: 'passwordWarnings.HINT2',\n _HINT3: 'passwordWarnings.HINT3',\n },\n buttonText: 'guestsignup.agreeanddonate',\n };\n\n for (const ca in createAccountPreProps) {\n if (!createAccountPreProps[ca]) {\n continue;\n }\n if (typeof createAccountPreProps[ca] === 'string') {\n const path = `guest.guestForm.${createAccountPreProps[ca]}`;\n createAccountPreProps[ca] = new MessageFormat(worldReady, {\n id: path,\n }).format({\n country: '{country}',\n locale: '{locale}',\n brand: '{brand}',\n language: '{language}',\n });\n } else if (ca === 'passwordWarnings') {\n for (const cp in createAccountPreProps[ca]) {\n const path2 = `guest.guestForm.${createAccountPreProps[ca][cp]}`;\n createAccountPreProps[ca][cp] = new MessageFormat(worldReady, {\n id: path2,\n }).format();\n }\n }\n }\n\n createAccountPreProps.dobPattern =\n createAccountPreProps.dobPattern.toUpperCase();\n for (const ca in createAccountPost) {\n if (!createAccountPost[ca]) {\n continue;\n }\n if (typeof createAccountPost[ca] === 'string') {\n const path = `guest.guestForm.${createAccountPost[ca]}`;\n\n createAccountPost[ca] = new MessageFormat(worldReady, {\n id: path,\n }).format({\n country: '{country}',\n locale: '{locale}',\n brand: '{brand}',\n language: '{language}',\n });\n } else if (ca === 'passwordWarnings') {\n for (const cp in createAccountPost[ca]) {\n const path2 = `guest.guestForm.${createAccountPost[ca][cp]}`;\n createAccountPost[ca][cp] = new MessageFormat(worldReady, {\n id: path2,\n }).format();\n }\n }\n }\n\n const cpf = {\n label: new MessageFormat(worldReady, {\n id: 'guest.guestForm.guestsignup.cpf',\n }).format(),\n warnings: {\n _REQUIRED_CPF: new MessageFormat(worldReady, {\n id: 'guest.guestForm.cpfWarnings.REQUIRED_CPF',\n }).format(),\n _INVALID_CPF: new MessageFormat(worldReady, {\n id: 'guest.guestForm.cpfWarnings.INVALID_CPF',\n }).format(),\n },\n };\n\n return {\n guestMessages: guestMessages,\n guestLabels: guestMessages.label || {},\n guestHelp: guestMessages.help || {},\n guestCaptcha: guestMessages.captcha || {},\n createAccountPreProps: createAccountPreProps,\n createAccountPost: createAccountPost,\n cpf: cpf,\n };\n}\n\nfunction shouldEnablePresetAmounts() {\n return (\n (templateData.donationAmountType === 'preset' &&\n templateData.presetAmounts?.length === 3) ||\n (templateData.donateContext &&\n templateData.donateContext.amount_type === 'MERCHANT_RECOMMENDED' &&\n templateData.donateContext.amount_options.length === 3) ||\n false\n );\n}\n\nif (templateData.ppccLookupRequired) {\n loadPPCCStatus();\n}\n\nlet currencyLists;\nexport function getCurrencySymbol(currencyCode) {\n if (!currencyLists) {\n try {\n currencyLists = JSON.parse(\n document.getElementById('currencyLists').innerHTML || {}\n );\n } catch (e) {\n currencyLists = {};\n }\n }\n return (currencyLists.symbols && currencyLists.symbols[currencyCode]) || '';\n}\n\nexport const isMobileHeaderExp = () => {\n return _get(templateData, 'pxp.moveMobileHeaderExp.experiment', false);\n};\n\nexport const isPartnerFlow = () => {\n return _get(templateData, 'isPartnerFlow', false);\n};\n\nexport const hasPartnerSource = () => {\n return _get(templateData, 'hasPartnerSource', false);\n};\n","import { fetcher } from './domUtils';\nimport templateData from './getTemplateData';\nimport _get from 'lodash/get';\nimport * as DonateAppActions from '../actions/AppActions';\n\nconst MERCHANT_PPCC_CONFIRMED_STATUS = 'CONFIRMED';\n\nexport const loadPPCCStatus = () => {\n return fetcher(`/donate/api/ppcc/?token=${templateData.token}`)\n .then((response) => response.json())\n .then((result) => {\n const isPPCC =\n _get(result, 'data.PPCC', '') === MERCHANT_PPCC_CONFIRMED_STATUS;\n DonateAppActions.updatePPCCStatus(isPPCC);\n })\n .catch(() => {});\n};\n\nexport const loadPPCCSetupStatus = () => {\n return fetcher('/donate/api/setupFlow/ppcc')\n .then((response) => response.json())\n .then((result) => {\n return _get(result, 'data.clientData.ppccSetupStatus', '');\n })\n .catch(() => {});\n};\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from '@paypalcorp/pp-react-links';\nimport { BodyText } from '@paypalcorp/pp-react-text';\nimport templateData from '../../utility/getTemplateData';\nimport { showSpinnerOverlay } from '../../utility/helper';\nimport { getHardLogoutUrl, isOneTouchUser } from '../../utility/authUtils';\nimport { sanitize } from '../../utility/domUtils';\nimport { isExternalFlow } from '../../utility/productIntegrationUtils';\nimport BackButton from '../BackButton';\nimport { isInContext } from '../../utility/inContextDonation';\nimport { trackLinkClick } from '../../fpti/fpti';\nimport { FPTI_TAGS, LINK_NAME } from '../../fpti/fptiConstants';\nimport _isEmpty from 'lodash/isEmpty';\nimport classNames from 'classnames';\nimport { Avatar } from '@paypalcorp/pp-react';\nimport { Message } from '@paypalcorp/worldready-react';\n\nclass UserDetailsBanner extends Component {\n constructor(props) {\n super(props);\n this.state = {\n bannerUrl: templateData.bannerUrl,\n showCCErrorMessage: templateData.showCCErrorMessage,\n };\n }\n static propTypes = {\n userDetails: PropTypes.object,\n };\n\n createLoggedInMessage = (firstName) => {\n return isOneTouchUser() ? (\n {innerMessage}}\n firstName={sanitize(firstName)}\n />\n ) : (\n \n );\n };\n\n handleNotYouLinkClick = () => {\n showSpinnerOverlay();\n trackLinkClick(LINK_NAME.NOT_YOU, {\n additionalData: {\n [FPTI_TAGS.AUTH_STATE]: templateData.authState,\n [FPTI_TAGS.VERSION]: templateData.sessionDeprecationEnabled\n ? 'V2'\n : 'V1',\n },\n });\n this.logout();\n };\n\n logout = () => {\n window.location.href = getHardLogoutUrl();\n };\n\n determineUserDetailsBannerClass() {\n const backgroundImageExists = !_isEmpty(this.state.bannerUrl);\n return classNames({\n gn_user_details_banner: isExternalFlow() && !backgroundImageExists,\n gn_user_details_banner_no_border:\n isExternalFlow() && backgroundImageExists,\n user_details_banner: !isExternalFlow() && !backgroundImageExists,\n user_details_banner_no_border: !isExternalFlow() && backgroundImageExists,\n });\n }\n\n render() {\n const { userDetails = {} } = this.props;\n const firstName = userDetails.firstName || '';\n const profilePhotoUrl = userDetails.thumbnailUrl;\n const loggedInMessage = this.createLoggedInMessage(firstName);\n const isLandingPage = templateData.viewName === 'landing';\n const shouldShowBackButton =\n ((isInContext() && !this.state.showCCErrorMessage) || isExternalFlow()) &&\n !isLandingPage;\n\n return (\n
\n {shouldShowBackButton && (\n \n )}\n \n
\n
\n {loggedInMessage}\n
\n \n \n \n
\n
\n
\n
\n );\n }\n}\nexport default UserDetailsBanner;\n","import { isExternalFlow } from './productIntegrationUtils';\nimport templateData from './getTemplateData';\nimport AppStore from '../stores/AppStore';\n\nfunction isNna(country) {\n return (\n ['US'].indexOf(country) >= 0 &&\n templateData.nnaExperienceStatus &&\n !isExternalFlow() &&\n templateData?.pxp?.showNnaExp?.experiment &&\n !templateData.memberMandatory &&\n AppStore.getDonationRecurring() !== 'checked'\n );\n}\n\nexport default isNna;\n","module.exports = {\n postbackKeys: {\n TXN_ID: 'txn_id',\n\n MC_CURRENCY: 'mc_currency',\n MC_FEE: 'mc_fee',\n MC_GROSS: 'mc_gross',\n\n PAYMENT_DATE: 'payment_date',\n PAYMENT_FEE: 'payment_fee',\n PAYMENT_GROSS: 'payment_gross',\n PAYMENT_STATUS: 'payment_status',\n PAYMENT_TYPE: 'payment_type',\n\n BUSINESS: 'business',\n RECEIVER_EMAIL: 'receiver_email',\n RECEIVER_ID: 'receiver_id',\n\n CONTACT_PHONE: 'contact_phone',\n PAYER_EMAIL: 'payer_email',\n PAYER_ID: 'payer_id',\n PAYER_STATUS: 'payer_status',\n\n FIRST_NAME: 'first_name',\n LAST_NAME: 'last_name',\n\n ADDRESS_NAME: 'address_name',\n ADDRESS_STREET: 'address_street',\n ADDRESS_CITY: 'address_city',\n ADDRESS_STATE: 'address_state',\n ADDRESS_COUNTRY_CODE: 'address_country_code',\n ADDRESS_ZIP: 'address_zip',\n\n RESIDENCE_COUNTRY: 'residence_country',\n\n ITEM_NAME: 'item_name',\n ITEM_NUMBER: 'item_number',\n INVOICE: 'invoice',\n QUANTITY: 'quantity',\n CUSTOM: 'custom',\n\n PAYMENT_STATUS_RECURRING: 'paymentStatus',\n CONFIRMATION_NUMBER: 'confirmationNumber',\n },\n\n guestFormFiled: [\n {\n name: 'amount',\n code: 'REQUIRED_AMOUNT',\n },\n {\n name: 'symbol',\n code: 'REQUIRED_SYMBOL',\n },\n {\n name: 'country',\n code: 'REQUIRED_COUNTRY',\n },\n {\n name: 'firstname',\n code: 'REQUIRED_FIRST_NAME',\n },\n {\n name: 'lastname',\n code: 'REQUIRED_LAST_NAME',\n },\n {\n name: 'phonenumber',\n code: 'REQUIRED_PHONE_NUMBER',\n },\n {\n name: 'email',\n code: 'MISSING_EMAIL_ID',\n },\n {\n name: 'cardnumber',\n code: 'REQUIRED_CARD_NUMBER',\n },\n {\n name: 'csc',\n code: 'REQUIRED_SECURITY_CODE',\n },\n {\n name: 'expiration',\n code: 'REQUIRED_EXPIRY',\n },\n {\n name: 'billingAddress',\n code: 'REQUIRED_BILLING_ADDRESS',\n embend: [\n {\n name: 'streetaddress1',\n code: 'REQUIRED_ADDRESS_LINE1',\n },\n {\n name: 'city',\n code: 'REQUIRED_BILLING_ADDRESS_CITY',\n },\n {\n name: 'state',\n code: 'REQUIRED_BILLING_ADDRESS_STATE',\n },\n {\n name: 'zipcode',\n code: 'REQUIRED_BILLING_ADDRESS_ZIP',\n },\n {\n name: 'country',\n code: 'REQUIRED_BILLING_ADDRESS_COUNTRY',\n },\n ],\n },\n {\n name: 'createaccount',\n code: '',\n },\n {\n name: 'password',\n code: 'PASSWORD_REQUIRED',\n },\n ],\n\n // UL page tag line content key enum\n UL_TAG_LINE_CONTENT_KEY_ENUM: {\n DONATE_WITH_PAYPAL: 'donateWithPayPal',\n },\n\n // Sign Up Button key in UL\n SIGNUP_BUTTON_CONTENT_KEY_ENUM: {\n CREATE_ACCOUNT: 'createAccount',\n DONATE_WITH_CARD: 'donateWithCard',\n },\n\n // Login with credentials\n LOGIN_OPTIONS_ENUM: {\n FORCED: 1, // Login is forced each time\n NOT_FORCED: 2, // Login is not forced each time\n },\n\n // Contextual Login\n ONE_TOUCH_OPTIN_ENUM: {\n ENABLED: 1, // OneTouch optin is shown\n DISABLED: 2, // OneTouch optin is not shown\n },\n CONFIRM_EMAIL_TOPIC: 'activation-confirmation-email-251',\n // Button factory\n BUTTON_FACTORY_CONSTANTS: {\n BUTTON_FACTORY_INTERNAL_SERVER_ERROR:\n 'BUTTON_FACTORY_INTERNAL_SERVER_ERROR',\n BFS_RESPONSE: 'BFS_RESPONSE',\n BFS_RESPONSE_ALT_TEXT: 'BFS_RESPONSE_ALT_TEXT',\n HANDCRAFT_SECURITY_CONTEXT: 'HANDCRAFT_SECURITY_CONTEXT',\n ERROR_SET_BUSINESS_INFO: 'ERROR_SET_BUSINESS_INFO',\n ERROR_SET_MERCHANT_SETTINGS: 'ERROR_SET_MERCHANT_SETTINGS',\n ERROR_SET_GLOBALNAV_HEADER_FOOTER: 'ERROR_SET_GLOBALNAV_HEADER_FOOTER',\n },\n FRS_CONSTANTS: {\n BADGE_INFO: 'FIRST,TOP,SELF',\n },\n PPCC_ELIGIBILITY_CODE_CONSTANTS: [\n 'PPCC_NOT_CONFIRMED',\n 'PPCC_NOT_APPLICABLE',\n ],\n CIP_ELIGIBILITY_CODE_CONSTANT: 'RECEIVER_CIP_FAILED',\n PPCC_ELIGIBILITY_PERIOD_CONSTANTS: ['WARNING', 'ACTIVE'],\n PPCC_ELIGIBILITY_ACTION_CONSTANTS: {\n WARNING: 'PPCC_WARN',\n ACTIVE: 'PPCC_ACTIVE',\n },\n CIP_STATUS_ACTION_CONSTANTS: {\n NOT_VERIFIED: 'NOT_VERIFIED',\n PENDING: 'PENDING',\n FIRST_TIME_VERIFIED: 'FIRST_TIME_VERIFIED',\n },\n CIP_PROCESS_STATUS_CONSTANTS: {\n FAILED: ['FAILED', 'DENY', 'NEED_MORE_DATA', 'EXPIRED'],\n PENDING: ['MANUAL_REVIEW', 'PENDING_SYSTEM_PROCESSING'],\n SUCCESS: ['COMPLETED', 'ALLOW', 'NOT_APPLICABLE', 'EXEMPTED'],\n },\n CIP_BUSINESS_CATEGORIES: [\n 'PROPRIETORSHIP',\n 'INDIVIDUAL',\n 'PROPRIETORSHIP_CRAFTSMAN',\n 'PROPRIETORY_COMPANY',\n 'LIMITED_LIABILITY_PROPRIETORS',\n 'ONLY_BUY_OR_SEND_MONEY',\n ],\n};\n","// See WR documentation: https://github.paypal.com/pages/Globalization-R/worldready-js/docs/about.html\n\nimport {\n WorldReady,\n NumberFormat,\n CurrencyFormat,\n PhoneNumberFormat,\n DateInputMaskFormat,\n RelativeTimeFormat,\n DateTimeFormat,\n} from '@paypalcorp/worldready';\n\nlet worldReady;\nconst getLocale = () => {\n const { country = 'US', language = 'en' } =\n JSON.parse(document.getElementById('templateData').innerHTML) || {};\n return `${language}-${country}`;\n};\n\nexport const initializeWorldReady = () => {\n if (!worldReady) {\n const worldReadyData = JSON.parse(\n document.getElementById('worldReady').textContent\n );\n WorldReady.load(worldReadyData);\n // WorldReady has loaded!\n\n const locale = getLocale();\n worldReady = new WorldReady(locale);\n }\n};\n\n/**\n * It returns a WorldReady instance\n * @returns a WorldReady instance.\n */\nexport const getWorldReady = () => {\n return worldReady;\n};\n\n/**\n * It takes a number and returns a localized number string\n * @param value - The number to format.\n * @param [options] - An object with the following properties: { maximumFractionDigits }\n * Example input: 1000\n * Example output: '1,000.00'\n */\nexport const formatNumber = (value, options = {}) =>\n new NumberFormat(worldReady, options).format(value);\n\n/**\n * It takes a string, and returns a number\n * @param value - The value to be formatted.\n * @param [options] - An object with the following properties:\n * Example input: '1,000.00'\n * Example output: 1000\n */\nexport const wrNormalizeNumber = (value, options = {}) =>\n new NumberFormat(worldReady, options).parse(value);\n\n/**\n * It takes a value and an options object, and returns a formatted currency string\n * @param value - The value to format.\n * @param options - An object containing the following properties: { currency, maximumFractionDigits, style }\n * Example input: 1000, currency: 'USD'\n * Example output: '$1,000.00'\n */\nexport const formatCurrency = (value, options) =>\n options && new CurrencyFormat(worldReady, options).format(value);\n\n/**\n * It takes a number and an options object, and returns an array of objects\n * @param value - The value to be formatted.\n * @param options - An object with the following properties: { style }\n * Input: 1234.5\n * Output: [\n * { type: \"currencySymbol\", value: \"$\" },\n * { type: \"integer\", value: \"1\" },\n * { type: \"group\", value: \",\" },\n * { type: \"integer\", value: \"234\" },\n * { type: \"decimal\", value: \".\" },\n * { type: \"fraction\", value: \"50\" },\n * { type: \"literal\", value: \" \" },\n * { type: \"currencyCode\", value: \"USD\" }\n * ] (considering locale is en-US)\n */\nexport const formatCurrencyToParts = (value, options) =>\n options && new CurrencyFormat(worldReady, options).formatToParts(value);\n\n/**\n * \"If the options object has a phoneRegion property, and the phoneObject is truthy, then format the\n * phoneObject using the PhoneNumberFormat class.\"\n *\n * The PhoneNumberFormat class is a class that I wrote to format phone numbers. It's not part of the\n * Google libphonenumber library\n * @param [options] - An object with the following properties:\n * @param phoneObject - The phone number object returned by the parsePhoneNumberFromString function.\n * Input: { countryCode: \"1\", nationalNumber: \"4088430088\" }\n * Output: \"+1 408-843-0088\" (considering phoneRegion is US)\n */\nexport const formatPhoneNumber = (options = {}, phoneObject) =>\n options.phoneRegion &&\n phoneObject &&\n new PhoneNumberFormat(options).format(phoneObject);\n\n/**\n * It takes a phone number and a phone region and returns a parsed phone number\n * @param options - The options object that you pass to the PhoneNumberFormat constructor.\n * @param phoneNumber - The phone number to parse.\n * Input: \"+1 408-843-0088\" (considering phoneRegion is US)\n * Output: { countryCode: \"1\", nationalNumber: \"4088430088\" }\n */\nexport const parsePhoneNumber = (options, phoneNumber) =>\n options.phoneRegion &&\n phoneNumber &&\n new PhoneNumberFormat(options).parse(phoneNumber);\n\n/**\n * It returns a new instance of the DateInputMaskFormat class, which is a class that extends the\n * InputMaskFormat class\n * @param options - An object with the following properties:\n * Input: { style: 'date-short' }\n * Output: \"mm/dd/yy\" (considering locale is en-US)\n */\nexport const getDateMaskFormat = (options) =>\n new DateInputMaskFormat(worldReady, options).format();\n\n/**\n * It returns a string that represents the relative time between the given date and the current time\n * @param date - The date to format.\n * @param options - An object with the following properties:\n */\nexport const getRelativeTime = (date, options) =>\n new RelativeTimeFormat(worldReady, options).format(date);\n\n/**\n * It takes a date and an optional options object, and returns a string\n * @param date - The date to format.\n * @param [options] - An object with the following properties:\n */\nexport const formatDate = (date, options = {}) =>\n new DateTimeFormat(worldReady, options).format(date);\n\ninitializeWorldReady();\n","import AppStore from '../../stores/AppStore';\nimport * as AppActions from '../../actions/AppActions';\nimport { formatAmount, normalizeNumber } from '../../utility/formator';\nimport TemplateData from '../../utility/getTemplateData';\nimport { getParameterByName } from '../../utility/queryStringHelper';\nimport templateData from '../../utility/getTemplateData';\n\nexport const isOptInCoverFee = () => {\n return AppStore.getCoverFeeOptInStatus() === 'checked';\n};\n\nexport const isAtLandingPage = () => {\n const isGuestReviewPage =\n window.location.pathname.includes('guest') ||\n ![undefined, null].includes(getParameterByName('signup')) ||\n getParameterByName('countryChange');\n return !isGuestReviewPage;\n};\n\nexport const computeFeeAmount = () => {\n const donationAmount = parseFloat(AppStore.getDonationAmount()),\n flatFee = parseFloat(TemplateData.flatFee),\n feeRate = parseFloat(TemplateData.feeRate) * 0.01;\n\n if (donationAmount > 0) {\n // X is the full amount the donor needs to pay for the charity to receive $100\n // X - .03X - $0.30 = $100\n // If X is the full amount the donor needs to pay for the charity to receive Y\n // X - feeRate*X - flatFee = Y\n // X = (Y + flatFee) / (1 - feeRate)\n const totalAmountAfterFee = (donationAmount + flatFee) / (1 - feeRate),\n feeAmount = totalAmountAfterFee - donationAmount;\n return feeAmount;\n }\n\n return 0;\n};\n\nexport const computeAmountAfterFee = (donationAmount, feeAmount) => {\n const totalAmount = parseFloat(donationAmount) + normalizeNumber(feeAmount);\n\n return totalAmount.toString();\n};\n\nexport const setFeeAmountInStore = () => {\n const feeAmount = computeFeeAmount(),\n currencyCode = AppStore.getDonationCode(),\n formatedFeeAmount = formatAmount({\n currency: currencyCode,\n value: feeAmount,\n style: 'international',\n }),\n formatedFeeAmountValue = feeAmount;\n\n AppActions.changeFeeAmount({ feeAmount: formatedFeeAmountValue });\n AppActions.changeFormatedFeeAmount({\n formatedFeeAmount,\n });\n};\n\nexport const updateDonationAmount = (amount) => {\n const currencyCode = AppStore.getDonationCode(),\n formatedAmount = formatAmount({\n currency: currencyCode,\n value: amount,\n });\n AppActions.changeAmount({ amount });\n AppActions.changeFormatedAmount({ formatedAmount });\n};\n\nexport const restoreDonationAmount = () => {\n const rawAmount = AppStore.getAmountBeforeFee() || TemplateData.rawAmount;\n updateDonationAmount(rawAmount.toString());\n};\n\nexport const optOutCoverFee = () => {\n AppActions.changeCoverFee({ coverFee: 'unchecked' });\n AppActions.changeFeeAmount({ feeAmount: 0 });\n AppActions.changeFormatedAmount({ formatedFeeAmount: '' });\n};\n\nexport const shouldSelectPresetAmount = (amount) => {\n if (!amount) {\n return false;\n }\n if (templateData.presetAmounts?.length === 3) {\n const presetAmounts = TemplateData.presetAmounts;\n return presetAmounts.map(Number).includes(Number(amount));\n }\n};\n","import React, { useContext, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { HeadingText } from '@paypalcorp/pp-react';\nimport ReturnToMerchantLink from '../../components/returnToMerchant';\nimport { isExternalFlow } from '../../utility/productIntegrationUtils';\nimport CloseButton from '../../components/CloseButton';\nimport {\n Message,\n Context as WorldReadyContext,\n} from '@paypalcorp/worldready-react';\nimport { MessageFormat } from '@paypalcorp/worldready';\nimport templateData from '../../utility/getTemplateData';\nimport {\n PPCC_ELIGIBILITY_CODE_CONSTANTS,\n CIP_ELIGIBILITY_CODE_CONSTANT,\n} from '../../../../constants/constants';\nimport { PAGE_SPEC } from '../../fpti/fptiConstants';\nimport { trackErrorPageIM } from '../../fpti/fpti';\n\nconst ReceiverEligibilityErrorTile = ({ organizationName, returnUrl }) => {\n const worldReady = useContext(WorldReadyContext);\n const messageKey =\n PPCC_ELIGIBILITY_CODE_CONSTANTS.includes(\n templateData.receiverEligibilityCode\n ) || CIP_ELIGIBILITY_CODE_CONSTANT === templateData.receiverEligibilityCode\n ? 'errors.paymentError.ppccNotConfirmed.title'\n : 'errors.landingerror.error.receiveDonationNotAllowed';\n\n useEffect(() => {\n if (\n CIP_ELIGIBILITY_CODE_CONSTANT === templateData.receiverEligibilityCode\n ) {\n trackErrorPageIM({\n errorCode: 'RECEIVER CIP FAILURE',\n });\n }\n }, []);\n return (\n <>\n {isExternalFlow() && }\n \n \n \n \n {returnUrl && (\n \n )}\n \n \n );\n};\n\nReceiverEligibilityErrorTile.propTypes = {\n organizationName: PropTypes.string,\n returnUrl: PropTypes.string,\n};\n\nexport default ReceiverEligibilityErrorTile;\n","import { EVENT_NAME, PRODUCT } from './constants';\nimport TemplateData from './getTemplateData';\nimport AppStore from '../stores/AppStore';\nimport { formatCurrencyWithSymbol } from './formator';\nimport { getPersonalizedMessages } from './personalizedMessages';\nimport { GN_CONTENT_TOUCHPOINT } from './constants';\nimport { isInContext } from './inContextDonation';\nimport { MessageFormat } from '@paypalcorp/worldready';\nimport { getWorldReady } from './worldReadyUtils';\nimport { getParameterByName } from './queryStringHelper';\n\nexport const isGNC = () =>\n TemplateData.product === PRODUCT.GENEROSITY_NETWORK_CHARITIES;\nexport const isGN = () => TemplateData.product === PRODUCT.GENEROSITY_NETWORK;\nexport const isBrandedCampaign = () =>\n TemplateData.product === PRODUCT.BRANDED_CAMPAIGN;\nexport const isPPFundraising = () =>\n TemplateData.product === PRODUCT.PP_FUNDRAISING;\nexport const isCampaigns = () =>\n TemplateData.product === PRODUCT.DONATE_BUTTON_CAMPAIGN;\nexport const isPPListedCampaign = () =>\n TemplateData.product === PRODUCT.PAYPAL_FUNDRAISER_LISTED_CAMPAIGN;\nexport const isPPUnlistedCampaign = () =>\n TemplateData.product === PRODUCT.PAYPAL_FUNDRAISER_UNLISTED_CAMPAIGN;\n\n// TODO: isGN is considered as isPPCampaign. Later we need to remove isGN completely.\nexport const isPPCampaign = () =>\n isPPListedCampaign() || isPPUnlistedCampaign() || isGN();\n\nexport const isCheckoutRail = () => isGNC() || isPPFundraising();\nexport const isSendMoneyRail = () => isPPCampaign() || isBrandedCampaign();\n\nexport const isExternalFlow = () =>\n isGNC() || isPPCampaign() || isBrandedCampaign() || isPPFundraising();\n\nexport const prepareOrderParams = () => {\n const worldReady = getWorldReady();\n\n return {\n amount: AppStore.getDonationAmount(),\n addressSharingConsent: false,\n currencyCode: AppStore.getDonationCode(),\n currencySymbol: AppStore.getDonationSymbol(),\n donationAmountType:\n AppStore.getDonationAmountType() === 'preset' ? 'preset' : 'userinput',\n donationNote: AppStore.getDonationNote() || '',\n recurring: AppStore.getDonationRecurring(),\n selectedProgram: AppStore.getSelectedProgram(),\n selectedPresetButtonId: AppStore.getSelectedPresetButtonId(),\n token: TemplateData.token,\n anonymousStatus: AppStore.getAnonymousStatus(),\n ppgfMessage: new MessageFormat(worldReady, {\n id: 'clients.generosityNetworkCharities.ppgfMessage',\n }).format(),\n directMessage: new MessageFormat(worldReady, {\n id: 'clients.generosityNetworkCharities.directMessage',\n }).format(),\n isInContext: isInContext(),\n };\n};\n\nexport const getMaximumDonationAlertMessage = (limitReason) => {\n const formatedMaximumAmount = formatCurrencyWithSymbol({\n value: Number(TemplateData.maximumDonationAmount),\n currency: TemplateData.maximumDonationCurrency,\n });\n\n const worldReady = getWorldReady();\n return new MessageFormat(worldReady, {\n id:\n limitReason === 'cip'\n ? 'landing.cip.amountError'\n : 'clients.generosityNetworkCharities.maximumAmountAlert',\n }).format({ amount: formatedMaximumAmount });\n};\n\nexport const getPersonalizedNoteToPayeeLabel = () => {\n const psMessages = getPersonalizedMessages(GN_CONTENT_TOUCHPOINT, {\n isHtml: false,\n });\n return psMessages?.noteToPayeeLabel;\n};\n\nexport const getPersonalizedNoteToPayeeTextboxCommentLabel = () => {\n const psMessages = getPersonalizedMessages(GN_CONTENT_TOUCHPOINT, {\n isHtml: false,\n });\n return psMessages?.noteToPayeeTextboxCommentLabel;\n};\n\nexport const getPersonalizedAnonymousContent = () => {\n const psMessages = getPersonalizedMessages(GN_CONTENT_TOUCHPOINT, {\n isHtml: false,\n });\n if (isCampaigns()) {\n psMessages.anonymousLabel = 'Donate anonymously';\n psMessages.anonymousTooltip =\n 'Your name won’t appear on the fundraiser page and your name and email won’t be shared with the charity. Only the organizer will see your name.';\n }\n return {\n label: psMessages?.anonymousLabel,\n tooltip: psMessages?.anonymousTooltip,\n };\n};\n\nexport const getDismissEventName = () => {\n const url = window.location.href;\n\n if (url.includes('confirmation') || url.includes('pending')) {\n return EVENT_NAME.DW_GIVING_PAYMENT_SUCCESS_DISMISS_PRESSED;\n } else if (url.includes('guest')) {\n return EVENT_NAME.DW_GIVING_GUEST_FORM_DISMISS_PRESSED;\n } else if (url.includes('member')) {\n return EVENT_NAME.DW_GIVING_MEMBER_REVIEW_DISMISS_PRESSED;\n }\n return EVENT_NAME.DW_GIVING_DONATE_SETUP_DISMISS_PRESSED;\n};\n\nexport const isAndroidWebView = () => {\n return getParameterByName('_fpti.platform') === 'android';\n};\n","import React, { useContext } from 'react';\nimport { IconButton, ArrowLeftIcon } from '@paypalcorp/pp-react';\nimport templateData from '../utility/getTemplateData';\nimport { useHistory } from 'react-router-dom';\nimport { fetcher } from '../utility/domUtils';\nimport {\n getInitialDataInDom,\n hideSpinnerOverlay,\n showSpinnerOverlay,\n} from '../utility/helper';\nimport { getDismissEventName } from '../utility/productIntegrationUtils';\nimport { trackLinkClick } from '../fpti/fpti';\nimport { LINK_NAME } from '../fpti/fptiConstants';\nimport { Context as WorldReadyContext } from '@paypalcorp/worldready-react';\nimport { MessageFormat } from '@paypalcorp/worldready';\n\nexport default function BackButton(props) {\n const worldReady = useContext(WorldReadyContext);\n const history = useHistory();\n const initialData = getInitialDataInDom();\n const isProgressive =\n (templateData.onboardingEnabled && initialData.selectedCountry !== 'RU') ||\n false;\n const buttonBack = new MessageFormat(worldReady, {\n id: 'common.header.button.back',\n }).format();\n\n const clearGuestSession = () => {\n showSpinnerOverlay();\n fetcher('/donate/guest/sessionLogout', {\n method: 'POST',\n }).finally(() => {\n hideSpinnerOverlay();\n history.push('/donate?token=' + templateData.token);\n });\n };\n\n const navigateBack = () => {\n trackLinkClick(LINK_NAME.BACK, {\n eventName: getDismissEventName(),\n });\n\n if (templateData.hideLandingPage) {\n window.location.href = templateData.charityCancelUrl;\n } else if (templateData.viewName === 'member') {\n window.location.href = '/donate?token=' + templateData.token;\n } else {\n // currentState is populated with the guest url on country change, which hides the landing page.\n // Therefore removing guest url from currentState on back button click, to enable displayLanding\n templateData.currentState = '';\n\n if (isProgressive) {\n // In tesla form if user ends up on the guest page again due to any on-boarding error, the user auth_state is IDENTIFIED,\n // so on back button click we need to logout the user, before user starts a new guest session\n clearGuestSession();\n } else {\n history.push('/donate?token=' + templateData.token);\n }\n }\n };\n\n return (\n \n {buttonBack}\n \n );\n}\n","import _fromPairs from 'lodash/fromPairs';\nimport _compact from 'lodash/compact';\nimport _map from 'lodash/map';\nimport { location } from '../routes/configureHistory';\n\nexport function parseUrlQuery(search = location.search) {\n const queryParams = _fromPairs(\n _compact(\n _map(\n search.slice(1).split('&'),\n (item) => item && item.split('=').map(decodeURIComponent)\n )\n )\n );\n\n return queryParams || {};\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { CausesIcon } from '@paypalcorp/pp-react-icons';\nimport { isPPCampaign } from '../../utility/productIntegrationUtils';\n\nconst bannerType = {\n logoBanner: 'logo-banner', // Styles for banner with logo or Avatar\n banner: 'banner', // Styles for banner without logo or avatar\n backgroundBanner: 'bg-banner', // Styles for banner without logo or avatar\n bannerv2: 'banner-v2', // Styles for banner without logo or avatar after repaint for PPUI 2.0.\n mobileBanner: 'mobile-banner',\n};\n\nconst BannerHeader = ({ type, children }) => {\n return
{children}
;\n};\n\nexport const BackgroundBanner = ({ bannerURL }) => {\n return ;\n};\n\nexport const Banner = ({ bannerURL }) => {\n return (\n \n );\n};\n\nexport const Avatar = ({ logoURL, initialLogo, initialColor }) => {\n if (logoURL !== '') {\n return ;\n }\n if (isPPCampaign()) {\n return (\n \n );\n }\n return ;\n};\n\nconst ImgLogo = ({ logoURL }) => {\n return (\n
\n \n
\n );\n};\n\nconst InititalsLogo = ({ initialLogo, initialColor }) => {\n return (\n \n {initialLogo}\n \n );\n};\n\nconst IconLogo = () => {\n return (\n \n \n \n );\n};\n\nBannerHeader.propTypes = {\n type: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]).isRequired,\n};\n\nAvatar.propTypes = {\n logoURL: PropTypes.string,\n initialLogo: PropTypes.string,\n initialColor: PropTypes.string,\n};\n\nBackgroundBanner.propTypes = {\n bannerURL: PropTypes.string,\n};\n\nBanner.propTypes = {\n bannerURL: PropTypes.string,\n};\n\nImgLogo.propTypes = {\n logoURL: PropTypes.string,\n};\n\nInititalsLogo.propTypes = {\n initialLogo: PropTypes.string,\n initialColor: PropTypes.string,\n};\n\nexport default BannerHeader;\n","import {\n isSdkMode,\n isPopupMode,\n isFullPageRedirectionMode,\n} from '../utility/inContextDonation';\nimport { FPTI_TAGS, PAGE_SPEC } from './fptiConstants';\nimport templateData from '../utility/getTemplateData';\nimport {\n isAtLandingPage,\n isOptInCoverFee,\n} from '../components/coverFee/feeUtils';\nimport AppStore from '../stores/AppStore';\nimport _isEmpty from 'lodash/isEmpty';\nimport _get from 'lodash/get';\nimport _find from 'lodash/find';\nimport {\n isExternalFlow,\n isGNC,\n isPPFundraising,\n} from '../utility/productIntegrationUtils';\nimport {\n EVENT_NAME,\n FPTI_PRODUCT,\n INTERNAL_ERROR,\n DNW_UNHANDLED_ERROR,\n} from '../utility/constants';\nimport { isLoggedInUser } from '../utility/authUtils';\n\nconst {\n anonymousEnabled,\n coverFeeEnabled,\n donationAmount,\n donationCode,\n donationName,\n donorIpCountry,\n feeAmount,\n feeCurr,\n feePayer,\n fptPageName,\n npid,\n onboardingEnabled,\n product,\n productId,\n token,\n integrationIdentifier,\n recurringEnabled,\n supportedRecurringFrequencies,\n} = templateData;\n\nexport const getUiType = () => {\n if (!isSdkMode()) {\n return 'full_page';\n }\n\n if (isPopupMode()) {\n return 'popup';\n }\n\n if (isFullPageRedirectionMode()) {\n return 'popup_blocked';\n }\n};\n\nexport const getDonationAmount = () => {\n const amount = AppStore.getDonationAmount() || donationAmount;\n return {\n [FPTI_TAGS.AMOUNT]: amount,\n };\n};\n\nexport const getFeeDataFromTemplateData = () => {\n return {\n ...(feePayer\n ? {\n [FPTI_TAGS.FEE_PAYER]: feePayer,\n [FPTI_TAGS.FEE_AMOUNT]: feeAmount,\n [FPTI_TAGS.FEE_CURRENCY]: feeCurr,\n }\n : {}),\n };\n};\n\nexport const getFeeData = () => {\n return {\n ...(coverFeeEnabled\n ? {\n [FPTI_TAGS.FEE_PAYER]: isOptInCoverFee() ? 'consumer' : 'merchant',\n [FPTI_TAGS.FEE_AMOUNT]: AppStore.getFeeAmount(),\n [FPTI_TAGS.FEE_CURRENCY]: AppStore.getDonationCode(),\n }\n : {}),\n };\n};\n\nexport const getAnonymousStatus = () => {\n return {\n ...(anonymousEnabled\n ? {\n [FPTI_TAGS.NONANONYMOUS]:\n AppStore.getAnonymousStatus() === 'unchecked',\n }\n : {}),\n };\n};\n\nexport const getNoteData = (data) => {\n return {\n ...(isExternalFlow()\n ? {\n [FPTI_TAGS.NOTE_ALLOWED]: data?.noteFieldDisplayed || false,\n [FPTI_TAGS.NOTE_ADDED]: !_isEmpty(AppStore.getDonationNote()),\n }\n : {}),\n };\n};\n\nexport const getRecurringStatus = () => {\n return {\n ...(recurringEnabled\n ? {\n [FPTI_TAGS.IS_RECURRING]:\n AppStore.getDonationRecurring() === 'checked',\n }\n : {}),\n };\n};\n\nexport const setEnabledRecurringFrequency = () => {\n if (recurringEnabled) {\n window.fpti[FPTI_TAGS.ENABLED_FREQUENCY] =\n supportedRecurringFrequencies?.length > 0\n ? supportedRecurringFrequencies.join(',').toUpperCase()\n : 'MONTH';\n }\n};\n\nexport const getSelectedRecurringFrequency = () => {\n if (supportedRecurringFrequencies?.length > 0) {\n return {\n [FPTI_TAGS.SELECTED_FREQUENCY]:\n AppStore.getSelectedRecurringFrequency()?.toUpperCase(),\n };\n }\n return {\n [FPTI_TAGS.SELECTED_FREQUENCY]:\n AppStore.getDonationRecurring() === 'checked' ? 'MONTH' : null,\n };\n};\n\nexport const getFeePayer = () =>\n coverFeeEnabled && {\n [FPTI_TAGS.FEE_PAYER]: isOptInCoverFee() ? 'consumer' : 'merchant',\n };\n\nexport const addFeature = (feature) => {\n if (window.fpti[FPTI_TAGS.FEATURE]) {\n const featuresArray = window.fpti[FPTI_TAGS.FEATURE].split(',');\n if (!featuresArray.includes(feature)) {\n window.fpti[FPTI_TAGS.FEATURE] += ',' + feature;\n }\n } else {\n window.fpti.feature = feature || '';\n }\n};\n\nexport const setAmountTypeFpti = (value) => {\n const amttyp = window.fpti[FPTI_TAGS.AMOUNT_TYPE];\n\n if (amttyp !== value) {\n window.fpti[FPTI_TAGS.AMOUNT_TYPE] = value;\n }\n};\n\nexport const trackSelectedPresetAmount = (value) => {\n const opsl = window.fpti[FPTI_TAGS.SELECTED_PRESET_BUTTON_ID];\n if (opsl !== value) {\n window.fpti[FPTI_TAGS.SELECTED_PRESET_BUTTON_ID] = value;\n }\n\n setAmountTypeFpti(value === 'other' ? 'any' : 'preset');\n};\n\nexport const getLandingPageData = ({ noteFieldDisplayed }) => {\n return {\n ...getFeeData(),\n ...getDonationAmount(),\n ...getAnonymousStatus(),\n ...getNoteData({ noteFieldDisplayed }),\n ...getRecurringStatus(),\n ...PAGE_SPEC.LANDING_PAGE,\n };\n};\n\nexport const getThreeDSData = () => {\n const fundingOpts = AppStore.getFundingOptions();\n const contingencies = _get(fundingOpts, 'contingencies') || [];\n const threeDSContingency =\n _find(contingencies, { action: '3D_SECURE_DATA_COLLECTION_REQUIRED' }) ||\n {};\n\n return {\n [FPTI_TAGS.FI_ID]: _get(fundingOpts, 'id'),\n [FPTI_TAGS.FI_TYPE]: _get(fundingOpts, 'sources[0].payment_card.type'),\n [FPTI_TAGS.FI_NETWORK]: _get(\n fundingOpts,\n 'sources[0].payment_card.network'\n ),\n [FPTI_TAGS.FI_OPERATION]: 'add_card',\n [FPTI_TAGS.IS_3DS_ELIGIBLE]: true,\n [FPTI_TAGS.THREE_DS_VERSION]: '3DS2.0',\n [FPTI_TAGS.THREE_DS_REF_ID]: _get(\n threeDSContingency,\n 'three_ds_reference_id'\n ),\n [FPTI_TAGS.URL]: _get(threeDSContingency, 'device_data_collection_url'),\n };\n};\n\nexport const getExternalFlowData = () => {\n return {\n ...(isExternalFlow()\n ? {\n [FPTI_TAGS.PRODUCT]: FPTI_PRODUCT,\n [FPTI_TAGS.FLOW]: product,\n [FPTI_TAGS.INTEGRATION_IDENTIFIER]: integrationIdentifier,\n [FPTI_TAGS.DONOR_IP_COUNTRY]: donorIpCountry,\n [FPTI_TAGS.ACCOUNT_TYPE]: isLoggedInUser() ? 'member' : 'guest',\n [FPTI_TAGS.CURRENCY]: donationCode,\n ...(!_isEmpty(productId)\n ? {\n [FPTI_TAGS.CAMPAIGN_ID]: productId,\n }\n : {}),\n ...(!_isEmpty(npid)\n ? {\n [FPTI_TAGS.NPID]: npid,\n }\n : {}),\n ...(isGNC() || isPPFundraising()\n ? {\n [FPTI_TAGS.CHARITY_NAME]: donationName,\n }\n : {}),\n }\n : {}),\n };\n};\n\nexport const getToken = () => {\n return {\n [FPTI_TAGS.TOKEN]: token,\n };\n};\n\nexport const updateGlobalRespDuration = (respDuration) => {\n const globalRespDuration = window.fpti.resp_duration || {};\n window.fpti.resp_duration = Object.assign(\n {},\n globalRespDuration,\n respDuration\n );\n};\n\nexport const updateGlobalFPTI = (data) => {\n window.fpti = {\n ...window.fpti,\n ...data,\n };\n};\n\nexport const getDefaultPageSpec = () => {\n const url = window.location.href;\n const isOnboardingFlow = fptPageName === 'guestULSignUp';\n\n const pageSpec = _find(PAGE_SPEC, (page) => {\n return page.url && url.indexOf(page.url) > -1;\n });\n if (pageSpec) {\n return pageSpec;\n }\n\n if (url.indexOf('/donate/guest/confirmation') > -1) {\n return isOnboardingFlow\n ? PAGE_SPEC.ONBOARDING_GUEST_SUCCESS_PAGE\n : PAGE_SPEC.GUEST_SUCCESS_PAGE;\n } else if (url.indexOf('/donate/guest/pending') > -1) {\n return isOnboardingFlow\n ? PAGE_SPEC.ONBOARDING_GUEST_PENDING_PAGE\n : PAGE_SPEC.GUEST_PENDING_PAGE;\n } else if (!isAtLandingPage()) {\n return onboardingEnabled\n ? PAGE_SPEC.ONBOARDING_GUEST_FORM\n : PAGE_SPEC.GUEST_FORM;\n } else if (url.indexOf('/donate') > -1) {\n return PAGE_SPEC.LANDING_PAGE;\n }\n};\n\nexport const getConfirmationData = (confirmationData) => {\n return {\n [FPTI_TAGS.AMOUNT]: confirmationData?.postBackData?.mc_gross,\n [FPTI_TAGS.CURRENCY]: confirmationData?.postBackData?.mc_currency,\n [FPTI_TAGS.TXN_ID]: confirmationData?.confirmationNumber || '',\n [FPTI_TAGS.SENDER_ID]: confirmationData?.postBackData?.payer_id,\n ...(confirmationData?.orderId\n ? {\n [FPTI_TAGS.ORDER_ID]: confirmationData.orderId,\n }\n : {}),\n ...(isExternalFlow()\n ? {\n [FPTI_TAGS.EVENT_NAME]: confirmationData?.isOfacPending\n ? EVENT_NAME.DW_GIVING_PAYMENT_PENDING_SCREEN_SHOWN\n : EVENT_NAME.DW_GIVING_PAYMENT_SUCCESS_SCREEN_SHOWN,\n }\n : {\n [FPTI_TAGS.EVENT_NAME]: EVENT_NAME.DONATION_CONFIRMATION_PAGE_IMP,\n }),\n ...getFeePayer(),\n };\n};\n\nexport const checkAndReplaceInternalErrWithDnwErr = (errorCode) => {\n return errorCode === INTERNAL_ERROR ? DNW_UNHANDLED_ERROR : errorCode;\n};\n","import React from 'react';\nimport { ContextProvider as WorldReadyContextProvider } from '@paypalcorp/worldready-react';\nimport { WorldReadyProvider } from '@paypalcorp/pp-react-worldready';\nimport templateData from './../utility/getTemplateData';\nimport { initializeWorldReady } from '../utility/worldReadyUtils';\n\ninitializeWorldReady();\n\nfunction withWorldReady(\n WrappedComponent,\n locale = `${templateData?.language || 'en'}-${templateData?.country || 'US'}`\n) {\n return (props) => {\n return (\n \n \n \n \n \n );\n };\n}\n\nexport default withWorldReady;\n","import templateData from '../utility/getTemplateData';\nimport { isExternalFlow } from '../utility/productIntegrationUtils';\nimport { EVENT_NAME, SCREEN_NAME } from '../utility/constants';\nimport {\n CLOSE_SHEET_REASONS,\n DISMISS_METHODS,\n FPTI_TAGS,\n LINK_NAME,\n LOADING_STATES,\n PAGE_SPEC,\n} from './fptiConstants';\nimport {\n getAnonymousStatus,\n getConfirmationData,\n getDefaultPageSpec,\n getDonationAmount,\n getExternalFlowData,\n getFeeData,\n getFeeDataFromTemplateData,\n getFeePayer,\n getLandingPageData,\n getNoteData,\n getRecurringStatus,\n getThreeDSData,\n getToken,\n getUiType,\n updateGlobalRespDuration,\n getSelectedRecurringFrequency,\n updateGlobalFPTI,\n checkAndReplaceInternalErrWithDnwErr,\n} from './helper';\nimport {\n trackPageLoad,\n trackClick,\n trackError,\n trackEventWithData,\n} from './analytics';\nimport isNna from '../utility/nna';\nimport { isAtLandingPage } from '../components/coverFee/feeUtils';\nimport { getParameterByName } from '../utility/queryStringHelper';\nconst {\n country,\n donationAmountEditable,\n onboardingEnabled,\n selectedPresetButtonId,\n sessionDeprecationEnabled,\n} = templateData;\n\nexport const trackLandingPageIM = (data) => {\n const shouldTrackExternalFlowData = isExternalFlow();\n const onceData = {\n ...getAnonymousStatus(),\n ...getNoteData(data),\n ...(shouldTrackExternalFlowData\n ? {\n [FPTI_TAGS.EVENT_NAME]:\n EVENT_NAME.DW_GIVING_DONATE_SETUP_SCREEN_SHOWN,\n }\n : { [FPTI_TAGS.EVENT_NAME]: EVENT_NAME.DONATE_LANDING_SCREEN_SHOWN }),\n ...(selectedPresetButtonId\n ? {\n [FPTI_TAGS.SELECTED_PRESET_BUTTON_ID]: selectedPresetButtonId,\n }\n : {}),\n ...getFeeDataFromTemplateData(),\n ...getDonationAmount(),\n };\n\n const globalData = {\n [FPTI_TAGS.UI_TYPE]: getUiType(),\n [FPTI_TAGS.AMOUNT_EDIT_ALLOWED]: donationAmountEditable,\n [FPTI_TAGS.VERSION]: sessionDeprecationEnabled ? 'V2' : 'V1',\n ...getExternalFlowData(),\n ...PAGE_SPEC.LANDING_PAGE,\n ...(getParameterByName('fromUOB') ? { [FPTI_TAGS.SOURCE]: 'uob' } : {}),\n };\n\n updateGlobalFPTI(globalData);\n trackPageLoad(globalData, onceData);\n};\n\nexport const trackRecurringFrequencySelectionClick = () => {\n const data = {\n [FPTI_TAGS.EVENT_NAME]:\n EVENT_NAME.DONATION_PAYMENT_VIEW_LANDING_FREQUENCY_PRESSED,\n };\n updateGlobalFPTI({\n ...getRecurringStatus(),\n ...getSelectedRecurringFrequency(),\n });\n trackClick(data);\n};\n\nexport const trackGuestFormIM = ({ isOnboarding = false } = {}) => {\n const onceData = {\n ...getDonationAmount(),\n ...getRecurringStatus(),\n ...(isExternalFlow()\n ? { [FPTI_TAGS.EVENT_NAME]: EVENT_NAME.DW_GIVING_GUEST_FORM_SCREEN_SHOWN }\n : { [FPTI_TAGS.EVENT_NAME]: EVENT_NAME.DONATE_GUEST_FORM_SCREEN_SHOWN }),\n ...(isNna(country) && !isOnboarding\n ? { [FPTI_TAGS.OFFER_TYPE]: 'nna' }\n : {}),\n };\n const globalData = {\n ...(isOnboarding\n ? { ...PAGE_SPEC.ONBOARDING_GUEST_FORM }\n : { ...PAGE_SPEC.GUEST_FORM }),\n ...getSelectedRecurringFrequency(),\n };\n\n trackPageLoad(globalData, onceData);\n};\n\nexport const trackMemberReviewPageIM = ({\n status,\n statusCode,\n processStatus,\n}) => {\n const fromUOB = getParameterByName('fromUOB');\n const onceData = {};\n const globalData = {\n [FPTI_TAGS.STATUS]: status,\n [FPTI_TAGS.STATUS_CODE]: statusCode,\n [FPTI_TAGS.EVENT_NAME]: EVENT_NAME.DONATE_REVIEW_SCREEN_SHOWN,\n ...(fromUOB ? { [FPTI_TAGS.SOURCE]: 'uob' } : {}),\n ...PAGE_SPEC.MEMBER_REVIEW_PAGE,\n ...getUiType(),\n ...getSelectedRecurringFrequency(),\n };\n\n if (processStatus) {\n globalData[FPTI_TAGS.STATUS] = 'success';\n globalData[FPTI_TAGS.PROCESS_STATUS] = processStatus;\n globalData[FPTI_TAGS.SOURCE] = 'adroit';\n }\n\n trackPageLoad(globalData, onceData);\n};\n\nexport const trackErrorIM = ({\n errorCode,\n errorMessage,\n fieldName,\n pageSpec = getDefaultPageSpec(),\n additionalData,\n}) => {\n const data = {\n ...(isExternalFlow()\n ? {\n eventName: EVENT_NAME.DW_GIVING_FAILED_CUSTOMER_INTERACTION_OCCURRED,\n screen: isAtLandingPage()\n ? SCREEN_NAME.DW_GIVING_DONATE_SETUP_SCREEN\n : SCREEN_NAME.DW_GIVING_DONATE_GUEST_FORM_SCREEN,\n }\n : {}),\n [FPTI_TAGS.ERR_FIELD]: fieldName,\n [FPTI_TAGS.ERR_CODE]: errorCode,\n [FPTI_TAGS.ECCD]: errorCode,\n [FPTI_TAGS.ERPG]: errorMessage,\n [FPTI_TAGS.ERR_DESC]: errorMessage,\n ...pageSpec,\n ...getDonationAmount(),\n ...additionalData,\n };\n trackError(data);\n};\n\nexport const trackThreeDSIframeIM = ({\n threeDSRespDuration,\n confirmationStatus,\n}) => {\n const globalRespDuration = window.fpti.resp_duration || {};\n const globalData = {\n ...getThreeDSData(),\n ...(onboardingEnabled\n ? { ...PAGE_SPEC.THREE_DS_IFRAME_ONBRD }\n : { ...PAGE_SPEC.THREE_DS_IFRAME }),\n [FPTI_TAGS.THREE_DS_RESP_DURATION]: Object.assign(\n {},\n globalRespDuration,\n threeDSRespDuration\n ),\n [FPTI_TAGS.CHALLENGE_STATUS]: confirmationStatus,\n };\n const onceData = {\n [FPTI_TAGS.EVENT_NAME]: EVENT_NAME.DONATE_THREE_DS_IFRAME_SHOWN,\n };\n\n trackPageLoad(globalData, onceData);\n};\n\nexport const trackConfirmationPageIM = ({\n isSignUp,\n pageSpec,\n flow,\n confirmationData,\n}) => {\n const globalData = {\n [FPTI_TAGS.IS_SIGNUP]: isSignUp,\n [FPTI_TAGS.ACCOUNT_TYPE]: flow,\n ...getExternalFlowData(),\n ...getConfirmationData(confirmationData),\n ...getToken(),\n ...pageSpec,\n };\n const onceData = {};\n\n trackPageLoad(globalData, onceData);\n};\n\nexport const trackSocialShareIM = ({ enableMatchSocialShare }) => {\n const globalData = {};\n const onceData = {\n [FPTI_TAGS.EVENT_NAME]: enableMatchSocialShare\n ? EVENT_NAME.DONATE_MATCH_SOCIAL_SHARE_SCREEN_SHOWN\n : EVENT_NAME.DONATE_GENERIC_SOCIAL_SHARE_SCREEN_SHOWN,\n };\n\n trackPageLoad(globalData, onceData);\n};\n\nexport const trackPSLContentShow = ({\n isSignUp,\n pageSpec,\n flow,\n confirmationData,\n status,\n}) => {\n const globalData = {\n [FPTI_TAGS.IS_SIGNUP]: isSignUp,\n [FPTI_TAGS.ACCOUNT_TYPE]: flow,\n ...getExternalFlowData(),\n ...getConfirmationData(confirmationData),\n ...getToken(),\n ...pageSpec,\n [FPTI_TAGS.EVENT_NAME]: `donate_donor_view_payment_${status}_psl_content_shown`,\n };\n const onceData = {};\n\n trackPageLoad(globalData, onceData);\n};\n\nexport const trackCaptureOrderPageIM = ({ flow, confirmationData }) => {\n const pgrp = PAGE_SPEC.CAPTURE_ORDER_PAGE.pgrp.replace('{flow}', flow);\n const onceData = {\n [FPTI_TAGS.PAGE_NAME]: `${pgrp}:web::`,\n [FPTI_TAGS.PAGE_GROUP]: pgrp,\n };\n const globalData = {\n [FPTI_TAGS.ACCOUNT_TYPE]: flow,\n ...getToken(),\n ...getExternalFlowData(),\n ...getConfirmationData(confirmationData),\n };\n\n trackPageLoad(globalData, onceData);\n};\n\nexport const trackErrorPageIM = ({ pageSpec, errorCode, additionalData }) => {\n const onceData = {\n [FPTI_TAGS.ERR_CODE]: checkAndReplaceInternalErrWithDnwErr(errorCode),\n };\n const globalData = {\n ...pageSpec,\n ...additionalData,\n };\n\n trackPageLoad(globalData, onceData);\n};\n\nexport const trackPageIM = ({ pageSpec, additionalData }) => {\n const onceData = {\n ...additionalData,\n };\n const globalData = {\n ...pageSpec,\n };\n\n trackPageLoad(globalData, onceData);\n};\n\nexport const trackAnonymousCheckboxClick = (status) => {\n const data = {\n [FPTI_TAGS.LINK]: LINK_NAME.ANONYMOUS_CHECKBOX,\n [FPTI_TAGS.CHECKBOX]: status,\n [FPTI_TAGS.NONANONYMOUS]: !status,\n ...(isExternalFlow()\n ? {\n [FPTI_TAGS.EVENT_NAME]: status\n ? EVENT_NAME.DW_GIVING_DONATE_SETUP_SHARE_CONTACT_CHECK_PRESSED\n : EVENT_NAME.DW_GIVING_DONATE_SETUP_SHARE_CONTACT_UNCHECK_PRESSED,\n }\n : {\n [FPTI_TAGS.EVENT_NAME]: status\n ? EVENT_NAME.DONATION_ANONYMOUS_CHECKBOX_CHECK_PRESSED\n : EVENT_NAME.DONATION_ANONYMOUS_CHECKBOX_UNCHECK_PRESSED,\n }),\n ...getDonationAmount(),\n ...PAGE_SPEC.LANDING_PAGE,\n };\n trackClick(data);\n};\n\nexport const trackCoverFeeCheckboxClick = (status) => {\n const data = {\n [FPTI_TAGS.LINK]: LINK_NAME.COVER_FEE_CHECKBOX,\n [FPTI_TAGS.CHECKBOX]: status,\n ...getFeeData(),\n ...getDonationAmount(),\n ...PAGE_SPEC.LANDING_PAGE,\n };\n trackClick(data);\n};\n\nexport const trackDonateWithCardClick = ({ noteFieldDisplayed, fptiData }) => {\n const data = {\n [FPTI_TAGS.LINK]: 'donateWithCard',\n ...getLandingPageData({ noteFieldDisplayed }),\n ...(isExternalFlow()\n ? {\n [FPTI_TAGS.EVENT_NAME]:\n EVENT_NAME.DW_GIVING_DONATE_SETUP_DONATE_WITH_CARD_PRESSED,\n }\n : {\n [FPTI_TAGS.EVENT_NAME]:\n EVENT_NAME.DONATION_PAYMENT_VIEW_LANDING_CARD_PRESSED,\n }),\n ...fptiData,\n ...getSelectedRecurringFrequency(),\n };\n trackClick(data);\n};\n\nexport const trackDonateWithPayPalClick = ({\n noteFieldDisplayed,\n fptiData,\n}) => {\n const data = {\n ...getLandingPageData({ noteFieldDisplayed }),\n ...(isExternalFlow()\n ? {\n [FPTI_TAGS.EVENT_NAME]:\n EVENT_NAME.DW_GIVING_DONATE_SETUP_NEXT_PRESSED,\n }\n : {\n [FPTI_TAGS.EVENT_NAME]:\n EVENT_NAME.DONATION_PAYMENT_VIEW_LANDING_PAYPAL_PRESSED,\n }),\n [FPTI_TAGS.LINK]: 'donateWithPayPal',\n ...fptiData,\n ...getFeePayer(),\n ...getSelectedRecurringFrequency(),\n };\n trackClick(data);\n};\n\nexport const trackNextClickForCheckout = ({ noteFieldDisplayed }) => {\n const data = {\n ...getLandingPageData({ noteFieldDisplayed }),\n [FPTI_TAGS.EVENT_NAME]: EVENT_NAME.DW_GIVING_DONATE_SETUP_NEXT_PRESSED,\n [FPTI_TAGS.LINK]: 'donateViaCheckout',\n };\n trackClick(data);\n};\n\nexport const trackSignupChekboxClick = (status, id) => {\n const data = {\n [FPTI_TAGS.LINK]: 'createAccount',\n [FPTI_TAGS.IS_SIGNUP]: status === 'checked',\n ...PAGE_SPEC.GUEST_FORM,\n };\n\n const target =\n id === 'createAccountSwitch' ? FPTI_TAGS.SWITCH : FPTI_TAGS.CHECKBOX;\n data[target] = status;\n trackClick(data);\n};\n\n// This submits the guest form\n// after passing all client side validations\nexport const trackPaymentSubmitClick = ({ isSignUp, isNNA, link }) => {\n const data = {\n ...getDonationAmount(),\n ...getRecurringStatus(),\n [FPTI_TAGS.LINK]: link,\n [FPTI_TAGS.IS_SIGNUP]: isSignUp,\n ...(isNNA\n ? { [FPTI_TAGS.OFFER_TYPE]: 'nna' }\n : { [FPTI_TAGS.OFFER_TYPE]: undefined }),\n ...(isExternalFlow()\n ? {\n [FPTI_TAGS.EVENT_NAME]:\n EVENT_NAME.DW_GIVING_GUEST_FORM_DONATE_PRESSED,\n }\n : {\n [FPTI_TAGS.EVENT_NAME]:\n EVENT_NAME.DONATION_PAYMENT_GUEST_FORM_DONATE_PRESSED,\n }),\n ...(link === LINK_NAME.GUEST_FORM_PAYMENT_SUBMIT_BUTTON\n ? { ...PAGE_SPEC.GUEST_FORM }\n : { ...PAGE_SPEC.ONBOARDING_GUEST_FORM }),\n ...getFeePayer(),\n ...getSelectedRecurringFrequency(),\n };\n trackClick(data);\n};\n\nconst addGlobalFptiData = (data) => {\n window.fpti = Object.assign({}, window.fpti, data);\n};\n\nexport const trackOnbrdPaymentSubmitClick = ({ isSignUp, isCvvSent }) => {\n addGlobalFptiData({\n ...getDonationAmount(),\n ...getRecurringStatus(),\n [FPTI_TAGS.IS_SIGNUP]: isSignUp,\n [FPTI_TAGS.ACTION]: '',\n [FPTI_TAGS.IS_CVV_SENT]: isCvvSent,\n ...getFeePayer(),\n ...getSelectedRecurringFrequency(),\n });\n};\n\nexport const trackLinkClick = (\n linkName,\n { eventName, pageSpec = getDefaultPageSpec(), additionalData } = {}\n) => {\n const data = {\n [FPTI_TAGS.LINK]: linkName,\n [FPTI_TAGS.EVENT_NAME]: eventName,\n [FPTI_TAGS.PAGE_LINK]: `${pageSpec?.page}|${linkName}`,\n [FPTI_TAGS.PAGE_GROUP_LINK]: `${pageSpec?.pgrp}|${linkName}`,\n ...pageSpec,\n ...additionalData,\n ...getDonationAmount(),\n };\n trackClick(data);\n};\n\nexport const trackThreeDsDdcStart = (data) => {\n updateGlobalRespDuration(data);\n trackEventWithData({\n event_name: EVENT_NAME.DONATE_THREE_DS_DDC_START,\n data: { ...getThreeDSData() },\n });\n};\n\nexport const trackThreeDsDdcComplete = (data) => {\n updateGlobalRespDuration(data);\n\n trackEventWithData({\n event_name: EVENT_NAME.DONATE_THREE_DS_DDC_COMPLETE,\n data: { ...getThreeDSData() },\n });\n};\n\nexport const trackThreeDsDdcFailure = (data) => {\n trackEventWithData({\n event_name: EVENT_NAME.DONATE_THREE_DS_DDC_FAILURE,\n data: {\n ...getThreeDSData(),\n ...data,\n },\n });\n};\n\nexport const trackThreeDsLookupStart = (data) => {\n updateGlobalRespDuration(data);\n trackEventWithData({\n event_name: EVENT_NAME.DONATE_THREE_DS_LOOKUP_START,\n data: { ...getThreeDSData() },\n });\n};\n\nexport const trackThreeDsLookupComplete = (data) => {\n updateGlobalRespDuration(data);\n if (data?.timestamp) {\n delete data.timestamp;\n }\n trackEventWithData({\n event_name: EVENT_NAME.DONATE_THREE_DS_LOOKUP_COMPLETE,\n data: { ...getThreeDSData(), ...data },\n });\n};\n\nexport const trackDonateLandingButtonClick = ({ noteFieldDisplayed }) => {\n const data = {\n [FPTI_TAGS.EVENT_NAME]:\n EVENT_NAME.DONATION_PAYMENT_VIEW_LANDING_DONATE_PRESSED,\n ...getLandingPageData({ noteFieldDisplayed }),\n ...getFeePayer(),\n };\n trackClick(data);\n};\n\nexport const trackGuestReviewPageDonateClick = ({ isCvvSend }) => {\n trackEventWithData({\n event_name: EVENT_NAME.DONATE_GUEST_REVIEW_PROCESS_DONATE_CLICK,\n data: { [FPTI_TAGS.IS_CVV_SENT]: isCvvSend },\n });\n};\n\nexport const track3DSProceedToPayment = ({ isCvvSend }) => {\n trackEventWithData({\n event_name: EVENT_NAME.DONATE_THREE_DS_PROOCEED_TO_PAYMENT,\n data: { [FPTI_TAGS.IS_CVV_SENT]: isCvvSend },\n });\n};\n\nexport const trackOrganizerUpdatesLoad = (isPopulated) => {\n const globalData = {};\n const onceData = {\n [FPTI_TAGS.EVENT_NAME]: EVENT_NAME.DONATE_LANDING_UPDATES_MODULE_SHOWN,\n [FPTI_TAGS.STATE]: isPopulated\n ? LOADING_STATES.POPULATED\n : LOADING_STATES.EMPTY,\n };\n\n trackPageLoad(globalData, onceData);\n};\n\nexport const trackUpdatesReadMorePressed = () => {\n trackClick({\n [FPTI_TAGS.EVENT_NAME]: EVENT_NAME.DONATE_LANDING_UPDATES_READ_MORE_PRESSED,\n });\n};\n\nexport const trackUpdatesShowMorePressed = () => {\n trackClick({\n [FPTI_TAGS.EVENT_NAME]: EVENT_NAME.DONATE_LANDING_UPDATES_SHOW_MORE_PRESSED,\n });\n};\n\nexport const trackUpdatesLikePressed = (\n updateId,\n positiveLike,\n status,\n likesCount = 0\n) => {\n trackClick({\n [FPTI_TAGS.EVENT_NAME]:\n status === 'REQUEST_SENT'\n ? EVENT_NAME.DONATE_LANDING_UPDATES_LIKE_PRESSED\n : EVENT_NAME.DONATE_LANDING_UPDATES_LIKE_PRESSED_COMPLETED,\n [FPTI_TAGS.UPDATE_ID]: updateId,\n [FPTI_TAGS.LINK_NAME]: positiveLike ? LINK_NAME.LIKE : LINK_NAME.UNLIKE,\n [FPTI_TAGS.STATUS]: status,\n [FPTI_TAGS.COUNT]: likesCount,\n });\n};\n\nexport const trackOrganizerUpdatesListIM = (count = 0) => {\n const globalData = {};\n const onceData = {\n [FPTI_TAGS.EVENT_NAME]: EVENT_NAME.DONATE_LANDING_UPDATES_LIST_SHOWN,\n [FPTI_TAGS.COUNT]: count,\n };\n\n trackPageLoad(globalData, onceData);\n};\n\nexport const trackUpdatesListSelectionPressed = (updateId) => {\n trackClick({\n [FPTI_TAGS.EVENT_NAME]:\n EVENT_NAME.DONATE_LANDING_UPDATES_LIST_SELECTION_PRESSED,\n [FPTI_TAGS.UPDATE_ID]: updateId,\n });\n};\n\nexport const trackUpdatesListLikePressed = (updateId, positiveLike) => {\n trackClick({\n [FPTI_TAGS.EVENT_NAME]: EVENT_NAME.DONATE_LANDING_UPDATES_LIST_LIKE_PRESSED,\n [FPTI_TAGS.UPDATE_ID]: updateId,\n [FPTI_TAGS.LINK_NAME]: positiveLike ? LINK_NAME.LIKE : LINK_NAME.UNLIKE,\n });\n};\n\nexport const trackUpdatesListDismissPressed = (reason) => {\n const dismissMethod =\n reason === CLOSE_SHEET_REASONS.BACKDROP_CLICK\n ? DISMISS_METHODS.BACKGROUND\n : DISMISS_METHODS.CLOSE;\n trackClick({\n [FPTI_TAGS.EVENT_NAME]:\n EVENT_NAME.DONATE_LANDING_UPDATES_LIST_DISMISS_PRESSED,\n [FPTI_TAGS.DISMISS_METHOD]: dismissMethod,\n });\n};\n\nexport const trackUpdatesDetailDismissPressed = (reason, updateId) => {\n const dismissMethod =\n reason === CLOSE_SHEET_REASONS.BACKDROP_CLICK\n ? DISMISS_METHODS.BACKGROUND\n : DISMISS_METHODS.CLOSE;\n trackClick({\n [FPTI_TAGS.EVENT_NAME]:\n EVENT_NAME.DONATE_LANDING_UPDATES_DETAIL_DISMISS_PRESSED,\n [FPTI_TAGS.DISMISS_METHOD]: dismissMethod,\n [FPTI_TAGS.UPDATE_ID]: updateId,\n });\n};\n\nexport const trackUpdatesLoginDismissPressed = (reason) => {\n const dismissMethod =\n reason === CLOSE_SHEET_REASONS.BACKDROP_CLICK\n ? DISMISS_METHODS.BACKGROUND\n : DISMISS_METHODS.CLOSE;\n trackClick({\n [FPTI_TAGS.EVENT_NAME]:\n EVENT_NAME.DONATE_LANDING_UPDATES_LOGIN_DISMISS_PRESSED,\n [FPTI_TAGS.DISMISS_METHOD]: dismissMethod,\n });\n};\n\nexport const trackUpdatesDetailIM = (updateId) => {\n const globalData = {};\n const onceData = {\n [FPTI_TAGS.EVENT_NAME]: EVENT_NAME.DONATE_LANDING_UPDATES_DETAIL_VIEW_SHOWN,\n [FPTI_TAGS.UPDATE_ID]: updateId,\n };\n\n trackPageLoad(globalData, onceData);\n};\n\nexport const trackUpdatesLoginIM = () => {\n const globalData = {};\n const onceData = {\n [FPTI_TAGS.EVENT_NAME]: EVENT_NAME.DONATE_LANDING_UPDATES_LOGIN_VIEW_SHOWN,\n };\n\n trackPageLoad(globalData, onceData);\n};\n\nexport const trackUpdatesLoginButtonPressed = () => {\n trackClick({\n [FPTI_TAGS.EVENT_NAME]:\n EVENT_NAME.DONATE_LANDING_UPDATES_LOGIN_BUTTON_PRESSED,\n });\n};\n\nexport const trackUpdatesLoginSignupPressed = () => {\n trackClick({\n [FPTI_TAGS.EVENT_NAME]:\n EVENT_NAME.DONATE_LANDING_UPDATES_LOGIN_SIGNUP_PRESSED,\n });\n};\n\nexport const trackUpdatesLoadingError = () => {\n const globalData = {};\n const onceData = {\n [FPTI_TAGS.EVENT_NAME]:\n EVENT_NAME.DONATE_LANDING_UPDATES_LOADING_ERROR_SHOWN,\n };\n\n trackPageLoad(globalData, onceData);\n};\n","import React from 'react';\nimport { PAYPAL_THEME, CaptionText, Link } from '@paypalcorp/pp-react';\nimport { StyleSheet, css } from 'aphrodite';\nimport { Message } from '@paypalcorp/worldready-react';\n\nconst { sysColorUnselectedContrast } = PAYPAL_THEME;\n\nconst styles = StyleSheet.create({\n disclaimerWrapper: {\n maxWidth: 415,\n margin: '24px auto 0',\n },\n disclaimer: {\n margin: 'auto',\n },\n});\n\nexport default function VoucherFlowDisclaimer() {\n return (\n
\n \n }\n link={(innerMessage) => (\n \n {innerMessage}\n \n )}\n />\n \n
\n );\n}\n","import React from 'react';\nimport { CaptionText, Col, Row } from '@paypalcorp/pp-react';\nimport PropTypes from 'prop-types';\n\nfunction ConfirmationTransactionId(props) {\n return (\n \n \n \n {props.transactionId}\n \n \n \n );\n}\n\nConfirmationTransactionId.propTypes = {\n transactionId: PropTypes.string,\n};\n\nexport default ConfirmationTransactionId;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Link, DownloadIcon } from '@paypalcorp/pp-react';\nimport TemplateData from '../utility/getTemplateData';\nimport { StyleSheet, css } from 'aphrodite';\nimport _get from 'lodash/get';\nimport { trackLinkClick } from '../fpti/fpti';\nimport { LINK_NAME } from '../fpti/fptiConstants';\nimport { Message } from '@paypalcorp/worldready-react';\n\nconst styles = StyleSheet.create({\n saveButton: {\n display: 'flex',\n justifyContent: 'flex-end',\n margin: 'auto',\n maxWidth: 415,\n '@media (max-width: 576px)': {\n justifyContent: 'center',\n },\n },\n});\n\nclass OfferSaveButton extends React.Component {\n printPage = () => {\n window.print();\n trackLinkClick(LINK_NAME.VOUCHER_PRINT);\n };\n\n sharePage = ({ title, text }) => {\n navigator.share({\n title,\n text,\n });\n trackLinkClick(LINK_NAME.VOUCHER_SHARE);\n };\n\n handleClick = (event) => {\n event.preventDefault();\n if (TemplateData.isdesktop || !navigator.share) {\n this.printPage();\n } else {\n const { offerProgram, txnStatement } = this.props;\n this.sharePage({\n title: _get(offerProgram, 'subTitle'),\n text: `${txnStatement} ${_get(offerProgram, 'description')}`,\n });\n }\n };\n\n render() {\n return (\n
\n
\n \n {' '}\n \n \n
\n
\n );\n }\n}\n\nOfferSaveButton.propTypes = {\n offerProgram: PropTypes.object.isRequired,\n txnStatement: PropTypes.string,\n};\n\nexport default OfferSaveButton;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { BodyText } from '@paypalcorp/pp-react-text';\nimport { Row, Col } from '@paypalcorp/pp-react';\nimport OfferDetail from './offerDetail';\nimport OfferSaveButton from './offerSaveButton';\nimport { Message } from '@paypalcorp/worldready-react';\n\nclass OfferConfirmation extends React.Component {\n render() {\n const { offerProgram } = this.props;\n return (\n
\n \n \n
\n \n \n \n
\n \n
\n \n \n
\n );\n }\n}\n\nOfferConfirmation.propTypes = {\n offerProgram: PropTypes.object.isRequired,\n txnId: PropTypes.string,\n};\n\nexport default OfferConfirmation;\n","import React, { useState, useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { Alert } from '@paypalcorp/pp-react';\nimport { MessageFormat } from '@paypalcorp/worldready';\nimport { Context as WorldReadyContext } from '@paypalcorp/worldready-react';\n\nconst className = 'sign_up_alert';\n\nconst SignUpAlert = (props) => {\n const worldReady = useContext(WorldReadyContext);\n const [hideAlert, setHideAlert] = useState(false);\n\n const buttonCloseMsgFmt = new MessageFormat(worldReady, {\n id: 'common.header.button.close',\n });\n\n const handleCloseButton = () => {\n setHideAlert(true);\n };\n if (props.signUpStatus && !hideAlert) {\n return (\n \n {props.successMessage}\n \n );\n }\n\n return (\n <>\n {!hideAlert && (\n \n {props.failMessage}\n \n )}\n \n );\n};\n\nSignUpAlert.propTypes = {\n signUpStatus: PropTypes.bool,\n successMessage: PropTypes.string,\n failMessage: PropTypes.string,\n};\n\nexport default SignUpAlert;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { BodyText } from '@paypalcorp/pp-react-text';\nimport { isExternalFlow } from '../utility/productIntegrationUtils';\nimport classNames from 'classnames';\nimport { isMobileOrTablet } from '../utility/inContextDonation';\n\nexport class ConfirmationReturnText extends Component {\n confirmationReceiptWrapper() {\n return classNames({\n confirmation_reciept_wrapper: true,\n is_mobile: isMobileOrTablet(),\n });\n }\n\n render() {\n if (isExternalFlow()) {\n return null;\n }\n\n return (\n
\n \n {this.props.returnText}\n \n
\n );\n }\n}\n\nexport default ConfirmationReturnText;\n\nConfirmationReturnText.propTypes = {\n returnText: PropTypes.string,\n};\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from '@paypalcorp/pp-react-links';\nimport { isExternalFlow } from '../utility/productIntegrationUtils';\nimport { trackLinkClick } from '../fpti/fpti';\nimport { EVENT_NAME } from '../utility/constants';\n\nexport class ConfirmationReturnTo extends Component {\n constructor(props) {\n super(props);\n }\n\n redirectUrl = () => {\n trackLinkClick('merchant_redirect', {\n eventName: EVENT_NAME.DONATE_SUCCESS_MERCHANT_SITE_PRESSED,\n });\n this.props.handleRedirect();\n };\n\n render() {\n if (isExternalFlow()) {\n return null;\n }\n\n return (\n
\n \n {this.props.returnto}\n \n
\n );\n }\n}\n\nexport default ConfirmationReturnTo;\n\nConfirmationReturnTo.propTypes = {\n returnto: PropTypes.string,\n handleRedirect: PropTypes.func,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport templateData from '../../utility/getTemplateData';\nimport { showSpinnerOverlay } from '../../utility/helper';\nimport { fetcher } from '../../utility/domUtils';\nimport _get from 'lodash/get';\nimport { isInContext } from '../../utility/inContextDonation';\nimport { isExternalFlow } from '../../utility/productIntegrationUtils';\nimport isEmpty from 'lodash/isEmpty';\nimport { KEY_DOWN } from '../../utility/constants';\nimport { MessageFormat } from '@paypalcorp/worldready';\nimport { Context as WorldReadyContext } from '@paypalcorp/worldready-react';\n\nclass PostTransaction extends React.Component {\n constructor(props) {\n super(props);\n const { postdata = {}, syncReturnUrl = '' } = this.props || {};\n\n let postBackArray = [];\n\n Object.keys(postdata).forEach(function (key) {\n postBackArray.push({\n name: key,\n value: postdata[key],\n });\n });\n\n this.state = {\n orgName: this.props.orgName,\n redirectMethod: this.props.method,\n redirectUrl: this.props.action,\n syncReturnUrl,\n postBackArray,\n isRedirecting: false,\n allowRedirect: true,\n };\n }\n\n componentDidMount() {\n const { hideSuccessPage } = templateData;\n const { syncReturnUrl, redirectUrl } = this.state;\n document.addEventListener('mousedown', this.stopRedirect, true);\n document.addEventListener('keydown', this.handleKeyDown, true);\n\n // Disable redirection to merchant when DNW is in popup mode\n if (!isInContext() && (!isEmpty(syncReturnUrl) || !isEmpty(redirectUrl))) {\n this.setState({\n isRedirecting: true,\n });\n\n setTimeout(\n () => {\n const { allowRedirect } = this.state;\n if (allowRedirect) {\n this.handleRedirect();\n }\n },\n hideSuccessPage ? 1000 : 30000\n );\n }\n\n // No need to handle refresh case\n // As user will be automatically redirected back\n // In case if some is required, listening to UPDATE_CONFIRMATION\n // AppDispatcher.register(function(payload) {\n //\t if (payload.action && (payload.action.actionType === 'UPDATE_CONFIRMATION')) {}\n // });\n }\n\n stopRedirect = () => {\n const { allowRedirect } = this.state;\n if (allowRedirect) {\n this.setState({\n allowRedirect: false,\n isRedirecting: false,\n });\n }\n document.removeEventListener('mousedown', this.stopRedirect, true);\n document.removeEventListener('keydown', this.handleKeyDown, true);\n };\n\n handleKeyDown = (event) => {\n const keyPressed = event.which;\n if (\n KEY_DOWN.TAB === keyPressed ||\n KEY_DOWN.UP_ARROW === keyPressed ||\n KEY_DOWN.LEFT_ARROW === keyPressed ||\n KEY_DOWN.DOWN_ARROW === keyPressed ||\n KEY_DOWN.RIGHT_ARROW === keyPressed\n ) {\n this.stopRedirect();\n }\n };\n\n /*\n * handleRedirect\n */\n handleRedirect = () => {\n const { hideSuccessPage } = templateData;\n\n if (hideSuccessPage) {\n this.redirect();\n return;\n }\n\n if (this.shouldShowSpinner()) {\n showSpinnerOverlay();\n }\n fetcher('/donate/sessionlogout').finally(() => {\n this.redirect();\n });\n };\n\n shouldShowSpinner = () => {\n let { syncReturnUrl = '', redirectUrl = '' } = this.state || {};\n if (\n isExternalFlow() &&\n templateData.ismobile &&\n templateData.hideLandingPage &&\n !syncReturnUrl.includes('http') &&\n !redirectUrl.includes('http')\n ) {\n return false;\n } else {\n return true;\n }\n };\n\n redirect = () => {\n let {\n syncReturnUrl = '',\n redirectUrl = '',\n redirectMethod = '',\n } = this.state || {};\n\n if (redirectMethod === 'POST' && syncReturnUrl) {\n this.postBackForm.submit();\n } else if (redirectMethod === 'GET' && syncReturnUrl) {\n if (\n syncReturnUrl.indexOf('http') !== 0 &&\n syncReturnUrl.indexOf('//') !== 0 &&\n !isExternalFlow()\n ) {\n syncReturnUrl = '//' + syncReturnUrl;\n }\n window.location.href = syncReturnUrl;\n } else {\n if (\n redirectUrl.indexOf('http') !== 0 &&\n redirectUrl.indexOf('//') !== 0 &&\n !isExternalFlow()\n ) {\n redirectUrl = '//' + redirectUrl;\n }\n window.location.href = redirectUrl;\n }\n };\n\n render = () => {\n if (this.state.orgName && this.state.isRedirecting) {\n const { orgName } = this.state;\n const redirectText = new MessageFormat(this.context, {\n id: 'confirmation.postTransaction.label.redirectText',\n }).format({ orgName });\n document.getElementById('spinnerText').innerHTML = redirectText;\n }\n\n return (\n
\n {\n this.postBackForm = form;\n }}\n >\n {' '}\n {this.state.postBackArray.map(function (obj) {\n return (\n \n );\n })}\n \n
\n );\n };\n}\n\nPostTransaction.propTypes = {\n method: PropTypes.string,\n action: PropTypes.string,\n orgName: PropTypes.string,\n syncReturnUrl: PropTypes.string.isRequired,\n};\n\nPostTransaction.defaultProps = {\n method: 'GET',\n};\nPostTransaction.contextType = WorldReadyContext;\n\nexport default PostTransaction;\n","import React from 'react';\nimport ConfirmationReturnText from './ConfirmationReturnText';\nimport ConfirmationReturnTo from './ConfirmationReturnTo';\nimport PostTransaction from '../pages/confirmation/postTransaction';\n\nexport default function ConfirmationRedirect({\n autoRedirectMethod,\n autoRedirectUrl,\n handleRedirect,\n orgName,\n postBackData,\n returnText,\n returnTo,\n syncReturnUrl,\n}) {\n return (\n <>\n \n \n \n \n );\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from '@paypalcorp/pp-react-links';\nimport { isInContext, closeWindow } from '../utility/inContextDonation';\nimport { EVENT_NAME } from '../utility/constants';\nimport { trackLinkClick } from '../fpti/fpti';\nimport { LINK_NAME } from '../fpti/fptiConstants';\n\nconst DoneLink = ({ doneContent, syncReturnUrl, redirectUrl }) => {\n const handleClose = () => {\n const eventName = EVENT_NAME.DW_GIVING_PAYMENT_SUCCESS_DONE_PRESSED;\n trackLinkClick(LINK_NAME.DONE, {\n eventName,\n });\n\n if (isInContext()) {\n closeWindow();\n }\n\n if (syncReturnUrl) {\n window.location.href = syncReturnUrl;\n } else {\n window.location.href = redirectUrl;\n }\n };\n\n return (\n
\n \n {doneContent}\n \n
\n );\n};\n\nDoneLink.propTypes = {\n doneContent: PropTypes.string,\n syncReturnUrl: PropTypes.string,\n redirectUrl: PropTypes.string,\n};\n\nexport default DoneLink;\n","import React, { useContext, useCallback, useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { MessageFormat } from '@paypalcorp/worldready';\nimport { Context as WorldReadyContext } from '@paypalcorp/worldready-react';\nimport {\n PostDonationShimmer,\n PostDonationCreateFundraiser,\n PostDonationGivingSummary,\n PostDonationSetFavCharity,\n} from '@paypalcorp/donate-react';\nimport { isInContext } from '../../utility/inContextDonation';\nimport { POST_DONATION_MODULES } from '../../utility/constants';\nimport { fetcher } from '../../utility/domUtils';\nimport TemplateData from '../../utility/getTemplateData';\nimport { trackErrorIM, trackLinkClick } from '../../fpti/fpti';\n\nimport { FPTI_TAGS, FPTI_SPEC } from '../../fpti/fptiConstants';\nimport { EVENT_NAME } from '../../utility/constants';\nimport { trackEventWithData } from '../../fpti/analytics';\nimport { Message } from '@paypalcorp/worldready-react';\n\nconst AlertSuccessContentPath =\n 'confirmation.confirmation.post.donation.common.successAlertContent';\n\nconst PostDonationModules = ({\n children,\n transactionId,\n donationAmount,\n metaData,\n module,\n postDonationSetFavCharity = false,\n successAlertTarget,\n showSuccessAlert = false,\n isPPGFCountry = false,\n isFirstTimeDonor = false,\n hasMultipleFavouriteCharities = false,\n}) => {\n const POST_DONATION_SET_FAVORITE_CHARITY =\n '/donate/api/postdonation/setfavoritecharity';\n const CREATE_FUNDRAISER_URL = metaData?.npID\n ? `/pools/c/create-crowdfunding/basics?npid=${metaData.npID}&_fpti.source=post_donation`\n : '/pools/c/create-crowdfunding/nonprofit?_fpti.source=post_donation';\n\n const [dynamicProps, setDynamicProps] = useState({});\n const worldReady = useContext(WorldReadyContext);\n\n useEffect(() => {\n let showModuleEventName;\n switch (module) {\n case POST_DONATION_MODULES.SET_FAVORITE_CHARITY:\n showModuleEventName =\n FPTI_SPEC.CONFIRMATION_PAGE_SET_FAV_CHARITY_MODULE_SHOWN;\n break;\n case POST_DONATION_MODULES.CREATE_FUNDRAISER:\n showModuleEventName =\n FPTI_SPEC.CONFIRMATION_PAGE_CREATE_FUNDRAISER_MODULE_SHOWN;\n break;\n case POST_DONATION_MODULES.GIVING_SUMMARY:\n showModuleEventName = FPTI_SPEC.CONFIRMATION_PAGE_INSIGHTS_MODULE_SHOWN;\n break;\n default:\n showModuleEventName = undefined;\n }\n if (module && showModuleEventName) {\n trackEventWithData(showModuleEventName, {\n [FPTI_TAGS.FLOW]: TemplateData.product,\n [FPTI_TAGS.MODULE]: module,\n [FPTI_TAGS.ENCR_RCVR_ID]: TemplateData.merchantId,\n [FPTI_TAGS.NP_ID]: metaData?.npID,\n });\n }\n }, [module]);\n\n const setFavCharityError = (error) => {\n setDynamicProps({\n showErrorAlert: true,\n showIconContent: false,\n showButton: true,\n showSuccessAlert: false,\n showLoadingSpinner: false,\n });\n trackErrorIM({\n errorCode: error?.status || 400,\n errorMessage:\n error?.message ||\n 'fundraiserserv did not respond 200 OK for set favorite charity request',\n fieldName: 'Set favorite charity',\n additionalData: {\n [FPTI_TAGS.EVENT_NAME]:\n EVENT_NAME.DONATE_DONOR_VIEW_POST_DONATION_SET_FAVORITE_CHARITY_ERROR,\n [FPTI_TAGS.FLOW]: TemplateData.product,\n [FPTI_TAGS.MODULE]: module,\n [FPTI_TAGS.ENCR_RCVR_ID]: TemplateData.merchantId,\n [FPTI_TAGS.NP_ID]: metaData?.npID,\n },\n });\n };\n\n const onBtnClick = () => {\n if (module === POST_DONATION_MODULES.SET_FAVORITE_CHARITY) {\n setDynamicProps({\n ...dynamicProps,\n showLoadingSpinner: true,\n });\n trackLinkClick(module, {\n eventName:\n EVENT_NAME.DONATE_DONOR_VIEW_POST_DONATION_SET_FAV_CHARITY_MODULE_PRESSED,\n additionalData: {\n [FPTI_TAGS.FLOW]: TemplateData.product,\n [FPTI_TAGS.MODULE]: module,\n [FPTI_TAGS.ENCR_RCVR_ID]: TemplateData.merchantId,\n [FPTI_TAGS.NP_ID]: metaData?.npID,\n },\n });\n fetcher(\n `${POST_DONATION_SET_FAVORITE_CHARITY}?token=${TemplateData.token}`\n )\n .then(async (response) => {\n if (!response.ok) {\n let err = new Error(\n response.statusText || 'FAILED TO SET FAVORITE CHARITY'\n );\n err.response = await response.json();\n err.status = response.status;\n throw err;\n }\n return await response.json();\n })\n .then((result) => {\n if (result?.data?.clientData?.postDonationSetFavCharity) {\n setDynamicProps({\n showErrorAlert: false,\n showIconContent: true,\n showButton: false,\n showSuccessAlert: false,\n showLoadingSpinner: false,\n });\n trackEventWithData(\n FPTI_SPEC.CONFIRMATION_PAGE_SET_FAV_CHARITY_SUCCESS,\n {\n [FPTI_TAGS.FLOW]: TemplateData.product,\n [FPTI_TAGS.MODULE]: module,\n [FPTI_TAGS.ENCR_RCVR_ID]: TemplateData.merchantId,\n [FPTI_TAGS.NP_ID]: metaData?.npID,\n }\n );\n } else {\n setFavCharityError();\n }\n })\n .catch((err) => {\n setFavCharityError(err);\n });\n } else if (module === POST_DONATION_MODULES.CREATE_FUNDRAISER) {\n trackLinkClick(module, {\n eventName:\n EVENT_NAME.DONATE_DONOR_VIEW_POST_DONATION_CREATE_FUNDRAISER_MODULE_PRESSED,\n additionalData: {\n [FPTI_TAGS.FLOW]: TemplateData.product,\n [FPTI_TAGS.MODULE]: module,\n [FPTI_TAGS.ENCR_RCVR_ID]: TemplateData.merchantId,\n },\n });\n } else if (module === POST_DONATION_MODULES.GIVING_SUMMARY) {\n trackLinkClick(module, {\n eventName:\n EVENT_NAME.DONATE_DONOR_VIEW_POST_DONATION_INSIGHTS_MODULE_PRESSED,\n additionalData: {\n [FPTI_TAGS.FLOW]: TemplateData.product,\n [FPTI_TAGS.MODULE]: module,\n [FPTI_TAGS.ENCR_RCVR_ID]: TemplateData.merchantId,\n },\n });\n let redirectUrl = '';\n if (transactionId) {\n if (isFirstTimeDonor) {\n redirectUrl = `/fundraiser/hub?flow=donate&_fpti.source=post_donation&txn_id=${transactionId}&firstTimeDonor=true`;\n } else {\n redirectUrl = `/fundraiser/hub?flow=donate&_fpti.source=post_donation&txn_id=${transactionId}`;\n }\n } else {\n redirectUrl = '/fundraiser/hub';\n }\n window.open(redirectUrl, isInContext() ? '' : '_self');\n }\n };\n\n const onModalSubmit = () => {\n window.location.href = CREATE_FUNDRAISER_URL;\n trackLinkClick(module, {\n eventName:\n EVENT_NAME.DONATE_DONOR_VIEW_POST_DONATION_CREATE_FUNDRAISER_MODAL_PRESSED,\n additionalData: {\n [FPTI_TAGS.FLOW]: TemplateData.product,\n [FPTI_TAGS.MODULE]: module,\n [FPTI_TAGS.ENCR_RCVR_ID]: TemplateData.merchantId,\n },\n });\n };\n\n const onModalOpen = () => {\n trackLinkClick(module, {\n eventName:\n EVENT_NAME.DONATE_DONOR_VIEW_POST_DONATION_CREATE_FUNDRAISER_MODAL_SHOWN,\n additionalData: {\n [FPTI_TAGS.FLOW]: TemplateData.product,\n [FPTI_TAGS.MODULE]: module,\n [FPTI_TAGS.ENCR_RCVR_ID]: TemplateData.merchantId,\n },\n });\n };\n\n const createFundraiserContent = useCallback(() => {\n return {\n bodyContent: new MessageFormat(worldReady, {\n id: 'confirmation.confirmation.post.donation.fundraiser.bodyContent',\n }).format(),\n\n buttonText: new MessageFormat(worldReady, {\n id: 'confirmation.confirmation.post.donation.fundraiser.buttonText',\n }).format(),\n\n modalContent: {\n title: new MessageFormat(worldReady, {\n id: 'confirmation.confirmation.post.donation.fundraiser.modalContent.title',\n }).format({ orgName: TemplateData.donationName }),\n\n bodyContent: new MessageFormat(worldReady, {\n id: 'confirmation.confirmation.post.donation.fundraiser.modalContent.bodyContent',\n }).format(),\n\n listContent: [\n new MessageFormat(worldReady, {\n id: 'confirmation.confirmation.post.donation.fundraiser.modalContent.listContent.list0',\n }).format(),\n\n new MessageFormat(worldReady, {\n id: 'confirmation.confirmation.post.donation.fundraiser.modalContent.listContent.list1',\n }).format(),\n\n new MessageFormat(worldReady, {\n id: `confirmation.confirmation.post.donation.fundraiser.modalContent.listContent.${\n isPPGFCountry ? 'ppgf.' : ''\n }list2`,\n }).format(),\n ],\n\n captionText: new MessageFormat(worldReady, {\n id: 'confirmation.confirmation.post.donation.fundraiser.modalContent.captionText',\n }).format(),\n\n buttonText: new MessageFormat(worldReady, {\n id: 'confirmation.confirmation.post.donation.fundraiser.modalContent.buttonText',\n }).format(),\n },\n successAlertContent: new MessageFormat(worldReady, {\n id: AlertSuccessContentPath,\n }).format(),\n };\n }, []);\n\n const givingSummaryContent = useCallback(() => {\n return {\n bodyContent: (\n {donationAmount}}\n />\n ),\n buttonText: new MessageFormat(worldReady, {\n id: 'confirmation.confirmation.post.donation.giving.summary.buttonText',\n }).format(),\n\n successAlertContent: new MessageFormat(worldReady, {\n id: AlertSuccessContentPath,\n }).format(),\n };\n }, [donationAmount]);\n\n const setFavCharityContent = useCallback(() => {\n return {\n bodyContent: new MessageFormat(worldReady, {\n id: `confirmation.confirmation.post.donation.favorite.charity.${\n hasMultipleFavouriteCharities ? 'multiple.' : ''\n }bodyContent`,\n }).format(),\n\n buttonText: new MessageFormat(worldReady, {\n id: `confirmation.confirmation.post.donation.favorite.charity.${\n hasMultipleFavouriteCharities ? 'multiple.' : ''\n }buttonText`,\n }).format(),\n\n iconContent: new MessageFormat(worldReady, {\n id: 'confirmation.confirmation.post.donation.favorite.charity.iconContent',\n }).format({ orgName: TemplateData.donationName }),\n\n errorAlertContent: new MessageFormat(worldReady, {\n id: 'confirmation.confirmation.post.donation.favorite.charity.errorAlertContent',\n }).format(),\n\n successAlertContent: new MessageFormat(worldReady, {\n id: AlertSuccessContentPath,\n }).format(),\n };\n }, [hasMultipleFavouriteCharities]);\n\n if (!module) {\n return ;\n }\n\n return (\n <>\n {module === POST_DONATION_MODULES.SET_FAVORITE_CHARITY && (\n \n )}\n {module === POST_DONATION_MODULES.CREATE_FUNDRAISER && (\n \n )}\n {module === POST_DONATION_MODULES.GIVING_SUMMARY && (\n \n )}\n {module === POST_DONATION_MODULES.SHARE && children}\n \n );\n};\n\nPostDonationModules.propTypes = {\n children: PropTypes.element,\n donationAmount: PropTypes.string,\n metaData: PropTypes.object,\n module: PropTypes.string,\n postDonationSetFavCharity: PropTypes.bool,\n successAlertTarget: PropTypes.string,\n showSuccessAlert: PropTypes.bool,\n isPPGFCountry: PropTypes.bool,\n transactionId: PropTypes.string,\n isFirstTimeDonor: PropTypes.bool,\n hasMultipleFavouriteCharities: PropTypes.bool,\n};\n\nexport default PostDonationModules;\n","import React, { useState, useEffect, useContext } from 'react';\nimport TemplateData from '../utility/getTemplateData';\nimport { BodyText, Avatar, Row, Col } from '@paypalcorp/pp-react';\nimport ConfirmationSocialShare from './ConfirmationSocialShare';\nimport ConfirmationTransactionId from './ConfirmationTransactionId';\nimport OfferConfirmation from '../components/offerConfirmation';\nimport PropTypes from 'prop-types';\nimport SignUpAlert from '../components/guest/SignUpAlert';\nimport VoucherFlowDisclaimer from '../components/voucherFlowDisclaimer';\nimport ConfirmationRedirect from './ConfirmationRedirect';\nimport { endCustomCPLTrackingForConfirmationPage } from '../utility/cpl';\nimport {\n isInContext,\n isMobileOrInContext,\n onComplete,\n isMWebNoReturnURL,\n} from '../utility/inContextDonation';\nimport { isPPFundraising } from '../utility/productIntegrationUtils';\nimport CloseButton from '../components/CloseButton';\nimport classNames from 'classnames';\nimport DoneLink from './DoneLink';\nimport { BannerImage } from '@paypalcorp/donate-react';\nimport { isCampaigns } from '../utility/productIntegrationUtils';\nimport { addFeature } from '../fpti/helper';\nimport { FEATURES } from '../fpti/fptiConstants';\nimport { MessageFormat } from '@paypalcorp/worldready';\nimport { Context as WorldReadyContext } from '@paypalcorp/worldready-react';\nimport { fetcher } from '../utility/domUtils';\nimport PostDonationModules from './../components/postDonationModules';\nimport { POST_DONATION_MODULES } from './../utility/constants';\nconst SOCIAL_EXP_GET = '/donate/api/socialExperiment/';\nconst POST_DONATION_MODULE_URL = '/donate/api/postdonation/getmodule';\n\nconst checkShareModule = (postDonationModule) => {\n return (\n postDonationModule &&\n postDonationModule.module === POST_DONATION_MODULES.SHARE\n );\n};\n\nconst isPostDonationModule = (postDonationModule, isShareModule) => {\n return postDonationModule && !isShareModule;\n};\nfunction ConfirmationView(props) {\n const worldReady = useContext(WorldReadyContext);\n const getSocialMessage = (id, params) => {\n return new MessageFormat(worldReady, {\n id: isCampaigns()\n ? `landing.social.${id}`\n : `confirmation.confirmation.social.${id}`,\n }).format(params);\n };\n const {\n autoRedirect,\n autoRedirectUrl,\n autoRedirectMethod,\n footer,\n handleRedirect,\n hostedButtonId,\n illustration,\n isSignUp,\n isVoucherFlow,\n message,\n offerProgram,\n orgName,\n postBackData,\n returnTo,\n returnText,\n signUpProps,\n syncReturnUrl,\n txnId,\n personalizedMessages,\n isExternalFlow,\n campaignId,\n amount,\n } = props;\n\n useEffect(() => {\n endCustomCPLTrackingForConfirmationPage();\n }, []);\n\n useEffect(() => {\n onComplete(postBackData);\n }, []);\n\n const [isSocialShareLoading, setIsSocialShareLoading] = useState(\n isCampaigns()\n );\n const [enableMatchSocialShare, setEnableMatchSocialShare] = useState(false);\n const [postDonationModule, setPostDonationModule] = useState(null);\n const isShareModule = checkShareModule(postDonationModule);\n\n const [socialShareMessages, setSocialShareMessages] = useState({\n social: {\n emailSubject: getSocialMessage('emailSubject', {\n donationName: '{donationName}',\n }),\n emailBody: getSocialMessage('emailBody', {\n donationName: '{donationName}',\n url: '{url}',\n }),\n mobileText: getSocialMessage('mobileText', {\n donationName: '{donationName}',\n }),\n facebookMessage: getSocialMessage('facebookMessage', {\n donationName: '{donationName}',\n url: '{url}',\n }),\n twitterMessage: getSocialMessage('twitterMessage', {\n donationName: '{donationName}',\n }),\n whatsappMessage: getSocialMessage('whatsappMessage', {\n donationName: '{donationName}',\n }),\n copyLinkHeader: getSocialMessage('copyLinkHeader'),\n copyLinkSubheaderBefore: getSocialMessage('copyLinkSubheaderBefore'),\n copyLinkSubheader: getSocialMessage('copyLinkSubheader'),\n copiedText: getSocialMessage('copiedText'),\n copyText: getSocialMessage('copyText'),\n subheader: getSocialMessage('subheader'),\n shareGeneric: getSocialMessage('shareGeneric'),\n shareWithMatch: getSocialMessage('shareWithMatch'),\n ...(!isCampaigns()\n ? {\n unhosted: {\n emailSubject: getSocialMessage('unhosted.emailSubject'),\n emailBody: getSocialMessage('unhosted.emailBody', {\n url: '{url}',\n }),\n mobileText: getSocialMessage('unhosted.mobileText'),\n facebookMessage: getSocialMessage('unhosted.facebookMessage'),\n twitterMessage: getSocialMessage('unhosted.twitterMessage'),\n whatsappMessage: getSocialMessage('unhosted.whatsappMessage', {\n url: '{url}',\n }),\n },\n }\n : {}),\n },\n });\n\n useEffect(() => {\n // For A/B Testing the general share content vs. the match content for campaigns\n if (isCampaigns()) {\n const matchSocialShareMessages = {\n social: {\n ...socialShareMessages.social,\n shareWithMatch: getSocialMessage('matchMyDonationShare'),\n emailSubject: getSocialMessage('matchMyDonationEmailSubject', {\n donationName: '{donationName}',\n }),\n emailBody: getSocialMessage('matchMyDonationEmailBody', {\n amount: `${amount}`,\n donationName: '{donationName}',\n url: '{url}',\n }),\n facebookMessage: getSocialMessage('matchMyDonationFacebookMessage', {\n amount: `${amount}`,\n donationName: '{donationName}',\n }),\n twitterMessage: getSocialMessage('matchMyDonationTwitterMessage', {\n amount: `${amount}`,\n donationName: '{donationName}',\n }),\n whatsappMessage: getSocialMessage('matchMyDonationWhatsappMessage', {\n amount: `${amount}`,\n donationName: '{donationName}',\n }),\n },\n };\n fetcher(`${SOCIAL_EXP_GET}?token=${TemplateData.token}`)\n .then((response) => response.json())\n .then((result) => {\n // Show match social share content if elmo falls under test group\n if (result?.data?.clientData?.enableNewSocialSharingMsg) {\n setSocialShareMessages(matchSocialShareMessages);\n setEnableMatchSocialShare(true);\n }\n setIsSocialShareLoading(false);\n })\n .catch(() => {\n setIsSocialShareLoading(false);\n });\n }\n fetcher(`${POST_DONATION_MODULE_URL}?token=${TemplateData.token}`)\n .then((response) => response.json())\n .then((result) => {\n const data = result?.data?.clientData?.postDonationModuleData;\n // Show post donation module\n if (data) {\n setPostDonationModule({\n ...data,\n });\n } else {\n setPostDonationModule({\n module: POST_DONATION_MODULES.SHARE,\n });\n }\n })\n .catch(() => {\n setPostDonationModule({\n module: POST_DONATION_MODULES.SHARE,\n });\n });\n }, []);\n\n const socialShareLoadingShimmer = () => {\n return (\n
\n \n \n \n \n \n \n \n \n \n
\n );\n };\n\n function showSocialShare() {\n if (TemplateData.socialSharePreference) {\n addFeature(FEATURES.SOCIAL_SHARE_PREFERENCE);\n return isSocialShareLoading ? (\n socialShareLoadingShimmer()\n ) : (\n \n );\n }\n\n return null;\n }\n\n function confirmationClass() {\n return classNames(\n {\n gn_donate_wrapper: TemplateData.bannerUrl,\n donate_wrapper: !TemplateData.bannerUrl,\n confirmation: !TemplateData.bannerUrl,\n },\n { mobile_view: isMobileOrInContext() },\n {\n mobile_view_without_return_message: isMWebNoReturnURL(),\n },\n { ppf: isPPFundraising() }\n );\n }\n\n personalizedMessages.success_subheader =\n personalizedMessages.success_subheader\n ?.split('\\\\n')\n .join('
')\n ?.split('\\n')\n .join('
');\n\n const transactionIdValue =\n !TemplateData.recurringStatus ||\n TemplateData.recurringStatus === 'unchecked'\n ? txnId?.split(':')[1]?.trim()\n : null;\n return (\n
\n {isSignUp && }\n
\n {isExternalFlow && }\n {TemplateData.bannerUrl ? (\n \n ) : (\n
{illustration}
\n )}\n
\n {message}\n\n {isExternalFlow && personalizedMessages.success_subheader ? (\n \n ) : null}\n\n {isVoucherFlow && (\n \n )}\n\n {isVoucherFlow && }\n\n \n {showSocialShare()}\n \n\n {isShareModule && !isExternalFlow && (\n \n )}\n\n {isExternalFlow && (\n \n )}\n
\n
\n {postDonationModule && !isShareModule && (\n \n {!isExternalFlow && txnId && (\n \n \n \n )}\n \n {showSocialShare()}\n \n \n )}\n\n {!isInContext() && autoRedirect && autoRedirectUrl && (\n \n )}\n {footer}\n
\n );\n}\n\nConfirmationView.propTypes = {\n amount: PropTypes.string,\n autoRedirectMethod: PropTypes.string,\n autoRedirect: PropTypes.bool,\n autoRedirectUrl: PropTypes.string,\n footer: PropTypes.object,\n handleRedirect: PropTypes.func,\n hostedButtonId: PropTypes.string,\n isVoucherFlow: PropTypes.bool,\n illustration: PropTypes.object,\n isSignUp: PropTypes.bool,\n message: PropTypes.object,\n offerProgram: PropTypes.object,\n orgName: PropTypes.string,\n postBackData: PropTypes.object,\n redirect: PropTypes.func,\n returnTo: PropTypes.string,\n returnText: PropTypes.string,\n signUpProps: PropTypes.object,\n syncReturnUrl: PropTypes.string,\n txnId: PropTypes.string,\n personalizedMessages: PropTypes.object,\n isExternalFlow: PropTypes.bool,\n isOfacPending: PropTypes.bool,\n campaignId: PropTypes.string,\n};\n\nexport default ConfirmationView;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { getPersonalizedMessages } from '../utility/personalizedMessages';\nimport { GN_CONTENT_TOUCHPOINT } from '../utility/constants';\nimport isNna from '../utility/nna';\nimport templateData from '../utility/getTemplateData';\nimport { MessageFormat } from '@paypalcorp/worldready';\nimport { Context as WorldReadyContext } from '@paypalcorp/worldready-react';\nimport MessageWithHTML from '../components/MessageWithHtml';\n\nexport default function withConfirmationMessages(\n WrappedComponent,\n renderedView\n) {\n class CmHOC extends React.Component {\n static propTypes = {\n amount: PropTypes.string,\n confirmationNumber: PropTypes.string,\n giftaidFlag: PropTypes.bool,\n isVoucherFlow: PropTypes.bool,\n orgName: PropTypes.string,\n postBackData: PropTypes.object,\n rp_status: PropTypes.bool,\n signUpStatus: PropTypes.bool,\n receiptId: PropTypes.string,\n isExternalFlow: PropTypes.bool,\n isCampaigns: PropTypes.bool,\n personalizedMessages: PropTypes.object,\n selectedRecurringFrequency: PropTypes.string,\n };\n\n isSuccessView = () => renderedView === 'success';\n\n getGiftAidConfText = () => {\n let giftaidFrequencyLabel;\n switch (this.props.selectedRecurringFrequency) {\n case 'Week':\n giftaidFrequencyLabel = 'giftAidRecurringWeek';\n break;\n case 'Year':\n giftaidFrequencyLabel = 'giftAidRecurringYear';\n break;\n default:\n giftaidFrequencyLabel = 'giftAidRecurring';\n break;\n }\n if (this.props.giftaidFlag && this.isSuccessView()) {\n return new MessageFormat(this.context, {\n id: `confirmation.confirmation.label.${\n this.props.rp_status ? giftaidFrequencyLabel : 'giftAid'\n }`,\n }).format();\n }\n return '';\n };\n\n getYourDonationLabel = (personalizedMessages) => {\n if (this.props.isExternalFlow && personalizedMessages.success_header) {\n return personalizedMessages.success_header.replace(\n '',\n this.props.amount\n );\n }\n\n let yourDonation = (\n \n );\n\n if (this.props.isVoucherFlow) {\n yourDonation =\n (\n \n ) || yourDonation;\n }\n\n return yourDonation;\n };\n\n getYourRPDonationLabel = () => {\n let frequencyLabel;\n switch (this.props.selectedRecurringFrequency) {\n case 'Week':\n frequencyLabel = 'yourRPdonationWeek';\n break;\n case 'Year':\n frequencyLabel = 'yourRPdonationYear';\n break;\n default:\n frequencyLabel = 'yourRPdonation';\n break;\n }\n return (\n \n );\n };\n\n getReturnTextLabel = () => {\n return new MessageFormat(this.context, {\n id: `confirmation.${\n this.isSuccessView ? 'confirmation' : 'pending'\n }.label.returnText`,\n }).format({ orgName: this.props.orgName });\n };\n\n getReturnTextMemberLabel = () => {\n return !this.isSuccessView\n ? new MessageFormat(this.context, {\n id: 'confirmation.pending.label.returnTextMember',\n }).format({ orgName: this.props.orgName })\n : '';\n };\n\n getReturnToLabel = () => {\n return new MessageFormat(this.context, {\n id: `confirmation.${\n this.isSuccessView ? 'confirmation' : 'pending'\n }.label.returnto`,\n }).format({ orgName: this.props.orgName });\n };\n\n getTxnIdLabel = () => {\n let id = this.props.rp_status\n ? this.props.confirmationNumber\n : this.props.receiptId;\n id = id || this.props.confirmationNumber;\n\n return new MessageFormat(this.context, {\n id: `confirmation.${\n this.isSuccessView ? 'confirmation' : 'pending'\n }.label.txnId`,\n }).format({ txnId: id });\n };\n\n getSignupProps = () => {\n return {\n signUpStatus: this.props.signUpStatus,\n successMessage:\n isNna(templateData.country) && this.isSuccessView()\n ? new MessageFormat(this.context, {\n id: 'confirmation.confirmation.label.successMessageNna',\n }).format()\n : new MessageFormat(this.context, {\n id: `confirmation.${\n this.isSuccessView ? 'confirmation' : 'pending'\n }.label.successMessage`,\n }).format(),\n failMessage: new MessageFormat(this.context, {\n id: `confirmation.${\n this.isSuccessView ? 'confirmation' : 'pending'\n }.label.failMessage`,\n }).format(),\n };\n };\n\n getPersonalizedContent = () => {\n if (this.props.isExternalFlow) {\n const psMessages = getPersonalizedMessages(GN_CONTENT_TOUCHPOINT, {\n isHtml: false,\n });\n\n if (psMessages.success_subheader) {\n psMessages.success_subheader = psMessages.success_subheader.replace(\n '',\n this.props.amount\n );\n }\n return psMessages;\n }\n return {};\n };\n\n getOrgSuccess = () => (\n \n );\n\n render() {\n const personalizedMessages = this.getPersonalizedContent();\n const returnText = this.getReturnTextLabel();\n const returnTextMember = this.getReturnTextMemberLabel();\n const returnTo = this.getReturnToLabel();\n const txnId = this.getTxnIdLabel();\n const yourRPdonation = this.getYourRPDonationLabel();\n const giftAidConfText = this.getGiftAidConfText();\n const yourDonation = this.getYourDonationLabel(personalizedMessages);\n const signUpProps = this.getSignupProps();\n const orgSuccess = this.getOrgSuccess();\n\n return (\n \n );\n }\n }\n\n CmHOC.contextType = WorldReadyContext;\n return CmHOC;\n}\n","import React from 'react';\nimport { hideSpinnerOverlay, setFocus } from '../utility/helper';\nimport AppStore from '../stores/AppStore';\nimport TemplateData from '../utility/getTemplateData';\nimport {\n isExternalFlow,\n isCampaigns,\n} from '../utility/productIntegrationUtils';\n\nconst donateGiftPercentage = AppStore.getGiftAidItExtraAmount();\n\nexport default function withConfirmationData(WrappedComponent) {\n return class extends React.Component {\n constructor(props) {\n super(props);\n this.confirmationData = this.getConfirmationData();\n }\n\n handleRedirect = () => {\n let finalUrl = this.confirmationData.autoRedirectUrl;\n\n if (this.confirmationData.syncReturnUrl) {\n finalUrl = this.confirmationData.syncReturnUrl;\n }\n\n if (\n finalUrl.indexOf('http') !== 0 &&\n finalUrl.indexOf('//') !== 0 &&\n !isExternalFlow()\n ) {\n finalUrl = '//' + finalUrl;\n }\n\n window.location.href = finalUrl;\n };\n\n getExtraDonateAmount = (giftaidFlag, donatedAmount) => {\n return giftaidFlag\n ? TemplateData.donationSymbol +\n (donatedAmount * donateGiftPercentage - donatedAmount).toFixed(2)\n : '';\n };\n\n getConfirmationData = () => {\n const confirmationData =\n AppStore.getConfirmation() || TemplateData.confirmationData || {};\n const result = {};\n result.amount = confirmationData.amount || '';\n result.confirmationNumber = confirmationData.confirmationNumber || '';\n result.postBackData = confirmationData || {};\n result.displayMyAccount = confirmationData.showAccountOverview || false;\n result.orgName = TemplateData.donationName\n ? TemplateData.donationName\n : '';\n result.receiptId = confirmationData.receiptId;\n result.isOfacPending = confirmationData.isOfacPending;\n\n result.autoRedirect = TemplateData.returnAutoRedirect !== '';\n result.autoRedirectUrl = TemplateData.charityReturnUrl\n ? TemplateData.charityReturnUrl\n : '';\n result.autoRedirectMethod = TemplateData.returnMethod\n ? TemplateData.returnMethod\n : '';\n result.syncReturnUrl = confirmationData.syncReturnUrl || '';\n\n result.isSignUp = confirmationData.isSignUp || false;\n result.signUpStatus = confirmationData.signUpSuccess || false;\n result.isVoucherFlow = TemplateData.isVoucherFlow;\n result.offerProgram = TemplateData.offerProgram;\n result.hostedButtonId = TemplateData.hostedButtonId || '';\n result.campaignId = TemplateData.productId || '';\n result.isExternalFlow = isExternalFlow();\n result.isCampaigns = isCampaigns();\n\n result.handleRedirect = this.handleRedirect;\n result.rp_status = AppStore.getDonationRecurring() === 'checked';\n result.giftaidFlag = AppStore.getGiftaidItFlagStatus();\n result.selectedRecurringFrequency =\n AppStore.getSelectedRecurringFrequency();\n result.donatedAmount = AppStore.getDonationAmount();\n\n result.extraDonateAmount = this.getExtraDonateAmount(\n result.giftaidFlag,\n result.donatedAmount\n );\n result.showMyAccount =\n result.displayMyAccount &&\n !result.isVoucherFlow &&\n !result.autoRedirect;\n\n return result;\n };\n\n componentDidMount = () => {\n hideSpinnerOverlay();\n setFocus();\n };\n\n render() {\n return ;\n }\n };\n}\n","import { createHandler as initGriffinPhone } from 'griffin-paypal/phone';\nimport {\n formatCurrency,\n formatDate,\n formatNumber,\n formatPhoneNumber,\n getDateMaskFormat,\n getRelativeTime,\n wrNormalizeNumber,\n parsePhoneNumber,\n} from './worldReadyUtils';\nlet griffinPhoneHandler;\n\ntry {\n const metadata = __getInitialData().clientMetadata;\n if (metadata) {\n griffinPhoneHandler = initGriffinPhone(metadata);\n }\n} catch (e) {\n console.log(e);\n}\n\nexport function getGriffinPhoneHandler() {\n return griffinPhoneHandler;\n}\n\n/**\n * Grabs the griffin metadata\n */\nexport function __getInitialData() {\n const initialDataNode = document.getElementById('initialData');\n const initialDataJSON =\n (initialDataNode && initialDataNode.innerHTML) || '{}';\n try {\n // parse the JSON strings to JavaScript objects\n return JSON.parse(initialDataJSON);\n } catch (e) {\n console.warn('ERROR:donate:initialData', e);\n return {};\n }\n}\n\n/**\n * getCurrencyParts\n */\nexport function getCurrencyParts() {\n return __getInitialData().currencyParts;\n}\n\n/**\n * getInitialData\n */\nexport function getInitialData() {\n return __getInitialData();\n}\n\n/**\n * Formats getAmountPlaceHolder\n * {string} placeholder\n */\nexport function getAmountPlaceHolder() {\n const allParts = __getInitialData().currencyParts || [];\n const amount = allParts.find((item) => item.$ === 'amount');\n return (amount && amount._) || '';\n}\n\nexport function formatNormalizedAmount(amount) {\n if (\n isNaN(amount.value) ||\n !amount.currency ||\n (!amount.value && amount.value !== 0)\n ) {\n return '';\n }\n return formatCurrency(Number(amount.value), { currency: amount.currency });\n}\n\n/**\n * formatAmount\n * {amount} { currency, value }\n */\nexport function formatAmount(amount) {\n if (!amount.currency || (!amount.value && amount.value !== 0)) {\n return '';\n }\n const amountValue =\n typeof amount.value === 'number'\n ? amount.value\n : wrNormalizeNumber(amount.value);\n return formatCurrency(amountValue, {\n currency: amount.currency,\n style: amount.style || 'symbol',\n });\n}\n\n/**\n * Uses Griffin to format a voucher offer detail percentage\n * @param {string} value percentage value\n */\nexport function formatPercentage(value) {\n return formatNumber(Number(value), { style: 'percent' });\n}\n\nexport function formatCurrencyNoDecimals(value) {\n if (!value) {\n return '';\n }\n\n return formatNumber(Number(value), { maximumFractionDigits: 0 });\n}\n\nexport function formatCurrencyAsString(params) {\n if (!params.value || !params.currency) {\n return '';\n }\n\n // for campaigns, params.value is comming as a number, so we need to convert to string.\n const options = {\n currency: params.currency,\n maximumFractionDigits: params.maximumFractionDigits || 2,\n style: 'international',\n };\n const numericAmount = Number(params.value);\n return formatCurrency(numericAmount, options);\n}\n\n/**\n * normalizer number\n * {number} {amount}\n * https://github.paypal.com/Globalization-R/griffin-paypal/blob/develop/lib/client/README.md#normalizenumber\n */\nexport function normalizeNumber(amount) {\n if (typeof amount === 'number') {\n return amount;\n }\n if (!amount && amount !== 0) {\n return '';\n }\n return wrNormalizeNumber(amount);\n}\n\n/**\n * formatInputAmount\n * {string} amount\n */\nexport function formatInputAmount(amount) {\n if (!amount) {\n return '';\n }\n return wrNormalizeNumber(amount);\n}\n\n/**\n * Uses griffin to format phone number\n *\n * @param {String} countryCode country phone code. Eg: '1', '41', '91'\n * @param {String} nationalNumber Phone number Eg: '012312', '418419'\n * @return {String} Formatted phone number Eg: '(418) 400 1234'\n */\nexport function formatPhone(phoneRegion, countryCode, nationalNumber) {\n if (!nationalNumber || !countryCode || !phoneRegion) {\n return '';\n }\n const options = { phoneRegion };\n const phoneObject = { countryCode, nationalNumber };\n\n return formatPhoneNumber(options, phoneObject);\n}\n\nexport function validatePhone(phoneRegion, nationalNumber) {\n try {\n const normalizedPhone = parsePhoneNumber({ phoneRegion }, nationalNumber);\n\n if (!normalizedPhone || normalizedPhone.errors) {\n return false;\n }\n return true;\n } catch (e) {\n return false;\n }\n}\n\n/**\n * Removes country code from phoneNumber\n * Eg:\n * Input: \"+49 6645878508\"\n * Output: \"6645878508\"\n */\nexport function getPhoneNumberWithoutCountryCode(phoneNumber) {\n if (!phoneNumber || typeof phoneNumber !== 'string') {\n return phoneNumber;\n }\n\n const firstCharacter = phoneNumber[0];\n if (firstCharacter !== '+') {\n // No country code\n return phoneNumber;\n }\n\n const firstSpaceIndex = phoneNumber.indexOf(' ');\n // No Space !! Malformed?\n if (firstSpaceIndex === -1) {\n return phoneNumber;\n }\n\n // First space is last character?\n if (phoneNumber.length < firstSpaceIndex + 1) {\n return phoneNumber;\n }\n\n return phoneNumber.substring(firstSpaceIndex + 1);\n}\n\nexport function getDateFormat() {\n return getDateMaskFormat({ style: 'date-short' });\n}\n\nexport function formatCurrencyWithSymbol(params) {\n return formatCurrency(params.value, { currency: params.currency });\n}\n\nexport function formatRelativeDate(date) {\n const utcDate = new Date(\n Date.UTC(\n date.getUTCFullYear(),\n date.getUTCMonth(),\n date.getUTCDate(),\n date.getUTCHours(),\n date.getUTCMinutes(),\n date.getUTCSeconds()\n )\n );\n return getRelativeTime(utcDate, {\n unit: 'day',\n timeZone: 'Etc/UTC',\n });\n}\n\nexport function getRemainingDays(date) {\n const now = new Date();\n const utcDate = new Date(\n Date.UTC(\n date.getUTCFullYear(),\n date.getUTCMonth(),\n date.getUTCDate(),\n date.getUTCHours(),\n date.getUTCMinutes(),\n date.getUTCSeconds()\n )\n );\n\n return Math.ceil((now - utcDate) / (1000 * 3600 * 24));\n}\n\nexport function roundUpAndFormatCurrency(amount, currency) {\n const roundedUpValue = Math.ceil(amount);\n return formatCurrency(roundedUpValue, { currency, maximumFractionDigits: 0 });\n}\n\n// Format date object to short format string, e.g.: 6/4/22\nexport function parseDateOnly(date) {\n date.setHours(0, 0, 0, 0);\n return formatDate(date, { timeZone: 'Etc/UTC' });\n}\n","import React from 'react';\nimport AppStore from '../stores/AppStore';\nimport TemplateData from '../utility/getTemplateData';\nimport { trackConfirmationPageIM, trackPSLContentShow } from '../fpti/fpti';\nimport isPslCountry from '../utility/israelPsl';\nimport { isGNC } from '../utility/productIntegrationUtils';\n\nconst PAGE_TRACK_TAG = 'main:donate:wps:';\n\nexport default function withPageTrack(WrappedComponent, flow, result) {\n return class extends React.Component {\n componentDidMount() {\n const confData = AppStore.getConfirmation() || {};\n let isGuestUpgrade = false;\n let updatedFlow = flow;\n let updatedResult = result;\n\n if (flow !== 'member') {\n isGuestUpgrade =\n confData.showAccountOverview ||\n confData.signUpSuccess ||\n TemplateData.fptPageName === 'guestULSignUp';\n\n if (TemplateData.onboardingEnabled) {\n updatedFlow = 'signup';\n }\n }\n\n if (isGuestUpgrade) {\n updatedResult = 'upgrade';\n }\n\n const tag = `${PAGE_TRACK_TAG}${updatedFlow}:${updatedResult}`;\n const eventData = {\n isSignUp: isGuestUpgrade,\n pageSpec: {\n pgrp: tag,\n page: `${tag}:web::`,\n tmpl: `${tag}:web::`,\n },\n flow,\n confirmationData: confData,\n };\n trackConfirmationPageIM(eventData);\n\n const rpStatus = AppStore.getDonationRecurring() === 'checked';\n if (isPslCountry() && !isGNC() && !rpStatus) {\n trackPSLContentShow({\n ...eventData,\n status: confData.isOfacPending ? 'ofac' : result,\n });\n }\n }\n\n render() {\n return ;\n }\n };\n}\n","import AppDispatcher from '../dispatcher/AppDispatcher';\nimport assign from 'object-assign';\nimport { EventEmitter } from 'events';\nimport * as DonationConstants from '../utility/constants';\n\nconst CHANGE_EVENT = 'change';\n\nconst _alldata = {}; // collection of donation data\n\n/**\n * @param {string} text The content donation\n */\nfunction create(field, value) {\n _alldata[field] = value;\n}\n\nvar DonationStore = assign({}, EventEmitter.prototype, {\n emitChange: function () {\n this.emit(CHANGE_EVENT);\n },\n\n getAllData: function () {\n return _alldata;\n },\n\n getDonationAmount: function () {\n if (_alldata.amount) {\n return _alldata.amount.toString();\n }\n return _alldata.amount;\n },\n\n getDonationSymbol: function () {\n return _alldata.symbol;\n },\n\n getDonationCode: function () {\n return _alldata.code;\n },\n\n getFormatedAmount: function () {\n return _alldata.formatedAmount;\n },\n\n getDonationNote: function () {\n return _alldata.note;\n },\n\n getDonationRecurring: function () {\n return _alldata.recurring;\n },\n\n getSelectedRecurringFrequency: function () {\n return _alldata.selectedRecurringFrequency;\n },\n\n getRecurringModalStatus: function () {\n return _alldata.recurringModalStatus;\n },\n\n getAnonymousStatus: function () {\n return _alldata.anonymousStatus;\n },\n\n getCoverFeeOptInStatus: function () {\n return _alldata.coverFee;\n },\n\n getFeeAmount: function () {\n return _alldata.feeAmount;\n },\n\n getFormatedFeeAmount: function () {\n return _alldata.formatedFeeAmount;\n },\n\n getAmountBeforeFee: function () {\n return _alldata.amountBeforeFee;\n },\n\n getConfirmation: function () {\n return _alldata.confirmation;\n },\n\n getPostBackData: function () {\n return _alldata.postBackData;\n },\n\n getCurrentPage: function () {\n return _alldata.currentPage;\n },\n\n getServerErros: function () {\n return _alldata.serverErrors;\n },\n\n getPaymentError: function () {\n return _alldata.paymentError;\n },\n\n getSignUpError: function () {\n return _alldata.signUpError;\n },\n\n getFundingOptions: function () {\n return _alldata.fundingOptions;\n },\n\n getEmail: function () {\n return _alldata.email;\n },\n\n getBillingAddress: function () {\n return _alldata.billingAddress;\n },\n\n getUserCountry: function () {\n return _alldata.country;\n },\n\n getDonationAmountType: function () {\n return _alldata.donationAmountType;\n },\n\n getGiftaidItFlagStatus: function () {\n return _alldata.giftAidItFlag;\n },\n\n getShareAddress: function () {\n return _alldata.shareAddress;\n },\n\n getAddCardError: function () {\n return _alldata.addCardError;\n },\n\n getGiftAidItExtraAmount: function () {\n return DonationConstants.DONATE_GIFTAID_IT_EXTRA_AMOUNT;\n },\n\n getSelectedProgram: function () {\n return _alldata.selectedProgram;\n },\n\n getSelectedPresetButtonId: function () {\n return _alldata.selectedPresetButtonId;\n },\n\n getCardSpec: function () {\n return _alldata.cardSpec;\n },\n\n getFormData: function () {\n return _alldata.formData;\n },\n\n getThreeDSContingency: function () {\n return _alldata.threeDSContingency;\n },\n\n getLanguageSelectorState: function () {\n return _alldata.languageSelectorState;\n },\n\n getOrderStatus: function () {\n return _alldata.orderStatus;\n },\n\n getPPCCStatus: function () {\n return _alldata.ppccStatus;\n },\n\n dispatcherIndex: AppDispatcher.register(function (payload) {\n var action = payload.action;\n var amount,\n recurring,\n selectedRecurringFrequency,\n recurringModalStatus,\n note,\n symbol,\n code,\n formatedAmount,\n country,\n confirmation,\n postBackData,\n currentPage,\n serverErrors,\n paymentError,\n signUpError,\n fundingOptions,\n email,\n billingAddress,\n giftAidItFlag,\n coverFee,\n feeAmount,\n formatedFeeAmount,\n amountBeforeFee,\n anonymousStatus,\n orderStatus;\n\n switch (action.actionType) {\n case DonationConstants.CHANGE_AMOUNT:\n amount = action.item.amount.trim();\n create('amount', amount);\n DonationStore.emitChange();\n break;\n\n case DonationConstants.CHANGE_SYMBOL:\n symbol = action.item.symbol.trim();\n if (symbol !== '') {\n create('symbol', symbol);\n DonationStore.emitChange();\n }\n break;\n\n case DonationConstants.CHANGE_CODE:\n code = action.item.code.trim();\n if (code !== '') {\n create('code', code);\n DonationStore.emitChange();\n }\n break;\n\n case DonationConstants.CHANGE_FORMATED_AMOUNT:\n formatedAmount = action.item.formatedAmount;\n if (formatedAmount !== '') {\n create('formatedAmount', formatedAmount);\n DonationStore.emitChange();\n }\n break;\n\n case DonationConstants.CHANGE_RECURRING_FREQUENCY:\n selectedRecurringFrequency =\n action.item.selectedRecurringFrequency?.trim();\n if (selectedRecurringFrequency !== '') {\n create('selectedRecurringFrequency', selectedRecurringFrequency);\n DonationStore.emitChange();\n }\n break;\n\n case DonationConstants.CHANGE_RECURRING:\n recurring = action.item.recurring.trim();\n if (recurring !== '') {\n create('recurring', recurring);\n DonationStore.emitChange();\n }\n break;\n\n case DonationConstants.CHANGE_ANONYMOUS_STATUS:\n anonymousStatus = action.item.anonymousStatus.trim();\n if (anonymousStatus !== '') {\n create('anonymousStatus', anonymousStatus);\n DonationStore.emitChange();\n }\n break;\n\n case DonationConstants.CHANGE_COVER_FEE:\n coverFee = action.item.coverFee.trim();\n if (coverFee !== '') {\n create('coverFee', coverFee);\n DonationStore.emitChange();\n }\n break;\n\n case DonationConstants.CHANGE_FEE_AMOUNT:\n feeAmount = action.item.feeAmount;\n if (feeAmount !== '') {\n create('feeAmount', feeAmount);\n DonationStore.emitChange();\n }\n break;\n\n case DonationConstants.CHANGE_FORMATED_FEE_AMOUNT:\n formatedFeeAmount = action.item.formatedFeeAmount;\n create('formatedFeeAmount', formatedFeeAmount);\n DonationStore.emitChange();\n break;\n\n case DonationConstants.CHANGE_AMOUNT_BEFORE_FEE:\n amountBeforeFee = action.item.amountBeforeFee;\n create('amountBeforeFee', amountBeforeFee);\n DonationStore.emitChange();\n break;\n\n case DonationConstants.RP_MODAL_CLOSED:\n recurringModalStatus = action.item.recurringModalStatus.trim();\n if (recurringModalStatus !== '') {\n create('recurringModalStatus', recurringModalStatus);\n DonationStore.emitChange();\n }\n break;\n\n case DonationConstants.CHANGE_NOTE:\n note = action.item.note.trim();\n if (note !== '') {\n create('note', note);\n DonationStore.emitChange();\n } else {\n create('note', '');\n DonationStore.emitChange();\n }\n break;\n\n case DonationConstants.CHANGE_COUNTRY:\n country = action.item.country.trim();\n if (country !== '') {\n create('country', country);\n DonationStore.emitChange();\n }\n break;\n\n case DonationConstants.UPDATE_CONFIRMATION:\n confirmation = action.item.confirmation;\n if (confirmation !== '') {\n create('confirmation', confirmation);\n DonationStore.emitChange();\n }\n break;\n\n case DonationConstants.POST_BACK_DATA:\n postBackData = action.item.postBackData;\n if (postBackData !== '') {\n create('postBackData', postBackData);\n DonationStore.emitChange();\n }\n break;\n\n case DonationConstants.UPDATE_CURRENT_PAGE:\n currentPage = action.item.currentPage;\n if (currentPage !== '') {\n create('currentPage', currentPage);\n DonationStore.emitChange();\n }\n break;\n\n case DonationConstants.UPDATE_SERVER_ERRORS:\n serverErrors = action.item.serverErrors;\n if (serverErrors !== '') {\n create('serverErrors', serverErrors);\n DonationStore.emitChange();\n }\n break;\n\n case DonationConstants.PAYMENT_ERROR:\n paymentError = action.item.paymentError;\n if (paymentError !== '') {\n create('paymentError', paymentError);\n DonationStore.emitChange();\n }\n break;\n\n case DonationConstants.UPDATE_SIGN_UP_ERROR:\n signUpError = action.item.signUpError;\n if (signUpError !== '') {\n create('signUpError', signUpError);\n DonationStore.emitChange();\n }\n break;\n\n case DonationConstants.FUNDING_OPTIONS:\n fundingOptions = action.item.fundingOptions;\n if (fundingOptions !== '') {\n create('fundingOptions', fundingOptions);\n DonationStore.emitChange();\n }\n break;\n\n case DonationConstants.EMAIL:\n email = action.item.email;\n if (email !== '') {\n create('email', email);\n DonationStore.emitChange();\n }\n break;\n\n case DonationConstants.BILLING_ADDRESS:\n billingAddress = action.item.billingAddress;\n if (billingAddress !== '') {\n create('billingAddress', billingAddress);\n DonationStore.emitChange();\n }\n break;\n\n case DonationConstants.UPDATE_DONATION_AMOUNT_TYPE:\n create('donationAmountType', action.item);\n DonationStore.emitChange();\n break;\n\n case DonationConstants.GIFT_AID_IT:\n giftAidItFlag = action.item.giftAidItFlag;\n create('giftAidItFlag', giftAidItFlag);\n DonationStore.emitChange();\n break;\n\n case DonationConstants.CHANGE_SHARE_ADDRESS:\n create('shareAddress', action.item);\n DonationStore.emitChange();\n break;\n\n case DonationConstants.ADD_CARD_ERROR:\n create('addCardError', action.item);\n DonationStore.emitChange();\n break;\n\n case DonationConstants.UPDATE_SELECTED_PROGRAM:\n create('selectedProgram', action.item);\n DonationStore.emitChange();\n break;\n\n case DonationConstants.UPDATE_SELECTED_PRESET_BUTTON_ID:\n create('selectedPresetButtonId', action.item);\n DonationStore.emitChange();\n break;\n\n case DonationConstants.CHANGE_CARD_SPEC:\n create('cardSpec', action.item);\n DonationStore.emitChange();\n break;\n\n case DonationConstants.SAVE_FORM_DATA:\n create('formData', action.item);\n DonationStore.emitChange();\n break;\n\n case DonationConstants.UPDATE_THREEDS_DATA:\n create('threeDSContingency', action.item);\n DonationStore.emitChange();\n break;\n\n case DonationConstants.SHOW_LANGUAGE_SELECTOR:\n create('languageSelectorState', action.item);\n DonationStore.emitChange();\n break;\n\n case DonationConstants.UPDATE_ORDER_STATUS:\n orderStatus = action.item.orderStatus.trim();\n if (orderStatus !== '') {\n create('orderStatus', action.item);\n DonationStore.emitChange();\n }\n break;\n\n case DonationConstants.UPDATE_PPCC_STATUS:\n create('ppccStatus', action.item);\n DonationStore.emitChange();\n break;\n\n default:\n break;\n }\n\n return true; // No errors. Needed by promise in Dispatcher.\n }),\n});\n\nAppDispatcher.register((payload) => {\n return true;\n});\n\nexport default DonationStore;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport Illustration from '../components/illustrations/Illustration';\nimport {\n isPPCampaign,\n isGNC,\n isPPFundraising,\n} from '../utility/productIntegrationUtils';\nimport BannerHeader, { Banner } from '../components/GN/bannerHeader';\nimport templateData from '../utility/getTemplateData';\nimport classNames from 'classnames';\nimport {\n isMobileOrInContext,\n isInContext,\n isMobileOrTablet,\n} from '../utility/inContextDonation';\n\nexport class ConfirmationCheckmark extends Component {\n illustrationSize() {\n return classNames({\n max: isMobileOrTablet(),\n extraLarge: isPPFundraising(),\n extraLargeInContext: isInContext(),\n extraLargeDWEB: !isPPFundraising() && !isMobileOrInContext(),\n });\n }\n\n render() {\n return (\n
\n \n
\n {isPPCampaign() || isGNC() ? (\n \n \n \n ) : (\n
\n \n
\n )}\n
\n
\n );\n }\n}\n\nexport default ConfirmationCheckmark;\n\nConfirmationCheckmark.propTypes = {\n confirmationNumber: PropTypes.string,\n};\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { HeadingText } from '@paypalcorp/pp-react';\n\nclass ConfirmationAmount extends Component {\n render() {\n return (\n \n {this.props.message}\n \n );\n }\n}\nexport default ConfirmationAmount;\n\nConfirmationAmount.propTypes = {\n message: PropTypes.object,\n};\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { BodyText } from '@paypalcorp/pp-react';\nimport { addFeature } from '../fpti/helper';\nimport { FEATURES } from '../fpti/fptiConstants';\n\nexport class ConfirmationAmountGiftAid extends Component {\n componentDidMount() {\n addFeature(FEATURES.GIFT_AID);\n }\n\n render() {\n return (\n \n {' '}\n + {this.props.extraDonateAmount} {this.props.giftAid}\n \n );\n }\n}\n\nexport default ConfirmationAmountGiftAid;\n\nConfirmationAmountGiftAid.propTypes = {\n extraDonateAmount: PropTypes.string,\n giftAid: PropTypes.string,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport ConfirmationAmount from './ConfirmationAmount';\nimport ConfirmationAmountGiftAid from './ConfirmationAmountGiftAid';\nimport { BodyText } from '@paypalcorp/pp-react';\nimport { isCampaigns, isGNC } from '../utility/productIntegrationUtils';\nimport isPslCountry from '../utility/israelPsl';\nimport { Message } from '@paypalcorp/worldready-react';\n\nconst ConfirmationMessage = ({\n yourDonation,\n giftaidFlag,\n extraDonateAmount,\n giftAid,\n orgSuccess,\n rpStatus,\n}) => {\n return (\n
\n \n {giftaidFlag && (\n \n )}\n {isPslCountry() && !isGNC() && !rpStatus && (\n \n \n \n )}\n {isCampaigns() && orgSuccess && (\n \n {orgSuccess}\n \n )}\n
\n );\n};\n\nConfirmationMessage.propTypes = {\n yourDonation: PropTypes.object,\n giftaidFlag: PropTypes.bool,\n extraDonateAmount: PropTypes.string,\n giftAid: PropTypes.string,\n orgSuccess: PropTypes.object,\n rpStatus: PropTypes.bool,\n};\n\nexport default ConfirmationMessage;\n","import React, { useEffect } from 'react';\nimport { Row, Col } from '@paypalcorp/pp-react';\nimport ConfirmationCheckmark from './ConfirmationCheckmark';\nimport ConfirmationMessage from './ConfirmationMessage';\nimport ConfirmationView from './ConfirmationView';\nimport withConfirmationData from './withConfirmationData';\nimport withConfirmationMessages from './withConfirmationMessages';\nimport withTheme from '../components/withTheme';\nimport PropTypes from 'prop-types';\nimport * as AppActions from '../actions/AppActions';\nimport { addClass } from '../utility/domUtils';\nimport { isInContext } from '../utility/inContextDonation';\n\nfunction SuccessView(props) {\n const {\n confirmationNumber,\n extraDonateAmount,\n giftAidConfText,\n giftaidFlag,\n rp_status,\n yourDonation,\n yourRPdonation,\n orgSuccess,\n } = props;\n\n // Disabling 'Pull to Refresh' to thwart POST requests to /donate/guest/confirmation logged in calkibana.\n useEffect(() => {\n document.body.classList?.add('no-pulltorefresh');\n }, []);\n\n useEffect(() => {\n AppActions.showLanguageSelector(false);\n }, []);\n\n useEffect(() => {\n if (isInContext) {\n addClass('#mainWrapper', ['in-context-success-page']);\n }\n }, []);\n\n const SuccessMessage = () => (\n \n \n \n \n \n );\n\n return (\n \n }\n message={}\n />\n );\n}\n\nSuccessView.propTypes = {\n confirmationNumber: PropTypes.string,\n extraDonateAmount: PropTypes.string,\n giftAidConfText: PropTypes.string,\n giftaidFlag: PropTypes.bool,\n rp_status: PropTypes.bool,\n returnTo: PropTypes.string,\n returnText: PropTypes.string,\n yourRPdonation: PropTypes.object,\n yourDonation: PropTypes.object,\n orgSuccess: PropTypes.object,\n};\n\nexport default withConfirmationData(\n withConfirmationMessages(withTheme(SuccessView), 'success')\n);\n","export function showActionableErrorModal(errMsg) {\n window.showActionableErrorModal();\n document.getElementById('actionable-error-msg-1').innerHTML = errMsg;\n}\n\nexport function hideActionableErroModal() {\n window.hideActionableErroModal();\n}\n\nexport function showUnactionableErrorModal() {\n window.showUnactionableErrorModal();\n}\n\nexport function hideUnactionableErrorModal() {\n window.hideUnactionableErrorModal();\n}\n\nexport function showLeaveModal() {\n window.showLeaveModal();\n}\n\nexport function hideLeaveModal() {\n window.hideLeaveModal();\n}\n","import { createBrowserHistory } from 'history';\nimport * as modalUtils from '../setup/utils/modalUtils';\n\nfunction waitForElement(selector, callback) {\n if (document.querySelector(selector) !== null) {\n callback(); // eslint-disable-line\n } else {\n setTimeout(function () {\n waitForElement(selector, callback);\n }, 100);\n }\n}\n\nconst history = createBrowserHistory({\n getUserConfirmation(message, callback) {\n // Show some custom dialog to the user and call\n // callback(true) to continue the transiton, or\n // callback(false) to abort it.\n modalUtils.showLeaveModal();\n\n waitForElement('#stay-and-finish', () => {\n document\n .querySelector('#stay-and-finish')\n .addEventListener('click', function () {\n modalUtils.hideLeaveModal();\n callback(false); // eslint-disable-line\n });\n\n document\n .querySelector('#leave-now')\n .addEventListener('click', function () {\n modalUtils.hideLeaveModal();\n callback(true); // eslint-disable-line\n });\n });\n },\n});\nconst location = history.location;\n\nhistory.block((targetLocation, action) => {\n // The location and action arguments indicate the location\n // we're transitioning to and how we're getting there.\n if (\n window.location.pathname === '/donate/buttons/unhosted' &&\n targetLocation.pathname !== '/donate/buttons/unhosted/edit' &&\n targetLocation.pathname !== '/donate/buttons/login'\n ) {\n return \"If you leave now, your work won't be saved and you'll need to start over to create your button.\";\n }\n});\n\nexport { history, location };\n\nexport default history;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Row } from '@paypalcorp/pp-react';\nimport { StyleSheet, css } from 'aphrodite';\nimport {\n Accordion,\n AccordionRow,\n RewardsIcon,\n Divider,\n CaptionText,\n} from '@paypalcorp/pp-react';\nimport { getCurrencySymbol } from '../utility/getTemplateData';\nimport { formatCurrencyAsString, formatPercentage } from '../utility/formator';\nimport { sanitize } from '../utility/domUtils';\n\nimport { trackLinkClick } from '../fpti/fpti';\nimport { LINK_NAME } from '../fpti/fptiConstants';\nimport { Context as WorldReadyContext } from '@paypalcorp/worldready-react';\nimport { MessageFormat } from '@paypalcorp/worldready';\nimport { isRightSymbol } from './amount/amountUtils';\n\nconst styles = StyleSheet.create({\n offerWrapper: {\n paddingBottom: '20px',\n maxWidth: 415,\n margin: 'auto',\n },\n success: {\n paddingBottom: '8px',\n },\n accordionWrapper: {\n marginRight: 0,\n marginLeft: 0,\n backgroundColor: '#f5fbfe',\n backgroundClip: 'content-box',\n },\n offerDivider: {\n borderColor: '#BFDBEE',\n margin: 0,\n },\n offerHeader: {\n display: 'flex',\n justifyContent: 'flex-start',\n wordBreak: 'keep-all',\n },\n messageFrom: {\n paddingTop: '10px',\n paddingBottom: '10px',\n },\n description: {\n paddingBottom: '10px',\n },\n});\n\nfunction formatOfferTextAmount(value, currencyCode, type = 'MONETARY') {\n const isAmtPercent = type === 'PERCENTAGE';\n const formattedValue = value / 100;\n const amountOpts = { currency: currencyCode, value: formattedValue };\n\n return isAmtPercent\n ? formatPercentage(formattedValue)\n : formatCurrencyAsString(amountOpts);\n}\n\nclass OfferDetail extends React.Component {\n constructor(props) {\n super(props);\n let rightSymbol;\n try {\n rightSymbol = isRightSymbol();\n } catch (e) {\n rightSymbol = false;\n }\n this.state = {\n rightSymbol,\n };\n }\n\n componentDidMount() {\n const row = document.getElementById('offerAccordion-row1');\n if (row) {\n row.click();\n }\n }\n\n createMarkup(content) {\n return {\n __html: content,\n };\n }\n\n handleClick() {\n trackLinkClick(LINK_NAME.VOUCHER);\n }\n\n getAmountDisplayValue = ({ value, currencyCode }) => {\n let amountDisplayValue;\n if (this.state.rightSymbol) {\n amountDisplayValue = `${value}${getCurrencySymbol(currencyCode)}`;\n } else {\n amountDisplayValue = `${getCurrencySymbol(currencyCode)}${value}`;\n }\n return amountDisplayValue;\n };\n\n render() {\n const {\n offerProgram: {\n clientOfferType,\n businessName,\n subTitle,\n description,\n type,\n value,\n currencyCode,\n },\n success,\n } = this.props;\n\n const isCustomOffer = clientOfferType && clientOfferType === 'CUSTOM';\n const offerTextAmount = formatOfferTextAmount(value, currencyCode, type);\n const title = new MessageFormat(this.context, {\n id: 'common.offerdetail.offer.title',\n });\n const aMessageFrom = new MessageFormat(this.context, {\n id: 'common.offerdetail.offer.messagefrombusiness',\n }).format({\n businessName: sanitize(businessName),\n });\n const titleMessage = isCustomOffer\n ? sanitize(subTitle)\n : title.format({ amountText: offerTextAmount });\n // const additonalMessage = messages.offer.receive.replace('{amountText}', offerTextAmountOff);\n if (titleMessage && description) {\n const heading = (\n
\n
\n \n
\n \n
\n );\n return (\n \n this.handleClick()}\n >\n \n \n \n
\n

\n {`\"${description}\"`}

\n
\n
\n
\n \n \n );\n }\n return null;\n }\n}\n\nOfferDetail.propTypes = {\n offerProgram: PropTypes.object.isRequired,\n success: PropTypes.bool,\n};\n\nOfferDetail.contextType = WorldReadyContext;\nexport default OfferDetail;\n","import { getInitialData } from './formator';\nimport get from 'lodash/get';\nimport getContent from 'pp-react-l10n';\n\nconst cache = {};\n\nexport const getTouchpoint = (touchpointCode) => {\n if (cache[touchpointCode]) {\n return cache[touchpointCode];\n }\n const personalizedMessages = getInitialData().personalizedMessages || [];\n\n for (const touchpoint of personalizedMessages) {\n if (touchpoint.touchpoint_code === touchpointCode) {\n cache[touchpointCode] = touchpoint;\n return touchpoint;\n }\n }\n return null;\n};\n\nexport const getPersonalizedMessages = (\n touchpointCode,\n { merge = false, isHtml = true, includeImpressionUrl = false } = {}\n) => {\n const touchpoint = getTouchpoint(touchpointCode);\n if (!touchpoint || !touchpoint.messages) {\n return merge ? [] : {};\n }\n\n if (merge) {\n const messages = [];\n touchpoint.messages.forEach((message) => {\n if (message.content?.json) {\n Object.keys(message.content.json)\n .sort()\n .forEach((contentKey) => {\n if (isHtml) {\n messages.push(\n getContent(\n `personalized.${touchpointCode}.${contentKey}`,\n null,\n {\n useHTML: true,\n }\n ),\n ' '\n );\n } else {\n messages.push(message.content.json[contentKey]);\n }\n });\n }\n });\n return messages;\n }\n\n let messages = {};\n touchpoint.messages.forEach((message) => {\n if (message.content?.json) {\n Object.keys(message.content.json).forEach((contentKey) => {\n messages[contentKey] = isHtml\n ? getContent(`personalized.${touchpointCode}.${contentKey}`, null, {\n useHTML: true,\n })\n : message.content.json[contentKey];\n });\n }\n if (includeImpressionUrl) {\n messages = {\n content: messages,\n trackingDetails: {\n impressionUrl: message.tracking_details.impression_url,\n },\n };\n }\n });\n return messages;\n};\n\nexport const hasPersonalizedMessages = (touchpointCode) => {\n const touchpoint = getTouchpoint(touchpointCode);\n return touchpoint?.messages[0]?.content?.json;\n};\n\nexport const getPersonalizedMessagesAsContentLoaderStandard = () => {\n const personalizedMessages = getInitialData().personalizedMessages || [];\n const result = {};\n for (const touchpoint of personalizedMessages) {\n result[touchpoint.touchpoint_code] = get(\n touchpoint,\n 'messages[0].content.json',\n {}\n );\n }\n return result;\n};\n","import React from 'react';\nimport * as AppActions from '../actions/AppActions';\n\nexport default function withCurrentPageUpdate(WrappedComponent, currentPage) {\n return class WithCurrentPageUpdate extends React.Component {\n componentDidMount() {\n AppActions.updateCurrentPage({\n currentPage: currentPage,\n });\n }\n\n render() {\n return ;\n }\n };\n}\n","import React from 'react';\nimport withCurrentPageUpdate from '../../confirmation/withCurrentPageUpdate';\nimport withPageTrack from '../../confirmation/withPageTrack';\nimport withPostTransactionRequest from '../../confirmation/withPostTransactionRequest';\nimport PendingView from '../../confirmation/PendingView';\nimport SuccessView from '../../confirmation/SuccessView';\n\nconst PAGE_UPDATE_TAG = 'memberConfirmation';\nconst POST_TRANSACTION_URL = '/donate/member/postTransaction';\nconst FLOW = 'member';\n\nexport const MemberConfirmationPending = withPageTrack(\n withCurrentPageUpdate(\n withPostTransactionRequest(PendingView, POST_TRANSACTION_URL),\n PAGE_UPDATE_TAG\n ),\n FLOW,\n 'pending'\n);\n\nexport const MemberConfirmationRecurring = withPageTrack(\n withCurrentPageUpdate(SuccessView, 'MemberRecurringConfirmation'),\n FLOW,\n 'success'\n);\n\nexport const MemberConfirmationSuccess = withPageTrack(\n withCurrentPageUpdate(\n withPostTransactionRequest(SuccessView, POST_TRANSACTION_URL),\n PAGE_UPDATE_TAG\n ),\n FLOW,\n 'success'\n);\n","import React, { useEffect, useState, useContext } from 'react';\nimport { Tooltip } from '@paypalcorp/pp-react';\nimport AppDispatcher from '../../dispatcher/AppDispatcher';\nimport * as AppConstants from '../../utility/constants';\nimport AppStore from '../../stores/AppStore';\nimport PropTypes from 'prop-types';\nimport { MessageFormat } from '@paypalcorp/worldready';\nimport { Context as WorldReadyContext } from '@paypalcorp/worldready-react';\n\nfunction PPCC({ isHeader }) {\n const worldReady = useContext(WorldReadyContext);\n const [showTooltip, setShowTooltip] = useState(AppStore.getPPCCStatus());\n const toolTipMsgFmt = new MessageFormat(worldReady, {\n id: 'common.ppcc.ppcc.tooltip',\n });\n let dispatcherMessages;\n const registerAppDispatcherMessages = () => {\n dispatcherMessages = AppDispatcher.register((payload) => {\n if (\n payload.action &&\n payload.action.actionType === AppConstants.UPDATE_PPCC_STATUS\n ) {\n setShowTooltip(payload.action.item);\n }\n });\n };\n\n useEffect(() => {\n registerAppDispatcherMessages();\n return function cleanup() {\n AppDispatcher.unregister(dispatcherMessages);\n };\n }, []);\n\n if (!showTooltip) {\n return null;\n }\n return (\n \n );\n}\n\nPPCC.propTypes = {\n isHeader: PropTypes.bool,\n};\n\nexport default PPCC;\n","/*\n * Returns the interval between navigationStart and current time\n */\nconst getTimeToInteract = () => {\n const startTime = window?.performance?.timing?.navigationStart;\n // send the difference only when startTime is available\n\n return startTime ? Date.now() - startTime : 0;\n};\n\n/*\n * Function that returns the page load time\n */\nconst getPageLoadTime = () => {\n const time = window?.performance?.timing || {};\n\n // send the difference only when time is available\n return time ? time.loadEventEnd - time.navigationStart : 0;\n};\n\nconst getDeviceAndNetworkInfo = () => {\n const networkInfo = window?.navigator?.connection || {};\n\n return {\n screen_width: window?.innerWidth || document?.documentElement?.clientWidth, // fallback to clientWidth to support ie\n screen_height:\n window?.innerHeight || document?.documentElement?.clientHeight, // fallback to clientHeight to support ie\n network_effectiveType: networkInfo?.effectiveType, // 2g, 3g, wifi , etc calculated from downlink and etc\n };\n};\n\n/**\n *\n * @param { action, uicomp, uitype, page } params\n */\n\nexport const logPerformance = (params) => {\n if (!window?.PAYPAL?.analytics?.logPerformance) {\n return;\n }\n\n const deviceAndNetworkInfo = getDeviceAndNetworkInfo(),\n logPerformanceData = {\n ...params,\n tt: getPageLoadTime(), // tt - The whole process of navigation and page load\n view: {\n t11: getTimeToInteract(),\n et: deviceAndNetworkInfo?.network_effectiveType, // network connection type\n pt: document.title, // page title\n ru: document.referrer, // referrer\n cd: window.screen.colorDepth, // screenColorDepth\n sw: window.screen.width, // screenWidth\n sh: window.screen.height, // screenHeight\n dw: window.screen.width * (window.devicePixelRatio || 1), // deviceWidth\n dh: window.screen.height * (window.devicePixelRatio || 1), // deviceHeight\n bw: deviceAndNetworkInfo?.screen_width, // browserWidth\n bh: deviceAndNetworkInfo?.screen_height, // browserHeight\n },\n };\n\n try {\n window.PAYPAL.analytics.logPerformance(logPerformanceData);\n } catch (error) {\n // Error populating log performance data\n }\n};\n\nexport const startCustomCPLTrackingForConfirmationPage = () => {\n const page = `${window.fpti.page.split('success:')[0]}confirmationView:web:`;\n window.PAYPAL.analytics.startCPLTracking({\n page,\n action: 'confirmation_page_loaded',\n uicomp: 'confirmationView',\n uitype: 'page',\n });\n};\n\nexport const endCustomCPLTrackingForConfirmationPage = () => {\n const page = `${window.fpti.page.split('success:')[0]}confirmationView:web:`;\n window.PAYPAL.analytics.endCPLTracking({\n page,\n action: 'confirmation_page_loaded',\n uicomp: 'confirmationView',\n uitype: 'page',\n });\n};\n","import React, { useEffect, useState } from 'react';\nimport { CaptionText } from '@paypalcorp/pp-react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\nimport { EVENT_NAME } from '../utility/constants';\nimport { trackLinkClick } from '../fpti/fpti';\n\nexport default function Disclaimer(props) {\n const [content, setContent] = useState(null);\n\n useEffect(() => {\n setContent(props.content);\n }, []);\n\n useEffect(() => {\n const terms = document.querySelectorAll(\n 'div[data-testid=\"disclaimer-content\"] > span > a'\n );\n if (terms?.length > 0 && props.content) {\n // terms is a NodeList of type object\n for (let i = 0; i < terms.length; i++) {\n terms[i].addEventListener('click', () => {\n const link = terms[i].href?.split('/').pop();\n trackLinkClick(link, {\n eventName: EVENT_NAME.DW_GIVING_DONATE_SETUP_TERMS_PRESSED,\n });\n });\n }\n }\n }, [content]);\n\n if (isEmpty(content)) {\n return null;\n }\n\n return (\n \n {content}\n \n );\n}\n\nDisclaimer.propTypes = {\n content: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.string,\n PropTypes.element,\n ]),\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { MessageFormat } from '@paypalcorp/worldready';\nimport { getWorldReady } from '../utility/worldReadyUtils';\nimport * as DOMPurify from 'dompurify';\n\nfunction MessageWithHTML({ id, ...rest }) {\n const worldReady = getWorldReady();\n const messageFormatter = new MessageFormat(worldReady, {\n id,\n });\n\n return (\n \n );\n}\n\nMessageWithHTML.propTypes = {\n id: PropTypes.string,\n};\n\nexport default MessageWithHTML;\n","import templateData from './getTemplateData';\nimport { getParameterByName } from './queryStringHelper';\nconst languagesList = templateData.languagesList;\n\nexport function getCurrentLangName() {\n const languageCode = templateData.language;\n let currentLanguage = 'English';\n languagesList.forEach((lang) => {\n const languageName = lang.split('-')[0];\n const locale = lang.split('-')[1];\n if (locale.split('_')[0] === languageCode) {\n currentLanguage = languageName;\n }\n });\n\n return currentLanguage;\n}\n\nexport function getLanguageOptions() {\n const lang_options = [];\n languagesList.forEach((lang) => {\n const languageName = lang.split('-')[0];\n lang_options.push({\n title: languageName,\n });\n });\n\n return lang_options;\n}\n\nexport function updatePageLanguageByLocale(locale) {\n const urlParams = `token=${templateData.token}&locale.x=${locale}`;\n const isOnGuestForm =\n window.location.href.indexOf('/guest') > 0 ||\n ![undefined, null].includes(getParameterByName('signup'));\n\n let updatedUrl;\n if (isOnGuestForm) {\n const clientState = encodeURIComponent(`/donate/guest?${urlParams}`);\n updatedUrl = `/donate/?${urlParams}&clientState=${clientState}`;\n } else {\n updatedUrl = `${window.location.href.split('?')[0]}?${urlParams}`;\n }\n\n window.location.href = updatedUrl;\n}\n","import React, { useState } from 'react';\nimport { ActionMenu, Button, ChevronUpIcon } from '@paypalcorp/pp-react';\nimport templateData from '../utility/getTemplateData';\nimport { showSpinnerOverlay } from '../utility/helper';\nimport {\n getCurrentLangName,\n updatePageLanguageByLocale,\n getLanguageOptions,\n} from '../utility/languageSelector';\n\nconst languagesList = templateData.languagesList;\n\nexport default function LanguageSelector() {\n const [isOpen, setIsOpen] = useState(false);\n const currentLanguage = getCurrentLangName();\n const options = getLanguageOptions();\n\n if (!options) return null;\n\n const openMenu = () => {\n setIsOpen(!isOpen);\n };\n\n const closeMenu = () => {\n setIsOpen(false);\n };\n\n const getLocale = (index) => {\n const lang = languagesList[index];\n return `${lang.split('-')[1].split('_')[0]}_${templateData.country}`;\n };\n\n const selectMenuItem = (index) => {\n showSpinnerOverlay();\n const locale = getLocale(index);\n updatePageLanguageByLocale(locale);\n };\n\n return (\n
\n \n \n
\n );\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Col, Row, Link } from '@paypalcorp/pp-react';\nimport { Message } from '@paypalcorp/worldready-react';\nimport templateData from '../../utility/getTemplateData';\nimport MessageWithHTML from '../MessageWithHtml';\n\nexport const Help = () => (\n
  • \n \n \n \n
  • \n);\n\nexport const Security = () => (\n
  • \n \n \n \n
  • \n);\nexport const ReportInappropriateContent = () => (\n
  • \n \n \n \n
  • \n);\n\nexport const Feedback = (props) => (\n
  • \n \n \n \n
  • \n);\n\nexport const Imprint = () => (\n
  • \n \n \n \n
  • \n);\n\nexport const CopyRight = () => (\n
  • \n

    \n \n

    \n
  • \n);\n\nexport const Privacy = () => (\n
  • \n

    \n \n \n \n

    \n
  • \n);\n\nexport const Legal = () => (\n
  • \n

    \n \n \n \n

    \n
  • \n);\n\nexport const Policy = () => (\n
  • \n

    \n \n \n \n

    \n
  • \n);\n\nexport const CombinedFinancialServicesText = () => (\n \n \n
    \n (\n \n {innerMessage}\n \n )}\n />\n
    \n \n
    \n);\n\nFeedback.propTypes = {\n handleSurvey: PropTypes.func,\n};\n","import React, { useState, useEffect } from 'react';\nimport { Container, Row, Col } from '@paypalcorp/pp-react';\nimport LanguageSelector from '../languageSelectorMenu';\nimport {\n Help,\n Security,\n Feedback,\n ReportInappropriateContent,\n Imprint,\n CopyRight,\n Privacy,\n Policy,\n Legal,\n CombinedFinancialServicesText,\n} from './footerLinks';\nimport templateData from '../../utility/getTemplateData';\nimport AppDispatcher from '../../dispatcher/AppDispatcher';\nimport AppStore from '../../stores/AppStore';\nimport {\n isNotFullScreen,\n isInContext,\n isMobileOrTablet,\n} from '../../utility/inContextDonation';\nimport { isExternalFlow } from '../../utility/productIntegrationUtils';\nimport { trackErrorIM, trackLinkClick } from '../../fpti/fpti';\nimport { LINK_NAME } from '../../fpti/fptiConstants';\nimport classNames from 'classnames';\nimport withTheme from '../withTheme';\n\nfunction Footer() {\n const [isLanguageSelectorEnabled, setIsLanguageSelectorEnabled] =\n useState(false);\n\n if (isExternalFlow() && isInContext() && isNotFullScreen()) {\n return null;\n }\n\n useEffect(() => {\n setIsLanguageSelectorEnabled(AppStore.getLanguageSelectorState());\n\n const dispatcherMessages = AppDispatcher.register((payload) => {\n if (payload.action?.actionType === 'SHOW_LANGUAGE_SELECTOR') {\n const { item } = payload.action;\n setIsLanguageSelectorEnabled(item);\n }\n });\n\n return () => {\n AppDispatcher.unregister(dispatcherMessages);\n };\n }, []);\n\n const handleSurvey = () => {\n if (window.latmconf && window.latmconf.trackSprigEvent) {\n window.latmconf.trackSprigEvent(\n 'donatenodeweb-consumermakedonation-feedbacklink-nov2023-web'\n );\n } else {\n trackErrorIM({\n errorCode: 400,\n errorMessage:\n 'window.latmconf or window.latmconf.trackSprigEvent is undefined, Sprig not loaded',\n fieldName:\n 'donatenodeweb-consumermakedonation-feedbacklink-nov2023-web',\n });\n }\n };\n\n const trackReportLink = () => {\n trackLinkClick(LINK_NAME.REPORT_LINK);\n };\n\n const footerClass = () => {\n return classNames({\n footer_in_context: isInContext() && isNotFullScreen,\n mobile_footer: isMobileOrTablet(),\n });\n };\n\n const footerContainerClass = () => {\n return classNames({\n footer_container: true,\n mobile_footer_container: isMobileOrTablet(),\n });\n };\n\n return (\n
    \n \n \n \n
      \n \n \n \n \n {/* Austria, Switzerland, Germany Imprint Link */}\n {['AT', 'CH', 'DE'].includes(templateData.country) && }\n
    \n \n\n {isLanguageSelectorEnabled && (\n \n \n \n )}\n
    \n \n \n
      \n
      \n \n
      \n
      \n \n \n \n
      \n
    \n \n
    \n\n {/* Australia Combined Financial Services Guide and Product Disclosure Statement */}\n {templateData.country === 'AU' && }\n
    \n
    \n );\n}\n\nexport default withTheme(Footer);\n","import { FPTI_TAGS } from './fptiConstants';\nimport { updateGlobalFPTI } from './helper';\n\nconst analytics = window?.PAYPAL?.analytics?.instance;\n\n// Start client side error tracking\nwindow?.PAYPAL?.analytics?.startClientErrorTracking();\n\nexport const trackEventWithData = (spec = {}, additionalData = {}) => {\n updateGlobalFPTI({\n [FPTI_TAGS.ACTION]: '',\n });\n\n const fptiData = {\n ...window.fpti,\n ...spec.data,\n ...additionalData,\n tsrce: 'donatenodeweb',\n };\n // ref: https://github.paypal.com/pages/Tracking-R/client-side-instrumentation/docs/fptiAnalytics.Analytics.html#recordEvent\n // the 3rd param is set to false meaning the data payload won't be merged\n // with window.fpti object\n analytics?.recordEvent(spec.event_name, fptiData, false);\n};\n\nexport const trackEventWithGlobalData = (spec = {}, additionalData = {}) => {\n updateGlobalFPTI({\n [FPTI_TAGS.ACTION]: '',\n });\n\n const fptiData = {\n ...spec.data,\n ...additionalData,\n tsrce: 'donatenodeweb',\n };\n analytics?.recordEvent(spec.event_name, fptiData, true);\n};\n\nexport const trackPageLoad = (globalData, onceData, fromSetup = false) => {\n updateGlobalFPTI({\n [FPTI_TAGS.ACTION]: '',\n });\n\n globalData.tsrce = 'donatenodeweb';\n analytics?.recordImpression({ data: globalData }, onceData, fromSetup);\n};\n\nexport const trackClick = (data) => {\n updateGlobalFPTI({\n [FPTI_TAGS.ACTION]: '',\n });\n\n data.tsrce = 'donatenodeweb';\n analytics?.recordClick({ data });\n};\n\nexport const trackError = (data) => {\n updateGlobalFPTI({\n [FPTI_TAGS.ACTION]: '',\n });\n\n data.tsrce = 'donatenodeweb';\n analytics?.recordError({ data });\n};\n","import { Dispatcher } from 'flux';\nimport assign from 'object-assign';\n\nconst AppDispatcher = assign(new Dispatcher(), {\n handleViewAction(action) {\n this.dispatch({\n source: 'VIEW_ACTION',\n action: action,\n });\n },\n});\n\nexport default AppDispatcher;\n","import React from 'react';\nimport { BodyText } from '@paypalcorp/pp-react';\nimport PropTypes from 'prop-types';\n\nexport default function ConfirmationTitle(props) {\n return {props.message};\n}\n\nConfirmationTitle.propTypes = {\n message: PropTypes.string,\n};\n","import React from 'react';\nimport { hideSpinnerOverlay, setFocus } from '../utility/helper';\nimport _isFunction from 'lodash/isFunction';\nimport AppStore from '../stores/AppStore';\nimport { fetcher } from '../utility/domUtils';\nimport templateData from '../utility/getTemplateData';\n\nexport default function withPostTransactionRequest(\n WrappedComponent,\n postTransactionUrl\n) {\n return class WithPostTransactionRequest extends React.Component {\n componentDidMount() {\n this.isComponentMounted = true;\n this.requestPostTransaction();\n }\n\n requestPostTransaction = async () => {\n const { token } = templateData;\n this.serverRequest = fetcher(postTransactionUrl, {\n method: 'POST',\n body: JSON.stringify({\n token: token,\n onboardingEnabled: templateData.onboardingEnabled,\n }),\n })\n .then((response) => response.json())\n .then((response) => {\n hideSpinnerOverlay();\n setFocus();\n if (response.data.confirmationData) {\n if (this.isComponentMounted) {\n // Dont call setState on an unmounted component\n this.setState({\n amount:\n response.data.confirmationData.amount ||\n AppStore.getDonationAmount(),\n guestSignUp:\n response.data.confirmationData.guestSignUp || false,\n displayMyAccount:\n response.data.confirmationData.showAccountOverview || false,\n confirmationNumber:\n response.data.confirmationData.confirmationNumber || '',\n receiptId: response.data.confirmationData.receiptId || '',\n recurringConfirmationId:\n response.data.confirmationData.recurringConfirmationId || '',\n });\n }\n }\n });\n };\n\n abortRequestPostTransaction = () => {\n this.isComponentMounted = false;\n if (this.serverRequest && _isFunction(this.serverRequest.abort)) {\n this.serverRequest.abort();\n }\n };\n\n componentWillUnmount = () => {\n this.abortRequestPostTransaction();\n };\n\n render() {\n return ;\n }\n };\n}\n","import templateData from '../utility/getTemplateData';\nimport { getParameterByName } from './queryStringHelper';\n\nconst REMEMBERED_AUTH_STATE = 'REMEMBERED';\nconst LOGGEDIN_AUTH_STATE = 'LOGGEDIN';\nconst FROMUL_QUERY_PARAM = 'fromUL';\n\nexport function getForcedLoginUrlWithoutOt() {\n return templateData.forcedLoginUrlWithoutOt;\n}\n\nexport function getHardLogoutUrl(force = false) {\n return templateData.hardLogoutUrl;\n}\n\nexport function isOneTouchUser(authState) {\n return (\n templateData.authState === REMEMBERED_AUTH_STATE ||\n authState === REMEMBERED_AUTH_STATE\n );\n}\n\nexport function isLoggedInUser(authState) {\n return (\n templateData.authState === LOGGEDIN_AUTH_STATE ||\n authState === LOGGEDIN_AUTH_STATE\n );\n}\n\nexport function isAuthenticatedUser() {\n return isOneTouchUser() || isLoggedInUser();\n}\n\nexport function shouldShowUserBanner() {\n if (isOneTouchUser()) {\n return true;\n }\n\n const fromUL = getParameterByName(FROMUL_QUERY_PARAM) || '';\n\n if (!fromUL && isLoggedInUser()) {\n return true;\n }\n\n if (fromUL === 'true' && isLoggedInUser()) {\n return false;\n }\n\n // Default to not showing the banner\n return false;\n}\n","import React from 'react';\nimport { trackLinkClick } from '../fpti/fpti';\nimport { LINK_NAME } from '../fpti/fptiConstants';\nimport { EVENT_NAME } from '../utility/constants';\nimport { isExternalFlow } from '../utility/productIntegrationUtils';\nimport TemplateData from '../utility/getTemplateData';\nimport { isInContext, isMobileOrTablet } from '../utility/inContextDonation';\nimport classNames from 'classnames';\nimport { CancelAndReturnUrl } from '@paypalcorp/donate-react';\nimport { Col } from '@paypalcorp/pp-react';\nimport { MessageFormat } from '@paypalcorp/worldready';\nimport { Context as WorldReadyContext } from '@paypalcorp/worldready-react';\n\nclass CancelAndReturn extends React.Component {\n static contextType = WorldReadyContext;\n\n constructor() {\n super();\n this.state = {\n displayMe: TemplateData.charityCancelUrl ? true : false,\n };\n this.isLanding = TemplateData.viewName === 'landing';\n }\n\n handleCancel = () => {\n trackLinkClick(LINK_NAME.CANCEL, {\n eventName: EVENT_NAME.DONATE_LANDING_MERCHANT_SITE_PRESSED,\n });\n let cancelurl = TemplateData.charityCancelUrl;\n if (cancelurl.indexOf('http') != 0 && cancelurl.indexOf('//') != 0) {\n cancelurl = '//' + cancelurl;\n }\n window.location.href = cancelurl;\n };\n\n cancelButtonWrapperClass() {\n return classNames({\n 'text-center': true,\n pp_cancel_btn_wrapper: true,\n is_mobile: isMobileOrTablet(),\n is_landing: this.isLanding && !this.props.isGuest,\n });\n }\n\n render() {\n if (isExternalFlow() || isInContext()) {\n return null;\n }\n\n return (\n
    \n {this.state.displayMe && (\n \n \n \n
    \n \n )}\n \n );\n }\n}\n\nexport default CancelAndReturn;\n","const IMPRESSION = {\n e: 'im',\n};\n\nconst ACTIVITY = {\n e: 'ac',\n};\n\nexport const PAGE_SPEC = {\n LANDING_PAGE: {\n pgrp: 'main:donate:wps::landing',\n page: 'main:donate:wps::landing:web::',\n tmpl: 'main:donate:wps::landing',\n },\n GUEST_FORM: {\n pgrp: 'main:donate:wps:guest:guestform',\n page: 'main:donate:wps:guest:guestform:web::',\n tmpl: 'main:donate:wps:guest:guestform:web::',\n },\n GUEST_SUCCESS_PAGE: {\n pgrp: 'main:donate:wps:guest:success',\n page: 'main:donate:wps:guest:success:web::',\n tmpl: 'main:donate:wps:guest:success:web::',\n },\n GUEST_SIGNUP_SUCCESS_PAGE: {\n pgrp: 'main:donate:wps:guest:upgrade',\n page: 'main:donate:wps:guest:upgrade:web::',\n tmpl: 'main:donate:wps:guest:upgrade:web::',\n },\n GUEST_PENDING_PAGE: {\n pgrp: 'main:donate:wps:guest:pending',\n page: 'main:donate:wps:guest:pending:web::',\n tmpl: 'main:donate:wps:guest:pending:web::',\n },\n GUEST_FAILURE_PAGE: {\n url: '/donate/error/payment',\n pgrp: 'main:donate:wps:guest:failure',\n page: 'main:donate:wps:guest:failure:web::',\n tmpl: 'main:donate:wps:guest:failure:web::',\n },\n ONBOARDING_GUEST_FORM: {\n comp: 'donatenodeweb', // Overriding the comp to tell that this event is fired by DNW\n pgrp: 'main:donate:wps:signup:signupform',\n page: 'main:donate:wps:signup:signupform:web::',\n tmpl: 'main:donate:wps:signup:signupform:web::',\n },\n ONBOARDING_GUEST_SUCCESS_PAGE: {\n pgrp: 'main:donate:wps:signup:success',\n page: 'main:donate:wps:signup:success:web::',\n tmpl: 'main:donate:wps:signup:success:web::',\n },\n ONBOARDING_GUEST_PENDING_PAGE: {\n pgrp: 'main:donate:wps:signup:pending',\n page: 'main:donate:wps:signup:pending:web::',\n tmpl: 'main:donate:wps:signup:pending:web::',\n },\n MEMBER_SUCCESS_PAGE: {\n url: '/donate/member/confirmation',\n pgrp: 'main:donate:wps:member:success',\n page: 'main:donate:wps:member:success:web::',\n tmpl: 'main:donate:wps:member:success:web::',\n },\n MEMBER_PENDING_PAGE: {\n url: '/donate/member/pending',\n pgrp: 'main:donate:wps:member:pending',\n page: 'main:donate:wps:member:pending:web::',\n tmpl: 'main:donate:wps:member:pending:web::',\n },\n MEMBER_FAILURE_PAGE: {\n url: '/donate/member/error',\n pgrp: 'main:donate:wps:member:failure',\n page: 'main:donate:wps:member:failure:web::',\n tmpl: 'main:donate:wps:member:failure:web::',\n },\n RECURRING_SUCCESS_PAGE: {\n url: '/donate/member/confirmation-rec',\n pgrp: 'main:donate:wps:member:success',\n page: 'main:donate:wps:member:success:web::',\n tmpl: 'main:donate:wps:member:success:web::',\n },\n MEMBER_REVIEW_PAGE: {\n url: '/donate/member',\n pgrp: 'main:donate:wps:member:review',\n page: 'main:donate:wps:member:review:web::',\n tmpl: 'main:donate:wps:member:review:web::',\n },\n CROSS_BORDER_PAGE: {\n url: '/donate/guest/crossborder',\n pgrp: 'main:donate:wps:guest:crossborder',\n page: 'main:donate:wps:guest:crossborder:web::',\n tmpl: 'main:donate:wps:guest:crossborder:web::',\n },\n THREE_DS_IFRAME: {\n pgrp: 'main:donate:wps:guest:3DS-challenge',\n page: 'main:donate:wps:guest:3DS-challenge:::',\n tmpl: 'main:donate:wps:guest:3DS-challenge:::',\n },\n THREE_DS_IFRAME_ONBRD: {\n pgrp: 'main:onbrd:signup:donate:3DS-challenge',\n page: 'main:onbrd:signup:donate:3DS-challenge:::',\n tmpl: 'main:onbrd:signup:donate:3DS-challenge:::',\n },\n UNILATERAL_ERROR_PAGE: {\n pgrp: 'main:donate:wps:guest:unilateral',\n page: 'main:donate:wps:guest:unilateral:web::',\n tmpl: 'main:donate:wps:guest:unilateral:web::',\n },\n CAPTURE_ORDER_PAGE: {\n pgrp: 'main:donate:wps:{flow}:captureOrder',\n page: 'main:donate:wps:{flow}:captureOrder:web::',\n tmpl: 'main:donate:wps:{flow}:captureOrder:web::',\n },\n WEBSCR_ERROR_PAGE: {\n pgrp: 'main:donate:wps::error',\n page: 'main:donate:wps::error:web::',\n tmpl: 'main:donate:wps::error:web::',\n },\n GENERIC_ERROR_PAGE: {\n pgrp: 'main:donate:wps:generic:failure',\n page: 'main:donate:wps:generic:failure:web::',\n tmpl: 'main:donate:wps:generic:failure:web::',\n },\n CRS_ERROR_PAGE: {\n pgrp: 'main:donate:wps:crs:failure',\n page: 'main:donate:wps:crs:failure:web::',\n tmpl: 'main:donate:wps:crs:failure:web::',\n },\n};\n\nexport const CPL_PAGE_SPEC = {\n LANDING_PAGE: {\n pgrp: 'main:donate:wps::landing:landingPageComponent',\n page: 'main:donate:wps::landing:landingPageComponent:web::',\n action: 'landing_page_loaded',\n uicomp: 'landingPageComponent',\n uitype: 'page',\n },\n GUEST_FORM: {\n pgrp: 'main:donate:wps:guest:guestform:guestFormComponent',\n page: 'main:donate:wps:guest:guestform:guestFormComponent:web:',\n action: 'guest_form_loaded',\n uicomp: 'guestForm',\n },\n TESLA_GUEST_FORM: {\n pgrp: 'main:onbrd:signup:donate:guestFormComponent',\n page: 'main:onbrd:signup:donate:guestFormComponent:web:',\n action: 'tesla_form_loaded',\n uicomp: 'teslaForm',\n },\n};\n\nexport const LINK_NAME = {\n ACCOUNT_HOME: 'myAccount',\n ANONYMOUS_CHECKBOX: 'anonymous_checkbox',\n ANONYMOUS_TOOLTIP: 'anonymousTooltip',\n BACK: 'back',\n CANCEL: 'cancel',\n CHANGE_COUNTRY: 'changeCountry',\n COVER_FEE_CHECKBOX: 'cover_fee_checkbox',\n CURRENCY_CONVERSION: 'showCurrencyConversionModal',\n DONE: 'done',\n GUEST_FORM_PAYMENT_SUBMIT_BUTTON: 'donate',\n NOT_YOU: 'not-you',\n NOTE_PAD: 'note_pad',\n ONBOARDING_FORM_PAYMENT_SUBMIT_BUTTON: 'guestPaymentBtn',\n PRESET_AMOUNT: 'presetAmount',\n PROGRAM_SELECTED: 'campaignSelected',\n RECURRING_CHECKBOX: 'recurringChkBx',\n REPORT_LINK: 'reportInappropriateContent',\n RETURN: 'return_to_merchant',\n SOCIAL_SHARE: 'social_share',\n SOCIAL_SHARE_DISMISS: 'close_social_share',\n UNIFIED_LOGIN: 'requestUnifiedLogin',\n VOUCHER: 'voucher',\n VOUCHER_PRINT: 'voucherprint',\n VOUCHER_SHARE: 'vouchershare',\n LIKE: 'like',\n UNLIKE: 'unlike',\n};\n\nexport const FPTI_TAGS = {\n ACCOUNT_TYPE: 'account_type',\n ACTION: 'action',\n AMOUNT: 'amount',\n AMOUNT_EDIT_ALLOWED: 'allow_amount_edit',\n AUTH_STATE: 'authState',\n CAMPAIGN: 'campaign',\n CAMPAIGN_ID: 'campaign_id',\n CHALLENGE_END_TIME: 'challenge_end_time',\n CHALLENGE_START_TIME: 'challenge_start_time',\n CHALLENGE_STATUS: 'challenge_status', // for 3ds\n CHARITY_NAME: 'charityname',\n CHECKBOX: 'checkbox',\n COUNTRY: 'country',\n CONTINGENCY_RESOLVED: 'contingency_resolved',\n CURRENCY: 'currency',\n DONOR_IP_COUNTRY: 'acct_cntry',\n EVENT_NAME: 'event_name',\n ECCD: 'eccd', // error code\n ENABLED_FREQUENCY: 'enabled_frequency',\n ERPG: 'erpg', // error message\n ERR_CODE: 'error_code',\n ERR_DESC: 'error_desc',\n ERR_FIELD: 'erfd',\n EXPERIMENT_ID: 'xe',\n FEE_AMOUNT: 'fee_amt',\n FEE_CURRENCY: 'fee_curr',\n FEE_PAYER: 'fee_payer',\n FI_NETWORK: 'sel_fmx_tp', // payment card network\n FI_ID: 'fi_id',\n FI_OPERATION: 'fi_operation',\n FI_TYPE: 'fi_type', // payment card type\n FLOW: 'flow',\n LINK: 'link',\n MODULE: 'module',\n LINK_NAME: 'link_name',\n NONANONYMOUS: 'nonanonymous',\n NPID: 'crid', // non-profit ID\n NOTE_ALLOWED: 'is_allow_note',\n NOTE_ADDED: 'has_note',\n INTEGRATION_IDENTIFIER: 'integration_identifier',\n IS_CVV_SENT: 'is_cvv_sent',\n IS_RECURRING: 'is_recurring',\n IS_SIGNUP: 'user_opts_signup',\n IS_3DS_ELIGIBLE: 'is_3ds_eligible',\n ORDER_ID: 'order_id',\n OFFER_TYPE: 'offer_type',\n PAGE_LINK: 'pgln',\n PAGE_NAME: 'page',\n PAGE_GROUP: 'pgrp',\n PAGE_GROUP_LINK: 'pglk',\n PRODUCT: 'product',\n RESP_DURATION: 'resp_duration', // for 3ds\n SCREEN: 'screen',\n SELECTED_PRESET_BUTTON_ID: 'opsel',\n SENDER_ID: 'encr_cust_id',\n SELECTED_FREQUENCY: 'selected_frequency',\n STATUS: 'status',\n STATUS_CODE: 'status_code',\n PROCESS_STATUS: 'process_status',\n SWITCH: 'switch',\n TOKEN: 'token',\n THREE_DS_DCC_START_TIME: 'dcc_start_time',\n THREE_DS_DCC_END_TIME: 'dcc_end_time',\n THREE_DS_LOOKUP_END_TIME: 'lookup_end_time',\n THREE_DS_LOOKUP_START_TIME: 'lookup_start_time',\n THREE_DS_REF_ID: '3ds_ref_id',\n THREE_DS_RESP_DURATION: 'resp_duration',\n THREE_DS_SPINNER_START_TIME: 'spinner_start_time',\n THREE_DS_SPINNER_END_TIME: 'spinner_end_time',\n THREE_DS_VERSION: '3ds_version',\n TREATMENT_ID: 'xt',\n TXN_ID: 'trid',\n UI_TYPE: 'ui_type', // full_page/popup/popup_blocked\n URL: 'url',\n UOB_BUNDLE_TYPE: 'onboardingBundleType',\n VERSION: 'version',\n FEATURE: 'feature',\n SOURCE: 'source',\n UPDATE_ID: 'update_id',\n DISMISS_METHOD: 'dismiss_method',\n COUNT: 'count',\n STATE: 'state',\n AMOUNT_TYPE: 'amttyp',\n ENCR_RCVR_ID: 'encr_rcvr_id',\n NP_ID: 'np_id',\n};\n\nexport const CLOSE_SHEET_REASONS = {\n BACKDROP_CLICK: 'backdropClick',\n CLOSE_BUTTON: 'closeButton',\n ESC: 'ESC',\n SWIPE_DOWN: 'swipeDown',\n};\n\nexport const DISMISS_METHODS = {\n CLOSE: 'close',\n BACKGROUND: 'background',\n};\n\nexport const LOADING_STATES = {\n POPULATED: 'populated',\n EMPTY: 'empty',\n};\n\nexport const FEATURES = {\n CTF: 'CTF',\n RECURRING: 'recurring',\n PRESET: 'preset',\n ANONYMOUS: 'anonymous',\n CHARITY_NOTE: 'charityNote',\n DONATION_AMOUNT_EDITABLE: 'donationAmountEditable',\n GUEST: 'guest',\n GIFT_AID: 'giftAid',\n MAILING_ADDRESS: 'mailingAddress',\n SOCIAL_SHARE_PREFERENCE: 'socialSharePreference',\n};\n\nexport const FPTI_SPEC = {\n CONFIRMATION_PAGE_SET_FAV_CHARITY_MODULE_SHOWN: {\n event_name: 'donate_donor_view_post_donation_set_fav_charity_module_shown',\n data: {\n ...IMPRESSION,\n },\n },\n CONFIRMATION_PAGE_CREATE_FUNDRAISER_MODULE_SHOWN: {\n event_name:\n 'donate_donor_view_post_donation_create_fundraiser_module_shown',\n data: {\n ...IMPRESSION,\n },\n },\n CONFIRMATION_PAGE_INSIGHTS_MODULE_SHOWN: {\n event_name: 'donate_donor_view_post_donation_insights_module_shown',\n data: {\n ...IMPRESSION,\n },\n },\n CONFIRMATION_PAGE_SET_FAV_CHARITY_SUCCESS: {\n event_name: 'donate_donor_view_post_donation_set_favorite_charity_success',\n data: {\n ...IMPRESSION,\n },\n },\n DONATE_ADROIT_REDIRECTION_FOR_CIP_VERIFICATION: {\n event_name: 'donate_adroit_redirection_for_cip_verification',\n data: {\n ...ACTIVITY,\n },\n },\n};\n","import React from 'react';\nimport { IconButton, CloseIcon } from '@paypalcorp/pp-react';\nimport { closeWindow, isInContext } from '../utility/inContextDonation';\nimport TemplateData from '../utility/getTemplateData';\nimport { getDismissEventName } from '../utility/productIntegrationUtils';\nimport { Message } from '@paypalcorp/worldready-react';\nimport PropTypes from 'prop-types';\nimport { trackLinkClick } from '../fpti/fpti';\nimport { LINK_NAME } from '../fpti/fptiConstants';\n\nexport default function CloseButton(props) {\n const handleClose = () => {\n trackLinkClick(LINK_NAME.CANCEL, {\n eventName: getDismissEventName(),\n });\n if (isInContext()) {\n closeWindow();\n return;\n }\n window.location.href = TemplateData.charityCancelUrl;\n };\n\n return (\n \n \n \n );\n}\n\nCloseButton.propTypes = {\n isDarkButton: PropTypes.bool,\n};\n","import TemplateData from '../../utility/getTemplateData';\nimport {\n formatCurrencyAsString,\n normalizeNumber,\n formatCurrencyNoDecimals,\n getCurrencyParts,\n} from '../../utility/formator';\nimport AppStore from '../../stores/AppStore';\nimport {\n getMaximumDonationAlertMessage,\n isExternalFlow,\n} from '../../utility/productIntegrationUtils';\nimport { MessageFormat } from '@paypalcorp/worldready';\nimport {\n formatNumber,\n getWorldReady,\n formatCurrency,\n} from '../../utility/worldReadyUtils';\n\nexport const MIN_INPUT_WIDTH = 91;\nexport const DEFAULT_INPUT_FONTSIZE = 44;\n\n/**\n * This is a copy of the function \"formatAmountFromServer\" from\n * \"public/js/buttons/utils/amountUtils.js\"\n */\nexport function formatAmountFromServerDNW(value, { noDecimals = false } = {}) {\n if (isExternalFlow() || (noDecimals && value % 1 === 0)) {\n return formatCurrencyNoDecimals(value);\n }\n\n return formatAmount(value);\n}\n\nexport function formatAmount(value = '') {\n return formatNumber(Number(value));\n}\n\nexport function amountLengthValid(value = '') {\n const val = value.replace(/[^0-9]/g, '') || 0;\n\n if (val.length > 9) {\n return false;\n }\n return true;\n}\n\nconst allowedKeys = [16, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57];\nexport function isKeyAllowed(keyCode) {\n return allowedKeys.indexOf(keyCode) > -1;\n}\n\nexport function getMinimumDonationErrorMessage(id, amount = 1) {\n const worldReady = getWorldReady();\n\n const formattedDollarOne = formatCurrencyAsString({\n value: amount,\n currency: TemplateData.donationCode,\n maximumFractionDigits: 0,\n });\n\n return new MessageFormat(worldReady, {\n id: `${id}.error.minimumDonationUS`,\n }).format({ amount: formattedDollarOne });\n}\n\n/**\n * 1. Validate donation amount against the minimum donation amount\n * configured by clients or the $1 requirement for US, whichever is larger\n * 2. Validate if amount is greater than 0\n */\n\nexport function validateMinimumDonationAmount(id) {\n // Get client configured minimum donation from token\n let minimumDonationAmount = Number(TemplateData.minimumDonationAmount) || 0;\n if (TemplateData.donationCode === 'USD') {\n // For US donations, set the minimum amount limit as the lager amount\n // of the client's configuration and $1\n minimumDonationAmount = Math.max(minimumDonationAmount, 1);\n }\n\n const worldReady = getWorldReady();\n const donationAmount = Number(AppStore.getDonationAmount());\n\n let showValidationError = false,\n validationErrorMessage = '',\n validationErrorCode = '';\n if (\n donationAmount !== 0 &&\n minimumDonationAmount > 0 &&\n donationAmount < minimumDonationAmount\n ) {\n showValidationError = true;\n validationErrorMessage = getMinimumDonationErrorMessage(\n id,\n minimumDonationAmount\n );\n validationErrorCode = 'MINIMUM_DONATION_AMOUNT_VALIDATION_ERROR';\n } else if (donationAmount <= 0) {\n showValidationError = true;\n validationErrorMessage = new MessageFormat(worldReady, {\n id: `${id}.error.amount`,\n }).format();\n validationErrorCode = 'MINIMUM_DONATION_AMOUNT_VALIDATION_ERROR';\n }\n return {\n showValidationError,\n validationErrorMessage,\n validationErrorCode,\n };\n}\n\nexport function validateMaximumDonationAmount(maxAmount, limitReason) {\n const maximumDonationAmount =\n Number(TemplateData.maximumDonationAmount) || maxAmount || 0;\n const donationAmount = Number(AppStore.getDonationAmount());\n let showValidationError = false,\n validationErrorMessage = '',\n validationErrorCode = '';\n if (maximumDonationAmount > 0 && donationAmount > maximumDonationAmount) {\n showValidationError = true;\n validationErrorMessage = getMaximumDonationAlertMessage(limitReason);\n validationErrorCode = 'MAXIMUM_DONATION_AMOUNT_VALIDATION_ERROR';\n }\n return { showValidationError, validationErrorMessage, validationErrorCode };\n}\n\nexport function isAmountGreaterThanZero(amount) {\n return Number(amount) > 0;\n}\n\n/**\n * Returns griffin-normalized number or zero\n */\nexport function getNormalizedNumber(amount) {\n try {\n if (!amount) {\n return 0;\n }\n\n const normalizedNumber = normalizeNumber(amount);\n\n if (isNaN(normalizedNumber)) {\n return 0;\n }\n\n if (typeof normalizedNumber !== 'number' && normalizedNumber.errors) {\n return 0;\n }\n\n return normalizedNumber;\n } catch (e) {\n return 0;\n }\n}\n\n/**\n * Gets the width of the input field\n * @param {HTMLElement} input The input element\n * @param {String} text Value of the input element\n * @return {Number} Width of the input element\n */\nexport function getInputWidth(field, text) {\n text = text || '0.00';\n\n // Get styles from the element\n const currentStyles = window.getComputedStyle(field) || {};\n const { fontWeight } = currentStyles;\n const fontSize = `${getFontSize(text)}px`;\n\n // Create a span element outside visible area\n const spanElem = document.createElement('span');\n spanElem.style.fontSize = fontSize;\n spanElem.style.fontFamily = 'PayPalSansBig-Regular';\n spanElem.style.fontWeight = fontWeight || '400';\n spanElem.style.position = 'fixed';\n spanElem.style.top = '-1000px';\n spanElem.style.left = '-1000px';\n spanElem.innerHTML = text;\n document.body.appendChild(spanElem);\n\n // Get width of the span and then remove it\n const width = spanElem.getBoundingClientRect().width + 2; // increase by 2px to fix a layout problem in Safari iOS browser.\n document.body.removeChild(spanElem);\n\n if (width < MIN_INPUT_WIDTH) {\n return MIN_INPUT_WIDTH;\n }\n return width;\n}\n\nconst DIGITS_TO_FONT_SIZE_MAPPING = {\n 8: 42,\n 9: 40,\n 10: 38,\n};\nexport function getFontSize(value) {\n const digitCount = value.replace(/[\\.,]/g, '').length;\n\n if (digitCount < 8) {\n return DEFAULT_INPUT_FONTSIZE;\n }\n\n return DIGITS_TO_FONT_SIZE_MAPPING[`${digitCount}`] || 44;\n}\n\nexport function isRightSymbol() {\n const currencyParts = getCurrencyParts();\n const [firstParts = {}] = currencyParts;\n return firstParts.type !== 'currencySymbol';\n}\n\nexport function formatCurrencyWithoutDecimals(params, format) {\n if (!params.value || !params.currency) {\n return '';\n }\n const options = {\n currency: params.currency,\n maximumFractionDigits: 0,\n style: 'international',\n };\n\n return formatCurrency(params.value, options);\n}\n","import templateData from './getTemplateData';\n\nconst countries = ['IL'];\n\nfunction isPslCountry() {\n const userCountry = templateData?.legalCountry;\n return countries.indexOf(userCountry) >= 0;\n}\n\nexport default isPslCountry;\n","const keyMirror = require('keymirror');\n\nmodule.exports = {\n CHANGE_AMOUNT: 'CHANGE_AMOUNT',\n CHANGE_SYMBOL: 'CHANGE_SYMBOL',\n CHANGE_CODE: 'CHANGE_CODE',\n CHANGE_RECURRING: 'CHANGE_RECURRING',\n CHANGE_RECURRING_FREQUENCY: 'CHANGE_RECURRING_FREQUENCY',\n CHANGE_COVER_FEE: 'CHANGE_COVER_FEE',\n CHANGE_FEE_AMOUNT: 'CHANGE_FEE_AMOUNT',\n CHANGE_FORMATED_FEE_AMOUNT: 'CHANGE_FORMATED_FEE_AMOUNT',\n CHANGE_AMOUNT_BEFORE_FEE: 'CHANGE_AMOUNT_BEFORE_FEE',\n CHANGE_ANONYMOUS_STATUS: 'CHANGE_ANONYMOUS_STATUS',\n RP_MODAL_CLOSED: 'RP_MODAL_CLOSED',\n GIFT_AID_IT: 'GIFT_AID_IT',\n CHANGE_FORMATED_AMOUNT: 'CHANGE_FORMATED_AMOUNT',\n\n CHANGE_NOTE: 'CHANGE_NOTE',\n\n CHANGE_COUNTRY: 'CHANGE_COUNTRY',\n\n CHANGE_CARD_NUMBER: 'CHANGE_CARD_NUMBER',\n CHANGE_EXP_DATE: 'CHANGE_EXP_DATE',\n CHANGE_SECURITY_CODE: 'CHANGE_SECURITY_CODE',\n CHANGE_CARD_SPEC: 'CHANGE_CARD_SPEC',\n\n CHANGE_FIRST_NAME: 'CHANGE_FIRST_NAME',\n CHANGE_LAST_NAME: 'CHANGE_LAST_NAME',\n\n CHANGE_ADDRESS: 'CHANGE_ADDRESS',\n\n CHANGE_PHONE: 'CHANGE_PHONE',\n CHANGE_EMAIL: 'CHANGE_EMAIL',\n\n CHANGE_PASSWORD: 'CHANGE_PASSWORD',\n\n SHOW_LANGUAGE_SELECTOR: 'SHOW_LANGUAGE_SELECTOR',\n\n UPDATE_CONFIRMATION: 'UPDATE_CONFIRMATION',\n\n POST_BACK_DATA: 'POST_BACK_DATA',\n\n UPDATE_CURRENT_PAGE: 'UPDATE_CURRENT_PAGE',\n\n UPDATE_SERVER_ERRORS: 'UPDATE_SERVER_ERRORS',\n\n PAYMENT_ERROR: 'PAYMENT_ERROR',\n\n UPDATE_SIGN_UP_ERROR: 'UPDATE_SIGN_UP_ERROR',\n\n FUNDING_OPTIONS: 'FUNDING_OPTIONS',\n\n EMAIL: 'EMAIL',\n\n BILLING_ADDRESS: 'BILLING_ADDRESS',\n\n UPDATE_DONATION_AMOUNT_TYPE: 'UPDATE_DONATION_AMOUNT_TYPE',\n\n ENABLE_PRESET_AMOUNTS: 'ENABLE_PRESET_AMOUNTS',\n\n CHANGE_SHARE_ADDRESS: 'CHANGE_SHARE_ADDRESS',\n\n ADD_CARD_ERROR: 'ADD_CARD_ERROR',\n\n UPDATE_SELECTED_PROGRAM: 'UPDATE_SELECTED_PROGRAM',\n\n SAVE_FORM_DATA: 'SAVE_FORM_DATA',\n\n UPDATE_THREEDS_DATA: 'UPDATE_THREEDS_DATA',\n\n UPDATE_SELECTED_PRESET_BUTTON_ID: 'UPDATE_SELECTED_PRESET_BUTTON_ID',\n\n UPDATE_ORDER_STATUS: 'UPDATE_ORDER_STATUS',\n\n UPDATE_PPCC_STATUS: 'UPDATE_PPCC_STATUS',\n\n EMAIL_REX:\n /^(?=.{1,254}$)(?=.{1,64}@)[-!#$%&'*+\\/0-9=?A-Z^_`a-z{|}~]+(\\.[-!#$%&'*+\\/0-9=?A-Z^_`a-z{|}~]+)*@[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?(\\.[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?)*$/,\n\n DEFAULT_CARD_SPEC: {\n type: 'card',\n fields: {\n ccNumber: {\n required: true,\n pattern: '4[0-9]{12}(?:[0-9]{3})?',\n maxlength: 19,\n },\n expirationDate: {\n required: true,\n pattern: '(0[1-9]|1[012])[/]((20)[0-9]{2}|[0-9]{2})',\n maxlength: 7,\n },\n csc: {\n required: true,\n pattern: '[0-9]*',\n maxlength: 3,\n minlength: 3,\n },\n },\n },\n DONATE_GIFTAID_IT_EXTRA_AMOUNT: 1.25,\n\n PPGF_DISCLAIMER_TOUCHPOINT: 'Donate_PPGF_Disclaimers_Touchpoint',\n GN_CONTENT_TOUCHPOINT: 'Donate_GN_Content_Touchpoint',\n NNA_CONTENT_TOUCHPOINT: 'Donate_NNA',\n\n PRODUCT: {\n BRANDED_CAMPAIGN: 'BRANDED_CAMPAIGN',\n GENEROSITY_NETWORK: 'GENEROSITY_NETWORK',\n GENEROSITY_NETWORK_CHARITIES: 'GENEROSITY_NETWORK_CHARITIES',\n PP_FUNDRAISING: 'PP_FUNDRAISING',\n DONATE_BUTTON_CAMPAIGN: 'DONATE_BUTTON_CAMPAIGN',\n WPS_DONATION: 'WPS_DONATION',\n\n // externalIntegeration\n PAYPAL_FUNDRAISER_LISTED_CAMPAIGN: 'PAYPAL_FUNDRAISER_LISTED_CAMPAIGN',\n PAYPAL_FUNDRAISER_UNLISTED_CAMPAIGN: 'PAYPAL_FUNDRAISER_UNLISTED_CAMPAIGN',\n },\n\n // Post payment product type identifiers\n PRODUCT_TYPE: {\n DBUTTON: 'DBUTTON',\n DBUTTONC: 'DBUTTONC',\n SEND_MONEY_RECURRING_DONATION: 'SEND_MONEY_RECURRING_DONATION',\n DONATE_BUTTON: 'DONATE_BUTTON',\n },\n\n EVENT_NAME: {\n DW_GIVING_DONATE_SETUP_SCREEN_SHOWN: 'dw_giving_donate_setup_screen_shown',\n DW_GIVING_DONATE_SETUP_COMMENT_PRESSED:\n 'dw_giving_donate_setup_comment_pressed',\n DW_GIVING_DONATE_SETUP_NEXT_PRESSED: 'dw_giving_donate_setup_next_pressed',\n DW_GIVING_DONATE_SETUP_DONATE_WITH_CARD_PRESSED:\n 'dw_giving_donate_setup_card_pressed',\n DW_GIVING_DONATE_SETUP_TOOLTIP_PRESSED:\n 'dw_giving_donate_setup_tooltip_pressed',\n DW_GIVING_DONATE_SETUP_TERMS_PRESSED:\n 'dw_giving_donate_setup_terms_pressed',\n DW_GIVING_DONATE_SETUP_DISMISS_PRESSED:\n 'dw_giving_donate_setup_dismiss_pressed',\n DW_GIVING_DONATE_SETUP_SHARE_CONTACT_CHECK_PRESSED:\n 'dw_giving_donate_setup_share_contact_check_pressed',\n DW_GIVING_DONATE_SETUP_SHARE_CONTACT_UNCHECK_PRESSED:\n 'dw_giving_donate_setup_share_contact_uncheck_pressed',\n DW_GIVING_GUEST_FORM_SCREEN_SHOWN: 'dw_giving_guest_form_screen_shown',\n DW_GIVING_GUEST_FORM_DONATE_PRESSED: 'dw_giving_guest_form_donate_pressed',\n DW_GIVING_GUEST_FORM_DISMISS_PRESSED:\n 'dw_giving_guest_form_dismiss_pressed',\n DW_GIVING_MEMBER_REVIEW_DISMISS_PRESSED:\n 'dw_giving_member_review_dismiss_pressed',\n DW_GIVING_PAYMENT_SUCCESS_DISMISS_PRESSED:\n 'dw_giving_payment_success_dismiss_pressed',\n DW_GIVING_PAYMENT_SUCCESS_DONE_PRESSED:\n 'dw_giving_payment_success_done_pressed',\n DW_GIVING_PAYMENT_SUCCESS_SCREEN_SHOWN:\n 'dw_giving_payment_success_screen_shown',\n DW_GIVING_PAYMENT_PENDING_SCREEN_SHOWN:\n 'dw_giving_payment_pending_screen_shown',\n DW_GIVING_PAYMENT_SUCCESS_SHARE_PRESSED:\n 'dw_giving_payment_success_share_pressed',\n DW_GIVING_SHARE_SCREEN_SHOWN: 'dw_giving_share_screen_shown',\n DW_GIVING_SHARE_CHANNEL_PRESSED: 'dw_giving_share_channel_pressed',\n DW_GIVING_SHARE_DISMISS_PRESSED: 'dw_giving_share_dismiss_pressed',\n DW_GIVING_REDIRCT_SCREEN_SHOWN: 'dw_giving_redirct_screen_shown',\n DW_GIVING_REDIRCT_OPEN_PRESSED: 'dw_giving_redirct_open_pressed',\n DW_GIVING_REDIRCT_DISMISS_PRESSED: 'dw_giving_redirct_dismiss_pressed',\n DW_GIVING_FAILED_CUSTOMER_INTERACTION_OCCURRED:\n 'dw_giving_failed_customer_interaction_occurred',\n DONATION_PAYMENT_VIEW_LANDING_DONATE_PRESSED:\n 'donate_donor_view_landing_donate_pressed',\n DONATION_PAYMENT_VIEW_LANDING_PAYPAL_PRESSED:\n 'donate_donor_view_embed_page_donate_with_paypal_pressed',\n DONATION_PAYMENT_VIEW_LANDING_CARD_PRESSED:\n 'donate_donor_view_embed_page_donate_with_card_pressed',\n DONATION_PAYMENT_VIEW_LANDING_FREQUENCY_PRESSED:\n 'donate_donor_view_embed_page_frequency_pressed',\n DONATION_PAYMENT_GUEST_FORM_DONATE_PRESSED:\n 'donate_donor_view_guest_form_donate_pressed',\n DONATION_ANONYMOUS_CHECKBOX_CHECK_PRESSED:\n 'donate_donor_view_share_contact_check_pressed',\n DONATION_ANONYMOUS_CHECKBOX_UNCHECK_PRESSED:\n 'donate_donor_view_share_contact_uncheck_pressed',\n DONATION_CONFIRMATION_PAGE_IMP:\n 'donate_donor_view_payment_success_screen_shown',\n DONATE_THREE_DS_DDC_START: 'donate_three_ds_ddc_start',\n DONATE_THREE_DS_DDC_COMPLETE: 'donate_three_ds_ddc_complete',\n DONATE_THREE_DS_DDC_FAILURE: 'donate_three_ds_ddc_failure',\n DONATE_THREE_DS_LOOKUP_START: 'donate_three_ds_lookup_start',\n DONATE_THREE_DS_LOOKUP_COMPLETE: 'donate_three_ds_lookup_complete',\n DONATE_THREE_DS_IFRAME_SHOWN: 'donate_three_ds_iframe_shown',\n DONATE_THREE_DS_PROOCEED_TO_PAYMENT: 'donate_three_ds_proceed_to_payment',\n DONATE_LANDING_SCREEN_SHOWN: 'donate_donor_view_landing_screen_shown',\n DONATE_REVIEW_SCREEN_SHOWN: 'donate_donor_view_payment_review_screen_shown',\n DONATE_GUEST_FORM_SCREEN_SHOWN: 'donate_donor_view_guest_form_screen_shown',\n DONATE_SUCCESS_SHARE_MESSAGE:\n 'donate_donor_view_payment_success_share_pressed',\n DONATE_SUCCESS_MERCHANT_SITE_PRESSED:\n 'donate_donor_view_payment_success_merchant_site_pressed',\n DONATE_LANDING_MERCHANT_SITE_PRESSED:\n 'donate_donor_view_landing_merchant_site_pressed',\n DONATE_GUEST_REVIEW_PROCESS_DONATE_CLICK:\n 'donate_donor_view_payment_review_donate_pressed',\n DONATE_GENERIC_SOCIAL_SHARE_SCREEN_SHOWN:\n 'donate_donor_view_generic_social_share_screen_shown',\n DONATE_MATCH_SOCIAL_SHARE_SCREEN_SHOWN:\n 'donate_donor_view_match_social_share_screen_shown',\n DONATE_LANDING_UPDATES_MODULE_SHOWN:\n 'donate_donor_view_landing_updates_module_shown',\n DONATE_LANDING_UPDATES_READ_MORE_PRESSED:\n 'donate_donor_view_landing_updates_read_more_pressed',\n DONATE_LANDING_UPDATES_SHOW_MORE_PRESSED:\n 'donate_donor_view_landing_updates_show_more_pressed',\n DONATE_LANDING_UPDATES_LIKE_PRESSED:\n 'donate_donor_view_landing_updates_like_pressed_start',\n DONATE_LANDING_UPDATES_LIKE_PRESSED_COMPLETED:\n 'donate_donor_view_landing_updates_like_pressed_completed',\n DONATE_LANDING_UPDATES_LIST_SHOWN:\n 'donate_donor_view_updates_list_screen_shown',\n DONATE_LANDING_UPDATES_LIST_LIKE_PRESSED:\n 'donate_donor_view_updates_list_like_pressed',\n DONATE_LANDING_UPDATES_LIST_SELECTION_PRESSED:\n 'donate_donor_view_updates_list_selection_pressed',\n DONATE_LANDING_UPDATES_LIST_DISMISS_PRESSED:\n 'donate_donor_view_updates_list_dismiss_pressed',\n DONATE_LANDING_UPDATES_DETAIL_VIEW_SHOWN:\n 'donate_donor_view_updates_detail_screen_shown',\n DONATE_LANDING_UPDATES_DETAIL_LIKE_PRESSED:\n 'donate_donor_view_updates_detail_like_pressed',\n DONATE_LANDING_UPDATES_DETAIL_DISMISS_PRESSED:\n 'donate_donor_view_updates_detail_dismiss_pressed',\n DONATE_LANDING_UPDATES_LOGIN_VIEW_SHOWN:\n 'donate_donor_view_updates_login_screen_shown',\n DONATE_LANDING_UPDATES_LOGIN_BUTTON_PRESSED:\n 'donate_donor_view_updates_login_log_in_pressed',\n DONATE_LANDING_UPDATES_LOGIN_SIGNUP_PRESSED:\n 'donate_donor_view_updates_login_sign_up_pressed',\n DONATE_LANDING_UPDATES_LOGIN_DISMISS_PRESSED:\n 'donate_donor_view_updates_login_dismiss_pressed',\n DONATE_LANDING_UPDATES_LOADING_ERROR_SHOWN:\n 'donate_donor_view_updates_loading_error_shown',\n DONATE_LANDING_UPDATES_LOADING_ERROR_RETRY_PRESSED:\n 'donate_donor_view_updates_loading_error_retry_pressed',\n DONATE_DONOR_VIEW_POST_DONATION_SET_FAV_CHARITY_MODULE_PRESSED:\n 'donate_donor_view_post_donation_set_fav_charity_module_pressed',\n DONATE_DONOR_VIEW_POST_DONATION_CREATE_FUNDRAISER_MODULE_PRESSED:\n 'donate_donor_view_post_donation_create_fundraiser_module_pressed',\n DONATE_DONOR_VIEW_POST_DONATION_INSIGHTS_MODULE_PRESSED:\n 'donate_donor_view_post_donation_insights_module_pressed',\n DONATE_DONOR_VIEW_POST_DONATION_SET_FAVORITE_CHARITY_ERROR:\n 'donate_donor_view_post_donation_set_favorite_charity_error',\n DONATE_DONOR_VIEW_POST_DONATION_CREATE_FUNDRAISER_MODAL_SHOWN:\n 'donate_donor_view_post_donation_create_fundraiser_modal_shown',\n DONATE_DONOR_VIEW_POST_DONATION_CREATE_FUNDRAISER_MODAL_PRESSED:\n 'donate_donor_view_post_donation_create_fundraiser_modal_pressed',\n },\n\n SCREEN_NAME: {\n DW_GIVING_DONATE_SETUP_SCREEN: 'dw_giving_donate_setup_screen',\n DW_GIVING_DONATE_GUEST_FORM_SCREEN: 'dw_giving_donate_guest_form_screen',\n },\n\n FPTI_PRODUCT: 'dw_giving',\n KEY_DOWN: {\n TAB: 9,\n LEFT_ARROW: 37,\n UP_ARROW: 38,\n RIGHT_ARROW: 39,\n DOWN_ARROW: 40,\n SPACE: 32,\n ENTER: 13,\n },\n\n AU_CRS: {\n STATUS: {\n ABORTED: 'ABORTED',\n FAILURE: 'FAILURE',\n SUCCESS: 'SUCCESS',\n },\n ABORTED_STATUS_CODE: ['DOC_UPLOAD_PENDING', 'INFO_NOT_COLLECTED'],\n FAILURE_STATUS_CODE: [\n 'INVALID_REQUEST',\n 'NOT_APPLICABLE',\n 'SERVICE_UNAVAILABLE',\n 'THIRD_PARTY_VERIFICATION_FAIL',\n 'UNAUTHORIZED',\n ],\n SUCCESS_STATUS_CODE: ['COMPLETED', 'VERIFIED'],\n SINGLE_TAX_RESIDENCY: 'tax_inside_legal_country',\n MULTI_TAX_RESIDENCY: 'tax_outside_legal_country',\n },\n ALLOWED_IMAGE_TYPES: [\n 'image/gif',\n 'image/jpg',\n 'image/jpeg',\n 'image/png',\n 'image/bmp',\n ],\n MAX_IMAGE_SIZE: 12582912,\n KILOBYTE: 1024,\n MEGABYTE: 1048576,\n BTN_IMAGE_MAX_FILE_SIZE: 2000000, // 2MB;\n ALLOWED_FILE_EXTENSIONS: ['jpg', 'jpeg', 'gif', 'png', 'bmp', 'tiff', 'tif'],\n IMG_SCALE_SIZE: {\n WIDTH_STEP_1: 300,\n WIDTH_BANNER: 616,\n WIDTH_LOGO: 400,\n WIDTH_CAMPAIGN: 864,\n },\n INSTRUMENT_TYPES: {\n HOLDING: 'HOLDING',\n PAYMENT_CARD: 'PAYMENT_CARD',\n PAYMENT_TOKEN: 'PAYMENT_TOKEN',\n BANK_ACCOUNT: 'BANK_ACCOUNT',\n CREDIT: 'CREDIT',\n UNKNOWN: 'UNKNOWN',\n },\n PAYMENT_CARDS: keyMirror({\n VISA: null,\n MASTERCARD: null,\n MASTER_CARD: null,\n MAESTRO: null,\n AMEX: null,\n DISCOVER: null,\n JCB: null,\n CHINA_UNION_PAY: null,\n }),\n CDN_HOST_NAME: 'https://www.paypalobjects.com',\n MERCHANT_PPCC_CONFIRMED_STATUS: 'CONFIRMED',\n FULL: 'CTRL',\n VARIANT_VALUEPROP_1: 'TRMT_1',\n VARIANT_VALUEPROP_2: 'TRMT_2',\n VARIANT_VALUEPROP_3: 'TRMT_3',\n APP_ID: '321983581337375',\n ORGANIZER_UPDATES: {\n INITIAL_UPDATES_COUNT: 3, // initial number of updates to show on overview page\n MAX_UPDATES_PER_PAGE: 30, // max updates returned by FRS API per page\n MAX_CHARACTERS_SUBJECT: 50, // max number of characters in the subject of an update\n MAX_ORGANIZER_UPDATES: 200, // max number of updates allowed for an account\n ACTIONS: {\n SHOW_UPDATE_DETAIL_VIEW: 'showUpdateDetailView',\n SHOW_UPDATE_LIST: 'showUpdatesList',\n ORGANIZER_UPDATE_SINGLE_UPDATE_ERROR: 'showSingleUpdateError',\n },\n },\n INTERNAL_ERROR: 'INTERNAL_ERROR',\n DNW_UNHANDLED_ERROR: 'DNW_UNHANDLED_ERROR',\n POST_DONATION_MODULES: {\n SET_FAVORITE_CHARITY: 'SET_FAVORITE_CHARITY',\n CREATE_FUNDRAISER: 'CREATE_FUNDRAISER',\n GIVING_SUMMARY: 'GIVING_SUMMARY',\n SHARE: 'SHARE',\n },\n};\n","import { isExternalFlow } from './productIntegrationUtils';\nimport templateData from './getTemplateData';\nimport { isInContext } from './inContextDonation';\n\n// eslint-disable-next-line max-params\nfunction getSocialCampaign(\n messages,\n orgName,\n hostedButtonId,\n campaignId,\n socialTitle,\n email,\n isPostDonationModule = false\n) {\n const {\n emailSubject = '',\n emailBody = '',\n mobileText = '',\n facebookMessage = '',\n twitterMessage = '',\n whatsappMessage = '',\n copyLinkHeader = '',\n copyLinkSubheaderBefore = '',\n copyLinkSubheader = '',\n copyText = '',\n copiedText = '',\n } = messages || {};\n const domain = templateData.paypalHostName;\n\n const shareableUrl =\n // eslint-disable-next-line no-nested-ternary\n hostedButtonId\n ? `${domain}/donate/?hosted_button_id=${hostedButtonId}&source=url`\n : campaignId\n ? `${domain}/donate/?campaign_id=${campaignId}&source=url`\n : `${domain}/donate/?business=${email}&source=url`;\n\n return {\n email: true,\n emailSubject: encodeURIComponent(\n emailSubject.replace('{donationName}', orgName)\n ),\n emailBody: encodeURIComponent(\n emailBody\n .replace(new RegExp('
    ', 'g'), '\\r\\n')\n .replace('{donationName}', orgName)\n .replace('{url}', shareableUrl)\n ),\n mobile: true,\n mobileTitle: encodeURIComponent(\n emailSubject.replace('{donationName}', orgName)\n ),\n mobileText: mobileText.replace('{donationName}', orgName),\n facebook: true,\n facebookMessage: facebookMessage\n .replace('{donationName}', orgName)\n .replace('{url}', shareableUrl),\n facebookMessenger: true,\n whatsapp: true,\n whatsappMessage: encodeURIComponent(\n whatsappMessage\n .replace(new RegExp('
    ', 'g'), '\\r\\n')\n .replace('{donationName}', orgName)\n ),\n twitter: true,\n twitterMessage: twitterMessage.replace('{donationName}', orgName),\n copyLink:\n isInContext() && isExternalFlow() && !isPostDonationModule ? false : true,\n copyLinkHeader,\n copyLinkSubheaderBefore,\n copyLinkSubheader,\n copyLinkCopy: copyText,\n copyLinkCopied: copiedText,\n title: socialTitle,\n sheet: messages.sheet,\n };\n}\n\nexport default getSocialCampaign;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { IconButton, EmailIcon } from '@paypalcorp/pp-react';\n\nfunction SocialShareEmail({ url, handleAnalytics, linkTitle }) {\n const mailToHandle = () => {\n handleAnalytics('email');\n window.location.href = url;\n };\n\n return (\n \n {linkTitle}\n \n );\n}\n\nSocialShareEmail.propTypes = {\n url: PropTypes.string,\n handleAnalytics: PropTypes.func,\n linkTitle: PropTypes.string,\n};\n\nexport default SocialShareEmail;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { IconButton, PhoneIcon } from '@paypalcorp/pp-react';\nimport { StyleSheet, css } from '../../utility/paypalAphrodite';\n\nconst styles = StyleSheet.create({\n iconLink: {\n marginRight: '0.375rem',\n },\n});\n\nfunction SocialShareMobile({ handleMobileClick, linkTitle }) {\n return (\n \n {linkTitle}\n \n );\n}\n\nSocialShareMobile.propTypes = {\n handleMobileClick: PropTypes.func,\n linkTitle: PropTypes.string,\n color: PropTypes.color,\n};\n\nexport default SocialShareMobile;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { IconButton, ShareFacebookIcon } from '@paypalcorp/pp-react';\n\nfunction SocialShareFacebook({ url, handleSocialLinkClick, linkTitle }) {\n return (\n handleSocialLinkClick(url, 'facebook')}\n data-testid=\"social-share-facebook\"\n size=\"sm\"\n buttonType=\"secondary\"\n svgIconComponent={ShareFacebookIcon}\n >\n {linkTitle}\n \n );\n}\n\nSocialShareFacebook.propTypes = {\n url: PropTypes.string,\n handleSocialLinkClick: PropTypes.func,\n linkTitle: PropTypes.string,\n};\n\nexport default SocialShareFacebook;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { IconButton, ShareMessengerIcon } from '@paypalcorp/pp-react';\n\nfunction SocialShareMessenger({ url, handleSocialLinkClick, linkTitle }) {\n return (\n handleSocialLinkClick(url, 'messenger')}\n data-testid=\"social-share-messenger\"\n size=\"sm\"\n buttonType=\"secondary\"\n svgIconComponent={ShareMessengerIcon}\n >\n {linkTitle}\n \n );\n}\n\nSocialShareMessenger.propTypes = {\n url: PropTypes.string,\n handleSocialLinkClick: PropTypes.func,\n linkTitle: PropTypes.string,\n color: PropTypes.string,\n};\n\nexport default SocialShareMessenger;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { IconButton, ShareWhatsappIcon } from '@paypalcorp/pp-react';\n\nfunction SocialShareWhatsapp({ url, handleSocialLinkClick, linkTitle }) {\n return (\n handleSocialLinkClick(url, 'whatsapp')}\n data-testid=\"social-share-whatsapp\"\n size=\"sm\"\n buttonType=\"secondary\"\n svgIconComponent={ShareWhatsappIcon}\n >\n {linkTitle}\n \n );\n}\n\nSocialShareWhatsapp.propTypes = {\n url: PropTypes.string,\n handleSocialLinkClick: PropTypes.func,\n linkTitle: PropTypes.string,\n};\n\nexport default SocialShareWhatsapp;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { IconButton, ShareTwitterIcon } from '@paypalcorp/pp-react';\n\nfunction SocialShareTwitter({ url, handleSocialLinkClick, linkTitle }) {\n return (\n handleSocialLinkClick(url, 'twitter')}\n data-testid=\"social-share-twitter\"\n size=\"sm\"\n buttonType=\"secondary\"\n svgIconComponent={ShareTwitterIcon}\n >\n {linkTitle}\n \n );\n}\n\nSocialShareTwitter.propTypes = {\n url: PropTypes.string,\n handleSocialLinkClick: PropTypes.func,\n linkTitle: PropTypes.string,\n color: PropTypes.string,\n};\n\nexport default SocialShareTwitter;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { IconButton, LinkIcon } from '@paypalcorp/pp-react';\nimport { StyleSheet, css } from '../../utility/paypalAphrodite';\n\nconst styles = StyleSheet.create({\n iconLink: {\n marginRight: '0.375rem',\n },\n});\n\nfunction SocialShareCopyLink({ handleOpenCopyModal, linkTitle }) {\n return (\n \n {linkTitle}\n \n );\n}\n\nSocialShareCopyLink.propTypes = {\n url: PropTypes.string,\n handleOpenCopyModal: PropTypes.func,\n linkTitle: PropTypes.string,\n color: PropTypes.string,\n};\n\nexport default SocialShareCopyLink;\n","export function copyToClipboard(sourceId) {\n let range;\n let selection;\n const sourceElement = document.getElementById(sourceId);\n const isIOS = navigator.userAgent.match(/ipad|iphone/gi);\n if (isIOS) {\n range = document.createRange();\n range.selectNodeContents(sourceElement);\n selection = window.getSelection();\n selection.removeAllRanges();\n selection.addRange(range);\n sourceElement.setSelectionRange(0, 999999);\n sourceElement.readOnly = 'true';\n } else {\n sourceElement.select();\n sourceElement.readOnly = 'true';\n }\n document.execCommand('copy');\n}\n","import React, { useState, useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, CheckmarkBackgroundSmIcon } from '@paypalcorp/pp-react';\nimport { StyleSheet, css } from '../utility/paypalAphrodite';\nimport { copyToClipboard } from '../setup/lib/copyToClipBoard';\nimport { isInContext } from '../utility/inContextDonation';\nimport { PAYPAL_THEME } from '@paypalcorp/pp-react-theme';\n\nconst { sysColorBackgroundSurfaceHover, sysColorPrimaryMain } = PAYPAL_THEME;\n\nconst styles = StyleSheet.create({\n copyLinkFieldContainer: {\n borderBottom: '1px dashed #CBD2D6',\n margin: '20px 0px 30px',\n fontSize: 14,\n '@media @tabletAndMobile': {\n paddingLeft: 0,\n paddingRight: 0,\n },\n ':last-child': {\n borderBottom: 'none',\n },\n },\n inContext: {\n padding: 0,\n maxWidth: 420,\n margin: '0 auto',\n },\n inContextCopyLinkHeight: {\n height: 60,\n maxHeight: 60,\n },\n copyLinkField: {\n backgroundColor: sysColorBackgroundSurfaceHover,\n alignItems: 'center',\n border: '0px',\n borderStyle: 'dotted',\n paddingRight: '12px',\n display: 'flex',\n },\n copyLinkTextarea: {\n backgroundColor: sysColorBackgroundSurfaceHover,\n height: 'auto',\n maxHeight: 60,\n margin: '16px',\n marginRight: '30px',\n fontSize: '1.1rem',\n border: 'none',\n resize: 'none',\n overflow: 'hidden',\n width: '100%',\n outline: 'none',\n wordBreak: 'break-all',\n ':hover': {\n overflow: 'auto',\n },\n flex: 4,\n },\n copyLinkFieldIconContainer: {\n display: 'flex',\n flexDirection: 'row-reverse',\n zIndex: 5,\n alignSelf: 'stretch',\n alignItems: 'center',\n flex: 1,\n },\n copyLinkFieldIcons: {\n lineHeight: '1rem',\n cursor: 'pointer',\n minWidth: '4rem',\n wordBreak: 'normal',\n },\n notCopied: {\n background: 'none',\n color: sysColorPrimaryMain,\n },\n copied: {\n borderColor: '#018065',\n backgroundColor: '#018065',\n color: 'white',\n },\n copyLinkDescription: {\n padding: '8px 16px 20px',\n },\n});\n\nfunction CopyLink({ url, analytics, messages }) {\n const [isCopied, setIsCopied] = useState(false);\n const [padding, setPadding] = useState('16px');\n const copyRef = useRef(null);\n useEffect(() => {\n if (copyRef.current) {\n // hacky padding to center text in a textarea\n const current = copyRef.current;\n const innerHTML = current.innerHTML;\n if (!innerHTML || innerHTML.length > 48 || current.clientWidth < 195) {\n setPadding('0');\n return;\n }\n setPadding('3% 0px');\n }\n }, []);\n\n function handleCopyToClipBoard() {\n copyToClipboard('copy-link-text');\n if (analytics) {\n analytics('copy_link');\n }\n setIsCopied(true);\n setTimeout(() => {\n setIsCopied(false);\n }, 3000);\n }\n\n return (\n typeof document !== 'undefined' &&\n document.queryCommandSupported('copy') && (\n \n \n \n {url}\n \n
    \n {isCopied ? (\n \n \n \n ) : (\n \n {messages.copy}\n \n )}\n
    \n \n \n )\n );\n}\n\nCopyLink.propTypes = {\n url: PropTypes.string,\n analytics: PropTypes.func,\n messages: PropTypes.object,\n};\n\nCopyLink.defaultProps = {\n analytics: null,\n};\n\nexport default CopyLink;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport {\n Dialog,\n BodyText,\n CaptionText,\n ActionMenu,\n Button,\n ShareFacebookIcon,\n EmailIcon,\n ShareMessengerIcon,\n ShareWhatsappIcon,\n ShareTwitterIcon,\n LinkIcon,\n CheckmarkBackgroundSmIcon,\n} from '@paypalcorp/pp-react';\nimport { StyleSheet, css } from '../../utility/paypalAphrodite';\nimport SocialShareEmail from './socialShareEmail';\nimport SocialShareMobile from './socialShareMobile';\nimport SocialShareFacebook from './socialShareFacebook';\nimport SocialShareMessenger from './socialShareMessenger';\nimport SocialShareWhatsapp from './socialShareWhatsapp';\nimport SocialShareTwitter from './socialShareTwitter';\nimport SocialShareCopyLink from './socialShareCopyLink';\nimport Illustration from '../illustrations/Illustration';\nimport CopyLink from '../CopyLink';\nimport { isInContext, isMobileOrTablet } from '../../utility/inContextDonation';\nimport { isExternalFlow } from '../../utility/productIntegrationUtils';\nimport { EVENT_NAME } from '../../utility/constants';\nimport { copyToClipboard } from '../../setup/lib/copyToClipBoard';\nimport templateData from '../../utility/getTemplateData';\nimport { trackLinkClick, trackPageIM } from '../../fpti/fpti';\nimport { FPTI_TAGS, LINK_NAME } from '../../fpti/fptiConstants';\nimport { PAYPAL_THEME } from '@paypalcorp/pp-react-theme';\nimport { isCampaigns } from '../../utility/productIntegrationUtils';\nimport { Col } from '@paypalcorp/pp-react';\nimport { IconButton, OverflowIcon } from '@paypalcorp/pp-react';\n\nconst { sysColorBackgroundHighContrast, sysColorSuccessMain } = PAYPAL_THEME;\n\nconst styles = StyleSheet.create({\n socialContainer: {\n display: 'flex',\n ':nth-child(1n) > *': {\n marginRight: 10,\n },\n },\n socialContainerMobile: {\n marginLeft: 10,\n },\n shareMenu: {\n flexDirection: 'column',\n },\n copyLinkModal: {\n paddingBottom: 30,\n },\n copyLinkContainer: {\n margin: '0 0 60px',\n },\n copyLinkHeader: {\n color: sysColorBackgroundHighContrast,\n marginTop: 20,\n marginBottom: 0,\n fontSize: '1.6rem',\n },\n copyLinkSubheader: {\n color: sysColorBackgroundHighContrast,\n marginTop: 28,\n marginRight: 'auto',\n fontSize: '1.15rem',\n },\n copiedText: {\n color: sysColorSuccessMain,\n marginLeft: '9px',\n },\n});\n\nconst getPlatformType = (isMobile) => {\n return isMobile ? 'api' : 'web';\n};\n\nconst getFBMessengerUrl = (\n isMobile,\n encodedUrl,\n appId,\n quote,\n redirect_uri\n) => {\n return isMobile\n ? `fb-messenger://share/?link=${encodedUrl}&app_id=${appId}"e=${quote}`\n : `https://www.facebook.com/dialog/send?app_id=${appId}&display=popup&link=${encodedUrl}&redirect_uri=${redirect_uri}`;\n};\n\nconst getIsActionMenu = (renderMode) => {\n return renderMode === 'sheet';\n};\n\nconst isActionOrPostDonationModule = (isActionMenu, isPostDonationModule) => {\n return isActionMenu || isPostDonationModule;\n};\n\nconst getIconSize = () => {\n return isMobileOrTablet() ? 'lg' : 'sm';\n};\n\nconst isValid = (value, isPostDonationModule) => {\n return value && !isPostDonationModule;\n};\n\nconst getColor = (color, type) => {\n return color[type] ?? color;\n};\nexport default function SocialShare({\n shareUrl,\n socialCampaign,\n isMobile,\n isPostDonationModule,\n ...props\n}) {\n const [isModalOpen, setIsModalOpen] = useState(false);\n const [isShareMenuOpen, setIsShareMenuOpen] = useState(false);\n const [isCopied, setIsCopied] = useState(false);\n\n const encodedUrl = encodeURIComponent(shareUrl);\n const appId = '321983581337375';\n const emailUrl = `mailto:?subject=${socialCampaign.emailSubject}&body=${socialCampaign.emailBody}`;\n const facebookUrl = `https://www.facebook.com/dialog/share?app_id=${appId}&display=popup"e=${socialCampaign.facebookMessage}&href=${encodedUrl}`;\n const fbMessengerUrl = getFBMessengerUrl(\n isMobile,\n encodedUrl,\n appId,\n socialCampaign.facebookMessage,\n templateData.paypalHostName\n );\n const whatsappUrl = `https://${getPlatformType(\n isMobile\n )}.whatsapp.com/send?&text=${socialCampaign.whatsappMessage}%20${encodedUrl}`;\n const twitterUrl = `https://twitter.com/intent/tweet?url=${encodedUrl}&text=${socialCampaign.twitterMessage}`;\n const socialShareAltText = socialCampaign.title;\n const isActionMenu = getIsActionMenu(props.renderMode);\n const socialItems = isActionOrPostDonationModule(\n isActionMenu,\n isPostDonationModule\n )\n ? generateMenuOptions()\n : [];\n\n function handleSocialLinkClick(url, type) {\n window.open(\n url,\n 'popup',\n 'toolbar=0,status=0,width=640,height=340,scrollable=true'\n );\n handleAnalytics(`social_share_${type}`);\n }\n\n function handleOpenCopyModal() {\n setIsModalOpen(true);\n }\n\n function handleMobileClick() {\n if (navigator.share) {\n navigator.share({\n title: socialCampaign.mobileTitle,\n text: socialCampaign.mobileText,\n url: shareUrl,\n });\n } else {\n window.open(\n shareUrl,\n 'popup',\n 'toolbar=0,status=0,width=640,height=340,scrollable=true'\n );\n }\n handleAnalytics('mobile_share');\n }\n\n function handleMenuSelection(index) {\n if (socialItems[index].type === 'copy_link') {\n copyToClipboard('copy-link-text');\n setIsCopied(true);\n handleAnalytics('copy_link');\n setTimeout(() => {\n setIsCopied(false);\n }, 3000);\n } else {\n if (socialItems[index].type === 'email') {\n handleAnalytics('email');\n window.open(socialItems[index].url);\n } else if (socialItems[index].type === 'mobile_share') {\n handleMobileClick();\n } else {\n handleSocialLinkClick(\n socialItems[index].url,\n socialItems[index].title.toLowerCase()\n );\n }\n setIsCopied(false);\n setIsShareMenuOpen(false);\n }\n }\n\n function handleAnalytics(type) {\n if (props.analytics) {\n props.analytics(type);\n }\n }\n\n function generateMenuOptions() {\n const options = [];\n const iconSize = getIconSize();\n\n if (isValid(socialCampaign.email, isPostDonationModule)) {\n options.push({\n title: socialCampaign.sheet.email,\n url: emailUrl,\n type: 'email',\n itemLeft: (\n \n ),\n });\n }\n if (isValid(socialCampaign.facebook, isPostDonationModule)) {\n options.push({\n title: socialCampaign.sheet.facebook,\n url: facebookUrl,\n type: 'facebook',\n itemLeft: (\n \n ),\n });\n }\n if (socialCampaign.twitter) {\n options.push({\n title: socialCampaign.sheet.twitter,\n url: twitterUrl,\n type: 'twitter',\n itemLeft: (\n \n ),\n });\n }\n if (socialCampaign.facebookMessenger) {\n options.push({\n title: socialCampaign.sheet.messenger,\n url: fbMessengerUrl,\n type: 'messenger',\n itemLeft: (\n \n ),\n });\n }\n if (socialCampaign.whatsapp) {\n options.push({\n title: socialCampaign.sheet.whatsapp,\n url: whatsappUrl,\n type: 'whatsapp',\n itemLeft: (\n \n ),\n });\n }\n if (socialCampaign.copyLink) {\n options.push({\n title: (\n <>\n {isCopied ? (\n <>\n {isMobileOrTablet() ? (\n <>\n {socialCampaign.sheet.copyLink}\n \n \n \n {socialCampaign.copyLinkCopied}\n \n \n \n ) : (\n \n {socialCampaign.copyLinkCopied}\n \n \n )}\n \n ) : (\n {socialCampaign.sheet.copyLink}\n )}\n \n ),\n type: 'copy_link',\n itemLeft: (\n <>\n \n {shareUrl}\n \n \n \n ),\n });\n }\n\n return options;\n }\n\n function handleMobileSocialShareButtonClick(event) {\n if (!isPostDonationModule) {\n setIsShareMenuOpen(true);\n trackLinkClick(LINK_NAME.SOCIAL_SHARE, {\n eventName: EVENT_NAME.DW_GIVING_PAYMENT_SUCCESS_SHARE_PRESSED,\n });\n\n trackPageIM({\n pageSpec: {\n pgrp: window.fpti.pgrp,\n page: `${window.fpti.pgrp}:mobile::`,\n },\n additionalData: {\n [FPTI_TAGS.EVENT_NAME]: EVENT_NAME.DW_GIVING_SHARE_SCREEN_SHOWN,\n },\n });\n } else {\n event.stopPropagation();\n setIsShareMenuOpen(!isShareMenuOpen);\n }\n }\n\n function handleSocialShareSheetClose() {\n setIsShareMenuOpen(false);\n setIsCopied(false);\n if (!isPostDonationModule) {\n trackLinkClick(LINK_NAME.SOCIAL_SHARE_DISMISS, {\n eventName: EVENT_NAME.DW_GIVING_SHARE_DISMISS_PRESSED,\n });\n }\n }\n\n function socialShareOverflow() {\n return (\n <>\n \n {socialShareAltText.share}\n \n {socialCampaign.facebook && (\n \n )}\n {socialCampaign.email && (\n \n )}\n \n {socialShareAltText.overflow}\n \n \n );\n }\n\n function mobileSocialShare() {\n const menuProps = isPostDonationModule && {\n className: 'post-donation-share-menu',\n mobileTitle: socialShareAltText.share,\n itemClassName: 'post-donation-share-item-menu',\n };\n return (\n <>\n {(isPostDonationModule && socialShareOverflow()) || (\n \n )}\n handleMenuSelection(index)}\n options={socialItems}\n {...menuProps}\n >\n \n );\n }\n\n function regularSocialShare() {\n return (\n <>\n {socialCampaign.email && (\n \n )}\n {navigator.share && socialCampaign.mobile && (\n \n )}\n {socialCampaign.facebook && (\n \n )}\n {socialCampaign.facebookMessenger && (\n \n )}\n {socialCampaign.whatsapp && (\n \n )}\n {socialCampaign.twitter && (\n \n )}\n {socialCampaign.copyLink && (\n \n )}\n \n );\n }\n\n return (\n <>\n \n {isActionMenu || isPostDonationModule\n ? mobileSocialShare()\n : regularSocialShare()}\n \n {isInContext() && isExternalFlow() && !isPostDonationModule ? (\n
    \n \n
    \n ) : null}\n {socialCampaign.copyLink && (\n setIsModalOpen(false)}\n >\n \n \n \n\n \n {socialCampaign.copyLinkHeader}\n \n \n {isCampaigns()\n ? socialCampaign.copyLinkSubheaderBefore\n : socialCampaign.copyLinkSubheader}\n \n
    \n
    \n \n
    \n
    \n \n )}\n \n );\n}\n\nSocialShare.propTypes = {\n shareUrl: PropTypes.string,\n socialCampaign: PropTypes.object,\n};\n\nSocialShare.defaultProps = {\n align: 'center',\n handleAnalytics: null,\n};\n","import React, { useContext, useEffect } from 'react';\nimport { BodyText, PAYPAL_THEME } from '@paypalcorp/pp-react';\nimport getSocialCampaign from '../utility/getSocialCampaign';\nimport TemplateData from '../utility/getTemplateData';\nimport SocialShare from '../components/socialShare/socialShare';\nimport _isEmpty from 'lodash/isEmpty';\nimport { isInContext } from '../utility/inContextDonation';\nimport {\n isExternalFlow,\n isCampaigns,\n} from '../utility/productIntegrationUtils';\nimport { EVENT_NAME } from '../utility/constants';\nimport classNames from 'classnames';\nimport { trackLinkClick, trackSocialShareIM } from '../fpti/fpti';\nimport { FPTI_TAGS } from '../fpti/fptiConstants';\nimport { MessageFormat } from '@paypalcorp/worldready';\nimport { Context as WorldReadyContext } from '@paypalcorp/worldready-react';\n\nconst { sysColorPrimaryMain, sysColorUnselectedContrast } = PAYPAL_THEME;\n\nexport default function ConfirmationSocialShare(props) {\n const worldReady = useContext(WorldReadyContext);\n const {\n email,\n hostedButtonId,\n orgName,\n messages: { social },\n personalizedMessages,\n campaignId,\n isLanding = false,\n enableMatchSocialShare = false,\n isPostDonationModule = false,\n postDonationModule,\n } = props;\n const copy = new MessageFormat(worldReady, {\n id: 'common.copyLink.label.copy',\n }).format(),\n copied = new MessageFormat(worldReady, {\n id: 'common.copyLink.label.copied',\n }).format();\n const handleSocialAnalytics = (type) => {\n trackLinkClick(type, {\n eventName: isExternalFlow()\n ? EVENT_NAME.DW_GIVING_SHARE_CHANNEL_PRESSED\n : EVENT_NAME.DONATE_SUCCESS_SHARE_MESSAGE,\n additionalData: {\n [FPTI_TAGS.MODULE]: postDonationModule,\n },\n });\n };\n\n const getTitleMessages = (id) => {\n return new MessageFormat(worldReady, {\n id: `common.socialShareMessage.${id}`,\n }).format();\n };\n\n useEffect(() => {\n trackSocialShareIM({ enableMatchSocialShare });\n }, []);\n\n const title = {\n email: getTitleMessages('title.email'),\n facebook: getTitleMessages('title.facebook'),\n whatsapp: getTitleMessages('title.whatsapp'),\n messenger: getTitleMessages('title.messenger'),\n twitter: getTitleMessages('title.twitter'),\n copyLink: getTitleMessages('title.copyLink'),\n mobile: getTitleMessages('title.mobile'),\n overflow: getTitleMessages('title.overflow'),\n share: getTitleMessages('title.share'),\n },\n sheet = {\n email: getTitleMessages('sheet.email'),\n facebook: getTitleMessages('sheet.facebook'),\n whatsapp: getTitleMessages('sheet.whatsapp'),\n messenger: getTitleMessages('sheet.messenger'),\n twitter: getTitleMessages('sheet.twitter'),\n copyLink: getTitleMessages('sheet.copyLink'),\n mobile: getTitleMessages('sheet.mobile'),\n };\n\n let socialMessages;\n\n if (!_isEmpty(personalizedMessages)) {\n socialMessages = {\n ...social,\n ...personalizedMessages,\n copyLinkCopy: copy,\n copyLinkCopied: copied,\n sheet,\n };\n } else if (hostedButtonId) {\n socialMessages = {\n ...social,\n copyLinkCopy: copy,\n copyLinkCopied: copied,\n sheet,\n };\n } else {\n socialMessages = {\n ...social,\n ...social.unhosted,\n copyLinkCopy: copy,\n copyLinkCopied: copied,\n sheet,\n };\n }\n\n const isMobileWithExternalFlow = () => {\n return TemplateData.ismobile && isExternalFlow();\n };\n\n const socialCampaign = getSocialCampaign(\n socialMessages,\n orgName,\n hostedButtonId,\n campaignId,\n title,\n email,\n isPostDonationModule\n );\n\n const getSocialShareHeader = () => {\n if (personalizedMessages.social_title) {\n return personalizedMessages.social_title;\n } else if (isCampaigns()) {\n return enableMatchSocialShare\n ? social.shareWithMatch\n : social.shareGeneric;\n } else if (_isEmpty(personalizedMessages)) {\n return social.shareWithMatch;\n }\n };\n\n const generateSocialShareUrl = () => {\n if (isExternalFlow()) {\n return TemplateData.shareUrl;\n } else if (hostedButtonId) {\n return `${TemplateData.paypalHostName}/donate/?hosted_button_id=${hostedButtonId}&source=url`;\n } else if (campaignId) {\n return `${TemplateData.paypalHostName}/donate/?campaign_id=${campaignId}&source=url`;\n } else if (email) {\n return `${TemplateData.paypalHostName}/donate/?business=${email}&source=url`;\n } else if (TemplateData.merchantId) {\n return `${TemplateData.paypalHostName}/donate/?business=${TemplateData.merchantId}&source=url`;\n }\n };\n\n const socialShareUrl = generateSocialShareUrl();\n\n const colors = {\n facebook: '#007AFF',\n twitter: '#64D2FF',\n };\n\n const headerClasses = classNames('text-center', 'social_share_header', {\n inContext: isInContext(),\n externalFlow: isExternalFlow(),\n 'campaign-landing': isCampaigns() && isLanding && !TemplateData.ismobile,\n });\n\n const getShareStyles = () => {\n if (isInContext() && isExternalFlow()) {\n return { marginBottom: '28px' };\n } else if (isCampaigns() && isLanding) {\n return { marginBottom: '48px', flexWrap: 'wrap', rowGap: '14px' };\n }\n return { marginBottom: '74px' };\n };\n\n const getColor = () => {\n if (isInContext() && isExternalFlow()) {\n return sysColorUnselectedContrast;\n }\n return sysColorPrimaryMain;\n };\n\n const getHeader = () => {\n return (\n !isPostDonationModule && (\n {getSocialShareHeader()}\n )\n );\n };\n\n return (\n <>\n {getHeader()}\n {isMobileWithExternalFlow() ? (\n \n ) : (\n \n )}\n \n );\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport templateData, { isOldButtonFactory } from '../utility/getTemplateData';\nimport { BodyText, HeadingText, CaptionText } from '@paypalcorp/pp-react';\nimport PPCC from './ppcc/ppcc';\nimport { Title } from '@paypalcorp/donate-react';\nimport { Container, Row, Col } from '@paypalcorp/pp-react-grid';\nimport classNames from 'classnames';\nimport { Context as WorldReadyContext } from '@paypalcorp/worldready-react';\nimport { MessageFormat } from '@paypalcorp/worldready';\n\nclass SubHeader extends React.Component {\n constructor() {\n super();\n this.state = {\n isVoucherFlow: templateData.isVoucherFlow,\n };\n }\n\n formatOrgName() {\n let { label, orgName } = this.props;\n label = label && label.toString().replace(/\\s/g, '').toUpperCase();\n const OName =\n orgName && orgName.toString().replace(/\\s/g, '').toUpperCase();\n return label.includes(OName) ? '' : orgName;\n }\n\n shouldShowDonationId() {\n if (this.props.page === 'member' || this.props.page === 'crossborder') {\n return true;\n }\n return isOldButtonFactory();\n }\n\n getFormattedOrgName(purposeLabel, orgName) {\n if (!this.state.isVoucherFlow) {\n return `${orgName}`;\n }\n return orgName;\n }\n\n render() {\n const donateto = new MessageFormat(this.context, {\n id: 'common.subHeader.label.donateto',\n }).format();\n const support = new MessageFormat(this.context, {\n id: 'common.subHeader.label.support',\n }).format();\n const purposeLabel = new MessageFormat(this.context, {\n id: 'common.subHeader.label.purpose',\n }).format();\n\n const donationName = this.props.label;\n const orgName = this.formatOrgName();\n const donationId = this.props.donationId;\n let { formattedDonationName, formattedOrgName, formattedDonationId } = {};\n const isLanding = this.props.isLanding;\n const isCampaigns = this.props.isCampaigns;\n const hasLogo = this.props.hasLogo;\n\n const subHeaderClasses = classNames(\n 'donate_sub_header',\n 'donate-main-content',\n 'donate-main-content-with-no-margin',\n {\n 'org-content': !hasLogo && isCampaigns(),\n }\n );\n\n if (donationName === orgName) {\n formattedDonationName = donationName;\n formattedOrgName = '';\n } else {\n formattedDonationName = donationName;\n }\n\n if (orgName && !donationId) {\n if (donationName !== orgName) {\n formattedOrgName = this.getFormattedOrgName(purposeLabel, orgName);\n }\n }\n\n if (!orgName && donationId) {\n formattedDonationId = `${donationId}`;\n }\n\n if (orgName && donationId) {\n if (donationName !== orgName) {\n formattedDonationId = donationId;\n formattedOrgName = this.getFormattedOrgName(purposeLabel, orgName);\n } else {\n formattedOrgName = '';\n formattedDonationId = `${donationId}`;\n }\n }\n\n const shouldShowOrgName = isCampaigns()\n ? !isLanding\n : formattedOrgName && isLanding;\n\n return (\n \n {!isCampaigns() && (\n \n \n {isLanding ? (\n \n {this.state.isVoucherFlow ? support : donateto}\n \n ) : (\n \n {this.state.isVoucherFlow ? support : donateto}\n \n )}\n \n \n )}\n\n \n \n \n {!isCampaigns() && isLanding ? (\n \n {formattedDonationName}\n \n \n ) : (\n \n {formattedDonationName}\n \n \n )}\n \n \n \n {shouldShowOrgName &&\n (isCampaigns() ? (\n \n ) : (\n {formattedOrgName}\n ))}\n\n {formattedDonationId && this.shouldShowDonationId() && (\n \n {formattedDonationId}\n \n )}\n \n );\n }\n}\n\nSubHeader.propTypes = {\n label: PropTypes.string.isRequired,\n orgName: PropTypes.string.isRequired,\n donationId: PropTypes.string,\n page: PropTypes.string,\n isLanding: PropTypes.bool,\n isCampaigns: PropTypes.func,\n hasLogo: PropTypes.bool,\n};\n\nSubHeader.contextType = WorldReadyContext;\nexport default SubHeader;\n","import React from 'react';\nimport templateData from '../utility/getTemplateData';\nimport { StyleSheet, css } from 'aphrodite';\nimport { Container, Row, Col } from '@paypalcorp/pp-react-grid';\n\nconst styles = StyleSheet.create({\n centedImage: {\n maxWidth: 300,\n maxHeight: 60,\n display: 'block',\n marginLeft: 'auto',\n marginRight: 'auto',\n marginBottom: 25,\n marginTop: 24,\n },\n});\n\nclass CharityLogo extends React.Component {\n constructor() {\n super();\n const logoUrl = templateData.logoUrl || '';\n this.state = {\n bannerUrl: logoUrl.includes('https') ? logoUrl : false,\n altText: templateData.donationName || '',\n };\n }\n\n render() {\n return (\n \n \n \n
    \n {this.state.bannerUrl ? (\n \n ) : null}\n
    \n \n
    \n
    \n );\n }\n}\n\nexport default CharityLogo;\n","import SubHeader from './subHeader';\nimport CharityLogo from './CharityLogo';\nimport React from 'react';\nimport templateData from '../utility/getTemplateData';\nimport PropTypes from 'prop-types';\nimport { isCampaigns } from '../utility/productIntegrationUtils';\nimport { BannerImage } from '@paypalcorp/donate-react';\n\nconst HeaderDNW = ({ isLanding }) => {\n const hasLogo = templateData.hasLogo,\n donationId = templateData.donationId,\n orgName = templateData.charityName ?? '',\n subHeaderLabel = templateData.donationName ?? '',\n bannerUrl = templateData.bannerUrl ?? '';\n\n const displayBannerImage = () => {\n if (bannerUrl) {\n if (isLanding && isCampaigns()) {\n return null;\n }\n return (\n \n );\n }\n return null;\n };\n\n return (\n
    \n {displayBannerImage()}\n {hasLogo && }\n \n
    \n );\n};\n\nHeaderDNW.propTypes = {\n isLanding: PropTypes.bool,\n};\n\nexport default HeaderDNW;\n","import React from 'react';\nimport { CaptionText, HeadingText } from '@paypalcorp/pp-react-text';\nimport { CausesIcon } from '@paypalcorp/pp-react-icons';\nimport PropTypes from 'prop-types';\nimport { Message } from '@paypalcorp/worldready-react';\n\nconst GNCSubheader = ({ organizationName, purpose }) => {\n return (\n
    \n
    \n \n {purpose}\n \n
    \n \n \n \n \n
    \n
    \n
    \n );\n};\n\nGNCSubheader.propTypes = {\n organizationName: PropTypes.string,\n purpose: PropTypes.string,\n};\n\nexport default GNCSubheader;\n","import React from 'react';\nimport { CaptionText, HeadingText } from '@paypalcorp/pp-react';\nimport PropTypes from 'prop-types';\nimport { Message } from '@paypalcorp/worldready-react';\n\nconst GNSubheader = ({ organizationName, purpose, isPPGFCountry = false }) => {\n return (\n
    \n
    \n \n {(isPPGFCountry && (\n {innerMessage}}\n />\n )) || (\n {organizationName}}\n />\n )}\n \n \n {purpose}\n \n
    \n
    \n );\n};\n\nGNSubheader.propTypes = {\n organizationName: PropTypes.string,\n purpose: PropTypes.string,\n isPPGFCountry: PropTypes.bool,\n};\n\nexport default GNSubheader;\n","import React from 'react';\nimport BannerHeader, { Avatar, Banner } from './bannerHeader';\nimport {\n isBrandedCampaign,\n isGNC,\n isPPCampaign,\n isPPFundraising,\n} from '../../utility/productIntegrationUtils';\nimport GNCSubheader from './GNCSubheader';\nimport GNSubheader from './GNSubheader';\nimport templateData from '../../utility/getTemplateData';\n\nconst GNHeader = () => {\n const organizationName = templateData.donationName,\n purpose = templateData.charityName,\n bannerUrl = templateData.bannerUrl,\n logoUrl = templateData.logoUrl,\n initialColor = templateData.initialColor,\n initialLogo = templateData.initialLogo,\n isPPGFCountry = templateData.isPPGFCountry;\n\n return (\n
    \n \n \n \n \n {isGNC() && (\n \n )}\n {(isPPCampaign() || isPPFundraising() || isBrandedCampaign()) && (\n \n )}\n
    \n );\n};\n\nexport default GNHeader;\n","import React from 'react';\nimport HeaderDNW from '../headerDNW';\nimport GNHeader from '../GN/gnHeader';\nimport PropTypes from 'prop-types';\nimport { isExternalFlow } from '../../utility/productIntegrationUtils';\n\nconst DonateHeader = ({ isLanding }) => {\n return (\n
    \n {isExternalFlow() ? (\n \n ) : (\n \n )}\n
    \n );\n};\n\nDonateHeader.propTypes = {\n isLanding: PropTypes.bool,\n};\n\nexport default DonateHeader;\n"],"sourceRoot":""}