{"version":3,"file":"9981.e43a9ed29c25b6ed466a.js","mappings":"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","sources":["webpack://front-end-build-system/./src/smartpak/panelslider.v3.js","webpack://front-end-build-system/./src/views/productclasspage/shared/imagehelper.js","webpack://front-end-build-system/./src/views/productclasspage/shared/focustrap.js","webpack://front-end-build-system/./src/views/productclasspage/shared/imagezoom.js","webpack://front-end-build-system/./src/views/productclasspage/tes/imagecontrollarge.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, no-unused-vars\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 = calcItemsPerPage(this.itemWidth, this.containerWidth);\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\n\nfunction calcItemsPerPage(itemWidth, containerWidth) {\n const BUFFER = 10;\n let itemsPerPage = Math.floor(containerWidth / itemWidth);\n\n if (containerWidth - (itemWidth * itemsPerPage) <= BUFFER) {\n itemsPerPage--;\n }\n\n return itemsPerPage;\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","export function build2xResponsiveImage({ url, width, height, alt, lazy }) {\n const $image = document.createElement('img');\n\n if (lazy) {\n $image.loading = 'lazy';\n }\n\n $image.setAttribute('srcset', `${url}?w=${width} 1x, ${url}?w=${width * 2} 2x`);\n $image.setAttribute('alt', alt);\n $image.src = `${url}?w=${width}`;\n $image.width = width;\n $image.height = height;\n\n return $image;\n}","function FocusTrap($container, $trigger) {\n if (!$container) {\n throw new Error('FocusTrap requires an element to be passed to it.');\n }\n\n this.$container = $container;\n this.$activeElement = $trigger;\n this.lastFocus = null;\n this.focusableElements = findFocusable($container);\n this.handleFocus = this.handleFocus.bind(this);\n}\n\nFocusTrap.prototype.handleFocus = function(e) {\n if (this.$container.contains(e.target)) {\n this.lastFocus = e.target;\n } else {\n if (this.lastFocus === this.focusableElements[0]) {\n this.focusableElements[this.focusableElements.length - 1].focus();\n } else {\n this.focusableElements[0].focus();\n }\n\n this.lastFocus = document.activeElement;\n }\n};\n\nFocusTrap.prototype.enable = function() {\n if (this.focusableElements.length) {\n document.addEventListener('focus', this.handleFocus, true);\n this.focusableElements[0].focus();\n }\n};\n\nFocusTrap.prototype.disable = function() {\n if (this.focusableElements.length) {\n document.removeEventListener('focus', this.handleFocus, true);\n this.lastFocus = null;\n\n if (this.$activeElement && this.$activeElement.tagName !== 'BODY') {\n this.$activeElement.focus();\n }\n }\n};\n\nfunction findFocusable(element) {\n return Array.from(element.querySelectorAll('[tabindex], button, a, input, textarea, select')).filter(function(e) {\n return !e.disabled;\n });\n}\n\nexport default FocusTrap;\n","import $ from 'jquery';\nimport FocusTrap from './focustrap';\n\nlet $zoom, $close, $image, $widgets, $body, $window, $panControls, zoomWidth, zoomHeight;\n\nconst keyCodes = {\n UP: 38,\n DOWN: 40,\n LEFT: 37,\n RIGHT: 39,\n ESC: 27\n },\n PANNING_STEP_COUNT = 4,\n imageZoom = {\n _hide: function(e) {\n if (this._isPanControlButton(e.target)) {\n return;\n }\n var FADE_OUT_MILLISECONDS = 800;\n $widgets.fadeOut(FADE_OUT_MILLISECONDS);\n $window.off('keydown', this._handleKeyDown);\n $body.off('keyup', this._handleKeyUp.bind(this));\n },\n _isPanControlButton: function(target) {\n return target && target.className && /pan/gi.test(target.className);\n },\n _handleKeyDown: function(e) {\n switch (e.keyCode) {\n case keyCodes.UP:\n case keyCodes.DOWN:\n case keyCodes.LEFT:\n case keyCodes.RIGHT:\n e.preventDefault();\n break;\n\n default:\n break;\n }\n },\n _handleKeyUp: function(e) {\n switch (e.keyCode) {\n case keyCodes.ESC:\n this._hide(e);\n break;\n\n case keyCodes.UP:\n this._panUp();\n break;\n\n case keyCodes.DOWN:\n this._panDown();\n break;\n\n case keyCodes.LEFT:\n this._panLeft();\n break;\n\n case keyCodes.RIGHT:\n this._panRight();\n break;\n\n default:\n break;\n }\n },\n _show: function(callback) {\n var FADE_IN_MILLISECONDS = 1000;\n $widgets.fadeIn(FADE_IN_MILLISECONDS, callback);\n $window.on('keydown', this._handleKeyDown);\n $body.on('keyup', this._handleKeyUp.bind(this));\n },\n _preload: function(src, callback) {\n if (!src) {\n return;\n }\n\n var img = new Image();\n // eslint-disable-next-line no-empty-function\n img.onload = callback ? callback : function() {};\n img.src = src;\n },\n _move: function(x, y) {\n $image.css({top: y, left: x});\n },\n _xOffset: function(event) {\n return event.offsetX ? event.offsetX : event.originalEvent.layerX;\n },\n _yOffset: function(event) {\n return event.offsetY ? event.offsetY : event.originalEvent.layerY;\n },\n _position: function(position, zoomDimension, imageDimension) {\n return -(position / zoomDimension) * (imageDimension - zoomDimension);\n },\n // eslint-disable-next-line max-params\n _handleMoveEvent: function(xOffset, yOffset, imageWidth, imageHeight, zoomWidth, zoomHeight) {\n var x = this._position(xOffset, zoomWidth, imageWidth),\n y = this._position(yOffset, zoomHeight, imageHeight);\n\n if (y > 0) {\n y = 0;\n }\n\n this._move(x, y);\n },\n _addPanningEventListeners: function($panControls) {\n $panControls\n .off('click')\n .on('click', '.panUp', this._panUp.bind(this))\n .on('click', '.panLeft', this._panLeft.bind(this))\n .on('click', '.panRight', this._panRight.bind(this))\n .on('click', '.panDown', this._panDown.bind(this));\n },\n _panUp: function() {\n var maxTopPosition = $image.height() - zoomHeight,\n topStepIncrement = maxTopPosition / PANNING_STEP_COUNT,\n position = parseFloat($image.css('top')) - topStepIncrement,\n max = -maxTopPosition;\n\n $image.css('top', position > max ? position : max + 'px');\n },\n _panDown: function() {\n var maxTopPosition = $image.height() - zoomHeight,\n topStepIncrement = maxTopPosition / PANNING_STEP_COUNT,\n position = parseFloat($image.css('top')) + topStepIncrement;\n\n $image.css('top', position < 0 ? position : 0 + 'px');\n },\n _panLeft: function() {\n var maxLeftPosition = $image.width() - zoomWidth,\n leftStepIncrement = maxLeftPosition / PANNING_STEP_COUNT,\n position = parseFloat($image.css('left')) + leftStepIncrement;\n\n $image.css('left', position < 0 ? position : 0 + 'px');\n },\n _panRight: function() {\n var maxLeftPosition = $image.width() - zoomWidth,\n leftStepIncrement = maxLeftPosition / PANNING_STEP_COUNT,\n position = parseFloat($image.css('left')) - leftStepIncrement,\n max = -maxLeftPosition;\n\n $image.css('left', position > max ? position : max + 'px');\n },\n init: function($container, options) {\n if (!$container) {\n throw new Error('imageZoom requires a container element');\n }\n\n var focusTrap;\n\n $($container)\n .on(\n 'click',\n '.zoomable',\n function(e) {\n e.preventDefault();\n\n var src = e.currentTarget.querySelector('img')?.dataset?.image;\n\n $zoom = document.getElementById('frame');\n\n if (!$zoom) {\n $zoom = $(\n '