{"version":3,"file":"6332.5642793e5c48d43eb549.js","mappings":"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","sources":["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/supplement/imagecontrollarge.js"],"sourcesContent":["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.firstElementChild.dataset.image;\n\n $zoom = document.getElementById('frame');\n\n if (!$zoom) {\n $zoom = $(\n '