{"version":3,"sources":["webpack:///./assets/javascripts/modules/utils/FocusableElementUtils.js","webpack:///./node_modules/bootstrap/js/dist lazy ^\\.\\/.*\\.js$ namespace object","webpack:///./node_modules/flatpickr/dist/l10n lazy ^\\.\\/.*\\.js$ namespace object","webpack:///./assets/javascripts/modules/utils/SmoothScroll.js","webpack:///./assets/javascripts/modules/components/HeroZoomComponent.js","webpack:///./assets/javascripts/modules/utils/DependencyInjector.js","webpack:///./assets/javascripts/modules/abstracts/Component.js"],"names":["$","__webpack_require__","d","__webpack_exports__","getFirstFocusable","toggleTabIndex","FOCUSABLE_ELEMENTS","parent","querySelector","join","makeTabbable","el","hasAttribute","setAttribute","getAttribute","removeAttribute","makeUntabbable","classList","contains","add","focusable","els","Array","prototype","slice","call","find","getFocusableElements","forEach","map","./alert.js","./button.js","./carousel.js","./collapse.js","./dropdown.js","./index.js","./modal.js","./popover.js","./scrollspy.js","./tab.js","./toast.js","./tooltip.js","./util.js","webpackAsyncContext","req","ids","Promise","all","e","then","id","t","resolve","Error","code","keys","Object","module","exports","./ar.js","./at.js","./be.js","./bg.js","./bn.js","./cat.js","./cs.js","./cy.js","./da.js","./de.js","./default.js","./eo.js","./es.js","./et.js","./fa.js","./fi.js","./fr.js","./gr.js","./he.js","./hi.js","./hr.js","./hu.js","./id.js","./it.js","./ja.js","./km.js","./ko.js","./kz.js","./lt.js","./lv.js","./mk.js","./mn.js","./ms.js","./my.js","./nl.js","./no.js","./pa.js","./pl.js","./pt.js","./ro.js","./ru.js","./si.js","./sk.js","./sl.js","./sq.js","./sr.js","./sv.js","./th.js","./tr.js","./uk.js","./vn.js","./zh.js","SmoothScroll","element","gotoX","gotoY","behavior","c","window","pageYOffset","document","documentElement","scrollTop","timing","scrollTo","top","left","HeroZoomComponent","_classCallCheck","this","_this","_possibleConstructorReturn","__proto__","getPrototypeOf","scrollDirection","Component","main","layer","steps","image","header","visible","animate","timeout","up","down","comp","_this2","reject","animationEnded","stepInfo","done","SELECTORS","remove","CLASSES","point","from","to","_this3","querySelectorAll","step","zoom","dataset","stepZoom","transformx","stepTransformX","transformy","stepTransformY","between","stepData","stepId","transform","push","console","error","_this4","_this5","actualStep","shift","concat","_toConsumableArray","parentElement","children","sibling","setTimeout","TIMING","length","captureScroll","body","style","overflow","_this6","stepInitial","animateLayer","res","animateImage","catch","err","_this7","animateScroll","unbind","_this8","scrollingElement","removeEventListener","handleScroll","addEventListener","components","_this9","$on","deltaY","init","benefitHeight","clientHeight","headerHeight","navigation","_this10","getHeaderHeight","rect","getBoundingClientRect","isVisible","innerHeight","isOut","bottom","hasZoomPoints","resetScene","scrollIntoView","block","inline","setScene","getSteps","_this11","$matchMedia","bindPageScroll","loadedDependency","existingDependency","name","saveDependency","lib","DependencyInjector","logStr","arguments","undefined","myName","constructor","debug","componentName","thenPromise","catchPromise","log","bind","locale","widgetName","url","script","createElement","type","src","appendChild","stack","Component_classCallCheck","moduleLoader","$customEvents","CustomEvents","match","on","$emit","emit","$off","off","$one","one","$getFirstFocusable","warn"],"mappings":"4FAAA,SAAAA,GAAAC,EAAAC,EAAAC,EAAA,sBAAAC,IAAAH,EAAAC,EAAAC,EAAA,sBAAAE,IAAA,IAAMC,GAAsB,UAAW,6CAA8C,yBAA0B,2BAA4B,yBAA0B,mCAExJF,EAAoB,SAACG,GAChC,OAAOA,EAAOC,cAAcF,EAAmBG,KAAK,OAShDC,EAAe,SAACC,GAChBA,EAAGC,aAAa,iBAClBD,EAAGE,aAAa,WAAYF,EAAGG,aAAa,kBAE5CH,EAAGI,gBAAgB,aAIjBC,EAAiB,SAACL,GAClBA,EAAGC,aAAa,cAAgBD,EAAGM,UAAUC,SAAS,aACxDP,EAAGE,aAAa,gBAAiBF,EAAGG,aAAa,aAEnDH,EAAGM,UAAUE,IAAI,YACjBR,EAAGE,aAAa,YAAa,IAGlBR,EAAiB,SAACE,EAAQa,GACrC,IAAIC,EAvB8B,SAACV,GACnC,OAAOW,MAAMC,UAAUC,MAAMC,KAC3BzB,EAAEW,GAAIe,KAAKpB,EAAmBG,KAAK,OAqB3BkB,CAAqBpB,GAE/Ba,EACIC,EAAIO,QAAQlB,GACZW,EAAIO,QAAQZ,4CCjClB,IAAAa,GACAC,cACA,IACA,KAEAC,eACA,IACA,KAEAC,iBACA,IACA,KAEAC,iBACA,IACA,KAEAC,iBACA,IACA,EACA,KAEAC,cACA,IACA,KAEAC,cACA,IACA,KAEAC,gBACA,IACA,EACA,IACA,KAEAC,kBACA,IACA,KAEAC,YACA,IACA,KAEAC,cACA,IACA,KAEAC,gBACA,IACA,EACA,KAEAC,aACA,IACA,MAGA,SAAAC,EAAAC,GACA,IAAAC,EAAAhB,EAAAe,GACA,OAAAC,EAOAC,QAAAC,IAAAF,EAAArB,MAAA,GAAAK,IAAA5B,EAAA+C,IAAAC,KAAA,WACA,IAAAC,EAAAL,EAAA,GACA,OAAA5C,EAAAkD,EAAAD,EAAA,KARAJ,QAAAM,UAAAH,KAAA,WACA,IAAAD,EAAA,IAAAK,MAAA,uBAAAT,EAAA,KAEA,MADAI,EAAAM,KAAA,mBACAN,IAQAL,EAAAY,KAAA,WACA,OAAAC,OAAAD,KAAA1B,IAEAc,EAAAO,GAAA,IACAO,EAAAC,QAAAf,uBC5EA,IAAAd,GACA8B,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,YACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,gBACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEA9C,cACA,IACA,KAEA+C,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,KAEAC,WACA,IACA,MAGA,SAAAnE,EAAAC,GACA,IAAAC,EAAAhB,EAAAe,GACA,OAAAC,EAOA5C,EAAA+C,EAAAH,EAAA,IAAAI,KAAA,WACA,IAAAC,EAAAL,EAAA,GACA,OAAA5C,EAAAkD,EAAAD,EAAA,KARAJ,QAAAM,UAAAH,KAAA,WACA,IAAAD,EAAA,IAAAK,MAAA,uBAAAT,EAAA,KAEA,MADAI,EAAAM,KAAA,mBACAN,IAQAL,EAAAY,KAAA,WACA,OAAAC,OAAAD,KAAA1B,IAEAc,EAAAO,GAAA,IACAO,EAAAC,QAAAf,oCCxOA1C,EAAAC,EAAAC,EAAA,sBAAA4G,IAAO,IAAMA,EAAe,S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","file":"components-HeroZoomComponent.chunks.js","sourcesContent":["const FOCUSABLE_ELEMENTS = ['a[href]', 'input:not([disabled]):not([type=\"hidden\"])', 'select:not([disabled])', 'textarea:not([disabled])', 'button:not([disabled])', '[tabindex]:not([tabindex^=\"-\"])'];\n\nexport const getFirstFocusable = (parent) => {\n return parent.querySelector(FOCUSABLE_ELEMENTS.join(','));\n};\n\nexport const getFocusableElements = (el) => {\n return Array.prototype.slice.call(\n $(el).find(FOCUSABLE_ELEMENTS.join(','))\n )\n};\n\nconst makeTabbable = (el) => {\n if (el.hasAttribute('data-tabindex')) {\n el.setAttribute('tabindex', el.getAttribute('data-tabindex'));\n } else {\n el.removeAttribute('tabindex');\n }\n};\n\nconst makeUntabbable = (el) => {\n if (el.hasAttribute('tabindex') && !el.classList.contains('untabbed')) {\n el.setAttribute('data-tabindex', el.getAttribute('tabindex'));\n }\n el.classList.add('untabbed');\n el.setAttribute('tabindex', -1);\n};\n\nexport const toggleTabIndex = (parent, focusable) => {\n var els = getFocusableElements(parent)\n \n focusable\n ? els.forEach(makeTabbable)\n : els.forEach(makeUntabbable)\n};","var map = {\n\t\"./alert.js\": [\n\t\t322,\n\t\t186\n\t],\n\t\"./button.js\": [\n\t\t323,\n\t\t187\n\t],\n\t\"./carousel.js\": [\n\t\t324,\n\t\t188\n\t],\n\t\"./collapse.js\": [\n\t\t325,\n\t\t189\n\t],\n\t\"./dropdown.js\": [\n\t\t326,\n\t\t2,\n\t\t190\n\t],\n\t\"./index.js\": [\n\t\t327,\n\t\t191\n\t],\n\t\"./modal.js\": [\n\t\t328,\n\t\t192\n\t],\n\t\"./popover.js\": [\n\t\t329,\n\t\t2,\n\t\t171,\n\t\t193\n\t],\n\t\"./scrollspy.js\": [\n\t\t330,\n\t\t194\n\t],\n\t\"./tab.js\": [\n\t\t331,\n\t\t195\n\t],\n\t\"./toast.js\": [\n\t\t332,\n\t\t196\n\t],\n\t\"./tooltip.js\": [\n\t\t321,\n\t\t2,\n\t\t171\n\t],\n\t\"./util.js\": [\n\t\t320,\n\t\t197\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tvar ids = map[req];\n\tif(!ids) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(function() {\n\t\tvar id = ids[0];\n\t\treturn __webpack_require__.t(id, 7);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 291;\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./ar.js\": [\n\t\t333,\n\t\t198\n\t],\n\t\"./at.js\": [\n\t\t334,\n\t\t199\n\t],\n\t\"./be.js\": [\n\t\t335,\n\t\t200\n\t],\n\t\"./bg.js\": [\n\t\t336,\n\t\t201\n\t],\n\t\"./bn.js\": [\n\t\t337,\n\t\t202\n\t],\n\t\"./cat.js\": [\n\t\t338,\n\t\t203\n\t],\n\t\"./cs.js\": [\n\t\t339,\n\t\t204\n\t],\n\t\"./cy.js\": [\n\t\t340,\n\t\t205\n\t],\n\t\"./da.js\": [\n\t\t341,\n\t\t206\n\t],\n\t\"./de.js\": [\n\t\t342,\n\t\t207\n\t],\n\t\"./default.js\": [\n\t\t343,\n\t\t208\n\t],\n\t\"./eo.js\": [\n\t\t344,\n\t\t209\n\t],\n\t\"./es.js\": [\n\t\t345,\n\t\t210\n\t],\n\t\"./et.js\": [\n\t\t346,\n\t\t211\n\t],\n\t\"./fa.js\": [\n\t\t347,\n\t\t212\n\t],\n\t\"./fi.js\": [\n\t\t348,\n\t\t213\n\t],\n\t\"./fr.js\": [\n\t\t349,\n\t\t214\n\t],\n\t\"./gr.js\": [\n\t\t350,\n\t\t215\n\t],\n\t\"./he.js\": [\n\t\t351,\n\t\t216\n\t],\n\t\"./hi.js\": [\n\t\t352,\n\t\t217\n\t],\n\t\"./hr.js\": [\n\t\t353,\n\t\t218\n\t],\n\t\"./hu.js\": [\n\t\t354,\n\t\t219\n\t],\n\t\"./id.js\": [\n\t\t355,\n\t\t220\n\t],\n\t\"./index.js\": [\n\t\t356,\n\t\t257\n\t],\n\t\"./it.js\": [\n\t\t357,\n\t\t221\n\t],\n\t\"./ja.js\": [\n\t\t358,\n\t\t222\n\t],\n\t\"./km.js\": [\n\t\t359,\n\t\t223\n\t],\n\t\"./ko.js\": [\n\t\t360,\n\t\t224\n\t],\n\t\"./kz.js\": [\n\t\t361,\n\t\t225\n\t],\n\t\"./lt.js\": [\n\t\t362,\n\t\t226\n\t],\n\t\"./lv.js\": [\n\t\t363,\n\t\t227\n\t],\n\t\"./mk.js\": [\n\t\t364,\n\t\t228\n\t],\n\t\"./mn.js\": [\n\t\t365,\n\t\t229\n\t],\n\t\"./ms.js\": [\n\t\t366,\n\t\t230\n\t],\n\t\"./my.js\": [\n\t\t367,\n\t\t231\n\t],\n\t\"./nl.js\": [\n\t\t368,\n\t\t232\n\t],\n\t\"./no.js\": [\n\t\t369,\n\t\t233\n\t],\n\t\"./pa.js\": [\n\t\t370,\n\t\t234\n\t],\n\t\"./pl.js\": [\n\t\t371,\n\t\t235\n\t],\n\t\"./pt.js\": [\n\t\t372,\n\t\t236\n\t],\n\t\"./ro.js\": [\n\t\t373,\n\t\t237\n\t],\n\t\"./ru.js\": [\n\t\t374,\n\t\t238\n\t],\n\t\"./si.js\": [\n\t\t375,\n\t\t239\n\t],\n\t\"./sk.js\": [\n\t\t376,\n\t\t240\n\t],\n\t\"./sl.js\": [\n\t\t377,\n\t\t241\n\t],\n\t\"./sq.js\": [\n\t\t378,\n\t\t242\n\t],\n\t\"./sr.js\": [\n\t\t379,\n\t\t243\n\t],\n\t\"./sv.js\": [\n\t\t380,\n\t\t244\n\t],\n\t\"./th.js\": [\n\t\t381,\n\t\t245\n\t],\n\t\"./tr.js\": [\n\t\t382,\n\t\t246\n\t],\n\t\"./uk.js\": [\n\t\t383,\n\t\t247\n\t],\n\t\"./vn.js\": [\n\t\t384,\n\t\t248\n\t],\n\t\"./zh.js\": [\n\t\t385,\n\t\t249\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tvar ids = map[req];\n\tif(!ids) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\tvar id = ids[0];\n\t\treturn __webpack_require__.t(id, 7);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 292;\nmodule.exports = webpackAsyncContext;","export const SmoothScroll = (element, gotoX, gotoY, behavior) => {\n const c = window.pageYOffset || document.documentElement.scrollTop;\n const timing = behavior || 'auto';\n\n if (c >= 0) {\n element.scrollTo({\n top: gotoY,\n left: 0,\n behavior: timing\n });\n }\n};\n","import Component from '../abstracts/Component';\nimport {SmoothScroll} from '../utils/SmoothScroll';\n\nexport default class HeroZoomComponent extends Component {\n get SELECTORS() {\n return {\n main: '.js-hero-zoom',\n layer: '.js-zoom-layer',\n steps: '.js-zoom-step',\n image: '.js-hero-zoom-image',\n header: '.main-header',\n\n }\n }\n\n get CLASSES() {\n return {\n visible: 'is-visible',\n animate: 'animate'\n }\n }\n\n get TIMING() {\n return {\n timeout: 600\n }\n }\n\n get SCROLL_DIRECTION() {\n return {\n up: 'up',\n down: 'down'\n }\n }\n\n constructor() {\n super();\n this.scrollDirection = 'down';\n }\n\n setScene(comp) {\n return new Promise((resolve, reject) => {\n try {\n this.main = comp;\n this.animationEnded = true;\n this.stepInfo = {\n steps: Array(),\n done: Array(),\n };\n resolve(true);\n } catch (e) {\n reject(e);\n }\n });\n }\n\n resetScene() {\n if (this.main) {\n const image = this.main.querySelector(this.SELECTORS.image);\n this.main.removeAttribute('data-step-initial');\n this.main.querySelector(this.SELECTORS.layer).classList.remove(this.CLASSES.visible);\n this.main.querySelector(this.SELECTORS.layer).classList.remove(this.CLASSES.animate);\n this.main.removeAttribute('data-animation-ended');\n this.animationEnded = true;\n this.stepInfo = {\n steps: Array(),\n done: Array(),\n };\n\n image.removeAttribute('style');\n }\n }\n\n between(point, from, to) {\n if (point < from) {\n return from;\n }\n if (point > to) {\n return to;\n }\n return point;\n }\n\n getSteps(comp) {\n return new Promise((resolve, reject) => {\n try {\n const steps = comp.querySelectorAll(this.SELECTORS.steps);\n steps.forEach(step => {\n\n let zoom = step.dataset.stepZoom;\n let transformx = step.dataset.stepTransformX;\n let transformy = step.dataset.stepTransformY;\n\n // console.warn('zoom before ' + zoom + \" transform X \" + transformx + \" transform Y \" + transformy);\n\n if (zoom == 1) {\n transformy = this.between(transformy, 0, 0);\n transformx = this.between(transformx, -50, 0);\n } else if (zoom > 1) {\n transformy = this.between(transformy, -50 / zoom, 50 / zoom);\n transformx = this.between(transformx, -50, 25 * zoom);\n }\n\n // console.warn('zoom after ' + zoom + \" transform X \" + transformx + \" transform Y \" + transformy);\n\n let stepData = {\n id: step.dataset.stepId,\n transform: `scale3d(${zoom}, ${zoom}, ${zoom}) translate3d(${transformx}%, ${transformy}%, 0)`,\n };\n this.stepInfo.steps.push(stepData);\n });\n\n resolve(true);\n } catch (e) {\n console.error(e);\n reject(false);\n }\n });\n }\n\n animateLayer() {\n return new Promise((resolve, reject) => {\n try {\n this.main.setAttribute('data-step-initial', true);\n this.main.querySelector(this.SELECTORS.layer).classList.add(this.CLASSES.animate);\n this.main.querySelector(this.SELECTORS.layer).classList.add(this.CLASSES.visible);\n resolve(true);\n } catch (e) {\n reject(e)\n }\n });\n }\n\n animateImage() {\n return new Promise((resolve, reject) => {\n try {\n let actualStep = this.stepInfo.steps.shift();\n this.stepInfo.done.push(actualStep);\n\n if (actualStep) {\n const layer = document.querySelector(this.SELECTORS.layer);\n const step = layer.querySelector(`[data-step-id=\"${actualStep.id}\"]`);\n const image = this.main.querySelector(this.SELECTORS.image);\n\n [...step.parentElement.children].forEach(sibling => {\n sibling.classList.remove(this.CLASSES.visible);\n });\n\n image.setAttribute('style', `transform: ${actualStep.transform}`);\n step.classList.add(this.CLASSES.visible);\n setTimeout(() => {\n resolve(true)\n }, this.TIMING.timeout);\n }\n\n if (this.stepInfo.steps.length === 0) {\n setTimeout(() => {\n this.captureScroll(true);\n document.body.style.overflow = '';\n this.main.setAttribute('data-animation-ended', true);\n }, this.TIMING.timeout);\n }\n\n\n } catch (e) {\n reject(e)\n }\n });\n }\n\n animateScroll() {\n return new Promise((resolve, reject) => {\n try {\n let initial = !this.main.dataset.stepInitial;\n\n if (initial) {\n this.animateLayer().then(res => {\n this.animateImage().then(res => resolve(true)).catch(err => reject(err));\n }).catch(err => {\n reject(err)\n });\n return;\n }\n\n this.animateImage().then(res => resolve(true)).catch(err => reject(err));\n\n } catch (e) {\n reject(e);\n }\n });\n }\n\n handleScroll() {\n\n this.captureScroll(true);\n if (this.animationEnded && document.body.style.overflow === 'hidden') {\n this.animationEnded = false;\n this.animateScroll().then(res => {\n setTimeout(() => {\n this.animationEnded = res;\n this.captureScroll();\n }, this.TIMING.timeout);\n });\n }\n return false;\n }\n\n\n captureScroll(unbind) {\n if (!unbind) {\n document.scrollingElement.addEventListener('mousewheel', e => this.handleScroll(), false);\n document.scrollingElement.addEventListener('DOMMouseScroll', e => this.handleScroll(), false);\n } else {\n document.scrollingElement.removeEventListener('mousewheel', e => this.handleScroll(), false);\n document.scrollingElement.removeEventListener('DOMMouseScroll', e => this.handleScroll(), false);\n }\n }\n\n bindPageScroll(components) {\n this.$on('scroll.herozoom', (e) => {\n this.scrollDirection = e.deltaY > 0 ? 'down' : 'up';\n components.forEach(comp => this.init(comp));\n });\n }\n\n getHeaderHeight() {\n const header = document.querySelector('.main-header');\n const benefitHeight = document.querySelector('.js-benefit-bar').clientHeight;\n let headerHeight;\n if (header.classList.contains('expanded')) {\n headerHeight = header.clientHeight;\n } else if (header.classList.contains('collapsed')) {\n const navigation = document.querySelector('.navigation');\n headerHeight = navigation ? navigation.clientHeight : 0;\n } else {\n headerHeight = header.clientHeight;\n }\n\n return benefitHeight + headerHeight;\n }\n\n init(comp) {\n const headerHeight = this.getHeaderHeight();\n const rect = comp.getBoundingClientRect();\n const isVisible = rect.top > headerHeight && rect.top <= window.innerHeight / 3;\n const isOut = rect.top + comp.clientHeight <= 0 || rect.bottom - comp.clientHeight > window.innerHeight;\n const hasZoomPoints = comp.querySelector(this.SELECTORS.layer);\n\n if (isOut) this.resetScene();\n\n if (!isVisible || !hasZoomPoints || comp.dataset.animationEnded) return;\n document.body.style.overflow = 'hidden';\n comp.scrollIntoView({\n block: 'center',\n inline: 'center'\n });\n\n this.setScene(comp).then(res => {\n this.getSteps(comp).then(res => {\n if (res) {\n this.captureScroll();\n }\n });\n });\n }\n\n render() {\n if (document.querySelector(this.SELECTORS.main) && this.$matchMedia(null, 'sm')) {\n const components = (document.querySelectorAll(this.SELECTORS.main));\n this.bindPageScroll(components);\n components.forEach(comp => this.init(comp));\n }\n }\n}\n","const loadedDependency = {};\n\nconst existingDependency = (name) => {\n return (name in loadedDependency) ? loadedDependency[name] : false;\n};\n\nconst saveDependency = (name, lib) => {\n return new Promise((resolve, reject) => {\n try {\n if (!existingDependency(name)) {\n loadedDependency[name] = lib;\n resolve(false);\n } else {\n resolve(true);\n }\n } catch (e) {\n reject(e);\n }\n });\n};\n\n\n\n/**\n * This utility class is injected in all components that extends Component\n * and is used to lazy load third-part libraries\n */\nexport default class DependencyInjector {\n static get CUSTOM_STYLES() {\n return '../../../stylesheets';\n }\n\n static defaultCatchPromise(error) {\n console.error(\"Failed to inject dependency\", error.stack);\n }\n\n /**\n * Log utility\n * @param logStr\n */\n log(logStr = \"\") {\n if (logStr != \"\") {\n let myName = this.constructor.name;\n console.debug(`[${myName}] ${logStr}`);\n }\n }\n\n\n /**\n * Load a single bootstrap component from library\n * The SCSS file shoul be created due to the impossibility to import from bootstrap package\n * @param thenPromise\n * @param catchPromise\n */\n loadBootstrapJsComponentAndExecute(componentName, thenPromise, catchPromise) {\n this.log(`Loading Bootstrap ${componentName}`);\n\n import(/* webpackChunkName: `boostrap-js` */ `bootstrap/js/dist/${componentName}.js`).then(thenPromise).catch(catchPromise);\n }\n\n\n loadAos(thenPromise, catchPromise) {\n this.log('Loading aos');\n\n import(/* webpackChunkName: `aos` */ 'aos/dist/aos.css').then(\n () => {\n import(/* webpackChunkName: `aos` */ 'aos').then(thenPromise).catch(catchPromise);\n }).catch(catchPromise);\n }\n\n\n loadModalAndExecute(thenPromise, catchPromise) {\n this.log('Loading Modal');\n\n import(/* webpackChunkName: `vex` */ 'vex-js/dist/js/vex.js').then(thenPromise).catch(catchPromise);\n }\n\n loadCarouselAndExecute(thenPromise, catchPromise) {\n this.log('Loading Slick Carousel');\n if (existingDependency('carousel')) return thenPromise(existingDependency('carousel'));\n\n import(/* webpackChunkName: `slick` */ 'slick-carousel/slick/slick.scss').then( () => {\n import(/* webpackChunkName: `slick` */ \"slick-carousel/slick/slick-theme.scss\").then(() => {\n import(/* webpackChunkName: `slick` */ 'slick-carousel/slick/slick.js').then((res) => {\n saveDependency('carousel', res);\n thenPromise(res);\n }).catch(catchPromise);\n }).catch(err => {\n console.error('Failed slick css import')\n }); // js library\n }).catch(err => {\n console.error('Failed slick css theme')\n });\n\n }\n\n loadStickyAndExecute(thenPromise, catchPromise) {\n this.log('Loading stickybits');\n import(/* webpackChunkName: `stickybits` */ 'stickybits').then(thenPromise).catch(catchPromise);\n }\n\n loadSelect2(thenPromise, catchPromise) {\n this.log('Loading Select2');\n if (existingDependency('select2')) return thenPromise(existingDependency('carousel'));\n\n import(/* webpackChunkName: `flatpickr` */ 'select2/src/scss/core.scss').then(\n () => {\n import(/* webpackChunkName: `selectize` */ 'select2/dist/js/select2.js').then((res) => {\n saveDependency('select2', res);\n thenPromise(res);\n }).catch(catchPromise);\n }).catch(catchPromise);\n }\n\n loadFlatpickrLocale(locale, thenPromise, catchPromise) {\n import(/* webpackChunkName: `flatpickr-locale` */ `flatpickr/dist/l10n/${locale}.js`).then(thenPromise).catch(catchPromise)\n }\n\n loadFlatpickr(thenPromise, catchPromise) {\n this.log('Loading Flatpickr');\n\n import(/* webpackChunkName: `flatpickr` */ 'flatpickr/src/style/flatpickr.styl').then(\n () => {\n import(/* webpackChunkName: `flatpickr` */ 'flatpickr/src/style/themes/airbnb.styl');\n import(/* webpackChunkName: `flatpickr` */ 'flatpickr/dist/flatpickr.js').then(thenPromise).catch(catchPromise); // js library\n }).catch(catchPromise);\n }\n\n\n loadMasonry(thenPromise, catchPromise) {\n this.log('Loading Masonry');\n\n import(/* webpackChunkName: `masonry-layout` */ 'masonry-layout').then(thenPromise).catch(catchPromise);\n }\n\n /**\n * This method load the query-string library and execute the given promises\n * when loaded\n * @param thenPromise the code that must be executed when jscroll is ready\n * @param catchPromise the code that must be executed when jscrol fails to load\n */\n loadQueryStringAndExecute(thenPromise, catchPromise) {\n this.log(\"Loading query-string\");\n import(/* webpackChunkName: `query-string` */ \"query-string\").then(thenPromise).catch(catchPromise);\n }\n\n /**\n * This method load the jscroll library and execute the given promises\n * when loaded\n * @param thenPromise the code that must be executed when jscroll is ready\n * @param catchPromise the code that must be executed when jscroll fails to load\n */\n // loadJscrollAndExecute(thenPromise, catchPromise) {\n // this.log(\"Loading jscroll\");\n // import(/* webpackChunkName: `jscroll` */ \"jscroll\").then(thenPromise).catch(catchPromise);\n // }\n\n /**\n * This method load the blueimp-file-upload library and execute the given promises\n * when loaded\n * @param thenPromise the code that must be executed when blueimp-file-upload is ready\n * @param catchPromise the code that must be executed when blueimp-file-upload fails to load\n */\n loadBlueimpFileUploadAndExecute(thenPromise, catchPromise) {\n this.log(\"Loading BlueimpFileUpload\");\n import(/* webpackChunkName: `blueimp-file-upload` */ \"blueimp-file-upload\").then(\n () => {\n import(/* webpackChunkName: `blueimp-file-upload` */ 'blueimp-file-upload/css/jquery.fileupload.css').then(thenPromise).catch(catchPromise); // js library\n }).catch(catchPromise);\n }\n\n /**\n * Load all jquery ui js (1.5kb gzipped)\n * @param widgetName the name of jquery wigget\n * @param thenPromise the code that must be executed when the widget is ready\n * @param catchPromise the code that must be executed when the widget fails to load\n */\n loadJqueryUIWidgetAndExecute(widgetName, thenPromise, catchPromise) {\n this.log(`Loading jQuery UI dist for ${widgetName}`);\n\n import(\n /* webpackChunkName: `jquery-ui` */\n 'jquery-ui-dist/jquery-ui').then(thenPromise).catch(catchPromise);\n }\n\n loadExternalScript(url) {\n return new Promise((resolve, reject) => {\n let script = document.createElement('script');\n script.type = 'text/javascript';\n script.src = url;\n script.addEventListener('load', () => resolve(script), false);\n script.addEventListener('error', () => reject(script), false);\n document.body.appendChild(script);\n });\n }\n}\n","import DependencyInjector from '../utils/DependencyInjector';\nimport { CustomEvents } from '../utils/CustomEvents';\nimport { match } from '../utils/ResolutionHandler';\nimport { getFirstFocusable } from \"../utils/FocusableElementUtils\";\nimport {on, emit, off, one} from '../utils/EventsBus';\n\n\n\n/**\n * Generic web component that expose a render method\n */\nexport default class Component {\n\n constructor() {\n this.moduleLoader = new DependencyInjector(); // Use this class to lazy load modules!!\n this.$customEvents = CustomEvents;\n this.$matchMedia = match;\n this.$on = on;\n this.$emit = emit;\n this.$off = off;\n this.$one = one;\n this.$getFirstFocusable = getFirstFocusable;\n }\n\n /**\n * Log utility\n * @param logStr\n */\n log(logStr = \"\") {\n if (logStr != \"\") {\n let myName = this.constructor.name;\n console.log(`%c[${myName}] %c${logStr}`, 'color: #f56c42', 'color: inherit');\n }\n }\n\n /**\n * Log utility\n * @param logStr\n */\n warn(logStr = \"\") {\n if (logStr != \"\") {\n let myName = this.constructor.name;\n console.warn(`[${myName}] ${logStr}`);\n }\n }\n\n /*\n Main method that execute the render logic of the component\n */\n render() {\n let myName = this.constructor.name;\n console.log(`[${myName}] Rendering..`);\n }\n}\n"],"sourceRoot":""}