1import{U as It,V as Tt,g as rn,T as $e,q as S,e as se,A as le,u as H,h as ue,i as sn,S as ln}from"./2c1ab0fe.BqEHHmaW.js";import{fN as qe,fO as cn,dz as un,fP as Rt,ci as dn,fQ as pn,h as mn,e as fn,fR as gn,d as vn,ao as yn,f2 as hn,fA as An,fS as D,s as bn,cS as _n,fr as En,Y as Sn,bW as Pn,fT as Cn,fU as kn}from"./164ad2e3.BA-GikTU.js";import{O as q,Q as je,P as ee,a6 as wt,ca as In,fq as Bt,u as Tn,fr as Rn,fs as wn,ay as Bn,eX as Ln,da as f,ft as xn,bp as Mn,d6 as On,fu as Nn,fv as Dn,fw as Fn,fx as _t,fy as Vn,aT as Un,b1 as Wn,fz as zn,fA as Gn,cS as Yn,fB as Hn}from"./4c290a1e.FJVsH4yi.js";import{b as Et}from"./4ea44c06.B-5F-oiB.js";import{a as we}from"./65f3d4da.BdKZt11Z.js";import{S as te}from"./app.D2gvVyTR.js";import{b as Be,c as Le,a as qn,d as $n,e as Y}from"./ed9f2238.ChGZ5py3.js";import{f as pe,e as Xn,g as jn}from"./cb8fcd45.D99hrDC6.js";import{u as Lt,a as Kn}from"./bea9843a.Cd2v6kJc.js";import{d as Qn}from"./ca5e9c49.COugV1Xp.js";import{f as Jn}from"./e3e348f2.CzOvkbpO.js";import{S as de}from"./3a819064.Xmk2TvaB.js";import{u as Zn,W as ea}from"./8536083a.K1vafffH.js";import"./60a453ce.BClq-svk.js";import"./0a7dffce.BHf0S_6c.js";import"./bb728e1c.uhKc-SJ5.js";import"./f78726c8.D1GQbjRB.js";import"./ccdf3592.B7Ukng27.js";import"./e477f96c.CCUKKy0S.js";import"./ac5a19ff.BHoedVx2.js";function xt(t,a){return t?!!a?.some(e=>e.value===t):!1}class me extends te{constructor(){super(...arguments),this.name="PaypalExpressError"}}const ta={id:"adb798e617f80f912a3489ae4fddf2cd23943ab846448fe0ce07617a2c587cbb",type:"query",name:"PaypalDetails",source:""},na={id:"7721b62b97e359c797bda1224aa91b0808a50e27ac8036db558d8b2e4ea6607f",type:"query",name:"PaypalToken",source:""},Mt=5;class Ot extends te{constructor(){super(...arguments),this.name="PayPalAPIError"}}class Nt extends te{constructor(){super(...arguments),this.name="UnactionablePayPalAPIError",this.unactionable=!0}}const aa=async({graphql:t,countryCode:a,email:e,venmoPayment:n,getNegotiationVariables:d,isPayWithPayPalFlow:p,observability:s,isBillingAgreement:_,isVaultWithPurchaseOrder:l})=>{const g=await d(),v=async b=>{const{data:o,error:u}=await t.staticQuery(na,{cache:!1,variables:b?{pendingTask:{taskId:b}}:{paypalTokenCreate:{merchandiseSource:{proposal:g},countryCode:a,email:e,venmoPayment:n,paymentMethodFlow:p,billingAgreement:_||l,isVaultWithPurchaseOrder:l}}});if(u!=null)throw A({code:"GENERIC_ERROR",unactionable:!0,error:u});if(o==null)throw A({code:"NO_DATA",unactionable:!1});return o};let h=0,B="";do{const{paypalToken:b}=await v(B);switch(b.__typename){case"PaypalTokenCreationFailed":throw A({code:b.code,unactionable:!0});case"PaypalTokenCreationSuccess":return{token:b.token,...b.authAssertionContext&&{authAssertionContext:b.authAssertionContext}};case"PendingTask":{if(B=b.taskId,h+=1,h>=Mt)throw A({code:"REACHED_MAX_POLLING",unactionable:!0});await Tt(b.pollDelay);break}default:It(b)}}while(!0);function A({code:b,unactionable:o,error:u}){s.counter({name:"paypal_token_create_error",value:1,attributes:{code:b}}),s.log("paypal_api_create_paypal_token_failed","createPayPalToken failed",{attributes:{code:b}});const k=`createPayPalToken failed with code: ${b}${u?`, ${u.name}: ${u.message}`:""}`;return o?new Nt(k,{cause:u}):new Ot(k,{cause:u})}},oa=async({graphql:t,paypalToken:a,authAssertionContext:e,observability:n})=>{const d=async(l,g)=>{const{data:v,error:h}=await t.staticQuery(ta,{cache:!1,variables:g?{pendingTask:{taskId:g}}:{paypalDetailsInput:{token:l,authAssertionContext:e}}});if(h!=null)throw _({code:"GENERIC_ERROR",unactionable:!0,error:h});if(v==null)throw _({code:"NO_DATA",unactionable:!1});return v};let p=0,s="";do{const{paypalDetails:l}=await d(a,s);switch(l.__typename){case"PaypalDetailsFetchFailed":throw _({code:l.code,unactionable:!0});case"PaypalDetailsFetchSuccess":return l;case"PendingTask":{if(s=l.taskId,p+=1,p>=Mt)throw _({code:"REACHED_MAX_POLLING",unactionable:!0});await Tt(l.pollDelay);break}default:It(l)}}while(!0);function _({code:l,unactionable:g,error:v}){n.counter({name:"paypal_fetch_details_error",value:1,attributes:{code:l}}
1),n.log("paypal_api_fetch_paypal_details_failed","fetchPayPalDetails failed",{attributes:{code:l,errorName:v?.name,errorMessage:v?.message}});const h=`fetchPayPalDetails failed with code: ${l}${v?`, ${v.name}: ${v.message}`:""}`;return g?new Nt(h,{cause:v}):new Ot(h,{cause:v})}},ra=({isPayWithPayPalFlow:t=!1})=>{const{shop:a,checkout:e}=q(),{billingAddressOption:n}=je(),{buyerIdentity:d,paymentMethods:p}=ee();return rn(()=>d.value?.purchasingCompany||t?!1:!we({shop:a,checkout:e,paymentMethods:p.value})&&n.value==="shipping"?!0:!e.isShippingRequired.value)},sa=({isPayWithPayPalFlow:t=!1})=>{const{checkout:a}=q();return ee().buyerIdentity.value?.purchasingCompany||!a.isShippingRequired.value?!1:!t};function la({fundingSource:t,isVaultWithPurchaseOrder:a=!1,isLegacyBillingAgreementWithoutPurchase:e=!1,isPayWithPayPalFlow:n=!1,onSuccess:d,onError:p}){const s=ia({isPayWithPayPalFlow:n}),_=ca({fundingSource:t,isVaultWithPurchaseOrder:a,isPayWithPayPalFlow:n}),{inMemoryPayPalParts:{accountStatus:l},persistedPayPalSignal:g}=wt(),v=In().value?.currencyCode,{observability:h,graphql:{coreGraphql:B}}=q(),A=t==="paypal"?Be.PayPalV6:Be.Venmo,{trackAttempt:b}=Lt(A),o=ee().paymentMethods?.value;return async function(u){b({walletType:n?Le.PaymentMethod:Le.Express}),pe.start("paypal_authorization"),l.value={status:"loading"};try{const k=await oa({graphql:B,paypalToken:Bt(o)&&!a&&u.billingToken||u.orderId,authAssertionContext:u.authAssertionContext,observability:h}),I=s(k);if(!I)throw new me("PayPal returned invalid data");const W=k.remoteOrderId||u.orderId,L=W===u.orderId?u.authAssertionContext:void 0;_({address:I.address,email:I.email,payerId:u.payerId,orderId:W,expiresAt:I.expiresAt,billingAddress:I.billingAddress??void 0,payerApprovedAmount:I.payerApprovedAmount??void 0,currencyCode:v,authAssertionContext:L}),e&&k.remoteOrderId?.startsWith("B-")&&h.counter({name:"paypal_zero_due_billing_agreement_created",value:1}),g.value={isVenmo:t==="venmo",receiptIdForClearedToken:g.peek()?.receiptIdForClearedToken,billingAgreementStatus:I.billingAgreementStatus},l.value={status:"connected",email:I.email,token:W},d?.()}catch(k){throw p?.(k),k}}}function ia({isPayWithPayPalFlow:t}){const{observability:a}=q(),e=ee().buyerIdentity.value?.purchasingCompany;return function(d){const{prefillingDestinationAddress:p,email:s,expiresAt:_,billingAgreementStatus:l,prefillingBillingAddress:g,payerApprovedAmount:v}=d;return e?{email:s,expiresAt:_,billingAgreementStatus:l,payerApprovedAmount:v}:p==null&&!t?(a.error(new me("No address returned by PayPal"),{errorClass:qe.Api}),!1):p&&p.__typename!=="StreetAddress"&&p.__typename!=="InvalidWalletPrefillingAddress"?(a.error(new me(`Unsupported PayPal address type: ${p.__typename}`),{errorClass:qe.Api}),!1):g&&g.__typename!=="StreetAddress"&&g.__typename!=="InvalidWalletPrefillingAddress"?(a.error(new me(`Unsupported PayPal address type: ${g.__typename}`),{errorClass:qe.Api}),!1):{email:s,address:p,expiresAt:_,billingAddress:g,billingAgreementStatus:l,payerApprovedAmount:v}}}function ca({fundingSource:t,isVaultWithPurchaseOrder:a,isPayWithPayPalFlow:e}){const{checkout:n,observability:d,shop:p}=q(),{shippingCountries:s}=p,_=n.configuration.addressSettings.nonBillingAddressSettings.value,{email:l,paymentLines:g,shippingAddress:v,billingAddress:h,acceptPaymentVaulting:B}=je(),A=cn(),{value:b}=ee().contactInfo,o=ee().paymentMethods?.value,u=n.identity.current.value,k=un(),I=Rt("PAYPAL_EXPRESS"),W=ra({isPayWithPayPalFlow:e}),L=sa({isPayWithPayPalFlow:e}),{shouldGateCrossBorder:fe,crossBorderGate:ge}=qn(),ve=!we({shop:p,checkout:n,paymentMethods:o}),ie=A.value&&(!b?.email||!e);function $(F,y){const T=y.__typename==="InvalidWalletPrefillingAddress",X={...y,...Rn(y.extendedFields)},z={};for(const[V,xe]of Object.entries(X)){if(!(V in F.fields))continue;const Me=V==="line2"?"address2":V;T&&!_.isVisible(Me,{countryCode:y.countryCode??void 0})||Object.assign(z,{[V]:xe||void 0})}F.value=z}function ye(F){const y=F.countryCode;!!y&&!xt(y,s)?$(v,{__typename:"InvalidWalletPrefillingAddress",countryCode:y,validationErrors:[]}):$(v,F)}return function(y){if(ie&&(l.value=y.email),y.address){const z=y.address;if(L){const V=z.countryCode;fe(V)?(d.log("paypal_cross_border_gate","PayPal shipping country creates a cross-border split. Opening the consolidation modal before filling the shipping address.",{shippingCountryCode:V}),ge(()=>ye(z))):ye(z)}}y.billingAddress&&(u!=="payPal"||!k.value.billing)&&!ve?$(h,y.billingAddress):W.value&&y.address&&$(h,y.address);const T={method:{type:"wallet",name:"PAYPAL_EXPRESS",walletContent:{authAssertionContext:y.authAssertionContext,payerId:y.payerId,token:y.orderId,email:y.email,paymentMethodIdentifier:I.value?.paymentMethodIdentifier??"",expiresAt:y.expiresAt,merchantId:I.value?.merchantId,payerApprovedAmount:y.payerApprovedAmount,currencyCode:y.currencyCode,...a?{isVaultWithPurchaseOrder:a}:{},isVenmo:t==="venmo"}}},X=g.peek();g.value=Tn(X,T),e||(B.value=!1)}}function ua(){return{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"}}function da(){const{locale:t}=q().i18n;return $e(()=>{const a=ua(),e=a[t];
1if(e!==void 0)return e;const n=t.indexOf("-"),d=n===-1?t:t.slice(0,n);return a[d]||"en-US"},[t])}function pa(){return!!window.navigator.userAgent.match(/FBAN|FB_IAB|FBAV|Instagram/)}function ma(){const t=window.navigator.userAgent,a=!!t.match(/iPhone|iPad|iPod/),e=!!t.match(/\bSafari\/[\d.]+/);return!!t.match(/IABMV/i)&&(!a||e)}function fa(){return!!window.navigator.userAgent.match(/musical_ly|BytedanceWebview/)}function ga(){return!!window.navigator.userAgent.match(/\bGSA\/[\d.]+/)}function va(){return!!window.navigator.userAgent.match(/ShopifyCheckoutSDK|ShopifyCheckoutKit/)}function ya(){return!!window.popupBridge}function ha(){return wn()||fa()||ga()||va()||ya()?!1:pa()?ma():!Bn()}const Aa=()=>{const{observability:t}=q();return S(({message:a,attributes:e={}})=>{t.log("sandbox_log_handled",a,e)},[t])},Xe="disable-view-transitions-for-wallet-pci";function ba(){if(document.getElementById(Xe))return;const t=document.createElement("style");t.setAttribute("id",Xe),t.textContent=` 2 * { 3 view-transition-name: none !important; 4 } 5 `,document.head.appendChild(t)}function _a(){document.getElementById(Xe)?.remove()}function Ea({onExpand:t,onCollapse:a}={}){const e=se(!1),n=le({onExpand:t,onCollapse:a});n.current={onExpand:t,onCollapse:a};const d=S(()=>{ba(),e.value=!0,n.current.onExpand?.()},[e]),p=S(()=>{e.value&&(n.current.onCollapse?.(),_a(),e.value=!1)},[e]);return{isFullScreen:e,expandIFrame:d,collapseIFrame:p}}const Sa="3px",Pa="0px",St=4,Pt={display:"flex","align-items":"center","justify-content":"center",width:"100%",height:"100%"},Ca={display:"block","inline-size":"100%","block-size":"100%"};function ka(t){return{"background-color":t.backgroundColor,color:t.textColor,border:"none","box-shadow":`inset 0 0 0 ${t.borderWidth} ${t.borderColor}`,"border-radius":t.borderRadius,padding:`${t.blockPadding} ${t.inlinePadding}`,"font-family":t.fontFamily,"font-size":t.fontSize,"font-weight":t.fontWeight,"line-height":t.lineHeight??"","letter-spacing":t.letterSpacing,"text-transform":t.textTransform}}function Ia(t){return{display:"flex","align-items":"center","justify-content":"center","inline-size":t?.logoWidth??"","block-size":t?.logoHeight??""}}function Ta(t,a){const e=a.startsWith("var(")?a.slice(4,-1):a,n=e.indexOf(","),d=(n===-1?e:e.slice(0,n)).trim();return getComputedStyle(t).getPropertyValue(d).trim()}function Ra(){const t=[];for(const a of document.styleSheets)try{for(const e of a.cssRules)e.cssText.startsWith("@font-face")&&t.push(e.cssText)}catch{}return t}function wa({label:t,disabled:a,loading:e,size:n,scopeElement:d,sizingElement:p}){const s=(...h)=>{for(const B of h){const A=Ta(d,B);if(A)return A.endsWith("rem")?`${Ln(A)}px`:A}return""},_=getComputedStyle(d),l=p?getComputedStyle(p):null,g=s(f.color.default.primaryButton.hover.background),v=g?{backgroundColor:g,textColor:s(f.color.default.primaryButton.hover.text),borderColor:s(f.color.default.primaryButton.hover.border)}:void 0;return{label:t,disabled:a,loading:e,size:n,fontFaces:Ra(),buttonStyle:{backgroundColor:s(f.color.default.primaryButton.background),backgroundColorDisabled:s(f.color.default.primaryButton.backgroundSubdued),textColor:s(f.color.default.primaryButton.text),borderColor:s(f.color.default.primaryButton.border),borderWidth:s(f.button.primary.borderWidth),borderRadius:s(f.button.primary.borderRadius,f.global.borderRadius,f.borderRadius.base),blockPadding:l?.paddingBlockStart??s(f.button.primary.blockPadding),inlinePadding:l?.paddingInlineStart??s(f.button.primary.inlinePadding),fontFamily:l?.fontFamily??(s(f.button.primary.fontFamily)||_.fontFamily),fontSize:l?.fontSize??(s(f.button.primary.fontSize,f.fontSize.medium)||_.fontSize),fontWeight:l?.fontWeight??s(f.button.primary.fontWeight,f.typography.primary.fontWeight.bold),lineHeight:l?.lineHeight,letterSpacing:l?.letterSpacing??s(f.button.primary.letterSpacing,f.global.letterSpacing),textTransform:l?.textTransform??(s(f.button.primary.textTransform)||_.textTransform),opacityDisabled:s(f.opacity.disabled),hover:v,focusRing:{width:s(f.ring.width)||Sa,offset:s(f.ring.offset)||Pa,color:s(f.ring.color,f.color.default.accent)}}}}function Ba(t){const a=document.createElement("span");if(a.classList.add("standard-wallet-button-content"),!t.content?.hideLabel){const e=document.createElement("span");e.classList.add("standard-wallet-button-label"),e.textContent=t.label,a.appendChild(e)}if(t.content?.logoSvg){const e=document.createElement("span");e.classList.add("standard-wallet-button-logo"),e.setAttribute("aria-hidden","true");const n=new DOMParser().parseFromString(t.content.logoSvg,"image/svg+xml").documentElement;n.namespaceURI==="http://www.w3.org/2000/svg"&&(n.setAttribute("focusable","false"),e.appendChild(document.importNode(n,!0))),a.appendChild(e)}return a}function Te(t,a){for(const[e,n]of Object.entries(a))n&&t.style.setProperty(e,n)}function La(t,a){Te(t,{...Pt,"box-sizing":"border-box",...ka(a.buttonStyle)});const e=t.querySelector(".standard-wallet-button-content");e&&Te(e,Pt);const n=t.querySelector(".standard-wallet-button-logo");n&&Te(n,Ia(a.content));const d=n?.querySelector("svg");d&&Te(d,Ca)}const xa="GJTW5",Ma={gutter:xa};function Oa({config:t}){const a=S(e=>{e&&(e.replaceChildren(Ba(t)),La(e,t))},[t]);return H("div",{className:Ma.gutter,"aria-hidden":"true",children:H("div",{ref:a})})}const Na="PAYPAL_EXPRESS",Da="PAY_WITH_PAYPAL",Fa="VENMO",Va={BILLING_AGREEMENT:"TOKENIZE"},Ua="MlVcW",Wa="AhtQv",Ct={StandardButtonOverlay:Ua,standardButtonWrapper:Wa};class za extends te{constructor(){super(...arguments),this.name="PayPalPaymentFlowError"}}class Ga extends te{constructor(){super(...arguments),this.name="UnactionablePayPalPaymentFlowError",this.unactionable=!0}}const Ya=new Set(Hn),Re="PAYPAL_EXPRESS",kt="VENMO";function po({buttonLabel:t="paypal",progressToNextPage:a=!1,isPayWithPayPalFlow:e=!1,fundingSource:n="paypal",isDisabled:d=!1,sizingButtonRef:p}){const s=dn().geolocation.country.code,_=da(),{email:l,billingAddressOption:g,acceptPaymentVaulting:v,shippingAddress:h}=je(),B=pn(),{checkout:A,i18n:b,observability:o,shop:u,graphql:{coreGraphql:k}}=q(),I=xn(),{progress:W,negotiate:L}=mn(),fe=fn(),ge=gn(),ve=Kn({flag:_t,onError:c=>{throw c}}),{markAsLoaded:ie}=Qn(),$=ee().paymentMethods?.value,ye=vn().value,F=Jn(),T=Rt(n==="venmo"?kt:Re).value,X=T?.clientToken,z=T?.paymentIntent,V=Mn(),xe=On(),Me=Bt($),Dt=T?.name===Re&&T.gatewayType==="CONNECTED",Ft=T?.name===Re&&T.gatewayType==="MANAGED",Oe=z===Va.BILLING_AGREEMENT||e&&ye&&v.value&&Me,Vt=u.hasFlagEnabled(Nn),Ut=u.hasFlagEnabled(Dn),Wt=u.hasFlagEnabled(Fn),Ke=Dt&&Vt||Ft&&Ut,Qe=(V.value?.amount??0)>0&&(Wt?(xe.value?.amount??0)>0:!0),zt=n==="paypal"&&Oe&&!Qe&&Ke,he=n==="paypal"&&Oe&&Qe&&Ke,w=Oe&&!he,P=n==="paypal"?Be.PayPalV6:Be.Venmo,Ae=n==="venmo"?kt:Re,Je=yn(),Ne=$n(P),{trackComplete:ne}=Lt(P),Ze=hn(P),et=An(P),x=se(null),be=se(null),{isScrimOpen:G,closePopupWindowsAndScrim:tt}=Xn({endpoint:x,invokingWallet:"PAYPAL_EXPRESS"}),{isFullScreen:De,expandIFrame:nt,collapseIFrame:_e}=Ea({onCollapse:()=>x.value?.call.cleanup()}),at=D(d),M=D(Ne),Ee=D($),ot=le(w),rt=le(0),Se=le(),Fe=le(!1),ae=se(null),{inMemoryPayPalParts:{isLoadingPaymentSheet:O,accountStatus:Pe,isApproving:Ce,paymentSheetError:st},inMemoryVenmoParts:{buttonStatus:Ve}}
5=wt(),Ue=bn({isPayWithPayPalButton:e}),We=le(null),lt=_n(),it=En(),Gt=u.hasFlagEnabled(_t),Yt=u.hasFlagEnabled(Vn),{wallets:C}=A,ke=S(()=>{C.setEscalatedWallet(Ae),fe.value.currentPage?.id==="review"&&ge("payment-methods",{replace:!0})},[Ae,fe,ge,C]),j=A.configuration.layout.isOnePage,{checkoutProtocolModalEventSignal:oe}=Un(),Ht=A.extensibility.ui.hasAtRiskPlacement.value,ct=Gt&&!Ht&&!j.value&&!e,ut=j.value&&Yt&&!a,R=e?Le.PaymentMethod:Le.Express,qt=n==="venmo"?b.translate("brand.venmo"):b.translate("brand.paypal"),dt=b.translate("general.pay_now_button_label"),Ie=se(!1);Sn({active:Ce.value&&Ie.value&&e});const pt=Pn(),re=se(!1);ue(()=>{!G.value&&re.value&&(pt(),re.value=!1)},[G.value,pt,re.value,re]);const ce=S(c=>{pe.exists("paypal_authorization")?ne({result:"failed",durationMs:pe.end("paypal_authorization"),walletType:R}):o.counter({name:"wallet_sheet_failed",value:1,attributes:{instrument:P}}),M.current(Y.Failure,R),o.error(c),Pe.value={status:"error"}},[M,Pe,o,P,ne,R]),K=S((c,r)=>{r==="venmo"?Ve.value={status:c}:Ue.value={status:c}},[Ve,Ue]),$t=S(async c=>{const r=We.current,i=jn(r),E=e&&r?wa({label:dt,disabled:d,loading:O.value,size:j.value?"base":"large",scopeElement:r,sizingElement:p?.current}):void 0;if(be.value=E??null,n==="venmo"&&w){K("not_eligible",n),ie();return}x.value=c;const N=ha(),m=await c.call.configure({clientToken:X,locale:_,fundingSource:n,isBillingAgreement:w,buttonLabel:t,isPayWithPayPal:e,browserSupportsPopupFlow:N,style:{borderRadius:i},sandboxTestMode:T?.sandboxTestMode??!1,useStandardButton:e,standardButtonConfig:E});ie(),m.status===de.Success?(K("rendered",n),o.counter({name:"checkout_wallet_button_rendered",value:1,attributes:{wallet_name:P,status:"success",isPaymentMethodFlow:e}})):(m.status===de.ScriptLoadError&&(o.log("paypal_button_script_load_failed","[PayPalButton] script load error",{errorMessage:m.message}),o.counter({name:"checkout_wallet_button_rendered",value:1,attributes:{wallet_name:P,status:"error",reason:"script_load_error",isPaymentMethodFlow:e}})),m.status===de.Error&&(o.leaveErrorBreadcrumb("[PayPalButton] sandbox error",{message:m.message,type:m.type,errorLocation:m.errorLocation}),o.error(new me(m.message,{groupingHash:"PayPalExpressError::SandboxError"})),o.counter({name:"checkout_wallet_button_rendered",value:1,attributes:{wallet_name:P,status:"error",reason:"sandbox_error",isPaymentMethodFlow:e}})),m.status===de.UnsupportedBrowser&&o.counter({name:"paypal_unsupported_browser",value:1,attributes:{payWithPayPal:e,fundingSource:n,reason:"unsupported_browser"}}),M.current(Y.Failure),Pe.value={status:"error"},K("error",n))},[n,x,be,X,_,w,t,e,T?.sandboxTestMode,ie,K,M,Pe,o,P,dt,p,d,O,j]);ue(()=>{(async()=>{if(ot.current!==w&&x.value){if(ot.current=w,n==="venmo"&&w){K("not_eligible",n);return}const r=await x.value.call.setBillingAgreementRequirement(w);o.counter({name:"checkout_wallet_button_rendered",value:1,attributes:{wallet_name:P,isPaymentMethodFlow:e,billingAgreementUpdate:!0,status:r.status===de.Success?"success":"error"}})}})()},[w,n,x,e,P,o,K]);const Q=S(c=>{G.value=c,(c||C.activeSession.value?.wallet==="PAYPAL_EXPRESS")&&(c?C.setActiveSession({newValue:"PAYPAL_EXPRESS",asPaymentMethod:e}):C.clearActiveSession({invokingWallet:"PAYPAL_EXPRESS"})),e||(oe.value=c?"paypal":"none"),c||_e()},[oe,G,_e,e,C]),U=S(()=>{Q(!1),O.value=!1},[Q,O]),Xt=la({fundingSource:n,isVaultWithPurchaseOrder:he,isLegacyBillingAgreementWithoutPurchase:zt,isPayWithPayPalFlow:e,onSuccess:async()=>{Ce.value=!0,Ie.value=!0,M.current(Y.Success,R),o.counter({name:"paypal_approved",value:1,attributes:{payWithPayPal:e,fundingSource:n}}),Q(!1)}}),ze=D(Xt),jt=S(({errorUnactionable:c,errorMessage:r,errorName:i,stack:E})=>{if(o.leaveErrorBreadcrumb("[PayPalButton] paymentFlowError",{errorMessage:r,stack:E}),U(),Fe.current){o.leaveErrorBreadcrumb("[PayPalButton] paymentFlowError suppressed after stock re-negotiation",{errorMessage:r});return}const N=`${i?`${i}: `:""}${r}`;if(c||i?.includes("Unactionable")){const m=new Ga(N);m.stack=E,ce(m)}else{const m=new za(N,{groupingHash:"PayPalPaymentFlowError::UnexpectedError"});
5m.stack=E,ce(m)}},[U,ce,o]),J=D(jt),Kt=S(async()=>{if(it(We),Fe.current=!1,at.current||C.activeSession.value)return Q(!1),!1;if(O.value=!0,M.current(Y.Clicked,R),o.counter({name:"wallet_sheet_clicked",value:1,attributes:{instrument:P}}),G.value=!0,!e){M.current(Y.Initialized,R),Q(!0);return}const r=we({shop:u,checkout:A,paymentMethods:Ee.current});try{const i=await new Promise((m,Z)=>{L({runListenersOnError:!0,negotiationStage:"completion",include:!r&&g.value==="custom"?["billingAddress"]:[],onComplete:m}).catch(Z)}),E=()=>{M.current(Y.Initialized,R),lt.current?Q(!0):o.leaveErrorBreadcrumb("PayPalButton: Skipping setModalScrimOpen - component unmounted")},N=i.status==="error"&&i.violations.length>0&&i.violations.every(({code:m})=>Ya.has(m));return i.status==="success"?(E(),!0):N?(o.counter({name:"paypal_silenced_violations_requiring_new_token",value:1}),o.log("paypal_silenced_violations","PayPalButton: silenced violations",{violations:i.violations}),E(),!0):(U(),re.value=!0,o.log("paypal_button_popup_closed_negotiation_errors","PayPalButton: closing popup because of negotiation errors",{result:{status:i.status,...i.status==="error"&&{errorCodes:i.errors.map(({code:m})=>m),violationCodes:i.violations.map(({code:m})=>m)}}}),!1)}catch(i){return U(),J.current({errorMessage:`negotiation threw unexpectedly when validating guest checkout for PayPal: ${i instanceof Error?`[${i.name}] ${i.message}`:i?.toString()}`,errorName:i instanceof Error?i.name:void 0,errorUnactionable:i instanceof te&&i.isUnactionable()}),!1}},[it,at,O,M,R,G,e,u,A,Q,U,L,Ee,g,o,P,J,lt,re,C]),mt=D(Kt),Qt=S(()=>{U(),M.current(Y.Cancelled),o.counter({name:"wallet_sheet_cancelled",value:1,attributes:{instrument:P}})},[U,M,o,P]),ft=D(Qt),Jt=S(async c=>{_e();try{if(ze.current){ae.value={countryCode:h.value.countryCode,zoneCode:h.value.zoneCode};const r=Se.current?.orderId===c.orderId?Se.current.value:void 0;return await ze.current({...c,...r&&{authAssertionContext:r}}),!0}else return J.current({errorMessage:"onApproveRef is not set",errorName:void 0,errorUnactionable:!1}),!1}catch(r){const i=r;return J.current({errorMessage:`onApprove handler failed: ${String(i)}`,stack:i?.stack,errorName:i?.name,errorUnactionable:i instanceof te&&i.isUnactionable()}),!1}},[_e,ze,J,h,ae]),gt=D(Jt),Ge=S(()=>{pe.endAndRun("paypal_authorization",c=>{ne({result:"failed",durationMs:c,walletType:R})})},[ne,R]),Zt=S(async c=>{if(c.paymentSessionState!=="approved"){Ge();return}await A.crossBorderConfirmState.value?.modalPromise;try{if(!e&&A.isShippingRequired.value&&!xt(h.value.countryCode,u.shippingCountries)){B({shouldResetCustomerInfo:!0}),h.value=Wn({countryCode:ae.value?.countryCode,zoneCode:ae.value?.zoneCode}),ae.value=null,st.value={type:zn},U();return}if(ct)await ve({wallet:Ae,reason:"paypalApproval",asPaymentMethod:e});else if(ut){C.setIsDecelerating(!0);try{await L({runListenersOnError:!0,fieldsToResolve:["deliveryNext"],onComplete:r=>{if(r.status!=="success"&&r.status!=="error"&&r.status!=="invalid"){C.setIsDecelerating(!1);return}ke()}})}catch(r){throw C.setIsDecelerating(!1),r}}else a?await W("paypal-payment-approved",r=>{if(!(we({shop:u,checkout:A,paymentMethods:Ee.current})&&(r.status==="rejected"||u.confirmationPageEnabled)))return;"violations"in r&&r.violations?.some(E=>E.code!=="BUYER_IDENTITY_MISSING_CONTACT_METHOD"&&Gn.has(E.code))&&(o.log("paypal_payment_method_vaulted_state","[PayPalButton] Entering vaulted state in payment method flow due to billing address violations",{violations:r.violations}),o.counter({name:"paypal_payment_method_vaulted_state",value:1}),ke())},{skipToCompletion:F.value}):j.value?(ke(),Je?.dispatch("addressReplaced")):await L({runListenersOnError:!0});Ne(Y.Success,R),pe.endAndRun("paypal_authorization",r=>{ne({result:"success",durationMs:r,walletType:R})})}catch(r){ce(r)}finally{Ce.value=!1,Ie.value=!1,Ge()}},[Ge,ct,ut,j,a,Ne,R,C,L,ve,Ae,W,F,e,Ee,u,o,Je,ce,ne,Ce,Ie,A,h,ae,B,st,U,ke]),vt=D(Zt),en=S(async()=>{const c=n==="venmo",r=l.value,i=++rt.current;Ze();let E;Se.current=void 0;try{E=await aa({graphql:k,countryCode:s,email:r,venmoPayment:c,getNegotiationVariables:I,isPayWithPayPalFlow:e,observability:o,isBillingAgreement:w,isVaultWithPurchaseOrder:he}),i===rt.current&&(Se.current=E.authAssertionContext?{orderId:E.token,value:E.authAssertionContext}:void 0)}catch(N){let m=!1;throw await L({silenceViolations:["non-stock"],runListenersOnError:!0,force:!0,onComplete:Z=>{(Z.status==="success"||Z.status==="error")&&(m=Yn(Z.violations))}}).catch(Z=>{o.error(Z)}),m&&(Fe.current=!0),N}return e||et(),O.value=!1,w?{billingToken:E.token}:{orderId:E.token}},[n,l,Ze,k,s,I,e,o,O,w,he,et,L]),yt=D(en),ht=Zn(),At=Aa(),tn=$e(()=>({clicked:()=>mt.current(),cancelled:()=>ft.current(),createOrder:()=>yt.current(),paymentFlowError:({errorMessage:r,errorName:i,errorUnactionable:E,stack:N})=>J.current({errorMessage:r,errorName:i,errorUnactionable:E,stack:N}),paymentApproved:r=>gt.current(r),expandIFrame:nt,telemetry:ht,logger:At,onComplete:r=>vt.current(r)}),[mt,ft,yt,J,gt,nt,ht,At,vt]);ue(()=>()=>{const c=n==="venmo"?Ve.value.status:Ue.value.status;c!=="error"&&c!=="not_eligible"&&K("not_rendered",n),C.activeSession.value?.wallet==="PAYPAL_EXPRESS"?C.clearActiveSession({invokingWallet:"PAYPAL_EXPRESS"}):o.leaveErrorBreadcrumb("[PayPalButton] cleanup: NOT resetting activeSession (not in PayPal context)",{activeSession:C.activeSession.value}),oe.value==="paypal"?oe.value="none":oe.value!=="none"&&o.leaveErrorBreadcrumb("[PayPalButton] cleanup: NOT resetting checkoutProtocolModalEventSignal - unexpected value",{currentValue:oe.value}),O.value=!1},[]);const nn=j.value?Et.base.blockSize:Et.large.blockSize,an=$e(()=>n==="venmo"?Fa:e?Da:Na,[n,e]),Ye=G.value&&!De.value;if(ue(()=>{e&&x.value&&x.value.call.updateStandardButtonState({disabled:d,loading:O.value})},[e,d,O.value,x.value]),ue(()=>{Ye&&o.leaveErrorBreadcrumb("[PayPalButton] Showing PayPal scrim content",void 0,"log")},[Ye,o]),!X)return o.counter({name:"paypal_missing_client_token",value:1,attributes:{payWithPayPal:e,fundingSource:n}}),null;const He=e&&!!p,on=He?"100%":`calc(${nn} + ${St*2}px)`,bt=H(ea,{wallet:an,onConnect:$t,onTerminate:()=>x.value=null,hostMethods:tn,fillSlot:He,height:e?on:void 0,isFullScreen:De.value,placeholder:be.value?H(Oa,{config:be.value}):void 0,ref:We});return H(ln,{children:[e?H("div",{className:sn(Ct.standardButtonWrapper,{[Ct.StandardButtonOverlay]:He}),style:{"--standard-button-focus-gutter":`${St}px`},children:bt}):bt,H(Cn,{isOpen:G,isInvisible:De,onClick:tt,children:Ye&&H(kn,{walletName:qt,handleClose:tt})})]})}export{za as PayPalPaymentFlowError,Ga as UnactionablePayPalPaymentFlowError,po 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.