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.B2yRRyAW.js";import{fI as d,fJ as p,dR as m,fK as y,cB as g,fL as h,v,k as b,fM as f,R as P,aI as _,f9 as w,fx as A,g as S,a5 as k,d4 as C,fq as E,al as x,ch as I,fN as B,fO as T}from"./164ad2e3.-hfWY9cN.js";import{c as W,a6 as F,ad as R,e_ as M,cV as O,e$ as N,f0 as L,ap as j,n as z,f1 as V,d2 as D,aO as $,d0 as U,f2 as q,f3 as Y,f4 as G,f5 as H,f6 as X,aT as K,f7 as J,f8 as Q,h as Z,f9 as ee}from"./4b4bc88f.JFrEI7LU.js";import{c as te}from"./e129c76e.D6dvxVQ1.js";import{i as ae}from"./9dba8418.BqWu-Ch9.js";import{S as re}from"./app.C_W8kcQ4.js";import{a as ne,b as oe,c as se}from"./78ab3dd0.CxYXHIAF.js";import{b as ie,c as le}from"./d02f7b10.Cd_3Y8qg.js";import{a as ue,b as ce}from"./ed9f2238.DoGJCDiA.js";import{u as de,a as pe,g as me}from"./33464469.rqhlJd2Z.js";import{c as ye}from"./71ae3d5c.BTocP6cf.js";import{f as ge}from"./e3e348f2.CUB8gYam.js";import{S as he}from"./ee2bb050.C2oice07.js";import{u as ve,g as be}from"./cb8fcd45.C9-AT65l.js";import{u as fe,W as Pe}from"./8536083a.C5C5qnTL.js";import"./d0bb51ec.CiN57OqX.js";import"./f67abd2c.Boj0gJpa.js";import"./60a453ce.aSs2kW8G.js";import"./e12db40c.ZpKYxNRe.js";import"./ccdf3592.8u-hHDlt.js";import"./d4ea2faa.BWUhdW6Q.js";import"./fe885b80.D8CKOxv4.js";import"./f78726c8.90HJ76iF.js";import"./17e57de1.d8zWzF56.js";import"./ca3e798e.j1SNghYW.js";import"./c6c0cbda.AqWWc50G.js";function _e(e,t){return!!e&&Boolean(t?.some(t=>t.value===e))}class we extends re{constructor(){super(...arguments),this.name="PaypalExpressError"}}const Ae={id:"adb798e617f80f912a3489ae4fddf2cd23943ab846448fe0ce07617a2c587cbb",type:"query",name:"PaypalDetails",source:""},Se={id:"7721b62b97e359c797bda1224aa91b0808a50e27ac8036db558d8b2e4ea6607f",type:"query",name:"PaypalToken",source:""};class ke extends re{constructor(){super(...arguments),this.name="PayPalAPIError"}}class Ce extends re{constructor(){super(...arguments),this.name="UnactionablePayPalAPIError",this.unactionable=!0}}const Ee="disable-view-transitions-for-wallet-pci";const xe={display:"flex","align-items":"center","justify-content":"center",width:"100%",height:"100%"},Ie={display:"block","inline-size":"100%","block-size":"100%"};function Be(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 Te(){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 We(e,t){for(const[a,r]of Object.entries(t))r&&e.style.setProperty(a,r)}function Fe({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;We(e,{...xe,"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&&We(r,xe);const n=e.querySelector(".standard-wallet-button-logo");n&&We(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&&We(o,Ie)}(t,e))},[e]);return s("div",{className:"GJTW5","aria-hidden":"true",children:s("div",{ref:t})})}class Re extends re{constructor(){super(...arguments),this.name="PayPalPaymentFlowError"}}class Me extends re{constructor(){super(...arguments),this.name="UnactionablePayPalPaymentFlowError",this.unactionable=!0}}const Oe=new Set(ee),Ne="PAYPAL_EXPRESS",Le="VENMO";function je({buttonLabel:ee="paypal",progressToNextPage:xe=!1,isPayWithPayPalFlow:Ie=!1,fundingSource:We="paypal",isDisabled:je=!1,sizingButtonRef:ze}){const Ve=g().geolocation.country.code,De=function(){const{locale:e}=W().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:Ye,shop:Ge,graphql:{coreGraphql:He}}=W(),{email:Xe,billingAddressOption:Ke,acceptPaymentVaulting:Je,shippingAddress:Qe}=Ue.negotiator.parts,{progress:Ze,negotiate:et}=v(),tt=b(),at=f(),rt=pe({flag:H,onError:e=>{throw e}}),{markAsLoaded:nt}=ye(),ot=Ue.negotiator.current.fields.paymentMethods?.value,st=P().value,it=ge(),lt=y("venmo"===We?Le:Ne).value,ut=lt?.clientToken,ct=lt?.paymentIntent,dt=$(),pt=U(),mt=M(ot),yt=lt?.name===Ne&&"CONNECTED"===lt.gatewayType,gt=lt?.name===Ne&&"MANAGED"===lt.gatewayType,ht="TOKENIZE"===ct||Ie&&st&&Je.value&&mt,vt=Ge.hasFlagEnabled(q),bt=Ge.hasFlagEnabled(Y),ft=Ge.hasFlagEnabled(G),Pt=yt&&vt||gt&&bt,_t=(dt.value?.amount??0)>0&&(!ft||(pt.value?.amount??0)>0),wt="paypal"===We&&ht&&!_t&&Pt,At="paypal"===We&&ht&&_t&&Pt,St=ht&&!At,kt="paypal"===We?ne.PayPalV6:ne.Venmo,Ct="venmo"===We?Le:Ne,Et=_(),xt=ce(kt),{trackComplete:It}=de(kt),Bt=w(kt),Tt=A(kt),Wt=o(null),Ft=o(null),{isScrimOpen:Rt,closePopupWindowsAndScrim:Mt}=ve({endpoint:Wt,invokingWallet:"PAYPAL_EXPRESS"}),{isFullScreen:Ot,expandIFrame:Nt,collapseIFrame:Lt}=function({onExpand:e,onCollapse:t}={}){const a=o(!1),r=z({onExpand:e,onCollapse:t}),s=n(()=>{!function(){if(document.getElementById(Ee))return;const e=document.createElement("style");e.setAttribute("id",Ee),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(Ee)?.remove(),a.value=!1)},[r,a]);return{isFullScreen:a,expandIFrame:s,collapseIFrame:i}}({onCollapse:()=>Wt.value?.call.cleanup()}),jt=S(je),zt=S(xt),Vt=S(ot),Dt=i(St),$t=i(0),Ut=i(),qt=i(!1),Yt=o(null),{inMemoryPayPalParts:{isLoadingPaymentSheet:Gt,accountStatus:Ht,isApproving:Xt,paymentSheetError:Kt},inMemoryVenmoParts:{buttonStatus:Jt}}
1=F(),Qt=k({isPayWithPayPalButton:Ie}),Zt=i(null),ea=C(),ta=E(),aa=Ge.hasFlagEnabled(H),ra=Ge.hasFlagEnabled(X),{wallets:na}=Ue,oa=n(()=>{na.setEscalatedWallet(Ct),"review"===tt.value.currentPage?.id&&at("payment-methods",{replace:!0})},[Ct,tt,at,na]),sa=Ue.configuration.layout.isOnePage,{checkoutProtocolModalEventSignal:ia}=Ue.negotiator.context,la=Ue.extensibility.ui.hasAtRiskPlacement.value,ua=aa&&!la&&!sa.value&&!Ie,ca=sa.value&&ra&&!xe,da=Ie?oe.PaymentMethod:oe.Express,pa="venmo"===We?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&&Ie});const ga=I(),ha=o(!1);l(()=>{!Rt.value&&ha.value&&(ga(),ha.value=!1)},[Rt.value,ga,ha.value,ha]);const va=n(e=>{ie.exists("paypal_authorization")?It({result:"failed",durationMs:ie.end("paypal_authorization"),walletType:da}):Ye.counter({name:"wallet_sheet_failed",value:1,attributes:{instrument:kt}}),zt.current(se.Failure,da),Ye.error(e),Ht.value={status:"error"}},[zt,Ht,Ye,kt,It,da]),ba=n((e,t)=>{"venmo"===t?Jt.value={status:e}:Qt.value={status:e}},[Jt,Qt]),fa=n(async e=>{const t=Zt.current,a=be(t),r=Ie&&t?function({label:e,disabled:t,loading:a,size:r,scopeElement:n,sizingElement:o}){const s=(...e)=>{for(const t of e){const e=Be(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:Te(),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:je,loading:Gt.value,size:sa.value?"base":"large",scopeElement:t,sizingElement:ze?.current}):void 0;if(Ft.value=r??null,"venmo"===We&&St)return ba("not_eligible",We),void nt();Wt.value=e;const n=!(L()||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)}():!j()),o=await e.call.configure({clientToken:ut,locale:De,fundingSource:We,isBillingAgreement:St,buttonLabel:ee,isPayWithPayPal:Ie,browserSupportsPopupFlow:n,style:{borderRadius:a},sandboxTestMode:lt?.sandboxTestMode??!1,useStandardButton:Ie,standardButtonConfig:r});nt(),o.status===he.Success?(ba("rendered",We),Ye.counter({name:"checkout_wallet_button_rendered",value:1,attributes:{wallet_name:kt,status:"success",isPaymentMethodFlow:Ie}})):(o.status===he.ScriptLoadError&&(Ye.log("paypal_button_script_load_failed","[PayPalButton] script load error",{errorMessage:o.message}),Ye.counter({name:"checkout_wallet_button_rendered",value:1,attributes:{wallet_name:kt,status:"error",reason:"script_load_error",isPaymentMethodFlow:Ie}})),o.status===he.Error&&(Ye.leaveErrorBreadcrumb("[PayPalButton] sandbox error",{message:o.message,type:o.type,errorLocation:o.errorLocation}),Ye.error(new we(o.message,{groupingHash:"PayPalExpressError::SandboxError"})),Ye.counter({name:"checkout_wallet_button_rendered",value:1,attributes:{wallet_name:kt,status:"error",reason:"sandbox_error",isPaymentMethodFlow:Ie}})),o.status===he.UnsupportedBrowser&&Ye.counter({name:"paypal_unsupported_browser",value:1,attributes:{payWithPayPal:Ie,fundingSource:We,reason:"unsupported_browser"}}),zt.current(se.Failure),Ht.value={status:"error"},ba("error",We))},[We,Wt,Ft,ut,De,St,ee,Ie,lt?.sandboxTestMode,nt,ba,zt,Ht,Ye,kt,ma,ze,je,Gt,sa]);l(()=>{(async()=>
1{if(Dt.current!==St&&Wt.value){if(Dt.current=St,"venmo"===We&&St)return void ba("not_eligible",We);const e=await Wt.value.call.setBillingAgreementRequirement(St);Ye.counter({name:"checkout_wallet_button_rendered",value:1,attributes:{wallet_name:kt,isPaymentMethodFlow:Ie,billingAgreementUpdate:!0,status:e.status===he.Success?"success":"error"}})}})()},[St,We,Wt,Ie,kt,Ye,ba]);const Pa=n(e=>{Rt.value=e,(e||"PAYPAL_EXPRESS"===na.activeSession.value?.wallet)&&(e?na.setActiveSession({newValue:"PAYPAL_EXPRESS",asPaymentMethod:Ie}):na.clearActiveSession({invokingWallet:"PAYPAL_EXPRESS"})),Ie||(ia.value=e?"paypal":"none"),e||Lt()},[ia,Rt,Lt,Ie,na]),_a=n(()=>{Pa(!1),Gt.value=!1},[Pa,Gt]),wa=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}}=W(),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}=W(),{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:b}=n.negotiator.current.fields.contactInfo,f=n.negotiator.current.fields.paymentMethods?.value,P=n.identity.current.value,_=m(),w=y("PAYPAL_EXPRESS"),A=(({isPayWithPayPalFlow:e=!1})=>{const{shop:t,checkout:r}=W(),{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}=W(),a=t.negotiator.current.fields.buyerIdentity.value?.purchasingCompany;return!(a||!t.isShippingRequired.value||e)})({isPayWithPayPalFlow:r}),{shouldGateCrossBorder:k,crossBorderGate:C}=ue(),E=!ae({shop:s,checkout:n,paymentMethods:f}),x=v.value&&(!b?.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)&&!_e(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;k(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}),C(()=>B(e))):B(e)}}!a.billingAddress||"payPal"===P&&_.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:w.value?.paymentMethodIdentifier??"",expiresAt:a.expiresAt,merchantId:w.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}=F(),v=R().value?.currencyCode,{observability:b,graphql:{coreGraphql:f},checkout:{negotiator:P}}=W(),_="paypal"===r?ne.PayPalV6:ne.Venmo,{trackAttempt:w}=de(_),A=P.current.fields.paymentMethods?.value;return async function(a){w({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(Ae,{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}}
1),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 ke(r,{cause:a})}})({graphql:f,paypalToken:M(A)&&!n&&a.billingToken||a.orderId,authAssertionContext:a.authAssertionContext,observability:b}),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-")&&b.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:We,isVaultWithPurchaseOrder:At,isLegacyBillingAgreementWithoutPurchase:wt,isPayWithPayPalFlow:Ie,onSuccess:async()=>{Xt.value=!0,ya.value=!0,zt.current(se.Success,da),Ye.counter({name:"paypal_approved",value:1,attributes:{payWithPayPal:Ie,fundingSource:We}}),Pa(!1)}}),Aa=S(wa),Sa=n(({errorUnactionable:e,errorMessage:t,errorName:a,stack:r})=>{if(Ye.leaveErrorBreadcrumb("[PayPalButton] paymentFlowError",{errorMessage:t,stack:r}),_a(),qt.current)return void Ye.leaveErrorBreadcrumb("[PayPalButton] paymentFlowError suppressed after stock re-negotiation",{errorMessage:t});const n=`${a?`${a}: `:""}${t}`;if(e||a?.includes("Unactionable")){const e=new Me(n);e.stack=r,va(e)}else{const e=new Re(n,{groupingHash:"PayPalPaymentFlowError::UnexpectedError"});e.stack=r,va(e)}},[_a,va,Ye]),ka=S(Sa),Ca=n(async()=>{ta(Zt),qt.current=!1;const e=le(Ye,"venmo"===We?"venmo":"paypal",Ie?"payment_method":"express");if(e?.log("entered"),jt.current||na.activeSession.value)return e?.log("skipped",{reason:jt.current?"disabled":"active_wallet"}),Pa(!1),!1;if(Gt.value=!0,zt.current(se.Clicked,da),Ye.counter({name:"wallet_sheet_clicked",value:1,attributes:{instrument:kt}}),Rt.value=!0,!Ie)return e?.log("skipped",{reason:"express_or_review_bypass"}),zt.current(se.Initialized,da),void Pa(!0);const t=ae({shop:Ge,checkout:Ue,paymentMethods:Vt.current});try{e?.log("started");const a=await new Promise((a,r)=>{et({runListenersOnError:!0,negotiationStage:"completion",silenceViolations:me({journey:tt.value,negotiated:Ue.proposal.negotiated.value,fieldsToValidate:t||"custom"!==Ke.value?[]:["billingAddress"]}),...e&&{walletValidationAttemptId:e.attemptId},onComplete:a}).catch(r)});e?.log("result_received",{result:a});const r=()=>{zt.current(se.Initialized,da),ea.current?Pa(!0):(e?.log("open_skipped",{reason:"unmounted"}),Ye.leaveErrorBreadcrumb("PayPalButton: Skipping setModalScrimOpen - component unmounted"))},n="error"===a.status&&a.violations.length>0&&a.violations.every(({code:e})=>Oe.has(e));return"success"===a.status?(e?.log("decision",{acceptedByWallet:!0}),r(),!0):n?(e?.log("decision",{acceptedByWallet:!0}),Ye.counter({name:"paypal_silenced_violations_requiring_new_token",value:1}),Ye.log("paypal_silenced_violations","PayPalButton: silenced violations",{violations:a.violations}),r(),!0):(e?.log("decision",{acceptedByWallet:!1}),_a(),ha.value=!0,Ye.log("paypal_button_popup_closed_negotiation_errors","PayPalButton: closing popup because of negotiation errors",{result:{status:a.status,..."error"===a.status&&{errorCodes:a.errors.map(({code:e})=>e),violationCodes:a.violations.map(({code:e})=>e)}}}),!1)}catch(a){return e?.log("exception",{location:"validation",error:a}),_a(),ka.current({errorMessage:`negotiation threw unexpectedly when validating guest checkout for PayPal: ${a instanceof Error?`[${a.name}] ${a.message}`:a?.toString()}`,errorName:a instanceof Error?a.name:void 0,errorUnactionable:a instanceof re&&a.isUnactionable()}),!1}},[ta,jt,Gt,zt,We,da,Rt,Ie,Ge,Ue,tt,Pa,_a,et,Vt,Ke,Ye,kt,ka,ea,ha,na]),Ea=S(Ca),xa=n(()=>{_a(),zt.current(se.Cancelled),Ye.counter({name:"wallet_sheet_cancelled",value:1,attributes:{instrument:kt}})},[_a,zt,Ye,kt]),Ia=S(xa),Ba=n(async e=>{Lt();
1try{if(Aa.current){Yt.value={countryCode:Qe.value.countryCode,zoneCode:Qe.value.zoneCode};const t=Ut.current?.orderId===e.orderId?Ut.current.value:void 0;return await Aa.current({...e,...t&&{authAssertionContext:t}}),!0}return ka.current({errorMessage:"onApproveRef is not set",errorName:void 0,errorUnactionable:!1}),!1}catch(t){const e=t;return ka.current({errorMessage:`onApprove handler failed: ${String(e)}`,stack:e?.stack,errorName:e?.name,errorUnactionable:e instanceof re&&e.isUnactionable()}),!1}},[Lt,Aa,ka,Qe,Yt]),Ta=S(Ba),Wa=n(()=>{ie.endAndRun("paypal_authorization",e=>{It({result:"failed",durationMs:e,walletType:da})})},[It,da]),Fa=n(async e=>{if("approved"===e.paymentSessionState){await(Ue.crossBorderConfirmState.value?.modalPromise);try{if(!Ie&&Ue.isShippingRequired.value&&!_e(Qe.value.countryCode,Ge.shippingCountries))return $e({shouldResetCustomerInfo:!0}),Qe.value=K({countryCode:Yt.value?.countryCode,zoneCode:Yt.value?.zoneCode}),Yt.value=null,Kt.value={type:J},void _a();if(ua)await rt({wallet:Ct,reason:"paypalApproval",asPaymentMethod:Ie});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 xe?await Ze("paypal-payment-approved",e=>{ae({shop:Ge,checkout:Ue,paymentMethods:Vt.current})&&("rejected"===e.status||Ge.confirmationPageEnabled)&&"violations"in e&&e.violations?.some(e=>"BUYER_IDENTITY_MISSING_CONTACT_METHOD"!==e.code&&Q.has(e.code))&&(Ye.log("paypal_payment_method_vaulted_state","[PayPalButton] Entering vaulted state in payment method flow due to billing address violations",{violations:e.violations}),Ye.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,Wa()}}else Wa()},[Wa,ua,ca,sa,xe,xt,da,na,et,rt,Ct,Ze,it,Ie,Vt,Ge,Ye,Et,va,It,Xt,ya,Ue,Qe,Yt,$e,Kt,_a,oa]),Ra=S(Fa),Ma=n(async()=>{const a="venmo"===We,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(Se,{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 ke(r,{cause:a})}})({graphql:He,countryCode:Ve,email:r,venmoPayment:a,getNegotiationVariables:()=>Ue.negotiator.getNegotiationInput(),isPayWithPayPalFlow:Ie,observability:Ye,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=>{Ye.error(e)}),e&&(qt.current=!0),s}return Ie||Tt(),Gt.value=!1,St?{billingToken:o.token}:{orderId:o.token}},[We,Xe,Bt,He,Ve,Ue.negotiator,Ie,Ye,Gt,St,At,Tt,et]),Oa=S(Ma),Na=fe(),La=(()=>{const{observability:e}=W();return n(({message:t,attributes:a={}})=>{e.log("sandbox_log_handled",t,a)},[e])})(),ja=r(()=>({clicked:()=>Ea.current(),cancelled:()=>Ia.current(),createOrder:()=>Oa.current(),paymentFlowError:({errorMessage:e,errorName:t,errorUnactionable:a,stack:r})=>ka.current({errorMessage:e,errorName:t,errorUnactionable:a,stack:r}),paymentApproved:e=>Ta.current(e),expandIFrame:Nt,telemetry:Na,logger:La,onComplete:e=>Ra.current(e)}),[Ea,Ia,Oa,ka,Ta,Nt,Na,La,Ra]);l(()=>()=>{const e="venmo"===We?Jt.value.status:Qt.value.status;
1"error"!==e&&"not_eligible"!==e&&ba("not_rendered",We),"PAYPAL_EXPRESS"===na.activeSession.value?.wallet?na.clearActiveSession({invokingWallet:"PAYPAL_EXPRESS"}):Ye.leaveErrorBreadcrumb("[PayPalButton] cleanup: NOT resetting activeSession (not in PayPal context)",{activeSession:na.activeSession.value}),"paypal"===ia.value?ia.value="none":"none"!==ia.value&&Ye.leaveErrorBreadcrumb("[PayPalButton] cleanup: NOT resetting checkoutProtocolModalEventSignal - unexpected value",{currentValue:ia.value}),Gt.value=!1},[]);const za=sa.value?te.base.blockSize:te.large.blockSize,Va=r(()=>"venmo"===We?"VENMO":Ie?"PAY_WITH_PAYPAL":"PAYPAL_EXPRESS",[We,Ie]),Da=Rt.value&&!Ot.value;if(l(()=>{Ie&&Wt.value&&Wt.value.call.updateStandardButtonState({disabled:je,loading:Gt.value})},[Ie,je,Gt.value,Wt.value]),l(()=>{Da&&Ye.leaveErrorBreadcrumb("[PayPalButton] Showing PayPal scrim content",void 0,"log")},[Da,Ye]),!ut)return Ye.counter({name:"paypal_missing_client_token",value:1,attributes:{payWithPayPal:Ie,fundingSource:We}}),null;const $a=Ie&&Boolean(ze),Ua=s(Pe,{wallet:Va,onConnect:fa,onTerminate:()=>Wt.value=null,hostMethods:ja,fillSlot:$a,height:Ie?$a?"100%":`calc(${za} + 8px)`:void 0,isFullScreen:Ot.value,placeholder:Ft.value?s(Fe,{config:Ft.value}):void 0,ref:Zt});return s(c,{children:[Ie?s("div",{className:u("AhtQv",$a&&"MlVcW"),style:{"--standard-button-focus-gutter":"4px"},children:Ua}):Ua,s(B,{isOpen:Rt,isInvisible:Ot,onClick:Mt,children:Da&&s(T,{walletName:pa,handleClose:Mt})})]})}export{Re as PayPalPaymentFlowError,Me as UnactionablePayPalPaymentFlowError,je 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.