(function($){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(){return{inWishlist:this.product.stylecolour.inwishlist,selectedSize:'',showAltImage:!1,currencySymbol:null,isWishlistPage:!1,styleColourId:'',variantId:'',size:''}},computed:{styleColour(){return this.product.stylecolour},currency(){const{currency}=this.styleColour.variant;let currencySymbol='';switch(currency){case 'GBP':currencySymbol='&pound;';break;default:currencySymbol='$';break}
return `${currency} ${currencySymbol}`},lowestBaseUnitPrice(){return this.getLowestAmount(this.styleColour.variants,'baseunitprice')},lowestUnitPrice(){return this.getLowestAmount(this.styleColour.variants,'unitprice')},colourSwatches(){if(!this.styleColour.attributes||!this.styleColour.attributes.colourswatches)return[];return this.styleColour.attributes.colourswatches},maxColourSwatches(){const self=this;let currentSwatchIndex=0;if(!this.colourSwatches.length)return[];this.colourSwatches.forEach((swatch,index)=>{if(swatch.stylecolourid===self.styleColour.stylecolourid){currentSwatchIndex=index}});const currentSwatch=this.colourSwatches.splice(currentSwatchIndex,1)[0];this.colourSwatches.unshift(currentSwatch);return this.colourSwatches.slice(0,this.swatches)},image(){return this.styleColour.primaryimage},imageAlt(){if(this.styleColour.images&&this.styleColour.images.length>1&&this.showAltImage){return this.styleColour.images.filter((image)=>!image.primary)[0]}
return!1},imageWide(){return this.styleColour.imageswide},gaImpressionData(){const 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(){return this.styleColour.variant.upsell},variant(){return this.styleColour.variants.filter((variant)=>{return variant.barcode===this.variantId})[0]},variantOptions(){var options=[];this.styleColour.variants.forEach((variant)=>{var item={...variant};if(item.status==='disabled'){item.disabled=!0}
options.push(item)});return options},},methods:{addToCart(barcode,quantity){peppercheckout.globals.$eventbus.$emit('addproducttocart',{variantid:barcode,quantity,})},getLowestAmount(variants,property){let lowest;for(let 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(images){return Object.keys(images).reduce((srcset,width)=>{srcset.push(`${images[width]} ${width}w`);return srcset},[]).join(', ')},selectVariant:function(item){this.variantId=item.barcode;this.size=item.size},toggleAltImage(){if(this.hasHoverImage){this.showAltImage=!0}},toggleWishlist(){const self=this;$.ajax({url:'/customerapi/togglewishlistitem',type:'post',dataType:'json',data:{stylecolour:self.styleColour.stylecolourid,},success(response){if(response.status){self.inWishlist=!self.inWishlist}},error(){$.slideIn.open({url:'/slide-in-login',class:'ps-slide-in--login',})},})},trackClick(){$(document).trigger('psevent',['productClick',this.styleColour.variant.gadata])},},created(){this.$nextTick(()=>{this.currencySymbol=window.currencySymbol||'$';this.isWishlistPage=window.isWishlist||0;this.styleColourId=this.product.stylecolour.stylecolourid;this.variantId=this.product.stylecolour.variant.barcode;this.size=this.product.stylecolour.variant.size})},});Vue.component('product-flag',{template:'#vc-component-product-flag',props:{flag:{type:Object,default(){return{}},},},computed:{flagClass(){if(!this.flag.text)return'';return `s-flag--${this.flag.text.replace(' ', '-').toLowerCase()}`},style(){const styles={};if(this.flag.bgcolourcode){styles.backgroundColor=this.flag.bgcolourcode}
if(this.flag.colourcode){styles.color=this.flag.colourcode}
return styles},},});Vue.component('site-breadcrumbs',{template:'#vc-component-site-breadcrumbs',props:{breadcrumbs:{type:Array,default(){return[]},},},})}(jQuery))