{"version":3,"file":"2530.0e6a221b53a5bcc2bda6.js","mappings":"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","sources":["webpack://front-end-build-system/./src/smartpak/panelslider.v3.js","webpack://front-end-build-system/./src/vendor/dynamicyield/recommendations.js"],"sourcesContent":["const defaults = {\n transitionDuration: '300ms',\n touchThresholdMultiplier: 0.25, // percent(25)/100 = .25\n minLargeScreenBreakPoint: 769\n};\n\nfunction getSupportedPassiveCaptureOption(){\n var passiveIfSupported = false;\n\n try {\n window.addEventListener(\"test\", null, Object.defineProperty(\n {},\n \"passive\",\n {\n // eslint-disable-next-line getter-return\n get: function() {\n passiveIfSupported = { passive: true }; \n }\n }\n )\n );\n // eslint-disable-next-line no-empty\n } catch(err) {}\n\n return passiveIfSupported;\n}\n\nfunction PanelSlider(element, options) {\n if (!element || !element.children.length || !/ol|ul/gi.test(element.nodeName)) {\n throw new Error('PanelSlider requires an list element that contains child elements');\n }\n\n var passiveIfSupported = getSupportedPassiveCaptureOption();\n\n this.options = extend({}, defaults, options || {});\n this.$carousel = element;\n this.isLargeScreen = window.matchMedia(\n 'screen and (min-width: ' + this.options.minLargeScreenBreakPoint + 'px)'\n ).matches;\n this.$wrapper = document.createElement('div');\n this.$wrapper.classList.add('ps');\n this.$carousel.parentElement.insertBefore(this.$wrapper, this.$carousel);\n this.$container = document.createElement('div');\n this.$container.setAttribute('role', 'region');\n this.$container.setAttribute('aria-label', 'Slideshow');\n this.$container.classList.add('ps-overflow');\n this.$wrapper.appendChild(this.$container);\n this.$carousel.classList.add('ps-content');\n this.$controls = document.createElement('div');\n\n if (this.isLargeScreen) {\n addNavigation(this);\n }\n\n this.setDimensionsAndPosition();\n this.$container.appendChild(this.$carousel);\n this.$wrapper.addEventListener('click', this.handleClick.bind(this), true);\n\n lazyLoadImagesOnFirstInteraction(this.$carousel, this.loadImage.bind(this));\n\n this.isTouching = false;\n this.touchThreshold = this.containerWidth * this.options.touchThresholdMultiplier;\n\n this.$carousel.addEventListener('dragstart', function(e) {\n e.preventDefault();\n });\n\n if (!this.isLargeScreen && this.pageCount > 1) {\n addProgessIndicator(this);\n this.setActiveProgresIndicator(0);\n }\n\n if (this.pageCount > 1) {\n if (this.isLargeScreen) {\n this.showArrows(0);\n }\n this.$carousel.addEventListener('touchstart', this.touchStart.bind(this), passiveIfSupported);\n this.$carousel.addEventListener('touchmove', this.touchMove.bind(this), passiveIfSupported);\n this.$carousel.addEventListener('touchend', this.touchEnd.bind(this));\n this.$carousel.addEventListener('mousedown', this.touchStart.bind(this));\n this.$carousel.addEventListener('mousemove', this.touchMove.bind(this));\n this.$carousel.addEventListener('mouseup', this.touchEnd.bind(this));\n this.$carousel.addEventListener('mouseleave', this.touchEnd.bind(this));\n }\n}\n\nPanelSlider.prototype.refresh = function() {\n this.loaded = false;\n this.setDimensionsAndPosition();\n this.loadImage();\n\n if (!this.isLargeScreen) {\n return;\n }\n\n if (this.pageCount > 1) {\n this.showArrows(0);\n } else {\n this.$prev.style.display = 'none';\n this.$next.style.display = 'none';\n }\n};\n\nPanelSlider.prototype.setDimensionsAndPosition = function() {\n this.$$items = [].slice.call(this.$carousel.children);\n\n this.$$items.forEach(function(element) {\n element.classList.add('ps-item');\n });\n\n this.containerWidth = this.$container.clientWidth;\n this.itemWidth = this.$$items[0].clientWidth;\n this.itemsPerPage = Math.floor(this.containerWidth / this.itemWidth);\n\n this.$$items.forEach(\n function($item) {\n $item.style.width = this.itemWidth + 'px';\n }.bind(this)\n );\n\n adjustItemToFitEvenlyWithInContainer(this);\n\n this.pageCount = Math.ceil(this.$$items.length / this.itemsPerPage);\n this.sliderWidth = this.pageCount * this.containerWidth;\n this.negativePositionLimit = -(this.sliderWidth - this.containerWidth);\n this.currentPosition = 0;\n this.$carousel.style.minWidth = this.sliderWidth + 'px';\n this.$carousel.style.transitionDuration = this.options.transitionDuration;\n this.setPosition(this.currentPosition);\n};\n\nPanelSlider.prototype.getPageIndexFromPosition = function(position) {\n return Math.abs(position / this.containerWidth);\n};\n\nPanelSlider.prototype.setActiveProgresIndicator = function(index) {\n var $active = this.$progress.querySelector('.ps-indicator-active');\n\n if ($active) {\n $active.classList.remove('ps-indicator-active');\n }\n\n this.$progress.children[index].classList.add('ps-indicator-active');\n};\n\nPanelSlider.prototype.touchStart = function(e) {\n this.isTouching = true;\n this.start = e.touches ? e.touches[0].pageX : e.pageX;\n this.end = this.start;\n this.startPosition = this.currentPosition;\n};\n\nPanelSlider.prototype.touchMove = function(e) {\n if (!this.isTouching) {\n return;\n }\n this.$carousel.style.transitionDuration = '0ms';\n this.end = e.touches ? e.touches[0].pageX : e.pageX;\n this.setPosition(this.startPosition + (this.end - this.start));\n};\n\nPanelSlider.prototype.touchEnd = function() {\n if (this.isTouching) {\n var change = this.start - this.end;\n\n this.isTouching = false;\n this.$carousel.style.transitionDuration = this.options.transitionDuration;\n\n if (Math.abs(change) > this.touchThreshold) {\n this.slideTo(this.startPosition + this.containerWidth * (change > 0 ? -1 : 1));\n } else {\n this.slideTo(this.startPosition);\n }\n }\n};\n\nPanelSlider.prototype.loadImage = function() {\n if (this.loaded) {\n return;\n }\n\n [].slice.call(this.$carousel.querySelectorAll('[data-src]')).forEach(function($img) {\n $img.src = $img.dataset.src;\n });\n\n this.loaded = true;\n};\n\nPanelSlider.prototype.handleClick = function(e) {\n preventClickIfMoved(e, this.start, this.end);\n\n if (e.target.matches('.ps-next, .ps-prev')) {\n this.slideTo(this.currentPosition + this.containerWidth * (e.target.matches('.ps-next') ? -1 : 1));\n }\n};\n\nPanelSlider.prototype.setPosition = function(position) {\n if (position <= 0 && position >= this.negativePositionLimit) {\n this.currentPosition = position;\n this.$carousel.style.left = position + 'px';\n }\n};\n\nPanelSlider.prototype.slideTo = function(position) {\n if (position <= 0 && position >= this.negativePositionLimit) {\n this.setPosition(position);\n if (this.isLargeScreen) {\n this.showArrows(position);\n }\n\n if (!this.isLargeScreen) {\n this.setActiveProgresIndicator(this.getPageIndexFromPosition(position));\n }\n }\n};\n\nPanelSlider.prototype.slideToPageByItemIndex = function(index) {\n this.loadImage();\n this.slideTo(-(Math.floor(index / this.itemsPerPage) * this.containerWidth));\n};\n\nPanelSlider.prototype.showArrows = function(position) {\n if (position === 0) {\n this.$prev.style.display = 'none';\n if (this.pageCount > 1) {\n this.$next.style.display = 'block';\n }\n } else if (position === this.negativePositionLimit) {\n this.$prev.style.display = 'block';\n this.$next.style.display = 'none';\n } else {\n this.$prev.style.display = 'block';\n this.$next.style.display = 'block';\n }\n};\n\nPanelSlider.prototype.destroy = function() {\n this.$$items.forEach(\n function($item) {\n $item.removeAttribute('style');\n $item.classList.remove('ps-item');\n }.bind(this)\n );\n\n this.$carousel.classList.remove('ps-content');\n this.$carousel.style.removeProperty('min-width');\n this.$carousel.style.removeProperty('transition-duration');\n this.$wrapper.parentElement.appendChild(this.$carousel);\n this.$wrapper.parentElement.removeChild(this.$wrapper);\n};\n\nfunction extend() {\n var args = [].slice.call(arguments),\n destination = args[0];\n\n args.slice(1).forEach(function(obj) {\n Object.keys(obj).forEach(function(key) {\n destination[key] = obj[key];\n });\n });\n\n return destination;\n}\n\nfunction addProgessIndicator(instance) {\n var i = 0,\n l = instance.pageCount,\n $indicator;\n instance.$wrapper.classList.add('ps-show-progress-indicator');\n instance.$progress = document.createElement('div');\n instance.$progress.setAttribute('aria-hidden', 'true');\n instance.$progress.classList.add('ps-progress');\n\n for (; i < l; i++) {\n $indicator = document.createElement('div');\n $indicator.classList.add('ps-indicator');\n instance.$progress.appendChild($indicator);\n }\n\n instance.$wrapper.appendChild(instance.$progress);\n}\n\nfunction addNavigation(instance) {\n var $region = instance.$controls;\n\n $region.setAttribute('role', 'region');\n $region.setAttribute('aria-label', 'Slideshow Controls');\n\n instance.$wrapper.classList.add('ps-show-navigation');\n instance.$prev = document.createElement('button');\n instance.$next = document.createElement('button');\n instance.$prev.classList.add('ps-prev');\n instance.$next.classList.add('ps-next');\n instance.$prev.setAttribute('aria-label', 'Previous');\n instance.$next.setAttribute('aria-label', 'Next');\n\n $region.appendChild(instance.$prev);\n $region.appendChild(instance.$next);\n\n instance.$wrapper.appendChild($region);\n}\n\nfunction adjustItemToFitEvenlyWithInContainer(instance) {\n if (instance.containerWidth / instance.itemsPerPage > instance.itemWidth) {\n var addedMargin = (instance.containerWidth / instance.itemsPerPage - instance.itemWidth) / 2;\n\n instance.$$items.forEach(function($item) {\n $item.style.marginLeft = addedMargin + 'px';\n $item.style.marginRight = addedMargin + 'px';\n });\n }\n}\n\nfunction preventClickIfMoved(event, start, end) {\n var clickMovementThreshold = 5;\n if (start !== undefined && end !== undefined && Math.abs(start - end) > clickMovementThreshold) {\n event.preventDefault();\n event.stopPropagation();\n }\n}\n\nfunction lazyLoadImagesOnFirstInteraction($element, loadImages) {\n if(!window.IntersectionObserver){\n loadImages();\n return;\n }\n\n var observer = new IntersectionObserver(function(entries) {\n entries.forEach(function(entry) {\n if (entry.isIntersecting) {\n observer.unobserve(entry.target);\n loadImages();\n }\n });\n }, {rootMargin: '320px', threshold: 0});\n\n observer.observe($element);\n}\n\nexport default PanelSlider;\n","import PanelSlider from '../../smartpak/panelslider.v3';\n\n/* eslint-disable camelcase */\nexport function createRecommendationsHTML({ recommendationsData, ...options }) {\n const tag = options.headingTag ?? 'h2';\n return `
\n ${options.heading ? `<${tag} class=\"recommendationTitle headline\">${options.heading} ${options.subHeading && options.subHeadingLink ? `${options.subHeading}` : ''}` : ''}\n \n
`;\n}\n\nfunction loadStyles() {\n return new Promise(res => {\n var link = document.createElement('link');\n\n link.type = 'text/css';\n link.rel = 'stylesheet';\n link.onload = () => res();\n link.href = '/assets/css/recommendations.css';\n\n document.getElementsByTagName('head')[0].appendChild(link);\n });\n}\n\nfunction whenElementInView(element) {\n return new Promise(res => {\n var observer = new IntersectionObserver(function (entries) {\n entries.forEach(function (entry) {\n if (entry.isIntersecting) {\n observer.unobserve(entry.target);\n res();\n }\n });\n }, { rootMargin: '320px', threshold: 0 });\n\n observer.observe(element);\n });\n}\n\nfunction getRecommendationDataByStrategyId(strategyId) {\n return new Promise((res, rej) => {\n window.DYO?.recommendationWidgetData(strategyId, {}, function (error, data) {\n if (error) {\n rej(error);\n }\n\n res(data);\n });\n });\n}\n\nfunction addRecommendationsHTML(data) {\n const { element, type } = data;\n const recommendationsHTML = createRecommendationsHTML(data);\n\n let $recommendations = null;\n\n if (type === 'replace') {\n element.style.display = 'block';\n element.innerHTML = recommendationsHTML;\n $recommendations = element.firstElementChild;\n }\n\n if (type === 'before') {\n element.insertAdjacentHTML('beforebegin', recommendationsHTML);\n $recommendations = element.previousElementSibling;\n }\n\n if (type === 'after') {\n element.insertAdjacentHTML('afterend', recommendationsHTML);\n $recommendations = element.nextElementSibling;\n }\n\n if (!$recommendations) {\n return;\n }\n\n new PanelSlider($recommendations.querySelector('ul'));\n window.DYO?.recommendations?.registerElements($recommendations);\n}\n\nexport default function render(data) {\n const { element, strategyId } = data;\n\n if (!element || !strategyId) {\n return;\n }\n\n whenElementInView(element).then(() => {\n // eslint-disable-next-line no-unused-vars\n Promise.all([loadStyles(), getRecommendationDataByStrategyId(strategyId)]).then(([styles, recommendationsData]) => {\n if (!recommendationsData.slots?.length) {\n return;\n }\n\n addRecommendationsHTML({ recommendationsData, ...data });\n });\n });\n}\n\n"],"names":["defaults","transitionDuration","touchThresholdMultiplier","minLargeScreenBreakPoint","PanelSlider","element","options","children","length","test","nodeName","Error","instance","$region","passiveIfSupported","window","addEventListener","Object","defineProperty","get","passive","err","getSupportedPassiveCaptureOption","this","args","slice","call","arguments","destination","forEach","obj","keys","key","extend","$carousel","isLargeScreen","matchMedia","matches","$wrapper","document","createElement","classList","add","parentElement","insertBefore","$container","setAttribute","appendChild","$controls","$prev","$next","setDimensionsAndPosition","handleClick","bind","$element","loadImages","IntersectionObserver","observer","entries","entry","isIntersecting","unobserve","target","rootMargin","threshold","observe","lazyLoadImagesOnFirstInteraction","loadImage","isTouching","touchThreshold","containerWidth","e","preventDefault","pageCount","$indicator","i","l","$progress","addProgessIndicator","setActiveProgresIndicator","showArrows","touchStart","touchMove","touchEnd","prototype","refresh","loaded","style","display","$$items","clientWidth","itemWidth","itemsPerPage","Math","floor","$item","width","addedMargin","marginLeft","marginRight","adjustItemToFitEvenlyWithInContainer","ceil","sliderWidth","negativePositionLimit","currentPosition","minWidth","setPosition","getPageIndexFromPosition","position","abs","index","$active","querySelector","remove","start","touches","pageX","end","startPosition","change","slideTo","querySelectorAll","$img","src","dataset","event","undefined","stopPropagation","left","slideToPageByItemIndex","destroy","removeAttribute","removeProperty","removeChild","createRecommendationsHTML","_ref","_options$headingTag","_options$containerId","recommendationsData","_objectWithoutProperties","_excluded","tag","headingTag","concat","wId","fId","heading","subHeading","subHeadingLink","containerId","slots","numberToDisplay","map","slot","_options$imageWidth","_slot$item","item","url","image_url","name","web_price_html","rating","sku","imageWidth","strId","replace","join","getRecommendationDataByStrategyId","strategyId","Promise","res","rej","_window$DYO","DYO","recommendationWidgetData","error","data","render","whenElementInView","then","all","link","type","rel","onload","href","getElementsByTagName","_ref2","_recommendationsData$","_ref3","_window$DYO2","recommendationsHTML","$recommendations","innerHTML","firstElementChild","insertAdjacentHTML","previousElementSibling","nextElementSibling","recommendations","registerElements","addRecommendationsHTML","_objectSpread"],"sourceRoot":""}