{"version":3,"file":"669.e403c04fe4c392d57fb8.js","mappings":"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BACxBC,aAAc,eAGdC,kCAAmC,oCACnCC,oCAAqC,uCAIvCC,aAAc,CACZC,QAAS,UACTC,SAAU,WACVC,8BAA+B,gCAC/BC,cAAe,iBAGjB39C,WAAY,CACVggC,oCAAqC,sCACrC4d,uCACE,yCACF9X,oCAAqC,sCACrCJ,gDACE,sCACFmY,uCACE,yCACF59C,qCACE,uCACF69C,uCACE,yCACF/Y,mDACE,qDACFC,qDACE,uDACF/D,kCAAmC,oCACnCuF,oCAAqC,sCACrCuX,qCACE,uCACFC,wCACE,0CACFC,0CACE,4CACF9vB,uCACE,yCACFslB,uCACE,yCACFD,uCACE,yCACFvtB,wCACE,0CACFK,6BAA8B,+BAC9BmB,gCAAiC,kCACjCd,gCAAiC,kCACjCu3B,+BAAgC,iCAChCC,+BAAgC,iCAChCC,kCAAmC,oCACnCjc,+CACE,iDACF+F,6CACE,2CACFnC,6CACE,0DACFJ,2CACE,wDACF/E,gDACE,iDACF6F,2CACE,8CACFxB,0CACE,gDACFC,4CACE,kDACFwO,+BACE,iDACFpM,0BAA2B,4BAC3BE,6BAA8B,+BAC9BE,4BAA6B,8BAC7BE,6BAA8B,+BAC9BG,gCAAiC,kCACjCvE,6BAA8B,+BAC9BiF,oCAAqC,qCACrCxI,4BAA6B,yCAC7B4B,2BAA4B,gDAC5BX,+BAAgC,4CAChCxZ,6BACE,kDACFuD,qCACE,0DACFnlB,qCACE,kDACFwiC,yCACE,kDACFvE,yCACE,sDACFD,uCACE,oDACF8E,oCACE,iDACFM,yCACE,sDACFE,yCACE,sDACFK,oCACE,uDACFC,8CACE,2DACFO,kCACE,8CACFI,yCACE,8CACFF,8CACE,mDACFW,4CACE,iDACFO,yCACE,gDACFgT,2CACE,gDACFpT,8CACE,mDACFM,wCACE,+CACFE,4CACE,iDACFE,4CACE,kDACFR,6CACE,kDACFU,2CACE,gDACFyS,mDACE,wDACFztB,+DACE,iEACFyB,iEACE,mEACFE,wDACE,0DACF7B,2DACE,6DACF+C,8DACE,gEACFF,gEACE,mEAGJ6O,YAAa,CACXC,8BAA+B,gCAC/BC,mCAAoC,sCAGt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","sources":["webpack:///../../constants/constants.js","webpack:///./actions/AppActions.js","webpack:///./components/BackButton.js","webpack:///./components/CloseButton.js","webpack:///./components/Disclaimer.js","webpack:///./components/GN/bannerHeader.js","webpack:///./components/MessageWithHtml.js","webpack:///./components/amount/amountUtils.js","webpack:///./components/cancelAndReturn.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","webpack:///./components/coverFee/feeUtils.js","webpack:///./utility/languageSelector.js","webpack:///./components/languageSelectorMenu.js","webpack:///./components/footer/footerLinks.js","webpack:///./components/footer/footer.js","webpack:///./components/illustrations/Illustration.js","webpack:///./components/offerDetail.js","webpack:///./components/onetouch/UserDetailsBanner.js","webpack:///./components/ppcc/ppcc.js","webpack:///./components/returnToMerchant.js","webpack:///./components/voucherFlowDisclaimer.js","webpack:///./components/withTheme.js","webpack:///./components/withWorldReady.js","webpack:///./confirmation/ConfirmationBody.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:///./confirmation/ConfirmationTitle.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:///./components/PendingWarning.js","webpack:///./confirmation/PendingView.js","webpack:///./confirmation/ConfirmationCheckmark.js","webpack:///./confirmation/ConfirmationAmount.js","webpack:///./confirmation/ConfirmationAmountGiftAid.js","webpack:///./confirmation/ConfirmationMessage.js","webpack:///./confirmation/SuccessView.js","webpack:///./confirmation/withConfirmationData.js","webpack:///./confirmation/withConfirmationMessages.js","webpack:///./confirmation/withPageTrack.js","webpack:///./confirmation/withPostTransactionRequest.js","webpack:///./dispatcher/AppDispatcher.js","webpack:///./fpti/analytics.js","webpack:///./fpti/fpti.js","webpack:///./fpti/fptiConstants.js","webpack:///./fpti/helper.js","webpack:///./pages/error/receiverEligibilityError.js","webpack:///./confirmation/withCurrentPageUpdate.js","webpack:///./pages/member/confirmation.js","webpack:///./setup/utilsV3/modalUtils.js","webpack:///./routes/configureHistory.js","webpack:///./routes/publicPath.js","webpack:///./stores/AppStore.js","webpack:///./utility/authUtils.js","webpack:///./utility/constants.js","webpack:///./utility/cpl.js","webpack:///./utility/polyfillFetch.js","webpack:///./utility/domUtils.js","webpack:///./utility/formator.js","webpack:///./utility/geoUtils.js","webpack:///./utility/getTemplateData.js","webpack:///./utility/ppccUtils.js","webpack:///./utility/helper.js","webpack:///./utility/inContextDonation.js","webpack:///./utility/israelPsl.js","webpack:///./utility/nna.js","webpack:///./utility/paypalAphrodite.js","webpack:///./utility/personalizedMessages.js","webpack:///./utility/productIntegrationUtils.js","webpack:///./utility/queryStringHelper.js","webpack:///./utility/urlUtils.js","webpack:///./utility/worldReadyUtils.js"],"sourcesContent":["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","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 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 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 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 { 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 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 '../../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/utilsV3/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 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","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","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 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 handleOpen = (event) => {\n event.stopPropagation();\n setIsOpen(true);\n };\n\n const handleClose = () => {\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, Button } 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\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 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 { 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 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 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","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","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 { 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 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 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 { 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 { 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 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';\nimport templateData from '../../utility/getTemplateData';\nimport { updateGlobalFPTI } from '../../fpti/helper';\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) {\n updateGlobalFPTI({\n [FPTI_TAGS.MODULE]: module,\n });\n\n if (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 }\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 if (templateData.sfcUrl) {\n setDynamicProps({\n showLoadingSpinner: false,\n });\n window.location.href = templateData.sfcUrl;\n } else {\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 }\n );\n } else {\n setFavCharityError();\n }\n })\n .catch((err) => {\n setFavCharityError(err);\n });\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 if (templateData.charityFundraiserCreateUrl) {\n window.location.href = templateData.charityFundraiserCreateUrl;\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 if (templateData.impactSummaryUrl) {\n window.location.href = `${templateData.impactSummaryUrl}${\n templateData.impactSummaryUrl.indexOf('?') > 0 ? '&' : '?'\n }transaction_id=${transactionId}`;\n } else {\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\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, updateFPTIValue } from '../fpti/helper';\nimport { FEATURES, FPTI_TAGS } 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 const {\n metaData: { elmo } = {},\n } = data;\n if (elmo) {\n updateFPTIValue(FPTI_TAGS.EXPERIMENT_ID, elmo.experiment_id);\n updateFPTIValue(FPTI_TAGS.TREATMENT_ID, elmo.treatment_id);\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 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, { 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","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 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 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 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 { 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 { 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 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","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 {\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\n\nexport const updateFPTIValue = (key, value) => {\n if (window.fpti[key]) {\n const valueArray = window.fpti[key]?.split(',');\n if (valueArray && !valueArray.includes(value)) {\n window.fpti[key] += ',' + value;\n }\n } else {\n window.fpti[key] = value || '';\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 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","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/utilsV3/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","if (window.webpackPublicPath) {\n __webpack_public_path__ = window.webpackPublicPath; // eslint-disable-line no-undef\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 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","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","/*\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 { 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 {\n formatCurrency,\n formatDate,\n formatNumber,\n formatPhoneNumber,\n getDateMaskFormat,\n getRelativeTime,\n wrNormalizeNumber,\n parsePhoneNumber,\n} from './worldReadyUtils';\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 templateData from './getTemplateData';\n\nexport const appendCdnHostName = (url) => {\n return `${templateData.cdnHostName}${url}`;\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 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 if (result && result.status === 401) {\n const failureUrl = '/donate/?token=' + templateData.token;\n window.location.href = failureUrl;\n return;\n }\n\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 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","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","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","/*\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 { 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 { 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","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 _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","// 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"],"names":["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","name","code","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","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","BackButton","props","worldReady","useContext","WorldReadyContext","history","useHistory","initialData","getInitialDataInDom","isProgressive","templateData","onboardingEnabled","selectedCountry","buttonBack","MessageFormat","id","format","React","_IconButton","_extends","svgIconComponent","_ArrowLeftIcon","onClick","trackLinkClick","LINK_NAME","BACK","eventName","getDismissEventName","hideLandingPage","window","location","href","charityCancelUrl","viewName","token","currentState","showSpinnerOverlay","fetcher","method","finally","hideSpinnerOverlay","push","className","buttonType","CloseButton","_CloseIcon","CANCEL","isInContext","closeWindow","TemplateData","Message","propTypes","isDarkButton","PropTypes","Disclaimer","_useState","useState","_useState2","_slicedToArray","content","setContent","useEffect","terms","document","querySelectorAll","length","_loop","i","addEventListener","_terms$i$href","link","split","pop","EVENT_NAME","DW_GIVING_DONATE_SETUP_TERMS_PRESSED","isEmpty","_CaptionText","size","bannerType","logoBanner","banner","backgroundBanner","bannerv2","mobileBanner","BannerHeader","_ref","type","children","Banner","_ref3","bannerURL","style","backgroundImage","concat","Avatar","_ref4","logoURL","initialLogo","initialColor","ImgLogo","isPPCampaign","InititalsLogo","IconLogo","_ref5","src","_ref6","CausesIcon","isRequired","MessageWithHTML","rest","_objectWithoutProperties","_excluded","getWorldReady","messageFormatter","dangerouslySetInnerHTML","__html","DOMPurify","_objectSpread","formatAmountFromServerDNW","value","_ref$noDecimals","arguments","undefined","noDecimals","isExternalFlow","formatCurrencyNoDecimals","formatNumber","Number","formatAmount","getMinimumDonationErrorMessage","amount","formattedDollarOne","formatCurrencyAsString","currency","donationCode","maximumFractionDigits","validateMinimumDonationAmount","minimumDonationAmount","Math","max","donationAmount","AppStore","getDonationAmount","showValidationError","validationErrorMessage","validationErrorCode","validateMaximumDonationAmount","maxAmount","limitReason","maximumDonationAmount","getMaximumDonationAlertMessage","isAmountGreaterThanZero","isRightSymbol","currencyParts","getCurrencyParts","_currencyParts$","formatCurrencyWithoutDecimals","params","options","formatCurrency","CancelAndReturn","_React$Component","_this","_classCallCheck","_callSuper","_defineProperty","_assertThisInitialized","DONATE_LANDING_MERCHANT_SITE_PRESSED","cancelurl","indexOf","state","displayMe","isLanding","_inherits","_createClass","key","classNames","pp_cancel_btn_wrapper","is_mobile","isMobileOrTablet","is_landing","this","isGuest","_Col","cancelButtonWrapperClass","_CancelAndReturnUrl","handleCancel","context","orgName","donationName","SubHeader","isVoucherFlow","_this$props","label","toString","replace","toUpperCase","OName","includes","page","isOldButtonFactory","purposeLabel","donateto","support","formatOrgName","donationId","formattedDonationName","formattedOrgName","formattedDonationId","isCampaigns","hasLogo","subHeaderClasses","getFormattedOrgName","shouldShowOrgName","Container","Row","marginTop","align","Col","xs","_BodyText","display","justifyContent","alignItems","_HeadingText","PPCC","isHeader","strong","_Title","title","shouldShowDonationId","contextType","styles","StyleSheet","create","centedImage","maxWidth","maxHeight","marginLeft","marginRight","marginBottom","CharityLogo","logoUrl","bannerUrl","altText","sm","alt","css","HeaderDNW","_templateData$charity","_templateData$donatio","_templateData$bannerU","charityName","subHeaderLabel","_BannerImage","GNCSubheader","organizationName","purpose","HeadingText","level","CaptionText","organization","GNSubheader","_ref$isPPGFCountry","isPPGFCountry","bold","innerMessage","isGNC","isPPFundraising","isBrandedCampaign","DonateHeader","GNHeader","isOptInCoverFee","getCoverFeeOptInStatus","isAtLandingPage","pathname","getParameterByName","computeAmountAfterFee","feeAmount","parseFloat","normalizeNumber","setFeeAmountInStore","flatFee","feeRate","currencyCode","getDonationCode","formatedFeeAmount","AppActions","updateDonationAmount","formatedAmount","restoreDonationAmount","rawAmount","getAmountBeforeFee","optOutCoverFee","coverFee","shouldSelectPresetAmount","_templateData$presetA","presetAmounts","map","languagesList","LanguageSelector","lang_options","isOpen","setIsOpen","currentLanguage","languageCode","language","forEach","lang","languageName","getCurrentLangName","_Button","event","stopPropagation","_ChevronUpIcon","_ActionMenu","onSelection","index","locale","country","getLocale","updatedUrl","urlParams","clientState","encodeURIComponent","updatePageLanguageByLocale","onClose","Help","_Link","secondary","target","Security","ReportInappropriateContent","countryForReportLink","Feedback","handleSurvey","Imprint","CopyRight","currentYear","Date","getFullYear","Privacy","Legal","Policy","CombinedFinancialServicesText","_Row","withTheme","isLanguageSelectorEnabled","setIsLanguageSelectorEnabled","isNotFullScreen","getLanguageSelectorState","dispatcherMessages","register","payload","_payload$action","action","unregister","footer_in_context","mobile_footer","_Container","footer_container","mobile_footer_container","fluid","md","REPORT_LINK","latmconf","trackSprigEvent","trackErrorIM","errorCode","errorMessage","fieldName","illustrations","critical","appendCdnHostName","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","Illustration","ariaHidden","classes","offerWrapper","paddingBottom","margin","accordionWrapper","backgroundColor","backgroundClip","offerDivider","borderColor","offerHeader","wordBreak","messageFrom","paddingTop","description","OfferDetail","rightSymbol","getCurrencySymbol","e","row","getElementById","click","VOUCHER","_this2","_this$props$offerProg","offerProgram","clientOfferType","businessName","subTitle","offerTextAmount","formattedValue","formatPercentage","formatOfferTextAmount","aMessageFrom","sanitize","titleMessage","amountText","heading","_RewardsIcon","as","color","createMarkup","handleClick","_Accordion","_AccordionRow","_Divider","UserDetailsBanner","_Component","firstName","isOneTouchUser","sup","NOT_YOU","additionalData","FPTI_TAGS","AUTH_STATE","authState","VERSION","sessionDeprecationEnabled","logout","getHardLogoutUrl","showCCErrorMessage","backgroundImageExists","_isEmpty","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","shouldShowBackButton","determineUserDetailsBannerClass","inverse","hasBanner","_Avatar","generic","BodyText","Link","handleNotYouLinkClick","Component","getPPCCStatus","showTooltip","setShowTooltip","toolTipMsgFmt","_Tooltip","verifiedIcon","ReturnToMerchantLink","returnLabel","returnUrl","RETURN","sysColorUnselectedContrast","_PAYPAL_THEME","disclaimerWrapper","disclaimer","VoucherFlowDisclaimer","lineBreak","WrappedComponent","ThemeProvider","theme","isAndroidWebView","PPUI4_PAYPAL_THEME","initializeWorldReady","WorldReadyContextProvider","WorldReadyProvider","ConfirmationTitle","message","messages","hostedButtonId","campaignId","socialTitle","email","isPostDonationModule","_ref$emailSubject","emailSubject","_ref$emailBody","emailBody","_ref$mobileText","mobileText","_ref$facebookMessage","facebookMessage","_ref$twitterMessage","twitterMessage","_ref$whatsappMessage","whatsappMessage","_ref$copyLinkHeader","copyLinkHeader","_ref$copyLinkSubheade","copyLinkSubheaderBefore","_ref$copyLinkSubheade2","copyLinkSubheader","_ref$copyText","copyText","_ref$copiedText","copiedText","domain","paypalHostName","shareableUrl","RegExp","mobile","mobileTitle","facebook","facebookMessenger","whatsapp","twitter","copyLink","copyLinkCopy","copyLinkCopied","sheet","SocialShareEmail","url","handleAnalytics","linkTitle","_EmailIcon","iconLink","SocialShareMobile","handleMobileClick","_PhoneIcon","SocialShareFacebook","handleSocialLinkClick","_ShareFacebookIcon","SocialShareMessenger","_ShareMessengerIcon","SocialShareWhatsapp","_ShareWhatsappIcon","SocialShareTwitter","_ShareTwitterIcon","SocialShareCopyLink","handleOpenCopyModal","_LinkIcon","copyToClipboard","sourceId","range","selection","sourceElement","navigator","userAgent","match","createRange","selectNodeContents","getSelection","removeAllRanges","addRange","setSelectionRange","readOnly","select","execCommand","sysColorBackgroundSurfaceHover","PAYPAL_THEME","sysColorPrimaryMain","copyLinkFieldContainer","borderBottom","fontSize","paddingLeft","paddingRight","inContext","padding","inContextCopyLinkHeight","copyLinkField","border","borderStyle","copyLinkTextarea","resize","overflow","outline","flex","copyLinkFieldIconContainer","flexDirection","zIndex","alignSelf","copyLinkFieldIcons","lineHeight","cursor","minWidth","notCopied","background","copied","copyLinkDescription","CopyLink","analytics","isCopied","setIsCopied","_useState3","_useState4","setPadding","copyRef","useRef","current","innerHTML","clientWidth","queryCommandSupported","setTimeout","ref","_CheckmarkBackgroundSmIcon","copy","defaultProps","sysColorBackgroundHighContrast","sysColorSuccessMain","socialContainer","socialContainerMobile","shareMenu","copyLinkModal","copyLinkContainer","getPlatformType","isMobile","getFBMessengerUrl","encodedUrl","appId","quote","redirect_uri","getIsActionMenu","renderMode","isActionOrPostDonationModule","isActionMenu","getIconSize","isValid","getColor","_color$type","SocialShare","iconSize","menuProps","shareUrl","socialCampaign","isModalOpen","setIsModalOpen","isShareMenuOpen","setIsShareMenuOpen","_useState5","_useState6","emailUrl","facebookUrl","fbMessengerUrl","whatsappUrl","twitterUrl","socialShareAltText","socialItems","itemLeft","messenger","position","opacity","open","text","handleMobileSocialShareButtonClick","SOCIAL_SHARE","DW_GIVING_PAYMENT_SUCCESS_SHARE_PRESSED","trackPageIM","pageSpec","pgrp","fpti","DW_GIVING_SHARE_SCREEN_SHOWN","itemClassName","_OverflowIcon","buttonText","SOCIAL_SHARE_DISMISS","DW_GIVING_SHARE_DISMISS_PRESSED","toLowerCase","handleMenuSelection","_Dialog","containerClassName","ConfirmationSocialShare","social","personalizedMessages","_props$isLanding","_props$enableMatchSoc","enableMatchSocialShare","_props$isPostDonation","postDonationModule","handleSocialAnalytics","DW_GIVING_SHARE_CHANNEL_PRESSED","DONATE_SUCCESS_SHARE_MESSAGE","MODULE","getTitleMessages","trackSocialShareIM","socialMessages","unhosted","getSocialCampaign","socialShareUrl","merchantId","headerClasses","externalFlow","ismobile","social_title","shareWithMatch","shareGeneric","success_share_button","flexWrap","rowGap","ConfirmationTransactionId","transactionId","saveButton","OfferSaveButton","_len","args","Array","_key","print","VOUCHER_PRINT","VOUCHER_SHARE","preventDefault","isdesktop","printPage","txnStatement","sharePage","_get","_DownloadIcon","OfferConfirmation","textAlign","txnId","SignUpAlert","hideAlert","setHideAlert","buttonCloseMsgFmt","handleCloseButton","signUpStatus","_Alert","closeButtonLabel","closeButton","successMessage","failMessage","ConfirmationReturnText","confirmation_reciept_wrapper","confirmationReceiptWrapper","returnText","ConfirmationReturnTo","DONATE_SUCCESS_MERCHANT_SITE_PRESSED","handleRedirect","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","_ref2$syncReturnUrl","_ref2$redirectUrl","_ref2$redirectMethod","redirectMethod","postBackForm","submit","redirectText","form","postBackArray","obj","defaultValue","_ref3$postdata","postdata","_ref3$syncReturnUrl","Object","keys","_this$state","ConfirmationRedirect","autoRedirectMethod","autoRedirectUrl","postBackData","returnTo","DoneLink","doneContent","DW_GIVING_PAYMENT_SUCCESS_DONE_PRESSED","DONE","AlertSuccessContentPath","PostDonationModules","metaData","_ref$postDonationSetF","postDonationSetFavCharity","successAlertTarget","_ref$showSuccessAlert","showSuccessAlert","_ref$isFirstTimeDonor","isFirstTimeDonor","_ref$hasMultipleFavou","hasMultipleFavouriteCharities","CREATE_FUNDRAISER_URL","npID","dynamicProps","setDynamicProps","showModuleEventName","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","updateGlobalFPTI","trackEventWithData","FLOW","product","ENCR_RCVR_ID","NP_ID","setFavCharityError","error","showErrorAlert","showIconContent","showButton","showLoadingSpinner","status","DONATE_DONOR_VIEW_POST_DONATION_SET_FAVORITE_CHARITY_ERROR","onBtnClick","DONATE_DONOR_VIEW_POST_DONATION_SET_FAV_CHARITY_MODULE_PRESSED","sfcUrl","then","_asyncToGenerator","_regeneratorRuntime","_callee","response","err","_context","prev","next","ok","Error","statusText","json","sent","abrupt","stop","apply","result","_result$data","data","clientData","CONFIRMATION_PAGE_SET_FAV_CHARITY_SUCCESS","catch","DONATE_DONOR_VIEW_POST_DONATION_CREATE_FUNDRAISER_MODULE_PRESSED","charityFundraiserCreateUrl","DONATE_DONOR_VIEW_POST_DONATION_INSIGHTS_MODULE_PRESSED","impactSummaryUrl","createFundraiserContent","useCallback","bodyContent","modalContent","listContent","captionText","successAlertContent","givingSummaryContent","setFavCharityContent","iconContent","errorAlertContent","_PostDonationSetFavCharity","_PostDonationCreateFundraiser","onModalSubmit","DONATE_DONOR_VIEW_POST_DONATION_CREATE_FUNDRAISER_MODAL_PRESSED","onModalOpen","DONATE_DONOR_VIEW_POST_DONATION_CREATE_FUNDRAISER_MODAL_SHOWN","_PostDonationGivingSummary","SHARE","_PostDonationShimmer","isShareModule","ConfirmationView","_personalizedMessages","_txnId$split$","getSocialMessage","autoRedirect","footer","illustration","isSignUp","signUpProps","endCustomCPLTrackingForConfirmationPage","onComplete","isSocialShareLoading","setIsSocialShareLoading","setEnableMatchSocialShare","setPostDonationModule","checkShareModule","_useState7","subheader","_useState8","socialShareMessages","setSocialShareMessages","showSocialShare","socialSharePreference","addFeature","FEATURES","SOCIAL_SHARE_PREFERENCE","isLoading","donationEmail","matchSocialShareMessages","enableNewSocialSharingMsg","_result$data2","postDonationModuleData","_data$metaData","elmo","updateFPTIValue","EXPERIMENT_ID","experiment_id","TREATMENT_ID","treatment_id","success_subheader","join","transactionIdValue","recurringStatus","trim","gn_donate_wrapper","donate_wrapper","confirmation","mobile_view","isMobileOrInContext","mobile_view_without_return_message","isMWebNoReturnURL","ppf","lg","isOfacPending","PendingView","contentRoute","headingMessageId","bodyMessageId","isNna","isPslCountry","headingMessage","bodyMessage","PendingWarning","ConfirmationBody","returnTextMember","withConfirmationData","withConfirmationMessages","ConfirmationCheckmark","confirmationNumber","illustrationSize","ConfirmationAmount","ConfirmationAmountGiftAid","GIFT_AID","extraDonateAmount","giftAid","ConfirmationMessage","yourDonation","giftaidFlag","orgSuccess","rpStatus","role","SuccessView","giftAidConfText","rp_status","yourRPdonation","_document$body$classL","body","classList","add","addClass","donateGiftPercentage","getGiftAidItExtraAmount","_class2","finalUrl","confirmationData","donatedAmount","donationSymbol","toFixed","getConfirmation","displayMyAccount","showAccountOverview","receiptId","returnAutoRedirect","charityReturnUrl","returnMethod","signUpSuccess","productId","getDonationRecurring","getGiftaidItFlagStatus","selectedRecurringFrequency","getSelectedRecurringFrequency","getExtraDonateAmount","showMyAccount","setFocus","getConfirmationData","renderedView","CmHOC","giftaidFrequencyLabel","isSuccessView","success_header","campaignTitle","frequencyLabel","psMessages","getPersonalizedMessages","GN_CONTENT_TOUCHPOINT","isHtml","getPersonalizedContent","getReturnTextLabel","getReturnTextMemberLabel","getReturnToLabel","getTxnIdLabel","getYourRPDonationLabel","getGiftAidConfText","getYourDonationLabel","getSignupProps","getOrgSuccess","PAGE_TRACK_TAG","withPageTrack","flow","_class","confData","isGuestUpgrade","updatedFlow","updatedResult","fptPageName","tag","eventData","tmpl","trackConfirmationPageIM","trackPSLContentShow","withPostTransactionRequest","postTransactionUrl","WithPostTransactionRequest","serverRequest","JSON","stringify","isComponentMounted","guestSignUp","recurringConfirmationId","_isFunction","abort","abortRequestPostTransaction","requestPostTransaction","assign","Dispatcher","dispatch","source","_window","PAYPAL","instance","_window2","startClientErrorTracking","spec","ACTION","fptiData","tsrce","recordEvent","event_name","trackPageLoad","globalData","onceData","fromSetup","recordImpression","trackClick","recordClick","trackError","recordError","donationAmountEditable","selectedPresetButtonId","trackLandingPageIM","shouldTrackExternalFlowData","getAnonymousStatus","getNoteData","DW_GIVING_DONATE_SETUP_SCREEN_SHOWN","DONATE_LANDING_SCREEN_SHOWN","SELECTED_PRESET_BUTTON_ID","getFeeDataFromTemplateData","UI_TYPE","getUiType","AMOUNT_EDIT_ALLOWED","getExternalFlowData","PAGE_SPEC","LANDING_PAGE","SOURCE","trackRecurringFrequencySelectionClick","DONATION_PAYMENT_VIEW_LANDING_FREQUENCY_PRESSED","getRecurringStatus","trackGuestFormIM","_ref5$isOnboarding","isOnboarding","DW_GIVING_GUEST_FORM_SCREEN_SHOWN","DONATE_GUEST_FORM_SCREEN_SHOWN","OFFER_TYPE","ONBOARDING_GUEST_FORM","GUEST_FORM","trackMemberReviewPageIM","_ref9","statusCode","processStatus","fromUOB","STATUS","STATUS_CODE","DONATE_REVIEW_SCREEN_SHOWN","MEMBER_REVIEW_PAGE","PROCESS_STATUS","_ref11","_ref11$pageSpec","getDefaultPageSpec","DW_GIVING_FAILED_CUSTOMER_INTERACTION_OCCURRED","screen","SCREEN_NAME","DW_GIVING_DONATE_SETUP_SCREEN","DW_GIVING_DONATE_GUEST_FORM_SCREEN","ERR_FIELD","ERR_CODE","ECCD","ERPG","ERR_DESC","trackThreeDSIframeIM","_ref12","threeDSRespDuration","confirmationStatus","globalRespDuration","resp_duration","getThreeDSData","THREE_DS_IFRAME_ONBRD","THREE_DS_IFRAME","THREE_DS_RESP_DURATION","CHALLENGE_STATUS","DONATE_THREE_DS_IFRAME_SHOWN","_ref13","IS_SIGNUP","ACCOUNT_TYPE","getToken","_ref14","DONATE_MATCH_SOCIAL_SHARE_SCREEN_SHOWN","DONATE_GENERIC_SOCIAL_SHARE_SCREEN_SHOWN","_ref15","trackCaptureOrderPageIM","_ref16","CAPTURE_ORDER_PAGE","PAGE_NAME","PAGE_GROUP","trackErrorPageIM","_ref17","checkAndReplaceInternalErrWithDnwErr","_ref18","trackAnonymousCheckboxClick","LINK","ANONYMOUS_CHECKBOX","CHECKBOX","NONANONYMOUS","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","COVER_FEE_CHECKBOX","getFeeData","trackDonateWithCardClick","_ref21","noteFieldDisplayed","getLandingPageData","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","getFeePayer","trackNextClickForCheckout","_ref27","trackSignupChekboxClick","SWITCH","trackPaymentSubmitClick","_ref28","isNNA","DW_GIVING_GUEST_FORM_DONATE_PRESSED","DONATION_PAYMENT_GUEST_FORM_DONATE_PRESSED","GUEST_FORM_PAYMENT_SUBMIT_BUTTON","trackOnbrdPaymentSubmitClick","_ref33","isCvvSent","IS_CVV_SENT","linkName","_ref34","_ref34$pageSpec","PAGE_LINK","PAGE_GROUP_LINK","trackThreeDsDdcStart","updateGlobalRespDuration","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","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","likesCount","DONATE_LANDING_UPDATES_LIKE_PRESSED","DONATE_LANDING_UPDATES_LIKE_PRESSED_COMPLETED","UPDATE_ID","LIKE","UNLIKE","COUNT","trackOrganizerUpdatesListIM","count","DONATE_LANDING_UPDATES_LIST_SHOWN","trackUpdatesListSelectionPressed","DONATE_LANDING_UPDATES_LIST_SELECTION_PRESSED","trackUpdatesListLikePressed","DONATE_LANDING_UPDATES_LIST_LIKE_PRESSED","trackUpdatesListDismissPressed","reason","dismissMethod","CLOSE_SHEET_REASONS","BACKDROP_CLICK","DISMISS_METHODS","BACKGROUND","CLOSE","DONATE_LANDING_UPDATES_LIST_DISMISS_PRESSED","DISMISS_METHOD","trackUpdatesDetailDismissPressed","DONATE_LANDING_UPDATES_DETAIL_DISMISS_PRESSED","trackUpdatesLoginDismissPressed","DONATE_LANDING_UPDATES_LOGIN_DISMISS_PRESSED","trackUpdatesDetailIM","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","IMPRESSION","GUEST_SUCCESS_PAGE","GUEST_SIGNUP_SUCCESS_PAGE","GUEST_PENDING_PAGE","GUEST_FAILURE_PAGE","comp","ONBOARDING_GUEST_SUCCESS_PAGE","ONBOARDING_GUEST_PENDING_PAGE","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","uicomp","uitype","TESLA_GUEST_FORM","ACCOUNT_HOME","ANONYMOUS_TOOLTIP","CHANGE_COUNTRY","CURRENCY_CONVERSION","NOTE_PAD","ONBOARDING_FORM_PAYMENT_SUBMIT_BUTTON","PRESET_AMOUNT","PROGRAM_SELECTED","RECURRING_CHECKBOX","UNIFIED_LOGIN","AMOUNT","CAMPAIGN","CAMPAIGN_ID","CHALLENGE_END_TIME","CHALLENGE_START_TIME","CHARITY_NAME","COUNTRY","CONTINGENCY_RESOLVED","CURRENCY","DONOR_IP_COUNTRY","ENABLED_FREQUENCY","FEE_AMOUNT","FEE_CURRENCY","FEE_PAYER","FI_NETWORK","FI_ID","FI_OPERATION","FI_TYPE","NPID","NOTE_ALLOWED","NOTE_ADDED","INTEGRATION_IDENTIFIER","IS_RECURRING","IS_3DS_ELIGIBLE","ORDER_ID","PRODUCT","RESP_DURATION","SCREEN","SENDER_ID","SELECTED_FREQUENCY","TOKEN","THREE_DS_DCC_START_TIME","THREE_DS_DCC_END_TIME","THREE_DS_LOOKUP_END_TIME","THREE_DS_LOOKUP_START_TIME","THREE_DS_REF_ID","THREE_DS_SPINNER_START_TIME","THREE_DS_SPINNER_END_TIME","THREE_DS_VERSION","URL","UOB_BUNDLE_TYPE","FEATURE","AMOUNT_TYPE","CLOSE_BUTTON","ESC","SWIPE_DOWN","CTF","RECURRING","PRESET","ANONYMOUS","CHARITY_NOTE","DONATION_AMOUNT_EDITABLE","GUEST","MAILING_ADDRESS","DONATE_ADROIT_REDIRECTION_FOR_CIP_VERIFICATION","anonymousEnabled","coverFeeEnabled","donorIpCountry","feeCurr","feePayer","npid","integrationIdentifier","recurringEnabled","supportedRecurringFrequencies","isSdkMode","isPopupMode","isFullPageRedirectionMode","getFeeAmount","getDonationNote","setEnabledRecurringFrequency","_AppStore$getSelected","feature","setAmountTypeFpti","trackSelectedPresetAmount","_ref10","fundingOpts","getFundingOptions","contingencies","threeDSContingency","_find","FPTI_PRODUCT","isLoggedInUser","respDuration","isOnboardingFlow","_confirmationData$pos","_confirmationData$pos2","_confirmationData$pos3","mc_gross","mc_currency","payer_id","orderId","DW_GIVING_PAYMENT_PENDING_SCREEN_SHOWN","DW_GIVING_PAYMENT_SUCCESS_SCREEN_SHOWN","DONATION_CONFIRMATION_PAGE_IMP","INTERNAL_ERROR","DNW_UNHANDLED_ERROR","_window$fpti$key","valueArray","ReceiverEligibilityErrorTile","messageKey","receiverEligibilityCode","withCurrentPageUpdate","currentPage","WithCurrentPageUpdate","PAGE_UPDATE_TAG","POST_TRANSACTION_URL","MemberConfirmationPending","MemberConfirmationRecurring","MemberConfirmationSuccess","hideLeaveModal","waitForElement","selector","callback","querySelector","createBrowserHistory","getUserConfirmation","showLeaveModal","modalUtils","block","targetLocation","webpackPublicPath","__webpack_public_path__","_alldata","field","DonationStore","EventEmitter","prototype","emitChange","emit","getAllData","getDonationSymbol","symbol","getFormatedAmount","note","recurring","getRecurringModalStatus","recurringModalStatus","anonymousStatus","getFormatedFeeAmount","amountBeforeFee","getPostBackData","getCurrentPage","getServerErros","serverErrors","getPaymentError","paymentError","getSignUpError","signUpError","fundingOptions","getEmail","getBillingAddress","billingAddress","getUserCountry","getDonationAmountType","giftAidItFlag","getShareAddress","shareAddress","getAddCardError","addCardError","DonationConstants","getSelectedProgram","selectedProgram","getSelectedPresetButtonId","getCardSpec","cardSpec","getFormData","formData","getThreeDSContingency","languageSelectorState","getOrderStatus","orderStatus","ppccStatus","dispatcherIndex","_action$item$selected","REMEMBERED_AUTH_STATE","LOGGEDIN_AUTH_STATE","FROMUL_QUERY_PARAM","getForcedLoginUrlWithoutOt","forcedLoginUrlWithoutOt","hardLogoutUrl","isAuthenticatedUser","shouldShowUserBanner","fromUL","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","fields","ccNumber","required","pattern","maxlength","expirationDate","csc","minlength","DONATE_GIFTAID_IT_EXTRA_AMOUNT","PPGF_DISCLAIMER_TOUCHPOINT","NNA_CONTENT_TOUCHPOINT","BRANDED_CAMPAIGN","GENEROSITY_NETWORK","GENEROSITY_NETWORK_CHARITIES","PP_FUNDRAISING","DONATE_BUTTON_CAMPAIGN","WPS_DONATION","PAYPAL_FUNDRAISER_LISTED_CAMPAIGN","PAYPAL_FUNDRAISER_UNLISTED_CAMPAIGN","PRODUCT_TYPE","DBUTTON","DBUTTONC","SEND_MONEY_RECURRING_DONATION","DONATE_BUTTON","DW_GIVING_DONATE_SETUP_COMMENT_PRESSED","DW_GIVING_DONATE_SETUP_TOOLTIP_PRESSED","DW_GIVING_DONATE_SETUP_DISMISS_PRESSED","DW_GIVING_GUEST_FORM_DISMISS_PRESSED","DW_GIVING_MEMBER_REVIEW_DISMISS_PRESSED","DW_GIVING_PAYMENT_SUCCESS_DISMISS_PRESSED","DW_GIVING_REDIRCT_SCREEN_SHOWN","DW_GIVING_REDIRCT_OPEN_PRESSED","DW_GIVING_REDIRCT_DISMISS_PRESSED","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","logPerformance","_window6","startTime","time","_window3","_window4","_document","_window5","_document2","networkInfo","deviceAndNetworkInfo","connection","screen_width","innerWidth","documentElement","screen_height","innerHeight","clientHeight","network_effectiveType","effectiveType","logPerformanceData","tt","performance","timing","loadEventEnd","navigationStart","view","t11","now","et","pt","ru","referrer","cd","colorDepth","sw","sh","dw","devicePixelRatio","dh","bw","bh","startCustomCPLTrackingForConfirmationPage","startCPLTracking","endCPLTracking","polyfillFetch","fetchPolyfill","sanitizeURL","dirtyNode","createElement","setAttribute","node","clean","dompurify","IN_PLACE","getAttribute","sanitizeOrgName","input","show","elementsToShow","hide","elementsToHide","objectOrArrayToQueryString","arrOrObj","prefix","s","r20","val","buildParams","l","rbracket","test","_typeof","elementsSelected","_elementsSelected$i$c","_toConsumableArray","removeClass","_elementsSelected$i$c2","remove","csrf","dataset","createEvent","initEvent","dispatchEvent","headers","fetch","returnPath","renderURL","pushState","reload","handleErrors","getElement","selectorOrElement","HTMLElement","nodeType","ownerDocument","isElement","scrollElementIntoView","element","scrollIntoView","behavior","safeScrollElement","scrollTo","getPosition","xPosition","yPosition","offsetLeft","scrollLeft","clientLeft","offsetTop","scrollTop","clientTop","offsetParent","x","y","scrollY","isNaN","scroll","top","__getInitialData","initialDataNode","initialDataJSON","parse","console","warn","getInitialData","formatNormalizedAmount","amountValue","wrNormalizeNumber","numericAmount","formatPhone","phoneRegion","countryCode","nationalNumber","formatPhoneNumber","validatePhone","normalizedPhone","parsePhoneNumber","errors","getPhoneNumberWithoutCountryCode","phoneNumber","firstSpaceIndex","substring","getDateFormat","getDateMaskFormat","formatCurrencyWithSymbol","formatRelativeDate","date","utcDate","UTC","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","getRelativeTime","unit","timeZone","getRemainingDays","ceil","roundUpAndFormatCurrency","roundedUpValue","parseDateOnly","setHours","formatDate","cdnHostName","rawTemplateData","_set","webscrData","giftAidAddress","localsMessagesNode","locals","personalized","getPersonalizedMessagesAsContentLoaderStandard","init","decodeURIComponent","er","_templateData$presetA3","donorCoversFee","donationNote","enablePresetAmounts","donateContext","amount_type","amount_options","_templateData$presetA2","guestLocalsMessages","guestMessages","templateName","localsAllMessages","path","replaceAll","parseMessages","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","ca","brand","cp","path2","cpf","warnings","_REQUIRED_CPF","_INVALID_CPF","guestLabels","guestHelp","help","guestCaptcha","captcha","currencyLists","symbols","ppccLookupRequired","isPPCC","DonateAppActions","isPartnerFlow","hasPartnerSource","FROMUOB_QUERY_PARAM","addShake","waitTextEl","focus","onkeydown","outlineOffset","keyCode","activeElement","elements","elementWrapper","firstFocusableEl","find","el","onblur","updateDonation","redirecturl","clearSavedFormData","appStore","updateUrl","failureUrl","handleLogIn","sdkMeta","targetMeta","handleGuestCountryChange","handleTokenReuse","paymentStatus","parseErrorResponse","errorMessages","allErrorCodes","details","reduce","uniqueErr","errMsg","some","errMsgObj","removeDuplicateErrors","GENERIC_ERROR","parseValErrResp","dump","errorData","allError","getErrFields","allFields","isLTR","contextLocalityDir","waitForElementToDisplay","observeUntilEventObserved","targetNode","MutationObserver","mutations","observer","observe","initialDataInDom","transactionDetails","tx","txn_id","st","payment_status","amt","cc","cm","custom_data","item_number","item_name","xprops","close","isIframeMode","parent","Boolean","opener","outerWidth","istablet","isMWebNoCancelURL","isNotAtMaxWidth","availWidth","availHeight","outerHeight","countries","userCountry","legalCountry","_templateData$pxp","nnaExperienceStatus","pxp","showNnaExp","experiment","memberMandatory","_ref$contextLocalityD","shouldRTL","PayPalStyleSheet","cssInJSObject","rtlConvertInline","setShouldRTL","newVal","rtlConvert","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$","_step2","_iterator2","get","isPPUnlistedCampaign","isCheckoutRail","prepareOrderParams","addressSharingConsent","currencySymbol","ppgfMessage","directMessage","formatedMaximumAmount","maximumDonationCurrency","getPersonalizedNoteToPayeeLabel","noteToPayeeLabel","getPersonalizedNoteToPayeeTextboxCommentLabel","noteToPayeeTextboxCommentLabel","getPersonalizedAnonymousContent","anonymousLabel","anonymousTooltip","tooltip","results","exec","getParametersFromUrl","queryString","decodeURI","parseUrlQuery","search","_fromPairs","_compact","slice","worldReadyData","textContent","WorldReady","load","_ref$country","_ref$language","NumberFormat","CurrencyFormat","phoneObject","PhoneNumberFormat","DateInputMaskFormat","RelativeTimeFormat","DateTimeFormat"],"sourceRoot":""}