{"version":3,"sources":["webpack:///./gql/mutation/activate-profile.js","webpack:///./gql/mutation/edit-user-preferences.js","webpack:///./screens/settings/state.js","webpack:///./gql/mutation/deactivate-profile.js","webpack:///./gql/query/network-identity-status.js","webpack:///./gql/query/location.js","webpack:///./gql/query/preference.js","webpack:///./gql/query/cover-photo.js","webpack:///./gql/mutation/upload-cover-photo.js","webpack:///./gql/mutation/edit-cover-photo.js","webpack:///./gql/query/personal-message.js","webpack:///./gql/mutation/remove-cover-photo.js","webpack:///./utils/image-utils.js","webpack:///./screens/shared/components/glamorous-link.js","webpack:///./screens/shared/components/lazy-load-image.js","webpack:///./screens/shared/components/profile-view.js","webpack:///./screens/shared/components/share-with-friends.js","webpack:///./screens/shared/components/svg-logo.js","webpack:///./utils/client.js","webpack:///./utils/loader.js"],"names":["activateProfile","editProfileSettings","SettingsState","pan","isReviewPage","userHasCoverPhoto","get_default","clientData","userHasProfilePicture","imagePreviewUrl","fileName","shouldLoadPayPalMe","slugDetails","imageRef","personalMessageValue","_this","setState","profile","personalizationSettings","coverPhotoUrl","welcomeNote","relativePan","filename","toggle","this","state","paypalmeSlugName","slugName","addLoader","client","request","accountUpgradeOrSwitchOnOrOff","Object","objectSpread","isProfileStatusActive","profilePhotoUrl","userInfo","profileToggle","removeLoader","enrollUserToNetworkIdentity","op","path","value","variables","editUserSettings","networkIdentityStatus","userPayPalMeDetails","displayAddress","privacySettings","location","transactionType","coverPhotoVerticalPan","Boolean","editCoverPhoto","undefined","file","slug","Math","abs","toString","coverPhotoEdit","updateCoverPhotoStatus","fileSelectEvent","_this2","fileReader","FileReader","onload","onLoadEvent","dataUrl","toWidth","toHeight","_ref","arguments","length","_ref$normalizeImageSi","normalizeImageSize","_ref$mimeType","mimeType","callback","img","document","createElement","changed","canvas","ctx","getContext","resizeWidth","width","resizeHeight","height","floor","EXIF","getData","exifdata","Orientation","swapCanvasDimensions","transform","drawImage","toDataURL","setTimeout","src","normalizeImage","target","result","type","normalizedUrl","userImagePreviewUrl","name","files","readAsDataURL","Container","__webpack_require__","d","__webpack_exports__","glamorousLink","prop_types__WEBPACK_IMPORTED_MODULE_0__","prop_types__WEBPACK_IMPORTED_MODULE_0___default","n","react__WEBPACK_IMPORTED_MODULE_1__","react__WEBPACK_IMPORTED_MODULE_1___default","react_router_dom__WEBPACK_IMPORTED_MODULE_2__","glamorous__WEBPACK_IMPORTED_MODULE_3__","ConditionalLink","props","to","a","propTypes","PropTypes","string","glamorous","rootEl","displayName","forwardProps","Lazy","_Component","_getPrototypeOf2","_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_1__","_len","args","Array","_key","_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__","_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__","call","apply","concat","_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_7__","_babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5__","loaded","_babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_6__","_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_2__","key","imageURL","cacheImage","Image","payload","render","Component","LazyImageTag","div","opacity","transition","backgroundSize","backgroundImage","LazyImage","react__WEBPACK_IMPORTED_MODULE_8___default","css","containerStyles","PureComponent","overflow","backgroundColor","boxShadow","LazyLoader","_this3","_ref2","glamorous__WEBPACK_IMPORTED_MODULE_9__","Div","_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__","l10n","getContent","ProfileReviewStyling","margin","textAlign","myProfilePage","padding","position","top","ProfileReviewInnerChild","display","MoreInfoAboutUserStyling","color","fontSize","lineHeight","paddingBottom","textTransform","WelcomeNoteStyling","overflowWrap","wordWrap","isCoverUploadPage","shouldShowMoreMessage","WebkitLineClamp","WebkitBoxOrient","maxHeight","NameAndSlugDetailLocation","marginBottom","paddingTop","NameAndSlugDetailMessage","showAmountInput","personalMessagePaddingBottomStyling","NextButtonStyling","@media (min-width: 540px) and (max-width: 690px)","ShowMoreDiv","fontWeight","cursor","SVGStyling","SVG","AmountField","amount","amountUtils","currencyCode","_amountUtils$getAmoun","currencySymbolMap","currencyDecimal","assign","_this$props","react__WEBPACK_IMPORTED_MODULE_9___default","pp_amount_field_basic_v3__WEBPACK_IMPORTED_MODULE_13__","onChange","getFormattedValue","React","ProfileView","amountValue","initialAmount","amountCurrencyCode","initialCurrencyCode","lodash_get__WEBPACK_IMPORTED_MODULE_8___default","isShowMore","react__WEBPACK_IMPORTED_MODULE_9__","style","borderTop","_this2$props","_this2$props$slugInfo","slugInfo","_this2$props$slugInfo2","_this2$props$slugInfo3","givenName","_this2$props$slugInfo4","_this2$props$slugInfo5","_this2$props$slugInfo6","_this2$props$isCoverU","_this2$props$isReview","shouldShowMoreAboutUser","welcomeNoteLength","recipientSlugPage","onClick","moreInfo","svgString","svgImages","arrowDown","arrowUp","borderBottom","handleShowMoreClick","showDottedLines","isUserLoggedIn","generateUrlLoggedInState","generateUrlLoggedOutState","_this$props2","_this$props2$slugInfo","_this$props2$slugInfo2","_this$props2$slugInfo3","_this$props2$slugInfo4","_this$props2$slugInfo5","_this$props2$slugInfo6","_this$props2$isUserIn","isUserInHomepageTreatment","_this$state","_this$state$amountVal","flow","_clientData$locality","locality","locale","country","queryString","queryify","String","locale.x","country.x","flowType","formattedAmount","host","isDev","isStage","window","origin","isProd","sendRoute","onboardDataRegularSignUp","JSON","stringify","intent","redirect_url","encodeURIComponent","sendMoneyText","guestQueryString","env","recipientIdType","recipientId","onboardDataGuest","signUpRequest","method","url","onboardData","isUserInGuestTreatment","_this$props3","_this$props3$slugInfo","_this$props3$slugInfo2","_this$props3$slugInfo3","_this$props3$slugInfo4","_this$props3$isUserIn","_this$state2","_clientData$locality2","_this$props4","_this$props4$slugInfo","_this$props4$slugInfo2","_this$props4$slugInfo3","_this$props4$slugInfo4","_this$props4$slugInfo5","_this$props4$slugInfo6","_this$props4$slugInfo7","_this$props4$slugInfo8","_this$props4$showAmou","_this$state3","_clientData$locality3","_clientData$locality4","isCreateFlow","react_transition_group_CSSTransitionGroup__WEBPACK_IMPORTED_MODULE_11___default","transitionName","transitionEnterTimeout","transitionLeaveTimeout","borderRadius","components_lazy_load_image__WEBPACK_IMPORTED_MODULE_15__","backgroundPosition","backgroundRepeat","role","aria-level","_unescape","marginTop","handleAmountChange","data-pagename","data-pagename2","href","generateSendMoneyUrl","moreAboutUser","components_share_with_friends__WEBPACK_IMPORTED_MODULE_16__","toLowerCase","obj","keys","reduce","qs","push","join","l10nSettings","isMobile","test","navigator","userAgent","ShareYourLinkStyling","SVGParent","span","marginRight",":hover","@media (max-width: 880px)","@media (max-width: 320px)","SpanText","left","TooltipCopied","bottom","right",":before","content","borderLeft","borderRight","marginLeft","&.tooltip-enter","&.tooltip-enter.tooltip-enter-active","&.tooltip-leave.tooltip-leave-active","trackShareLinks","linkName","trackLink","ShareYourLink","isCopied","e","preventDefault","_this$props$slugInfo","_this$props$slugInfo$","_this$props$slugInfo$2","sharing","shareURLByFacebook","_this$props$slugInfo2","_this$props$slugInfo3","_this$props$slugInfo4","twitterShareLink","shareByTwitter","_this$props$slugInfo5","_this$props$slugInfo6","_this$props$slugInfo7","shareByWhatsApp","_this$props$slugInfo8","_this$props$slugInfo9","_this$props$slugInfo10","shareURLByMessenger","_this$props$slugInfo11","_this$props$slugInfo12","_this$props$slugInfo13","react__WEBPACK_IMPORTED_MODULE_8__","showCopyText","lang","react_copy_to_clipboard__WEBPACK_IMPORTED_MODULE_14___default","text","onCopy","copyToClipboard","background","border","ref","input","readOnly","className","react_transition_group__WEBPACK_IMPORTED_MODULE_15__","tabIndex","onKeyPress","click","clipBoard","handleFBClick","facebook","handleMessengerClick","messenger","handleTwitterClick","twitter","_babel_runtime_helpers_esm_objectSpread__WEBPACK_IMPORTED_MODULE_0__","isMarketkingFlow","paddingLeft","handleWhatsappClick","whatsapp","workaroundScoreBot","_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__","dangerProps","_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_1__","__html","react__WEBPACK_IMPORTED_MODULE_3___default","graphql_request__WEBPACK_IMPORTED_MODULE_0__","_client_data__WEBPACK_IMPORTED_MODULE_1__","GraphQLClient","requestURI","credentials","mode","headers","x-csrf-token","csrf","elementID","maximumDuration","overlayedElement","getElementById","classList","add","elementWithSpinner","getElementsByClassName","remove"],"mappings":"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","file":"ppme-grab~ppme-settings~ppme-slug.bundle.js","sourcesContent":["export const activateProfile = `\n mutation ActivateProfile ($slugName: String!) {\n activateProfile (slug: $slugName) {\n isSuccess\n }\n}`\n","export const editProfileSettings = `\n mutation EditProfileSettings ($editUserSettings: [PatchOptions]!, $slugName: String!) {\n editProfileSettings (editSlugDetails: $editUserSettings, slug: $slugName) {\n isSuccess\n }\n }\n`\n","import { Container } from 'unstated'\nimport clientData from 'utils/client-data'\nimport _ from 'lodash'\nimport { activateProfile } from 'gql/mutation/activate-profile'\nimport { deactivateProfile } from 'gql/mutation/deactivate-profile'\nimport { editProfileSettings } from 'gql/mutation/edit-user-preferences'\nimport { editCoverPhotoDetails } from 'gql/mutation/edit-cover-photo'\nimport { removeCoverPhoto } from 'gql/mutation/remove-cover-photo'\nimport { locationQuery } from 'gql/query/location'\nimport { uploadCoverPhoto } from 'gql/mutation/upload-cover-photo'\nimport { personalMessageQuery } from 'gql/query/personal-message'\nimport { networkIdentityStatusQuery } from 'gql/query/network-identity-status'\nimport { coverPhotoQuery } from 'gql/query/cover-photo'\nimport { preferencesQuery } from 'gql/query/preference'\nimport { client } from 'utils/client'\nimport { addLoader, removeLoader } from 'utils/loader'\nimport { normalizeImage } from 'utils/image-utils'\n\nclass SettingsState extends Container {\n state = {\n pan: '50',\n isReviewPage: true,\n userHasCoverPhoto: !!_.get(\n clientData,\n 'slugDetails.userPayPalMeDetails.personalizationSettings.coverPhotoUrl',\n '',\n ),\n userHasProfilePicture:\n _.get(clientData, 'slugDetails.userInfo.profilePhotoUrl') !==\n 'https://www.paypalobjects.com/digitalassets/c/consumer/paypalme/networkidentity/profile_man.svg',\n imagePreviewUrl: _.get(\n clientData,\n 'slugDetails.userPayPalMeDetails.personalizationSettings.coverPhotoUrl',\n '',\n ),\n fileName: '',\n shouldLoadPayPalMe: false,\n slugDetails: _.get(clientData, 'slugDetails.userPayPalMeDetails', {}),\n imageRef: {},\n personalMessageValue: _.get(\n clientData,\n 'slugDetails.userPayPalMeDetails.personalizationSettings.welcomeNote',\n '',\n ),\n }\n\n getSlugDetails = slugDetails => {\n this.setState({\n slugDetails,\n })\n }\n\n updateProfile = profile => {\n this.setState({\n slugDetails: profile,\n userHasCoverPhoto: !!profile.personalizationSettings.coverPhotoUrl,\n personalMessageValue: profile.personalizationSettings.welcomeNote,\n imagePreviewUrl: profile.personalizationSettings.coverPhotoUrl,\n })\n }\n\n async accountUpgradeOrSwitchOnOrOff(toggle) {\n const { slugDetails: { paypalmeSlugName = '' } = {} } = this.state\n const slugName = {\n slugName: paypalmeSlugName,\n }\n\n addLoader()\n await client.request(toggle, slugName)\n }\n\n async profileToggle(toggle) {\n await this.accountUpgradeOrSwitchOnOrOff(toggle)\n this.setState({\n slugDetails: {\n ...this.state.slugDetails,\n isProfileStatusActive: !this.state.slugDetails.isProfileStatusActive,\n },\n })\n }\n\n updateProfilePhoto(profilePhotoUrl) {\n this.setState({\n slugDetails: {\n ...this.state.slugDetails,\n userInfo: {\n ...this.state.slugDetails.userInfo,\n profilePhotoUrl,\n },\n },\n })\n }\n\n async turnOff() {\n await this.profileToggle(deactivateProfile)\n removeLoader()\n }\n\n async turnOn() {\n await this.profileToggle(activateProfile)\n removeLoader()\n }\n\n async upgradeAccount() {\n const enrollUserToNetworkIdentity = [\n {\n op: 'replace',\n path: '/network_identity_status',\n value: 'OPTED_IN',\n },\n ]\n\n const { slugDetails: { paypalmeSlugName = '' } = {} } = this.state\n const variables = {\n editUserSettings: enrollUserToNetworkIdentity,\n slugName: paypalmeSlugName,\n }\n\n addLoader()\n\n await client.request(editProfileSettings, variables)\n\n // TODO: should we do this?\n if (!this.state.slugDetails.isProfileStatusActive) {\n await this.profileToggle(activateProfile)\n }\n\n await client.request(networkIdentityStatusQuery)\n removeLoader()\n\n this.setState({\n slugDetails: {\n ...this.state.slugDetails,\n isProfileStatusActive: true,\n networkIdentityStatus: 'OPTED_IN',\n },\n })\n }\n\n async editLocationPreference(variables) {\n addLoader()\n await client.request(editProfileSettings, variables)\n\n const {\n userPayPalMeDetails: {\n userInfo: { displayAddress },\n privacySettings: { location = [] } = {},\n } = {},\n } = await client.request(locationQuery)\n removeLoader()\n\n this.setState({\n slugDetails: {\n ...this.state.slugDetails,\n userInfo: {\n ...this.state.slugDetails.userInfo,\n displayAddress,\n },\n privacySettings: {\n ...this.state.slugDetails.privacySettings,\n location,\n },\n },\n })\n }\n\n async editUserPreferenceSettings(variables) {\n addLoader()\n await client.request(editProfileSettings, variables)\n\n const {\n userPayPalMeDetails: {\n personalizationSettings: { transactionType = 'PERSONAL' } = {},\n } = {},\n } = await client.request(preferencesQuery)\n removeLoader()\n\n this.setState({\n slugDetails: {\n ...this.state.slugDetails,\n personalizationSettings: {\n ...this.state.slugDetails.personalizationSettings,\n transactionType,\n },\n },\n })\n }\n\n async updateCoverPhotoStatus() {\n const {\n userPayPalMeDetails: {\n personalizationSettings: {\n coverPhotoUrl = '',\n coverPhotoVerticalPan = '50',\n } = {},\n } = {},\n } = await client.request(coverPhotoQuery)\n\n this.setState({\n userHasCoverPhoto: Boolean(coverPhotoUrl),\n slugDetails: {\n ...this.state.slugDetails,\n userInfo: {\n ...this.state.slugDetails.userInfo,\n },\n personalizationSettings: {\n ...this.state.slugDetails.personalizationSettings,\n coverPhotoUrl,\n coverPhotoVerticalPan,\n },\n },\n })\n }\n\n async uploadCoverPhotoPreference({\n imagePreviewUrl,\n filename,\n pan,\n slugDetails,\n }) {\n const {\n slugDetails: {\n personalizationSettings: {\n coverPhotoUrl = '',\n coverPhotoVerticalPan = '50',\n } = {},\n } = {},\n } = this.state\n\n let editCoverPhoto = []\n\n addLoader()\n\n /**\n * if user hasn't changed either cover photo url or pan then don't call any api\n * and just return back to settings page (this use case will only happen during edit photo)\n * second case is when user has changed or added the photo then update both pan and image\n * third case is when only pan is updated but not photo then just update the pan\n */\n if (coverPhotoUrl === imagePreviewUrl && coverPhotoVerticalPan === pan) {\n removeLoader()\n return undefined\n } else if (coverPhotoUrl !== imagePreviewUrl) {\n const variables = {\n filename,\n file: imagePreviewUrl,\n slug: slugDetails.paypalmeSlugName,\n }\n\n // upload the new photo\n await client.request(uploadCoverPhoto, variables)\n\n editCoverPhoto = [\n {\n op: 'replace',\n path: '/personalization_settings/cover_photo_vertical_pan',\n value: Math.abs(pan).toString(),\n },\n ]\n } else if (\n coverPhotoUrl === imagePreviewUrl &&\n coverPhotoVerticalPan !== pan\n ) {\n editCoverPhoto = [\n {\n op: 'replace',\n path: '/personalization_settings/cover_photo_vertical_pan',\n value: Math.abs(pan).toString(),\n },\n ]\n }\n\n const { slugDetails: { paypalmeSlugName = '' } = {} } = this.state\n const coverPhotoEdit = {\n editCoverPhoto,\n slugName: paypalmeSlugName,\n }\n\n await client.request(editCoverPhotoDetails, coverPhotoEdit)\n\n await this.updateCoverPhotoStatus()\n\n removeLoader()\n\n // make flow happy!\n return undefined\n }\n\n pan = relativePan => {\n this.setState({ pan: relativePan })\n }\n\n reviewPage = isReviewPage => {\n this.setState({\n isReviewPage,\n })\n }\n\n userImagePreviewUrl = (imagePreviewUrl, filename) => {\n this.setState({\n imagePreviewUrl,\n filename,\n })\n }\n\n imageReference = imageRef => {\n this.setState({\n imageRef,\n })\n }\n\n personalMessage(personalMessageValue) {\n this.setState({\n personalMessageValue,\n })\n }\n\n async editPersonalMessage() {\n const {\n slugDetails: {\n personalizationSettings: { welcomeNote: currentWelcomeNote = '' } = {},\n } = {},\n } = this.state\n\n if (currentWelcomeNote === this.state.personalMessageValue) {\n return undefined\n }\n\n const editUserSettings = [\n {\n op: 'replace',\n path: '/personalization_settings/welcome_note',\n value: this.state.personalMessageValue || '',\n },\n ]\n\n const { slugDetails: { paypalmeSlugName = '' } = {} } = this.state\n const variables = {\n editUserSettings,\n slugName: paypalmeSlugName,\n }\n\n addLoader()\n\n await client.request(editProfileSettings, variables)\n\n const {\n userPayPalMeDetails: {\n personalizationSettings: { welcomeNote = '' } = {},\n } = {},\n } = await client.request(personalMessageQuery)\n removeLoader()\n\n this.setState({\n slugDetails: {\n ...this.state.slugDetails,\n userInfo: {\n ...this.state.slugDetails.userInfo,\n },\n personalizationSettings: {\n ...this.state.slugDetails.personalizationSettings,\n welcomeNote,\n },\n },\n })\n\n return undefined\n }\n\n async removeCoverPhoto() {\n addLoader()\n\n const { slugDetails: { paypalmeSlugName = '' } = {} } = this.state\n\n await client.request(removeCoverPhoto, { slugName: paypalmeSlugName })\n\n await this.updateCoverPhotoStatus()\n\n removeLoader()\n }\n\n loadImage(fileSelectEvent) {\n addLoader()\n let fileReader = new FileReader()\n let file\n fileReader.onload = onLoadEvent => {\n let url = onLoadEvent.target.result\n let options = { mimeType: file.type }\n\n // options.normalizeImageSize = true\n normalizeImage(url, 1600, 1600, options, normalizedUrl => {\n this.userImagePreviewUrl(normalizedUrl, file && file.name)\n removeLoader()\n })\n }\n\n file = fileSelectEvent.target.files[0]\n\n if (file) {\n fileReader.readAsDataURL(file)\n }\n }\n}\n\nexport default SettingsState\n","export const deactivateProfile = `\n mutation DeactivateProfile ($slugName: String!) {\n deactivateProfile (slug: $slugName) {\n isSuccess\n }\n}`\n","export const networkIdentityStatusQuery = `\n query {\n userPayPalMeDetails {\n isProfileStatusActive\n networkIdentityStatus\n }\n }\n`\n","export const locationQuery = `\n query {\n userPayPalMeDetails {\n userInfo {\n displayAddress\n }\n privacySettings {\n location\n }\n }\n }\n`\n","export const preferencesQuery = `\n query {\n userPayPalMeDetails {\n personalizationSettings {\n transactionType\n }\n }\n }\n`\n","export const coverPhotoQuery = `\n query {\n userPayPalMeDetails {\n personalizationSettings {\n coverPhotoUrl\n coverPhotoVerticalPan\n }\n }\n }\n`\n","export const uploadCoverPhoto = `\n mutation UploadCoverPhoto ($filename: String!, $file: String!, $slug: String!) {\n uploadCoverPhoto(filename: $filename, file: $file, slug: $slug) {\n uploadedCoverPhotoUrl\n }\n}\n`\n","export const editCoverPhotoDetails = `\n mutation EditProfileSettings ($editCoverPhoto: [PatchOptions]!, $slugName: String!) {\n editProfileSettings (editSlugDetails: $editCoverPhoto, slug: $slugName) {\n isSuccess\n }\n }\n`\n","export const personalMessageQuery = `\n query {\n userPayPalMeDetails {\n personalizationSettings {\n welcomeNote\n }\n }\n }\n`\n","export const removeCoverPhoto = `\n mutation RemoveCoverPhoto($slugName: String!) {\n removeCoverPhoto(slug: $slugName) {\n isSuccess\n }\n}`\n","// @flow\n\nimport EXIF from 'exif-js'\n\ntype EXIFHTMLImageElement = HTMLImageElement & {\n exifdata?: {\n Orientation: number,\n },\n}\n\n//options are:\n//normalizeImageSize - decrease image size to fit in toWidth and toHeight\nexport function normalizeImage(\n dataUrl: string,\n toWidth: number,\n toHeight: number,\n {\n normalizeImageSize = false,\n mimeType = 'image/jpeg',\n }: { normalizeImageSize?: boolean, mimeType?: string } = {},\n callback: string => void,\n) {\n const img: EXIFHTMLImageElement = document.createElement('img')\n img.onload = () => {\n const canvas = document.createElement('canvas')\n const ctx = canvas.getContext('2d')\n let changed\n let resizeWidth = img.width\n let resizeHeight = img.height\n\n // PNGs weigh too much\n if (mimeType === 'image/png') {\n mimeType = 'image/jpeg'\n }\n\n if (normalizeImageSize) {\n if (resizeWidth > toWidth) {\n resizeHeight *= toWidth / resizeWidth\n resizeWidth = toWidth\n changed = true\n }\n\n if (resizeHeight > toHeight) {\n resizeWidth *= toHeight / resizeHeight\n resizeHeight = toHeight\n changed = true\n }\n\n if (changed) {\n resizeWidth = Math.floor(resizeWidth)\n resizeHeight = Math.floor(resizeHeight)\n canvas.width = resizeWidth\n canvas.height = resizeHeight\n }\n }\n\n EXIF.getData(img, () => {\n if (img.exifdata && img.exifdata.Orientation) {\n if (!changed) {\n canvas.width = resizeWidth = img.width\n canvas.height = resizeHeight = img.height\n }\n\n // in exif orientations 5,6,7,8 the image width and height flips, so we need to flip\n // the canvas dimensions as well\n if (img.exifdata.Orientation >= 5 && img.exifdata.Orientation <= 8) {\n const swapCanvasDimensions = canvas.height\n\n canvas.height = canvas.width\n canvas.width = swapCanvasDimensions\n }\n\n switch (img.exifdata.Orientation) {\n case 2:\n ctx.transform(-1, 0, 0, 1, resizeWidth, 0)\n break\n case 3:\n ctx.transform(-1, 0, 0, -1, resizeWidth, resizeHeight)\n break\n case 4:\n ctx.transform(1, 0, 0, -1, 0, resizeHeight)\n break\n case 5:\n ctx.transform(0, 1, 1, 0, 0, 0)\n break\n case 6:\n ctx.transform(0, 1, -1, 0, resizeHeight, 0)\n break\n case 7:\n ctx.transform(0, -1, -1, 0, resizeHeight, resizeWidth)\n break\n case 8:\n ctx.transform(0, -1, 1, 0, 0, resizeWidth)\n break\n default:\n ctx.transform(1, 0, 0, 1, 0, 0)\n }\n ctx.drawImage(img, 0, 0, resizeWidth, resizeHeight)\n return callback(canvas.toDataURL(mimeType))\n } else if (changed) {\n ctx.drawImage(img, 0, 0, resizeWidth, resizeHeight)\n return callback(canvas.toDataURL(mimeType))\n }\n return callback(dataUrl)\n })\n }\n\n // the animation acts wonky if we don't add the animation here\n // we wait for 800ms once the image is selected, and do the transition as required\n setTimeout(() => {\n img.src = dataUrl\n }, 800)\n}\n","// @flow\n/* eslint consumerweb/require-pagename:0 */\n// This allows us to make styled React components that can\n// either use or based on whether they\n// provide a `to` prop.\nimport PropTypes from 'prop-types'\n\nimport React from 'react'\nimport { Link } from 'react-router-dom'\nimport glamorous from 'glamorous'\n\n// this creates a glamorousComponentFactory\n// for the react-router Link component\n// with all the configuration needed\nfunction ConditionalLink(props) {\n if (props.to) {\n return \n }\n return \n}\nConditionalLink.propTypes = {\n to: PropTypes.string,\n}\n\nconst glamorousLink = glamorous(ConditionalLink, {\n rootEl: 'a',\n displayName: 'glamorous(RouterLink)',\n forwardProps: [\n 'to',\n 'query',\n 'hash',\n 'state',\n 'activeClassName',\n 'activeStyle',\n 'onlyActiveOnIndex',\n ],\n})\n\nexport { glamorousLink }\n","// @flow\n\nimport React, { PureComponent, Component } from 'react'\nimport glamorous from 'glamorous'\n\ntype LazyProps = {\n imageURL: string,\n render: ({ loaded: boolean, imageURL: string }) => React$Element,\n}\n\ntype LazyState = {\n loaded: boolean,\n}\n\nexport class Lazy extends Component {\n state = {\n loaded: false,\n }\n\n componentDidMount() {\n if (!this.state.loaded) {\n if (this.props.imageURL) {\n const cacheImage = new Image()\n cacheImage.onload = () => {\n this.setState({\n loaded: true,\n })\n }\n cacheImage.src = this.props.imageURL\n }\n }\n }\n\n render() {\n const payload = { loaded: this.state.loaded, imageURL: this.props.imageURL }\n return this.props.render(payload)\n }\n}\n\nconst LazyImageTag = glamorous.div(\n {\n opacity: 0,\n transition: 'opacity 0.3s',\n backgroundSize: 'cover',\n },\n ({ loaded, imageURL }) =>\n loaded\n ? {\n width: '100%',\n height: '100%',\n backgroundImage: `url('${imageURL}')`,\n opacity: 1,\n }\n : null,\n)\n\ntype LazyImageProps = {\n imageURL: string,\n loaded: boolean,\n containerStyles?: {},\n}\n\nclass LazyImage extends PureComponent {\n render() {\n return (\n \n )\n }\n}\n\ntype LazyLoaderProps = {\n imageURL: string,\n containerStyles?: {},\n}\n\nconst containerStyles = {\n overflow: 'hidden',\n backgroundColor: 'white',\n width: 100,\n height: 100,\n boxShadow: '8px 14px 38px rgba(39,44,49,.06), 1px 3px 8px rgba(39,44,49,.03)',\n}\n\nexport default class LazyLoader extends Component {\n static defaultProps = {\n containerStyles: {},\n }\n\n render() {\n return (\n {\n if (!imageURL) {\n return null\n }\n return (\n \n \n \n )\n }}\n />\n )\n }\n}\n","// @flow\n\nimport React, { Component, Fragment } from 'react'\nimport glamorous from 'glamorous'\nimport ReactCSSTransitionGroup from 'react-transition-group/CSSTransitionGroup'\nimport getContent from 'pp-react-l10n'\nimport PPAmountField from 'pp-amount-field/basic/v3'\nimport clientData from 'utils/client-data'\nimport LazyLoader from 'components/lazy-load-image'\nimport ShareYourLink from 'components/share-with-friends'\nimport { glamorousLink } from 'components/glamorous-link'\nimport * as amountUtils from '../amount-utils'\nimport _ from 'lodash'\nimport _unescape from 'lodash/unescape'\nimport { svgImages } from 'components/index'\nimport SVG from 'components/svg-logo'\n\nconst l10n = getContent('pages/shared')\nconst DURATION = 300\n\nconst ProfileReviewStyling = glamorous.div(props => ({\n backgroundColor: props.backgroundColor ? props.backgroundColor : '#f4f6f9',\n margin: '0 auto',\n textAlign: 'center',\n boxShadow: !props.myProfilePage\n ? '0 2px 2px 0 rgba(139, 139, 139, 0.5)'\n : null,\n padding: props.userHasCoverPhoto ? '0' : '36px 0 31px 0',\n position: 'relative',\n top: props.userHasCoverPhoto ? '-45px' : 'auto',\n}))\n\nconst ProfileReviewInnerChild = glamorous.div(props => ({\n position: 'relative',\n top: props.userHasCoverPhoto ? '-45px' : 'auto',\n display: 'inline',\n}))\n\nconst MoreInfoAboutUserStyling = glamorous.div({\n color: '#6c7378',\n fontSize: '13px',\n lineHeight: '1.38',\n width: '85%',\n display: 'inline-block',\n paddingBottom: '6px',\n textTransform: 'uppercase',\n})\n\nconst WelcomeNoteStyling = glamorous.div(\n {\n fontSize: '15px',\n lineHeight: '1.6',\n color: '#2c2e2f',\n textAlign: 'center',\n width: '95%',\n margin: '0 auto',\n overflowWrap: 'break-word',\n wordWrap: 'break-word',\n position: 'relative',\n },\n ({ isReviewPage, isCoverUploadPage, shouldShowMoreMessage }) =>\n (isReviewPage || isCoverUploadPage) && !shouldShowMoreMessage\n ? {\n overflow: 'hidden',\n display: '-webkit-box',\n WebkitLineClamp: 2,\n WebkitBoxOrient: 'vertical',\n maxHeight: '71px',\n }\n : null,\n)\n\nconst NameAndSlugDetailLocation = glamorous.div({\n marginBottom: '4px',\n paddingTop: 12,\n paddingBottom: 6,\n margin: 0,\n fontSize: 20,\n color: '#2c2e2f',\n})\n\nconst NameAndSlugDetailMessage = glamorous.div(props => ({\n paddingBottom: props.showAmountInput\n ? 0\n : props.personalMessagePaddingBottomStyling,\n fontSize: 15,\n color: '#2c2e2f',\n}))\n\nconst NextButtonStyling = glamorousLink(\n {\n marginBottom: 40,\n width: '70% !important',\n '@media (min-width: 540px) and (max-width: 690px)': {\n width: '50% !important',\n },\n },\n 'vx_btn vx_btn-block',\n)\n\nconst ShowMoreDiv = glamorous.div(props => ({\n color: '#0070ba',\n fontSize: 14,\n fontWeight: 500,\n lineHeight: 1.43,\n cursor: 'pointer',\n padding: '8.5px 0 0 0',\n display: props.shouldShowMoreMessage ? 'none' : 'inline-block',\n}))\n\nconst SVGStyling = glamorous(SVG, {\n forwardProps: ['svgString'],\n rootEl: 'span',\n})({\n padding: '0 5px',\n cursor: 'pointer',\n})\n\ntype AmountFieldProps = {\n onChange: (value: string, currencyCode: string) => void,\n currencyCode: string,\n value: string,\n}\n\nclass AmountField extends React.Component {\n currencySymbolMap: CurrencySymbolMap\n currencyDecimal: CurrencyDecimal\n constructor(...args) {\n super(...args)\n const {\n currencySymbolMap,\n currencyDecimal,\n } = amountUtils.getAmountFieldInfo()\n Object.assign(this, {\n currencySymbolMap,\n currencyDecimal,\n })\n }\n getFormattedValue = amount => {\n return amountUtils.getFormattedValue({\n amount,\n currencyCode: this.props.currencyCode,\n })\n }\n render() {\n const { currencyCode, value } = this.props\n return (\n \n )\n }\n}\n\ntype ProfileViewProps = {\n slugInfo: { slugDetails: SlugDetails },\n initialAmount?: string,\n initialCurrencyCode?: string,\n isReviewPage?: boolean,\n userHasCoverPhoto: boolean,\n backgroundColor?: string,\n showAmountInput?: boolean,\n myProfilePage?: boolean,\n isCoverUploadPage?: boolean,\n isUserLoggedIn?: boolean,\n isUserInGuestTreatment?: boolean,\n isUserInHomepageTreatment?: boolean,\n isCreateFlow?: boolean,\n personalMessagePaddingBottomStyling: number,\n recipientSlugPage?: boolean,\n isDev: boolean,\n isProd: boolean,\n isStage: boolean,\n}\n\ntype ProfileViewState = {\n amountValue: string,\n amountCurrencyCode: string,\n userHasProfilePicture: boolean,\n shouldShowMoreMessage: boolean,\n}\n\nclass ProfileView extends Component {\n static defaultProps = {\n isUserLoggedIn: clientData.isUserLoggedIn,\n isUserInGuestTreatment: clientData.isUserInGuestTreatment,\n isUserInHomepageTreatment: clientData.isUserInHomepageTreatment,\n isStage: clientData.isStage,\n isDev: clientData.isDev,\n isProd: clientData.isProd,\n }\n\n state = {\n amountValue: this.props.initialAmount,\n amountCurrencyCode: this.props.initialCurrencyCode,\n userHasProfilePicture:\n _.get(this, 'props.slugInfo.slugDetails.userInfo.profilePhotoUrl', '') !==\n 'https://www.paypalobjects.com/digitalassets/c/consumer/paypalme/networkidentity/profile_man.svg',\n shouldShowMoreMessage: false,\n isShowMore: true,\n }\n\n handleAmountChange = (amountValue: string, amountCurrencyCode: string) => {\n this.setState({ amountValue, amountCurrencyCode })\n }\n\n showDottedLines = () => {\n return (\n \n {this.props.myProfilePage ? (\n \n ) : null}\n \n )\n }\n\n handleShowMoreClick = () => {\n this.setState({\n shouldShowMoreMessage: true,\n })\n }\n\n moreInfo = () => {\n this.setState(state => ({ isShowMore: !state.isShowMore }))\n }\n\n moreAboutUser = () => {\n let {\n slugInfo: {\n slugDetails: {\n userInfo: { givenName = '', displayAddress = '' } = {},\n personalizationSettings: { welcomeNote = '' } = {},\n } = {},\n },\n isCoverUploadPage = false,\n isReviewPage = false,\n } = this.props\n\n const shouldShowMoreAboutUser =\n Boolean(displayAddress) || Boolean(welcomeNote)\n\n let welcomeNoteLength = welcomeNote && welcomeNote.length\n\n return (\n \n {shouldShowMoreAboutUser ? (\n \n {!isReviewPage && !isCoverUploadPage && (\n \n {l10n('label.moreabout')} {givenName}\n {this.props.recipientSlugPage && (\n \n )}\n \n )}\n {this.state.isShowMore ? (\n \n \n {displayAddress}\n \n \n {welcomeNote}\n \n {(this.props.isReviewPage || this.props.isCoverUploadPage) &&\n welcomeNoteLength > 50 && (\n \n {l10n('label.showmore')}\n \n )}\n \n ) : (\n \n )}\n \n ) : (\n this.showDottedLines()\n )}\n \n )\n }\n\n generateUrlLoggedOutState() {\n const {\n slugInfo: {\n slugDetails: {\n paypalmeSlugName = '',\n userInfo: { displayName = '' } = {},\n personalizationSettings: { transactionType = '' } = {},\n } = {},\n },\n isUserInHomepageTreatment = false,\n } = this.props\n\n const { amountValue = '0', amountCurrencyCode } = this.state\n const flow = transactionType === 'PERSONAL' ? 'send' : 'buy'\n const {\n locality: { locale, country },\n } = clientData\n\n const queryString = queryify({\n profile: paypalmeSlugName,\n currencyCode: amountCurrencyCode,\n amount: String(amountUtils.normalizeNumber(amountValue)),\n 'locale.x': locale,\n 'country.x': country,\n flowType: flow,\n })\n\n // if logged out get onboarding data...\n // ${window.location.origin}\n const formattedAmount = amountUtils.getFormattedAmount({\n amount: this.state.amountValue,\n currencyCode: this.state.amountCurrencyCode,\n })\n\n let host = 'https://www.paypal.com'\n if (this.props.isDev) {\n host = 'https://localhost.paypal.com'\n }\n\n if (this.props.isStage) {\n host = window.location.origin\n }\n\n if (this.props.isProd) {\n host = 'https://www.paypal.com'\n }\n\n const sendRoute = isUserInHomepageTreatment ? 'homepage' : flow\n const onboardDataRegularSignUp = JSON.stringify({\n 'country.x': country,\n 'locale.x': locale,\n intent: 'paypalme',\n redirect_url: `${host}/myaccount/transfer/${sendRoute}/external/ppme?${encodeURIComponent(\n queryString,\n )}`,\n sendMoneyText: encodeURIComponent(\n `${l10n('msg.send')} ${displayName} ${formattedAmount}`,\n ),\n })\n\n const guestQueryString = queryify({\n env: 'ppme',\n recipientIdType: 'ppme',\n recipientId: paypalmeSlugName,\n currencyCode: amountCurrencyCode,\n amount: String(amountUtils.normalizeNumber(amountValue)),\n 'locale.x': locale,\n 'country.x': country,\n flowType: flow,\n })\n\n const onboardDataGuest = JSON.stringify({\n signUpRequest: {\n method: 'get',\n url: `${encodeURIComponent(\n `${host}/myaccount/transfer/guestLogin/paypalme?${guestQueryString}`,\n )}`,\n },\n })\n\n const onboardData = this.props.isUserInGuestTreatment\n ? `expId=ppme&onboardData=${encodeURIComponent(onboardDataGuest)}`\n : `onboardData=${encodeURIComponent(onboardDataRegularSignUp)}`\n\n return `${host}/signin?returnUri=${host}/myaccount/transfer/${sendRoute}/external/ppme?${encodeURIComponent(\n queryString,\n )}&${onboardData}`\n }\n\n generateUrlLoggedInState() {\n const {\n slugInfo: {\n slugDetails: {\n paypalmeSlugName = '',\n personalizationSettings: { transactionType = '' } = {},\n } = {},\n },\n isUserInHomepageTreatment = false,\n } = this.props\n const flow = transactionType === 'PERSONAL' ? 'send' : 'buy'\n const { amountValue, amountCurrencyCode } = this.state\n const {\n locality: { locale, country },\n } = clientData\n\n const queryString = queryify({\n profile: paypalmeSlugName,\n currencyCode: amountCurrencyCode,\n amount: String(amountUtils.normalizeNumber(amountValue)),\n 'locale.x': locale,\n 'country.x': country,\n flowType: flow,\n })\n\n let host = 'https://www.paypal.com'\n if (this.props.isDev) {\n host = 'https://localhost.paypal.com'\n }\n\n if (this.props.isStage) {\n host = window.location.origin\n }\n\n if (this.props.isProd) {\n host = 'https://www.paypal.com'\n }\n\n const sendRoute = isUserInHomepageTreatment ? 'homepage' : flow\n return `${host}/myaccount/transfer/${sendRoute}/external/ppme?${queryString}`\n }\n\n generateSendMoneyUrl = () => {\n return this.props.isUserLoggedIn\n ? this.generateUrlLoggedInState()\n : this.generateUrlLoggedOutState()\n }\n\n render() {\n const {\n slugInfo: {\n slugDetails: {\n paypalmeSlugName = '',\n userInfo: {\n displayName = '',\n profilePhotoUrl = '',\n displayAddress = '',\n } = {},\n personalizationSettings: { welcomeNote = '' } = {},\n } = {},\n },\n showAmountInput = false,\n } = this.props\n const { amountValue, amountCurrencyCode } = this.state\n const { locality: { locale, country = 'US' } = {} } = clientData\n const shouldShowMoreAboutUser =\n Boolean(displayAddress) || Boolean(welcomeNote)\n\n const personalMessagePaddingBottomStyling =\n this.props.isCreateFlow ||\n (!shouldShowMoreAboutUser && !this.props.myProfilePage)\n ? 0\n : 24\n\n return (\n \n \n \n \n \n \n \n {_unescape(displayName)}\n \n \n {l10n('ppmeUrl', { slug: paypalmeSlugName })}\n \n {showAmountInput && (\n \n
\n \n
\n \n {l10n('button.next')}\n \n
\n )}\n\n {!this.props.isCreateFlow && this.moreAboutUser()}\n\n {this.props.myProfilePage && (\n \n )}\n \n \n {this.props.recipientSlugPage && (\n \n {l10n('button.report')}\n
\n )}\n \n )\n }\n}\n\nfunction queryify(obj: { [key: string]: string }) {\n return Object.keys(obj)\n .reduce((qs, key) => {\n qs.push(`${key}=${encodeURIComponent(obj[key])}`)\n return qs\n }, [])\n .join('&')\n}\n\nexport default ProfileView\n","// @flow\n\nimport React, { Fragment } from 'react'\nimport glamorous from 'glamorous'\nimport { css } from 'glamor'\nimport getContent from 'pp-react-l10n'\nimport { svgImages } from 'components/index'\nimport sharing from 'consumerweb-sharing'\nimport CopyToClipboard from 'react-copy-to-clipboard'\nimport { CSSTransitionGroup } from 'react-transition-group'\nimport SVG from 'components/svg-logo'\nimport { trackLink } from 'lib/analytics'\n\nconst l10n = getContent('pages/shared')\nconst l10nSettings = getContent('pages/settings')\nconst isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(\n navigator.userAgent,\n)\n\ntype Props = {\n slugInfo: { slugDetails: SlugDetails },\n showCopyText?: boolean,\n isMarketkingFlow?: boolean,\n locale?: string,\n}\n\nconst ShareYourLinkStyling = glamorous.div({\n color: '#6c7378',\n fontSize: '13px',\n lineHeight: '1.38',\n width: '80%',\n display: 'inline-block',\n textTransform: 'uppercase',\n marginTop: 22,\n padding: 0,\n})\n\nconst SVGParent = glamorous.span({\n display: 'inline-block',\n width: '60px',\n marginRight: '20px',\n cursor: 'pointer',\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})\n\nconst SVGStyling = glamorous(SVG, {\n forwardProps: ['svgString'],\n rootEl: 'span',\n})({\n padding: '0 20px',\n '@media (max-width: 320px)': {\n padding: 0,\n },\n})\n\nconst SpanText = glamorous.span({\n display: 'inline-table',\n fontSize: '13px',\n color: '#ababab',\n position: 'relative',\n left: '10px',\n '@media (max-width: 320px)': {\n left: 0,\n },\n})\n\nconst TooltipCopied = glamorous.span({\n padding: '4px',\n bottom: '0',\n right: '75px',\n backgroundColor: '#e1e7eb',\n color: 'black',\n width: '66px',\n position: 'absolute',\n borderRadius: '2px',\n top: '10px',\n height: '30px',\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\nconst trackShareLinks = linkName =>\n trackLink(linkName, 'main:ppme:profile', 'main:ppme:profile:::', 'link')\n\ntype State = {\n isCopied: boolean,\n}\n\nclass ShareYourLink extends React.Component {\n _ref: ?HTMLElement = null\n\n state = {\n isCopied: false,\n }\n handleFBClick = (e: SyntheticEvent) => {\n e.preventDefault()\n\n trackShareLinks('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 trackShareLinks('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 trackShareLinks('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 trackShareLinks('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 trackShareLinks('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 {!this.props.showCopyText && (\n \n {l10n('header.shareyourlink')}\n \n )}\n\n {this.props.showCopyText && (\n \n {\n this.copyToClipboard()\n }}\n >\n
\n (this._ref = input)}\n value={`paypal.me/${paypalmeSlugName}`}\n readOnly={true}\n />\n \n {l10n('button.copy')}\n \n \n {this.state.isCopied && (\n \n \n \n )}\n \n
\n \n \n )}\n\n
\n {!this.props.showCopyText && (\n {\n this.copyToClipboard()\n }}\n tabIndex=\"0\"\n role=\"button\"\n >\n \n e.key === 'Enter' && this._ref && this._ref.click()\n }\n ref={input => (this._ref = input)}\n >\n \n \n {l10nSettings('share.copy')}\n \n \n \n )}\n \n \n \n {l10nSettings('share.facebook')}\n \n \n \n \n \n {l10nSettings('share.messenger')}\n \n \n \n \n \n {l10nSettings('share.twitter')}\n \n \n {this.props.isMarketkingFlow && isMobile && (\n \n \n \n {l10nSettings('share.whatsapp')}\n \n \n )}\n
\n \n {this.state.isCopied && !this.props.showCopyText && (\n \n \n \n )}\n \n
\n )\n }\n}\n\nexport default ShareYourLink\n","// @flow\n\nimport React from 'react'\n\ntype Props = {\n svgString: string,\n props: {},\n}\n\n/**\n * SRE bot's throws an error for dangerouslySetInnerHTML. This is a workaround for\n * legitimate use cases\n */\nconst workaroundScoreBot = ['dangerously', 'Set', 'Inner', 'HTML'].join('')\nexport default function SVG({ svgString, ...props }: Props) {\n const dangerProps = { [workaroundScoreBot]: { __html: svgString } }\n return \n}\n","// @flow\n\nimport { GraphQLClient } from 'graphql-request'\nimport clientData from './client-data'\n\ntype Client = {|\n request: (query: string, variables?: {}) => Promise<*>,\n|}\n\nconst client: Client = new GraphQLClient(\n `${window.location.origin}${clientData.requestURI}/v1/graphql`,\n {\n credentials: 'include',\n mode: 'cors',\n headers: {\n 'x-csrf-token': clientData.csrf,\n },\n },\n)\n\nexport { client }\n\nexport type { Client }\n","// @flow\n\nexport const addLoader = function(\n elementID?: string = 'core-white-overpanel-navigation',\n maximumDuration?: number = 15000,\n) {\n if (typeof elementID !== 'string' || typeof maximumDuration !== 'number') {\n elementID = 'core-white-overpanel-navigation'\n }\n\n const overlayedElement = document.getElementById(elementID)\n\n if (overlayedElement) {\n overlayedElement.classList.add('vx_has-spinner-large')\n }\n}\n\nexport const removeLoader = function() {\n const elementWithSpinner = document.getElementsByClassName(\n 'vx_has-spinner-large',\n )\n\n if (elementWithSpinner && elementWithSpinner[0]) {\n elementWithSpinner[0].classList.remove('vx_has-spinner-large')\n }\n}\n"],"sourceRoot":""}