import{e as fi,f as _i}from"./chunk-6BOHO7KR.js";import{a as $,b as gt,c as vt,d as tt,u as pe,y as Me,z as Te}from"./chunk-TY25JYYQ.js";import{D as Nt,E as Ot,F as gi,G as vi,g as hi}from"./chunk-6H426FHA.js";import{z as mi}from"./chunk-FTZQQK5T.js";import{F as X,M as et,N as ui}from"./chunk-6M5IHSHH.js";import{$ as Xe,Cc as Rt,E as Fe,F as oi,Fa as Ge,G as Ve,Ia as di,K as It,L as Mt,Na as Ie,O as Tt,Ob as Bt,Qa as ve,R as ai,S as We,U as Ke,Ua as Qe,Va as Ze,Z as ze,Za as le,_a as de,aa as Ue,b as ni,c as He,ca as Je,da as qe,e as L,ea as De,eb as Et,f as Ne,fa as ci,g as Oe,gb as wt,lc as pi,n as mt,nb as Pt,ob as $t,p as ri,qa as si,r as je,ra as li,s as Dt,u as Le,z as ht}from"./chunk-W2ZDDUN5.js";import{Ac as Xt,Ba as A,Ca as F,Cd as lt,Ce as ei,D as M,Ef as he,Fd as Ee,Ff as ii,Gd as ke,Hb as d,Hc as Jt,Ib as l,Id as ce,Ih as Be,J as ot,Jb as g,Jf as pt,Ka as ct,Kb as w,Ke as ti,Kf as ut,Lb as P,Lf as St,M as at,Mb as Ce,Mf as kt,Mh as Re,N as oe,Nb as G,Of as bt,Pc as me,Qc as Q,R as ie,Rc as Qt,Sb as T,Sc as Zt,Tb as m,Tf as $e,Tg as se,Uf as be,Va as Wt,Vc as st,Ve as Pe,Wb as B,Wc as W,Xb as Ct,Yg as Ae,Zg as ge,_a as r,a as Gt,b as _t,bc as j,cc as y,d as ye,dc as Ye,dd as q,ec as x,fb as f,fc as xe,gb as Kt,gh as K,ha as R,hb as U,he as H,hh as z,i as Yt,ib as O,kb as zt,la as J,n as V,na as Ht,nb as v,nc as ae,oc as k,pc as xt,pe as we,r as _,ra as ne,s as E,sa as N,tb as D,ua as S,ub as s,uc as a,ue as dt,va as b,vc as c,wb as yt,wc as Se,xg as At,yc as Y,yg as Ft}from"./chunk-5LB5MWMX.js";import{a as qt}from"./chunk-QWWW7GFA.js";function ki(i,p){}function bi(i,p){if(i&1&&(d(0,"section"),a(1,"cxTranslate"),v(2,ki,0,0,"ng-template",6),l()),i&2){m();let e=j(2);D("aria-label",c(1,2,"checkoutAddress.shippingAddress")),r(2),s("ngTemplateOutlet",e)}}function Ai(i,p){i&1&&Ce(0)}function Fi(i,p){if(i&1){let e=G();d(0,"div",20)(1,"div",21),T("click",function(){let n=A(e).$implicit,o=m(5);return F(o.selectAddress(n.address))}),d(2,"cx-card",22),T("sendCard",function(){let n=A(e).$implicit,o=m(5);return F(o.selectAddress(n.address))}),l()()()}if(i&2){let e=p.$implicit,t=p.index;r(2),s("border",!0)("index",t)("fitToContainer",!0)("content",e.card)("role","group")}}function Di(i,p){if(i&1){let e=G();d(0,"p",10),y(1),a(2,"cxTranslate"),l(),d(3,"div",11)(4,"button",12),T("click",function(){A(e);let n=m(4);return F(n.showNewAddressForm())}),y(5),a(6,"cxTranslate"),l()(),d(7,"div",13),v(8,Fi,3,5,"div",14),l(),d(9,"div",15)(10,"button",12),T("click",function(){A(e);let n=m(4);return F(n.showNewAddressForm())}),y(11),a(12,"cxTranslate"),l()(),d(13,"div",16)(14,"div",17)(15,"button",18),T("click",function(){A(e);let n=m(4);return F(n.back())}),y(16),a(17,"cxTranslate"),l()(),d(18,"div",17)(19,"button",19),a(20,"async"),T("click",function(){A(e);let n=m(4);return F(n.next())}),y(21),a(22,"cxTranslate"),l()()()}if(i&2){let e,t=m(2).ngIf,n=m(2);r(),x(" ",c(2,7,"checkoutAddress.selectYourDeliveryAddress")," "),r(4),x(" ",c(6,9,"checkoutAddress.addNewAddress")," "),r(3),s("ngForOf",t),r(3),x(" ",c(12,11,"checkoutAddress.addNewAddress")," "),r(5),x(" ",c(17,13,n.backBtnText)," "),r(3),s("disabled",!((e=c(20,15,n.selectedAddress$))!=null&&e.id)),r(2),x(" ",c(22,17,"common.continue")," ")}}function Ii(i,p){if(i&1){let e=G();d(0,"cx-address-form",24),T("backToAddress",function(){A(e);let n=m(5);return F(n.hideNewAddressForm(!1))})("submitAddress",function(n){A(e);let o=m(5);return F(o.addAddress(n))}),l()}i&2&&s("showTitleCode",!0)}function Mi(i,p){if(i&1){let e=G();d(0,"cx-address-form",25),a(1,"cxTranslate"),T("backToAddress",function(){A(e);let n=m(5);return F(n.hideNewAddressForm(!0))})("submitAddress",function(n){A(e);let o=m(5);return F(o.addAddress(n))}),l()}if(i&2){let e=m(5);B("cancelBtnLabel",c(1,4,e.backBtnText)),s("showTitleCode",!0)("setAsDefaultField",!e.isGuestCheckout)("addressData",e.selectedAddress)}}function Ti(i,p){if(i&1&&v(0,Ii,1,1,"cx-address-form",23)(1,Mi,2,6,"ng-template",null,4,Y),i&2){let e=j(2),t=m(2).ngIf;s("ngIf",t.length)("ngIfElse",e)}}function Ei(i,p){if(i&1&&(w(0),v(1,Ai,1,0,"ng-container",9)(2,Di,23,19,"ng-template",null,2,Y)(4,Ti,3,2,"ng-template",null,3,Y),P()),i&2){let e=j(3),t=j(5),n=m().ngIf,o=m(2);r(),s("ngIf",(n==null?null:n.length)&&!o.addressFormOpened)("ngIfThen",e)("ngIfElse",t)}}function wi(i,p){if(i&1&&(w(0),v(1,Ei,6,3,"ng-container",5),a(2,"async"),P()),i&2){let e=m(2),t=j(4);r(),s("ngIf",!c(2,2,e.isUpdating$))("ngIfElse",t)}}function Pi(i,p){if(i&1&&(d(0,"h2",7),y(1),a(2,"cxTranslate"),l(),v(3,wi,3,4,"ng-container",8),a(4,"async")),i&2){let e=m();r(),x(" ",c(2,2,"checkoutAddress.shippingAddress")," "),r(2),s("ngIf",c(4,4,e.cards$))}}function $i(i,p){i&1&&(d(0,"div",26),g(1,"cx-spinner"),l())}var Bi=i=>({item:i}),Ci=i=>({items:i,readonly:!0});function Ri(i,p){if(i&1){let e=G();d(0,"div",13)(1,"input",14),T("change",function(n){let o=A(e).$implicit,h=m(2);return F(h.changeMode(o.code,n))})("click",function(n){let o=A(e).$implicit,h=m(2);return F(h.changeMode(o.code,n))}),l(),d(2,"label",15)(3,"div",16),y(4),d(5,"span",17),y(6),l()(),d(7,"div",18),y(8),l(),g(9,"div",19),l()()}if(i&2){let e=p.$implicit,t=m(2);r(),Ct("id","deliveryMode-",e.code,""),s("value",e.code),D("aria-checked",t.getAriaChecked(e.code))("aria-label",e.name+" "+e.description+" "+(e.deliveryCost==null?null:e.deliveryCost.formattedValue)),r(),Ct("for","deliveryMode-",e.code,""),r(2),x(" ",e.name," "),r(2),x("(",e.description,")"),r(2),x(" ",e.deliveryCost==null?null:e.deliveryCost.formattedValue," ")}}function Ni(i,p){}function Oi(i,p){if(i&1&&(w(0),d(1,"div",10),v(2,Ri,10,10,"div",11)(3,Ni,0,0,"ng-template",12),a(4,"async"),l(),P()),i&2){let e=p.ngIf,t=m();r(),s("formGroup",t.mode),r(),s("ngForOf",e),r(),s("cxOutlet",t.CartOutlets.DELIVERY_MODE)("cxOutletContext",k(6,Bi,c(4,4,t.activeCartFacade.getActive())))}}function ji(i,p){}function Li(i,p){if(i&1&&(w(0),d(1,"h2",2),y(2),a(3,"cxTranslate"),l(),v(4,ji,0,0,"ng-template",12),a(5,"async"),P()),i&2){let e=m();r(2),x(" ",c(3,3,"checkoutMode.deliveryEntries")," "),r(2),s("cxOutlet",e.CartOutlets.CART_ITEM_LIST)("cxOutletContext",k(7,Ci,c(5,5,e.activeCartFacade.getDeliveryEntries())))}}function Vi(i,p){i&1&&(d(0,"div",20),g(1,"cx-spinner"),l())}var fe=i=>({label:i});function Ui(i,p){}var it=()=>({required:"true"}),nt=i=>({ariaLabel:i});function qi(i,p){if(i&1){let e=G();w(0),d(1,"div",5)(2,"div",6)(3,"label")(4,"input",7),a(5,"cxTranslate"),T("change",function(){A(e);let n=m();return F(n.toggleSameAsDeliveryAddress())}),l(),d(6,"span",8),y(7),a(8,"cxTranslate"),l()()()(),P()}if(i&2){let e=m();r(4),s("checked",e.sameAsDeliveryAddress),D("aria-label",c(5,3,"paymentForm.billingAddressSameAsShipping")),r(3),Ye(c(8,5,"paymentForm.sameAsDeliveryAddress"))}}function Gi(i,p){if(i&1&&(w(0),g(1,"cx-card",9),P()),i&2){let e=p.ngIf,t=m();r(),s("content",t.getAddressCardContent(e))}}function Yi(i,p){if(i&1){let e=G();d(0,"div")(1,"label")(2,"span",12),y(3),a(4,"cxTranslate"),g(5,"cx-form-required-asterisks"),l(),d(6,"ng-select",28),a(7,"cxTranslate"),a(8,"cxTranslate"),T("change",function(n){A(e);let o=m(3);return F(o.countrySelected(n))}),l(),g(9,"cx-form-errors",29),l()()}if(i&2){let e,t=m().ngIf,n=m(2);r(3),x(" ",c(4,10,"addressForm.country")," "),r(3),B("placeholder",c(7,12,"addressForm.selectOne")),s("inputAttrs",ae(16,it))("searchable",!0)("clearable",!1)("items",t)("cxNgSelectA11y",k(17,nt,c(8,14,"addressForm.country"))),D("aria-invalid",((e=n.billingAddressForm.get("isocode"))==null?null:e.touched)&&((e=n.billingAddressForm.get("isocode"))==null?null:e.invalid))("aria-errormessage","isocodeError"),r(3),s("control",n.billingAddressForm.get("country.isocode"))}}function Hi(i,p){if(i&1&&(w(0),v(1,Yi,10,19,"div",3),P()),i&2){let e=p.ngIf;r(),s("ngIf",e.length!==0)}}function Wi(i,p){if(i&1&&(w(0),d(1,"div",22)(2,"label")(3,"span",12),y(4),a(5,"cxTranslate"),l(),g(6,"ng-select",31),a(7,"cxTranslate"),a(8,"cxTranslate"),g(9,"cx-form-errors",32),l()(),P()),i&2){let e,t=m().ngIf,n=m(2);r(4),Ye(c(5,12,"addressForm.state")),r(2),B("bindLabel",t[0].name?"name":"isocodeShort"),B("bindValue",t[0].name?"isocodeShort":"region"),B("placeholder",c(7,14,"addressForm.selectOne")),s("inputAttrs",ae(18,it))("searchable",!0)("clearable",!1)("items",t)("cxNgSelectA11y",k(19,nt,c(8,16,"addressForm.state"))),D("aria-invalid",((e=n.billingAddressForm.get("isocodeShort"))==null?null:e.touched)&&((e=n.billingAddressForm.get("isocodeShort"))==null?null:e.invalid))("aria-errormessage","isocodeShortError"),r(3),s("control",n.billingAddressForm.get("region.isocodeShort"))}}function Ki(i,p){if(i&1&&(w(0,30),v(1,Wi,10,21,"ng-container",3),P()),i&2){let e=p.ngIf;r(),s("ngIf",e.length!==0)}}function zi(i,p){if(i&1&&(d(0,"div",10),g(1,"cx-form-required-legend"),d(2,"div",11),v(3,Hi,2,1,"ng-container",3),a(4,"async"),l(),d(5,"div",5)(6,"label")(7,"span",12),y(8),a(9,"cxTranslate"),g(10,"cx-form-required-asterisks"),l(),g(11,"input",13),a(12,"cxTranslate"),g(13,"cx-form-errors",14),l()(),d(14,"div",5)(15,"label")(16,"span",12),y(17),a(18,"cxTranslate"),g(19,"cx-form-required-asterisks"),l(),g(20,"input",15),a(21,"cxTranslate"),g(22,"cx-form-errors",16),l()(),d(23,"div",5)(24,"label")(25,"span",12),y(26),a(27,"cxTranslate"),g(28,"cx-form-required-asterisks"),l(),g(29,"input",17),a(30,"cxTranslate"),g(31,"cx-form-errors",18),l()(),d(32,"div",5)(33,"label")(34,"span",19),y(35),a(36,"cxTranslate"),l(),g(37,"input",20),a(38,"cxTranslate"),l()(),d(39,"div",21)(40,"div",22)(41,"label")(42,"span",12),y(43),a(44,"cxTranslate"),g(45,"cx-form-required-asterisks"),l(),g(46,"input",23),a(47,"cxTranslate"),g(48,"cx-form-errors",24),l()(),d(49,"div",22)(50,"label")(51,"span",12),y(52),a(53,"cxTranslate"),g(54,"cx-form-required-asterisks"),l(),g(55,"input",25),a(56,"cxTranslate"),g(57,"cx-form-errors",26),l()(),v(58,Ki,2,1,"ng-container",27),a(59,"async"),l()()),i&2){let e,t,n,o,h,u=m();s("formGroup",u.billingAddressForm),r(3),s("ngIf",c(4,30,u.countries$)),r(5),x(" ",c(9,32,"addressForm.firstName.label")," "),r(3),B("placeholder",c(12,34,"addressForm.firstName.placeholder")),D("aria-invalid",((e=u.billingAddressForm.get("firstName"))==null?null:e.touched)&&((e=u.billingAddressForm.get("firstName"))==null?null:e.invalid))("aria-errormessage","firstNameError"),r(2),s("control",u.billingAddressForm.get("firstName")),r(4),x(" ",c(18,36,"addressForm.lastName.label")," "),r(3),B("placeholder",c(21,38,"addressForm.lastName.placeholder")),D("aria-invalid",((t=u.billingAddressForm.get("lastName"))==null?null:t.touched)&&((t=u.billingAddressForm.get("lastName"))==null?null:t.invalid))("aria-errormessage","lastNameError"),r(2),s("control",u.billingAddressForm.get("lastName")),r(4),x(" ",c(27,40,"addressForm.address1")," "),r(3),B("placeholder",c(30,42,"addressForm.streetAddress")),D("aria-invalid",((n=u.billingAddressForm.get("line1"))==null?null:n.touched)&&((n=u.billingAddressForm.get("line1"))==null?null:n.invalid))("aria-errormessage","line1Error"),r(2),s("control",u.billingAddressForm.get("line1")),r(4),Ye(c(36,44,"addressForm.address2")),r(2),B("placeholder",c(38,46,"addressForm.aptSuite")),r(6),x(" ",c(44,48,"addressForm.city.label")," "),r(3),B("placeholder",c(47,50,"addressForm.city.placeholder")),D("aria-invalid",((o=u.billingAddressForm.get("town"))==null?null:o.touched)&&((o=u.billingAddressForm.get("town"))==null?null:o.invalid))("aria-errormessage","townError"),r(2),s("control",u.billingAddressForm.get("town")),r(4),x(" ",c(53,52,"addressForm.zipCode.label")," "),r(3),B("placeholder",c(56,54,"addressForm.zipCode.placeholder")),D("aria-invalid",((h=u.billingAddressForm.get("postalCode"))==null?null:h.touched)&&((h=u.billingAddressForm.get("postalCode"))==null?null:h.invalid))("aria-errormessage","postalCodeError"),r(2),s("control",u.billingAddressForm.get("postalCode")),r(),s("ngIf",c(59,56,u.regions$))}}var yi=i=>({selected:i});function Xi(i,p){if(i&1&&(d(0,"div")(1,"label")(2,"span",28),y(3),a(4,"cxTranslate"),g(5,"cx-form-required-asterisks"),l(),g(6,"ng-select",29),a(7,"cxTranslate"),a(8,"cxTranslate"),g(9,"cx-form-errors",17),a(10,"cxTranslate"),l()()),i&2){let e=m().ngIf,t=m(2);r(3),x("",c(4,9,"paymentForm.paymentType")," "),r(3),B("placeholder",c(7,11,"paymentForm.selectOne")),s("inputAttrs",ae(17,it))("searchable",!0)("clearable",!1)("items",e)("cxNgSelectA11y",k(18,nt,c(8,13,"paymentForm.paymentType"))),r(3),s("translationParams",k(20,fe,c(10,15,"paymentForm.paymentType")))("control",t.paymentForm.get("cardType.code"))}}function Ji(i,p){if(i&1&&(w(0),v(1,Xi,11,22,"div",6),P()),i&2){let e=p.ngIf;r(),s("ngIf",e.length!==0)}}function Qi(i,p){if(i&1){let e=G();d(0,"div",7)(1,"div",30)(2,"label")(3,"input",31),T("change",function(){A(e);let n=m(2);return F(n.toggleDefaultPaymentMethod())}),l(),d(4,"span",32),y(5),a(6,"cxTranslate"),l()()()()}i&2&&(r(5),Ye(c(6,1,"paymentForm.setAsDefault")))}function Zi(i,p){if(i&1){let e=G();d(0,"button",33),T("click",function(){A(e);let n=m(2);return F(n.back())}),y(1),a(2,"cxTranslate"),l()}i&2&&(r(),x(" ",c(2,1,"common.back")," "))}function en(i,p){if(i&1){let e=G();d(0,"button",33),T("click",function(){A(e);let n=m(2);return F(n.close())}),y(1),a(2,"cxTranslate"),l()}i&2&&(r(),x(" ",c(2,1,"paymentForm.changePayment")," "))}function tn(i,p){if(i&1){let e=G();w(0),g(1,"cx-form-required-legend"),d(2,"form",2),T("ngSubmit",function(){A(e);let n=m();return F(n.next())}),d(3,"div",3)(4,"div",4)(5,"div",5),v(6,Ji,2,1,"ng-container",6),a(7,"async"),l(),d(8,"div",7)(9,"label")(10,"span",8),y(11),a(12,"cxTranslate"),g(13,"cx-form-required-asterisks"),l(),g(14,"input",9),a(15,"cxTranslate"),g(16,"cx-form-errors",10),a(17,"cxTranslate"),l()(),d(18,"div",7)(19,"label")(20,"span",8),y(21),a(22,"cxTranslate"),g(23,"cx-form-required-asterisks"),l(),g(24,"input",11)(25,"cx-form-errors",12),a(26,"cxTranslate"),l()(),d(27,"div",3)(28,"div",13)(29,"fieldset",14)(30,"legend",8),y(31),a(32,"cxTranslate"),g(33,"cx-form-required-asterisks"),l(),d(34,"label",15),g(35,"ng-select",16),a(36,"cxTranslate"),a(37,"cxTranslate"),g(38,"cx-form-errors",17),a(39,"cxTranslate"),l(),d(40,"label",15),g(41,"ng-select",18),a(42,"cxTranslate"),a(43,"cxTranslate"),g(44,"cx-form-errors",17),a(45,"cxTranslate"),l()()(),d(46,"div",19)(47,"label")(48,"span",8),y(49),a(50,"cxTranslate"),g(51,"cx-form-required-asterisks")(52,"cx-icon",20),a(53,"cxTranslate"),a(54,"cxTranslate"),l(),g(55,"input",21)(56,"cx-form-errors",22),a(57,"cxTranslate"),l()()(),v(58,Qi,7,3,"div",23),g(59,"cx-checkout-billing-address-form"),l()(),d(60,"div",24)(61,"div",25),v(62,Zi,3,3,"button",26)(63,en,3,3,"button",26),l(),d(64,"div",25)(65,"button",27),y(66),a(67,"cxTranslate"),l()()()(),P()}if(i&2){let e,t,n,o,h,u=m();r(2),s("formGroup",u.paymentForm),r(4),s("ngIf",c(7,42,u.cardTypes$)),r(5),x("",c(12,44,"paymentForm.accountHolderName.label")," "),r(3),B("placeholder",c(15,46,"paymentForm.accountHolderName.placeholder")),D("aria-invalid",((e=u.paymentForm.get("accountHolderName"))==null?null:e.touched)&&((e=u.paymentForm.get("accountHolderName"))==null?null:e.invalid))("aria-errormessage","accountHolderNameError"),r(2),s("translationParams",k(80,fe,c(17,48,"paymentForm.accountHolderName.label")))("control",u.paymentForm.get("accountHolderName")),r(5),x("",c(22,50,"paymentForm.cardNumber")," "),r(3),D("aria-invalid",((t=u.paymentForm.get("cardNumber"))==null?null:t.touched)&&((t=u.paymentForm.get("cardNumber"))==null?null:t.invalid))("aria-errormessage","cardNumberError"),r(),s("translationParams",k(82,fe,c(26,52,"paymentForm.cardNumber")))("control",u.paymentForm.get("cardNumber")),r(6),x(" ",c(32,54,"paymentForm.expirationDate")," "),r(4),B("placeholder",c(36,56,"paymentForm.monthMask")),s("inputAttrs",ae(84,it))("searchable",!0)("clearable",!1)("items",u.months)("cxNgSelectA11y",k(87,nt,Se(37,58,"paymentForm.expirationMonth",k(85,yi,(n=u.paymentForm.get("expiryMonth"))==null?null:n.value)))),r(3),s("translationParams",k(89,fe,c(39,61,"paymentForm.expirationDate")))("control",u.paymentForm.get("expiryMonth")),r(3),B("placeholder",c(42,63,"paymentForm.yearMask")),s("inputAttrs",ae(91,it))("searchable",!0)("clearable",!1)("items",u.years)("cxNgSelectA11y",k(94,nt,Se(43,65,"paymentForm.expirationYear",k(92,yi,(o=u.paymentForm.get("expiryYear"))==null?null:o.value)))),r(3),s("translationParams",k(96,fe,c(45,68,"paymentForm.expirationDate")))("control",u.paymentForm.get("expiryYear")),r(5),x(" ",c(50,70,"paymentForm.securityCode")," "),r(3),B("title",c(53,72,"paymentForm.securityCodeTitle")),s("type",u.iconTypes.INFO),D("aria-label",c(54,74,"paymentForm.securityCodeTitle")),r(3),D("aria-invalid",((h=u.paymentForm.get("cvn"))==null?null:h.touched)&&((h=u.paymentForm.get("cvn"))==null?null:h.invalid))("aria-errormessage","cvnError"),r(),s("translationParams",k(98,fe,c(57,76,"paymentForm.securityCode")))("control",u.paymentForm.get("cvn")),r(2),s("ngIf",u.setAsDefaultField),r(4),s("ngIf",u.paymentMethodsCount===0),r(),s("ngIf",u.paymentMethodsCount>0),r(3),x(" ",c(67,78,"common.continue")," ")}}function nn(i,p){i&1&&g(0,"cx-spinner")}function rn(i,p){}function on(i,p){if(i&1&&(d(0,"section"),a(1,"cxTranslate"),v(2,rn,0,0,"ng-template",5),l()),i&2){m();let e=j(2);D("aria-label",c(1,2,"paymentForm.payment")),r(2),s("ngTemplateOutlet",e)}}function an(i,p){i&1&&Ce(0)}function cn(i,p){if(i&1&&(w(0),v(1,an,1,0,"ng-container",8),P()),i&2){let e=m().ngIf,t=j(4),n=j(6),o=m(2);r(),s("ngIf",(e==null?null:e.length)&&!o.newPaymentFormManuallyOpened)("ngIfThen",t)("ngIfElse",n)}}function sn(i,p){if(i&1){let e=G();d(0,"div",18)(1,"div",19),T("click",function(){let n=A(e).$implicit,o=m(4);return F(o.selectPaymentMethod(n.paymentMethod))}),d(2,"cx-card",20),T("sendCard",function(){let n=A(e).$implicit,o=m(4);return F(o.selectPaymentMethod(n.paymentMethod))}),l()()()}if(i&2){let e=p.$implicit,t=p.index;r(2),s("border",!0)("fitToContainer",!0)("content",e.content)("index",t)}}function ln(i,p){if(i&1){let e=G();d(0,"p",9),y(1),a(2,"cxTranslate"),l(),d(3,"div",10)(4,"button",11),T("click",function(){A(e);let n=m(3);return F(n.showNewPaymentForm())}),y(5),a(6,"cxTranslate"),l()(),d(7,"div",12),v(8,sn,3,4,"div",13),l(),d(9,"div",14)(10,"button",11),T("click",function(){A(e);let n=m(3);return F(n.showNewPaymentForm())}),y(11),a(12,"cxTranslate"),l()(),d(13,"div",15)(14,"div",16)(15,"button",11),T("click",function(){A(e);let n=m(3);return F(n.back())}),y(16),a(17,"cxTranslate"),l()(),d(18,"div",16)(19,"button",17),a(20,"async"),T("click",function(){A(e);let n=m(3);return F(n.next())}),y(21),a(22,"cxTranslate"),l()()()}if(i&2){let e,t=m().ngIf,n=m(2);r(),x(" ",c(2,7,"paymentForm.choosePaymentMethod")," "),r(4),x(" ",c(6,9,"paymentForm.addNewPayment")," "),r(3),s("ngForOf",t),r(3),x(" ",c(12,11,"paymentForm.addNewPayment")," "),r(5),x(" ",c(17,13,n.backBtnText)," "),r(3),s("disabled",!((e=c(20,15,n.selectedMethod$))!=null&&e.id)),r(2),x(" ",c(22,17,"common.continue")," ")}}function dn(i,p){if(i&1){let e=G();d(0,"cx-payment-form",21),a(1,"async"),T("setPaymentDetails",function(n){A(e);let o=m(3);return F(o.setPaymentDetails(n))})("closeForm",function(){A(e);let n=m(3);return F(n.hideNewPaymentForm())})("goBack",function(){A(e);let n=m(3);return F(n.back())}),l()}if(i&2){let e=m().ngIf,t=m(2);s("paymentMethodsCount",(e==null?null:e.length)||0)("setAsDefaultField",!t.isGuestCheckout&&!!(e!=null&&e.length))("loading",c(1,4,t.isUpdating$))("paymentDetails",t.paymentDetails)}}function pn(i,p){if(i&1&&(w(0),v(1,cn,2,3,"ng-container",4),a(2,"async"),v(3,ln,23,19,"ng-template",null,2,Y)(5,dn,2,6,"ng-template",null,3,Y),P()),i&2){let e=m(2),t=j(4);r(),s("ngIf",!c(2,2,e.isUpdating$))("ngIfElse",t)}}function un(i,p){if(i&1&&(d(0,"h2",6),y(1),a(2,"cxTranslate"),l(),v(3,pn,7,4,"ng-container",7),a(4,"async")),i&2){let e=m();r(),x(" ",c(2,2,"paymentForm.payment")," "),r(2),s("ngIf",c(4,4,e.cards$))}}function mn(i,p){i&1&&(d(0,"div",22),g(1,"cx-spinner"),l())}var xi=i=>[i],hn=i=>({cxRoute:"termsAndConditions",params:i});function gn(i,p){if(i&1&&(d(0,"div",4)(1,"div"),y(2),a(3,"cxTranslate"),l()()),i&2){let e=m(),t=e.$implicit,n=e.index;r(2),xe("",n+1,". ",c(3,2,t.name),"")}}function vn(i,p){if(i&1&&(d(0,"div"),v(1,gn,4,4,"div",3),l()),i&2){let e=p.index,t=m(2);r(),s("ngIf",e>t.activeStepIndex)}}function fn(i,p){if(i&1&&(d(0,"div")(1,"div",1),v(2,vn,2,1,"div",2),a(3,"async"),l()()),i&2){let e=m();r(2),s("ngForOf",c(3,1,e.steps$))}}var jt=i=>({count:i}),_e=i=>({cxRoute:i});function _n(i,p){if(i&1&&(d(0,"div",4),y(1),a(2,"cxTranslate"),l()),i&2){let e=m().ngIf;r(),xe(" ",Se(2,2,"cartItems.cartTotal",k(5,jt,e.totalItems)),": ",e.subTotal.formattedValue," ")}}function yn(i,p){if(i&1&&(d(0,"div",7)(1,"div",8),y(2),a(3,"cxTranslate"),l(),d(4,"button",9),a(5,"cxUrl"),y(6),a(7,"cxTranslate"),l()()),i&2){let e=m(),t=e.$implicit,n=e.index;r(2),xe("",n+1,". ",c(3,4,t.name),""),r(2),s("routerLink",c(5,6,k(10,_e,t.routeName))),r(2),x(" ",c(7,8,"common.edit")," ")}}function Cn(i,p){if(i&1&&(d(0,"div",10)(1,"div",8),y(2),a(3,"cxTranslate"),l()()),i&2){let e=m(),t=e.$implicit,n=e.index;r(2),xe("",n+1,". ",c(3,2,t.name),"")}}function xn(i,p){if(i&1&&(d(0,"div"),v(1,yn,8,12,"div",5)(2,Cn,4,4,"div",6),l()),i&2){let e=p.index,t=m(3);r(),s("ngIf",e<t.activeStepIndex),r(),s("ngIf",e===t.activeStepIndex)}}function Sn(i,p){if(i&1&&(d(0,"div")(1,"div",1),v(2,_n,3,7,"div",2)(3,xn,3,2,"div",3),a(4,"async"),l()()),i&2){let e=p.ngIf,t=m(2);r(2),s("ngIf",(e==null?null:e.totalItems)&&(e==null?null:e.subTotal)),r(),s("ngForOf",c(4,2,t.steps$))}}function kn(i,p){if(i&1&&(d(0,"div"),v(1,Sn,5,4,"div",0),a(2,"async"),l()),i&2){let e=m();r(),s("ngIf",c(2,1,e.cart$))}}var bn=(i,p)=>({cxRoute:i,params:p}),An=i=>({step:i});function Fn(i,p){if(i&1&&(w(0),d(1,"li",4),g(2,"a",5),a(3,"async"),a(4,"cxUrl"),a(5,"cxTranslate"),a(6,"cxMultiLine"),a(7,"cxTranslate"),a(8,"cxTranslate"),a(9,"cxTranslate"),l(),P()),i&2){let e=p.$implicit,t=p.index,n=m(2);r(),yt("active",n.isActive(t))("disabled",n.isDisabled(t)),r(),yt("active",n.isActive(t))("disabled",n.isDisabled(t)),s("routerLink",c(4,16,xt(31,bn,e.routeName,k(29,xi,c(3,14,n.params$)))))("tabindex",n.getTabIndex(t))("innerHTML",e.nameMultiLine!==!1?c(6,20,c(5,18,e.name)):c(7,22,e.name),Wt),D("aria-current",n.isActive(t)?"step":null)("aria-disabled",n.isDisabled(t)?"true":null)("aria-label",Se(9,26,"checkoutProgress.state."+n.getStepState(t),k(34,An,c(8,24,e.name))))}}function Dn(i,p){if(i&1&&(d(0,"nav"),a(1,"cxTranslate"),d(2,"div",1)(3,"ul",2),v(4,Fn,10,36,"ng-container",3),a(5,"async"),l()()()),i&2){let e=m();D("aria-label",c(1,2,"checkoutProgress.label")),r(4),s("ngForOf",c(5,4,e.steps$))}}var In=i=>({item:i,readonly:!0}),ft=()=>[],Mn=(i,p)=>({items:i,readonly:!0,promotionLocation:p});function Tn(i,p){i&1&&Ce(0)}function En(i,p){if(i&1&&(w(0),v(1,Tn,1,0,"ng-container",12),P()),i&2){m(3);let e=j(12);r(),s("ngTemplateOutlet",e)}}function wn(i,p){if(i&1&&(w(0)(1,10),v(2,En,2,1,"ng-container",11),P()()),i&2){let e=p.$implicit,t=m(2);r(),s("ngSwitch",e.type[0]),r(),s("ngSwitchCase",t.checkoutStepTypePaymentDetails)}}function Pn(i,p){i&1&&Ce(0)}function $n(i,p){if(i&1&&(w(0),v(1,Pn,1,0,"ng-container",12),P()),i&2){m(3);let e=j(8);r(),s("ngTemplateOutlet",e)}}function Bn(i,p){i&1&&Ce(0)}function Rn(i,p){if(i&1&&(w(0),v(1,Bn,1,0,"ng-container",12),P()),i&2){m(3);let e=j(10);r(),s("ngTemplateOutlet",e)}}function Nn(i,p){if(i&1&&(w(0)(1,10),v(2,$n,2,1,"ng-container",11)(3,Rn,2,1,"ng-container",11),P()()),i&2){let e=p.$implicit,t=m(2);r(),s("ngSwitch",e.type[0]),r(),s("ngSwitchCase",t.checkoutStepTypeDeliveryAddress),r(),s("ngSwitchCase",t.checkoutStepTypeDeliveryMode)}}function On(i,p){if(i&1&&(w(0),d(1,"div",7),v(2,wn,3,2,"ng-container",8),l(),d(3,"div",9),v(4,Nn,4,3,"ng-container",8),l(),P()),i&2){let e=p.ngIf,t=m();r(2),s("ngForOf",t.paymentSteps(e)),r(2),s("ngForOf",t.deliverySteps(e))}}function jn(i,p){if(i&1&&(d(0,"div",14),g(1,"cx-card",15),a(2,"async"),d(3,"div",16)(4,"a",17),a(5,"cxUrl"),a(6,"cxTranslate"),g(7,"cx-icon",18),l()()()),i&2){let e=p.ngIf,t=m(2);r(),s("content",c(2,4,t.getDeliveryAddressCard(e))),r(3),s("routerLink",c(5,6,k(10,_e,t.getCheckoutStepUrl(t.checkoutStepTypeDeliveryAddress)))),D("title",c(6,8,"checkoutReview.editDeliveryAddressDetails")),r(3),s("type",t.iconTypes.PENCIL)}}function Ln(i,p){if(i&1&&(v(0,jn,8,12,"div",13),a(1,"async")),i&2){let e=m();s("ngIf",c(1,1,e.deliveryAddress$))}}function Vn(i,p){if(i&1&&(g(0,"cx-card",15),a(1,"async")),i&2){let e=p.ngIf,t=m(2);s("content",c(1,1,t.getDeliveryModeCard(e)))}}function Un(i,p){}function qn(i,p){if(i&1&&(d(0,"div",19)(1,"div"),v(2,Vn,2,3,"cx-card",20),a(3,"async"),v(4,Un,0,0,"ng-template",21),a(5,"async"),l(),d(6,"div",16)(7,"a",17),a(8,"cxUrl"),a(9,"cxTranslate"),g(10,"cx-icon",18),l()()()),i&2){let e=m();r(2),s("ngIf",c(3,6,e.deliveryMode$)),r(2),s("cxOutlet",e.cartOutlets.DELIVERY_MODE)("cxOutletContext",k(14,In,c(5,8,e.cart$))),r(3),s("routerLink",c(8,10,k(16,_e,e.getCheckoutStepUrl(e.checkoutStepTypeDeliveryMode)))),D("title",c(9,12,"checkoutReview.editDeliveryMode")),r(3),s("type",e.iconTypes.PENCIL)}}function Gn(i,p){if(i&1&&(g(0,"cx-card",15),a(1,"async")),i&2){let e=p.ngIf,t=m(2);s("content",c(1,1,t.getPaymentMethodCard(e)))}}function Yn(i,p){if(i&1&&(d(0,"div",22)(1,"div"),v(2,Gn,2,3,"cx-card",20),a(3,"async"),l(),d(4,"div",16)(5,"a",17),a(6,"cxUrl"),a(7,"cxTranslate"),g(8,"cx-icon",18),l()()()),i&2){let e=m();r(2),s("ngIf",c(3,4,e.paymentDetails$)),r(3),s("routerLink",c(6,6,k(10,_e,e.getCheckoutStepUrl(e.checkoutStepTypePaymentDetails)))),D("title",c(7,8,"checkoutReview.editPaymentDetails")),r(3),s("type",e.iconTypes.PENCIL)}}function Hn(i,p){}function Wn(i,p){if(i&1&&(d(0,"div",26),g(1,"cx-promotions",27),v(2,Hn,0,0,"ng-template",21),l()),i&2){let e=p.ngIf,t=m().ngIf,n=m();r(),s("promotions",(t.appliedOrderPromotions||ae(3,ft)).concat(t.potentialOrderPromotions||ae(4,ft))),r(),s("cxOutlet",n.cartOutlets.CART_ITEM_LIST)("cxOutletContext",xt(5,Mn,e,n.promotionLocation))}}function Kn(i,p){if(i&1&&(w(0),d(1,"div",23),y(2),a(3,"cxTranslate"),l(),d(4,"div",24),y(5),a(6,"cxTranslate"),l(),v(7,Wn,3,8,"div",25),a(8,"async"),P()),i&2){let e=p.ngIf,t=m();r(2),xe(" ",Se(3,4,"cartItems.cartTotal",k(11,jt,e.deliveryItemsQuantity)),": ",e.totalPrice==null?null:e.totalPrice.formattedValue," "),r(3),x(" ",c(6,7,"checkoutReview.placeOrder")," "),r(2),s("ngIf",c(8,9,t.entries$))}}function zn(i,p){if(i&1&&(w(0),d(1,"div",1),y(2),a(3,"cxTranslate"),l(),g(4,"cx-promotions",2),P()),i&2){let e=p.ngIf;r(2),xe(" ",Se(3,3,"cartItems.cartTotal",k(6,jt,e.totalUnitCount)),": ",e.totalPrice==null?null:e.totalPrice.formattedValue," "),r(2),s("promotions",(e.appliedOrderPromotions||ae(8,ft)).concat(e.potentialOrderPromotions||ae(9,ft)))}}function Xn(i,p){if(i&1&&(d(0,"div",1)(1,"div",2)(2,"div"),g(3,"cx-card",3),a(4,"async"),l(),d(5,"div",4)(6,"a",5),a(7,"cxUrl"),a(8,"cxTranslate"),g(9,"cx-icon",6),l()()(),d(10,"div",2)(11,"div"),g(12,"cx-card",3),a(13,"async"),l(),d(14,"div",4)(15,"a",5),a(16,"cxUrl"),a(17,"cxTranslate"),g(18,"cx-icon",6),l()()()()),i&2){let e=p.ngIf,t=m();r(3),s("content",c(4,8,t.getBillingAddressCard(e))),r(3),s("routerLink",c(7,10,k(20,_e,t.paymentDetailsStepRoute))),D("title",c(8,12,"checkoutReview.editBillingDetails")),r(3),s("type",t.iconTypes.PENCIL),r(3),s("content",c(13,14,t.getPaymentMethodCard(e))),r(3),s("routerLink",c(16,16,k(22,_e,t.paymentDetailsStepRoute))),D("title",c(17,18,"checkoutReview.editPaymentDetails")),r(3),s("type",t.iconTypes.PENCIL)}}function Jn(i,p){if(i&1&&(d(0,"div",5),g(1,"cx-card",12),a(2,"async"),d(3,"div",7)(4,"a",8),a(5,"cxUrl"),a(6,"cxTranslate"),g(7,"cx-icon",9),l()()()),i&2){let e=p.ngIf,t=m(3);r(),s("content",c(2,4,t.getDeliveryAddressCard(e))),r(3),s("routerLink",c(5,6,k(10,_e,t.deliveryAddressStepRoute))),D("title",c(6,8,"checkoutReview.editDeliveryAddressDetails")),r(3),s("type",t.iconTypes.PENCIL)}}function Qn(i,p){if(i&1&&(g(0,"cx-card",12),a(1,"async")),i&2){let e=p.ngIf,t=m(3);s("content",c(1,1,t.getDeliveryModeCard(e)))}}function Zn(i,p){}function er(i,p){if(i&1&&(w(0),d(1,"h2",1),y(2),a(3,"cxTranslate"),l(),d(4,"div",2)(5,"div",3),v(6,Jn,8,12,"div",4),a(7,"async"),l(),d(8,"div",3)(9,"div",5),v(10,Qn,2,3,"cx-card",6),a(11,"async"),d(12,"div",7)(13,"a",8),a(14,"cxUrl"),a(15,"cxTranslate"),g(16,"cx-icon",9),l()()()()(),d(17,"div",10),v(18,Zn,0,0,"ng-template",11),l(),P()),i&2){let e=m().ngIf,t=m();r(2),x(" ",c(3,8,"checkoutMode.deliveryEntries")," "),r(4),s("ngIf",c(7,10,t.deliveryAddress$)),r(4),s("ngIf",c(11,12,t.deliveryMode$)),r(3),s("routerLink",c(14,14,k(18,_e,t.deliveryModeStepRoute))),D("title",c(15,16,"checkoutReview.editDeliveryMode")),r(3),s("type",t.iconTypes.PENCIL),r(2),s("cxOutlet",t.cartOutlets.CART_ITEM_LIST)("cxOutletContext",k(20,Ci,e))}}function tr(i,p){if(i&1&&(w(0),v(1,er,19,22,"ng-container",0),P()),i&2){let e=p.ngIf;r(),s("ngIf",e.length>0)}}var Z=(()=>{class i{constructor(e,t,n){this.activeCartFacade=e,this.semanticPathService=t,this.router=n}canActivate(){return this.activeCartFacade.takeActive().pipe(_(e=>this.isEmpty(e)?this.router.parseUrl(this.semanticPathService.get("home")??""):!0))}isEmpty(e){return e&&!e.totalItems}static{this.\u0275fac=function(t){return new(t||i)(S(X),S(ut),S(Ee))}}static{this.\u0275prov=ne({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})(),Si=(()=>{class i{constructor(){this.checkoutConfig=b(tt),this.baseSiteService=b(ti),this.paymentProviderName=void 0,this.getPaymentProvider().subscribe(e=>{this.paymentProviderName=e})}getPaymentProvider(){return this.baseSiteService.get().pipe(oe(1),_(e=>e?.baseStore?.paymentProvider))}getCheckoutFlow(){if(this.paymentProviderName){let e=this.checkoutConfig.checkout?.flows?.[this.paymentProviderName];if(e)return e}return this.checkoutConfig.checkout}static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275prov=ne({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})(),rt=(()=>{class i{constructor(e){this.checkoutConfig=e,this.checkoutFlowOrchestratorService=b(Si),this.express=this.checkoutConfig.checkout?.express??!1,this.guest=this.checkoutConfig.checkout?.guest??!1,this.defaultDeliveryMode=this.checkoutConfig.checkout?.defaultDeliveryMode||[],this.checkoutFlow=this.checkoutFlowOrchestratorService?.getCheckoutFlow(),this.checkoutFlowOrchestratorService&&(this.express=this.checkoutFlow?.express??!1,this.guest=this.checkoutFlow?.guest??!1,this.defaultDeliveryMode=this.checkoutFlow?.defaultDeliveryMode||[])}compareDeliveryCost(e,t){if(e.deliveryCost?.value&&t.deliveryCost?.value){if(e.deliveryCost.value>t.deliveryCost.value)return 1;if(e.deliveryCost.value<t.deliveryCost.value)return-1}return 0}findMatchingDeliveryMode(e,t=0){switch(this.defaultDeliveryMode[t]){case vt.FREE:if(e[0].deliveryCost?.value===0)return e[0].code;break;case vt.LEAST_EXPENSIVE:let o=e.find(u=>u.deliveryCost?.value!==0);if(o)return o.code;break;case vt.MOST_EXPENSIVE:return e[e.length-1].code;default:let h=e.find(u=>u.code===this.defaultDeliveryMode[t]);if(h)return h.code}return this.defaultDeliveryMode.length-1<=t?e[0].code:this.findMatchingDeliveryMode(e,t+1)}shouldUseAddressSavedInCart(){return this.checkoutFlowOrchestratorService?!!this.checkoutFlow?.guestUseSavedAddress:!!this.checkoutConfig?.checkout?.guestUseSavedAddress}getPreferredDeliveryMode(e){return e.sort(this.compareDeliveryCost),this.findMatchingDeliveryMode(e)}isExpressCheckout(){return this.express}isGuestCheckout(){return this.guest}static{this.\u0275fac=function(t){return new(t||i)(S(tt))}}static{this.\u0275prov=ne({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})(),ee=(()=>{class i{constructor(e,t,n,o,h,u){this.authService=e,this.authRedirectService=t,this.checkoutConfigService=n,this.activeCartFacade=o,this.semanticPathService=h,this.router=u,this.featureConfig=b(we),this.windowRef=b(dt)}canActivate(){return E([this.authService.isUserLoggedIn(),this.activeCartFacade.isGuestCart(),this.activeCartFacade.isStable()]).pipe(_(([e,t,n])=>({isLoggedIn:e,isGuestCart:t,isStable:n})),M(e=>e.isStable),_(e=>e.isLoggedIn?e.isLoggedIn:e.isGuestCart?!0:this.handleAnonymousUser()))}handleAnonymousUser(){return this.authRedirectService.saveCurrentNavigationUrl(),this.featureConfig.isEnabled("authorizationCodeFlowByDefault")?(this.checkoutConfigService.isGuestCheckout()&&this.windowRef.localStorage?.setItem(pi,"true"),this.router.parseUrl(this.semanticPathService.get("login")??"")):this.checkoutConfigService.isGuestCheckout()?this.router.createUrlTree([this.semanticPathService.get("login")],{queryParams:{forced:!0}}):this.router.parseUrl(this.semanticPathService.get("login")??"")}static{this.\u0275fac=function(t){return new(t||i)(S(bt),S(kt),S(rt),S(X),S(ut),S(Ee))}}static{this.\u0275prov=ne({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})(),re=(()=>{class i{constructor(e,t,n){this.routingService=e,this.checkoutConfig=t,this.routingConfigService=n,this.checkoutFlowOrchestratorService=b(Si),this.steps$=new ye([]),this.activeStepIndex$=this.routingService.getRouterState().pipe(R(o=>{let h=o.state.context.id;return this.steps$.pipe(_(u=>{let C=0;return u.forEach((I,te)=>{`/${this.routingConfigService.getRouteConfig(I?.routeName)?.paths?.[0]}`===h&&(C=te)}),C}))})),this.resetSteps()}back(e){let t=this.getPreviousCheckoutStepUrl(e);this.routingService.go(t===null?"cart":t)}next(e){let t=this.getNextCheckoutStepUrl(e);this.routingService.go(t)}goToStepWithIndex(e){this.routingService.go(this.getStepUrlFromStepRoute(this.allSteps[e].routeName))}getBackBntText(e){return this.getPreviousCheckoutStepUrl(e)===null?"checkout.backToCart":"common.back"}resetSteps(){let e=this.checkoutConfig.checkout?.steps??[];this.checkoutFlowOrchestratorService&&(e=this.checkoutFlowOrchestratorService.getCheckoutFlow()?.steps??[]),this.allSteps=e.filter(t=>!t.disabled).map(t=>Object.assign({},t)),this.steps$.next(this.allSteps)}disableEnableStep(e,t){let n=this.allSteps.find(o=>o.type.includes(e));n&&n.disabled!==t&&(n.disabled=t,this.steps$.next(this.allSteps.filter(o=>!o.disabled)))}getCheckoutStep(e){let t=this.getCheckoutStepIndex("type",e);if(t!==null)return this.allSteps[t]}getCheckoutStepRoute(e){return this.getCheckoutStep(e)?.routeName}getFirstCheckoutStepRoute(){return this.allSteps[0].routeName}getNextCheckoutStepUrl(e){let t=this.getCurrentStepIndex(e);if(t!==null&&t>=0){let n=1;for(;this.allSteps[t+n]&&this.allSteps[t+n].disabled;)n++;let o=this.allSteps[t+n];if(o)return this.getStepUrlFromStepRoute(o.routeName)}return null}getPreviousCheckoutStepUrl(e){let t=this.getCurrentStepIndex(e);if(t!==null&&t>=0){let n=1;for(;this.allSteps[t-n]&&this.allSteps[t-n].disabled;)n++;let o=this.allSteps[t-n];if(o)return this.getStepUrlFromStepRoute(o.routeName)}return null}getCurrentStepIndex(e){let t=this.getStepUrlFromActivatedRoute(e),n=this.allSteps.findIndex(o=>t===`/${this.getStepUrlFromStepRoute(o.routeName)}`);return n===-1?null:n}getStepUrlFromActivatedRoute(e){return e&&e.snapshot&&e.snapshot.url?`/${e.snapshot.url.join("/")}`:null}getStepUrlFromStepRoute(e){return this.routingConfigService.getRouteConfig(e)?.paths?.[0]??null}getCheckoutStepIndex(e,t){return e&&t?this.allSteps.findIndex(n=>{let o=n[e];return o instanceof Array?o.includes(t):o===t}):null}static{this.\u0275fac=function(t){return new(t||i)(S(St),S(tt),S(pt))}}static{this.\u0275prov=ne({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})(),ir=(()=>{class i{constructor(e,t,n,o,h,u){this.userAddressService=e,this.userPaymentService=t,this.checkoutDeliveryAddressFacade=n,this.checkoutPaymentFacade=o,this.checkoutConfigService=h,this.checkoutDeliveryModesFacade=u,this.setDeliveryAddress(),this.setDeliveryMode(),this.setPaymentMethod()}setDeliveryAddress(){this.deliveryAddressSet$=E([this.userAddressService.getAddresses(),this.userAddressService.getAddressesLoadedSuccess()]).pipe(at(0),J(([,e])=>{e||this.userAddressService.loadAddresses()}),M(([,e])=>e),oe(1),R(([e])=>{let t=e.find(n=>n.defaultAddress)||e[0];return t&&Object.keys(t).length?this.checkoutDeliveryAddressFacade.setDeliveryAddress(t).pipe(R(()=>this.checkoutDeliveryAddressFacade.getDeliveryAddressState()),M(n=>!n.error&&!n.loading),_(n=>n.data),_(n=>!!(n&&Object.keys(n).length)),ot(()=>V(!1))):V(!1)}),ie())}setDeliveryMode(){this.deliveryModeSet$=E([this.deliveryAddressSet$,this.checkoutDeliveryModesFacade.getSupportedDeliveryModesState()]).pipe(at(0),R(([e,t])=>e?V([t]).pipe(M(([n])=>!n.loading&&!!n.data?.length),R(([n])=>{if(!n.data)return V(!1);let o=this.checkoutConfigService.getPreferredDeliveryMode(n.data);return V([o]).pipe(R(([h])=>h?this.checkoutDeliveryModesFacade.setDeliveryMode(h).pipe(R(()=>this.checkoutDeliveryModesFacade.getSelectedDeliveryModeState()),M(u=>!u.error&&!u.loading),_(u=>u.data),_(u=>!!(u&&Object.keys(u).length)),ot(()=>V(!1))):V(!1)))})):V(!1)),ie())}setPaymentMethod(){this.paymentMethodSet$=E([this.deliveryModeSet$,this.userPaymentService.getPaymentMethods(),this.userPaymentService.getPaymentMethodsLoadedSuccess()]).pipe(at(0),J(([,,e])=>{e||this.userPaymentService.loadPaymentMethods()}),M(([,,e])=>e),R(([e,t])=>{if(!e)return V(!1);let n=t.find(o=>o.defaultPayment)||t[0];return!n||Object.keys(n).length===0?V(!1):this.checkoutPaymentFacade.setPaymentDetails(n).pipe(R(()=>this.checkoutPaymentFacade.getPaymentDetailsState()),M(o=>!o.error&&!o.loading),_(o=>o.data),_(o=>!!(o&&Object.keys(o).length)),ot(()=>V(!1)))}),ie())}trySetDefaultCheckoutDetails(){return this.paymentMethodSet$.pipe(_(e=>!!e))}static{this.\u0275fac=function(t){return new(t||i)(S(Be),S(Re),S(pe),S(Te),S(rt),S(Me))}}static{this.\u0275prov=ne({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})(),nr=(()=>{class i{get isGuestCheckout(){return!!Pe(this.activeCartFacade.isGuestCart())}get backBtnText(){return this.checkoutStepService.getBackBntText(this.activatedRoute)}get selectedAddress$(){return this.checkoutDeliveryAddressFacade.getDeliveryAddressState().pipe(M(e=>!e.loading),_(e=>e.data),ie((e,t)=>e?.id===t?.id))}constructor(e,t,n,o,h,u,C,I){this.userAddressService=e,this.checkoutDeliveryAddressFacade=t,this.activatedRoute=n,this.translationService=o,this.activeCartFacade=h,this.checkoutStepService=u,this.checkoutDeliveryModesFacade=C,this.globalMessageService=I,this.checkoutConfigService=b(rt),this.featureConfigService=b(we,{optional:!0}),this.busy$=new ye(!1),this.addressFormOpened=!1,this.doneAutoSelect=!1,this.focusService=b(Tt),this.windowRef=b(dt)}ngOnInit(){this.loadAddresses(),this.cards$=this.createCards(),this.isUpdating$=this.createIsUpdating()}getCardContent(e,t,n,o,h,u,C){let I="";e.region&&e.region.isocode&&(I=e.region.isocode+", ");let te=Rt(e,u,C),ue=t&&t.id===e.id;return{role:this.getCardRole(ue),title:e.defaultAddress?n:"",textBold:e.firstName+" "+e.lastName,text:[e.line1,e.line2,e.town+", "+I+e.country?.isocode,e.postalCode,te],actions:ue?[]:[{name:o,event:"send"}],header:ue?h:"",label:e.defaultAddress?"addressBook.defaultDeliveryAddress":"addressBook.additionalDeliveryAddress"}}selectAddress(e){e?.id!==Pe(this.selectedAddress$)?.id&&(this.globalMessageService.add({key:"checkoutAddress.deliveryAddressSelected"},$e.MSG_TYPE_INFO),this.setAddress(e),this.featureConfigService?.isEnabled("a11yFocusOnCardAfterSelecting")&&this.focusCardAfterSelecting())}focusCardAfterSelecting(){let e=Array.from(this.windowRef?.document.querySelectorAll("cx-card")),t=this.windowRef?.document.activeElement?.closest("cx-card");if(t){let n=e.indexOf(t);this.isUpdating$.pipe(M(o=>!o),oe(1)).subscribe(()=>{requestAnimationFrame(()=>{let o=this.windowRef?.document.querySelectorAll("cx-card")[n];this.focusService.findFirstFocusable(o)?.focus()})})}}addAddress(e){!e&&this.shouldUseAddressSavedInCart()&&this.selectedAddress&&this.next(),e&&(this.busy$.next(!0),this.doneAutoSelect=!0,this.checkoutDeliveryAddressFacade.createAndSetAddress(e).pipe(R(()=>this.checkoutDeliveryModesFacade.clearCheckoutDeliveryMode())).subscribe({complete:()=>{this.next()},error:()=>{this.onError(),this.doneAutoSelect=!1}}))}showNewAddressForm(){this.addressFormOpened=!0}hideNewAddressForm(e=!1){this.addressFormOpened=!1,e&&this.back()}next(){this.checkoutStepService.next(this.activatedRoute)}back(){this.checkoutStepService.back(this.activatedRoute)}loadAddresses(){this.isGuestCheckout||this.userAddressService.loadAddresses()}createCards(){let e=E([this.getSupportedAddresses(),this.selectedAddress$]),t=E([this.translationService.translate("checkoutAddress.defaultDeliveryAddress"),this.translationService.translate("checkoutAddress.shipToThisAddress"),this.featureConfigService?.isEnabled("a11ySelectLabelWithContextForSelectedAddrOrPayment")?this.translationService.translate("addressCard.selectedAddress"):this.translationService.translate("addressCard.selected"),this.translationService.translate("addressCard.phoneNumber"),this.translationService.translate("addressCard.mobileNumber")]);return E([e,t]).pipe(J(([[n,o]])=>this.selectDefaultAddress(n,o)),_(([[n,o],[h,u,C,I,te]])=>n?.map(ue=>({address:ue,card:this.getCardContent(ue,o,h,u,C,I,te)}))))}selectDefaultAddress(e,t){!this.doneAutoSelect&&e?.length&&(!t||Object.keys(t).length===0)?(t=e.find(n=>n.defaultAddress),t&&this.setAddress(t),this.doneAutoSelect=!0):t&&this.shouldUseAddressSavedInCart()&&(this.selectedAddress=t)}getSupportedAddresses(){return this.userAddressService.getAddresses()}createIsUpdating(){return E([this.busy$,this.userAddressService.getAddressesLoading(),this.getAddressLoading()]).pipe(_(([e,t,n])=>e||t||n),ie())}getAddressLoading(){return this.checkoutDeliveryAddressFacade.getDeliveryAddressState().pipe(_(e=>e.loading),ie())}setAddress(e){this.busy$.next(!0),this.checkoutDeliveryAddressFacade.setDeliveryAddress(e).pipe(R(()=>this.checkoutDeliveryModesFacade.clearCheckoutDeliveryMode())).subscribe({complete:()=>{this.onSuccess()},error:()=>{this.onError()}})}onSuccess(){this.busy$.next(!1)}onError(){this.busy$.next(!1)}shouldUseAddressSavedInCart(){return!!this.checkoutConfigService?.shouldUseAddressSavedInCart()}getCardRole(e){return this.featureConfigService?.isEnabled("a11ySelectLabelWithContextForSelectedAddrOrPayment")&&!e?"button":"application"}static{this.\u0275fac=function(t){return new(t||i)(f(Be),f(pe),f(lt),f(se),f(X),f(re),f(Me),f(be))}}static{this.\u0275cmp=U({type:i,selectors:[["cx-delivery-address"]],standalone:!1,decls:5,vars:2,consts:[["content",""],["loading",""],["showExistingAddresses",""],["newAddressForm",""],["initialAddressForm",""],[4,"ngIf","ngIfElse"],[3,"ngTemplateOutlet"],[1,"cx-checkout-title","d-none","d-lg-block","d-xl-block"],[4,"ngIf"],[4,"ngIf","ngIfThen","ngIfElse"],[1,"cx-checkout-text"],[1,"cx-checkout-btns","cx-checkout-btns-top"],[1,"btn","btn-block","btn-secondary",3,"click"],[1,"cx-checkout-body","row"],["class","cx-delivery-address-card col-md-12 col-lg-6",4,"ngFor","ngForOf"],[1,"cx-checkout-btns","cx-checkout-btns-bottom"],[1,"cx-checkout-btns","row"],[1,"col-md-12","col-lg-6"],[1,"cx-btn","btn","btn-block","btn-secondary",3,"click"],[1,"cx-btn","btn","btn-block","btn-primary",3,"click","disabled"],[1,"cx-delivery-address-card","col-md-12","col-lg-6"],[1,"cx-delivery-address-card-inner",3,"click"],[3,"sendCard","border","index","fitToContainer","content","role"],[3,"showTitleCode","backToAddress","submitAddress",4,"ngIf","ngIfElse"],[3,"backToAddress","submitAddress","showTitleCode"],[3,"backToAddress","submitAddress","showTitleCode","setAsDefaultField","addressData","cancelBtnLabel"],[1,"cx-spinner"]],template:function(t,n){if(t&1&&v(0,bi,3,4,"section",5)(1,Pi,5,6,"ng-template",null,0,Y)(3,$i,2,0,"ng-template",null,1,Y),t&2){let o=j(2);s("ngIf",n.featureConfigService==null?null:n.featureConfigService.isEnabled("a11yCheckoutStepsLandmarks"))("ngIfElse",o)}},dependencies:[me,Q,st,fi,Ie,De,W,K],encapsulation:2,changeDetection:0})}}return i})(),rr=(()=>{class i{static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275mod=O({type:i})}static{this.\u0275inj=N({providers:[H({cmsComponents:{CheckoutDeliveryAddress:{component:nr,guards:[ee,Z,mi]}}})],imports:[q,ce,_i,ve,Ge,z,he]})}}return i})(),or=(()=>{class i{get deliveryModeInvalid(){return this.mode.controls.deliveryModeId.invalid}constructor(e,t,n,o,h,u){this.fb=e,this.checkoutConfigService=t,this.activatedRoute=n,this.checkoutStepService=o,this.checkoutDeliveryModesFacade=h,this.activeCartFacade=u,this.globalMessageService=b(be),this.busy$=new ye(!1),this.isSetDeliveryModeHttpErrorSub=new ye(!1),this.CartOutlets=et,this.isSetDeliveryModeHttpError$=this.isSetDeliveryModeHttpErrorSub.asObservable(),this.selectedDeliveryModeCode$=this.checkoutDeliveryModesFacade.getSelectedDeliveryModeState().pipe(M(C=>!C.loading),_(C=>C.data),_(C=>C?.code)),this.supportedDeliveryModes$=this.checkoutDeliveryModesFacade.getSupportedDeliveryModes().pipe(M(C=>!!C?.length),Ht(this.selectedDeliveryModeCode$),J(([C,I])=>{(!I||!C.find(te=>te.code===I))&&(I=this.checkoutConfigService.getPreferredDeliveryMode(C)),I&&(this.mode.controls.deliveryModeId.setValue(I),this.changeMode(I))}),_(([C])=>C.filter(I=>I.code!=="pickup"))),this.backBtnText=this.checkoutStepService.getBackBntText(this.activatedRoute),this.mode=this.fb.group({deliveryModeId:["",L.required]}),this.isUpdating$=E([this.busy$,this.checkoutDeliveryModesFacade.getSelectedDeliveryModeState().pipe(_(C=>C.loading))]).pipe(_(([C,I])=>C||I),ie())}changeMode(e,t){if(!e)return;let n=t?.target?.id;if(this.busy$.next(!0),this.checkoutDeliveryModesFacade.setDeliveryMode(e).subscribe({complete:()=>this.onSuccess(),error:()=>this.onError()}),t?.screenX===0){this.restoreFocus(n,e);return}this.mode.setValue({deliveryModeId:e})}next(){this.checkoutStepService.next(this.activatedRoute)}back(){this.checkoutStepService.back(this.activatedRoute)}getAriaChecked(e){return e===this.mode.controls.deliveryModeId.value}onSuccess(){this.isSetDeliveryModeHttpErrorSub.next(!1),this.busy$.next(!1)}onError(){this.globalMessageService?.add({key:"setDeliveryMode.unknownError"},$e.MSG_TYPE_ERROR),this.isSetDeliveryModeHttpErrorSub.next(!0),this.busy$.next(!1)}restoreFocus(e,t){this.isUpdating$.pipe(M(n=>!n),oe(1)).subscribe(()=>{setTimeout(()=>{document.querySelector("main")?.classList.remove("mouse-focus"),this.mode.setValue({deliveryModeId:t}),document.getElementById(e)?.focus()},0)})}static{this.\u0275fac=function(t){return new(t||i)(f(Fe),f(rt),f(lt),f(re),f(Me),f(X))}}static{this.\u0275cmp=U({type:i,selectors:[["cx-delivery-mode"]],standalone:!1,decls:24,vars:24,consts:[["loading",""],["role","radiogroup"],[1,"cx-checkout-title","d-none","d-lg-block","d-xl-block"],[4,"ngIf","ngIfElse"],[4,"ngIf"],["cxInnerComponentsHost",""],[1,"row","cx-checkout-btns"],[1,"col-md-12","col-lg-6"],[1,"btn","btn-block","btn-secondary",3,"click"],[1,"btn","btn-block","btn-primary",3,"click","disabled"],[1,"cx-delivery-mode-wrapper",3,"formGroup"],["class","form-check",4,"ngFor","ngForOf"],[3,"cxOutlet","cxOutletContext"],[1,"form-check"],["type","radio","formControlName","deliveryModeId",1,"form-check-input",3,"change","click","value","id"],["aria-hidden","true",1,"cx-delivery-label","form-check-label","form-radio-label",3,"for"],[1,"cx-delivery-mode"],[1,"cx-delivery-mode-description"],[1,"cx-delivery-price"],[1,"cx-delivery-details"],[1,"cx-spinner"]],template:function(t,n){if(t&1){let o=G();d(0,"section"),a(1,"cxTranslate"),d(2,"fieldset",1)(3,"legend",2),y(4),a(5,"cxTranslate"),l(),v(6,Oi,5,8,"ng-container",3),a(7,"async"),a(8,"async"),l(),v(9,Li,6,9,"ng-container",4),a(10,"async"),v(11,Vi,2,0,"ng-template",null,0,Y),Ce(13,5),d(14,"div",6)(15,"div",7)(16,"button",8),T("click",function(){return A(o),F(n.back())}),y(17),a(18,"cxTranslate"),l()(),d(19,"div",7)(20,"button",9),a(21,"async"),T("click",function(){return A(o),F(n.next())}),y(22),a(23,"cxTranslate"),l()()()()}if(t&2){let o=j(12);D("aria-label",c(1,8,"checkoutProgress.deliveryMode")),r(4),x(" ",c(5,10,"checkoutMode.deliveryOptions")," "),r(2),s("ngIf",!c(7,12,n.isUpdating$)&&c(8,14,n.supportedDeliveryModes$))("ngIfElse",o),r(3),s("ngIf",c(10,16,n.activeCartFacade.hasPickupItems())),r(8),x(" ",c(18,18,n.backBtnText)," "),r(3),s("disabled",n.deliveryModeInvalid||c(21,20,n.isSetDeliveryModeHttpError$)),r(2),x(" ",c(23,22,"common.continue")," ")}},dependencies:[me,Q,He,ri,Ne,Oe,je,Le,De,ze,si,W,K],encapsulation:2,changeDetection:0})}}return i})(),ar=(()=>{class i{static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275mod=O({type:i})}static{this.\u0275inj=N({providers:[H({cmsComponents:{CheckoutDeliveryMode:{component:or,data:{composition:{inner:["PickupInStoreDeliveryModeComponent"]}},guards:[ee,Z]}}})],imports:[q,Ve,z,Ge,Xe,li,he]})}}return i})(),cr=(()=>{class i{constructor(e,t,n,o){this.authService=e,this.activeCartFacade=t,this.semanticPathService=n,this.router=o}canActivate(){return this.authService.isUserLoggedIn().pipe(_(e=>e?this.router.parseUrl(this.semanticPathService.get("home")??""):Pe(this.activeCartFacade.isGuestCart())?this.router.parseUrl(this.semanticPathService.get("cart")??""):!e))}static{this.\u0275fac=function(t){return new(t||i)(S(bt),S(X),S(ut),S(Ee))}}static{this.\u0275prov=ne({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})(),sr=(()=>{class i{constructor(e,t,n){this.formBuilder=e,this.authRedirectService=t,this.activeCartFacade=n,this.checkoutLoginForm=this.formBuilder.group({email:["",[L.required,Bt.emailValidator]],emailConfirmation:["",[L.required]]},{validators:Bt.emailsMustMatch("email","emailConfirmation")})}onSubmit(){if(this.checkoutLoginForm.valid){let e=this.checkoutLoginForm.get("email")?.value;this.activeCartFacade.addEmail(e),this.sub||(this.sub=this.activeCartFacade.isGuestCart().subscribe(t=>{t&&this.authRedirectService.redirect()}))}else this.checkoutLoginForm.markAllAsTouched()}ngOnDestroy(){this.sub&&this.sub.unsubscribe()}static{this.\u0275fac=function(t){return new(t||i)(f(Fe),f(kt),f(X))}}static{this.\u0275cmp=U({type:i,selectors:[["cx-checkout-login"]],standalone:!1,decls:25,vars:32,consts:[[3,"ngSubmit","formGroup"],[1,"form-group"],[1,"label-content"],["required","true","type","email","name","email","formControlName","email",1,"form-control",3,"placeholder"],["id","emailError",3,"translationParams","control"],["required","true","type","email","name","emailConfirmation","formControlName","emailConfirmation",1,"form-control",3,"placeholder"],["id","emailConfirmationError",3,"translationParams","control"],["type","submit",1,"btn","btn-block","btn-primary"]],template:function(t,n){if(t&1&&(d(0,"form",0),T("ngSubmit",function(){return n.onSubmit()}),g(1,"cx-form-required-legend"),d(2,"div",1)(3,"label")(4,"span",2),y(5),a(6,"cxTranslate"),g(7,"cx-form-required-asterisks"),l(),g(8,"input",3),a(9,"cxTranslate"),g(10,"cx-form-errors",4),a(11,"cxTranslate"),l()(),d(12,"div",1)(13,"label")(14,"span",2),y(15),a(16,"cxTranslate"),g(17,"cx-form-required-asterisks"),l(),g(18,"input",5),a(19,"cxTranslate"),g(20,"cx-form-errors",6),a(21,"cxTranslate"),l()(),d(22,"button",7),y(23),a(24,"cxTranslate"),l()()),t&2){let o,h;s("formGroup",n.checkoutLoginForm),r(5),x(" ",c(6,14,"checkoutLogin.emailAddress.label")," "),r(3),B("placeholder",c(9,16,"checkoutLogin.emailAddress.placeholder")),D("aria-invalid",((o=n.checkoutLoginForm.get("email"))==null?null:o.touched)&&((o=n.checkoutLoginForm.get("email"))==null?null:o.invalid))("aria-errormessage","emailError"),r(2),s("translationParams",k(28,fe,c(11,18,"checkoutLogin.emailAddress.label")))("control",n.checkoutLoginForm.get("email")),r(5),x(" ",c(16,20,"checkoutLogin.confirmEmail.label")," "),r(3),B("placeholder",c(19,22,"checkoutLogin.confirmEmail.placeholder")),D("aria-invalid",((h=n.checkoutLoginForm.get("emailConfirmation"))==null?null:h.touched)&&((h=n.checkoutLoginForm.get("emailConfirmation"))==null?null:h.invalid))("aria-errormessage","emailConfirmationError"),r(2),s("translationParams",k(30,fe,c(21,24,"checkoutLogin.confirmEmail.label")))("control",n.checkoutLoginForm.get("emailConfirmation")),r(3),x(" ",c(24,26,"checkoutLogin.continue")," ")}},dependencies:[mt,He,Ne,Oe,ht,je,Le,Qe,le,de,K],encapsulation:2})}}return i})(),lr=(()=>{class i{static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275mod=O({type:i})}static{this.\u0275inj=N({providers:[H({cmsComponents:{GuestCheckoutLoginComponent:{component:sr,guards:[cr]}}})],imports:[q,z,oi,Ve,Ze,he,le,de]})}}return i})(),dr=(()=>{class i{constructor(e,t,n,o,h,u){this.router=e,this.routingConfigService=t,this.checkoutConfigService=n,this.expressCheckoutService=o,this.activeCartFacade=h,this.checkoutStepService=u,this.firstStep$=this.checkoutStepService.steps$.pipe(_(C=>this.router.parseUrl(this.routingConfigService.getRouteConfig(C[0]?.routeName)?.paths?.[0])))}canActivate(){let e=this.expressCheckoutService.trySetDefaultCheckoutDetails().pipe(R(t=>{let n=this.checkoutStepService.getCheckoutStepRoute($.REVIEW_ORDER);return t&&n?V(this.router.parseUrl(this.routingConfigService.getRouteConfig(n)?.paths?.[0])):this.firstStep$}));return this.activeCartFacade.isGuestCart().pipe(R(t=>this.checkoutConfigService.isExpressCheckout()&&!t?e:this.firstStep$))}static{this.\u0275fac=function(t){return new(t||i)(S(Ee),S(pt),S(rt),S(ir),S(X),S(re))}}static{this.\u0275prov=ne({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})(),pr=(()=>{class i{constructor(){}static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275cmp=U({type:i,selectors:[["cx-checkout-orchestrator"]],standalone:!1,decls:0,vars:0,template:function(t,n){},encapsulation:2,changeDetection:0})}}return i})(),ur=(()=>{class i{static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275mod=O({type:i})}static{this.\u0275inj=N({providers:[H({cmsComponents:{CheckoutOrchestrator:{component:pr,guards:[ee,Z,dr]}}})],imports:[q]})}}return i})(),mr=(()=>{class i{constructor(e){this.activeCartFacade=e,this.cartOutlets=et,this.cart$=this.activeCartFacade.getActive()}static{this.\u0275fac=function(t){return new(t||i)(f(X))}}static{this.\u0275cmp=U({type:i,selectors:[["cx-checkout-order-summary"]],standalone:!1,decls:2,vars:4,consts:[[3,"cxOutlet","cxOutletContext"]],template:function(t,n){t&1&&(v(0,Ui,0,0,"ng-template",0),a(1,"async")),t&2&&s("cxOutlet",n.cartOutlets.ORDER_SUMMARY)("cxOutletContext",c(1,2,n.cart$))},dependencies:[ze,W],encapsulation:2,changeDetection:0})}}return i})(),hr=(()=>{class i{static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275mod=O({type:i})}static{this.\u0275inj=N({providers:[H({cmsComponents:{CheckoutOrderSummary:{component:mr}}})],imports:[q,Xe]})}}return i})(),Lt=(()=>{class i{constructor(){this.fb=b(Fe),this.billingAddress=void 0}getBillingAddressForm(){return this.form||(this.form=this.fb.group({firstName:["",L.required],lastName:["",L.required],line1:["",L.required],line2:[""],town:["",L.required],region:this.fb.group({isocodeShort:[null,L.required]}),country:this.fb.group({isocode:[null,L.required]}),postalCode:["",L.required]})),this.form}setDeliveryAddressAsBillingAddress(e){this.billingAddress=e}isBillingAddressSameAsDeliveryAddress(){return this.billingAddress!==void 0}isBillingAddressFormValid(){return this.getBillingAddressForm().valid}markAllAsTouched(){this.getBillingAddressForm().markAllAsTouched()}getBillingAddress(){return this.billingAddress?this.billingAddress:this.getBillingAddressForm().value}static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275prov=ne({token:i,factory:i.\u0275fac})}}return i})(),gr=(()=>{class i{constructor(){this.sameAsDeliveryAddress=!0,this.selectedCountry$=new ye(""),this.checkoutDeliveryAddressFacade=b(pe),this.userPaymentService=b(Re),this.globalMessageService=b(be),this.userAddressService=b(Be),this.launchDialogService=b(Ke),this.translationService=b(se),this.billingAddressFormService=b(Lt),this.billingAddressForm=this.billingAddressFormService.getBillingAddressForm()}ngOnInit(){this.countries$=this.userPaymentService.getAllBillingCountries().pipe(J(e=>{Object.keys(e).length===0&&this.userPaymentService.loadBillingCountries()})),this.deliveryAddress$=this.checkoutDeliveryAddressFacade.getDeliveryAddressState().pipe(M(e=>!e.loading),_(e=>(this.billingAddressFormService.setDeliveryAddressAsBillingAddress(e.data),e.data))),this.showSameAsDeliveryAddressCheckbox$=E([this.countries$,this.deliveryAddress$]).pipe(_(([e,t])=>(t?.country&&!!e.filter(n=>n.isocode===t.country?.isocode).length)??!1),J(e=>{this.sameAsDeliveryAddress=e})),this.regions$=this.selectedCountry$.pipe(R(e=>this.userAddressService.getRegions(e)),J(e=>{let t=this.billingAddressForm.get("region.isocodeShort");e.length>0?t?.enable():t?.disable()}))}toggleSameAsDeliveryAddress(){this.sameAsDeliveryAddress=!this.sameAsDeliveryAddress,this.sameAsDeliveryAddress?this.deliveryAddress$.subscribe(e=>{this.billingAddressFormService.setDeliveryAddressAsBillingAddress(e)}):this.billingAddressFormService.setDeliveryAddressAsBillingAddress(void 0)}verifyAddress(){this.sameAsDeliveryAddress||this.userAddressService.verifyAddress(this.billingAddressForm.value).subscribe(e=>{this.handleAddressVerificationResults(e)})}handleAddressVerificationResults(e){e.decision==="ACCEPT"||(e.decision==="REJECT"?this.globalMessageService.add({key:"addressForm.invalidAddress"},$e.MSG_TYPE_ERROR):e.decision==="REVIEW"&&this.openSuggestedAddress(e))}countrySelected(e){this.billingAddressForm.get("country.isocode")?.setValue(e.isocode),this.selectedCountry$.next(e.isocode)}openSuggestedAddress(e){this.launchDialogService.openDialogAndSubscribe(We.SUGGESTED_ADDRESSES,void 0,{enteredAddress:this.billingAddressForm.value,suggestedAddresses:e.suggestedAddresses})}getAddressCardContent(e){return this.translationService?E([this.translationService.translate("addressCard.phoneNumber"),this.translationService.translate("addressCard.mobileNumber")]).pipe(_(([t,n])=>{let o="";e.region&&e.region.isocode&&(o=e.region.isocode+", ");let h=Rt(e,t,n);return{textBold:e.firstName+" "+e.lastName,text:[e.line1,e.line2,e.town+", "+o+e.country?.isocode,e.postalCode,h]}})):Yt}static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275cmp=U({type:i,selectors:[["cx-checkout-billing-address-form"]],standalone:!1,decls:10,vars:10,consts:[["billingAddress",""],[1,"cx-payment-form-billing"],[1,"cx-payment-form-billing-address"],[4,"ngIf"],[4,"ngIf","ngIfElse"],[1,"form-group"],[1,"form-check"],["type","checkbox",1,"form-check-input",3,"change","checked"],[1,"form-check-label"],[3,"content"],[3,"formGroup"],["formGroupName","country",1,"form-group"],[1,"label-content","required"],["required","true","type","text","formControlName","firstName",1,"form-control",3,"placeholder"],["id","firstNameError",3,"control"],["required","true","type","text","formControlName","lastName",1,"form-control",3,"placeholder"],["id","lastNameError",3,"control"],["required","true","type","text","formControlName","line1",1,"form-control",3,"placeholder"],["id","line1Error",3,"control"],[1,"label-content"],["type","text","formControlName","line2",1,"form-control",3,"placeholder"],[1,"row"],[1,"form-group","col-md-6"],["required","true","type","text","formControlName","town",1,"form-control",3,"placeholder"],["id","townError",3,"control"],["required","true","type","text","formControlName","postalCode",1,"form-control",3,"placeholder"],["id","postalCodeError",3,"control"],["formGroupName","region",4,"ngIf"],["bindLabel","name","bindValue","isocode","formControlName","isocode","id","country-payment-select",3,"change","inputAttrs","searchable","clearable","items","placeholder","cxNgSelectA11y"],["id","isocodeError",3,"control"],["formGroupName","region"],["formControlName","isocodeShort","id","region-select",1,"region-select",3,"inputAttrs","searchable","clearable","items","bindLabel","bindValue","placeholder","cxNgSelectA11y"],["id","isocodeShortError",3,"control"]],template:function(t,n){if(t&1&&(d(0,"div",1)(1,"div",2),y(2),a(3,"cxTranslate"),l(),v(4,qi,9,7,"ng-container",3),a(5,"async"),v(6,Gi,2,1,"ng-container",4),a(7,"async"),v(8,zi,60,58,"ng-template",null,0,Y),l()),t&2){let o=j(9);r(2),x(" ",c(3,4,"paymentForm.billingAddress")," "),r(2),s("ngIf",c(5,6,n.showSameAsDeliveryAddressCheckbox$)),r(2),s("ngIf",n.sameAsDeliveryAddress&&c(7,8,n.deliveryAddress$))("ngIfElse",o)}},dependencies:[Et,Q,He,Ne,Oe,ht,je,Le,Dt,It,Ie,Qe,le,de,W,K],encapsulation:2})}}return i})(),vr=(()=>{class i{static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275mod=O({type:i})}static{this.\u0275inj=N({providers:[Lt],imports:[wt,q,Ve,Mt,ve,z,qe,Ge,Ze,he,le,de]})}}return i})(),fr=(()=>{class i{constructor(e,t,n,o,h,u,C,I){this.checkoutPaymentFacade=e,this.checkoutDeliveryAddressFacade=t,this.userPaymentService=n,this.globalMessageService=o,this.fb=h,this.userAddressService=u,this.launchDialogService=C,this.translationService=I,this.iconTypes=Ue,this.months=[],this.years=[],this.goBack=new ct,this.closeForm=new ct,this.setPaymentDetails=new ct,this.paymentForm=this.fb.group({cardType:this.fb.group({code:[null,L.required]}),accountHolderName:["",L.required],cardNumber:["",L.required],expiryMonth:[null,L.required],expiryYear:[null,L.required],cvn:["",L.required],defaultPayment:[!1]}),this.billingAddressService=b(Lt),this.useExtractedBillingAddressComponent=!0}ngOnInit(){this.paymentDetails&&this.paymentForm.patchValue(this.paymentDetails),this.expMonthAndYear(),this.cardTypes$=this.checkoutPaymentFacade.getPaymentCardTypes()}expMonthAndYear(){let e=new Date().getFullYear();for(let t=0;t<10;t++)this.years.push(e+t);for(let t=1;t<=12;t++)t<10?this.months.push(`0${t}`):this.months.push(t.toString())}toggleDefaultPaymentMethod(){this.paymentForm.value.defaultPayment=!this.paymentForm.value.defaultPayment}close(){this.closeForm.emit()}back(){this.goBack.emit()}next(){let e=this.billingAddressService.isBillingAddressSameAsDeliveryAddress(),t=this.billingAddressService.isBillingAddressFormValid(),n=this.billingAddressService.getBillingAddress();this.paymentForm.valid?e?this.setPaymentDetails.emit({paymentDetails:this.paymentForm.value,billingAddress:null}):t?this.setPaymentDetails.emit({paymentDetails:this.paymentForm.value,billingAddress:n}):this.billingAddressService.markAllAsTouched():(this.paymentForm.markAllAsTouched(),this.globalMessageService.add({key:"formErrors.globalMessage"},$e.MSG_TYPE_ASSISTIVE),e||this.billingAddressService.markAllAsTouched())}static{this.\u0275fac=function(t){return new(t||i)(f(Te),f(pe),f(Re),f(be),f(Fe),f(Be),f(Ke),f(se))}}static{this.\u0275cmp=U({type:i,selectors:[["cx-payment-form"]],inputs:{loading:"loading",setAsDefaultField:"setAsDefaultField",paymentMethodsCount:"paymentMethodsCount",paymentDetails:"paymentDetails"},outputs:{goBack:"goBack",closeForm:"closeForm",setPaymentDetails:"setPaymentDetails"},standalone:!1,decls:3,vars:2,consts:[["spinner",""],[4,"ngIf","ngIfElse"],[3,"ngSubmit","formGroup"],[1,"row"],[1,"col-md-12","col-xl-10"],["formGroupName","cardType",1,"form-group"],[4,"ngIf"],[1,"form-group"],[1,"label-content"],["required","true","type","text","formControlName","accountHolderName",1,"form-control",3,"placeholder"],["id","accountHolderNameError",3,"translationParams","control"],["required","true","type","text","formControlName","cardNumber",1,"form-control"],["id","cardNumberError",3,"translationParams","control"],[1,"form-group","col-md-8"],[1,"cx-payment-form-exp-date"],[1,"cx-payment-form-exp-date-wrapper"],["formControlName","expiryMonth","id","month-select",3,"inputAttrs","searchable","clearable","items","placeholder","cxNgSelectA11y"],[3,"translationParams","control"],["id","year-select","formControlName","expiryYear",3,"inputAttrs","searchable","clearable","items","placeholder","cxNgSelectA11y"],[1,"form-group","col-md-4"],["placement","right","alt","",1,"cx-payment-form-tooltip",3,"type","title"],["required","true","type","text","id","cVVNumber","formControlName","cvn",1,"form-control"],["id","cvnError",3,"translationParams","control"],["class","form-group",4,"ngIf"],[1,"cx-checkout-btns","row"],[1,"col-md-12","col-lg-6"],["class","btn btn-block btn-secondary",3,"click",4,"ngIf"],["type","submit",1,"btn","btn-block","btn-primary"],[1,"label-content","required"],["bindLabel","name","bindValue","code","formControlName","code","id","card-type-select",3,"inputAttrs","searchable","clearable","items","placeholder","cxNgSelectA11y"],[1,"form-check"],["type","checkbox",1,"form-check-input",3,"change"],[1,"form-check-label"],[1,"btn","btn-block","btn-secondary",3,"click"]],template:function(t,n){if(t&1&&v(0,tn,68,100,"ng-container",1)(1,nn,1,0,"ng-template",null,0,Y),t&2){let o=j(2);s("ngIf",!n.loading)("ngIfElse",o)}},dependencies:[Et,Q,mt,He,Ne,Oe,ht,je,Le,Dt,It,Je,De,Qe,gr,le,de,W,K],encapsulation:2,changeDetection:0})}}return i})(),_r=(()=>{class i{static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275mod=O({type:i})}static{this.\u0275inj=N({imports:[wt,q,Ve,Mt,ve,z,qe,Ge,Ze,he,vr,le,de]})}}return i})(),yr=(()=>{class i{get backBtnText(){return this.checkoutStepService.getBackBntText(this.activatedRoute)}get existingPaymentMethods$(){return this.userPaymentService.getPaymentMethods()}get selectedMethod$(){return this.checkoutPaymentFacade.getPaymentDetailsState().pipe(M(e=>!e.loading),_(e=>e.data),ie((e,t)=>e?.id===t?.id))}constructor(e,t,n,o,h,u,C,I){this.userPaymentService=e,this.checkoutDeliveryAddressFacade=t,this.checkoutPaymentFacade=n,this.activatedRoute=o,this.translationService=h,this.activeCartFacade=u,this.checkoutStepService=C,this.globalMessageService=I,this.subscriptions=new Gt,this.busy$=new ye(!1),this.featureConfigService=b(we,{optional:!0}),this.focusService=b(Tt),this.windowRef=b(dt),this.iconTypes=Ue,this.isGuestCheckout=!1,this.newPaymentFormManuallyOpened=!1,this.doneAutoSelect=!1,this.isUpdating$=E([this.busy$,this.userPaymentService.getPaymentMethodsLoading(),this.checkoutPaymentFacade.getPaymentDetailsState().pipe(_(te=>te.loading))]).pipe(_(([te,ue,Ut])=>te||ue||Ut),ie())}ngOnInit(){Pe(this.activeCartFacade.isGuestCart())?this.isGuestCheckout=!0:this.userPaymentService.loadPaymentMethods(),this.checkoutDeliveryAddressFacade.getDeliveryAddressState().pipe(M(e=>!e.loading),oe(1),_(e=>e.data)).subscribe(e=>{this.deliveryAddress=e}),this.cards$=E([this.existingPaymentMethods$.pipe(R(e=>e?.length?E(e.map(t=>E([V(t),this.translationService.translate("paymentCard.expires",{month:t.expiryMonth,year:t.expiryYear})]).pipe(_(([n,o])=>({payment:n,expiryTranslation:o}))))):V([]))),this.selectedMethod$,this.translationService.translate("paymentForm.useThisPayment"),this.translationService.translate("paymentCard.defaultPaymentMethod"),this.featureConfigService?.isEnabled("a11ySelectLabelWithContextForSelectedAddrOrPayment")?this.translationService.translate("paymentCard.selectedPayment"):this.translationService.translate("paymentCard.selected")]).pipe(J(([e,t])=>this.selectDefaultPaymentMethod(e,t)),_(([e,t,n,o,h])=>e.map(u=>({content:this.createCard(u.payment,{textExpires:u.expiryTranslation,textUseThisPayment:n,textDefaultPaymentMethod:o,textSelected:h},t),paymentMethod:u.payment}))))}selectDefaultPaymentMethod(e,t){if(!this.doneAutoSelect&&e?.length&&(!t||Object.keys(t).length===0)){let n=e.find(o=>o.payment.defaultPayment);n&&(t=n.payment,this.savePaymentMethod(t)),this.doneAutoSelect=!0}}selectPaymentMethod(e){e?.id!==Pe(this.selectedMethod$)?.id&&(this.globalMessageService.add({key:"paymentMethods.paymentMethodSelected"},$e.MSG_TYPE_INFO),this.savePaymentMethod(e),this.featureConfigService?.isEnabled("a11yFocusOnCardAfterSelecting")&&this.focusCardAfterSelecting())}focusCardAfterSelecting(){let e=Array.from(this.windowRef?.document.querySelectorAll("cx-card")),t=this.windowRef?.document.activeElement?.closest("cx-card");if(t){let n=e.indexOf(t);this.isUpdating$.pipe(M(o=>!o),oe(1)).subscribe(()=>{requestAnimationFrame(()=>{let o=this.windowRef?.document.querySelectorAll("cx-card")[n];this.focusService.findFirstFocusable(o)?.focus()})})}}showNewPaymentForm(){this.newPaymentFormManuallyOpened=!0}hideNewPaymentForm(){this.newPaymentFormManuallyOpened=!1}setPaymentDetails({paymentDetails:e,billingAddress:t}){this.paymentDetails=e;let n=qt({},e);n.billingAddress=t??this.deliveryAddress,this.busy$.next(!0),this.subscriptions.add(this.checkoutPaymentFacade.createPaymentDetails(n).subscribe({complete:()=>{this.next()},error:()=>{this.onError()}}))}next(){this.checkoutStepService.next(this.activatedRoute)}back(){this.checkoutStepService.back(this.activatedRoute)}savePaymentMethod(e){this.busy$.next(!0),this.subscriptions.add(this.checkoutPaymentFacade.setPaymentDetails(e).subscribe({complete:()=>this.onSuccess(),error:()=>this.onError()}))}getCardIcon(e){let t;return e==="visa"?t=this.iconTypes.VISA:e==="master"||e==="mastercard_eurocard"?t=this.iconTypes.MASTER_CARD:e==="diners"?t=this.iconTypes.DINERS_CLUB:e==="amex"?t=this.iconTypes.AMEX:t=this.iconTypes.CREDIT_CARD,t}createCard(e,t,n){let o=n?.id===e.id;return{role:this.featureConfigService?.isEnabled("a11ySelectLabelWithContextForSelectedAddrOrPayment")&&!o?"button":"application",title:e.defaultPayment?t.textDefaultPaymentMethod:"",textBold:e.accountHolderName,text:[e.cardNumber??"",t.textExpires],img:this.getCardIcon(e.cardType?.code),actions:o?[]:[{name:t.textUseThisPayment,event:"send"}],header:o?t.textSelected:void 0,label:e.defaultPayment?"paymentCard.defaultPaymentLabel":"paymentCard.additionalPaymentLabel"}}onSuccess(){this.busy$.next(!1)}onError(){this.busy$.next(!1)}ngOnDestroy(){this.subscriptions.unsubscribe()}static{this.\u0275fac=function(t){return new(t||i)(f(Re),f(pe),f(Te),f(lt),f(se),f(X),f(re),f(be))}}static{this.\u0275cmp=U({type:i,selectors:[["cx-payment-method"]],standalone:!1,decls:5,vars:2,consts:[["content",""],["loading",""],["hasExistingPaymentMethods",""],["newPaymentForm",""],[4,"ngIf","ngIfElse"],[3,"ngTemplateOutlet"],[1,"cx-checkout-title","d-none","d-lg-block","d-xl-block"],[4,"ngIf"],[4,"ngIf","ngIfThen","ngIfElse"],[1,"cx-checkout-text"],[1,"cx-checkout-btns","cx-checkout-btns-top"],[1,"btn","btn-block","btn-secondary",3,"click"],[1,"cx-checkout-body","row"],["class","cx-payment-card col-md-12 col-lg-6",4,"ngFor","ngForOf"],[1,"cx-checkout-btns","cx-checkout-btns-bottom"],[1,"row","cx-checkout-btns"],[1,"col-md-12","col-lg-6"],[1,"btn","btn-block","btn-primary",3,"click","disabled"],[1,"cx-payment-card","col-md-12","col-lg-6"],[1,"cx-payment-card-inner",3,"click"],[3,"sendCard","border","fitToContainer","content","index"],[3,"setPaymentDetails","closeForm","goBack","paymentMethodsCount","setAsDefaultField","loading","paymentDetails"],[1,"cx-spinner"]],template:function(t,n){if(t&1&&v(0,on,3,4,"section",4)(1,un,5,6,"ng-template",null,0,Y)(3,mn,2,0,"ng-template",null,1,Y),t&2){let o=j(2);s("ngIf",n.featureConfigService==null?null:n.featureConfigService.isEnabled("a11yCheckoutStepsLandmarks"))("ngIfElse",o)}},dependencies:[me,Q,st,fr,Ie,De,W,K],encapsulation:2,changeDetection:0})}}return i})(),Cr=(()=>{class i{static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275mod=O({type:i})}static{this.\u0275inj=N({providers:[H({cmsComponents:{CheckoutPaymentDetails:{component:yr,guards:[ee,Z]}}})],imports:[q,ce,_r,ve,Ge,z,he]})}}return i})(),xr=(()=>{class i{get termsAndConditionInvalid(){return this.checkoutSubmitForm.invalid}constructor(e,t,n,o,h){this.orderFacade=e,this.routingService=t,this.fb=n,this.launchDialogService=o,this.vcr=h,this.params$=new _t,this.checkoutSubmitForm=this.fb.group({termsAndConditions:[!1,L.requiredTrue]}),this.currencyService=b(Ft),this.languageService=b(At)}ngOnInit(){this.params$=E([this.currencyService.getActive(),this.languageService.getActive()]).pipe(_(([e,t])=>[e,t]))}submitForm(){this.checkoutSubmitForm.valid?(this.placedOrder=this.launchDialogService.launch(We.PLACE_ORDER_SPINNER,this.vcr),this.orderFacade.placeOrder(this.checkoutSubmitForm.valid).subscribe({error:()=>{this.placedOrder&&this.placedOrder.subscribe(e=>{this.launchDialogService.clear(We.PLACE_ORDER_SPINNER),e&&e.destroy()}).unsubscribe()},next:()=>this.onSuccess()})):this.checkoutSubmitForm.markAllAsTouched()}onSuccess(){this.routingService.go({cxRoute:"orderConfirmation"})}ngOnDestroy(){this.launchDialogService.clear(We.PLACE_ORDER_SPINNER)}static{this.\u0275fac=function(t){return new(t||i)(f(hi),f(St),f(Fe),f(Ke),f(Kt))}}static{this.\u0275cmp=U({type:i,selectors:[["cx-place-order"]],standalone:!1,decls:19,vars:25,consts:[[1,"cx-place-order-form","form-check",3,"formGroup"],[1,"form-group"],["formControlName","termsAndConditions","type","checkbox","aria-required","true",1,"scaled-input","form-check-input"],[1,"form-check-label"],["target","_blank","rel","noopener noreferrer",1,"cx-tc-link",3,"routerLink"],["id","termsAndConditionsError",3,"control"],[1,"btn","btn-primary","btn-block",3,"click","disabled","cxAtMessage"]],template:function(t,n){t&1&&(g(0,"cx-form-required-legend"),d(1,"form",0)(2,"div",1)(3,"label"),g(4,"input",2),d(5,"span",3),y(6),a(7,"cxTranslate"),d(8,"a",4),a(9,"async"),a(10,"cxUrl"),y(11),a(12,"cxTranslate"),l(),g(13,"cx-form-required-asterisks")(14,"cx-form-errors",5),l()()(),d(15,"button",6),a(16,"cxTranslate"),T("click",function(){return n.submitForm()}),y(17),a(18,"cxTranslate"),l()()),t&2&&(r(),s("formGroup",n.checkoutSubmitForm),r(3),D("aria-describedby","termsAndConditionsError"),r(2),x(" ",c(7,9,"checkoutReview.confirmThatRead")," "),r(2),s("routerLink",c(10,13,k(23,hn,k(21,xi,c(9,11,n.params$))))),r(3),x(" ",c(12,15,"checkoutReview.termsAndConditions")," "),r(3),s("control",n.checkoutSubmitForm.get("termsAndConditions")),r(),s("disabled",n.termsAndConditionInvalid)("cxAtMessage",c(16,17,"checkoutReview.orderInProcess")),r(2),x(" ",c(18,19,"checkoutReview.placeOrder")," "))},dependencies:[ci,ke,mt,ni,Ne,Oe,je,Le,Qe,le,de,W,Ae,K],encapsulation:2,changeDetection:0})}}return i})(),Sr={launch:{PLACE_ORDER_SPINNER:{inline:!0,component:De,dialogType:ai.POPOVER_CENTER_BACKDROP}}},kr=(()=>{class i{static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275mod=O({type:i})}static{this.\u0275inj=N({providers:[H(Sr),H({cmsComponents:{CheckoutPlaceOrder:{component:xr,guards:[ee,Z]}}})],imports:[di,q,ce,ge,z,Ve,Ze,he,le,de]})}}return i})(),Vt=(()=>{class i{constructor(e,t,n,o,h,u,C){this.checkoutStepService=e,this.routingConfigService=t,this.checkoutDeliveryAddressFacade=n,this.checkoutPaymentFacade=o,this.checkoutDeliveryModesFacade=h,this.router=u,this.activeCartFacade=C,this.logger=b(ei),this.subscription=this.activeCartFacade.hasDeliveryItems().pipe(ie()).subscribe(I=>{this.checkoutStepService.disableEnableStep($.DELIVERY_ADDRESS,!I),this.checkoutStepService.disableEnableStep($.DELIVERY_MODE,!I),this.setStepNameMultiLine($.PAYMENT_DETAILS,I),this.setStepNameMultiLine($.REVIEW_ORDER,I)})}canActivate(e){let t=-1,n="/"+e.url.join("/");return this.checkoutStepService.steps$.pipe(oe(1),R(o=>{t=o.findIndex(u=>`/${this.routingConfigService.getRouteConfig(u.routeName)?.paths?.[0]}`===n);let h;return t>=0&&(h=o[t]),h?this.isStepSet(o[t-1]):(Xt()&&this.logger.warn(`Missing step with route '${n}' in checkout configuration or this step is disabled.`),V(this.getUrl("checkout")))}))}isStepSet(e){if(e&&!e.disabled)switch(e.type[0]){case $.DELIVERY_ADDRESS:return this.isDeliveryAddress(e);case $.DELIVERY_MODE:return this.isDeliveryModeSet(e);case $.PAYMENT_DETAILS:return this.checkoutStepService.getCheckoutStep($.DELIVERY_MODE)?.disabled&&this.checkoutDeliveryModesFacade.setDeliveryMode("pickup"),this.isPaymentDetailsSet(e);case $.REVIEW_ORDER:break}return V(!0)}isDeliveryAddress(e){return this.checkoutDeliveryAddressFacade.getDeliveryAddressState().pipe(M(t=>!t.loading),_(t=>t.data),_(t=>t&&Object.keys(t).length?!0:this.getUrl(e.routeName)))}isDeliveryModeSet(e){return this.checkoutDeliveryModesFacade.getSelectedDeliveryModeState().pipe(M(t=>!t.loading),_(t=>t.data),_(t=>t?!0:this.getUrl(e.routeName)))}isPaymentDetailsSet(e){return this.checkoutPaymentFacade.getPaymentDetailsState().pipe(M(t=>!t.loading),_(t=>t.data),_(t=>t&&Object.keys(t).length!==0?!0:this.getUrl(e.routeName)))}getUrl(e){return this.router.parseUrl(this.routingConfigService.getRouteConfig(e)?.paths?.[0])}setStepNameMultiLine(e,t){let n=this.checkoutStepService.getCheckoutStep(e);n&&(n.nameMultiLine=t)}ngOnDestroy(){this.subscription.unsubscribe()}static{this.\u0275fac=function(t){return new(t||i)(S(re),S(pt),S(pe),S(Te),S(Me),S(Ee),S(X))}}static{this.\u0275prov=ne({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})(),br=(()=>{class i{constructor(e){this.checkoutStepService=e,this._steps$=this.checkoutStepService.steps$,this.activeStepIndex$=this.checkoutStepService.activeStepIndex$.pipe(J(t=>this.activeStepIndex=t))}get steps$(){return this._steps$.asObservable()}static{this.\u0275fac=function(t){return new(t||i)(f(re))}}static{this.\u0275cmp=U({type:i,selectors:[["cx-checkout-progress-mobile-bottom"]],standalone:!1,decls:2,vars:3,consts:[[4,"ngIf"],[1,"cx-media"],[4,"ngFor","ngForOf"],["class","cx-list-media",4,"ngIf"],[1,"cx-list-media"]],template:function(t,n){t&1&&(v(0,fn,4,3,"div",0),a(1,"async")),t&2&&s("ngIf",c(1,1,n.activeStepIndex$)!==void 0)},dependencies:[me,Q,W,K],encapsulation:2,changeDetection:0})}}return i})(),Ar=(()=>{class i{static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275mod=O({type:i})}static{this.\u0275inj=N({providers:[H({cmsComponents:{CheckoutProgressMobileBottom:{component:br,guards:[ee,Z,Vt]}}})],imports:[q,ge,z,ce]})}}return i})(),Fr=(()=>{class i{constructor(e,t){this.activeCartFacade=e,this.checkoutStepService=t,this._steps$=this.checkoutStepService.steps$,this.cart$=this.activeCartFacade.getActive(),this.activeStepIndex$=this.checkoutStepService.activeStepIndex$.pipe(J(n=>this.activeStepIndex=n))}get steps$(){return this._steps$.asObservable()}static{this.\u0275fac=function(t){return new(t||i)(f(X),f(re))}}static{this.\u0275cmp=U({type:i,selectors:[["cx-checkout-progress-mobile-top"]],standalone:!1,decls:2,vars:3,consts:[[4,"ngIf"],[1,"cx-media"],["class","cx-list-media cx-title",4,"ngIf"],[4,"ngFor","ngForOf"],[1,"cx-list-media","cx-title"],["class","cx-list-media",4,"ngIf"],["class","cx-list-media is-active",4,"ngIf"],[1,"cx-list-media"],[1,"cx-title"],[1,"btn","btn-link",3,"routerLink"],[1,"cx-list-media","is-active"]],template:function(t,n){t&1&&(v(0,kn,3,3,"div",0),a(1,"async")),t&2&&s("ngIf",c(1,1,n.activeStepIndex$)!==void 0)},dependencies:[me,Q,ke,W,Ae,K],encapsulation:2,changeDetection:0})}}return i})(),Dr=(()=>{class i{static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275mod=O({type:i})}static{this.\u0275inj=N({providers:[H({cmsComponents:{CheckoutProgressMobileTop:{component:Fr,guards:[ee,Z,Vt]}}})],imports:[q,ge,z,ce]})}}return i})(),Ir=(()=>{class i{transform(e){let t=e.lastIndexOf(" ");return t===-1?e:e.substring(0,t)+"<br />"+e.substring(t,e.length).trim()}static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275pipe=zt({name:"cxMultiLine",type:i,pure:!0,standalone:!1})}}return i})(),Mr=(()=>{class i{constructor(e){this.checkoutStepService=e,this.params$=new _t,this._steps$=this.checkoutStepService.steps$,this.currencyService=b(Ft),this.languageService=b(At),this.activeStepIndex$=this.checkoutStepService.activeStepIndex$.pipe(J(t=>this.activeStepIndex=t))}get steps$(){return this._steps$.asObservable()}ngOnInit(){this.params$=E([this.currencyService.getActive(),this.languageService.getActive()]).pipe(_(([e,t])=>[e,t]))}getTabIndex(e){return!this.isActive(e)&&!this.isDisabled(e)?0:-1}isActive(e){return e===this.activeStepIndex}isDisabled(e){return e>this.activeStepIndex}getStepState(e){return this.isDisabled(e)?gt.DISABLED:this.isActive(e)?gt.SELECTED:gt.COMPLETED}static{this.\u0275fac=function(t){return new(t||i)(f(re))}}static{this.\u0275cmp=U({type:i,selectors:[["cx-checkout-progress"]],standalone:!1,decls:2,vars:3,consts:[[4,"ngIf"],[1,"cx-nav","d-none","d-lg-block","d-xl-block"],[1,"cx-list"],[4,"ngFor","ngForOf"],[1,"cx-item"],[1,"cx-link",3,"routerLink","tabindex","innerHTML"]],template:function(t,n){t&1&&(v(0,Dn,6,6,"nav",0),a(1,"async")),t&2&&s("ngIf",c(1,1,n.activeStepIndex$)!==void 0)},dependencies:[me,Q,ke,W,Ae,K,Ir],encapsulation:2,changeDetection:0})}}return i})(),Tr=(()=>{class i{static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275mod=O({type:i})}static{this.\u0275inj=N({providers:[H({cmsComponents:{CheckoutProgress:{component:Mr,guards:[ee,Z,Vt]}}})],imports:[q,ge,z,ce]})}}return i})(),Er=(()=>{class i{constructor(e,t,n,o,h,u){this.checkoutDeliveryAddressFacade=e,this.checkoutPaymentFacade=t,this.activeCartFacade=n,this.translationService=o,this.checkoutStepService=h,this.checkoutDeliveryModesFacade=u,this.cartOutlets=et,this.iconTypes=Ue,this.checkoutStepTypeDeliveryAddress=$.DELIVERY_ADDRESS,this.checkoutStepTypePaymentDetails=$.PAYMENT_DETAILS,this.checkoutStepTypeDeliveryMode=$.DELIVERY_MODE,this.promotionLocation=ui.ActiveCart,this.steps$=this.checkoutStepService.steps$,this.deliveryAddress$=this.checkoutDeliveryAddressFacade.getDeliveryAddressState().pipe(M(C=>!C.loading&&!C.error),_(C=>C.data)),this.deliveryMode$=this.checkoutDeliveryModesFacade.getSelectedDeliveryModeState().pipe(M(C=>!C.loading&&!C.error),_(C=>C.data)),this.paymentDetails$=this.checkoutPaymentFacade.getPaymentDetailsState().pipe(M(C=>!C.loading&&!C.error),_(C=>C.data))}get cart$(){return this.activeCartFacade.getActive()}get entries$(){return this.activeCartFacade.getEntries()}getCheckoutDeliverySteps(){return[$.DELIVERY_ADDRESS,$.DELIVERY_MODE]}getCheckoutPaymentSteps(){return[$.PAYMENT_DETAILS,$.DELIVERY_ADDRESS]}getDeliveryAddressCard(e,t){return E([this.translationService.translate("addressCard.shipTo"),this.translationService.translate("addressCard.phoneNumber"),this.translationService.translate("addressCard.mobileNumber")]).pipe(_(([n,o,h])=>Nt(n,o,h,e,t)))}getDeliveryModeCard(e){return E([this.translationService.translate("checkoutMode.deliveryMethod")]).pipe(_(([t])=>Ot(t,e)))}getPaymentMethodCard(e){return E([this.translationService.translate("paymentForm.payment"),this.translationService.translate("paymentCard.expires",{month:e.expiryMonth,year:e.expiryYear}),this.translationService.translate("paymentForm.billingAddress")]).pipe(_(([t,n,o])=>{let h=e.billingAddress?.region?.isocode?e.billingAddress?.region?.isocode+", ":"";return{title:t,textBold:e.accountHolderName,text:[e.cardNumber,n],paragraphs:[{title:o+":",text:[e.billingAddress?.firstName+" "+e.billingAddress?.lastName,e.billingAddress?.line1,e.billingAddress?.town+", "+h+e.billingAddress?.country?.isocode,e.billingAddress?.postalCode]}]}}))}getCheckoutStepUrl(e){return this.checkoutStepService.getCheckoutStep(e)?.routeName}deliverySteps(e){return e.filter(t=>this.getCheckoutDeliverySteps().includes(t.type[0]))}paymentSteps(e){return e.filter(t=>this.getCheckoutPaymentSteps().includes(t.type[0]))}static{this.\u0275fac=function(t){return new(t||i)(f(pe),f(Te),f(X),f(se),f(re),f(Me))}}static{this.\u0275cmp=U({type:i,selectors:[["cx-review-submit"]],standalone:!1,decls:15,vars:9,consts:[["deliveryAddress",""],["deliveryMode",""],["paymentMethod",""],[1,"cx-review"],[1,"cx-review-title","d-none","d-lg-block","d-xl-block"],[1,"cx-review-summary","row"],[4,"ngIf"],[1,"col-md-12","col-lg-6","col-xl-6","cx-review-payment-col"],[4,"ngFor","ngForOf"],[1,"col-md-12","col-lg-6","col-xl-6","cx-review-shipping-col"],[3,"ngSwitch"],[4,"ngSwitchCase"],[4,"ngTemplateOutlet"],["class","cx-review-summary-card cx-review-card-address",4,"ngIf"],[1,"cx-review-summary-card","cx-review-card-address"],[3,"content"],[1,"cx-review-summary-edit-step"],[3,"routerLink"],["aria-hidden","true",3,"type"],[1,"cx-review-summary-card","cx-review-card-shipping"],[3,"content",4,"ngIf"],[3,"cxOutlet","cxOutletContext"],[1,"cx-review-summary-card","cx-review-card-payment"],[1,"cx-review-cart-total","d-none","d-lg-block","d-xl-block"],[1,"cx-review-cart-heading","d-block","d-lg-none","d-xl-none"],["class","cx-review-cart-item",4,"ngIf"],[1,"cx-review-cart-item"],[3,"promotions"]],template:function(t,n){if(t&1&&(d(0,"div",3)(1,"h2",4),y(2),a(3,"cxTranslate"),l(),d(4,"div",5),v(5,On,5,2,"ng-container",6),a(6,"async"),l(),v(7,Ln,2,3,"ng-template",null,0,Y)(9,qn,11,18,"ng-template",null,1,Y)(11,Yn,9,12,"ng-template",null,2,Y)(13,Kn,9,13,"ng-container",6),a(14,"async"),l()),t&2){let o;r(2),x(" ",c(3,3,"checkoutReview.review")," "),r(3),s("ngIf",(o=c(6,5,n.steps$))==null?null:o.slice(0,-1)),r(8),s("ngIf",c(14,7,n.cart$))}},dependencies:[me,Q,st,Qt,Zt,Ie,ke,Pt,Je,ze,W,K,Ae],encapsulation:2,changeDetection:0})}}return i})(),wr=(()=>{class i{static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275mod=O({type:i})}static{this.\u0275inj=N({providers:[H({cmsComponents:{CheckoutReviewOrder:{component:Er,guards:[ee,Z]}}})],imports:[q,ve,z,ge,ce,$t,qe,Xe]})}}return i})(),Pr=(()=>{class i{constructor(e){this.activeCartFacade=e,this.document=b(Jt,{optional:!0}),this.translationService=b(se,{optional:!0}),this.featureService=b(we,{optional:!0}),this.CHECKOUT_COMPONENTS=["cx-checkout-review-payment","cx-checkout-review-overview","cx-checkout-review-shipping"]}ngAfterViewInit(){this.wrapComponentsWithSectionEl()}get cart$(){return this.activeCartFacade.getActive()}wrapComponentsWithSectionEl(){this.document&&this.translationService&&this.featureService?.isEnabled("a11yWrapReviewOrderInSection")&&this.translationService.translate("checkoutReview.reviewOrder").pipe(oe(1)).subscribe(e=>{requestAnimationFrame(()=>{let t=this.CHECKOUT_COMPONENTS.map(h=>this.document?.querySelector(h)),n=t[0]?.parentNode,o=this.document?.createElement("section");n&&o&&(o.ariaLabel=e,n.replaceChild(o,t[0]),t.forEach(h=>o.appendChild(h)))})})}static{this.\u0275fac=function(t){return new(t||i)(f(X))}}static{this.\u0275cmp=U({type:i,selectors:[["cx-checkout-review-overview"]],standalone:!1,decls:2,vars:3,consts:[[4,"ngIf"],[1,"cx-review-cart-total","d-none","d-lg-block","d-xl-block"],[3,"promotions"]],template:function(t,n){t&1&&(v(0,zn,5,10,"ng-container",0),a(1,"async")),t&2&&s("ngIf",c(1,1,n.cart$))},dependencies:[Q,Pt,W,K],encapsulation:2,changeDetection:0})}}return i})(),$r=(()=>{class i{static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275mod=O({type:i})}static{this.\u0275inj=N({providers:[H({cmsComponents:{CheckoutReviewOverview:{component:Pr,guards:[ee,Z]}}})],imports:[q,$t,z]})}}return i})(),Br=(()=>{class i{constructor(e,t,n){this.checkoutStepService=e,this.checkoutPaymentFacade=t,this.translationService=n,this.iconTypes=Ue,this.paymentDetailsStepRoute=this.checkoutStepService.getCheckoutStepRoute($.PAYMENT_DETAILS),this.paymentDetails$=this.checkoutPaymentFacade.getPaymentDetailsState().pipe(M(o=>!o.loading&&!o.error),_(o=>o.data)),ii("a11yHighContrastBorders")}getPaymentMethodCard(e){return E([this.translationService.translate("paymentForm.payment"),this.translationService.translate("paymentCard.expires",{month:e.expiryMonth,year:e.expiryYear})]).pipe(_(([t,n])=>gi(t,n,e)))}getBillingAddressCard(e){return E([this.translationService.translate("paymentForm.billingAddress"),this.translationService.translate("addressCard.billTo")]).pipe(_(([t,n])=>vi(t,n,e)))}static{this.\u0275fac=function(t){return new(t||i)(f(re),f(Te),f(se))}}static{this.\u0275cmp=U({type:i,selectors:[["cx-checkout-review-payment"]],standalone:!1,decls:2,vars:3,consts:[["class","cx-review-summary",4,"ngIf"],[1,"cx-review-summary"],[1,"cx-review-summary-card","cx-review-summary-payment-card"],[3,"content"],[1,"cx-review-summary-edit-step"],[3,"routerLink"],["aria-hidden","true",3,"type"]],template:function(t,n){t&1&&(v(0,Xn,19,24,"div",0),a(1,"async")),t&2&&s("ngIf",c(1,1,n.paymentDetails$))},dependencies:[Q,Ie,ke,Je,W,K,Ae],encapsulation:2,changeDetection:0})}}return i})(),Rr=(()=>{class i{static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275mod=O({type:i})}static{this.\u0275inj=N({providers:[H({cmsComponents:{CheckoutReviewPayment:{component:Br,guards:[ee,Z]}}})],imports:[q,ve,z,ge,ce,qe]})}}return i})(),Nr=(()=>{class i{constructor(e,t,n,o,h){this.activeCartFacade=e,this.checkoutDeliveryModesFacade=t,this.checkoutDeliveryAddressFacade=n,this.translationService=o,this.checkoutStepService=h,this.featureConfig=b(we),this.cartOutlets=et,this.iconTypes=Ue,this.deliveryAddressStepRoute=this.checkoutStepService.getCheckoutStepRoute($.DELIVERY_ADDRESS),this.deliveryModeStepRoute=this.checkoutStepService.getCheckoutStepRoute($.DELIVERY_MODE),this.entries$=this.activeCartFacade.getDeliveryEntries(),this.deliveryAddress$=this.checkoutDeliveryAddressFacade.getDeliveryAddressState().pipe(M(u=>!u.loading&&!u.error),_(u=>u.data)),this.deliveryMode$=this.checkoutDeliveryModesFacade.getSelectedDeliveryModeState().pipe(M(u=>!u.loading&&!u.error),_(u=>u.data))}getDeliveryAddressCard(e,t){return E([this.translationService.translate("addressCard.shipTo"),this.translationService.translate("addressCard.phoneNumber"),this.translationService.translate("addressCard.mobileNumber")]).pipe(_(([n,o,h])=>Nt(n,o,h,e,t)))}getDeliveryModeCard(e){return E([this.translationService.translate("checkoutMode.deliveryOptions")]).pipe(_(([t])=>Ot(t,e)))}static{this.\u0275fac=function(t){return new(t||i)(f(X),f(Me),f(pe),f(se),f(re))}}static{this.\u0275cmp=U({type:i,selectors:[["cx-checkout-review-shipping"]],standalone:!1,decls:2,vars:3,consts:[[4,"ngIf"],[1,"cx-review-header"],[1,"cx-review-summary","cx-review-shipping-summary"],[1,"cx-review-summary-card-container"],["class","cx-review-summary-card cx-review-card-address",4,"ngIf"],[1,"cx-review-summary-card","cx-review-card-address"],[3,"content",4,"ngIf"],[1,"cx-review-summary-edit-step"],[3,"routerLink"],["aria-hidden","true",3,"type"],[1,"cx-review-cart-item"],[3,"cxOutlet","cxOutletContext"],[3,"content"]],template:function(t,n){t&1&&(v(0,tr,2,1,"ng-container",0),a(1,"async")),t&2&&s("ngIf",c(1,1,n.entries$))},dependencies:[Q,Ie,ke,Je,ze,W,K,Ae],encapsulation:2,changeDetection:0})}}return i})(),Or=(()=>{class i{static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275mod=O({type:i})}static{this.\u0275inj=N({providers:[H({cmsComponents:{CheckoutReviewShipping:{component:Nr,guards:[ee,Z]}}})],imports:[q,z,ve,ge,ce,qe,Xe]})}}return i})(),yo=(()=>{class i{static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275mod=O({type:i})}static{this.\u0275inj=N({imports:[ur,hr,Tr,Dr,Ar,ar,Cr,kr,wr,Rr,Or,$r,rr,lr]})}}return i})();export{Z as a,rt as b,ee as c,re as d,mr as e,_r as f,br as g,Fr as h,Mr as i,Er as j,yo as k};