1"use strict";(self.fkaWebpackJsonp=self.fkaWebpackJsonp||[]).push([[945,1226,4456],{6161:(t,e,a)=>{a.d(e,{p:()=>i});var r=a(641),o=a(8857);const i=(0,r.pM)({methods:{formatImage:o.Sl,formatImageShopImage:o.Ob,srcset:o.hH,srcsetImageShop:o.Qf}})},8126:(t,e,a)=>{a.r(e),a.d(e,{default:()=>ot});var r=a(641),o=a(33),i=a(3751);const n={key:0},l={class:"modal__message"},s={key:1,class:"product-added-to-cart__content"},d={key:0,class:"product-added-to-cart__total"},c={class:"product-added-to-cart__total-tax"},u={key:1,class:"product-added-to-cart__campaign-info"},m={class:"product-added-to-cart__campaign-info-text"},p=["href"],g=["href"],h={class:"product-added-to-cart__actions"},f=["href"],v={key:2,class:"product-added-to-cart__recommendations"},k={class:"product-added-to-cart__recommendations-heading"},_={class:"product-added-to-cart__recommendations-products"},C={class:"product-grid product-grid--scroll","data-scroll-pointer":""};var y=a(2866),b=a(6978);const F={class:"campaign-gift-modal__content"},w={class:"campaign-gift-modal__subtitle"},E={key:0,class:"campaign-gift-modal__variants"},x={key:0,class:"campaign-gift-modal__single-gift"},X=["src"],N={class:"campaign-gift-modal__single-gift-name"},L={class:"campaign-gift-modal__badge"},Y=["onClick","disabled"],M=["src"],S={class:"campaign-gift-modal__variant-item"},G={key:1,class:"campaign-gift-modal__variant-meta"},T={key:0,class:"campaign-gift-modal__chip"},W={key:1,class:"campaign-gift-modal__chip"},U={class:"campaign-gift-modal__badge"},I={class:"campaign-gift-modal__actions"},O=["disabled"],A={key:0},Q={key:1},K={key:2};var R=a(953),$=a(7258),D=a(5607),P=a(6998),z=a(5862),B=a(4324);const j=(0,r.pM)({name:"CampaignGiftModal",mixins:[(0,B.m)()],components:{Modal:b.A,Alert:$.default},props:{campaign:{type:Object,required:!0},visible:{type:Boolean,default:!1},checkoutUrl:{type:String,default:""}},emits:["gift-added","declined"],setup(t,{emit:e}){const a=(0,r.nI)(),o=(...t)=>{const e=a?.proxy;return e?.translate?.(...t)},i=(0,r.EW)((()=>a?.proxy?.$store)),n=(0,R.KR)(!1),l=(0,R.KR)([]),s=(0,R.KR)(null),d=(0,R.KR)(""),c=(0,r.EW)((()=>{const t=o("modal");return{close:t?.close||"",ok:t?.ok||"",somethingWentWrong:t?.somethingWentWrong||""}})),u=(0,r.EW)((()=>{if(s.value)return l.value.find((t=>t.id===s.value))})),m=(0,r.EW)((()=>1===l.value.length)),p=(0,r.EW)((()=>!0===t.campaign.showSizeMeta)),g=(0,r.EW)((()=>!0===t.campaign.showColorMeta)),h=(0,r.EW)((()=>p.value||g.value)),f=D.M,v=(0,r.EW)((()=>m.value?o("singleGiftSubtitle")||"":o("multiGiftSubtitle")||""));return(0,r.wB)((()=>t.visible),(e=>{e&&(l.value=[],s.value=null,d.value="",(()=>{const e=(t.campaign.giftOptions??[]).filter((t=>!!t?.id&&!!t?.productNumber));if(!e.length)return d.value=o("noGiftFoundError")||"",void(l.value=[]);l.value=e,1===l.value.length&&(s.value=l.value[0].id)})())}),{immediate:!0}),{adding:n,giftOptions:l,selectedOptionId:s,errorMessage:d,modalLang:c,subtitleText:v,selectedGiftOption:u,isSingleGiftOption:m,showSizeMeta:p,showColorMeta:g,showVariantMeta:h,alertType:f,getDisplayName:t=>t.name||t.label,selectGift:t=>{s.value=t,d.value=""},addSelectedGift:async()=>{const a=u.value;if(!a)return void(d.value=o("selectGiftFirstError")||"");const r=a.sourceOfferIds?.find((t=>!!t))||t.campaign.offerId;n.value=!0,d.value="";try{const t={offerId:r,giftOptionId:a.id,cartItems:[]},n=await fetch("/api/campaigns/gifts/add",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!n.ok){const t=await n.text();let e=t;try{const a=JSON.parse(t);"string"==typeof a?e=a:a?.message&&(e=a.message)}catch{}throw new Error(e||o("addGiftError")||"")}const l=await n.json();if(!l?.productNumber)throw new Error(o("addGiftError")||"");const{productNumber:s,variantNumber:d}=l;await(0,P.kM)(i.value,{items:[{productNumber:s,variantNumber:d,quantity:1}],addingToCart:!1,recommendations:z.l.None,listName:"campaign-gift",listIndex:0});const c=(0,P.H2)(i.value);if(c?.error)throw new Error("string"==typeof c.error?c.error:o("addGiftError")||"");const u=(0,P.F1)(i.value)??[];if(!u.some((t=>t.productNumber===s&&(!d||t.variantNumber===d))))throw new Error(o("addGiftError")||"");e("gift-added",{productNumber:s,variantNumber:d})}catch(t){console.error("Failed to add gift product:",t),d.value=t instanceof Error?t.message:o("addGiftError")||""}finally{n.value=!1}},decline:()=>e("declined")}}});var J=a(6262);const H=(0,J.A)(j,[["render",function(t,e,a,i,n,l){const s=(0,r.g2)("alert"),d=(0,r.g2)("Modal");return t.visible?((0,r.uX)(),(0,r.Wv)(d,{key:0,onClose:t.decline,lang:t.modalLang,white:!0,title:t.campaign.campaignLabel,class:"campaign-gift-modal"},{default:(0,r.k6)((()=>[(0,r.Lk)("div",F,[(0,r.Lk)("p",w,(0,o.v_)(t.subtitleText),1),t.giftOptions.length?((0,r.uX)(),(0,r.CE)("div",E,[t.isSingleGiftOption?((0,r.uX)(),(0,r.CE)("div",x,[t.giftOptions[0].imageUrl?((0,r.uX)(),(0,r.CE)("img",{key:0,class:"campaign-gift-modal__single-gift-image",src:t.giftOptions[0].imageUrl,alt:"",width:"170",height:"170",loading:"lazy"},null,8,X)):(0,r.Q3)("",!0),(0,r.Lk)("p",N,(0,o.v_)(t.getDisplayName(t.giftOptions[0])),1),(0,r.Lk)("span",L,(0,o.v_)(t.translate("freeBadge")),1)])):((0,r.uX)(!0),(0,r.CE)(r.FK,{key:1},(0,r.pI)(t.giftOptions,(e=>((0,r.uX)(),(0,r.CE)("button",{key:e.id,onClick:a=>t.selectGift(e.id),disabled:t.adding,class:(0,o.C4)(["campaign-gift-modal__variant-card",{"campaign-gift-modal__variant-card--selected":t.selectedOptionId===e.id}]),type:"button"},[e.imageUrl?((0,r.uX)(),(0,r.CE)("img",{key:0,class:"campaign-gift-modal__variant-image",src:e.imageUrl,alt:"",width:"120",height:"120",loading:"lazy"},null,8,M)):(0,r.Q3)("",!0),(0,r.Lk)("span",S,(0,o.v_)(t.getDisplayName(e)),1),t.showVariantMeta?((0,r.uX)(),(0,r.CE)("span",G,[t.showSizeMeta&&e.size?((0,r.uX)(),(0,r.CE)("span",T,(0,o.v_)(t.translate("size"))+" "+(0,o.v_)(e.size),1)):(0,r.Q3)("",!0),t.showColorMeta&&e.color?((0,r.uX)(),(0,r.CE)("span",W,(0,o.v_)(t.translate("color"))+" "+(0,o.v_)(e.color),1)):(0,r.Q3)("",!0)])):(0,r.Q3)("",!0),(0,r.Lk)("span",U,(0,o.v_)(t.translate("freeBadge")),1)],10,Y)))),128))])):(0,r.Q3)("",!0),(0,r.Lk)("div",I,[t.errorMessage?((0,r.uX)(),(0,r.Wv)(s,{key:0,lang:t.translate("alert"),type:t.alertType.Alert,message:t.errorMessage,outline:!1,isClosable:!1},null,8,["lang","type","message"])):(0,r.Q3)("",!0),(0,r.Lk)("button",{onClick:e[0]||(e[0]=(...e)=>t.addSelectedGift&&t.addSelectedGift(...e)),disabled:t.adding||!t.selectedGiftOption,class:"button button--primary campaign-gift-modal__button",type:"button"},[t.adding?((0,r.uX)(),(0,r.CE)("span",A,(0,o.v_)(t.translate("adding")),1)):t.isSingleGiftOption?((0,r.uX)(),(0,r.CE)("span",Q,(0,o.v_)(t.translate("addSingleGiftButton")),1
1)):((0,r.uX)(),(0,r.CE)("span",K,(0,o.v_)(t.translate("addGiftButton")),1))],8,O)])])])),_:1},8,["onClose","lang","title"])):(0,r.Q3)("",!0)}]]);var V=a(9901),q=a(6161),Z=a(1724),tt=a(5052),et=a(9898);const at=(0,r.pM)({name:"ProductAddedToCart",mixins:[(0,B.m)(),q.p],props:{checkoutUrl:String,freeFreightLimit:Number,culture:String},components:{ScrollPointer:et.default,Modal:b.A,CartProduct:y.A,ProductCard:Z.default,Icon:tt.A,Alert:$.default,CampaignGiftModal:H},data:()=>({xForYCampaign:null,showGiftModal:!1,giftModalChecked:!1,awaitingXForY:!1,xForYUpsell:null}),watch:{recommendations(){if("campaign-gift"===this.cartListName)return;const{recommendations:t,CartRecommendationType:e,recommendationsListName:a}=this;t?.products&&(0,V.aK)(this.$store,{listName:a,products:t?.products.slice(0,6),recommendations:e.Cart})},addingToCart(t){t?.items?.length&&!this.giftModalChecked&&(this.xForYUpsell=null,this.awaitingXForY=!0,this.checkForXForYCampaign())}},computed:{addingToCart(){return this.$store?(0,P.H2)(this.$store):null},products(){const{addingToCart:t}=this;return t?.items?.length?(0,P.F1)(this.$store).filter((e=>!(!e.variantNumber||!t.items?.find((t=>t.variantNumber===e.variantNumber)))||t.items?.find((t=>t.productNumber===e.productNumber)))):[]},summary(){const{addingToCart:t}=this;return t?.items?.length?(0,P.L_)(this.$store):null},adding(){return!!this.addingToCart?.adding},error(){return!!this.addingToCart?.error},errorMessage(){return"string"==typeof this.addingToCart?.error?this.addingToCart.error:this.translate("errorAddingToCartMessage")},recommendations(){if("campaign-gift"!==this.cartListName)return this.$store&&(0,P.v)(this.$store)},cartListName(){return this.$store&&(0,P.U4)(this.$store)},CartRecommendationType:()=>z.l,recommendationsListName(){return this.recommendations?.heading??this.translate("recommendations")},alertType:()=>D.M,showFreeFreightAlert(){const{summary:t}=this;return!(!this.freeFreightLimit||!t)}},methods:{resetXForYState(t){this.giftModalChecked=!t,this.awaitingXForY=!1,this.showGiftModal=!1,this.xForYCampaign=null,this.xForYUpsell=null},async checkForXForYCampaign(){const{addingToCart:t}=this;if(t?.items?.length){this.giftModalChecked=!0;try{const e=await fetch("/api/campaigns/xfory/evaluate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({addedItems:t.items})});if(!e.ok)return void this.resetXForYState(!0);const a=await e.json();if("gift-modal"===a?.mode&&a?.campaign)return this.xForYCampaign=a.campaign,this.showGiftModal=!0,this.xForYUpsell=null,void(this.awaitingXForY=!1);const r=a?.upsell,o=r?.text??a?.psstText;if("upsell"===a?.mode&&o)return this.showGiftModal=!1,this.xForYCampaign=null,this.xForYUpsell={text:o,linkText:r?.linkText,linkUrl:r?.linkUrl,links:r?.links},void(this.awaitingXForY=!1);this.resetXForYState(!0)}catch(t){console.error("Error checking for X-for-Y campaign:",t),this.resetXForYState(!0)}}else this.awaitingXForY=!1},onGiftAdded(t){const e=this.addingToCart??{adding:!1,error:!1,items:[]},a=e.items??[];a.some((e=>e.productNumber===t.productNumber&&(e.variantNumber??"")===(t.variantNumber??"")))||(0,P.Uk)(this.$store,{...e,adding:!1,error:!1,items:[...a,{productNumber:t.productNumber,variantNumber:t.variantNumber}]}),this.showGiftModal=!1,this.awaitingXForY=!1,this.xForYCampaign=null,this.xForYUpsell=null},onGiftDeclined(){this.close()},close(){this.resetXForYState(!0),(0,P.Uk)(this.$store,{adding:!1,error:!1})}}}),rt=(0,J.A)(at,[["render",function(t,e,a,y,b,F){const w=(0,r.g2)("campaign-gift-modal"),E=(0,r.g2)("cart-product"),x=(0,r.g2)("Icon"),X=(0,r.g2)("scroll-pointer"),N=(0,r.g2)("product-card"),L=(0,r.g2)("Modal");return t.showGiftModal&&t.xForYCampaign?((0,r.uX)(),(0,r.Wv)(w,{key:0,campaign:t.xForYCampaign,visible:t.showGiftModal,"checkout-url":t.checkoutUrl,lang:t.translate("giftModal"),onGiftAdded:t.onGiftAdded,onDeclined:t.onGiftDeclined},null,8,["campaign","visible","checkout-url","lang","onGiftAdded","onDeclined"])):t.awaitingXForY||!t.error&&!t.products.length?(0,r.Q3)("",!0):((0,r.uX)(),(0,r.Wv)(L,{key:1,onClose:t.close,lang:t.translate("modal"),popup:!!t.error,white:!t.error,title:t.error?"":t.translate("addedToCart"),class:"product-added-to-cart__modal"},{default:(0,r.k6)((()=>[t.error?((0,r.uX)(),(0,r.CE)("div",n,[e[2]||(e[2]=(0,r.Lk)("img",{class:"modal__error",src:"/UI/Icons/error.svg",alt:""},null,-1)),(0,r.Lk)("p",l,(0,o.v_)(t.translate("modal","somethingWentWrong")),1),(0,r.Lk)("p",null,(0,o.v_)(t.errorMessage),1),e[3]||(e[3]=(0,r.Lk)("br",null,null,-1)),(0,r.Lk)("button",{onClick:e[0]||(e[0]=(0,i.D$)(((...e)=>t.close&&t.close(...e)),["prevent"])),class:"button button--primary",type:"button"},(0,o.v_)(t.translate("modal","ok")),1)])):(0,r.Q3)("",!0),t.error?(0,r.Q3)("",!0):((0,r.uX)(),(0,r.CE)("div",s,[((0,r.uX)(!0),(0,r.CE)(r.FK,null,(0,r.pI)(t.products,(e=>((0,r.uX)(),(0,r.Wv)(E,{"product-number":e.productNumber,key:e.lineId,product:e,lang:t.translate("cart"),recommendations:t.CartRecommendationType.Product,class:"product-added-to-cart__product"},null,8,["product-number","product","lang","recommendations"])))),128)),t.summary?((0,r.uX)(),(0,r.CE)("div",d,[(0,r.Lk)("p",null,[(0,r.eW)((0,o.v_)(t.translate("cart","totalPrice"))+" ",1),(0,r.Lk)("span",null,(0,o.v_)(t.summary.formattedTotalAmount),1)]),(0,r.Lk)("p",c,(0,o.v_)(t.translate("cart","vat"))+" "+(0,o.v_)(t.summary.formattedTaxAmount),1)])):(0,r.Q3)("",!0),t.xForYUpsell?((0,r.uX)(),(0,r.CE)("div",u,[(0,r.Lk)("p",m,[(0,r.eW)((0,o.v_)(t.xForYUpsell.text)+" ",1),t.xForYUpsell.links&&t.xForYUpsell.links.length?((0,r.uX)(!0),(0,r.CE)(r.FK,{key:0},(0,r.pI)(t.xForYUpsell.links,((e,a)=>((0,r.uX)(),(0,r.CE)(r.FK,{key:`${e.text}-${a}`},[a>0?((0,r.uX)(),(0,r.CE)(r.FK,{key:0},[(0,r.eW)((0,o.v_)(a===t.xForYUpsell.links.length-1?" eller ":", "),1)],64)):(0,r.Q3)("",!0),e.url?((0,r.uX)(),(0,r.CE)("a",{key:1,href:e.url,class:"product-added-to-cart__campaign-info-link"},(0,o.v_)(e.text),9,p)):((0,r.uX)(),(0,r.CE)(r.FK,{key:2},[(0,r.eW)((0,o.v_)(e.text),1)],64))],64)))),128)):t.xForYUpsell.linkUrl&&t.xForYUpsell.linkText?((0,r.uX)(),(0,r.CE)("a",{key:1,href:t.xForYUpsell.linkUrl,class:"product-added-to-cart__campaign-info-link"},(0,o.v_)(t.xForYUpsell.linkText),9,g)):t.xForYUpsell.linkText?((0,r.uX)(),(0,r.CE)(r.FK,{key:2},[(0,r.eW)((0,o.v_)(t.xForYUpsell.linkText),1)],64)):(0,r.Q3)("",!0),t.xForYUpsell.linkText?((0,r.uX)(),(0,r.CE)(r.FK,{key:3},[(0,r.eW)(" så får du den här produkten gratis. ")],64)):(0,r.Q3)("",!0)])])):(0,r.Q3)("",!0),(0,r.Lk)("div",h,[(0,r.Lk)("a",{href:t.checkoutUrl,class:"button product-added-to-cart__button product-added-to-cart__button--pay"},[(0,r.Lk)("span",null,(0,o.v_)(t.translate("payNow")),1),(0,r.bF)(x,{icon:"arrow-right-light",width:"18",height:"18"})],8,f),(0,r.Lk)("button",{onClick:e[1]||(e[1]=(0,i.D$)(((...e)=>t.close&&t.close(...e)),["prevent"])),class:"button product-added-to-cart__button product-added-to-cart__button--continue",type:"button"},(0,o.v_)(t.translate("keepShopping")),1)]),t.recommendations&&t.recommendations.products&&t.recommendations.products.length?((0,r.uX)(),(0,r.CE)("div",v,[(0,r.Lk)("h3",k,(0,o.v_)(t.recommendations.heading||t.translate("recommendations")),1),(0,r.Lk)("div",_,[(0,r.Lk)("div",C,[(0,r.bF)(X,{"product-count":t.re
1commendations.products.length},null,8,["product-count"]),((0,r.uX)(!0),(0,r.CE)(r.FK,null,(0,r.pI)(t.recommendations.products.slice(0,6),((e,a)=>((0,r.uX)(),(0,r.Wv)(N,(0,r.v6)({key:e.productNumber,variant:5,lang:t.translate("cart","productCard"),recommendations:t.CartRecommendationType.Product,listName:t.recommendationsListName,listIndex:a,ref_for:!0},e),null,16,["lang","recommendations","listName","listIndex"])))),128))])])])):(0,r.Q3)("",!0)]))])),_:1},8,["onClose","lang","popup","white","title"]))}]]),ot=rt},9898:(t,e,a)=>{a.r(e),a.d(e,{default:()=>s});var r=a(641);const o={class:"scroll-pointer__root-hidden-reference",ref:"rootEl"};var i=a(5052),n=a(953);const l=(0,r.pM)({name:"ScrollPointer",components:{Icon:i.A},props:{productCount:{type:Number,default:0}},setup(t){const e=(0,n.KR)(!1),a=(0,n.KR)(!1),o=(0,n.KR)(null);let i=null;const l=(0,n.KR)(null),s=(0,r.EW)((()=>l.value?l.value:null)),d=(0,r.EW)((()=>s.value?.getElementsByClassName("product-card")[0]?.getBoundingClientRect().width??0)),c=(0,r.EW)((()=>{if(!s.value||!d.value||t.productCount<=1)return 0;const e=d.value*t.productCount;return(s.value.scrollWidth-e)/(t.productCount-1)})),u=()=>{if(!s.value)return;const t=s.value;e.value=t.scrollLeft>0,a.value=t.scrollLeft+t.clientWidth<t.scrollWidth};return(0,r.sV)((async()=>{await(0,r.dY)(),l.value=o.value?.closest("[data-scroll-pointer]")||null,s.value?.addEventListener("scroll",u),u(),s.value&&(i=new ResizeObserver((()=>{u()})),i.observe(s.value))})),(0,r.hi)((()=>{s.value?.removeEventListener("scroll",u),i&&s.value&&(i.unobserve(s.value),i.disconnect())})),{cardWidth:d,cardGap:c,scrollContainer:s,handleScrollDirection:t=>{if(!s.value)return;const e=d.value+c.value;s.value.scrollBy({left:"right"===t?e:-e,behavior:"smooth"})},canScroll:()=>!!s.value&&s.value.scrollWidth>s.value.clientWidth,showRight:a,showLeft:e,rootEl:o}}});const s=(0,a(6262).A)(l,[["render",function(t,e,a,i,n,l){const s=(0,r.g2)("icon");return(0,r.uX)(),(0,r.CE)(r.FK,null,[(0,r.Lk)("div",o,null,512),t.canScroll()&&t.showRight?((0,r.uX)(),(0,r.CE)("button",{key:0,class:"scroll-pointer__button scroll-pointer--right",type:"button","data-right-pointer-tracking":"",onClick:e[0]||(e[0]=e=>t.handleScrollDirection("right"))},[e[2]||(e[2]=(0,r.Lk)("span",{class:"sr-only"},"Scrolla till höger",-1)),(0,r.bF)(s,{icon:"chevron-down",width:"20",height:"20",class:"scroll-pointer__icon"})])):(0,r.Q3)("",!0),t.canScroll()&&t.showLeft?((0,r.uX)(),(0,r.CE)("button",{key:1,class:"scroll-pointer__button scroll-pointer--left",type:"button","data-left-pointer-tracking":"",onClick:e[1]||(e[1]=e=>t.handleScrollDirection("left"))},[e[3]||(e[3]=(0,r.Lk)("span",{class:"sr-only"},"Scrolla till vänster",-1)),(0,r.bF)(s,{icon:"chevron-down",width:"20",height:"20",class:"scroll-pointer__icon"})])):(0,r.Q3)("",!0)],64)}]])}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.