import{k as d,aG as A,aH as E,ao as N,aI as S,a as e,aJ as P,n as h,R as g,a1 as C,B,aK as m,ar as I,aL as O,aM as R,Q as v,aN as V,ab as L,q as M,ak as U,aO as b,aP as w,aQ as D}from"./app.owqgWGYv.js";import{R as k,S as x}from"./SeparatePaymentsNotice.CGfInKQt.js";import{S as Y}from"./ShopPayOptInDisclaimer.Bl8MpR5A.js";const W=t=>e(I,{children:t}),q="disable-view-transitions-for-pay-button-section",T="checkout-pay-button-section";function X(){const t=document.createElement("style");return t.setAttribute("id",q),t.textContent=` #${T}, #${T} * { view-transition-name: none !important; } `,document.head.appendChild(t),t}function Z(){const t=d("Checkout::Actions::RenderBefore"),o=A(),{PayButton:a}=E(),{offsitePopupController:p}=N();return S(()=>{if(p.isOpen.value){const u=X();return()=>{u.remove()}}}),e(m,{target:"cart.paymentLines[0]",children:e(P,{impressionType:"pay_now_button",impressionFeatures:[],children:[t.length!==0&&e(h,{children:[e(g,{extensions:t,render:W}),e(C,{spacing:"base"})]}),e(B,{ref:o,id:T,children:[e(G,{}),e(k,{children:e(a,{})}),e(Y,{}),e(x,{})]})]})})}const F=new Map([["PAYMENTS_UNACCEPTABLE_PAYMENT_AMOUNT",{status:"warning",priority:-1,negotiationStage:"completion"}],["TAX_NEW_TAX_MUST_BE_ACCEPTED",{status:"warning",priority:-2,negotiationStage:"completion"}]]);function G(){const t=O(),o=H(t.value,F);return e(m,{target:"cart.paymentLines[0]",children:o.map(a=>e(R,{notice:a,errorType:v.PaymentError},a.code))})}function H(t,o){const a=V(),[p,u]=L([]),l=M(({violations:i,negotiationStage:y})=>{const r=[],_=i.some(n=>D.has(n.code));for(const n of i)if(!J(n)&&!(_&&(n.code==="PAYMENTS_UNACCEPTABLE_PAYMENT_AMOUNT"||n.code==="TAX_NEW_TAX_MUST_BE_ACCEPTED"))&&o.has(n.code)){if(_)continue;const c=o.get(n.code);y&&y===c?.negotiationStage&&r.push({...n,tone:c?.tone,priority:c?.priority})}if(r.length>=1){const c=r.map(s=>s.priority??0).reduce((s,f)=>s>f?s:f);return r.filter(s=>(s.priority??0)>=c)}return r},[o]);return U(()=>{t&&u(l({violations:t}))},[l]),b(i=>{i.type==="complete"||i.type==="invalid"||i.type==="failed"||!a.current||u(l({violations:i.violations,negotiationStage:i.negotiationStage}))}),p.filter(w("localizedMessage"))}function J(t){return t.__typename!=="ConfirmChangeViolation"&&t.__typename!=="UnprocessableTermViolation"&&t.__typename!=="RemoveTermViolation"}export{Z as P};