{"version":3,"sources":["webpack:///./node_modules/comparison-slider/dist/comparison-slider.module.js","webpack:///./src/js/components/career-paths.js"],"names":["$style","document","createElement","clamp","value","min","max","Math","selectorToElement","selectorOrHTMLElement","$parent","HTMLElement","element","querySelector","innerHTML","head","insertBefore","firstChild","ComparisonSlider","$el","options","_this","this","_left","_width","_height","_offset","_auto","scope","$before","$after","$handle","classList","add","appendChild","handleOnlyControl","auto","update","draw","dragStartX","$autoArea","autoArea","addEventListener","dragging","onMouseDown","onTouchStart","onContextMenu","func","wait","timeoutID","onWindowResize","args","_i","arguments","length","clearTimeout","context","window","setTimeout","apply","event","preventDefault","el","target","selector","Element","prototype","matches","msMatchesSelector","startDragging","_event","normalizePointerEvent","pageX","offset","_toggleClassNames","_toggleTransitionMode","endDragging","abs","removeEventListener","destory","Object","defineProperty","get","set","enumerable","configurable","rect","getBoundingClientRect","left","width","height","style","transform","clip","enabled","remove","transition","TouchEvent","touches","Array","forEach","call","querySelectorAll","CareerPaths","_Component","_classCallCheck","_callSuper","_inherits","key","_this$dom$$actionBtnC","_this$dom$$actionBtnC2","dom","$actionBtnContainer","_$","$comparisonSlider","$images","_$$","$showMoreBtn","$showMoreContent","$careerContainer","$careerBlocks","showMoreLabel","dataset","showLessLabel","observer","MutationObserver","handleGrayOut","bind","copyImagesInSlider","initSlider","setViewportDom","clientWidth","progress","setA11yHelpers","_on","handleClick","fontsLoaded","handleContainerHeight","careers","_toConsumableArray","map","career","clientHeight","minHeight","concat","mutations","leftCareer","rightCareer","_ref","attributeName","_target$style$clip$re2","_slicedToArray","replace","split","Number","right","e","isOpen","getAttribute","toggle","setAttribute","textContent","_this$dom","block","join","_this2","_this$dom2","image","index","objectFit","insertAdjacentHTML","getSliderImage","src","alt","_this3","$targetSlide","handle","observe","attributes","tabIndex","role","current","step","keyCode","keys","buttonId","nanoid","contentId","_this$dom3","id","Component"],"mappings":"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","file":"54.eca1b1.js","sourcesContent":["/*!\n * comparison-slider\n * https://github.com/yomotsu/comparison-slider\n * (c) 2019 @yomotsu\n * Released under the MIT License.\n */\nvar $style = document.createElement('style');\r\n$style.innerHTML = \"\\n.ComparisonSlider {\\n\\tposition: relative;\\n\\toverflow: hidden;\\n}\\n.ComparisonSlider.-auto,\\n.ComparisonSlider.-dragging {\\n\\tcursor: col-resize;\\n}\\n.ComparisonSlider__Before,\\n.ComparisonSlider__After {\\n\\tposition: absolute;\\n\\ttop: 0;\\n\\tleft: 0;\\n\\tdisplay: block;\\n\\twidth: 100%;\\n\\theight: 100%;\\n\\tbackground-position: 50% 50%;\\n\\tbackground-size: cover;\\n}\\n.ComparisonSlider__Handle {\\n\\tcursor: col-resize;\\n\\tposition: absolute;\\n\\tbox-sizing: border-box;\\n\\ttop: 50%;\\n\\twidth: 44px;\\n\\theight: 44px;\\n\\tborder: 3px solid #fff;\\n\\tborder-radius: 100px;\\n\\tbox-shadow: 0px 0px 12px rgba( 51, 51, 51, 0.5 );\\n\\tbackground: url(\\\"data:image/svg+xml,%3Csvg%20fill=%22%23fff%22%20preserveAspectRatio=%22none%22%20viewBox=%220%200%2046%2046%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath%20d=%22m39.808%2023-10%208v-16z%22/%3E%3Cpath%20d=%22m6.192%2023%2010-8v16z%22/%3E%3C/svg%3E\\\" ) 50% 50% / 100% 100%;\\n}\\n@supports (filter: drop-shadow( 0 0 0 #000 )) {\\n\\t.ComparisonSlider__Handle {\\n\\t\\tbox-shadow: none;\\n\\t\\tfilter: drop-shadow( 0 0 12px rgba( 51, 51, 51, 0.5 ) );\\n\\t}\\n}\\n.ComparisonSlider__Handle::before,\\n.ComparisonSlider__Handle::after {\\n\\tcontent: \\\"\\\";\\n\\tposition: absolute;\\n\\tleft: 50%;\\n\\tdisplay: block;\\n\\twidth: 3px;\\n\\theight: 1024px;\\n\\tmargin-left: -1.5px;\\n\\tbackground-color: #fff;\\n}\\n.ComparisonSlider__Handle::before {\\n\\tbottom: 50%;\\n\\tmargin-bottom: 22px;\\n\\tbox-shadow: 0 3px 0 #fff, 0px 0px 12px rgba( 51, 51, 51, 0.5 );\\n}\\n.ComparisonSlider__Handle::after {\\n\\ttop: 50%;\\n\\tmargin-top: 22px;\\n\\tbox-shadow: 0 -3px 0 #fff, 0px 0px 12px rgba( 51, 51, 51, 0.5 );\\n}\\n@supports (filter: drop-shadow( 0 0 0 #000 )) {\\n\\t.ComparisonSlider__Handle::before,\\n\\t.ComparisonSlider__Handle::after {\\n\\t\\tbox-shadow: none;\\n\\t}\\n}\\n\";\r\ndocument.head.insertBefore($style, document.head.firstChild);\n\nfunction clamp(value, min, max) {\r\n if (min === void 0) { min = 0; }\r\n if (max === void 0) { max = 1; }\r\n return Math.max(min, Math.min(max, value));\r\n}\n\nfunction selectorToElement(selectorOrHTMLElement, $parent) {\r\n if (selectorOrHTMLElement instanceof HTMLElement) {\r\n return selectorOrHTMLElement;\r\n }\r\n var element = ($parent || document).querySelector(selectorOrHTMLElement);\r\n if (element instanceof HTMLElement) {\r\n return element;\r\n }\r\n return document.createElement('div');\r\n}\n\nfunction matches(el, selector) {\r\n if (!!Element.prototype.matches) {\r\n return el.matches(selector);\r\n }\r\n if (!!Element.prototype.msMatchesSelector) {\r\n return el.msMatchesSelector(selector);\r\n }\r\n return false;\r\n}\n\nfunction debounce(func, wait) {\r\n if (wait === void 0) { wait = 200; }\r\n var timeoutID;\r\n return function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n clearTimeout(timeoutID);\r\n var context = this;\r\n timeoutID = window.setTimeout(function () { return func.apply(context, args); }, wait);\r\n };\r\n}\n\nvar ComparisonSlider = (function () {\r\n function ComparisonSlider($el, options) {\r\n if ($el === void 0) { $el = '.ComparisonSlider'; }\r\n if (options === void 0) { options = {}; }\r\n var _this = this;\r\n this._left = 0;\r\n this._width = 0;\r\n this._height = 0;\r\n this._offset = 0.5;\r\n this._auto = false;\r\n var scope = this;\r\n this.$el = selectorToElement($el);\r\n this.$before = selectorToElement(options.$before || '.ComparisonSlider__Before', this.$el);\r\n this.$after = selectorToElement(options.$after || '.ComparisonSlider__After', this.$el);\r\n this.$handle = selectorToElement(options.$handle || '.ComparisonSlider__Handle', this.$el);\r\n this.$before.classList.add('ComparisonSlider__Before');\r\n this.$after.classList.add('ComparisonSlider__After');\r\n this.$handle.classList.add('ComparisonSlider__Handle');\r\n this.$el.appendChild(this.$before);\r\n this.$el.appendChild(this.$after);\r\n this.$el.appendChild(this.$handle);\r\n this.handleOnlyControl = options.handleOnlyControl || false;\r\n this._auto = options.auto || false;\r\n this.update();\r\n this.draw();\r\n var dragStartX = 0;\r\n if (this._auto) {\r\n var $autoArea = options.autoArea || this.$el;\r\n this.$el.classList.add('-auto');\r\n $autoArea.addEventListener('mousemove', dragging);\r\n $autoArea.addEventListener('touchmove', dragging);\r\n }\r\n else {\r\n this.$el.addEventListener('mousedown', onMouseDown);\r\n this.$el.addEventListener('touchstart', onTouchStart);\r\n }\r\n this.$el.addEventListener('contextmenu', onContextMenu);\r\n var onWindowResize = debounce(function () {\r\n _this.update();\r\n _this.draw();\r\n }, 60);\r\n window.addEventListener('resize', onWindowResize);\r\n function onMouseDown(event) {\r\n event.preventDefault();\r\n if (scope.handleOnlyControl) {\r\n if (!matches(event.target, '.ComparisonSlider__Handle'))\r\n return;\r\n startDragging(event);\r\n }\r\n else {\r\n startDragging(event);\r\n }\r\n }\r\n function onTouchStart(event) {\r\n event.preventDefault();\r\n startDragging(event);\r\n }\r\n function onContextMenu(event) {\r\n event.preventDefault();\r\n }\r\n function startDragging(event) {\r\n scope.update();\r\n var _event = normalizePointerEvent(event);\r\n dragStartX = _event.pageX;\r\n scope.offset = (_event.pageX - scope._left) / scope._width;\r\n scope._toggleClassNames(true);\r\n scope._toggleTransitionMode(true);\r\n document.addEventListener('mousemove', dragging);\r\n document.addEventListener('touchmove', dragging);\r\n document.addEventListener('mouseup', endDragging);\r\n document.addEventListener('touchend', endDragging);\r\n }\r\n function dragging(event) {\r\n var _event = normalizePointerEvent(event);\r\n scope.offset = (_event.pageX - scope._left) / scope._width;\r\n if (Math.abs(dragStartX - _event.pageX) > 5) {\r\n scope._toggleTransitionMode(false);\r\n }\r\n }\r\n function endDragging() {\r\n scope._toggleClassNames(false);\r\n document.removeEventListener('mousemove', dragging);\r\n document.removeEventListener('touchmove', dragging);\r\n document.removeEventListener('mouseup', endDragging);\r\n document.removeEventListener('touchend', endDragging);\r\n }\r\n this.destory = function () {\r\n _this.$el.removeEventListener('mousedown', onMouseDown);\r\n _this.$el.removeEventListener('touchstart', onTouchStart);\r\n _this.$el.removeEventListener('contextmenu', onContextMenu);\r\n _this.$el.addEventListener('mousemove', dragging);\r\n _this.$el.addEventListener('touchmove', dragging);\r\n if (!!options.autoArea) {\r\n options.autoArea.addEventListener('mousemove', dragging);\r\n options.autoArea.addEventListener('touchmove', dragging);\r\n }\r\n document.removeEventListener('mousemove', dragging);\r\n document.removeEventListener('touchmove', dragging);\r\n document.removeEventListener('mouseup', endDragging);\r\n document.removeEventListener('touchend', endDragging);\r\n window.removeEventListener('resize', onWindowResize);\r\n };\r\n }\r\n Object.defineProperty(ComparisonSlider.prototype, \"offset\", {\r\n get: function () {\r\n return this._offset;\r\n },\r\n set: function (offset) {\r\n var _offset = clamp(offset, 0, 1);\r\n if (_offset === this._offset)\r\n return;\r\n this._offset = _offset;\r\n this.draw();\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n ComparisonSlider.prototype.update = function () {\r\n var rect = this.$el.getBoundingClientRect();\r\n this._left = rect.left;\r\n this._width = rect.width;\r\n this._height = rect.height;\r\n };\r\n ComparisonSlider.prototype.draw = function () {\r\n var left = clamp(this._width * this.offset, 0, this._width);\r\n this.$handle.style.transform = \"translateX( \" + left + \"px ) translateX( -50% ) translateY( -50% )\";\r\n this.$after.style.clip = \"rect(0px, \" + this._width + \"px, \" + this._height + \"px, \" + left + \"px)\";\r\n };\r\n ComparisonSlider.prototype._toggleClassNames = function (enabled) {\r\n if (enabled) {\r\n this.$el.classList.add('-dragging');\r\n }\r\n else {\r\n this.$el.classList.remove('-dragging');\r\n }\r\n };\r\n ComparisonSlider.prototype._toggleTransitionMode = function (enabled) {\r\n if (enabled) {\r\n this.$after.style.transition = 'clip .2s';\r\n this.$handle.style.transition = 'transform .2s';\r\n }\r\n else {\r\n this.$after.style.transition = 'none';\r\n this.$handle.style.transition = 'none';\r\n }\r\n };\r\n return ComparisonSlider;\r\n}());\r\nfunction normalizePointerEvent(event) {\r\n return 'ontouchstart' in window && event instanceof TouchEvent ? event.touches[0] : event;\r\n}\r\ndocument.addEventListener('DOMContentLoaded', function () {\r\n Array.prototype.forEach.call(document.querySelectorAll('[data-comparison-slider-auto]'), function ($el) { return new ComparisonSlider($el); });\r\n});\n\nexport default ComparisonSlider;\n","import { Component } from '@verndale/core';\r\nimport ComparisonSlider from 'comparison-slider';\r\nimport { nanoid } from 'nanoid';\r\n\r\nimport { fontsLoaded } from '../utils/typography';\r\nimport keys from '../utils/keys';\r\n\r\nclass CareerPaths extends Component {\r\n setupDefaults() {\r\n this.dom = {\r\n $actionBtnContainer: this.el._$('.career-paths__action-button-container'),\r\n $comparisonSlider: this.el._$('.career-paths__comparison-slider'),\r\n $images: this.el._$$('.career-paths__image'),\r\n $showMoreBtn: this.el._$('.career-paths__action-button-container .btn'),\r\n $showMoreContent: this.el._$('.career-paths__show-more-content'),\r\n $careerContainer: this.el._$('.career-paths__career-container'),\r\n $careerBlocks: this.el._$$('.career-paths__career-block')\r\n };\r\n\r\n this.showMoreLabel =\r\n this.dom.$actionBtnContainer?.dataset.showMoreLabel || '';\r\n this.showLessLabel =\r\n this.dom.$actionBtnContainer?.dataset.showLessLabel || '';\r\n\r\n this.observer = new window.MutationObserver(::this.handleGrayOut);\r\n\r\n this.copyImagesInSlider();\r\n this.initSlider();\r\n this.setViewportDom();\r\n this.width = this.el.clientWidth;\r\n this.progress = this.width / 2;\r\n\r\n if (this.dom.$showMoreBtn) {\r\n this.setA11yHelpers();\r\n }\r\n }\r\n\r\n addListeners() {\r\n const { $showMoreBtn } = this.dom;\r\n $showMoreBtn?._on('click', ::this.handleClick);\r\n fontsLoaded(::this.handleContainerHeight);\r\n window._on('resize', ::this.handleContainerHeight);\r\n }\r\n\r\n handleContainerHeight() {\r\n const { $careerContainer } = this.dom;\r\n const careers = this.el._$$(\r\n '.career-paths__career-container .career-paths__career'\r\n );\r\n const max = Math.max(...careers.map((career) => career.clientHeight));\r\n $careerContainer.style.minHeight = `${max}px`;\r\n }\r\n\r\n handleGrayOut(mutations) {\r\n const leftCareer = this.el._$(\r\n '.career-paths__career-container .career-paths__career:first-of-type'\r\n );\r\n const rightCareer = this.el._$(\r\n '.career-paths__career-container .career-paths__career:last-of-type'\r\n );\r\n\r\n this.el.classList.remove('career-paths--initial');\r\n mutations.forEach(({ attributeName, target }) => {\r\n if (attributeName === 'style') {\r\n const [top, right, bottom, left] = target.style.clip\r\n .replace(/px|rect\\(|\\)| /g, '')\r\n .split(',')\r\n .map(Number);\r\n\r\n if (left && right) {\r\n this.width = right;\r\n this.progress = left;\r\n if (left > right / 2) {\r\n rightCareer.classList.add('career-paths__career--gray');\r\n leftCareer.classList.remove('career-paths__career--gray');\r\n } else {\r\n leftCareer.classList.add('career-paths__career--gray');\r\n rightCareer.classList.remove('career-paths__career--gray');\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n handleClick(e) {\r\n const { $actionBtnContainer } = this.dom;\r\n const isOpen = e.target.getAttribute('aria-expanded') === 'true';\r\n\r\n $actionBtnContainer.classList.toggle(\r\n 'career-paths__action-button-container--closed'\r\n );\r\n e.target.setAttribute('aria-expanded', isOpen ? 'false' : 'true');\r\n e.target.textContent = isOpen ? this.showMoreLabel : this.showLessLabel;\r\n }\r\n\r\n setViewportDom() {\r\n const { $careerBlocks, $careerContainer } = this.dom;\r\n\r\n $careerContainer.innerHTML = $careerBlocks\r\n .map((block) => block.innerHTML)\r\n .join('');\r\n }\r\n\r\n copyImagesInSlider() {\r\n const { $comparisonSlider, $images } = this.dom;\r\n\r\n $images.forEach((image, index) => {\r\n image.dataset.objectFit = 'cover';\r\n $comparisonSlider.insertAdjacentHTML(\r\n 'beforeend',\r\n this.getSliderImage(image.src, index, image.alt)\r\n );\r\n });\r\n }\r\n\r\n getSliderImage(src, index, alt) {\r\n return `\r\n <div\r\n class=\"ComparisonSlider__${index === 0 ? 'Before' : 'After'}\"\r\n style=\"background-image: url('${src}')\"\r\n ${alt ? `aria-label=\"${alt}\" role=\"img\"` : ''}\r\n ></div>\r\n `;\r\n }\r\n\r\n initSlider() {\r\n const $targetSlide = this.el._$('.ComparisonSlider__After');\r\n const { $comparisonSlider } = this.dom;\r\n\r\n this.el.classList.add('career-paths--initial');\r\n new ComparisonSlider($comparisonSlider);\r\n const handle = this.el._$('.ComparisonSlider__Handle');\r\n this.observer.observe($targetSlide, { attributes: true });\r\n\r\n if (handle) {\r\n handle.tabIndex = 0;\r\n handle.role = 'button';\r\n handle.addEventListener('keydown', (e) => {\r\n const current = $targetSlide.style.clip\r\n .replace(/px|rect\\(|\\)| /g, '')\r\n .split(',')\r\n .map(Number);\r\n const step = this.width / 20;\r\n\r\n if (e.keyCode === keys.right) {\r\n this.progress =\r\n this.progress + step > this.width\r\n ? this.width\r\n : this.progress + step;\r\n } else if (e.keyCode === keys.left) {\r\n this.progress = this.progress - step > 0 ? this.progress - step : 0;\r\n }\r\n\r\n handle.style.transform = `translateX(${this.progress}px) translateX(-50%) translateY(-50%)`;\r\n $targetSlide.style.clip = `rect(${current[0]}px, ${current[1]}px, ${current[2]}px, ${this.progress}px)`;\r\n });\r\n }\r\n }\r\n\r\n setA11yHelpers() {\r\n const buttonId = `id-${nanoid()}`;\r\n const contentId = `id-${nanoid()}`;\r\n const { $actionBtnContainer, $showMoreBtn, $showMoreContent } = this.dom;\r\n\r\n $actionBtnContainer.classList.add(\r\n 'career-paths__action-button-container--closed'\r\n );\r\n $showMoreBtn.textContent = this.showMoreLabel;\r\n $showMoreBtn.id = buttonId;\r\n $showMoreBtn.setAttribute('aria-expanded', 'false');\r\n $showMoreBtn.setAttribute('aria-controls', contentId);\r\n $showMoreContent.id = contentId;\r\n $showMoreContent.setAttribute('aria-labelledby', buttonId);\r\n }\r\n}\r\n\r\nexport default CareerPaths;\r\n"],"sourceRoot":""}