{"version":3,"sources":["webpack://[name]/./src/js/components/CarouselComponentSlick.js","webpack://[name]/./src/js/abstracts/BaseCarouselSlick.js"],"names":["CarouselComponentSlick","_BaseCarouselSlick","element","_this","_classCallCheck","_callSuper","mount","$el","$options","_inherits","_createClass","BaseCarouselSlick","_BaseComponent","container","closest","parentNode","debounce","handleResizeScreen","key","get","value","options","_this2","prevArrow","nextArrow","$","this","find","setTimeout","slick","_objectSpread","BASE_CONF","GRAB","CUSTOM_MESSAGES","CAROUSEL_EVENTS","goToSlide","msg","carousel","querySelector","currentSlideIndex","getAttribute","parseInt","slide","force","on","event","_","refreshCurrentSlideOnImageLoad","updateData","currentSlide","nextSlide","autoplay","refreshingCurrentSlide","document","dispatchEvent","Event","$countWrapper","$currentIndex","$totoalCount","textContent","String","padStart","slideCount","currentSize","_this3","reinitSize","dataset","initAfterResize","$on","clearTimeout","classList","contains","getMediaQuery","window","match","currentImage","slidesNumber","querySelectorAll","length","imageIndex","imageSize","imageCaption","imageSrc","slidesTotal","index","size","caption","download","innerHTML","setAttribute","downloadUrl","forEach","carouselWithCounter","carouselTotalSlideNumber","carouselCurrentSlideNumber","currentCountElement","parentElement","totalCountElement","timeoutID","self","$slider","each","onload","changeSlide","data","message","BaseComponent"],"mappings":"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","file":"js/component-CarouselComponentSlick-js.chunks.js","sourcesContent":["import BaseCarouselSlick from '../abstracts/BaseCarouselSlick';\n\nconst debug = false;\n\nexport default class CarouselComponentSlick extends BaseCarouselSlick {\n \n constructor(element) {\n super(element);\n debug && console.log('CarouselComponentSlick', 'this.$el', this.$el);\n\n this.mount(this.$el, this.$options);\n }\n \n}","import 'slick-carousel/slick/slick.js';\n// import 'jquery/dist/jquery.js';\n// import './slick';\n\nimport BaseComponent from './BaseComponent';\n\nimport { match } from '../utilities/ResolutionHandler';\n\nconst debug = false;\n\nexport default class BaseCarouselSlick extends BaseComponent {\n get BASE_CONF() {\n return {\n };\n }\n\n constructor(element) {\n debug && console.log('BaseCarouselSlick');\n super(element);\n this.container = this.$options.container ? this.$el.closest(this.$options.container) : this.$el.parentNode;\n this.debounce = {};\n this.handleResizeScreen(element);\n }\n\n mount(element, options) {\n debug && console.log('BaseCarouselSlick mount', this.$el);\n\n // if($(element).closest('.js-wrapper-carousel-gallery').length){\n if (options.prevArrow && options.nextArrow) {\n // options.prevArrow = $(this.container).find('.gallery__arrow--left');\n // options.nextArrow = $(this.container).find('.gallery__arrow--right');\n options.prevArrow = $(this.container).find(options.prevArrow);\n options.nextArrow = $(this.container).find(options.nextArrow);\n }\n // }\n\n // let other components (eg: Spotlight) add event listeners (eg: init)\n setTimeout(() => $(element).slick({\n ...this.BASE_CONF,\n ...options\n }), 10);\n\n this.GRAB(this.CUSTOM_MESSAGES.CAROUSEL_EVENTS.goToSlide, (msg) => {\n const carousel = element.querySelector('.slick-slide.slick-current');\n if (carousel) {\n let currentSlideIndex = carousel.getAttribute('data-slick-index');\n\n if (parseInt( msg.slide) !== parseInt(currentSlideIndex) || msg.force) {\n // document.dispatchEvent(new Event('image-changes'));\n $(element).slick('slickGoTo', msg.slide);\n }\n }\n });\n\n // PITTI20-1277\n // this.updateData();\n $(element).on('init', (event, _) => {\n debug && console.log('BaseCarouselSlick init');\n\n this.refreshCurrentSlideOnImageLoad(_);\n\n // PITTI20-1277\n this.updateData();\n });\n\n /*\n $(element).on('lazyLoaded', () => {\n debug && console.log('BaseCarouselSlick lazyLoaded');\n\n document.dispatchEvent(new Event('image-changes'));\n });\n\n $(element).on('allImagesLoaded', () => {\n debug && console.log('BaseCarouselSlick allImagesLoaded');\n\n document.dispatchEvent(new Event('image-changes'));\n });\n */\n\n $(element).on('afterChange', (event, slick, currentSlide, nextSlide) => {\n debug && console.log('BaseCarouselSlick afterChange');\n\n // PITTI20-1277\n this.updateData();\n\n // PITTI20-1471\n // !this.refreshingCurrentSlide && document.dispatchEvent(new Event('image-changes'));\n !this.$options.autoplay && !this.refreshingCurrentSlide && document.dispatchEvent(new Event('image-changes'));\n\n var $countWrapper = this.container.querySelector('.js-gallery-count')\n if ($countWrapper) {\n var $currentIndex = $countWrapper.querySelector('.js-gallery-current-index');\n var $totoalCount = $countWrapper.querySelector('.js-gallery-total-count');\n \n $currentIndex.textContent = String(++currentSlide).padStart(2, '0');\n $totoalCount.textContent = String(slick.slideCount).padStart(2, '0');\n } \n });\n }\n\n /**\n * When Slick is unslick in a breckpoint, does not restart\n * So on window resize\n * check if carousel is in a resolution where need to be active and reinit it \n * [data-init-after-resize] show resolution where is needed\n */\n handleResizeScreen(element) {\n const reinitSize = element.dataset.initAfterResize;\n if (!reinitSize){return;}\n \n var currentSize;\n \n this.$on('resize.carousel', () => {\n if (this.debounce) {\n clearTimeout(this.debounce);\n this.debounce = null;\n }\n\n this.debounce = setTimeout(() => {\n if (!element.classList.contains('slick-initialized')){\n currentSize = this.getMediaQuery(currentSize);\n if(currentSize == reinitSize){\n this.mount(element, this.$options);\n }\n }\n }, 300);\n\n }, window);\n }\n\n getMediaQuery(currentSize){\n if (match('medium', 'small')) {\n currentSize = 'small';\n } else if (match('large', 'medium')) {\n currentSize = 'medium';\n } else if (match(null, 'large')) {\n currentSize = 'large';\n }\n return currentSize;\n }\n\n updateData() {\n debug && console.log('BaseCarouselSlick updateData');\n const carousel = this.container.querySelector('.js-update-data');\n\n // PITTI20-1277\n const currentSlide = carousel && carousel.querySelector('.slick-slide.slick-current');\n const currentImage = currentSlide && currentSlide.querySelector('.slide');\n if (currentImage) {\n const slides = carousel.querySelectorAll('.slide');\n let slidesNumber = ( slides.length - 2 ) / 2;\n slidesNumber = slidesNumber < 10 ? '0' + slidesNumber : slidesNumber;\n \n if (currentImage) {\n const imageIndex = currentImage.getAttribute('data-attribute-index')\n const imageSize = currentImage.getAttribute('data-attribute-imagesize');\n const imageCaption = currentImage.getAttribute('data-attribute-imagecaption');\n const imageSrc = currentImage.getAttribute('src');\n\n const slidesTotal = this.container.querySelector('.js-slides-total');\n const index = this.container.querySelector('.js-image-index')\n const size = this.container.querySelector('.js-image-size');\n const caption = this.container.querySelector('.js-image-caption');\n const download = this.container.querySelector('.js-image-download');\n\n index.innerHTML = (index && imageIndex) ? imageIndex : '';\n slidesTotal.innerHTML = (slidesTotal) ? slidesNumber : '';\n if(size) {\n size.innerHTML = (size && imageSize) ? imageSize : '';\n }\n caption.innerHTML = (caption && imageCaption) ? imageCaption : '';\n if (imageSrc && download) {\n download.setAttribute('href', currentImage.dataset.downloadUrl || imageSrc);\n download.setAttribute('download', currentImage.dataset.download);\n }\n }\n }\n\n //Focus on carousel update counter\n const carouselWithCounterArray = this.container.querySelectorAll('.js-carousel-with-counter');\n\n carouselWithCounterArray.forEach((carouselWithCounter) => {\n\n if (element === carouselWithCounter) {\n let carouselTotalSlideNumber = carouselWithCounter.querySelectorAll('.slick-slide').length;\n let carouselCurrentSlideNumber = $(carouselWithCounter).slick('slickCurrentSlide');\n\n carouselCurrentSlideNumber++;\n \n carouselCurrentSlideNumber = carouselCurrentSlideNumber < 10 ? '0' + carouselCurrentSlideNumber : carouselCurrentSlideNumber;\n carouselTotalSlideNumber = carouselTotalSlideNumber < 10 ? '0' + carouselTotalSlideNumber : carouselTotalSlideNumber;\n \n const currentCountElement = carouselWithCounter.parentElement.querySelector('.js-slide-current-number');\n const totalCountElement = carouselWithCounter.parentElement.querySelector('.js-slide-total');\n \n if(currentCountElement && totalCountElement) {\n currentCountElement.innerHTML = carouselCurrentSlideNumber;\n totalCountElement.innerHTML = carouselTotalSlideNumber;\n }\n }\n });\n }\n\n // PITTI20-1080 workaround for https://support.cloudinary.com/hc/en-us/community/posts/360042965232-Images-loaded-callback-\n refreshCurrentSlideOnImageLoad(_) {\n var self = this;\n var timeoutID;\n $('img', _.$slider).each(function() {\n this.onload = function() {\n debug && console.log('BaseCarouselSlick img onload');\n\n timeoutID && clearTimeout(timeoutID);\n timeoutID = setTimeout(() => {\n debug && console.log('BaseCarouselSlick changeSlide');\n\n self.refreshingCurrentSlide = true;\n _.changeSlide({\n data: {\n message: 'index',\n index: parseInt(_.currentSlide)\n }\n }, true);\n self.refreshingCurrentSlide = false;\n }, 250);\n };\n });\n }\n\n}\n"],"sourceRoot":""}