{"version":3,"sources":["webpack:///./screens/shared/components/header.js","webpack:///./screens/index.js","webpack:///./screens/my-profile/my-profile.js","webpack:///./screens/my-profile/profile-details.js","webpack:///./screens/my-profile/my-profile-old.js","webpack:///./screens/my-profile/index.js","webpack:///./screens/recipient-slug/easter-egg-amounts.js","webpack:///./screens/recipient-slug/extract-amount-info.js","webpack:///./screens/recipient-slug/slug-recipient-profile.js","webpack:///./screens/recipient-slug/slug-not-found.js","webpack:///./screens/recipient-slug/recipient-slug.js","webpack:///./screens/recipient-slug/recipient-slug-profile.js","webpack:///./screens/recipient-slug/recipient-slug-old.js","webpack:///./screens/recipient-slug/index.js","webpack:///./screens/shared/components/cover-photo.js","webpack:///./screens/shared/components/profile-card.js","webpack:///./screens/shared/components/share.js","webpack:///./utils/generate-urls.js","webpack:///./utils/name.js","webpack:///./utils/photo.js"],"names":["l10n","getContent","Header","this","props","isUserLoggedIn","mobileBannerStyle","padding","clientData","isProfileTreatment","userHasCoverPhoto","position","background","borderColor","loginUrl","getLoginUrl","returnUri","window","location","href","addZIndex","zIndex","className","role","style","color","paddingTop","React","Component","Main","state","id","children","dangerouslySetInnerHTML","__html","footerHtml","INSTRUMENTATION","INSTRUMENTATION_MAP","profile","locality","locale","Container","glamorous","div","marginTop","display","flexDirection","alignItems","CoverContainer","marginBottom","ProfileCardContainer","ShareContainer","maxWidth","MyProfile","settings","slugDetails","paypalmeSlugName","userInfo","profilePhotoUrl","displayName","displayAddress","personalizationSettings","coverPhotoUrl","coverPhotoVerticalPan","welcomeNote","useEffect","trackImpression","OLD","PAGE_GROUP","PAGE_NAME","tracking","Events","public_identity_my_profile_screen_shown","photoUrl","photoVerticalPan","getProfilePhotoUrl","getDisplayName","handle","displayLocation","blurb","slugInfo","onShare","platform","trackLinkWithData","public_identity_my_profile_share_pressed","imageURL","containerStyles","backgroundSize","backgroundRepeat","paddingBottom","backgroundPosition","width","height","boxShadow","backgroundColor","myProfilePage","ProfileDetails","top","to","SettingsContainer","e","pi","sqrt2","phi","tau","graham","avogadro","googolplex","googol","beer","pizza","coffee","hamburger","Math","random","toFixed","חי","currencyRegex","extractAmountInfo","amountString","decodedAmountString","decodeURI","easterEggResult","getEasterEggInfo","primaryCurrencyCode","supportedCurrencyCode","match","currency","amountOnly","replace","includes","toUpperCase","amount","Number","toCanonicalNumber","easterEggAmounts","firstPart","slice","length","secondPart","recipient","UTM_TAGS","utmTags","PARTNER_TAGS","partnerTags","margin","ReportContainer","ReportLink","a","fontSize","withRouter","public_identity_profile_screen_shown","useState","getReportLink","reportLink","useRef","current","params","amountInfo","currencyCode","showAmount","isProfileAmountTreatment","isNaN","getAmountFieldInfo","currencyDecimal","currencySymbolMap","getFormattedAmount","symbolIsoCurrency","formattedAmount","showActions","sendLink","getSendUrl","isLoggedIn","String","normalizeNumber","onSend","trackLink","public_identity_profile_send_pressed","requestLink","getRequestUrl","onRequest","public_identity_profile_request_pressed","formatAmount","getFormattedValue","amountLabel","as","secondary","target","rel","onClick","public_identity_profile_report_pressed","Wrapper","justifyContent","textAlign","Warning","img","HeaderContainer","BodyContainer","SlugNotFound","src","ILLUSTRATIONS","WARNING","alt","size","aria-level","SlugDetails","recipientSlugDetails","slug","isProfileStatusActive","ProfileViewStyling","ProfileViewParentStyling","PayPalMeProfile","initialAmount","initialCurrencyCode","content","right","bottom","left","showAmountInput","recipientSlugPage","Boolean","RecipientSlug","RecipientSlugOld","CONTAINER_HEIGHT_PX","CONTAINER_WIDTH_PX","ContainerBase","DraggableContainer","css","cursor","FadeIn","keyframes","from","opacity","Photo","fadeIn","borderRadius","backgroundPositionX","backgroundPositionY","animation","EditContainer","marginLeft","marginRight","EditButton","button","border","outline","EditText","clip","overflow","whiteSpace","DragButton","transform","ChevronContainer","ChevronUpIcon","DragText","span","fontWeight","WithDrag","isDraggable","onDrag","onDragEnd","onDragCancel","onPan","onPanEnd","onPanCancel","options","recognizers","pan","threshold","CoverPhoto","isEditable","onEdit","isLoaded","setIsLoaded","isPhotoCached","setIsPhotoCached","photoImage","Image","onload","onerror","complete","getDisplayCoverPhotoUrl","aria-label","data-test-id","name","aria-hidden","PrimaryText","SecondaryText","Card","minHeight","Content","overflowWrap","AvatarContainer","AvatarStyles","GenericAvatar","lineHeight","PhotoAvatar","backgroundImage","AvatarEdit","font","EditCamera","ShareButton","SecondaryContent","TertiaryContent","AmountContainer","paddingLeft","paddingRight","Footer","Button","borderRight","borderTop","flexBasis","minWidth","textDecoration","ProfileCard","isShareable","value","fontFamily","inputProps","readOnly","selectProps","disabled","l10nSettings","ShareTitle","SVGParent","transition","SVGStyling","SVG","forwardProps","rootEl","SpanText","CopyContainer","TooltipCopied","borderLeft","borderBottom","ShareYourLink","isCopied","preventDefault","sharing","shareURLByFacebook","twitterShareLink","encodeURIComponent","shareByTwitter","shareByWhatsApp","shareURLByMessenger","setState","setTimeout","strong","lang","text","onCopy","copyToClipboard","svgString","svgImages","clipBoard","transitionName","transitionEnterTimeout","transitionLeaveTimeout","key","handleFBClick","facebook","handleMessengerClick","messenger","handleTwitterClick","twitter","country","host","getDomain","url","generateUrlLoggedInState","flow","encryptedFlowData","generateUrlLoggedOutState","encryptedFlow","onboardDataRegularSignUp","JSON","stringify","intent","redirect_url","sendMoneyText","onboardData","toLowerCase","isDev","isStage","origin","isProd","DEFAULT_PROFILE_PHOTO"],"mappings":"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","file":"ppme-slug.bundle.js","sourcesContent":["// @flow\n// Component renders a simple PayPal header when users are not logged in\nimport React, { Fragment } from 'react'\nimport getContent from 'pp-react-l10n'\n\nimport { getLoginUrl } from 'utils/generate-urls'\nimport clientData from 'utils/client-data'\n\nconst l10n = getContent('inc/header')\n\ntype Props = {\n isUserLoggedIn: boolean,\n userHasCoverPhoto: boolean,\n}\n\nexport default class Header extends React.Component {\n render() {\n if (this.props.isUserLoggedIn) {\n return null\n }\n\n const mobileBannerStyle = {\n padding: '0 30px 0 40px',\n ...(!clientData.isProfileTreatment && this.props.userHasCoverPhoto\n ? {\n position: 'absolute',\n background: 'transparent',\n borderColor: 'transparent',\n }\n : {}),\n }\n\n const loginUrl = getLoginUrl({ returnUri: window.location.href })\n\n // Needed to place log in/Paypal home buttons on top level for\n // mobile views when slug has a cover photo. Creates an overlay effect.\n const addZIndex = {\n ...(this.props.userHasCoverPhoto ? { zIndex: 801 } : {}),\n }\n return (\n \n
\n
\n \n \n \n
\n
\n \n {l10n('header.login')}\n {l10n('header.login')}\n \n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n
\n
    \n
  • \n \n {l10n('header.login')}\n {l10n('header.login')}\n \n
  • \n
\n
\n
\n
\n )\n }\n}\n","// @flow\n/**\n * Main Flow Container. This will contain all the other container components.\n * This component is mounted at 'transfer/'.\n * If we ever move header/footer to React this is where it should live...\n */\n\nimport React from 'react'\nimport type { Node } from 'react'\nimport clientData from 'utils/client-data'\nimport _ from 'lodash'\nimport Header from 'screens/shared/components/header'\ntype Props = {\n children: Node,\n}\ntype State = {\n userHasCoverPhoto: boolean,\n}\n\nclass Main extends React.Component {\n state = {\n userHasCoverPhoto: !!_.get(\n clientData,\n 'recipientSlugDetails.slugDetails.personalizationSettings.coverPhotoUrl',\n '',\n ),\n }\n\n render() {\n return (\n
\n \n
\n
\n {this.props.children}\n
\n \n
\n
\n )\n }\n}\n\nexport default Main\n","// @flow\n\nimport React, { useEffect } from 'react'\nimport glamorous from 'glamorous'\n\nimport Events from 'lib/analytics/event-tags'\nimport { trackImpression, trackLinkWithData, tracking } from 'lib/analytics'\n\nimport clientData from 'utils/client-data'\nimport { getProfilePhotoUrl } from 'utils/photo'\nimport { getDisplayName } from 'utils/name'\n\nimport CoverPhoto from 'screens/shared/components/cover-photo'\nimport ProfileCard from 'screens/shared/components/profile-card'\nimport Share from 'components/share'\n\nimport { INSTRUMENTATION_MAP } from 'utils/constants'\n\nconst INSTRUMENTATION = INSTRUMENTATION_MAP.profile\n\nconst { locality: { locale } = {} } = clientData\n\nconst Container = glamorous.div({\n marginTop: '1.75rem',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n})\n\nconst CoverContainer = glamorous.div({\n zIndex: 0,\n marginBottom: '-6.375rem',\n})\n\nconst ProfileCardContainer = glamorous.div({\n zIndex: 1,\n})\n\nconst ShareContainer = glamorous.div({\n maxWidth: '21.5rem',\n marginTop: '1.5rem',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n position: 'relative', // for copied tooltip\n})\n\ntype Props = {\n history: {\n push: () => any,\n },\n settings: SettingsState,\n}\n\nfunction MyProfile(props: Props) {\n const {\n settings: {\n state: {\n slugDetails = {},\n slugDetails: {\n paypalmeSlugName = '',\n userInfo: {\n profilePhotoUrl = '',\n displayName = '',\n displayAddress = '',\n } = {},\n personalizationSettings: {\n coverPhotoUrl = '',\n coverPhotoVerticalPan = '50',\n welcomeNote = '',\n } = {},\n } = {},\n } = {},\n } = {},\n } = props\n\n useEffect(() => {\n trackImpression(\n INSTRUMENTATION.OLD.PAGE_GROUP,\n INSTRUMENTATION.OLD.PAGE_NAME,\n )\n tracking(Events.public_identity_my_profile_screen_shown({}))\n }, [])\n\n const onShare = (platform: string) => {\n trackLinkWithData(\n 'share',\n INSTRUMENTATION.OLD.PAGE_GROUP,\n INSTRUMENTATION.OLD.PAGE_NAME,\n { platform },\n 'link',\n )\n tracking(Events.public_identity_my_profile_share_pressed({}))\n }\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport default MyProfile\n","// @flow\n\nimport React, { Component, Fragment } from 'react'\nimport ProfileView from '../shared/components/profile-view'\nimport SettingsState from '../settings/state'\nimport LazyLoader from 'components/lazy-load-image'\n\n/**\n * This React component is responsible for querying Apollo for the posts\n * and passing the results to the child Post components for rendering\n */\n\ntype Props = {\n profile: SettingsState,\n}\n\nclass MyProfile extends Component {\n render() {\n const {\n profile: {\n state,\n state: {\n userHasCoverPhoto,\n slugDetails: {\n personalizationSettings: {\n coverPhotoUrl,\n coverPhotoVerticalPan = '50',\n } = {},\n } = {},\n } = {},\n },\n } = this.props\n\n return (\n \n {coverPhotoUrl && (\n \n )}\n \n \n )\n }\n}\n\nexport default MyProfile\n","// @flow\n\nimport React from 'react'\nimport MyProfile from './profile-details'\nimport SettingsContainer from '../settings/state'\nimport { Subscribe } from 'unstated'\n\ntype Props = {\n profile: SettingsContainer,\n}\n\nclass ProfileDetails extends React.Component {\n render() {\n return (\n
\n \n
\n )\n }\n}\n\n// Use the graphql container to run the allPosts query and pass the results to PostsContainer\nexport default () => (\n \n {profile => }\n \n)\n","import _ from 'lodash'\n\nimport clientData from 'utils/client-data'\n\nimport MyProfile from './my-profile'\nimport MyProfileOld from './my-profile-old'\n\nconst isProfileTreatment = _.get(clientData, 'isProfileTreatment', false)\n\nconst Component = isProfileTreatment ? MyProfile : MyProfileOld\n\nexport default Component\n","export default {\n // Mathematical constants\n e: '2.71',\n pi: '3.14',\n sqrt2: '1.41',\n phi: '1.62',\n tau: '6.28',\n graham: '99999.99',\n avogadro: '999999.99',\n googolplex: '99999.99',\n googol: '99999.99',\n\n // Food and their emojis\n beer: '3.82',\n '🍺': '3.82',\n pizza: '9.00',\n '🍕': '9.00',\n coffee: '2.95',\n '☕️': '2.95',\n hamburger: '3.57',\n '🍔': '3.57',\n\n // Other\n '💰': (Math.random() * 80 + 20).toFixed(2),\n // chai\n חי: '18.00',\n}\n","// This module is used to take the \"amountInfo\" part of the URL on the\n// receipient page (the part that comes after the user's slug) and attempts\n// to parse it into the amount and currency\nimport easterEggAmounts from './easter-egg-amounts'\nimport { toCanonicalNumber } from 'amount-utils'\nimport clientData from 'utils/client-data'\nimport _ from 'lodash'\n\nconst currencyRegex = /[A-Za-z]{3}/\n\n// This is the main function that performs the amount info extraction.\nfunction extractAmountInfo(amountString = '') {\n const decodedAmountString = decodeURI(amountString)\n const easterEggResult = getEasterEggInfo(decodedAmountString)\n if (easterEggResult) {\n return easterEggResult\n }\n\n const primaryCurrencyCode = _.get(\n clientData,\n 'recipientSlugDetails.slugDetails.userInfo.primaryCurrencyCode',\n 'USD',\n )\n\n const supportedCurrencyCode = _.get(clientData, 'supportedCurrencies', [])\n\n let [currency = 'USD'] =\n decodedAmountString.match(currencyRegex) || [primaryCurrencyCode] || []\n\n const amountOnly = decodedAmountString.replace(currency, '') || '0'\n\n // if the currency code passed by user is not supported then default back to the recipients user currency code\n if (!supportedCurrencyCode.includes(currency.toUpperCase())) {\n currency = primaryCurrencyCode\n }\n\n return {\n amount: Number(toCanonicalNumber(amountOnly)).toFixed(2),\n currency: currency.toUpperCase(),\n }\n}\n\nexport function isValidNumber(amountString = '') {\n const { amount } = extractAmountInfo(amountString)\n return !isNaN(amount)\n}\n\n// This will check whether the amountString is referencing one of the easter\n// eggs (emoji/mathmatical constants/etc.)\nfunction getEasterEggInfo(amountString) {\n const supportedCurrencyCode = _.get(clientData, 'supportedCurrencies', [])\n const primaryCurrencyCode = _.get(\n clientData,\n 'recipientSlugDetails.slugDetails.userInfo.primaryCurrencyCode',\n 'USD',\n )\n\n // `pizza`\n if (easterEggAmounts[amountString]) {\n return {\n amount: easterEggAmounts[amountString],\n currency: primaryCurrencyCode,\n }\n }\n\n // `pizzaUSD`\n const firstPart = amountString.slice(0, amountString.length - 3)\n if (easterEggAmounts[firstPart]) {\n let currency = amountString.slice(-3).toUpperCase()\n\n // if the currency code passed by user is not supported then default back to the recipients user currency code\n if (!supportedCurrencyCode.includes(currency.toUpperCase())) {\n currency = primaryCurrencyCode\n }\n\n return {\n amount: easterEggAmounts[firstPart],\n currency,\n }\n }\n\n // `USDpizza`\n const secondPart = amountString.slice(3)\n if (easterEggAmounts[secondPart]) {\n let currency = amountString.slice(0, 3).toUpperCase()\n\n // if the currency code passed by user is not supported then default back to the recipients user currency code\n if (!supportedCurrencyCode.includes(currency.toUpperCase())) {\n currency = primaryCurrencyCode\n }\n return {\n amount: easterEggAmounts[secondPart],\n currency,\n }\n }\n return null\n}\n\nexport { extractAmountInfo }\n","// @flow\n\nimport React, { useEffect, useState, useRef } from 'react'\nimport { withRouter } from 'react-router-dom'\nimport glamorous from 'glamorous'\nimport getContent from 'pp-react-l10n'\nimport { Link } from '@paypalcorp/pp-react'\n\nimport clientData from 'utils/client-data'\nimport { getProfilePhotoUrl } from 'utils/photo'\nimport { getDisplayName } from 'utils/name'\nimport { getSendUrl, getRequestUrl, getReportLink } from 'utils/generate-urls'\nimport { extractAmountInfo } from 'screens/recipient-slug/extract-amount-info'\nimport {\n getAmountFieldInfo,\n getFormattedValue,\n getFormattedAmount,\n normalizeNumber,\n} from 'screens/shared/amount-utils'\n\nimport Events from 'lib/analytics/event-tags'\nimport { trackImpression, trackLink, tracking } from 'lib/analytics'\n\nimport { INSTRUMENTATION_MAP } from 'utils/constants'\n\nimport CoverPhoto from 'screens/shared/components/cover-photo'\nimport ProfileCard from 'screens/shared/components/profile-card'\n\nconst INSTRUMENTATION = INSTRUMENTATION_MAP.recipient\n\nconst l10n = getContent('pages/shared')\n\nconst UTM_TAGS = clientData.utmTags\nconst PARTNER_TAGS = clientData.partnerTags\n\nconst Container = glamorous.div({\n margin: '2.25rem 0 2rem',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n})\n\nconst CoverContainer = glamorous.div({\n zIndex: 0,\n marginBottom: '-6.375rem',\n})\n\nconst ProfileCardContainer = glamorous.div({\n zIndex: 1,\n})\n\nconst ReportContainer = glamorous.div({\n marginTop: '3rem',\n})\nconst ReportLink = glamorous.a({ fontSize: '0.875rem' })\n\ntype Props = {\n slugDetails: SlugDetails,\n match: Match,\n}\n\nfunction SlugRecipientProfile(props: Props) {\n useEffect(() => {\n trackImpression(\n INSTRUMENTATION.OLD.PAGE_GROUP,\n INSTRUMENTATION.OLD.PAGE_NAME,\n { ...UTM_TAGS, ...PARTNER_TAGS },\n )\n tracking(\n Events.public_identity_profile_screen_shown({\n ...UTM_TAGS,\n ...PARTNER_TAGS,\n }),\n )\n }, [])\n\n const [reportLink] = useState(() => getReportLink())\n const { current: isUserLoggedIn } = useRef(clientData.isUserLoggedIn)\n\n const {\n match: { params: { amountInfo } = {} } = {},\n slugDetails = {},\n slugDetails: {\n paypalmeSlugName = '',\n userInfo: {\n profilePhotoUrl = '',\n displayName = '',\n displayAddress = '',\n } = {},\n personalizationSettings: {\n coverPhotoUrl = '',\n coverPhotoVerticalPan = '50',\n welcomeNote = '',\n } = {},\n } = {},\n } = props\n\n const [{ amount, currency: currencyCode } = {}] = useState(() =>\n extractAmountInfo(amountInfo),\n )\n const showAmount =\n clientData.isProfileAmountTreatment && !isNaN(amount) && amount > 0\n const [{ currencyDecimal, currencySymbolMap } = {}] = useState(() =>\n getAmountFieldInfo(),\n )\n const [formattedAmount] = useState(() =>\n getFormattedAmount({\n amount,\n currencyCode,\n symbolIsoCurrency: true,\n }),\n )\n\n const onSend = () => {\n trackLink(\n 'send',\n INSTRUMENTATION.OLD.PAGE_GROUP,\n INSTRUMENTATION.OLD.PAGE_NAME,\n 'link',\n )\n tracking(Events.public_identity_profile_send_pressed({}))\n }\n\n const onRequest = () => {\n trackLink(\n 'request',\n INSTRUMENTATION.OLD.PAGE_GROUP,\n INSTRUMENTATION.OLD.PAGE_NAME,\n 'link',\n )\n tracking(Events.public_identity_profile_request_pressed({}))\n }\n\n const onReport = () => {\n trackLink(\n 'report',\n INSTRUMENTATION.OLD.PAGE_GROUP,\n INSTRUMENTATION.OLD.PAGE_NAME,\n 'link',\n )\n tracking(Events.public_identity_profile_report_pressed({}))\n }\n\n return (\n \n \n \n \n \n \n getFormattedValue({ amount, currencyCode })\n }\n amountLabel={formattedAmount}\n />\n \n \n \n {l10n('button.report')}\n \n \n \n )\n}\n\nexport default withRouter(SlugRecipientProfile)\n","// @flow\n\nimport React from 'react'\nimport glamorous from 'glamorous'\nimport getContent from 'pp-react-l10n'\nimport { HeadingText, BodyText } from '@paypalcorp/pp-react'\n\nimport { ILLUSTRATIONS } from 'utils/constants'\n\nconst l10n = getContent('pages/error')\n\nconst Wrapper = glamorous.div({\n display: 'flex',\n justifyContent: 'center',\n})\nconst Container = glamorous.div({\n margin: '5rem 0',\n maxWidth: '21rem',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n textAlign: 'center',\n})\n\nconst Warning = glamorous.img({\n width: '7rem',\n height: '7rem',\n})\n\nconst HeaderContainer = glamorous.div({\n marginTop: '0.5rem',\n})\nconst BodyContainer = glamorous.div({\n marginTop: '2rem',\n})\n\nfunction SlugNotFound() {\n return (\n \n \n \n \n \n {l10n('error.title.slugDoesNotExist')}\n \n \n \n {l10n('error.subheader.slugDoesNotExist')}\n \n \n \n )\n}\n\nexport default SlugNotFound\n","// @flow\n\nimport React from 'react'\n\nimport clientData from 'utils/client-data'\n\nimport SlugRecipientProfile from './slug-recipient-profile'\nimport SlugNotFound from './slug-not-found'\n\nfunction SlugDetails() {\n const { recipientSlugDetails: { slugDetails = {} } = {} } = clientData\n\n return (\n <>\n {clientData.slug && slugDetails.isProfileStatusActive ? (\n \n ) : (\n \n )}\n \n )\n}\n\nexport default SlugDetails\n","// @flow\n\nimport React, { Component } from 'react'\nimport ProfileView from 'components/profile-view'\nimport glamorous from 'glamorous'\nimport LazyLoader from 'components/lazy-load-image'\n\nimport { trackImpression } from 'lib/analytics'\n\nimport clientData from 'utils/client-data'\n\nimport { INSTRUMENTATION_MAP } from 'utils/constants'\n\nconst INSTRUMENTATION = INSTRUMENTATION_MAP.recipient\n\nconst UTM_TAGS = clientData.utmTags\nconst PARTNER_TAGS = clientData.partnerTags\n\n/**\n * This React component is responsible for querying Apollo for the posts\n * and passing the results to the child Post components for rendering\n */\n\ntype Props = {\n recipientSlugDetails: {\n slugDetails: SlugDetails,\n },\n userHasCoverPhoto: boolean,\n initialAmount?: string,\n initialCurrencyCode?: string,\n}\n\nconst ProfileViewStyling = glamorous.div({\n width: '480px',\n textAlign: 'center',\n margin: '0 auto',\n '@media (max-width: 640px)': {\n width: '100%',\n },\n})\n\nconst ProfileViewParentStyling = glamorous.div({\n paddingTop: '26px',\n '@media (max-width: 844px)': {\n paddingTop: '0',\n },\n})\n\nclass PayPalMeProfile extends Component {\n constructor(props: Props) {\n super(props)\n\n trackImpression(\n INSTRUMENTATION.OLD.PAGE_GROUP,\n INSTRUMENTATION.OLD.PAGE_NAME,\n { ...UTM_TAGS, ...PARTNER_TAGS },\n )\n }\n\n render() {\n const {\n recipientSlugDetails,\n recipientSlugDetails: {\n slugDetails: {\n personalizationSettings: {\n coverPhotoUrl,\n coverPhotoVerticalPan = '50',\n } = {},\n } = {},\n },\n userHasCoverPhoto,\n initialAmount,\n initialCurrencyCode,\n } = this.props\n\n return (\n \n \n {coverPhotoUrl && (\n \n )}\n \n \n \n )\n }\n}\n\nexport default PayPalMeProfile\n","// @flow\n\nimport React, { Component } from 'react'\nimport _ from 'lodash'\nimport PayPalMeProfile from './recipient-slug-profile'\nimport clientData from 'utils/client-data'\nimport SlugNotFound from './slug-not-found'\nimport { extractAmountInfo } from './extract-amount-info'\n\ntype Props = {\n match: {\n params: {\n slug: string,\n amountInfo?: string,\n },\n },\n recipientSlugDetails: { slugDetails: SlugDetails },\n userHasCoverPhoto: boolean,\n}\n\nclass SlugDetails extends Component {\n static defaultProps = {\n recipientSlugDetails: _.get(clientData, 'recipientSlugDetails'),\n userHasCoverPhoto: Boolean(\n _.get(\n clientData,\n 'recipientSlugDetails.slugDetails.personalizationSettings.coverPhotoUrl',\n ),\n ),\n }\n\n render() {\n const { amount, currency } = extractAmountInfo(\n this.props.match.params.amountInfo,\n )\n\n const {\n recipientSlugDetails,\n recipientSlugDetails: { slugDetails = {} } = {},\n userHasCoverPhoto,\n } = this.props\n\n return (\n
\n {clientData.slug &&\n slugDetails.isProfileStatusActive &&\n !isNaN(amount) ? (\n \n ) : (\n \n )}\n
\n )\n }\n}\n\nexport default SlugDetails\n","import _ from 'lodash'\n\nimport clientData from 'utils/client-data'\n\nimport RecipientSlug from './recipient-slug'\nimport RecipientSlugOld from './recipient-slug-old'\n\nconst isProfileTreatment = _.get(clientData, 'isProfileTreatment', false)\n\nconst Component = isProfileTreatment ? RecipientSlug : RecipientSlugOld\n\nexport default Component\n","// @flow\n\nimport React, { useState, useEffect } from 'react'\nimport Hammer from 'react-hammerjs'\nimport { css } from 'glamor'\nimport glamorous from 'glamorous'\nimport getContent from 'pp-react-l10n'\nimport { Icon, grey100 } from '@paypalcorp/pp-react'\n\nimport { getDisplayCoverPhotoUrl } from 'utils/image-utils'\n\nconst l10n = getContent('pages/profile')\n\nexport const CONTAINER_HEIGHT_PX = '286'\nexport const CONTAINER_WIDTH_PX = '494'\n\nconst ContainerBase = {\n position: 'relative',\n height: `${CONTAINER_HEIGHT_PX / 16}rem`,\n width: `${CONTAINER_WIDTH_PX / 16}rem`,\n}\n\nconst Container = glamorous.div({\n ...ContainerBase,\n})\n\nconst DraggableContainer = css({\n ...ContainerBase,\n cursor: 'move',\n cursor: 'grab', // eslint-disable-line no-dupe-keys\n '&:active': {\n cursor: 'grabbing',\n },\n})\n\nconst FadeIn = css.keyframes({ from: { opacity: 0 }, to: { opacity: 1 } })\nconst Photo = glamorous.div(\n ({ photoUrl, photoVerticalPan, fadeIn = true }) => ({\n height: '100%',\n width: '100%',\n borderRadius: '5% 5% 100% 100% / 10% 10% 50% 50%',\n background: `url(${photoUrl})`,\n backgroundSize: 'cover',\n backgroundPositionX: '50%',\n backgroundPositionY: `${photoVerticalPan}%`,\n backgroundRepeat: 'no-repeat',\n ...(fadeIn && { animation: `${FadeIn} 0.2s` }),\n }),\n)\n\nconst EditContainer = glamorous.div({\n '@media (max-width: 30.875em)': {\n width: '100vw',\n position: 'absolute',\n marginLeft: 'auto',\n marginRight: 'auto',\n left: 0,\n right: 0,\n textAlign: 'center',\n top: 0,\n },\n})\n\nconst EditButton = glamorous.button({\n position: 'absolute',\n top: '0',\n right: '0',\n border: 'none',\n padding: '0.15rem',\n cursor: 'pointer',\n outline: 'inherit',\n color: grey100,\n background: 'rgba(0, 0, 0, 0.3)',\n borderRadius: '50%',\n margin: '0.5rem 0.5rem 0 0',\n '&:focus': {\n outline: '1px auto rgb(0, 95, 204)',\n },\n})\n\n// hide text visually without hiding it from assistive technology\nconst EditText = glamorous.div({\n border: '0',\n clip: 'rect(0 0 0 0)',\n height: '1px',\n margin: '-1px',\n overflow: 'hidden',\n padding: '0',\n position: 'absolute',\n whiteSpace: 'nowrap',\n width: '1px',\n})\n\nconst DragButton = glamorous.div({\n position: 'absolute',\n top: '20%',\n left: '50%',\n transform: 'translateX(-50%)',\n padding: '0 1.75rem',\n color: 'white',\n background: 'rgba(0, 0, 0, 0.3)',\n borderRadius: '99999rem',\n display: 'flex',\n alignItems: 'center',\n})\n\nconst ChevronContainer = glamorous.div({\n display: 'flex',\n flexDirection: 'column',\n marginRight: '0.5rem',\n})\n\nconst ChevronUpIcon = css({\n marginBottom: '-0.75rem',\n})\n\nconst DragText = glamorous.span({\n fontWeight: '500',\n fontSize: '0.8125rem',\n})\n\ntype Props = {\n photoUrl: string,\n photoVerticalPan: string,\n isEditable?: boolean,\n onEdit?: () => any,\n isDraggable?: boolean,\n onDrag?: () => any,\n onDragEnd?: () => any,\n onDragCancel?: () => any,\n}\n\nfunction CoverPhoto(props: Props) {\n const {\n photoUrl,\n photoVerticalPan,\n isEditable = false,\n onEdit,\n isDraggable = false,\n onDrag = () => {},\n onDragEnd = () => {},\n onDragCancel = () => {},\n } = props\n\n const [isLoaded, setIsLoaded] = useState(false)\n const [isPhotoCached, setIsPhotoCached] = useState(false)\n\n useEffect(() => {\n const photoImage = new Image()\n photoImage.onload = () => {\n setIsLoaded(true)\n }\n photoImage.onerror = () => {\n // image failed to load so do nothing\n }\n photoImage.src = photoUrl\n if (photoImage.complete) {\n setIsPhotoCached(true)\n }\n\n return () => {\n photoImage.onload = () => {}\n }\n }, [])\n\n return (\n \n {isLoaded && (\n <>\n \n {isEditable && (\n \n \n \n {l10n('cover.edit')}\n \n \n )}\n {isDraggable && (\n \n \n \n \n \n {l10n('cover.drag')}\n \n )}\n \n )}\n \n )\n}\n\nfunction WithDrag({\n isDraggable = false,\n onDrag,\n onDragEnd,\n onDragCancel,\n children,\n}) {\n return isDraggable ? (\n \n
{children}
\n \n ) : (\n {children}\n )\n}\n\nexport default CoverPhoto\n","// @flow\n\nimport React, { useState, useEffect } from 'react'\nimport glamorous from 'glamorous'\nimport { css } from 'glamor'\nimport getContent from 'pp-react-l10n'\nimport PPAmountField from 'pp-amount-field/dist/pp-amount-field.basic.v2.umd'\nimport {\n HeadingText,\n BodyText,\n Link,\n Icon,\n grey100,\n grey200,\n grey600,\n grey700,\n blue600,\n} from '@paypalcorp/pp-react'\n\nconst l10n = getContent('pages/profile')\n\nconst PrimaryText = glamorous.div({\n color: grey700,\n})\nconst SecondaryText = glamorous.div({\n color: grey600,\n})\n\nconst Card = glamorous.div({\n minHeight: '12.125rem',\n width: '21.5rem',\n borderRadius: '0.75rem',\n backgroundColor: 'white',\n boxShadow: '0 2px 4px 0 rgba(0,0,0,0.15)',\n display: 'flex',\n flexDirection: 'column',\n position: 'relative',\n})\n\nconst Content = glamorous.div(({ showActions = false }) => ({\n margin: `1rem 1.5rem ${showActions ? '1.5rem' : '2rem'}`,\n overflowWrap: 'break-word',\n}))\n\nconst AvatarContainer = glamorous.div({\n height: '5.625rem',\n width: '5.625rem',\n marginTop: '-3.125rem',\n marginLeft: '1.25rem',\n position: 'relative',\n})\nconst AvatarStyles = {\n width: 'inherit',\n height: 'inherit',\n border: '4px solid white',\n borderRadius: '50%',\n}\nconst GenericAvatar = glamorous.div(({ background }) => ({\n ...AvatarStyles,\n background,\n textAlign: 'center',\n ' span': {\n color: 'white',\n lineHeight: '5.125rem',\n },\n}))\nconst FadeIn = css.keyframes({ from: { opacity: 0 }, to: { opacity: 1 } })\nconst PhotoAvatar = glamorous.div(({ photoUrl, fadeIn = true }) => ({\n ...AvatarStyles,\n backgroundImage: `url(\"${photoUrl}\")`,\n backgroundSize: 'cover',\n backgroundPosition: '50%',\n backgroundRepeat: 'no-repeat',\n ...(fadeIn && { animation: `${FadeIn} 0.2s` }),\n}))\nconst AvatarEdit = glamorous.button({\n color: 'inherit',\n padding: 0,\n font: 'inherit',\n cursor: 'pointer',\n outline: 'inherit',\n width: '2rem',\n height: '2rem',\n border: '2px solid white',\n textAlign: 'center',\n borderRadius: '50%',\n backgroundColor: grey200,\n position: 'absolute',\n bottom: 0,\n right: 0,\n '&:focus': {\n outline: '1px auto rgb(0, 95, 204)',\n },\n})\n\nconst EditCamera = css({\n color: grey700,\n lineHeight: '1.75rem',\n})\n\nconst ShareContainer = glamorous.div({\n position: 'absolute',\n top: '0.8125rem',\n right: '0.5rem',\n})\nconst ShareButton = glamorous.button({\n background: 'none',\n border: 'none',\n padding: '0',\n cursor: 'pointer',\n outline: 'inherit',\n})\n\nconst SecondaryContent = glamorous.div({ marginTop: '0.125rem' })\nconst TertiaryContent = glamorous.div({ marginTop: '1.5rem' })\n\nconst AmountContainer = glamorous.div({\n marginTop: '1rem',\n ' .ppaf-input': {\n '&:focus': {\n outline: 'revert',\n },\n },\n ' .ppaf-select-wrapper': {\n marginTop: '0.375rem',\n },\n ' .ppaf-select': {\n paddingLeft: '0.5rem',\n paddingRight: '0.5rem',\n },\n})\n\nconst Footer = glamorous.div({\n display: 'flex',\n marginTop: 'auto',\n overflowWrap: 'break-word',\n})\n\nconst Button = glamorous.a(({ borderRight }) => ({\n borderTop: '1px solid ' + grey100,\n ...(borderRight && { borderRight: '1px solid ' + grey100 }),\n flexBasis: '50%',\n minWidth: 0, // let flex item shrink smaller than content\n padding: '1rem 0',\n textDecoration: 'none',\n '&:active, &:focus, &:hover, &:visited': {\n textDecoration: 'none',\n },\n}))\n\ntype Props = {\n isEditable?: boolean,\n onEdit?: () => {},\n isShareable?: boolean,\n onShare?: () => {},\n photoUrl?: string,\n displayName: string,\n handle: string,\n displayLocation?: string,\n blurb?: string,\n showActions?: boolean,\n requestLink?: string,\n onRequest?: () => any,\n sendLink?: string,\n onSend?: () => any,\n showAmount?: boolean,\n amount?: string,\n currencyCode?: string,\n currencyDecimal?: string,\n currencySymbolMap?: { [string]: string },\n formatAmount?: (amount: string) => string,\n amountLabel?: string,\n}\n\nfunction ProfileCard(props: Props) {\n const {\n isEditable = false,\n onEdit,\n isShareable = false,\n onShare,\n photoUrl,\n displayName,\n handle,\n displayLocation,\n blurb,\n requestLink,\n onRequest,\n sendLink,\n onSend,\n showActions = false,\n showAmount = false,\n amount,\n currencyCode,\n currencyDecimal,\n currencySymbolMap,\n formatAmount,\n amountLabel,\n } = props\n\n const [isLoaded, setIsLoaded] = useState(!photoUrl)\n const [isPhotoCached, setIsPhotoCached] = useState(false)\n\n useEffect(() => {\n if (!photoUrl) {\n return\n }\n\n const photoImage = new Image()\n photoImage.onload = () => {\n setIsLoaded(true)\n }\n photoImage.onerror = () => {\n // image failed to load so do nothing\n }\n photoImage.src = photoUrl\n if (photoImage.complete) {\n setIsPhotoCached(true)\n }\n\n return () => {\n photoImage.onload = () => {}\n }\n }, [])\n\n return (\n \n \n {photoUrl ? (\n isLoaded && (\n \n )\n ) : (\n \n \n \n )}\n {isEditable && isLoaded && (\n \n \n \n )}\n \n {isShareable && (\n \n \n \n \n \n )}\n \n \n {displayName}\n \n \n \n {handle}\n \n {displayLocation && (\n \n {displayLocation}\n \n )}\n \n {blurb && (\n \n \n {blurb}\n \n \n )}\n {showAmount && (\n \n \n \n )}\n \n {showActions && (\n
\n \n {l10n('request')}\n \n \n {l10n('send')}\n \n
\n )}\n
\n )\n}\n\nexport default ProfileCard\n","// @flow\n\nimport React, { Fragment } from 'react'\nimport { CSSTransitionGroup } from 'react-transition-group'\nimport glamorous from 'glamorous'\nimport getContent from 'pp-react-l10n'\nimport { BodyText, grey700 } from '@paypalcorp/pp-react'\nimport CopyToClipboard from 'react-copy-to-clipboard'\nimport sharing from 'consumerweb-sharing'\n\nimport { svgImages } from 'components/index'\nimport SVG from 'components/svg-logo'\n\nconst l10n = getContent('pages/shared')\nconst l10nSettings = getContent('pages/settings')\n\nconst ShareTitle = glamorous.div({ color: grey700, textAlign: 'center' })\n\nconst SVGParent = glamorous.button({\n textAlign: 'center',\n display: 'inline-block',\n width: '3.75rem',\n margin: '0 0.625rem',\n background: 'none',\n color: 'inherit',\n border: 'none',\n padding: '0',\n font: 'inherit',\n cursor: 'pointer',\n outline: 'inherit',\n transition: 'all .2s ease-in-out',\n ':hover': {\n transform: 'scale(1.1)',\n },\n '@media (max-width: 880px)': {\n transform: 'scale(0.95)',\n marginRight: '10px',\n },\n '@media (max-width: 320px)': {\n transform: 'scale(0.9)',\n marginRight: 0,\n },\n '&:focus': {\n outline: '1px auto rgb(0, 95, 204)',\n },\n})\n\nconst SVGStyling = glamorous(SVG, {\n forwardProps: ['svgString'],\n rootEl: 'span',\n})({})\n\nconst SpanText = glamorous.span({\n display: 'inline-table',\n fontSize: '0.8125rem',\n color: '#ababab',\n position: 'relative',\n})\n\nconst CopyContainer = glamorous.div({\n position: 'relative',\n display: 'inline-block',\n})\n\nconst TooltipCopied = glamorous.span({\n padding: '0.25rem 0.5rem',\n position: 'absolute',\n bottom: '-2.75rem',\n fontWeight: 500,\n left: '0.5rem',\n backgroundColor: '#e1e7eb',\n color: 'black',\n\n ':before': {\n content: '\"\"',\n position: 'absolute',\n width: 0,\n height: 0,\n borderLeft: '6px solid transparent',\n borderRight: '6px solid transparent',\n marginLeft: '5px',\n borderBottom: '6px solid #e1e7eb',\n top: '-6px',\n },\n\n '&.tooltip-enter': {\n opacity: 0.01,\n },\n\n '&.tooltip-enter.tooltip-enter-active': {\n opacity: '1',\n transition: 'opacity 300ms ease-in',\n },\n\n '&.tooltip-leave.tooltip-leave-active': {\n opacity: 0.01,\n transition: 'opacity 300ms ease-in',\n },\n})\n\ntype State = {\n isCopied: boolean,\n}\ntype Props = {\n slugInfo: { slugDetails: SlugDetails },\n locale?: string,\n onShare?: (platform: string) => any,\n}\n\nclass ShareYourLink extends React.Component {\n _ref: ?HTMLElement = null\n\n state = {\n isCopied: false,\n }\n\n onShare = platform => {\n if (this.props.onShare) {\n this.props.onShare(platform)\n }\n }\n\n handleFBClick = (e: SyntheticEvent) => {\n e.preventDefault()\n\n this.onShare('facebook')\n\n const {\n slugInfo: { slugDetails: { paypalmeSlugName = '' } = {} } = {},\n } = this.props\n sharing.shareURLByFacebook(\n `https://paypal.me/${paypalmeSlugName}?locale.x=${this.props.locale}`,\n 575,\n 400,\n )\n }\n\n handleTwitterClick = (e: SyntheticEvent) => {\n e.preventDefault()\n\n this.onShare('twitter')\n\n const {\n slugInfo: { slugDetails: { paypalmeSlugName = '' } = {} } = {},\n } = this.props\n const twitterShareLink = `${l10n(\n 'share.twitter',\n )} https://paypal.me/${encodeURIComponent(paypalmeSlugName)}?locale.x=${\n this.props.locale\n }`\n sharing.shareByTwitter(twitterShareLink, 575, 400)\n }\n\n handleWhatsappClick = (e: SyntheticEvent) => {\n e.preventDefault()\n\n this.onShare('whatsapp')\n\n const {\n slugInfo: { slugDetails: { paypalmeSlugName = '' } = {} } = {},\n } = this.props\n sharing.shareByWhatsApp(\n `https://paypal.me/${encodeURIComponent(paypalmeSlugName)}?locale.x=${\n this.props.locale\n }`,\n 575,\n 400,\n )\n }\n\n handleMessengerClick = (e: SyntheticEvent) => {\n e.preventDefault()\n\n this.onShare('messenger')\n\n const {\n slugInfo: { slugDetails: { paypalmeSlugName = '' } = {} } = {},\n } = this.props\n sharing.shareURLByMessenger(\n `https://paypal.me/${encodeURIComponent(paypalmeSlugName)}?locale.x=${\n this.props.locale\n }`,\n '1624118454533304',\n window.location.href,\n )\n }\n\n copyToClipboard() {\n this.onShare('copylink')\n\n this.setState({ isCopied: true })\n setTimeout(() => {\n this.setState({ isCopied: false })\n }, 1000)\n }\n\n render() {\n const {\n slugInfo: { slugDetails: { paypalmeSlugName = '' } = {} } = {},\n } = this.props\n\n return (\n \n \n {l10n('header.share')}\n \n
\n {\n this.copyToClipboard()\n }}\n >\n \n \n \n {l10nSettings('share.copy')}\n \n \n {this.state.isCopied && (\n \n \n \n )}\n \n \n \n \n \n {l10nSettings('share.facebook')}\n \n \n \n {l10nSettings('share.messenger')}\n \n \n \n {l10nSettings('share.twitter')}\n \n
\n
\n )\n }\n}\n\nexport default ShareYourLink\n","// @flow\nimport getContent from 'pp-react-l10n'\nimport clientData from './client-data'\n\nconst {\n locality: { country = 'US' },\n} = clientData\n\nexport function getLoginUrl({ returnUri } = {}) {\n const host = getDomain(clientData)\n let url = `${host}/signin`\n if (returnUri) {\n url += `?returnUri=${encodeURIComponent(returnUri)}`\n }\n return url\n}\n\nfunction generateUrlLoggedInState(flow = 'homepage', amount, currencyCode) {\n const host = getDomain(clientData)\n let url = `${host}/myaccount/transfer/${flow}/external/profile?flowContextData=${\n clientData.encryptedFlowData\n }`\n if (amount && currencyCode) {\n url += `&amount=${encodeURIComponent(\n amount,\n )}¤cyCode=${encodeURIComponent(currencyCode)}`\n }\n return url\n}\nfunction generateUrlLoggedOutState(\n flow = 'homepage',\n slugDetails = {},\n amount,\n currencyCode,\n) {\n const encryptedFlow = clientData.encryptedFlowData\n const host = getDomain(clientData)\n\n const {\n locality: { locale, country },\n } = clientData\n const { userInfo: { displayName = '' } = {} } = slugDetails\n const l10n = getContent('pages/shared')\n let returnUri = `${host}/myaccount/transfer/${flow}/external/profile?flowContextData=${encryptedFlow}`\n if (amount && currencyCode) {\n returnUri += `&amount=${encodeURIComponent(\n amount,\n )}¤cyCode=${encodeURIComponent(currencyCode)}`\n }\n const onboardDataRegularSignUp = JSON.stringify({\n 'country.x': country,\n 'locale.x': locale,\n intent: 'paypalme',\n redirect_url: encodeURIComponent(returnUri),\n sendMoneyText: encodeURIComponent(`${l10n('msg.send')} ${displayName}`),\n })\n const onboardData = `onboardData=${encodeURIComponent(\n onboardDataRegularSignUp,\n )}`\n\n return `${host}/signin?returnUri=${encodeURIComponent(\n returnUri,\n )}&${onboardData}`\n}\n\nexport function getSendUrl({\n isLoggedIn = false,\n slugDetails = {},\n amount,\n currencyCode,\n}) {\n if (isLoggedIn) {\n return generateUrlLoggedInState('homepage', amount, currencyCode)\n } else {\n return generateUrlLoggedOutState(\n 'homepage',\n slugDetails,\n amount,\n currencyCode,\n )\n }\n}\nexport function getRequestUrl({\n isLoggedIn = false,\n slugDetails = {},\n amount,\n currencyCode,\n}) {\n if (isLoggedIn) {\n return generateUrlLoggedInState('request', amount, currencyCode)\n } else {\n return generateUrlLoggedOutState(\n 'request',\n slugDetails,\n amount,\n currencyCode,\n )\n }\n}\n\nexport function getReportLink() {\n const host = getDomain(clientData)\n return `${host}/${country.toLowerCase()}/smarthelp/contact-us?email=paypalme`\n}\n\nfunction getDomain(clientData) {\n let host = 'https://www.paypal.com'\n if (clientData.isDev) {\n host = 'https://localhost.paypal.com'\n }\n\n if (clientData.isStage) {\n host = window.location.origin\n }\n\n if (clientData.isProd) {\n host = 'https://www.paypal.com'\n }\n return host\n}\n","// @flow\n\nimport _ from 'lodash'\n\nexport function getDisplayName(displayName: string) {\n // display name is escaped at the service layer but React escapes strings by default\n // so this string ends up getting double escaped and does not get displayed properly\n return _.unescape(displayName)\n}\n","// @flow\n\nimport { DEFAULT_PROFILE_PHOTO } from 'utils/constants'\n\nexport function getProfilePhotoUrl(url?: string) {\n // return any profile photo URL except for default SVG\n if (url !== DEFAULT_PROFILE_PHOTO) {\n return url\n }\n}\n"],"sourceRoot":""}