{"version":3,"sources":["webpack:///./transfer/components/theme-badge.js","webpack:///./transfer/utils/currencyConversionFeeDisclaimer-utils.js","webpack:///./experiments/gift-options.js"],"names":["styles","StyleSheet","create","badgeWrapper","display","width","textAlign","height","cursor","backgroundSize","backgroundPosition","border","borderRadius","color","padding","themeOpacity","transition","opacity","disableClick","outline","ThemeBadge","React","Component","render","handleClick","selectedThemeId","this","props","wrapperClassNames","css","bgImage","getThemeImage","createElement","onClick","type","style","background","concat","data-a11y-overpanel-focus-target","className","classNames","_defineProperty","i18n","content","calcI18n","getDisclaimerMessage","_ref","convertWithPayPal","userCountry","convertUsingCard","isPurchase","isReview","isBetterRate","isFeeDisclaimerMessageDisabled","feeDisclaimerMessage","isSendFriendsAbroadFlow","window","location","pathname","includes","showDisclaimerMessage","cardIssuerMessage","getCurrencyCodeMessage","flow","PRODUCT_FLOWS","SEND","getDisclaimerMessageForRTRConfirmation","_ref2","isNewDisclaimerMsg","FeaturesConfig","toUpperCase","isCFPBEnabled","getENDisclaimerMessage","_ref3","enRTRStrings","infoFee","infoBetterFee","infoLookForFee","optionsNewCreditCardExchangeRate","getENDisclaimerMessageForRTRConfirmation","_ref4","infoSimpleFeeDisclaimer","instructionsNewForeignExchangeDisclaimer","infoNewFeeDisclaimer","showGiftOptions","pxp","expandGiftOptions"],"mappings":"mKAaMA,EAASC,IAAWC,OAAO,CAC/BC,aAAc,CACZC,QAAS,QACTC,MAAO,OACPC,UAAW,SACXC,OAAQ,GACRC,OAAQ,UACRC,eAAgB,QAChBC,mBAAoB,SACpBC,OAAQ,OACRC,aAAc,EACdC,MAAO,QACPC,QAAS,IAEXC,aAAc,CACZ,SAAU,CACRC,WAAY,qBACZC,QAAS,KAGbC,aAAc,CACZC,QAAS,OACTX,OAAQ,UAIZ,MAAMY,UAAmBC,IAAMC,UAa7BC,SACE,IAAM,YAAEC,EAAW,gBAAEC,EAAe,aAAEP,GAAiBQ,KAAKC,MAEtDC,EAAoB,CACxB,CAACC,YAAI7B,EAAOG,gBAAgB,EAC5B,CAAC0B,YAAI7B,EAAOkB,eAAgBA,EAC5B,CAACW,YAAI7B,EAAOe,gBAAiBG,GAGzBY,EAAUC,YAAcN,EAAiB,OAE/C,OACEJ,IAAAW,cAAA,UACEC,QAAST,EACTU,KAAK,SACLC,MAAO,CAAEC,WAAY,OAAFC,OAASP,EAAO,MACnCQ,mCAAiC,wBACjCC,UAAWC,IAAWZ,MAI7Ba,IAlCKrB,EAAU,eAOQ,CACpBI,YAAaA,OACbC,gBAAiB,GACjBP,cAAc,IA0BHE,O,iCC3Ef,8MAIMsB,EAAOC,YAAQ,mCACfC,EAAWD,YAAQ,oBAElB,SAASE,EAAoBC,GAQjC,IARkC,kBACnCC,EAAiB,YACjBC,EAAW,iBACXC,EAAgB,WAChBC,EAAU,SACVC,EAAQ,aACRC,EAAY,+BACZC,GACDP,EACKQ,EAAuBZ,EAAK,YAG1Ba,EAA0BC,OAAOC,SAASC,SAASC,SAAS,WAelE,GAbKR,GAAaI,EAIPH,IAAiBG,EAC1BD,EAEIZ,EAFoBW,EAEf,oBADA,kBAEAF,GAAYE,IACrBC,EAAuB,IARvBA,EAEIZ,EAFoBW,EAEf,qBADA,oBAWNN,EAAmB,CAGtB,IAAMa,EAAwBX,EACxBY,EAAoBnB,EAAK,qCAE/BY,EAAuBM,EAAwBC,EAAoB,GAErE,OAAOP,EAGF,SAASQ,EAAuBC,GACrC,OAAOA,IAASC,IAAcC,KAC1BvB,EAAK,mCACLA,EAAK,sCAGJ,SAASwB,EAAsCC,GAKnD,IALoD,kBACrDpB,EAAiB,YACjBC,EAAW,iBACXC,EAAgB,WAChBC,GACDiB,EAEC,IAAKlB,EAEH,OAAOJ,EAAqB,CAC1BE,oBACAC,cACAC,mBACAC,eAIJ,IAAMkB,EACJpB,GACAqB,EAAerB,EAAYsB,gBAC3BD,EAAerB,EAAYsB,eAAeC,cAc5C,OAXIxB,EACEqB,EACqB1B,EAAK,4BAELQ,EACnBN,EAAS,6CACTF,EAAK,yBAGY,GAKpB,SAAS8B,EAAsBC,GAOnC,IAPoC,kBACrC1B,EAAiB,YACjBC,EAAW,iBACXC,EAAgB,WAChBC,EAAU,SACVC,EAAQ,aACRC,GACDqB,EACKnB,EAAuBoB,IAAaC,QAGlCpB,EAA0BC,OAAOC,SAASC,SAASC,SAAS,WASlE,GAPKR,GAAaI,EAEPH,IAAiBG,IAC1BD,EAAuBoB,IAAaE,eAFpCtB,EAAuBoB,IAAaG,gBAMjC9B,EAAmB,CAGtB,IAAMa,EAAwBX,EACxBY,EAAoBa,IAAaI,iCAEvCxB,EAAuBM,EAAwBC,EAAoB,GAErE,OAAOP,EAGF,SAASyB,EAAwCC,GAKrD,IALsD,kBACvDjC,EAAiB,YACjBC,EAAW,iBACXC,EAAgB,WAChBC,GACD8B,EAEC,IAAK/B,EAEH,OAAOuB,EAAuB,CAC5BzB,oBACAE,qBAIJ,IAAMmB,EACJpB,GACAqB,EAAerB,EAAYsB,gBAC3BD,EAAerB,EAAYsB,eAAeC,cAc5C,OAXIxB,EACEqB,EACqBM,IAAaO,wBAEb/B,EACnBwB,IAAaQ,yCACbR,IAAaS,qBAGI,K,iCCrJ3B,gFACaC,EAAkBA,IAC7BC,cAAgB,oCAChBA,cAAgB,kCAELC,EAAoBA,IAC/BD,cAAgB","file":"default~guest~pay-request-success~request-preview~send-success~universal-preview.esm.js","sourcesContent":["/**\n * ThemeBadge is the gift theme selection button. It has three main uses/states:\n * 1. the user has selected a theme (in /send or /gift), then is shows the selected theme as bg and shows gift icon\n * 2. the success page after a gift transaction, the button should be not clickable, but renders with selected theme and gift icon\n */\n\nimport PropTypes from 'prop-types'\n\nimport React from 'react'\nimport classNames from 'classnames'\nimport { StyleSheet, css } from 'lib/paypalphrodite'\nimport { getThemeImage } from '../utils/theme-utils'\n\nconst styles = StyleSheet.create({\n badgeWrapper: {\n display: 'block',\n width: '100%',\n textAlign: 'center',\n height: 65,\n cursor: 'pointer',\n backgroundSize: 'cover',\n backgroundPosition: 'center',\n border: 'none',\n borderRadius: 5,\n color: 'white',\n padding: 21,\n },\n themeOpacity: {\n ':hover': {\n transition: 'opacity 600ms ease',\n opacity: 0.6,\n },\n },\n disableClick: {\n outline: 'none',\n cursor: 'auto',\n },\n})\n\nclass ThemeBadge extends React.Component {\n static propTypes = {\n handleClick: PropTypes.func,\n selectedThemeId: PropTypes.string,\n disableClick: PropTypes.bool,\n }\n\n static defaultProps = {\n handleClick: () => {},\n selectedThemeId: '',\n disableClick: false,\n }\n\n render() {\n const { handleClick, selectedThemeId, disableClick } = this.props\n\n const wrapperClassNames = {\n [css(styles.badgeWrapper)]: true,\n [css(styles.disableClick)]: disableClick,\n [css(styles.themeOpacity)]: !disableClick,\n }\n\n const bgImage = getThemeImage(selectedThemeId, 'p2p')\n\n return (\n \n )\n }\n}\n\nexport default ThemeBadge\n","import content from 'pp-react-l10n'\nimport FeaturesConfig from '../../../../config/features.json'\nimport enRTRStrings from '../../../../config/enRTRStrings'\nimport { PRODUCT_FLOWS } from '../../../../lib/constants'\nconst i18n = content('transfer/inc/currencyConversion')\nconst calcI18n = content('crossBorder/calc')\n\nexport function getDisclaimerMessage({\n convertWithPayPal,\n userCountry,\n convertUsingCard,\n isPurchase,\n isReview,\n isBetterRate,\n isFeeDisclaimerMessageDisabled,\n}) {\n let feeDisclaimerMessage = i18n('info.fee')\n\n // with send money to friends abroad, we don't know the old fee since we load a seperate store, so we can't compare\n const isSendFriendsAbroadFlow = window.location.pathname.includes('fx/fees')\n\n if (!isReview && !isSendFriendsAbroadFlow) {\n feeDisclaimerMessage = !isFeeDisclaimerMessageDisabled\n ? i18n('info.lookForFee')\n : i18n('info.lookForFeeEEA')\n } else if (isBetterRate && !isSendFriendsAbroadFlow) {\n feeDisclaimerMessage = !isFeeDisclaimerMessageDisabled\n ? i18n('info.betterFee')\n : i18n('info.betterFeeEEA')\n } else if (isReview && isFeeDisclaimerMessageDisabled) {\n feeDisclaimerMessage = ''\n }\n\n // this is related to using PayPal's conversion rate, which includes paying with a bank card funding option.\n if (!convertWithPayPal) {\n // User choose card issuer to convert currency or no currency conversion is needed\n // Only show the disclaimer message if card is used to fund transaction and currency conversion need to happen\n const showDisclaimerMessage = convertUsingCard\n const cardIssuerMessage = i18n('options.newCreditCardExchangeRate')\n // Indicate to user that card issuer will determine the exchange rate if user choose using card issuer to convert currency\n feeDisclaimerMessage = showDisclaimerMessage ? cardIssuerMessage : ''\n }\n return feeDisclaimerMessage\n}\n\nexport function getCurrencyCodeMessage(flow) {\n return flow === PRODUCT_FLOWS.SEND\n ? i18n('info.sendCurrencyCodeDisclaimer')\n : i18n('info.requestCurrencyCodeDisclaimer')\n}\n\nexport function getDisclaimerMessageForRTRConfirmation({\n convertWithPayPal,\n userCountry,\n convertUsingCard,\n isPurchase,\n}) {\n let feeDisclaimerMessage\n if (!convertUsingCard) {\n // for RTR confirmation and not converting with card case the disclaimer message is same as the message show on preview page\n return getDisclaimerMessage({\n convertWithPayPal,\n userCountry,\n convertUsingCard,\n isPurchase,\n })\n }\n\n const isNewDisclaimerMsg =\n userCountry &&\n FeaturesConfig[userCountry.toUpperCase()] &&\n FeaturesConfig[userCountry.toUpperCase()].isCFPBEnabled\n\n // for RTR case confirmation and converting currency USING card, the disclaimer message is different than the message show on preview page as funding option is not shown.\n if (convertWithPayPal) {\n if (isNewDisclaimerMsg) {\n feeDisclaimerMessage = i18n('info.simpleFeeDisclaimer')\n } else {\n feeDisclaimerMessage = isPurchase\n ? calcI18n('instructions.newForeignExchangeDisclaimer')\n : i18n('info.newFeeDisclaimer')\n }\n } else {\n feeDisclaimerMessage = ''\n }\n return feeDisclaimerMessage\n}\n\nexport function getENDisclaimerMessage({\n convertWithPayPal,\n userCountry,\n convertUsingCard,\n isPurchase,\n isReview,\n isBetterRate,\n}) {\n let feeDisclaimerMessage = enRTRStrings.infoFee\n\n // with send money to friends abroad, we don't know the old fee since we load a seperate store, so we can't compare\n const isSendFriendsAbroadFlow = window.location.pathname.includes('fx/fees')\n\n if (!isReview && !isSendFriendsAbroadFlow) {\n feeDisclaimerMessage = enRTRStrings.infoLookForFee\n } else if (isBetterRate && !isSendFriendsAbroadFlow) {\n feeDisclaimerMessage = enRTRStrings.infoBetterFee\n }\n\n // this is related to using PayPal's conversion rate, which includes paying with a bank card funding option.\n if (!convertWithPayPal) {\n // User choose card issuer to convert currency or no currency conversion is needed\n // Only show the disclaimer message if card is used to fund transaction and currency conversion need to happen\n const showDisclaimerMessage = convertUsingCard\n const cardIssuerMessage = enRTRStrings.optionsNewCreditCardExchangeRate\n // Indicate to user that card issuer will determine the exchange rate if user choose using card issuer to convert currency\n feeDisclaimerMessage = showDisclaimerMessage ? cardIssuerMessage : ''\n }\n return feeDisclaimerMessage\n}\n\nexport function getENDisclaimerMessageForRTRConfirmation({\n convertWithPayPal,\n userCountry,\n convertUsingCard,\n isPurchase,\n}) {\n let feeDisclaimerMessage\n if (!convertUsingCard) {\n // for RTR confirmation and not converting with card case the disclaimer message is same as the message show on preview page\n return getENDisclaimerMessage({\n convertWithPayPal,\n convertUsingCard,\n })\n }\n\n const isNewDisclaimerMsg =\n userCountry &&\n FeaturesConfig[userCountry.toUpperCase()] &&\n FeaturesConfig[userCountry.toUpperCase()].isCFPBEnabled\n\n // for RTR case confirmation and converting currency USING card, the disclaimer message is different than the message show on preview page as funding option is not shown.\n if (convertWithPayPal) {\n if (isNewDisclaimerMsg) {\n feeDisclaimerMessage = enRTRStrings.infoSimpleFeeDisclaimer\n } else {\n feeDisclaimerMessage = isPurchase\n ? enRTRStrings.instructionsNewForeignExchangeDisclaimer\n : enRTRStrings.infoNewFeeDisclaimer\n }\n } else {\n feeDisclaimerMessage = ''\n }\n return feeDisclaimerMessage\n}\n","import * as pxp from '../lib/pxp'\nexport const showGiftOptions = () =>\n pxp.isTreatment('Trmt_p2p_gift_options_collapsed') ||\n pxp.isTreatment('Trmt_p2p_gift_options_expanded')\n\nexport const expandGiftOptions = () =>\n pxp.isTreatment('Trmt_p2p_gift_options_expanded')\n"],"sourceRoot":""}