import{i as m,aU as d,aV as A,a as t,aI as g,aW as E,aX as P,aY as h,aZ as N,G as C,a_ as v,B as R,U as S,R as B,a$ as f,b0 as I,b1 as w,A as O,b2 as U,K as V,b3 as b,b4 as D,a7 as M,b5 as L,b6 as k,as as Y}from"./app.BpcE4wZo.js";import{S as x}from"./ShopPayOptInDisclaimer.CoHOtJOU.js";function Z(){const e=m(),{value:n}=d(),u=A()||n?.amount===0?e("review.review_and_confirm_title","Review and confirm"):e("review.review_title","Review and pay");return t(g,{level:1,autoFocus:!0,children:u})}const W=e=>t(Y,{children:e});function $(){const e=E("Checkout::Actions::RenderBefore"),n=P(),{PayButton:a}=h();return t(f,{target:"cart.paymentLines[0]",children:t(N,{impressionType:"pay_now_button",impressionFeatures:[],children:[e.length!==0&&t(C,{children:[t(v,{extensions:e,render:W}),t(R,{spacing:"base"})]}),t(S,{ref:n,children:[t(q,{}),t(B,{children:t(a,{})}),t(x,{})]})]})})}const X=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 q(){const e=I(),n=F(e.value,X);return t(f,{target:"cart.paymentLines[0]",children:n.map(a=>t(w,{notice:a,errorType:O.PaymentError},a.code))})}function F(e,n){const a=U(),[u,p]=V([]),l=b(({violations:o,negotiationStage:y})=>{const r=[],T=o.some(i=>D.has(i.code));for(const i of o)if(!G(i)&&!(T&&(i.code==="PAYMENTS_UNACCEPTABLE_PAYMENT_AMOUNT"||i.code==="TAX_NEW_TAX_MUST_BE_ACCEPTED"))&&n.has(i.code)){if(T)continue;const c=n.get(i.code);y&&y===c?.negotiationStage&&r.push({...i,tone:c?.tone,priority:c?.priority})}if(r.length>=1){const c=r.map(s=>s.priority??0).reduce((s,_)=>s>_?s:_);return r.filter(s=>(s.priority??0)>=c)}return r},[n]);return M(()=>{e&&p(l({violations:e}))},[l]),L(o=>{o.type==="complete"||o.type==="invalid"||o.type==="failed"||!a.current||p(l({violations:o.violations,negotiationStage:o.negotiationStage}))}),u.filter(k("localizedMessage"))}function G(e){return e.__typename!=="ConfirmChangeViolation"&&e.__typename!=="UnprocessableTermViolation"&&e.__typename!=="RemoveTermViolation"}export{$ as P,Z as R};