{"version":3,"sources":["webpack:///./transfer/components/contacts/genericContactListItem.js","webpack:///./transfer/components/contacts/blockedContactListItem.js","webpack:///./transfer/components/blocked-contacts-overpanel/blockedContacts.js","webpack:///./transfer/components/contact-blocked-or-unblocked/contactBlockedOrUnblocked.styles.js","webpack:///./transfer/components/contact-blocked-or-unblocked/contactBlockedOrUnblocked.js","webpack:///./transfer/components/contact-unblocked-overpanel/index.js"],"names":["ListItemWrapper","styled","div","_templateObject","_taggedTemplateLiteral","smallAndSmaller","ContactAvatarContainer","_templateObject2","NameAndDetails","_templateObject3","GenericContactListItem","React","Component","constructor","arguments","_defineProperty","firstName","lastName","alternateFullName","fullName","email","phones","thumbnailUrl","networkIdDisplayName","this","props","firstInitial","slice","lastInitial","name","phoneNumber","getDisplayPhone","details","createElement","Media","query","concat","SIZE_SMALL","matches","aria-hidden","ContactAvatar","size","imageUrl","isBusiness","Boolean","color","getAvatarColor","_BodyText","clampAtLine","_CaptionText","children","i18n","content","LinkContainer","BlockedContactListItem","dispatch","id","payerId","trackUnblockContactLink","toggleBlockedContactsOverpanel","show","updateContactBlock","isBlock","_Link","data-pagename","onClick","handleUnblock","Container","Title","_HeadingText","BlockedContacts","super","trackBlockedContactsImpression","render","blockedContacts","map","blockedContact","_extends","key","connect","_ref","contacts","marginTop","InnerContainer","textAlign","maxWidth","margin","SuccessButton","_Button","width","PayCompleteImage","img","marginBottom","server","country","lastUpdatedContact","usePreloadImage","PICTOGRAMS","PAYCOMPLETEBLUE","paragraphContent","handleClose","changeType","getInformalName","givenName","surname","alt","src","overpanels","contactUnblocked","ownProps","toggleContactUnblockedOverpanel","useEffect","trackUnblockContactSuccessImpression","Overpanel","a11yTitle","ContactBlockedOrUnblocked"],"mappings":"8QAYMA,EAAkBC,IAAOC,IAAGC,MAAAC,IAAA,mJAK9BC,KAMEC,EAAyBL,IAAOC,IAAGK,MAAAH,IAAA,iEAErCC,KAKEG,EAAiBP,IAAOC,IAAGO,MAAAL,IAAA,6CAKjC,MAAMM,UAA+BC,IAAMC,UAAUC,cAAA,SAAAC,WAAAC,IAAA,cAa1C,KACP,IAAM,UACJC,EAAS,SACTC,EAAQ,kBACRC,EAAiB,SACjBC,EAAQ,MACRC,EAAK,OACLC,EAAM,aACNC,EAAY,qBACZC,GACEC,KAAKC,MAEHC,EAAgBV,GAAaA,EAAUW,MAAM,EAAG,IAAO,GACvDC,EAAeX,GAAYA,EAASU,MAAM,EAAG,IAAO,GACpDE,EAAOX,GAAqBC,EAC5BW,EAAcC,YAAgB,CAAEV,WAChCW,EAAUT,GAAwBH,GAASU,EAEjD,OACEnB,IAAAsB,cAACjC,EAAe,KACdW,IAAAsB,cAACC,IAAK,CAACC,MAAK,eAAAC,OAAiBC,IAAU,QACpCC,GACC3B,IAAAsB,cAAC3B,EAAsB,CAACiC,cAAY,QAClC5B,IAAAsB,cAACO,IAAa,CACZC,KAAMH,EAAU,KAAO,KACvBI,SAAUpB,EACVI,aAAcA,EACdE,YAAaA,EACbe,WAAYC,QAAQ1B,GACpB2B,MAAOC,YAAe,CAAE9B,YAAWC,iBAK3CN,IAAAsB,cAACzB,EAAc,KACbG,IAAAsB,cAAAc,IAAA,CAAUC,YAAa,GAAInB,GAC3BlB,IAAAsB,cAAAgB,IAAA,CAAaD,YAAa,GAAIhB,IAE/BR,KAAKC,MAAMyB,aAMLxC,I,EAAAA,I,SC/ETyC,EAAOC,YAAQ,yBAEfC,EAAgBpD,IAAOC,IAAGC,MAAAC,IAAA,4BAIhC,MAAMkD,UAA+B3C,IAAMC,UAAUC,cAAA,SAAAC,WAAAC,IAAA,qBAenC,KACd,IAAM,SAAEwC,EAAQ,GAAEC,EAAE,QAAEC,GAAYjC,KAAKC,MAEvCiC,YAAwB,CAAED,YAE1BF,EAASI,YAA+B,CAAEC,MAAM,KAEhDL,EAASM,6BAAmB,CAAEL,KAAIM,SAAS,OAC5C/C,IAAA,cAEQ,KACP,IAAM,UACJC,EAAS,SACTC,EAAQ,kBACRC,EAAiB,SACjBC,EAAQ,MACRC,EAAK,OACLC,EAAM,aACNC,EAAY,qBACZC,GACEC,KAAKC,MAET,OACEd,IAAAsB,cAACvB,EAAsB,CACrBM,UAAWA,EACXC,SAAUA,EACVC,kBAAmBA,EACnBC,SAAUA,EACVC,MAAOA,EACPC,OAAQA,EACRC,aAAcA,EACdC,qBAAsBA,GAEtBZ,IAAAsB,cAACoB,EAAa,KACZ1C,IAAAsB,cAAA8B,IAAA,CAAMC,gBAAc,qBAAqBC,QAASzC,KAAK0C,eACpDf,EAAK,sBAQHG,I,IAAAA,IChETH,EAAOC,YAAQ,yBAEfe,EAAYlE,IAAOC,IAAGC,MAAAC,IAAA,gDAKtBgE,EAAQnE,YAAMoE,IAANpE,CAAmBM,MAAAH,IAAA,iCAS1B,MAAMkE,UAAwB1D,YAKnCC,YAAYY,GACV8C,MAAM9C,GAEN+C,cAGFC,SACE,IAAM,SAAElB,EAAQ,gBAAEmB,GAAoBlD,KAAKC,MAE3C,OACEd,IAAAsB,cAACkC,EAAS,KACRxD,IAAAsB,cAACmC,EAAK,CAAC3B,KAAK,MAAMU,EAAK,0BACtBuB,EAAgBC,IAAIC,GACnBjE,IAAAsB,cAACqB,EAAsBuB,IAAA,CACrBC,IAAKF,EAAepB,GACpBD,SAAUA,GACNqB,OAMf7D,IA3BYuD,EAAe,eACJ,CACpBI,gBAAiB,KA2BNK,gBAAQC,IAAA,IAAC,SAAEC,GAAUD,EAAA,MAAM,CACxCN,gBAAiBO,EAASP,kBADbK,CAEXT,I,yHCzDSH,EAAYlE,IAAOC,IAAI,CAClCgF,UAAW,OAGAC,EAAiBlF,IAAOC,IAAI,CACvCkF,UAAW,SACXC,SAAU,QACVC,OAAQ,SAGGC,EAAgBtF,YAAMuF,IAANvF,CAAe,CAC1CiF,UAAW,OACXO,MAAO,SAGIC,EAAmBzF,IAAO0F,IAAI,CACzCF,MAAO,OACPG,aAAc,SCJVzC,EAAOC,YAAQ,yBA2CN2B,gBAAQC,IAAA,IAAC,OAAEa,EAAM,SAAEZ,GAAUD,EAAA,MAAM,CAChDc,QAASD,EAAOC,QAChBC,mBAAoBd,EAASc,qBAFhBhB,CAjCoBtD,IACjCuE,YAAgBC,IAAWC,iBAE3B,IAWIC,GAXE,YACJC,EAAW,QACXN,EACAC,oBAAoB,kBAAE7E,EAAiB,UAAEF,EAAS,SAAEC,GAAa,GAAE,WACnEoF,GACE5E,EAEEI,EACJX,GACAoF,YAAgB,CAAEC,UAAWvF,EAAWwF,QAASvF,EAAU6E,YAQ7D,OAJEK,EADEtE,EACiBsB,EAAK,GAADf,OAAIiE,EAAU,2BAA2B,CAAExE,SAE/CsB,EAAK,GAADf,OAAIiE,EAAU,+BAGrC1F,IAAAsB,cAACkC,EAAS,KACRxD,IAAAsB,cAACkD,EAAc,KACbxE,IAAAsB,cAACyD,EAAgB,CAACe,IAAI,GAAGC,IAAKT,IAAWC,kBACzCvF,IAAAsB,cAAAoC,IAAA,CAAa5B,KAAK,MAAM0D,GACxBxF,IAAAsB,cAACsD,EAAa,CAACtB,QAASmC,GACrBjD,EAAK,GAADf,OAAIiE,EAAU,0B,iCClD7B,wEAQMlD,EAAOC,YAAQ,yBA2BN2B,gBACbC,IAAA,IAAC,WAAE2B,GAAY3B,EAAA,MAAM,CACnBpB,KAAM+C,EAAWC,mBAEnB,CAACrD,EAAUsD,KAAa,CACtBT,YAAaA,KACX7C,EAASuD,YAAgC,CAAElD,MAAM,QANxCmB,EAnBf,SAAmCtD,GACjCsF,oBAAU,IAAMC,cAAwC,IAExD,IAAM,KAAEpD,EAAI,YAAEwC,GAAgB3E,EAE9B,OACEd,IAAAsB,cAACgF,UAAS,CACRrD,KAAMA,EACNwC,YAAaA,EACbc,UAAW/D,EAAK,0BAEhBxC,IAAAsB,cAACkF,IAAyB,CACxBf,YAAaA,EACbC,WAAW","file":"default~blockedContactList~contact-list.esm.js","sourcesContent":["import React from 'react'\nimport PropTypes from 'prop-types'\nimport styled from '@emotion/styled'\nimport Media from 'react-media'\nimport { BodyText, CaptionText } from '@paypalcorp/pp-react'\n\nimport { SIZE_SMALL, smallAndSmaller } from 'lib/styles/media-queries'\nimport { getDisplayPhone } from 'transfer/utils/phoneUtils'\nimport { getAvatarColor } from 'lib/avatar'\n\nimport ContactAvatar from 'transfer/components/contactAvatar'\n\nconst ListItemWrapper = styled.div`\n position: relative;\n display: flex;\n align-items: center;\n padding: 21px 21px;\n ${smallAndSmaller} {\n padding: 0;\n height: 72px;\n }\n`\n\nconst ContactAvatarContainer = styled.div`\n min-width: 78px;\n ${smallAndSmaller} {\n min-width: 50px;\n }\n`\n\nconst NameAndDetails = styled.div`\n margin: 0 1em;\n flex-grow: 1;\n`\n\nclass GenericContactListItem extends React.Component {\n static propTypes = {\n children: PropTypes.func.isRequired,\n firstName: PropTypes.string,\n lastName: PropTypes.string,\n alternateFullName: PropTypes.string,\n fullName: PropTypes.string,\n email: PropTypes.string,\n phones: PropTypes.array,\n thumbnailUrl: PropTypes.string,\n networkIdDisplayName: PropTypes.string,\n }\n\n render = () => {\n const {\n firstName,\n lastName,\n alternateFullName,\n fullName,\n email,\n phones,\n thumbnailUrl,\n networkIdDisplayName,\n } = this.props\n\n const firstInitial = (firstName && firstName.slice(0, 1)) || ''\n const lastInitial = (lastName && lastName.slice(0, 1)) || ''\n const name = alternateFullName || fullName\n const phoneNumber = getDisplayPhone({ phones })\n const details = networkIdDisplayName || email || phoneNumber\n\n return (\n \n \n {matches => (\n \n \n \n )}\n \n \n {name}\n {details}\n \n {this.props.children}\n \n )\n }\n}\n\nexport default GenericContactListItem\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport styled from '@emotion/styled'\nimport { Link } from '@paypalcorp/pp-react'\nimport content from 'pp-react-l10n'\n\nimport { updateContactBlock } from 'transfer/actions/Actions'\nimport { toggleBlockedContactsOverpanel } from 'transfer/actions/overpanels'\n\nimport GenericContactListItem from './genericContactListItem'\n\nimport { trackUnblockContactLink } from 'transfer/utils/blockUnblockAnalytics'\n\nconst i18n = content('transfer/blockContact')\n\nconst LinkContainer = styled.div`\n margin: 0 1em;\n`\n\nclass BlockedContactListItem extends React.Component {\n static propTypes = {\n dispatch: PropTypes.func.isRequired,\n id: PropTypes.string,\n payerId: PropTypes.string,\n firstName: PropTypes.string,\n lastName: PropTypes.string,\n alternateFullName: PropTypes.string,\n fullName: PropTypes.string,\n email: PropTypes.string,\n phones: PropTypes.array,\n thumbnailUrl: PropTypes.string,\n networkIdDisplayName: PropTypes.string,\n }\n\n handleUnblock = () => {\n const { dispatch, id, payerId } = this.props\n\n trackUnblockContactLink({ payerId })\n\n dispatch(toggleBlockedContactsOverpanel({ show: false }))\n\n dispatch(updateContactBlock({ id, isBlock: false }))\n }\n\n render = () => {\n const {\n firstName,\n lastName,\n alternateFullName,\n fullName,\n email,\n phones,\n thumbnailUrl,\n networkIdDisplayName,\n } = this.props\n\n return (\n \n \n \n {i18n('unblock.link')}\n \n \n \n )\n }\n}\n\nexport default BlockedContactListItem\n","// @flow\n\nimport React, { Component } from 'react'\nimport styled from '@emotion/styled'\nimport { HeadingText } from '@paypalcorp/pp-react'\nimport content from 'pp-react-l10n'\n\nimport { connect } from 'transfer/utils/p2p-connect'\n\nimport BlockedContactListItem from 'transfer/components/contacts/blockedContactListItem'\n\nimport { trackBlockedContactsImpression } from 'transfer/utils/blockUnblockAnalytics'\n\nconst i18n = content('transfer/blockContact')\n\nconst Container = styled.div`\n max-width: 40rem;\n margin: auto;\n`\n\nconst Title = styled(HeadingText)`\n text-align: center;\n`\n\ntype Props = {\n dispatch: () => any,\n blockedContacts: Array,\n}\n\nexport class BlockedContacts extends Component {\n static defaultProps = {\n blockedContacts: [],\n }\n\n constructor(props: Props) {\n super(props)\n\n trackBlockedContactsImpression()\n }\n\n render() {\n const { dispatch, blockedContacts } = this.props\n\n return (\n \n {i18n('blockedContacts.title')}\n {blockedContacts.map(blockedContact => (\n \n ))}\n \n )\n }\n}\n\nexport default connect(({ contacts }) => ({\n blockedContacts: contacts.blockedContacts,\n}))(BlockedContacts)\n","import styled from '@emotion/styled'\nimport { Button } from '@paypalcorp/pp-react'\n\nexport const Container = styled.div({\n marginTop: '4%',\n})\n\nexport const InnerContainer = styled.div({\n textAlign: 'center',\n maxWidth: '21rem',\n margin: 'auto',\n})\n\nexport const SuccessButton = styled(Button)({\n marginTop: '48px',\n width: '100%',\n})\n\nexport const PayCompleteImage = styled.img({\n width: '96px',\n marginBottom: '24px',\n})\n","// @flow\n\nimport React from 'react'\nimport content from 'pp-react-l10n'\nimport { connect } from 'transfer/utils/p2p-connect'\nimport { HeadingText } from '@paypalcorp/pp-react'\nimport { getInformalName } from 'transfer/utils/name-utils'\nimport { PICTOGRAMS } from 'transfer/constants'\nimport { usePreloadImage } from 'lib/image-utils'\nimport {\n Container,\n InnerContainer,\n SuccessButton,\n PayCompleteImage,\n} from './contactBlockedOrUnblocked.styles'\n\nconst i18n = content('transfer/blockContact')\n\ntype Props = {\n dispatch?: () => any,\n handleClose: () => any,\n country?: string,\n lastUpdatedContact?: FormattedContact,\n changeType: string,\n}\n\nconst ContactBlockedOrUnblocked = (props: Props) => {\n usePreloadImage(PICTOGRAMS.PAYCOMPLETEBLUE)\n\n const {\n handleClose,\n country,\n lastUpdatedContact: { alternateFullName, firstName, lastName } = {},\n changeType,\n } = props\n\n const name =\n alternateFullName ||\n getInformalName({ givenName: firstName, surname: lastName, country })\n\n let paragraphContent\n if (name) {\n paragraphContent = i18n(`${changeType}.success.paragraph.name`, { name })\n } else {\n paragraphContent = i18n(`${changeType}.success.paragraph.generic`)\n }\n return (\n \n \n \n {paragraphContent}\n \n {i18n(`${changeType}.success.button`)}\n \n \n \n )\n}\n\nexport default connect(({ server, contacts }) => ({\n country: server.country,\n lastUpdatedContact: contacts.lastUpdatedContact,\n}))(ContactBlockedOrUnblocked)\n","// @flow\n\nimport React, { useEffect } from 'react'\nimport content from 'pp-react-l10n'\nimport { trackUnblockContactSuccessImpression } from 'transfer/utils/blockUnblockAnalytics'\nimport { connect } from 'transfer/utils/p2p-connect'\nimport { toggleContactUnblockedOverpanel } from 'transfer/actions/overpanels'\nimport Overpanel from 'react-components/overpanel'\nimport ContactBlockedOrUnblocked from '../contact-blocked-or-unblocked/contactBlockedOrUnblocked'\n\nconst i18n = content('transfer/blockContact')\n\ntype Props = {\n dispatch: Function,\n handleClose: () => any,\n show: boolean,\n}\n\nfunction ContactUnblockedOverpanel(props: Props) {\n useEffect(() => trackUnblockContactSuccessImpression(), [])\n\n const { show, handleClose } = props\n\n return (\n \n \n \n )\n}\n\nexport default connect(\n ({ overpanels }) => ({\n show: overpanels.contactUnblocked,\n }),\n (dispatch, ownProps) => ({\n handleClose: () => {\n dispatch(toggleContactUnblockedOverpanel({ show: false }))\n },\n })\n)(ContactUnblockedOverpanel)\n"],"sourceRoot":""}