(function($){Vue.component('product-flag',{template:'#vc-component-product-flag',props:{flag:{type:Object,default:function(){return{}}}},computed:{flagName:function(){return this.flag.text.replace(' ','-').toLowerCase()},style:function(){var styles={};if(this.flag.bgcolourcode){styles.backgroundColor=this.flag.bgcolourcode}
if(this.flag.colourcode){styles.color=this.flag.colourcode}
return styles}},});Vue.component('product-item',{template:'#vc-component-product-item',props:{hasHoverImage:{type:Boolean,default:!1},index:{type:Number,default:0},listName:{type:String,default:null},product:{type:Object,required:!0},sizes:{type:Boolean,default:!1},swatches:{type:Number,default:10},index:{type:Number,default:0},listName:{type:String,default:null},},data:function(){return{showAltImage:!1,styleColourId:'',variantid:'',size:'',conversion:'',conversionSelected:'',selectedConvertedSize:'',isActive:!1,}},computed:{styleColour:function(){return this.product.stylecolour},variant:function(){return this.styleColour.variant},currency:function(){var currency=this.styleColour.variant.currency;var currencySymbol='';switch(currency){case 'GBP':currencySymbol='&pound;';break;default:currencySymbol='$';break}
return currency+' '+currencySymbol},lowestBaseUnitPrice:function(){return this.getLowestAmount(Object.values(this.styleColour.variants),'baseunitprice')},lowestUnitPrice:function(){return this.getLowestAmount(Object.values(this.styleColour.variants),'unitprice')},colourSwatches:function(){if(!this.styleColour.attributes||!this.styleColour.attributes.colourswatches){return[]}else{return this.styleColour.attributes.colourswatches}},maxColourSwatches:function(){var self=this;var currentSwatchIndex=0;if(!this.colourSwatches.length)return;this.colourSwatches.forEach(function(swatch,index){if(swatch.stylecolourid===self.styleColour.stylecolourid){currentSwatchIndex=index}});var currentSwatch=this.colourSwatches.splice(currentSwatchIndex,1)[0];this.colourSwatches.unshift(currentSwatch);return this.colourSwatches.slice(0,this.swatches)},image:function(){return this.styleColour.primaryimage},imageHover:function(){if(this.styleColour.images&&this.styleColour.images.length>1){return this.styleColour.images[1]}else{return this.styleColour.primaryimage}},imageAlt:function(){if(this.styleColour.images&&this.styleColour.images.length>1&&this.showAltImage){return this.styleColour.images.filter(function(image){return!image.primary})[0]}
return!1},imageWide:function(){return this.styleColour.imageswide},gaImpressionData:function(){var additionalData={};if(this.index){additionalData.position=this.index}
if(this.listName){additionalData.list=this.listName}
return{type:'impressions',data:$.extend(this.styleColour.variant.gadata,additionalData)}},upsell:function(){return this.styleColour.variant.upsell},sizeConversionData:function(){return this.styleColour.attributes.SizeConversionData},variantOptionsConversion:function(){var sizeConversion=this.styleColour.attributes.SizeConversionData;var variants=this.styleColour.variants;var self=this;if(Object.keys(this.styleColour.attributes.SizeConversionData).length){return variants.map(function(variant){var item=JSON.parse(JSON.stringify(variant));if(item.status==='disabled'){item.disbaled=!0}
if(sizeConversion[self.conversionSelected]){item.convertedSize=sizeConversion[self.conversionSelected][item.size];return item}}).filter(function(item){return item.status==''})}else{return variants.map(function(variant){var item=JSON.parse(JSON.stringify(variant));return item}).filter(function(item){return item.status==''})}},variantOptions:function(){var variants=this.styleColour.variants;return variants.map(function(variant){var item=JSON.parse(JSON.stringify(variant));return item})},},methods:{addToCart:function(barcode,quantity,conversionSelected){peppercheckout.globals.$eventbus.$emit('addproducttocart',{variantid:barcode,quantity:quantity,extras:conversionSelected})},getLowestAmount:function(variants,property){var lowest;for(var i=0;i<variants.length;i++){if(i==0){lowest=parseFloat(variants[i][property])}else{if(lowest>parseFloat(variants[i][property])){lowest=parseFloat(variants[i][property])}}}
return lowest.toFixed(2)},getSrcset:function(images){var srcset=[];for(var width in images){srcset.push(images[width]+' '+width+'w')}
return srcset.join(', ')},showInstalmentPopup:function(paylater){$.popup.open({url:'/popup-'+paylater.type.toLowerCase(),class:'ps-popup--'+paylater.type.toLowerCase(),data:{c:this.variant.currency,v:paylater.amountformatted}})},toggleWishlist:function(){var self=this;$.ajax({url:'/customerapi/togglewishlistitem',type:'post',dataType:'json',data:{stylecolour:self.styleColour.stylecolourid},success:function(response){if(response.status){var gaData={eventCategory:'Category page',eventAction:'Wishlists',eventLabel:response.data.message,};$(document).trigger('psevent',['categoryPageAddRemoveWishlist',gaData]);self.$store.dispatch('setWishlistStatus',self.styleColour.stylecolourid)}},error:function(){$.slideIn.open({url:'/slide-in-login',class:'slide-in-login',data:{error:'Please login or register to add this item to your wishlist'}})}})},trackClick:function(){$(document).trigger('psevent',['productClick',this.styleColour.variant.gadata])},selectSizeConversion:function(country){this.conversionSelected=country},getMatchingSize:function(variants){var self=this;if(!self.size)return!1;var matchingVariant=variants.filter(function(variant){return variant.size===self.size&&variant.status!=='disabled'})[0];return matchingVariant&&matchingVariant.barcode},selectStyleColour:function(option){this.$store.dispatch('setStyleColour',option.stylecolourid);this.$store.dispatch('setVariant',this.getMatchingSize(option.variants)||option.variant.barcode);$(document).trigger('psevent',['detail',this.variant.gadata]);window.history.replaceState({style:option.stylecolourid},'',option.url)},selectVariant:function(option){this.variantid=option.barcode;this.size=option.size;this.isActive=!0},getTrueSize:function(size){var sizeConversion=this.styleColour.attributes.SizeConversionData;if(Object.keys(sizeConversion).length){var convertedSize=sizeConversion[this.conversionSelected][size];return convertedSize}
return size},},created:function(){this.conversionSelected=this.styleColour.attributes.DefaultCountrySize},});Vue.component('site-breadcrumbs',{template:'#vc-component-site-breadcrumbs',props:{breadcrumbs:{type:Array,required:!0}}})}(jQuery))