1import{a4 as e,a5 as t,k as a,T as r,q as n,o,u as s,g as i,h as l,m as u,S as c}from"./2c1ab0fe.RaLGJvq2.js";import{fB as d,fC as p,dH as m,fD as y,ct as g,fE as h,r as v,j as f,fF as b,Q as P,aK as w,f2 as _,fq as A,g as S,a4 as C,cW as k,fj as E,ak as x,ca as I,fG as B,fH as F}from"./164ad2e3.CFfy82JW.js";import{a as T,_ as W,a5 as M,f3 as R,cq as O,f4 as N,f5 as j,am as L,j as z,f6 as V,cU as D,aH as $,cS as U,f7 as q,f8 as G,f9 as H,fa as Y,fb as X,aM as K,fc as Q,fd as J,c$ as Z,fe as ee}from"./f67abd2c.C46XWaN_.js";import{c as te}from"./e129c76e.DjNfoZYE.js";import{i as ae}from"./9dba8418.B8kf8LtI.js";import{S as re}from"./app.tqmx-w8m.js";import{a as ne,b as oe,c as se}from"./78ab3dd0.CLnAKxte.js";import{b as ie}from"./2b94e6ef.DMADjiM6.js";import{a as le,b as ue}from"./ed9f2238.CzBSXgC_.js";import{u as ce,a as de,g as pe}from"./33464469.oQHEcxGJ.js";import{c as me}from"./71ae3d5c.DH8uwl0W.js";import{f as ye}from"./e3e348f2.BPc4qUS2.js";import{S as ge}from"./ee2bb050.CewIP-kD.js";import{u as he,g as ve}from"./cb8fcd45.C3TjTDFK.js";import{u as fe,W as be}from"./8536083a.D_S_RTjn.js";import"./d0bb51ec.J_EOosAq.js";import"./60a453ce.BDU_ws-c.js";import"./e12db40c.mIeTs0Fw.js";import"./ccdf3592.dEaayUk0.js";import"./d25d1b95.B3Q2M3EN.js";import"./d4ea2faa.CWip83cs.js";import"./fe885b80.C2HhCofi.js";import"./f78726c8.CxEsQMLm.js";import"./17e57de1.BQ0yd3rN.js";import"./ca3e798e.BWruLT5k.js";import"./1d34c07e.h4dJAaCz.js";function Pe(e,t){return!!e&&Boolean(t?.some(t=>t.value===e))}class we extends re{constructor(){super(...arguments),this.name="PaypalExpressError"}}const _e={id:"adb798e617f80f912a3489ae4fddf2cd23943ab846448fe0ce07617a2c587cbb",type:"query",name:"PaypalDetails",source:""},Ae={id:"7721b62b97e359c797bda1224aa91b0808a50e27ac8036db558d8b2e4ea6607f",type:"query",name:"PaypalToken",source:""};class Se extends re{constructor(){super(...arguments),this.name="PayPalAPIError"}}class Ce extends re{constructor(){super(...arguments),this.name="UnactionablePayPalAPIError",this.unactionable=!0}}const ke="disable-view-transitions-for-wallet-pci";const Ee={display:"flex","align-items":"center","justify-content":"center",width:"100%",height:"100%"},xe={display:"block","inline-size":"100%","block-size":"100%"};function Ie(e,t){const a=t.startsWith("var(")?t.slice(4,-1):t,r=a.indexOf(","),n=(-1===r?a:a.slice(0,r)).trim();return getComputedStyle(e).getPropertyValue(n).trim()}function Be(){const e=[];for(const t of document.styleSheets)try{for(const a of t.cssRules)a.cssText.startsWith("@font-face")&&e.push(a.cssText)}catch{}return e}function Fe(e,t){for(const[a,r]of Object.entries(t))r&&e.style.setProperty(a,r)}function Te({config:e}){const t=n(t=>{t&&(t.replaceChildren(function(e){const t=document.createElement("span");if(t.classList.add("standard-wallet-button-content"),!e.content?.hideLabel){const a=document.createElement("span");a.classList.add("standard-wallet-button-label"),a.textContent=e.label,t.appendChild(a)}if(e.content?.logoSvg){const a=document.createElement("span");a.classList.add("standard-wallet-button-logo"),a.setAttribute("aria-hidden","true");const r=(new DOMParser).parseFromString(e.content.logoSvg,"image/svg+xml").documentElement;"http://www.w3.org/2000/svg"===r.namespaceURI&&(r.setAttribute("focusable","false"),a.appendChild(document.importNode(r,!0))),t.appendChild(a)}return t}(e)),function(e,t){var a;Fe(e,{...Ee,"box-sizing":"border-box",...(a=t.buttonStyle,{"background-color":a.backgroundColor,color:a.textColor,border:"none","box-shadow":`inset 0 0 0 ${a.borderWidth} ${a.borderColor}`,"border-radius":a.borderRadius,padding:`${a.blockPadding} ${a.inlinePadding}`,"font-family":a.fontFamily,"font-size":a.fontSize,"font-weight":a.fontWeight,"line-height":a.lineHeight??"","letter-spacing":a.letterSpacing,"text-transform":a.textTransform})});const r=e.querySelector(".standard-wallet-button-content");r&&Fe(r,Ee);const n=e.querySelector(".standard-wallet-button-logo");n&&Fe(n,function(e){return{display:"flex","align-items":"center","justify-content":"center","inline-size":e?.logoWidth??"","block-size":e?.logoHeight??""}}(t.content));const o=n?.querySelector("svg");o&&Fe(o,xe)}(t,e))},[e]);return s("div",{className:"GJTW5","aria-hidden":"true",children:s("div",{ref:t})})}const We="MlVcW";class Me extends re{constructor(){super(...arguments),this.name="PayPalPaymentFlowError"}}class Re extends re{constructor(){super(...arguments),this.name="UnactionablePayPalPaymentFlowError",this.unactionable=!0}}const Oe=new Set(ee),Ne="PAYPAL_EXPRESS",je="VENMO";function Le({buttonLabel:ee="paypal",progressToNextPage:Ee=!1,isPayWithPayPalFlow:xe=!1,fundingSource:Fe="paypal",isDisabled:Le=!1,sizingButtonRef:ze}){const Ve=g().geolocation.country.code,De=function(){const{locale:e}=T().i18n;return r(()=>{const t={ar:"ar-EG",bg:"en-BG",cs:"cs-CZ",da:"da-DK",de:"de-DE",el:"el-GR",en:"en-US",es:"es-ES",fi:"fi-FI",fr:"fr-FR",he:"he-IL",hi:"en-IN",hr:"en-HR",hu:"hu-HU",id:"id-ID",it:"it-IT",ja:"ja-JP",ka:"en-GE",ko:"ko-KR",lt:"en-LT",ms:"en-MY",nb:"no-NO",nl:"nl-NL",pl:"pl-PL","pt-BR":"pt-BR","pt-PT":"pt-PT",ro:"en-RO",ru:"ru-RU",sk:"sk-SK",sl:"en-SI",sr:"en-RS",sv:"sv-SE",th:"th-TH",tr:"tr-TR",vi:"en-VN","zh-CN":"zh-CN","zh-TW":"zh-TW"},a=t[e];if(void 0!==a)return a;const r=e.indexOf("-");return t[-1===r?e:e.slice(0,r)]||"en-US"},[e])}(),$e=h(),{checkout:Ue,i18n:qe,observability:Ge,shop:He,graphql:{coreGraphql:Ye}}=T(),{email:Xe,billingAddressOption:Ke,acceptPaymentVaulting:Qe,shippingAddress:Je}=Ue.negotiator.parts,{progress:Ze,negotiate:et}=v(),tt=f(),at=b(),rt=de({flag:Y,onError:e=>{throw e}}),{markAsLoaded:nt}=me(),ot=Ue.negotiator.current.fields.paymentMethods?.value,st=P().value,it=ye(),lt=y("venmo"===Fe?je:Ne).value,ut=lt?.clientToken,ct=lt?.paymentIntent,dt=$(),pt=U(),mt=R(ot),yt=lt?.name===Ne&&"CONNECTED"===lt.gatewayType,gt=lt?.name===Ne&&"MANAGED"===lt.gatewayType,ht="TOKENIZE"===ct||xe&&st&&Qe.value&&mt,vt=He.hasFlagEnabled(q),ft=He.hasFlagEnabled(G),bt=He.hasFlagEnabled(H),Pt=yt&&vt||gt&&ft,wt=(dt.value?.amount??0)>0&&(!bt||(pt.value?.amount??0)>0),_t="paypal"===Fe&&ht&&!wt&&Pt,At="paypal"===Fe&&ht&&wt&&Pt,St=ht&&!At,Ct="paypal"===Fe?ne.PayPalV6:ne.Venmo,kt="venmo"===Fe?je:Ne,Et=w(),xt=ue(Ct),{trackComplete:It}=ce(Ct),Bt=_(Ct),Ft=A(Ct),Tt=o(null),Wt=o(null),{isScrimOpen:Mt,closePopupWindowsAndScrim:Rt}=he({endpoint:Tt,invokingWallet:"PAYPAL_EXPRESS"}),{isFullScreen:Ot,expandIFrame:Nt,collapseIFrame:jt}=function({onExpand:e,onCollapse:t}={}){const a=o(!1),r=z({onExpand:e,onCollapse:t}),s=n(()=>{!function(){if(document.getElementById(ke))return;const e=document.createElement("style");e.setAttribute("id",ke),e.textContent="\n * {\n view-transition-name: none !important;\n }\n ",document.head.appendChild(e)}(),a.value=!0,r.current.onExpand?.()},[r,a]),i=n(()=>{a.value&&(r.current.onCollapse?.(),document.getElementById(ke)?.remove(),a.value=!1)},[r,a]);return{isFullScreen:a,expandIFrame:s,collapseIFrame:i}}({onCollapse:()=>Tt.value?.call.cleanup()}),Lt=S(Le),zt=S(xt),Vt=S(ot),Dt=i(St),$t=i(0),Ut=i(),qt=i(!1),Gt=o(null),{inMemoryPayPalParts:{isLoadingPaymentSheet:Ht,accountStatus:Yt,isApproving:Xt,paymentSheetError:Kt},inMemoryVenmoParts:{buttonStatus:Qt}}=W(),Jt=C({isPayWithPayPalButton:xe}),Zt=i(null),ea=k(),ta=E(),aa=He.hasFlagEnabled(Y),ra=He.hasFlagEnabled(X),{wallets:na}=Ue,oa=n(()=>{na.setEscalatedWallet(kt),"review"===tt.value.currentPage?.id&&at("payment-methods",{replace:!0})},[kt,tt,at,na]),sa=Ue.configuration.layout.isOnePage,{checkoutProtocolModalEventSignal:ia}=Ue.negotiator.context,la=Ue.extensibility.ui.hasAtRiskPlacement.value,ua=aa&&!la&&!sa.value&&!xe,ca=sa.value&&ra&&!Ee,da=xe?oe.PaymentMethod:oe.Express,pa="venmo"===Fe?qe.translate("brand.venmo"):qe.translate("brand.paypal"),ma=qe.translate("general.pay_now_button_label"),ya=o(!1);x({active:Xt.value&&ya.value&&xe});const ga=I(),ha=o(!1);l(()=>{!Mt.value&&ha.value&&(ga(),ha.value=!1)},[Mt.value,ga,ha.value,ha]);const va=n(e=>{ie.exists("paypal_authorization")?It({result:"failed",durationMs:ie.end("paypal_authorization"),walletType:da}):Ge.counter({name:"wallet_sheet_failed",value:1,attributes:{instrument:Ct}}),zt.current(se.Failure,da),Ge.error(e),Yt.value={status:"error"}},[zt,Yt,Ge,Ct,It,da]),fa=n((e,t)=>{"venmo"===t?Qt.value={status:e}:Jt.value={status:e}},[Qt,Jt]),ba=n(async e=>{const t=Zt.current,a=ve(t),r=xe&&t?function({label:e,disabled:t,loading:a,size:r,scopeElement:n,sizingElement:o}){const s=(...e)=>{for(const t of e){const e=Ie(n,t);if(e)return e.endsWith("rem")?`${V(e)}px`:e}return""},i=getComputedStyle(n),l=o?getComputedStyle(o):null,u=s(D.color.default.primaryButton.hover.background),c=u?{backgroundColor:u,textColor:s(D.color.default.primaryButton.hover.text),borderColor:s(D.color.default.primaryButton.hover.border)}:void 0;return{label:e,disabled:t,loading:a,size:r,fontFaces:Be(),buttonStyle:{backgroundColor:s(D.color.default.primaryButton.background),backgroundColorDisabled:s(D.color.default.primaryButton.backgroundSubdued),textColor:s(D.color.default.primaryButton.text),borderColor:s(D.color.default.primaryButton.border),borderWidth:s(D.button.primary.borderWidth),borderRadius:s(D.button.primary.borderRadius,D.global.borderRadius,D.borderRadius.base),blockPadding:l?.paddingBlockStart??s(D.button.primary.blockPadding),inlinePadding:l?.paddingInlineStart??s(D.button.primary.inlinePadding),fontFamily:l?.fontFamily??(s(D.button.primary.fontFamily)||i.fontFamily),fontSize:l?.fontSize??(s(D.button.primary.fontSize,D.fontSize.medium)||i.fontSize),fontWeight:l?.fontWeight??s(D.button.primary.fontWeight,D.typography.primary.fontWeight.bold),lineHeight:l?.lineHeight,letterSpacing:l?.letterSpacing??s(D.button.primary.letterSpacing,D.global.letterSpacing),textTransform:l?.textTransform??(s(D.button.primary.textTransform)||i.textTransform),opacityDisabled:s(D.opacity.disabled),hover:c,focusRing:{width:s(D.ring.width)||"3px",offset:s(D.ring.offset)||"0px",color:s(D.ring.color,D.color.default.accent)}}}}({label:ma,disabled:Le,loading:Ht.value,size:sa.value?"base":"large",scopeElement:t,sizingElement:ze?.current}):void 0;if(Wt.value=r??null,"venmo"===Fe&&St)return fa("not_eligible",Fe),void nt();Tt.value=e;const n=!(j()||Boolean(window.navigator.userAgent.match(/musical_ly|BytedanceWebview/))||Boolean(window.navigator.userAgent.match(/\bGSA\/[\d.]+/))||Boolean(window.navigator.userAgent.match(/ShopifyCheckoutSDK|ShopifyCheckoutKit/))||Boolean(window.popupBridge))&&(Boolean(window.navigator.userAgent.match(/FBAN|FB_IAB|FBAV|Instagram/))?function(){const e=window.navigator.userAgent,t=Boolean(e.match(/iPhone|iPad|iPod/)),a=Boolean(e.match(/\bSafari\/[\d.]+/));return Boolean(e.match(/IABMV/i))&&(!t||a)}():!L()),o=await e.call.configure({clientToken:ut,locale:De,fundingSource:Fe,isBillingAgreement:St,buttonLabel:ee,isPayWithPayPal:xe,browserSupportsPopupFlow:n,style:{borderRadius:a},sandboxTestMode:lt?.sandboxTestMode??!1,useStandardButton:xe,standardButtonConfig:r});nt(),o.status===ge.Success?(fa("rendered",Fe),Ge.counter({name:"checkout_wallet_button_rendered",value:1,attributes:{wallet_name:Ct,status:"success",isPaymentMethodFlow:xe}})):(o.status===ge.ScriptLoadError&&(Ge.log("paypal_button_script_load_failed","[PayPalButton] script load error",{errorMessage:o.message}),Ge.counter({name:"checkout_wallet_button_rendered",value:1,attributes:{wallet_name:Ct,status:"error",reason:"script_load_error",isPaymentMethodFlow:xe}})),o.status===ge.Error&&(Ge.leaveErrorBreadcrumb("[PayPalButton] sandbox error",{message:o.message,type:o.type,errorLocation:o.errorLocation}),Ge.error(new we(o.message,{groupingHash:"PayPalExpressError::SandboxError"})),Ge.counter({name:"checkout_wallet_button_rendered",value:1,attributes:{wallet_name:Ct,status:"error",reason:"sandbox_error",isPaymentMethodFlow:xe}})),o.status===ge.UnsupportedBrowser&&Ge.counter({name:"paypal_unsupported_browser",value:1,attributes:{payWithPayPal:xe,fundingSource:Fe,reason:"unsupported_browser"}}),zt.current(se.Failure),Yt.value={status:"error"},fa("error",Fe))},[Fe,Tt,Wt,ut,De,St,ee,xe,lt?.sandboxTestMode,nt,fa,zt,Yt,Ge,Ct,ma,ze,Le,Ht,sa]);l(()=>{(async()=>
1{if(Dt.current!==St&&Tt.value){if(Dt.current=St,"venmo"===Fe&&St)return void fa("not_eligible",Fe);const e=await Tt.value.call.setBillingAgreementRequirement(St);Ge.counter({name:"checkout_wallet_button_rendered",value:1,attributes:{wallet_name:Ct,isPaymentMethodFlow:xe,billingAgreementUpdate:!0,status:e.status===ge.Success?"success":"error"}})}})()},[St,Fe,Tt,xe,Ct,Ge,fa]);const Pa=n(e=>{Mt.value=e,(e||"PAYPAL_EXPRESS"===na.activeSession.value?.wallet)&&(e?na.setActiveSession({newValue:"PAYPAL_EXPRESS",asPaymentMethod:xe}):na.clearActiveSession({invokingWallet:"PAYPAL_EXPRESS"})),xe||(ia.value=e?"paypal":"none"),e||jt()},[ia,Mt,jt,xe,na]),wa=n(()=>{Pa(!1),Ht.value=!1},[Pa,Ht]),_a=function({fundingSource:r,isVaultWithPurchaseOrder:n=!1,isLegacyBillingAgreementWithoutPurchase:o=!1,isPayWithPayPalFlow:s=!1,onSuccess:i,onError:l}){const u=function({isPayWithPayPalFlow:e}){const{observability:t,checkout:{negotiator:a}}=T(),r=a.current.fields.buyerIdentity.value?.purchasingCompany;return function(a){const{prefillingDestinationAddress:n,email:o,expiresAt:s,billingAgreementStatus:i,prefillingBillingAddress:l,payerApprovedAmount:u}=a;return r?{email:o,expiresAt:s,billingAgreementStatus:i,payerApprovedAmount:u}:null!=n||e?n&&"StreetAddress"!==n.__typename&&"InvalidWalletPrefillingAddress"!==n.__typename?(t.error(new we(`Unsupported PayPal address type: ${n.__typename}`),{errorClass:d.Api}),!1):l&&"StreetAddress"!==l.__typename&&"InvalidWalletPrefillingAddress"!==l.__typename?(t.error(new we(`Unsupported PayPal address type: ${l.__typename}`),{errorClass:d.Api}),!1):{email:o,address:n,expiresAt:s,billingAddress:l,billingAgreementStatus:i,payerApprovedAmount:u}:(t.error(new we("No address returned by PayPal"),{errorClass:d.Api}),!1)}}({isPayWithPayPalFlow:s}),c=function({fundingSource:e,isVaultWithPurchaseOrder:t,isPayWithPayPalFlow:r}){const{checkout:n,observability:o,shop:s}=T(),{shippingCountries:i}=s,l=n.configuration.addressSettings.nonBillingAddressSettings.value,{email:u,paymentLines:c,shippingAddress:d,billingAddress:g,acceptPaymentVaulting:h}=n.negotiator.parts,v=p(),{value:f}=n.negotiator.current.fields.contactInfo,b=n.negotiator.current.fields.paymentMethods?.value,P=n.identity.current.value,w=m(),_=y("PAYPAL_EXPRESS"),A=(({isPayWithPayPalFlow:e=!1})=>{const{shop:t,checkout:r}=T(),{billingAddressOption:n}=r.negotiator.parts,{buyerIdentity:o,paymentMethods:s}=r.negotiator.current.fields;return a(()=>{const a=o.value?.purchasingCompany;return!(a||e||(ae({shop:t,checkout:r,paymentMethods:s.value})||"shipping"!==n.value)&&r.isShippingRequired.value)})})({isPayWithPayPalFlow:r}),S=(({isPayWithPayPalFlow:e=!1})=>{const{checkout:t}=T(),a=t.negotiator.current.fields.buyerIdentity.value?.purchasingCompany;return!(a||!t.isShippingRequired.value||e)})({isPayWithPayPalFlow:r}),{shouldGateCrossBorder:C,crossBorderGate:k}=le(),E=!ae({shop:s,checkout:n,paymentMethods:b}),x=v.value&&(!f?.email||!r);function I(e,t){const a="InvalidWalletPrefillingAddress"===t.__typename,r={...t,...N(t.extendedFields)},n={};for(const[o,s]of Object.entries(r)){if(!(o in e.fields))continue;const r="line2"===o?"address2":o;a&&!l.isVisible(r,{countryCode:t.countryCode??void 0})||Object.assign(n,{[o]:s||void 0})}e.value=n}function B(e){const t=e.countryCode,a=Boolean(t)&&!Pe(t,i);I(d,a?{__typename:"InvalidWalletPrefillingAddress",countryCode:t,validationErrors:[]}:e)}return function(a){if(x&&(u.value=a.email),a.address){const e=a.address;if(S){const t=e.countryCode;C(t)?(o.log("paypal_cross_border_gate","PayPal shipping country creates a cross-border split. Opening the consolidation modal before filling the shipping address.",{shippingCountryCode:t}),k(()=>B(e))):B(e)}}!a.billingAddress||"payPal"===P&&w.value.billing||E?A.value&&a.address&&I(g,a.address):I(g,a.billingAddress);const n={method:{type:"wallet",name:"PAYPAL_EXPRESS",walletContent:{authAssertionContext:a.authAssertionContext,payerId:a.payerId,token:a.orderId,email:a.email,paymentMethodIdentifier:_.value?.paymentMethodIdentifier??"",expiresAt:a.expiresAt,merchantId:_.value?.merchantId,payerApprovedAmount:a.payerApprovedAmount,currencyCode:a.currencyCode,...t?{isVaultWithPurchaseOrder:t}:{},isVenmo:"venmo"===e}}},s=c.peek();c.value=O(s,n),r||(h.value=!1)}}({fundingSource:r,isVaultWithPurchaseOrder:n,isPayWithPayPalFlow:s}),{inMemoryPayPalParts:{accountStatus:g},persistedPayPalSignal:h}
1=W(),v=M().value?.currencyCode,{observability:f,graphql:{coreGraphql:b},checkout:{negotiator:P}}=T(),w="paypal"===r?ne.PayPalV6:ne.Venmo,{trackAttempt:_}=ce(w),A=P.current.fields.paymentMethods?.value;return async function(a){_({walletType:s?oe.PaymentMethod:oe.Express}),ie.start("paypal_authorization"),g.value={status:"loading"};try{const s=await(async({graphql:a,paypalToken:r,authAssertionContext:n,observability:o})=>{const s=async(e,t)=>{const{data:r,error:o}=await a.staticQuery(_e,{cache:!1,variables:t?{pendingTask:{taskId:t}}:{paypalDetailsInput:{token:e,authAssertionContext:n}}});if(null!=o)throw u({code:"GENERIC_ERROR",unactionable:!0,error:o});if(null==r)throw u({code:"NO_DATA",unactionable:!1});return r};let i=0,l="";for(;;){const{paypalDetails:a}=await s(r,l);switch(a.__typename){case"PaypalDetailsFetchFailed":throw u({code:a.code,unactionable:!0});case"PaypalDetailsFetchSuccess":return a;case"PendingTask":if(l=a.taskId,i+=1,i>=5)throw u({code:"REACHED_MAX_POLLING",unactionable:!0});await t(a.pollDelay);break;default:e(a)}}function u({code:e,unactionable:t,error:a}){o.counter({name:"paypal_fetch_details_error",value:1,attributes:{code:e}}),o.log("paypal_api_fetch_paypal_details_failed","fetchPayPalDetails failed",{attributes:{code:e,errorName:a?.name,errorMessage:a?.message}});const r=`fetchPayPalDetails failed with code: ${e}${a?`, ${a.name}: ${a.message}`:""}`;return t?new Ce(r,{cause:a}):new Se(r,{cause:a})}})({graphql:b,paypalToken:R(A)&&!n&&a.billingToken||a.orderId,authAssertionContext:a.authAssertionContext,observability:f}),l=u(s);if(!l)throw new we("PayPal returned invalid data");const d=s.remoteOrderId||a.orderId,p=d===a.orderId?a.authAssertionContext:void 0;c({address:l.address,email:l.email,payerId:a.payerId,orderId:d,expiresAt:l.expiresAt,billingAddress:l.billingAddress??void 0,payerApprovedAmount:l.payerApprovedAmount??void 0,currencyCode:v,authAssertionContext:p}),o&&s.remoteOrderId?.startsWith("B-")&&f.counter({name:"paypal_zero_due_billing_agreement_created",value:1}),h.value={isVenmo:"venmo"===r,receiptIdForClearedToken:h.peek()?.receiptIdForClearedToken,billingAgreementStatus:l.billingAgreementStatus},g.value={status:"connected",email:l.email,token:d},i?.()}catch(d){throw l?.(d),d}}}({fundingSource:Fe,isVaultWithPurchaseOrder:At,isLegacyBillingAgreementWithoutPurchase:_t,isPayWithPayPalFlow:xe,onSuccess:async()=>{Xt.value=!0,ya.value=!0,zt.current(se.Success,da),Ge.counter({name:"paypal_approved",value:1,attributes:{payWithPayPal:xe,fundingSource:Fe}}),Pa(!1)}}),Aa=S(_a),Sa=n(({errorUnactionable:e,errorMessage:t,errorName:a,stack:r})=>{if(Ge.leaveErrorBreadcrumb("[PayPalButton] paymentFlowError",{errorMessage:t,stack:r}),wa(),qt.current)return void Ge.leaveErrorBreadcrumb("[PayPalButton] paymentFlowError suppressed after stock re-negotiation",{errorMessage:t});const n=`${a?`${a}: `:""}${t}`;if(e||a?.includes("Unactionable")){const e=new Re(n);e.stack=r,va(e)}else{const e=new Me(n,{groupingHash:"PayPalPaymentFlowError::UnexpectedError"});e.stack=r,va(e)}},[wa,va,Ge]),Ca=S(Sa),ka=n(async()=>{if(ta(Zt),qt.current=!1,Lt.current||na.activeSession.value)return Pa(!1),!1;if(Ht.value=!0,zt.current(se.Clicked,da),Ge.counter({name:"wallet_sheet_clicked",value:1,attributes:{instrument:Ct}}),Mt.value=!0,!xe)return zt.current(se.Initialized,da),void Pa(!0);const e=ae({shop:He,checkout:Ue,paymentMethods:Vt.current});try{const t=await new Promise((t,a)=>{et({legacyFiltering:{include:e||"custom"!==Ke.value?[]:["billingAddress"]},runListenersOnError:!0,negotiationStage:"completion",silenceViolations:pe({journey:tt.value,negotiated:Ue.proposal.negotiated.value,fieldsToValidate:e||"custom"!==Ke.value?[]:["billingAddress"]}),onComplete:t}).catch(a)}),a=()=>{zt.current(se.Initialized,da),ea.current?Pa(!0):Ge.leaveErrorBreadcrumb("PayPalButton: Skipping setModalScrimOpen - component unmounted")},r="error"===t.status&&t.violations.length>0&&t.violations.every(({code:e})=>Oe.has(e));return"success"===t.status?(a(),!0):r?(Ge.counter({name:"paypal_silenced_violations_requiring_new_token",value:1}),Ge.log("paypal_silenced_violations","PayPalButton: silenced violations",{violations:t.violations}),a(),!0):(wa(),ha.value=!0,Ge.log("paypal_button_popup_closed_negotiation_errors","PayPalButton: closing popup because of negotiation errors",{result:{status:t.status,..."error"===t.status&&{errorCodes:t.errors.map(({code:e})=>e),violationCodes:t.violations.map(({code:e})=>e)}}}),!1)}catch(t){return wa(),Ca.current({errorMessage:`negotiation threw unexpectedly when validating guest checkout for PayPal: ${t instanceof Error?`[${t.name}] ${t.message}`:t?.toString()}`,errorName:t instanceof Error?t.name:void 0,errorUnactionable:t instanceof re&&t.isUnactionable()}),!1}},[ta,Lt,Ht,zt,da,Mt,xe,He,Ue,tt,Pa,wa,et,Vt,Ke,Ge,Ct,Ca,ea,ha,na]),Ea=S(ka),xa=n(()=>{wa(),zt.current(se.Cancelled),Ge.counter({name:"wallet_sheet_cancelled",value:1,attributes:{instrument:Ct}})},[wa,zt,Ge,Ct]),Ia=S(xa),Ba=n(async e=>{jt();
1try{if(Aa.current){Gt.value={countryCode:Je.value.countryCode,zoneCode:Je.value.zoneCode};const t=Ut.current?.orderId===e.orderId?Ut.current.value:void 0;return await Aa.current({...e,...t&&{authAssertionContext:t}}),!0}return Ca.current({errorMessage:"onApproveRef is not set",errorName:void 0,errorUnactionable:!1}),!1}catch(t){const e=t;return Ca.current({errorMessage:`onApprove handler failed: ${String(e)}`,stack:e?.stack,errorName:e?.name,errorUnactionable:e instanceof re&&e.isUnactionable()}),!1}},[jt,Aa,Ca,Je,Gt]),Fa=S(Ba),Ta=n(()=>{ie.endAndRun("paypal_authorization",e=>{It({result:"failed",durationMs:e,walletType:da})})},[It,da]),Wa=n(async e=>{if("approved"===e.paymentSessionState){await(Ue.crossBorderConfirmState.value?.modalPromise);try{if(!xe&&Ue.isShippingRequired.value&&!Pe(Je.value.countryCode,He.shippingCountries))return $e({shouldResetCustomerInfo:!0}),Je.value=K({countryCode:Gt.value?.countryCode,zoneCode:Gt.value?.zoneCode}),Gt.value=null,Kt.value={type:Q},void wa();if(ua)await rt({wallet:kt,reason:"paypalApproval",asPaymentMethod:xe});else if(ca){na.setIsDecelerating(!0);try{await et({runListenersOnError:!0,fieldsToResolve:["deliveryNext"],onComplete:e=>{"success"===e.status||"error"===e.status||"invalid"===e.status?oa():na.setIsDecelerating(!1)}})}catch(t){throw na.setIsDecelerating(!1),t}}else Ee?await Ze("paypal-payment-approved",e=>{ae({shop:He,checkout:Ue,paymentMethods:Vt.current})&&("rejected"===e.status||He.confirmationPageEnabled)&&"violations"in e&&e.violations?.some(e=>"BUYER_IDENTITY_MISSING_CONTACT_METHOD"!==e.code&&J.has(e.code))&&(Ge.log("paypal_payment_method_vaulted_state","[PayPalButton] Entering vaulted state in payment method flow due to billing address violations",{violations:e.violations}),Ge.counter({name:"paypal_payment_method_vaulted_state",value:1}),oa())},{skipToCompletion:it.value}):sa.value?(oa(),Et?.dispatch("addressReplaced")):await et({runListenersOnError:!0});xt(se.Success,da),ie.endAndRun("paypal_authorization",e=>{It({result:"success",durationMs:e,walletType:da})})}catch(t){va(t)}finally{Xt.value=!1,ya.value=!1,Ta()}}else Ta()},[Ta,ua,ca,sa,Ee,xt,da,na,et,rt,kt,Ze,it,xe,Vt,He,Ge,Et,va,It,Xt,ya,Ue,Je,Gt,$e,Kt,wa,oa]),Ma=S(Wa),Ra=n(async()=>{const a="venmo"===Fe,r=Xe.value,n=++$t.current;let o;Bt(),Ut.current=void 0;try{o=await(async({graphql:a,countryCode:r,email:n,venmoPayment:o,getNegotiationVariables:s,isPayWithPayPalFlow:i,observability:l,isBillingAgreement:u,isVaultWithPurchaseOrder:c})=>{const d=await s(),p=async e=>{const{data:t,error:s}=await a.staticQuery(Ae,{cache:!1,variables:e?{pendingTask:{taskId:e}}:{paypalTokenCreate:{merchandiseSource:{proposal:d},countryCode:r,email:n,venmoPayment:o,paymentMethodFlow:i,billingAgreement:u||c,isVaultWithPurchaseOrder:c}}});if(null!=s)throw g({code:"GENERIC_ERROR",unactionable:!0,error:s});if(null==t)throw g({code:"NO_DATA",unactionable:!1});return t};let m=0,y="";for(;;){const{paypalToken:a}=await p(y);switch(a.__typename){case"PaypalTokenCreationFailed":throw g({code:a.code,unactionable:!0});case"PaypalTokenCreationSuccess":return{token:a.token,...a.authAssertionContext&&{authAssertionContext:a.authAssertionContext}};case"PendingTask":if(y=a.taskId,m+=1,m>=5)throw g({code:"REACHED_MAX_POLLING",unactionable:!0});await t(a.pollDelay);break;default:e(a)}}function g({code:e,unactionable:t,error:a}){l.counter({name:"paypal_token_create_error",value:1,attributes:{code:e}}),l.log("paypal_api_create_paypal_token_failed","createPayPalToken failed",{attributes:{code:e}});const r=`createPayPalToken failed with code: ${e}${a?`, ${a.name}: ${a.message}`:""}`;return t?new Ce(r,{cause:a}):new Se(r,{cause:a})}})({graphql:Ye,countryCode:Ve,email:r,venmoPayment:a,getNegotiationVariables:()=>Ue.negotiator.getNegotiationInput(),isPayWithPayPalFlow:xe,observability:Ge,isBillingAgreement:St,isVaultWithPurchaseOrder:At}),n===$t.current&&(Ut.current=o.authAssertionContext?{orderId:o.token,value:o.authAssertionContext}:void 0)}catch(s){let e=!1;throw await et({silenceViolations:["non-stock"],runListenersOnError:!0,force:!0,onComplete:t=>{"success"!==t.status&&"error"!==t.status||(e=Z(t.violations))}}).catch(e=>{Ge.error(e)}),e&&(qt.current=!0),s}return xe||Ft(),Ht.value=!1,St?{billingToken:o.token}:{orderId:o.token}},[Fe,Xe,Bt,Ye,Ve,Ue.negotiator,xe,Ge,Ht,St,At,Ft,et]),Oa=S(Ra),Na=fe(),ja=(()=>{const{observability:e}=T();return n(({message:t,attributes:a={}})=>{e.log("sandbox_log_handled",t,a)},[e])})(),La=r(()=>({clicked:()=>Ea.current(),cancelled:()=>Ia.current(),createOrder:()=>Oa.current(),paymentFlowError:({errorMessage:e,errorName:t,errorUnactionable:a,stack:r})=>Ca.current({errorMessage:e,errorName:t,errorUnactionable:a,stack:r}),paymentApproved:e=>Fa.current(e),expandIFrame:Nt,telemetry:Na,logger:ja,onComplete:e=>Ma.current(e)}),[Ea,Ia,Oa,Ca,Fa,Nt,Na,ja,Ma]);l(()=>()=>{const e="venmo"===Fe?Qt.value.status:Jt.value.status;
1"error"!==e&&"not_eligible"!==e&&fa("not_rendered",Fe),"PAYPAL_EXPRESS"===na.activeSession.value?.wallet?na.clearActiveSession({invokingWallet:"PAYPAL_EXPRESS"}):Ge.leaveErrorBreadcrumb("[PayPalButton] cleanup: NOT resetting activeSession (not in PayPal context)",{activeSession:na.activeSession.value}),"paypal"===ia.value?ia.value="none":"none"!==ia.value&&Ge.leaveErrorBreadcrumb("[PayPalButton] cleanup: NOT resetting checkoutProtocolModalEventSignal - unexpected value",{currentValue:ia.value}),Ht.value=!1},[]);const za=sa.value?te.base.blockSize:te.large.blockSize,Va=r(()=>"venmo"===Fe?"VENMO":xe?"PAY_WITH_PAYPAL":"PAYPAL_EXPRESS",[Fe,xe]),Da=Mt.value&&!Ot.value;if(l(()=>{xe&&Tt.value&&Tt.value.call.updateStandardButtonState({disabled:Le,loading:Ht.value})},[xe,Le,Ht.value,Tt.value]),l(()=>{Da&&Ge.leaveErrorBreadcrumb("[PayPalButton] Showing PayPal scrim content",void 0,"log")},[Da,Ge]),!ut)return Ge.counter({name:"paypal_missing_client_token",value:1,attributes:{payWithPayPal:xe,fundingSource:Fe}}),null;const $a=xe&&Boolean(ze),Ua=s(be,{wallet:Va,onConnect:ba,onTerminate:()=>Tt.value=null,hostMethods:La,fillSlot:$a,height:xe?$a?"100%":`calc(${za} + 8px)`:void 0,isFullScreen:Ot.value,placeholder:Wt.value?s(Te,{config:Wt.value}):void 0,ref:Zt});return s(c,{children:[xe?s("div",{className:u("AhtQv",{[We]:$a}),style:{"--standard-button-focus-gutter":"4px"},children:Ua}):Ua,s(B,{isOpen:Mt,isInvisible:Ot,onClick:Rt,children:Da&&s(F,{walletName:pa,handleClose:Rt})})]})}export{Me as PayPalPaymentFlowError,Re as UnactionablePayPalPaymentFlowError,Le as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.