1import{a4 as e,a5 as t,k as a,T as r,q as o,o as n,u as s,g as i,h as l,m as c,S as u}from"./2c1ab0fe.Bf8FS-kA.js";import{fI as d,fJ as p,dR as m,fK as y,fL as g,cB as v,fM as h,v as f,k as b,fN as P,R as w,f9 as _,fx as A,g as S,a5 as C,d4 as k,fq as E,al as x,ch as I,fO as B,fP as T}from"./164ad2e3.D0nOfU9-.js";import{c as W,a6 as F,ad as M,f4 as R,cV as O,f5 as N,f6 as j,f7 as z,ap as L,n as V,f8 as D,d2 as $,aO as U,d0 as q,f9 as Y,fa as G,fb as H,aT as X,fc as K,fd as J,h as Q,fe as Z}from"./4b4bc88f.DcJe9bVW.js";import{c as ee}from"./e129c76e.B7-qOHjq.js";import{i as te}from"./9dba8418.CZTcH8_l.js";import{S as ae}from"./app.C_ntWzAC.js";import{a as re,b as oe,c as ne}from"./78ab3dd0.CrM-OED9.js";import{b as se,r as ie,A as le,c as ce}from"./d02f7b10.BrPwfcNl.js";import{u as ue}from"./a9fa9fda.ChMkqhXw.js";import{a as de,b as pe}from"./ed9f2238.B7NkSzZF.js";import{u as me,a as ye,g as ge}from"./33464469.CVDLtMpV.js";import{c as ve}from"./71ae3d5c.BGylAywU.js";import{f as he}from"./e3e348f2.BgMrBibQ.js";import{S as fe}from"./ee2bb050.CG8UvkBt.js";import{u as be,g as Pe}from"./cb8fcd45.DYEwuwdM.js";import{u as we,W as _e}from"./8536083a.DKKeXGqA.js";import"./d0bb51ec.CL_3Kdjr.js";import"./f67abd2c.CMIDVCe_.js";import"./60a453ce.0K3_0kXS.js";import"./e12db40c.B4InVJ1F.js";import"./ccdf3592.DwF6-jXW.js";import"./d4ea2faa.BWjkOEd3.js";import"./fe885b80.Dj9dQ3oE.js";import"./f78726c8.B-9Rxer-.js";import"./ca3e798e.Dc6mNaNz.js";import"./17e57de1.Dh6ifiWc.js";import"./c6c0cbda.BXj5YQC9.js";function Ae(e,t){return!!e&&Boolean(t?.some(t=>t.value===e))}class Se extends ae{constructor(){super(...arguments),this.name="PaypalExpressError"}}const Ce={id:"adb798e617f80f912a3489ae4fddf2cd23943ab846448fe0ce07617a2c587cbb",type:"query",name:"PaypalDetails",source:""},ke={id:"7721b62b97e359c797bda1224aa91b0808a50e27ac8036db558d8b2e4ea6607f",type:"query",name:"PaypalToken",source:""};class Ee extends ae{constructor(){super(...arguments),this.name="PayPalAPIError"}}class xe extends ae{constructor(){super(...arguments),this.name="UnactionablePayPalAPIError",this.unactionable=!0}}function Ie({fundingSource:r,isVaultWithPurchaseOrder:o=!1,isLegacyBillingAgreementWithoutPurchase:n=!1,isPayWithPayPalFlow:s=!1,onSuccess:i,onError:l}){const c=function({isPayWithPayPalFlow:e}){const{observability:t,checkout:{negotiator:a}}=W(),r=a.current.fields.buyerIdentity.value?.purchasingCompany;return function(a){const{prefillingDestinationAddress:o,email:n,expiresAt:s,billingAgreementStatus:i,prefillingBillingAddress:l,payerApprovedAmount:c}=a;return r?{email:n,expiresAt:s,billingAgreementStatus:i,payerApprovedAmount:c}:null!=o||e?o&&"StreetAddress"!==o.__typename&&"InvalidWalletPrefillingAddress"!==o.__typename?(t.error(new Se(`Unsupported PayPal address type: ${o.__typename}`),{errorClass:d.Api}),!1):l&&"StreetAddress"!==l.__typename&&"InvalidWalletPrefillingAddress"!==l.__typename?(t.error(new Se(`Unsupported PayPal address type: ${l.__typename}`),{errorClass:d.Api}),!1):{email:n,address:o,expiresAt:s,billingAddress:l,billingAgreementStatus:i,payerApprovedAmount:c}:(t.error(new Se("No address returned by PayPal"),{errorClass:d.Api}),!1)}}({isPayWithPayPalFlow:s}),u=function({fundingSource:e,isVaultWithPurchaseOrder:t,isPayWithPayPalFlow:r}){const{checkout:o,observability:n,shop:s}=W(),{formatAddress:i}=ue(),{shippingCountries:l}=s,c=o.configuration.addressSettings.nonBillingAddressSettings.value,{email:u,paymentLines:d,shippingAddress:v,billingAddress:h,acceptPaymentVaulting:f}=o.negotiator.parts,b=p(),{value:P}=o.negotiator.current.fields.contactInfo,w=o.negotiator.current.fields.paymentMethods?.value,_=o.identity.current.value,A=m(),S=y("PAYPAL_EXPRESS"),C=(({isPayWithPayPalFlow:e=!1})=>{const{shop:t,checkout:r}=W(),{billingAddressOption:o}=r.negotiator.parts,{buyerIdentity:n,paymentMethods:s}=r.negotiator.current.fields;return a(()=>{const a=n.value?.purchasingCompany;return!(a||e||(te({shop:t,checkout:r,paymentMethods:s.value})||"shipping"!==o.value)&&r.isShippingRequired.value)})})({isPayWithPayPalFlow:r}),k=(({isPayWithPayPalFlow:e=!1})=>{const{checkout:t}=W(),a=t.negotiator.current.fields.buyerIdentity.value?.purchasingCompany;return!(a||!t.isShippingRequired.value||e)})({isPayWithPayPalFlow:r}),{shouldGateCrossBorder:E,crossBorderGate:x}=de(),I=!te({shop:s,checkout:o,paymentMethods:w}),B=b.value&&(!P?.email||!r);function T(e,t,a){const r=e===h?g(o):c,n={};for(const[o,s]of Object.entries(t))"__typename"!==o&&o in e.fields&&("InvalidWalletPrefillingAddress"!==t.__typename||r.isVisible(o,{countryCode:t.countryCode??void 0}))&&Object.assign(n,{[o]:s||void 0});e.value=a?{firstName:n.firstName,lastName:n.lastName,name:n.name,company:n.company,phone:n.phone,...a}:n}function F(e){const t=e.countryCode;return Boolean(t)&&!Ae(t,l)}function M(e,t){const a=e.countryCode;F(e)?T(v,{__typename:"InvalidWalletPrefillingAddress",countryCode:a,val
1idationErrors:[]}):T(v,e,t)}return async function(a){const l=a.address&&k&&!F(a.address)?a.address:void 0,c=l?await async function(e){const t=e.countryCode??void 0;if(!t||!N.has(t)||!s.hasFlagEnabled(j))return;const a=await ie({address1:e.address1??void 0,address2:e.address2??void 0,city:e.city??void 0,countryCode:t,provinceCode:e.zoneCode??void 0,zip:e.postalCode??void 0},async e=>{if(await o.address.countryDetails.fetch(t),"dedicated"===o.address.extendedAddressMode.get(t))return i(e)});if("error"===a.outcome||"timeout"===a.outcome){let e="ApiTimeoutError";"error"===a.outcome&&(e=a.error instanceof Error?a.error.name:typeof a.error),n.leaveErrorBreadcrumb("PayPal address Atlas formatting failed",{countryCode:t,errorType:e})}if("formatted"!==a.outcome)return;const{unplaced:r,...l}=a.address;return{...Object.fromEntries(le.map(e=>[e,void 0])),neighborhood:void 0,coordinates:void 0,...Object.fromEntries(Object.entries(l).map(([e,t])=>[e,null===t||""===t?void 0:t]))}}(l):void 0;if(B&&(u.value=a.email),a.address){const e=a.address;if(k){const t=e.countryCode;E(t)?(n.log("paypal_cross_border_gate","PayPal shipping country creates a cross-border split. Opening the consolidation modal before filling the shipping address.",{shippingCountryCode:t}),x(()=>M(e,c))):M(e,c)}}if(!a.billingAddress||"payPal"===_&&A.value.billing||I){if(C.value&&a.address){const e=a.address===l?c:void 0;T(h,a.address,e)}}else T(h,a.billingAddress);const p={method:{type:"wallet",name:"PAYPAL_EXPRESS",walletContent:{authAssertionContext:a.authAssertionContext,payerId:a.payerId,token:a.orderId,email:a.email,paymentMethodIdentifier:S.value?.paymentMethodIdentifier??"",expiresAt:a.expiresAt,merchantId:S.value?.merchantId,payerApprovedAmount:a.payerApprovedAmount,currencyCode:a.currencyCode,...t?{isVaultWithPurchaseOrder:t}:{},isVenmo:"venmo"===e}}},m=d.peek();d.value=O(m,p),r||(f.value=!1)}}({fundingSource:r,isVaultWithPurchaseOrder:o,isPayWithPayPalFlow:s}),{inMemoryPayPalParts:{accountStatus:v},persistedPayPalSignal:h}=F(),f=M().value?.currencyCode,{observability:b,graphql:{coreGraphql:P},checkout:{negotiator:w}}=W(),_="paypal"===r?re.PayPalV6:re.Venmo,{trackAttempt:A}=me(_),S=w.current.fields.paymentMethods?.value;return async function(a){A({walletType:s?oe.PaymentMethod:oe.Express}),se.start("paypal_authorization"),v.value={status:"loading"};try{const s=await(async({graphql:a,paypalToken:r,authAssertionContext:o,observability:n})=>{const s=async(e,t)=>{const{data:r,error:n}=await a.staticQuery(Ce,{cache:!1,variables:t?{pendingTask:{taskId:t}}:{paypalDetailsInput:{token:e,authAssertionContext:o}}});if(null!=n)throw c({code:"GENERIC_ERROR",unactionable:!0,error:n});if(null==r)throw c({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 c({code:a.code,unactionable:!0});case"PaypalDetailsFetchSuccess":return a;case"PendingTask":if(l=a.taskId,i+=1,i>=5)throw c({code:"REACHED_MAX_POLLING",unactionable:!0});await t(a.pollDelay);break;default:e(a)}}function c({code:e,unactionable:t,error:a}){n.counter({name:"paypal_fetch_details_error",value:1,attributes:{code:e}}),n.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 xe(r,{cause:a}):new Ee(r,{cause:a})}})({graphql:P,paypalToken:R(S)&&!o&&a.billingToken||a.orderId,authAssertionContext:a.authAssertionContext,observability:b}),l=c(s);if(!l)throw new Se("PayPal returned invalid data");const d=s.remoteOrderId||a.orderId,p=d===a.orderId?a.authAssertionContext:void 0;await u({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:f,authAssertionContext:p}),n&&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},v.value={status:"connected",email:l.email,token:d},i?.()}catch(d){throw l?.(d),d}}}const Be="disable-view-transitions-for-wallet-pci";const Te={display:"flex","align-items":"center","justify-content":"center",width:"100%",height:"100%"},We={display:"block","inline-size":"100%","block-size":"100%"};function Fe(e,t){const a=t.startsWith("var(")?t.slice(4,-1):t,r=a.indexOf(","),o=(-1===r?a:a.slice(0,r)).trim();return getComputedStyle(e).getPropertyValue(o).trim()}function Me(){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 Re(e,t){for(const[a,r]of Object.entries(t))r&&e.style.setProperty(a,r)}function Oe({config:e}){const t=o(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;Re(e,{...Te,"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&&Re(r,Te);const o=e.querySelector(".standard-wallet-button-logo");o&&Re(o,function(e){return{display:"flex","align-items":"center","justify-content":"center","inline-size":e?.logoWidth??"","block-size":e?.logoHeight??""}}(t.content));const n=o?.querySelector("svg");n&&Re(n,We)}(t,e))},[e]);return s("div",{className:"GJTW5","aria-hidden":"true",children:s("div",{ref:t})})}class Ne extends ae{constructor(){super(...arguments),this.name="PayPalPaymentFlowError"}}class je extends ae{constructor(){super(...arguments),this.name="UnactionablePayPalPaymentFlowError",this.unactionable=!0}}const ze=new Set(Z),Le="PAYPAL_EXPRESS",Ve="VENMO";function De({buttonLabel:a="paypal",progressToNextPage:d=!1,isPayWithPayPalFlow:p=!1,fundingSource:m="paypal",isDisabled:g=!1,sizingButtonRef:M}){const O=v().geolocation.country.code,N=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])}(),j=h(),{checkout:Z,i18n:ie,observability:le,shop:ue,graphql:{coreGraphql:de}}=W(),{email:Ce,billingAddressOption:Te,acceptPaymentVaulting:We,shippingAddress:Re}=Z.negotiator.parts,{progress:De,negotiate:$e}=f(),Ue=b(),qe=P(),Ye=ye({onError:e=>{throw e}}),{markAsLoaded:Ge}=ve(),He=Z.negotiator.current.fields.paymentMethods?.value,Xe=w().value,Ke=he(),Je=y("venmo"===m?Ve:Le).value,Qe=Je?.clientToken,Ze=Je?.paymentIntent,et=U(),tt=q(),at=R(He),rt=Je?.name===Le&&"CONNECTED"===Je.gatewayType,ot=Je?.name===Le&&"MANAGED"===Je.gatewayType,nt="TOKENIZE"===Ze||p&&Xe&&We.value&&at,st=ue.hasFlagEnabled(Y),it=ue.hasFlagEnabled(G),lt=ue.hasFlagEnabled(H),ct=rt&&st||ot&&it,ut=(et.value?.amount??0)>0&&(!lt||(tt.value?.amount??0)>0),dt="paypal"===m&&nt&&!ut&&ct,pt="paypal"===m&&nt&&ut&&ct,mt=nt&&!pt,yt="paypal"===m?re.PayPalV6:re.Venmo,gt="venmo"===m?Ve:Le,vt=pe(yt),{trackComplete:ht}=me(yt),ft=_(yt),bt=A(yt),Pt=n(null),wt=n(null),{isScrimOpen:_t,closePopupWindowsAndScrim:At}=be({endpoint:Pt,invokingWallet:"PAYPAL_EXPRESS"}),{isFullScreen:St,expandIFrame:Ct,collapseIFrame:kt}=function({onExpand:e,onCollapse:t}={}){const a=n(!1),r=V({onExpand:e,onCollapse:t}),s=o(()=>{!function(){if(document.getElementById(Be))return;const e=document.createElement("style");e.setAttribute("id",Be),e.textContent="\n * {\n view-transition-name: none !important;\n }\n ",document.head.appendChild(e)}(),a.value=!0,r.current.onExpand?.()},[r,a]),i=o(()=>{a.value&&(r.current.onCollapse?.(),document.getElementById(Be)?.remove(),a.value=!1)},[r,a]);return{isFullScreen:a,expandIFrame:s,collapseIFrame:i}}({onCollapse:()=>Pt.value?.call.cleanup()}),Et=S(g),xt=S(vt),It=S(He),Bt=i(mt),Tt=i(0),Wt=i(),Ft=i(!1),Mt=n(null),{inMemoryPayPalParts:{isLoadingPaymentSheet:Rt,accountStatus:Ot,isApproving:Nt,paymentSheetError:jt},inMemoryVenmoParts:{buttonStatus:zt}}=F(),Lt=C({isPayWithPayPalButton:p}),Vt=i(null),Dt=k(),$t=E(),{wallets:Ut}=Z,qt=o(()=>{Ut.setEscalatedWallet(gt),"review"===Ue.value.currentPage?.id&&qe("payment-methods",{replace:!0})},[gt,Ue,qe,Ut]),Yt=Z.configuration.layout.isOnePage,{checkoutProtocolModalEventSignal:Gt}=Z.negotiator.context,Ht=!Z.extensibility.ui.hasAtRiskPlacement.value&&!Yt.value&&!p,Xt=Yt.value&&!d,Kt=p?oe.PaymentMethod:oe.Express,Jt="venmo"===m?ie.translate("brand.venmo"):ie.translate("brand.paypal"),Qt=ie.translate("general.pay_now_button_label"),Zt=n(!1);x({active:Nt.value&&Zt.value&&p});const ea=I(),ta=n(!1);l(()=>{!_t.value&&ta.value&&(ea(),ta.value=!1)},[_t.value,ea,ta.value,ta]);const aa=o(e=>{se.exists("paypal_authorization")?ht({result:"failed",durationMs:se.end("paypal_authorization"),walletType:Kt}):le.counter({name:"wallet_sheet_failed",value:1,attributes:{instrument:yt}}),xt.current(ne.Failure,Kt),le.error(e),Ot.value={status:"error"}},[xt,Ot,le,yt,ht,Kt]),ra=o((e,t)=>{"venmo"===t?zt.value={status:e}:Lt.value={status:e}},[zt,Lt]),oa=o(async e=>{const t=Vt.current,r=Pe(t),o=p&&t?function({label:e,disabled:t,loading:a,size:r,scopeElement:o,sizingElement:n}){const s=(...e)=>{for(const t of e){const e=Fe(o,t);if(e)return e.endsWith("rem")?`${D(e)}px`:e}return""},i=getComputedStyle(o),l=n?getComputedStyle(n):null,c=s($.color.default.primaryButton.hover.background),u=c?{backgroundColor:c,textColor:s($.color.default.primaryButton.hover.text),borderColor:s($.color.default.primaryButton.hover.border)}:void 0;return{label:e,disabled:t,loading:a,size:r,fontFaces:Me(),buttonStyle:{backgroundColor:s($.color.default.primaryButton.background),backgroundColorDisabled:s($.color.default.primaryButton.backgroundSubdued),textColor:s($.color.default.primaryButton.text),borderColor:s($.color.default.primaryButton.border),borderWidth:s($.button.primary.borderWidth),borderRadius:s($.button.primary.borderRadius,$.global.borderRadius,$.borderRadius.base),blockPadding:l?.paddingBlockStart??s($.button.primary.blockPadding),inlinePadding:l?.paddingInlineStart??s($.button.primary.inlinePadding),fontFamily:l?.fontFamily??(s($.button.primary.fontFamily)||i.fontFamily),fontSize:l?.fontSize??(s($.button.primary.fontSize,$.fontSize.medium)||i.fontSize),fontWeight:l?.fontWeight??s($.button.primary.fontWeight,$.typography.primary.fontWeight.bold),lineHeight:l?.lineHeight,letterSpacing:l?.letterSpacing??s($.button.primary.letterSpacing,$.global.letterSpacing),textTransform:l?.textTransform??(s($.button.primary.textTransform)||i.textTransform),opacityDisabled:s($.opacity.disabled),hover:u,focusRing:{width:s($.ring.width)||"3px",offset:s($.ring.offset)||"0px",color:s($.ring.color,$.color.default.accent)}}}}({label:Qt,disabled:g,loading:Rt.value,size:Yt.value?"base":"large",scopeElement:t,sizingElement:M?.current}):void 0;if(wt.value=o??null,"venmo"===m&&mt)return ra("not_eligible",m),void Ge();Pt.value=e;const n=!(z()||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()),s=await e.call.configure({clientToken:Qe,locale:N,fundingSource:m,isBillingAgreement:mt,buttonLabel:a,isPayWithPayPal:p,browserSupportsPopupFlow:n,style:{borderRadius:r},sandboxTestMode:Je?.sandboxTestMode??!1,useStandardButton:p,standardButtonConfig:o});Ge(),s.status===fe.Success?(ra("rendered",m),le.counter({name:"checkout_wallet_button_rendered",value:1,attributes:{wallet_name:yt,status:"success",isPaymentMethodFlow:p}})):(s.status===fe.ScriptLoadError&&(le.log("paypal_button_script_load_failed","[PayPalButton] script load error",{errorMessage:s.message}),le.counter({name:"checkout_wallet_button_rendered",value:1,attributes:{wallet_name:yt,status:"error",reason:"script_load_error",isPaymentMethodFlow:p}})),s.status===fe.Error&&(le.leaveErrorBreadcrumb("[PayPalButton] sandbox error",{message:s.message,type:s.type,errorLocation:s.errorLocation}),le.error(new Se(s.message,{groupingHash:"PayPalExpressError::SandboxError"})),le.counter({name:"checkout_wallet_button_rendered",value:1,attributes:{wallet_name:yt,status:"error",reason:"sandbox_error",isPaymentMethodFlow:p}})),s.status===fe.UnsupportedBrowser&&le.counter({name:"paypal_unsupported_browser",value:1,attributes:{payWithPayPal:p,fundingSource:m,reason:"unsupported_browser"}}),xt.current(ne.Failure),Ot.value={status:"error"},ra("error",m))},[m,Pt,wt,Qe,N,mt,a,p,Je?.sandboxTestMode,Ge,ra,xt,Ot,le,yt,Qt,M,g,Rt,Yt]);l(()=>{(async()=>
1{if(Bt.current!==mt&&Pt.value){if(Bt.current=mt,"venmo"===m&&mt)return void ra("not_eligible",m);const e=await Pt.value.call.setBillingAgreementRequirement(mt);le.counter({name:"checkout_wallet_button_rendered",value:1,attributes:{wallet_name:yt,isPaymentMethodFlow:p,billingAgreementUpdate:!0,status:e.status===fe.Success?"success":"error"}})}})()},[mt,m,Pt,p,yt,le,ra]);const na=o(e=>{_t.value=e,(e||"PAYPAL_EXPRESS"===Ut.activeSession.value?.wallet)&&(e?Ut.setActiveSession({newValue:"PAYPAL_EXPRESS",asPaymentMethod:p}):Ut.clearActiveSession({invokingWallet:"PAYPAL_EXPRESS"})),p||(Gt.value=e?"paypal":"none"),e||kt()},[Gt,_t,kt,p,Ut]),sa=o(()=>{na(!1),Rt.value=!1},[na,Rt]),ia=Ie({fundingSource:m,isVaultWithPurchaseOrder:pt,isLegacyBillingAgreementWithoutPurchase:dt,isPayWithPayPalFlow:p,onSuccess:async()=>{Nt.value=!0,Zt.value=!0,xt.current(ne.Success,Kt),le.counter({name:"paypal_approved",value:1,attributes:{payWithPayPal:p,fundingSource:m}}),na(!1)}}),la=S(ia),ca=o(({errorUnactionable:e,errorMessage:t,errorName:a,stack:r})=>{if(le.leaveErrorBreadcrumb("[PayPalButton] paymentFlowError",{errorMessage:t,stack:r}),sa(),Ft.current)return void le.leaveErrorBreadcrumb("[PayPalButton] paymentFlowError suppressed after stock re-negotiation",{errorMessage:t});const o=`${a?`${a}: `:""}${t}`;if(e||a?.includes("Unactionable")){const e=new je(o);e.stack=r,aa(e)}else{const e=new Ne(o,{groupingHash:"PayPalPaymentFlowError::UnexpectedError"});e.stack=r,aa(e)}},[sa,aa,le]),ua=S(ca),da=o(async()=>{$t(Vt),Ft.current=!1;const e=ce(le,"venmo"===m?"venmo":"paypal",p?"payment_method":"express");if(e?.log("entered"),Et.current||Ut.activeSession.value)return e?.log("skipped",{reason:Et.current?"disabled":"active_wallet"}),na(!1),!1;if(Rt.value=!0,xt.current(ne.Clicked,Kt),le.counter({name:"wallet_sheet_clicked",value:1,attributes:{instrument:yt}}),_t.value=!0,!p)return e?.log("skipped",{reason:"express_or_review_bypass"}),xt.current(ne.Initialized,Kt),void na(!0);const t=te({shop:ue,checkout:Z,paymentMethods:It.current});try{e?.log("started");const a=await new Promise((a,r)=>{$e({runListenersOnError:!0,negotiationStage:"completion",silenceViolations:ge({journey:Ue.value,negotiated:Z.proposal.negotiated.value,fieldsToValidate:t||"custom"!==Te.value?[]:["billingAddress"]}),...e&&{walletValidationAttemptId:e.attemptId},onComplete:a}).catch(r)});e?.log("result_received",{result:a});const r=()=>{xt.current(ne.Initialized,Kt),Dt.current?na(!0):(e?.log("open_skipped",{reason:"unmounted"}),le.leaveErrorBreadcrumb("PayPalButton: Skipping setModalScrimOpen - component unmounted"))},o="error"===a.status&&a.violations.length>0&&a.violations.every(({code:e})=>ze.has(e));return"success"===a.status?(e?.log("decision",{acceptedByWallet:!0}),r(),!0):o?(e?.log("decision",{acceptedByWallet:!0}),le.counter({name:"paypal_silenced_violations_requiring_new_token",value:1}),le.log("paypal_silenced_violations","PayPalButton: silenced violations",{violations:a.violations}),r(),!0):(e?.log("decision",{acceptedByWallet:!1}),sa(),ta.value=!0,le.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}),sa(),ua.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 ae&&a.isUnactionable()}),!1}},[$t,Et,Rt,xt,m,Kt,_t,p,ue,Z,Ue,na,sa,$e,It,Te,le,yt,ua,Dt,ta,Ut]),pa=S(da),ma=o(()=>{sa(),xt.current(ne.Cancelled),le.counter({name:"wallet_sheet_cancelled",value:1,attributes:{instrument:yt}})},[sa,xt,le,yt]),ya=S(ma),ga=o(async e=>{kt();try{if(la.current){Mt.value={countryCode:Re.value.countryCode,zoneCode:Re.value.zoneCode};const t=Wt.current?.orderId===e.orderId?Wt.current.value:void 0;return await la.current({...e,...t&&{authAssertionContext:t}}),!0}return ua.current({errorMessage:"onApproveRef is not set",errorName:void 0,errorUnactionable:!1}),!1}catch(t){const e=t;return ua.current({errorMessage:`onApprove handler failed: ${String(e)}`,stack:e?.stack,errorName:e?.name,errorUnactionable:e instanceof ae&&e.isUnactionable()}),!1}},[kt,la,ua,Re,Mt]),va=S(ga),ha=o(()=>{se.endAndRun("paypal_authorization",e=>{ht({result:"failed",durationMs:e,walletType:Kt})})},[ht,Kt]),fa=o(async e=>{if("approved"===e.paymentSessionState){await(Z.crossBorderConfirmState.value?.modalPromise);
1try{if(!p&&Z.isShippingRequired.value&&!Ae(Re.value.countryCode,ue.shippingCountries))return j({shouldResetCustomerInfo:!0}),Re.value=X({countryCode:Mt.value?.countryCode,zoneCode:Mt.value?.zoneCode}),Mt.value=null,jt.value={type:K},void sa();if(Ht)await Ye({wallet:gt,reason:"paypalApproval",asPaymentMethod:p});else if(Xt){Ut.setIsDecelerating(!0);try{await $e({runListenersOnError:!0,fieldsToResolve:["deliveryNext"],onComplete:e=>{"success"===e.status||"error"===e.status||"invalid"===e.status?qt():Ut.setIsDecelerating(!1)}})}catch(t){throw Ut.setIsDecelerating(!1),t}}else d?await De("paypal-payment-approved",e=>{te({shop:ue,checkout:Z,paymentMethods:It.current})&&("rejected"===e.status||ue.confirmationPageEnabled)&&"violations"in e&&e.violations?.some(e=>"BUYER_IDENTITY_MISSING_CONTACT_METHOD"!==e.code&&J.has(e.code))&&(le.log("paypal_payment_method_vaulted_state","[PayPalButton] Entering vaulted state in payment method flow due to billing address violations",{violations:e.violations}),le.counter({name:"paypal_payment_method_vaulted_state",value:1}),qt())},{skipToCompletion:Ke.value}):await $e({runListenersOnError:!0});vt(ne.Success,Kt),se.endAndRun("paypal_authorization",e=>{ht({result:"success",durationMs:e,walletType:Kt})})}catch(t){aa(t)}finally{Nt.value=!1,Zt.value=!1,ha()}}else ha()},[ha,Ht,Xt,d,vt,Kt,Ut,$e,Ye,gt,De,Ke,p,It,ue,le,aa,ht,Nt,Zt,Z,Re,Mt,j,jt,sa,qt]),ba=S(fa),Pa=o(async()=>{const a="venmo"===m,r=Ce.value,o=++Tt.current;let n;ft(),Wt.current=void 0;try{n=await(async({graphql:a,countryCode:r,email:o,venmoPayment:n,getNegotiationVariables:s,isPayWithPayPalFlow:i,observability:l,isBillingAgreement:c,isVaultWithPurchaseOrder:u})=>{const d=await s(),p=async e=>{const{data:t,error:s}=await a.staticQuery(ke,{cache:!1,variables:e?{pendingTask:{taskId:e}}:{paypalTokenCreate:{merchandiseSource:{proposal:d},countryCode:r,email:o,venmoPayment:n,paymentMethodFlow:i,billingAgreement:c||u,isVaultWithPurchaseOrder:u}}});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 xe(r,{cause:a}):new Ee(r,{cause:a})}})({graphql:de,countryCode:O,email:r,venmoPayment:a,getNegotiationVariables:()=>Z.negotiator.getNegotiationInput(),isPayWithPayPalFlow:p,observability:le,isBillingAgreement:mt,isVaultWithPurchaseOrder:pt}),o===Tt.current&&(Wt.current=n.authAssertionContext?{orderId:n.token,value:n.authAssertionContext}:void 0)}catch(s){let e=!1;throw await $e({silenceViolations:["non-stock"],runListenersOnError:!0,force:!0,onComplete:t=>{"success"!==t.status&&"error"!==t.status||(e=Q(t.violations))}}).catch(e=>{le.error(e)}),e&&(Ft.current=!0),s}return p||bt(),Rt.value=!1,mt?{billingToken:n.token}:{orderId:n.token}},[m,Ce,ft,de,O,Z.negotiator,p,le,Rt,mt,pt,bt,$e]),wa=S(Pa),_a=we(),Aa=(()=>{const{observability:e}=W();return o(({message:t,attributes:a={}})=>{e.log("sandbox_log_handled",t,a)},[e])})(),Sa=r(()=>({clicked:()=>pa.current(),cancelled:()=>ya.current(),createOrder:()=>wa.current(),paymentFlowError:({errorMessage:e,errorName:t,errorUnactionable:a,stack:r})=>ua.current({errorMessage:e,errorName:t,errorUnactionable:a,stack:r}),paymentApproved:e=>va.current(e),expandIFrame:Ct,telemetry:_a,logger:Aa,onComplete:e=>ba.current(e)}),[pa,ya,wa,ua,va,Ct,_a,Aa,ba]);l(()=>()=>{const e="venmo"===m?zt.value.status:Lt.value.status;"error"!==e&&"not_eligible"!==e&&ra("not_rendered",m),"PAYPAL_EXPRESS"===Ut.activeSession.value?.wallet?Ut.clearActiveSession({invokingWallet:"PAYPAL_EXPRESS"}):le.leaveErrorBreadcrumb("[PayPalButton] cleanup: NOT resetting activeSession (not in PayPal context)",{activeSession:Ut.activeSession.value}
1),"paypal"===Gt.value?Gt.value="none":"none"!==Gt.value&&le.leaveErrorBreadcrumb("[PayPalButton] cleanup: NOT resetting checkoutProtocolModalEventSignal - unexpected value",{currentValue:Gt.value}),Rt.value=!1},[]);const Ca=Yt.value?ee.base.blockSize:ee.large.blockSize,ka=r(()=>"venmo"===m?"VENMO":p?"PAY_WITH_PAYPAL":"PAYPAL_EXPRESS",[m,p]),Ea=_t.value&&!St.value;if(l(()=>{p&&Pt.value&&Pt.value.call.updateStandardButtonState({disabled:g,loading:Rt.value})},[p,g,Rt.value,Pt.value]),l(()=>{Ea&&le.leaveErrorBreadcrumb("[PayPalButton] Showing PayPal scrim content",void 0,"log")},[Ea,le]),!Qe)return le.counter({name:"paypal_missing_client_token",value:1,attributes:{payWithPayPal:p,fundingSource:m}}),null;const xa=p&&Boolean(M),Ia=s(_e,{wallet:ka,onConnect:oa,onTerminate:()=>Pt.value=null,hostMethods:Sa,fillSlot:xa,height:p?xa?"100%":`calc(${Ca} + 8px)`:void 0,isFullScreen:St.value,placeholder:wt.value?s(Oe,{config:wt.value}):void 0,ref:Vt});return s(u,{children:[p?s("div",{className:c("AhtQv",xa&&"MlVcW"),style:{"--standard-button-focus-gutter":"4px"},children:Ia}):Ia,s(B,{isOpen:_t,isInvisible:St,onClick:At,children:Ea&&s(T,{walletName:Jt,handleClose:At})})]})}export{Ne as PayPalPaymentFlowError,je as UnactionablePayPalPaymentFlowError,De 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.