(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}},data:function(){return{selectedSize:'',showAltImage:!1}},computed:{styleColour:function(){return this.product.stylecolour},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[];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},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},},methods:{addToCart:function(barcode,quantity){peppercheckout.globals.$eventbus.$emit('addproducttocart',{variantid:barcode,quantity:quantity})},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(width in images){srcset.push(images[width]+' '+width+'w')}
return srcset.join(', ')},toggleAltImage:function(){if(this.hasHoverImage){this.showAltImage=!this.showAltImage}},toggleWishlist:function(){var self=this;$.ajax({url:'/customerapi/togglewishlistitem',type:'post',dataType:'json',data:{stylecolour:self.styleColour.stylecolourid},success:function(response){if(response.status){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])}}});Vue.component('site-breadcrumbs',{template:'#vc-component-site-breadcrumbs',props:{breadcrumbs:{type:Array,required:!0}}});Vue.component('size-guide',{template:'#vc-component-size-guide',props:{sizes:{type:Object,default:function(){return{}}}}})}(jQuery))