{"version":3,"sources":["components/GplCreditContainer/index.js","components/PayWith/ShowMore/index.js","components/PayWith/FundingInstrumentList/styles.css","components/CurrencyConversionOption/AuthSettleComplianceContent/index.js","components/CurrencyConversionOption/CurrencyConversionContentBR/index.js","components/CurrencyConversionOption/CurrencyConversionLink/index.js","components/FundingInstrument/index.js","components/PayWith/FundingInstrumentList/utils.js","components/PayWith/FundingInstrumentList/index.js","components/PayLater/styles.css","components/PayLater/Multi/styles.css","shared/components/Space/index.js","components/CurrencyConversionOption/CurrencyConversionOption.js","components/CurrencyConversion/constants.js","components/CurrencyConversionOption/styles.css","hooks/useImpressionTracking.js","components/PayLater/PayLaterFundingInstrument.js","components/PayLater/Multi/GPLOffer.js","components/PayLater/Multi/MultiOfferFundingInstrument.js","components/PayLater/PayLater.js"],"names":["GplCreditContainer","props","usePayLaterContext","payLaterState","isGplOfferVisible","Fragment","React","cloneElement","children","ShowMore","Feature","id","module","exports","AuthSettleComplianceContent","CurrencyConversionContentBR","CurrencyConversionLink","countrySpecific","US","HU","FundingInstrument","useCryptoTermsInterstitial","isCryptoTermsInterstitialAcknowledged","isInterstitialAcknowledged","openCryptoTermsInterstitial","openInterstitial","payContext","usePayContext","payState","selectedFundingOptionId","preferredFundingOptionId","payLaterContext","fi","selectedInstallment","showCurrencyCode","isSingleFI","isPPCInstallment","selectedPlan","getSelectedPlan","backupFundingInstrument","currencyConversion","fundingSource","getSelectedFundingSource","plan","hasIncentive","isIncentivesPlan","fundingSources","gplAmountDueToday","gplAmountDueTodayDetails","fundingInstrument","amount","isDiscountAvailableForInstallment","totalCost","isSelected","isPreferredChecked","className","style","container","data-testid","FIDisplay","backup","togglePreferred","allPlans","rewards","installmentsInPlans","findInstallmentsInPlans","setPreferredFiId","undefined","fptiAction","logger","fpti","TRANSITION_PAYLOAD","from","to","preferred_fi_id","installment_shown","areInstallmentsAvailable","rewardsFpti","makeSelected","fundingOptionType","type","isPreferred","hasPadPlan","Boolean","getPadPlan","getSelectedFundingOption","fundingOptions","isCryptoFundingInstrument","setSelectedFiId","setPayState","usePayAfterDelivery","updateFeatures","visible","data","showDescriptor","then","resetRewards","clearSelectedOffer","fundingMethodType","defaultProps","isPaypalBalance","fundingOption","instrumentSubType","FundingInstrumentList","fundingInstruments","payWithFeatureDependencies","featureDependencies","INSTALLMENTS_DISPLAY","SHOW_MORE_FUNDING_OPTIONS","installmentsData","showMoreData","isShowMoreEnabled","enabled","isShowMoreActive","showMore","getDependentFeatureData","useFundingInstruments","initialFundingInstruments","extraFundingInstruments","isSingleFundingOptionByType","multipleBalances","filter","length","createFundingInstrument","key","getSelectedInstallmentOption","map","animateOpacity","styles","animateHeightFIs","height","Space","size","spaces","i","push","CurrencyConversionOption","formattedRate","fromCurrencyCode","fundingOptionId","isReadOnly","fromUnitCurrency","toTargetCurrency","isHideCardFlagSet","useCart","hasColon","getContent","substr","cx","leftContainer","singleFi","getConversionRate","conversionType","onClick","e","preventDefault","updateFeature","CONVERSION_TYPES","PAYPAL","VENDOR","fromCurrency","toCurrency","getDirectionality","useImpressionTracking","handleImpression","impressionRef","useRef","intersection","useIntersection","root","rootMargin","threshold","prevIntersectionRatio","usePrevious","intersectionRatio","useEffect","Error","CurrencyConversionContainer","offer","total","currencyCode","rate","content","CurrencyConversionRate","CartAmountCurrencyCode","toNumber","Terms","termsLink","TermsLink","termsLinkText","TermsLinkText","termsText","TermsText","PopupLink","link","href","label","LearnMoreLink","handleLearnMore","strong","as","GplLearnMoreText","PayLaterFundingInstrument","onSelect","rank","primaryType","offerTxt","OfferText1","Product","OfferText2","fiDetails","FIDetails","fiHighlightText","StatusText","fiName","OfferHeading","imgAltText","imgSrc","FILogo","Logo","item","VerticalRadioButton","checked","onChange","strToBool","CrossCurrencyTransaction","duration","isTesting","details","GPLOffer","ShortOfferText","FIText2","FormattedCartAmount","FormattedInterestAmount","FormattedTotalAmount","cn","offerSection","open","offerHeading","shortOfferText","offerContent","aria-hidden","offerContentTop","offerContentBottom","offerInfoRow","offerAmount","triggerClassName","tooltipTrigger","arrowPosition","description","getFptiDetails","selectedOffer","offers","financing_code_selected","FinancingCode","financing_codes","offerFinancingCodesToCSV","installment_option_shown","allOfferDetailsToJsonString","installment_option_selected","offerDetailsForFPTI","MultiOfferFundingInstrument","hasGPLFundingInstrument","preselectedIndex","useCallback","selected","findIndex","getPreselectedOfferIndex","useState","selectedOfferIndex","setSelectedOfferIndex","isChecked","setIsChecked","advertisedOfferText","getLowestOffer","FIText1","defaultInstrument","referenceId","isFISelected","fptiData","FILabel","advertised","offers_shown","OfferCategory","onOfferClick","currencyConversionTitle","getFormattedRate","getCurrencyCode","gplOfferLogImpression","once","payLaterLogImpression","has_reuse","offer_products","join","PayLater","featureSplitTenderGate","useFeature","showSplitExperience","showTitle","checkoutSession","isPayLaterFundingInstrument","isMultiOfferFundingInstrument","selectedFundingOption","useEligibilityContext","hasGPL","isUpstreamPresentment","showGPLOffer","showControlCreditOffers","creditPPCOffers","groupOffersByMultiInstallment","installmentOffers","nonInstallmentOffers","creditOffer","mapCreditPPCOffer","creditOfferType","OfferType","checkElmoTreatment","ElmoExperiment","TREATMENTS","TREATMENT_1","isInstallmentCreditType","showIncentives","isPPCFundingInstrument","impressionGplRef","acqOffers","reverse","headerContainer","headingStyles","badge","getCountry","alert","productName","Incentives","selectMultiInstallmentOffer","ref","offerProduct","selectGplOffer","selectPpcOffer"],"mappings":"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","file":"js/PayLater~21833f8f.5f48b7c0.js","sourcesContent":["import React from 'react';\nimport { usePayLaterContext } from '@/components/ContextProviders';\n\nexport default function GplCreditContainer(props) {\n const { payLaterState } = usePayLaterContext();\n\n if (!payLaterState.isGplOfferVisible) {\n return null;\n }\n\n return {React.cloneElement(props.children)};\n}\n","import Feature from '@/components/Feature';\n\nexport const ShowMore = Feature({\n id: 'SHOW_MORE_FUNDING_OPTIONS',\n})(() => import('./ShowMore'));\n","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {\"animateHeightFIs\":\"FundingInstrumentList_animateHeightFIs_YEbWE\"};","import Feature from '@/components/Feature';\n\n/**\n * `` is a foreign currency conversion compliance content and is designed\n * specifically for As1/AS2 type of transactions\n */\nconst AuthSettleComplianceContent = Feature({\n id: 'AUTH_SETTLE_COMPLIANCE_CONTENT',\n})(() => import('./AuthSettleComplianceContent'));\n\nexport default AuthSettleComplianceContent;\n","import Feature from '@/components/Feature';\n\n/**\n * `` is an extra currency conversion content to display in BR\n */\nconst CurrencyConversionContentBR = Feature({\n id: 'CURRENCY_CONVERSION_CONTENT_BR',\n})(() => import('./CurrencyConversionContentBR'));\n\nexport default CurrencyConversionContentBR;\n","import Feature from '@/components/Feature';\n\n/**\n * `` is a link to show more currency conversion options\n */\nconst CurrencyConversionLink = Feature({\n id: 'CURRENCY_CONVERSION_LINK',\n})({\n countrySpecific: {\n US: () => import('./CurrencyConversionLink'),\n HU: () => import('./CurrencyConversionLinkHU'),\n },\n});\n\nexport default CurrencyConversionLink;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { logger, TRANSITION_PAYLOAD } from '@paypalcorp/c3-util-logger';\nimport {\n updateFeatures,\n getSelectedPlan,\n getSelectedFundingSource,\n getPadPlan,\n getSelectedFundingOption,\n isCryptoFundingInstrument,\n} from '@paypalcorp/c3-util-store';\nimport { useCryptoTermsInterstitial } from '@/components/Crypto';\nimport { InstallmentsPropType } from '@/components/Installments/propTypes';\nimport {\n areInstallmentsAvailable,\n findInstallmentsInPlans,\n isDiscountAvailableForInstallment,\n} from '@/components/Installments/utilities';\nimport { rewardsFpti, resetRewards } from '@/components/Rewards/utilities';\nimport FIDisplay from './FIDisplay';\nimport { FundingInstrumentPropType } from './constants';\nimport style from './FundingInstrument.css';\nimport { gplAmountDueTodayDetails, isIncentivesPlan } from '@/lib/utils';\nimport { usePayLaterContext, usePayContext } from '@/components/ContextProviders';\n\nconst FundingInstrument = (props) => {\n const {\n isInterstitialAcknowledged: isCryptoTermsInterstitialAcknowledged,\n openInterstitial: openCryptoTermsInterstitial,\n } = useCryptoTermsInterstitial();\n const payContext = usePayContext();\n const { selectedFundingOptionId, preferredFundingOptionId } = payContext.payState;\n const payLaterContext = usePayLaterContext();\n\n const makeSelected = () => {\n const { fi = {} } = props ?? {};\n const { id, fundingInstrument = {} } = fi;\n const { type: fundingOptionType, isPreferred } = fundingInstrument;\n const hasPadPlan = Boolean(getPadPlan(getSelectedFundingOption(payContext.fundingOptions, id)));\n\n // If we are attempting to select a crypto funding instrument and we have not\n // acknowledged the cryptocurrency terms and conditions we need to surface this\n // to the user. Once the user has acknowledged them the FI will be selected\n if (isCryptoFundingInstrument(fundingInstrument) && !isCryptoTermsInterstitialAcknowledged) {\n openCryptoTermsInterstitial(id);\n\n return;\n }\n\n payContext.setSelectedFiId(id);\n payContext.setPreferredFiId(isPreferred ? id : undefined);\n\n if (!hasPadPlan) {\n payContext.setPayState({\n usePayAfterDelivery: false,\n });\n }\n\n updateFeatures([\n // Show / Hide Soft Descriptor based on the type of the current selected fi type\n {\n id: 'DISCLAIMER',\n visible: true,\n data: { showDescriptor: fundingOptionType === 'CREDIT_CARD' },\n },\n {\n id: 'CREDIT_OFFER_AS_FI_DE',\n data: { isSelected: false },\n },\n ]).then(resetRewards);\n\n payLaterContext.clearSelectedOffer();\n };\n\n const togglePreferred = () => {\n const {\n fi: {\n id,\n allPlans = [],\n fundingInstrument: { rewards = null },\n },\n } = props;\n const installmentsInPlans = findInstallmentsInPlans(id, allPlans);\n\n payContext.setPreferredFiId(!preferredFundingOptionId ? id : undefined);\n\n const fptiAction = 'change_preferred_fi';\n\n logger.fpti(\n fptiAction,\n TRANSITION_PAYLOAD({\n from: 'review',\n to: fptiAction,\n preferred_fi_id: id,\n installment_shown: areInstallmentsAvailable(installmentsInPlans) ? 1 : 0,\n ...rewardsFpti(rewards),\n })\n );\n };\n\n // The prop `isNewPreferred` denotes that a user has performed an action in\n // the UI to change the preferred FI. Would prefer to sync the `isPreferred`\n // value in the cache with apollo-link-state.\n const {\n fi: { id },\n selectedInstallment,\n showCurrencyCode,\n isSingleFI,\n isPPCInstallment,\n } = props;\n\n const selectedPlan = getSelectedPlan({ fi: props.fi, payContext });\n const { backupFundingInstrument, currencyConversion } = selectedPlan;\n const fundingSource = getSelectedFundingSource({\n fi: props.fi,\n plan: selectedPlan,\n });\n\n const hasIncentive = isIncentivesPlan(selectedPlan?.fundingSources);\n const gplAmountDueToday = gplAmountDueTodayDetails(props.fi.fundingInstrument);\n\n let amount = fundingSource.amount;\n\n if (isDiscountAvailableForInstallment(selectedInstallment)) {\n // TODO: Should revisit fundingInstrument schema to see if we can surface currency for balance\n //\n // If the selected installment for this FI has a discount then we need to update the\n // amount to reflect this. The installment data will reflect the new total cost which\n // will be charged to this FI\n amount = selectedInstallment.totalCost;\n } else if (gplAmountDueToday) {\n //If GPL FI is selected, corresponding due amount should be shown\n amount = gplAmountDueToday;\n }\n\n const isSelected = selectedFundingOptionId === id;\n const isPreferredChecked = preferredFundingOptionId === id;\n\n return (\n
\n \n
\n );\n};\n\nFundingInstrument.propTypes = {\n fi: PropTypes.shape({\n id: PropTypes.string,\n fundingInstrument: FundingInstrumentPropType,\n }).isRequired,\n selectedInstallment: InstallmentsPropType,\n showCurrencyCode: PropTypes.bool,\n isPPCInstallment: PropTypes.bool,\n};\n\nFundingInstrument.defaultProps = {\n selectedInstallment: null,\n showCurrencyCode: false,\n isPPCInstallment: false,\n};\n\nexport default FundingInstrument;\n","export const isPaypalBalance = (fundingOption) => {\n const { fundingInstrument } = fundingOption;\n const { type, instrumentSubType } = fundingInstrument;\n\n return type === 'PAYPAL_BALANCE' && instrumentSubType === 'PAYPAL';\n};\n","import React from 'react';\nimport AnimateHeight from 'react-animate-height';\n\nimport FundingInstrument from '@/components/FundingInstrument';\nimport { getSelectedInstallmentOption } from '@/components/Installments/utilities';\nimport { ShowMore } from '@/components/PayWith/ShowMore';\nimport { isSingleFundingOptionByType } from '@paypalcorp/c3-util-store';\n\nimport { useFundingInstruments } from './hooks';\nimport styles from './styles.css';\nimport { isPaypalBalance } from './utils';\n\nconst getDependentFeatureData = (featureDependencies) => {\n const { INSTALLMENTS_DISPLAY = {}, SHOW_MORE_FUNDING_OPTIONS = {} } = featureDependencies;\n const { data: installmentsData } = INSTALLMENTS_DISPLAY;\n const { data: showMoreData, enabled: isShowMoreEnabled } = SHOW_MORE_FUNDING_OPTIONS;\n\n return {\n installmentsData,\n isShowMoreActive: isShowMoreEnabled && showMoreData?.showMore,\n isShowMoreEnabled,\n };\n};\n\nexport const FundingInstrumentList = ({\n fundingInstruments,\n payWithFeatureDependencies = {},\n isSingleFI,\n isPPCInstallment = false,\n}) => {\n const { installmentsData, isShowMoreActive, isShowMoreEnabled } = getDependentFeatureData(\n payWithFeatureDependencies\n );\n const [initialFundingInstruments, extraFundingInstruments] = useFundingInstruments({\n fundingInstruments,\n isShowMoreEnabled,\n });\n\n // NOTE: if `isFullyFundedByIncentives` is true for a transaction, it means that\n // incentives > cart amount, this incentives in itself is sufficient for us to\n // complete the transaction. Hence we can hide other FIs since they wont be part of the checkout process\n const isFullyFundedByIncentives = isSingleFundingOptionByType({\n fundingOptions: fundingInstruments,\n type: 'INCENTIVE',\n });\n\n if (isFullyFundedByIncentives) {\n return null;\n }\n\n const multipleBalances = fundingInstruments.filter(isPaypalBalance).length > 1;\n\n const createFundingInstrument = (fundingInstrument) => {\n const { id } = fundingInstrument;\n\n return (\n \n );\n };\n\n return (\n
\n
\n {initialFundingInstruments.map((fi) => createFundingInstrument(fi))}\n
\n {Boolean(extraFundingInstruments.length) ? (\n
\n \n \n {extraFundingInstruments.map((fi) => createFundingInstrument(fi))}\n \n
\n ) : null}\n
\n );\n};\n","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {\"container\":\"PayLater_container_1dobj\",\"item\":\"PayLater_item_2Zm08\",\"currencyConversionText\":\"PayLater_currencyConversionText_24ysC\",\"headerContainer\":\"PayLater_headerContainer_3RSAC\",\"badge\":\"PayLater_badge_34X60\",\"termsText\":\"PayLater_termsText_jAD63\",\"offerTxt\":\"PayLater_offerTxt_2ln--\",\"alert\":\"PayLater_alert_zmsIT\"};","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {\"ppui-font-weight-bold\":\"700\",\"ppuiFontWeightBold\":\"700\",\"ppui-font-size-sm\":\"0.8125rem\",\"ppuiFontSizeSm\":\"0.8125rem\",\"ppui-color-blue-600\":\"#0070ba\",\"ppuiColorBlue600\":\"#0070ba\",\"ppui-color-blue-100\":\"#f5fbfe\",\"ppuiColorBlue100\":\"#f5fbfe\",\"ppui-color-grey-600\":\"#687173\",\"ppuiColorGrey600\":\"#687173\",\"ppui-color-grey-400\":\"#b7bcbf\",\"ppuiColorGrey400\":\"#b7bcbf\",\"currencyConversionTitle\":\"Multi_currencyConversionTitle_WWBAv\",\"item\":\"Multi_item_1QyJ9\",\"offers\":\"Multi_offers_1xAtr\",\"advertised\":\"Multi_advertised_1GZnL\",\"offerSection\":\"Multi_offerSection_KVizQ\",\"open\":\"Multi_open_1ABG-\",\"offerHeading\":\"Multi_offerHeading_30fCW\",\"offerContent\":\"Multi_offerContent_3Thnr\",\"offerContentTop\":\"Multi_offerContentTop_31Yn3\",\"offerContentBottom\":\"Multi_offerContentBottom_3kwZG\",\"shortOfferText\":\"Multi_shortOfferText_nyv90\",\"offerInfoRow\":\"Multi_offerInfoRow_1-am3\",\"offerAmount\":\"Multi_offerAmount_2C794\",\"tooltipTrigger\":\"Multi_tooltipTrigger_1E2K0\"};","import React from 'react';\n\nexport default function Space({ size = 1 }) {\n // Must use html entity because multiple unicode spaces won't visibly repeat.\n // But html entities get escaped by React, so must set as inner html\n\n const spaces = [];\n\n for (let i = 0; i < size; i++) {\n spaces.push( );\n }\n\n return {spaces};\n}\n","import React from 'react';\nimport cx from 'classnames';\n\nimport { logger } from '@paypalcorp/c3-util-logger';\nimport getContent from '@/lib/content';\nimport { updateFeature } from '@paypalcorp/c3-util-store';\nimport { TRANSITION_PAYLOAD } from '@paypalcorp/c3-util-logger';\nimport { getConversionRate } from '../CurrencyConversion/constants';\nimport AuthSettleComplianceContent from './AuthSettleComplianceContent';\nimport CurrencyConversionContentBR from './CurrencyConversionContentBR';\nimport CurrencyConversionLink from './CurrencyConversionLink';\nimport { useCart } from '../Cart/hooks';\nimport styles from './styles.css';\n\nconst CurrencyConversionOption = (props) => {\n const onClick = (e) => {\n e.preventDefault();\n\n const fptiAction = 'open_currency_conversion';\n\n logger.fpti(fptiAction, TRANSITION_PAYLOAD({ from: 'review', to: fptiAction }));\n\n updateFeature('CURRENCY_CONVERSION', { visible: true });\n };\n\n const {\n formattedRate,\n fromCurrencyCode,\n fundingOptionId,\n isReadOnly,\n isSingleFI = false,\n type,\n } = props;\n\n const fromUnitCurrency = `1 ${fromCurrencyCode}`;\n const toTargetCurrency = `${formattedRate}`;\n const { isHideCardFlagSet } = useCart();\n\n // TEMP: needed until translations come in with colon for locale property \"currencyConversion.paypalRateHeader\"\n const hasColon = getContent('currencyConversion.paypalRateHeader').substr(-1) === ':';\n\n return (\n
\n \n {type === 'PAYPAL' ? (\n \n {/* TEMP: remove hasColon once translations for locale property \"currencyConversion.paypalRateHeader\" come in */}\n {getContent('currencyConversion.paypalRateHeader')}\n {hasColon ? '' : ':'} {getConversionRate(fromUnitCurrency, toTargetCurrency)}\n \n ) : (\n {getContent('currencyConversion.issuerFees')}\n )}\n {!isReadOnly && }\n \n {isHideCardFlagSet && type === 'PAYPAL' ? : null}\n
\n \n );\n};\n\nexport default CurrencyConversionOption;\n","import { getDirectionality } from '@paypalcorp/c3-shared-globals';\n\nexport const CONVERSION_TYPES = {\n PAYPAL: 'PAYPAL',\n VENDOR: 'VENDOR',\n};\n\nexport const getConversionRate = (fromCurrency, toCurrency) =>\n getDirectionality() === 'rtl'\n ? `${toCurrency} = ${fromCurrency}`\n : `${fromCurrency} = ${toCurrency}`;\n","// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {\"ppui-color-blue-600\":\"#0070ba\",\"ppuiColorBlue600\":\"#0070ba\",\"container\":\"CurrencyConversionOption_container_1Ygq6\",\"header\":\"CurrencyConversionOption_header_3eUGA\",\"leftContainer\":\"CurrencyConversionOption_leftContainer_1OasC\",\"singleFi\":\"CurrencyConversionOption_singleFi_2_CLo\",\"currencyCode\":\"CurrencyConversionOption_currencyCode_1VWvK\",\"showMoreButtonContainer\":\"CurrencyConversionOption_showMoreButtonContainer_3d7sB\",\"button\":\"CurrencyConversionOption_button_36WN4\",\"content\":\"CurrencyConversionOption_content_ClFRP\"};","import { useRef, useEffect } from 'react';\nimport { useIntersection } from 'react-use';\nimport { usePrevious } from 'react-use';\n\n/**\n * Leverages the Intersection Observer API to log impressions on any element.\n * Will trigger the function you provide when the element has fully entered the viewport.\n * You must attach the ref returned to the element for which you wish to log impressions.\n *\n * @param {Function} handleImpression Function to run when an impression is detected\n */\nexport default function useImpressionTracking(handleImpression) {\n const impressionRef = useRef(null);\n const intersection = useIntersection(impressionRef, {\n root: null,\n rootMargin: '0px',\n threshold: 1,\n });\n const prevIntersectionRatio = usePrevious(intersection?.intersectionRatio);\n\n useEffect(() => {\n if (!prevIntersectionRatio && intersection?.intersectionRatio === 1) {\n handleImpression();\n }\n }, [intersection, handleImpression, prevIntersectionRatio]);\n\n if (typeof handleImpression !== 'function') {\n throw new Error(\n 'You must provide a function to handle impressions as the first argument to useImpressionTracking'\n );\n }\n\n return impressionRef;\n}\n","import React from 'react';\nimport AnimateHeight from 'react-animate-height';\n\nimport { isTesting } from '@paypalcorp/c3-shared-globals';\nimport { strToBool, toNumber } from '@paypalcorp/c3-util-lang';\nimport { Radio, Link, CaptionText } from '@paypalcorp/pp-react';\nimport { updateFeature } from '@paypalcorp/c3-util-store';\nimport { FIDetails } from '@checkout/react-components/components/FundingInstruments/FIDetails';\n\nimport { useCart } from '@/components/Cart/hooks';\nimport CurrencyConversionOption from '@/components/CurrencyConversionOption';\nimport { currencyConversion, details } from '@/components/FundingInstrument/FundingInstrument.css';\nimport VerticalRadioButton from '@/shared/components/VerticalRadioButton';\nimport PopupLink from '@/components/PopupLink';\nimport Space from '@/shared/components/Space';\n\nimport styles from './styles.css';\n\nconst CurrencyConversionContainer = ({ id, offer }) => {\n const { total: { currencyCode } = {} } = useCart();\n const rate = offer?.content?.CurrencyConversionRate;\n const fromCurrencyCode = offer?.content?.CartAmountCurrencyCode;\n const formattedRate = toNumber(rate, 5);\n\n return (\n
\n \n
\n );\n};\n\nconst Terms = ({ offer }) => {\n const termsLink = offer?.content?.TermsLink;\n const termsLinkText = offer?.content?.TermsLinkText;\n const termsText = offer?.content?.TermsText;\n if (!termsLink || !termsLinkText || !termsText) {\n return null;\n }\n\n return (\n

\n {termsText}\n \n \n

\n );\n};\n\nconst LearnMoreLink = ({ offer }) => {\n const handleLearnMore = (e, offer) => {\n e.preventDefault();\n updateFeature('PAY_LATER_LEARN_MORE', { visible: true, data: { offer } });\n };\n\n return (\n handleLearnMore(e, offer)}>\n \n {offer?.content?.GplLearnMoreText}\n \n \n );\n};\n\nexport const PayLaterFundingInstrument = ({ isSelected, offer, onSelect }) => {\n const id = `credit-offer-${offer?.rank}`;\n\n const primaryType = (\n <>\n

\n \n {offer?.content?.OfferText1}\n {offer?.content?.Product === 'GPL' && Boolean(offer?.content?.GplLearnMoreText) ? (\n \n ) : null}\n \n

\n

{offer?.content?.OfferText2}

\n \n \n );\n\n const fiDetails = (\n \n );\n\n return (\n
\n \n onSelect(offer)}\n />\n \n {strToBool(offer?.content?.CrossCurrencyTransaction) ? (\n \n \n \n ) : null}\n
\n );\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport cn from 'classnames';\nimport AnimateHeight from 'react-animate-height';\nimport getContent from '@/lib/content';\nimport { Tooltip } from '@paypalcorp/pp-react-tooltip';\nimport styles from './styles.css';\n\nconst SECTION_HEIGHT = 58;\n\nconst GPLOffer = ({ isSelected, offer, onClick }) => {\n const {\n ShortOfferText,\n FIText2,\n OfferText1,\n OfferText2,\n FormattedCartAmount,\n FormattedInterestAmount,\n FormattedTotalAmount,\n } = offer?.content;\n\n return (\n \n \n
\n
\n {OfferText1}\n {OfferText2}\n
\n
\n
\n
\n {getContent('credit.transactionAmount')}\n \n
\n {FormattedCartAmount}\n
\n
\n {getContent('credit.interestAmount')}\n {FormattedInterestAmount}\n
\n
\n {getContent('credit.totalAmount')}\n {FormattedTotalAmount}\n
\n
\n
\n \n );\n};\n\nGPLOffer.propTypes = {\n isSelected: PropTypes.bool.isRequired,\n offer: PropTypes.object.isRequired,\n onClick: PropTypes.func.isRequired,\n};\n\nexport default GPLOffer;\n","import React, { useState, useEffect, useCallback } from 'react';\nimport { Radio } from '@paypalcorp/pp-react';\nimport AnimateHeight from 'react-animate-height';\nimport { logger, TRANSITION_PAYLOAD } from '@paypalcorp/c3-util-logger';\nimport getContent from '@/lib/content';\nimport { FIDetails } from '@checkout/react-components/components/FundingInstruments/FIDetails';\nimport VerticalRadioButton from '@/shared/components/VerticalRadioButton';\nimport styles from './styles.css';\nimport GPLOffer from './GPLOffer';\nimport {\n offerFinancingCodesToCSV,\n allOfferDetailsToJsonString,\n offerDetailsForFPTI,\n} from './utils';\nimport { strToBool, toNumber } from '@paypalcorp/c3-util-lang/src';\nimport CurrencyConversionOption from '@/components/CurrencyConversionOption/CurrencyConversionOption';\nimport { useCart } from '@/components/Cart/hooks';\nimport { getLowestOffer } from '@/components/PayLater/Multi/hooks';\n\n/**\n * Returns the index of the offer with the first `isSelected` value as a preselected offer.\n * @param {Array} offers\n * @returns {number|null}\n */\nconst getPreselectedOfferIndex = (offers) => {\n const selected = offers.findIndex((offer) => offer?.isSelected);\n\n // In a very rare edge case, `isSelected` may be false for every offer. Return null in that case\n // and no offers will display as preSelected.\n if (selected === -1) return null;\n\n return selected;\n};\n\n/**\n * Returns an object containing details about the selected offer and all available offers\n * to be logged to FPTI\n * @param {Object, Array} selectedOffer\n * @param {Array} offers\n * @returns {Object}\n */\nconst getFptiDetails = (selectedOffer, offers) => ({\n financing_code_selected: selectedOffer?.content?.FinancingCode ?? 0,\n financing_codes: offerFinancingCodesToCSV(offers),\n installment_option_shown: allOfferDetailsToJsonString(offers),\n installment_option_selected: offerDetailsForFPTI(selectedOffer),\n});\n\n/**\n * Handles the display and selection of MultiOffer GPL funding instrument and installment offers\n */\nexport const MultiOfferFundingInstrument = ({\n selectedOffer,\n offers,\n hasGPLFundingInstrument,\n onSelect,\n}) => {\n const { total: { currencyCode } = {} } = useCart();\n const preselectedIndex = useCallback(getPreselectedOfferIndex(offers), [offers]);\n const [selectedOfferIndex, setSelectedOfferIndex] = useState(preselectedIndex);\n const [isChecked, setIsChecked] = useState(false);\n\n // We need to display the lowest payment as the \"advertised\" text\n const lowestOffer = useCallback(getLowestOffer(offers), [offers]);\n const advertisedOfferText = lowestOffer.content?.FIText1;\n\n const defaultInstrument = offers[preselectedIndex] ?? offers[0];\n const id = `credit-offer-${defaultInstrument?.referenceId}`;\n const { StatusText, OfferHeading, FILogo, Logo } = defaultInstrument?.content;\n const isFISelected =\n (isChecked && defaultInstrument?.referenceId === selectedOffer?.referenceId) ||\n (isChecked && selectedOffer?.referenceId === 'noPreselection');\n const fptiData = getFptiDetails(offers[selectedOfferIndex], offers);\n\n useEffect(() => {\n if (!isFISelected) {\n setIsChecked(false);\n }\n }, [selectedOffer]);\n\n useEffect(() => {\n logger.fpti(\n 'PAY_LATER_AVAILABLE_INSTALLMENTS',\n TRANSITION_PAYLOAD({\n from: 'review',\n to: 'pay_later_installment_option_available',\n financing_codes: offerFinancingCodesToCSV(offers),\n })\n );\n\n // On mount, and only once a GPL FI has been added, determine if an offer\n // should be pre-selected (via the isSelected offer field).\n // If so, set the radio as checked.\n if (hasGPLFundingInstrument && preselectedIndex) {\n setIsChecked(true);\n onSelect(offers[selectedOfferIndex], fptiData);\n }\n }, []);\n\n const onOfferClick = (offer, i) => {\n onSelect(offer, getFptiDetails(offers[i], offers));\n setSelectedOfferIndex(i);\n };\n\n const onRadioClick = () => {\n logger.fpti(\n 'MULTI_OFFER_FI_RADIO_CLICKED',\n TRANSITION_PAYLOAD({\n from: 'review',\n to: 'pay_in_four_funding_option_shown',\n offers_shown: offers?.length,\n ...fptiData,\n })\n );\n\n // If in the tabbed view (TABBED_PAYMENT_OPTIONS), clicking between Pay Now and Pay Later\n // resets the selectedOffer to null. Allow the state to be set to isChecked in this situation\n if (!isChecked || !selectedOffer) {\n setIsChecked(true);\n\n // In a very rare edge case where no offers are preSelected, the selectedOfferIndex state\n // value will be null. If so we need to set a temporary referenceId (\"noPreselection\")\n // so that the radio button still functions and an offer with a real referenceId can be selected\n // to overwrite the temporary one.\n const selectedOffer = offers[selectedOfferIndex] ?? { referenceId: 'noPreselection' };\n onSelect(selectedOffer, fptiData);\n }\n };\n\n const FILabel = (\n {advertisedOfferText}}\n />\n );\n\n const getFormattedRate = (offer) => {\n return `${toNumber(offer?.content?.CurrencyConversionRate, 5)} ${currencyCode}`;\n };\n\n const getCurrencyCode = (offer) => {\n return offer?.content?.CartAmountCurrencyCode;\n };\n\n return (\n
\n \n \n \n \n

{getContent('fundingInstruments.chooseOffer')}

\n {offers\n .filter((offer) => offer?.content?.OfferCategory !== 'REUSE')\n .map((offer, i) => (\n onOfferClick(offer, i)}\n />\n ))}\n {selectedOfferIndex >= 0 &&\n strToBool(offers?.[selectedOfferIndex]?.content?.CrossCurrencyTransaction) && (\n <>\n \n {getContent('currencyConversion.currencyConversionHeader')}\n \n \n \n )}\n \n
\n );\n};\n\nexport default MultiOfferFundingInstrument;\n","import React from 'react';\nimport { Badge } from '@paypalcorp/pp-react-badge';\nimport { Alert } from '@paypalcorp/pp-react-alert';\nimport { logger, TRANSITION_PAYLOAD } from '@paypalcorp/c3-util-logger';\nimport { getCountry } from '@paypalcorp/c3-shared-globals';\nimport { isPayLaterFundingInstrument, isPPCFundingInstrument } from '@paypalcorp/c3-util-store';\nimport { heading as headingStyles } from '@/App.css';\nimport { usePayContext, usePayLaterContext } from '@/components/ContextProviders';\nimport GplCreditContainer from '@/components/GplCreditContainer';\nimport Incentives from '@/components/Incentives';\nimport { FundingInstrumentList } from '@/components/PayWith/FundingInstrumentList';\nimport getContent from '@/lib/content';\nimport { isInstallmentCreditType } from '@/lib/utils';\nimport { mapCreditPPCOffer } from '@/components/CreditOffer/utils';\nimport useImpressionTracking from '@/hooks/useImpressionTracking';\nimport { once } from '@paypalcorp/c3-util-lang';\nimport { useEligibilityContext } from '@/components/ContextProviders';\nimport { PayLaterFundingInstrument } from './PayLaterFundingInstrument';\nimport styles from './styles.css';\nimport { useFeature } from '@/components/Feature/hooks';\nimport { groupOffersByMultiInstallment, isMultiOfferFundingInstrument } from './Multi/utils';\nimport MultiOfferFundingInstrument from './Multi/MultiOfferFundingInstrument';\nimport { checkElmoTreatment } from '@/lib/eligibility';\nimport { ElmoExperiment } from '@paypalcorp/c3-util-elmo-experiment';\n\nexport const gplOfferLogImpression = once(() => {\n const to = 'pay_in_four_offer_visible';\n logger.fpti(\n to,\n TRANSITION_PAYLOAD({\n from: 'REVIEW',\n to,\n })\n );\n});\n\nexport const payLaterLogImpression = once((fundingOptions, offers) => {\n const to = 'pay_later_options_visible';\n\n logger.fpti(\n to,\n TRANSITION_PAYLOAD({\n from: 'REVIEW',\n to,\n has_reuse: fundingOptions.length > 0,\n offer_products: offers\n .filter((offer) => offer?.content?.OfferCategory !== 'REUSE')\n .map((offer) => offer?.content?.Product)\n .filter(Boolean)\n .join(','),\n })\n );\n});\n\nexport default function PayLater(props) {\n const featureSplitTenderGate = useFeature('SPLIT_TENDER_GATE');\n const { showSplitExperience = false } = featureSplitTenderGate?.data || {};\n const showTitle = props.showTitle;\n const checkoutSession = props.checkoutSession || {};\n\n // Filter out any funding options that are not Pay Later and ones that contain\n // the isMultiOffer field\n const fundingOptions =\n checkoutSession?.fundingOptions?.filter(\n (fundingOption) =>\n isPayLaterFundingInstrument(fundingOption?.fundingInstrument) &&\n !isMultiOfferFundingInstrument(fundingOption?.fundingInstrument)\n ) ?? [];\n\n const { selectedFundingOption, hasGPLFundingInstrument } = usePayContext();\n\n const payLaterContext = usePayLaterContext();\n const { hasGPL, isUpstreamPresentment, showGPLOffer, showControlCreditOffers } =\n useEligibilityContext();\n const offers = checkoutSession?.creditPPCOffers || [];\n\n // Group offers as installment or nonInstallment depending on the \"MultiOffer\" field\n const { installmentOffers = [], nonInstallmentOffers = [] } =\n groupOffersByMultiInstallment(offers);\n\n // Add the check for installments as a stopgap measure to hide incentive until Payments fixes issue: DTPPCREDIT-2010\n // https://engineering.paypalcorp.com/jira/browse/DTPPCREDIT-2010\n const creditOffer = mapCreditPPCOffer({ creditPPCOffers: offers }) || {};\n const creditOfferType = creditOffer?.content?.OfferType;\n const isPPCInstallment =\n checkElmoTreatment('PPC_INSTALLMENTS_HIDE_INCENTIVES', ElmoExperiment.TREATMENTS.TREATMENT_1) &&\n isInstallmentCreditType(creditOfferType);\n const showIncentives =\n isPPCFundingInstrument(selectedFundingOption?.fundingInstrument) && !isPPCInstallment;\n\n const impressionRef = useImpressionTracking(() => payLaterLogImpression(fundingOptions, offers));\n const impressionGplRef = useImpressionTracking(gplOfferLogImpression);\n\n if (showControlCreditOffers || showSplitExperience) {\n return null;\n }\n\n const acqOffers = nonInstallmentOffers.filter(\n (offer) => offer?.content?.OfferCategory !== 'REUSE'\n );\n\n // DTCRCRGRS-1056: US Multiproduct Order Test\n if (\n acqOffers.length > 1 &&\n checkElmoTreatment('PPC_MULTIPRODUCT_ORDER', ElmoExperiment.TREATMENTS.TREATMENT_1)\n ) {\n acqOffers.reverse();\n }\n\n return (\n
\n {showTitle ? (\n
\n

{getContent('paymentOptions.payLaterTitle')}

\n \n {getContent('paymentOptions.payLaterLabel')}\n \n
\n ) : null}\n\n {isUpstreamPresentment && !hasGPL && getCountry() === 'GB' && (\n \n {getContent('paymentOptions.gplNotAvailable', {\n productName: getContent('paymentOptions.gplProductName'),\n })}\n \n )}\n\n {showIncentives ? : null}\n\n \n\n {installmentOffers?.length > 0 && showGPLOffer && (\n <>\n \n \n \n )}\n\n {acqOffers.map((offer) => {\n const offerProduct = offer?.content?.Product;\n const isSelected = offer.referenceId === payLaterContext?.payLaterState?.offer?.referenceId;\n\n if (offerProduct === 'GPL') {\n if (!showGPLOffer) {\n return null;\n }\n\n return (\n
\n \n \n \n \n
\n );\n }\n\n return (\n \n );\n })}\n \n
\n );\n}\n"],"sourceRoot":""}