{"version":3,"file":"default/js/VZProductsCarousel.js","mappings":";mBASe,MAAMA,UAA2BC,YAC5CC,WAAAA,GACIC,OACJ,CAEAC,iBAAAA,GACI,MAAMC,EAAWC,KAAKC,cAAc,yBAIpC,GAHiBC,KAAKC,IAAIC,SAASC,gBAAgBC,aAAe,EAAGC,OAAOC,YAAc,GAG3E,IAAK,OAEpB,IAAIC,GAAc,EACdC,EAAmB,EACnBC,EAAa,EAGjBZ,EAASa,iBAAiB,WAAW,KACjCH,GAAc,EAGdV,EAASc,QAAQC,UAAW,CAAK,IAErCf,EAASa,iBAAiB,cAAc,KACpCH,GAAc,EAGdV,EAASc,QAAQC,UAAW,CAAK,IAGrCf,EAASa,iBAAiB,aAAcG,IACpCN,GAAc,EAGd,MAAMO,EAAOjB,EAASkB,wBAEtBP,EAAmBK,EAAEG,MAAQF,EAAKG,KAClCR,EAAaZ,EAASY,UAAU,IAGpCZ,EAASa,iBAAiB,aAAcG,IACpC,IAAKN,EAAa,OAElBM,EAAEK,iBAGFrB,EAASc,QAAQC,UAAW,EAG5B,MAAME,EAAOjB,EAASkB,wBAEhBI,EADeN,EAAEG,MAAQF,EAAKG,KACRT,EAG5BX,EAASY,WAAaA,EAAaU,CAAI,GAE/C,EAGCd,OAAOe,eAAeC,IAAI,yBAC3BhB,OAAOe,eAAeE,OAAO,uBAAwB9B","sources":["webpack://vodafoneziggo/./cartridges/app_vodafone_ziggo/cartridge/client/default/js/VZProductsCarousel.js"],"sourcesContent":["'use strict';\n\n/**\n * @example \n *\n * @export\n * @class VZProductsCarousel\n * @extends {HTMLElement}\n */\nexport default class VZProductsCarousel extends HTMLElement {\n constructor() {\n super();\n }\n\n connectedCallback() {\n const carousel = this.querySelector('.js-products-carousel');\n const viewport = Math.max(document.documentElement.clientWidth || 0, window.innerWidth || 0);\n\n // Only allow scroll for desktop screens when content may overflow\n if (viewport < 768) return;\n\n let isScrolling = false;\n let initialXPosition = 0;\n let scrollLeft = 0;\n\n // Set up event listeners\n carousel.addEventListener('mouseup', () => {\n isScrolling = false;\n\n // Stop clickable cards from misbehaving\n carousel.dataset.dragging = false;\n });\n carousel.addEventListener('mouseleave', () => {\n isScrolling = false;\n\n // Stop clickable cards from misbehaving\n carousel.dataset.dragging = false;\n });\n\n carousel.addEventListener('mousedown', (e) => {\n isScrolling = true;\n\n // Get scroll initial positions\n const rect = carousel.getBoundingClientRect();\n\n initialXPosition = e.pageX - rect.left;\n scrollLeft = carousel.scrollLeft;\n });\n\n carousel.addEventListener('mousemove', (e) => {\n if (!isScrolling) return;\n\n e.preventDefault();\n\n // Stop clickable cards from misbehaving\n carousel.dataset.dragging = true;\n\n // Get new scroll positions\n const rect = carousel.getBoundingClientRect();\n const newXPosition = e.pageX - rect.left;\n const walk = newXPosition - initialXPosition;\n\n // Update carousel scroll position\n carousel.scrollLeft = scrollLeft - walk;\n });\n }\n}\n\nif (!window.customElements.get('vz-products-carousel')) {\n window.customElements.define('vz-products-carousel', VZProductsCarousel);\n}\n"],"names":["VZProductsCarousel","HTMLElement","constructor","super","connectedCallback","carousel","this","querySelector","Math","max","document","documentElement","clientWidth","window","innerWidth","isScrolling","initialXPosition","scrollLeft","addEventListener","dataset","dragging","e","rect","getBoundingClientRect","pageX","left","preventDefault","walk","customElements","get","define"],"sourceRoot":""}