{"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/components/MenuComponent.js","webpack:///./node_modules/hoverintent/index.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","MenuComponent","_classCallCheck","this","_this","_possibleConstructorReturn","__proto__","getPrototypeOf","currentHover","preventClose","focusTrigger","Component","main","mainTarget","headerTop","header","benefitBar","menuTitle","navigation","back","actions","search","mobileActions","subMenu","navTabs","menuIn","openClass","animate","activeClass","subMenuClass","menuHeadingVisible","logoHidden","searchIsVisible","visible","showBackdrop","backdropClass","_this2","top","document","SELECTORS","clientHeight","DIMENSION","$matchMedia","_this3","reject","$emit","$customEvents","BACKDROP_EVENTS","show","classes","hide","subMenuContainer","CLASSES","_this4","remove","tabmenu","querySelectorAll","tab","str","link","innerText","hideBackdrop","_this5","menuElement","_this6","navList","hoverintent","target","parentElement","options","interval","timeout","forceClose","res","open","close","$on","_this7","KEYBOARD_EVENTS","escape","nextSibling","focus","_this8","SEARCH_EVENTS","hidden","_this9","_ref","event","preventDefault","concat","_toConsumableArray","currentTarget","children","sibling","toggle","QUICK_CATEGORIES_EVENTS","_ref2","payload","quickCategoryShow","_this10","_this11","menuTriggers","trigger","_this12","setTimeout","clearTimeout","_this13","BURGER_EVENTS","click","_ref3","body","documentElement","dataMenu","toggleMobileActions","_this14","_ref4","currentEntry","which","keyCode","_ref5","element","bindEscape","bindClick","bindBack","bindBurgerClick","bindMobileEvents","bindHover","showSearch","bindKeyboardNavigation","onOver","onOut","x","y","pX","pY","mouseOver","focused","h","state","timer","sensitivity","handleFocus","tracker","clientX","clientY","dispatchOver","removeEventListener","addEventListener","compare","Math","abs","undefined","dispatchOut","delay","dispatchFocus","dispatchBlur","removeFocus","opt","focusOptionChanged","assign","loadedDependency","existingDependency","name","saveDependency","lib","DependencyInjector","logStr","arguments","length","myName","constructor","console","debug","componentName","thenPromise","catchPromise","log","catch","bind","err","error","locale","widgetName","url","script","createElement","type","src","appendChild","stack","Component_classCallCheck","moduleLoader","CustomEvents","match","on","emit","$off","off","$one","one","$getFirstFocusable","warn"],"mappings":"6FAAA,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,gWCjOqBoE,cAkDnB,SAAAA,iGAAcC,CAAAC,KAAAF,GAAA,IAAA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","file":"components-MenuComponent.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;","import Component from '../abstracts/Component';\nimport hoverintent from 'hoverintent';\nimport 'bootstrap';\nimport {\n toggleTabIndex\n} from \"../utils/FocusableElementUtils\";\n\nexport default class MenuComponent extends Component {\n get SELECTORS() {\n return {\n main: '[data-menu]',\n mainTarget: 'body',\n headerTop: '.header-top',\n header: '.main-header',\n benefitBar: '.js-benefit-bar',\n menuTitle: '[data-menu-title]',\n navigation: '.navigation',\n back: '[data-menu-back]',\n actions: '.header-actions',\n search: '.search-wrapper',\n mobileActions: '.js-mobile-actions',\n subMenu: '.js-submenu',\n navTabs: '.nav-tabs a'\n };\n }\n\n get CLASSES() {\n return {\n menuIn: 'menu-in',\n openClass: 'is-open',\n animate: 'animate',\n activeClass: 'is-active',\n subMenuClass: 'sub-menu-container',\n menuHeadingVisible: 'menu-heading-visible',\n logoHidden: 'logo-hidden',\n searchIsVisible: 'search-visible',\n visible: 'is-visible',\n showBackdrop: 'show-backdrop',\n backdropClass: 'visible'\n };\n }\n\n get DIMENSION() {\n return {\n top: () => {\n let header = document.querySelector(this.SELECTORS.header);\n let search = document.querySelector(this.SELECTORS.search);\n let sticky = header.classList.contains('is_stuck');\n return sticky ? header.clientHeight - search.clientHeight + 1 : header.clientHeight - search.clientHeight + this.DIMENSION.benefitBar() + 1;\n },\n benefitBar: () => {\n let benefitBar = document.querySelector(this.SELECTORS.benefitBar);\n return this.$matchMedia(null, 'sm') ? benefitBar.clientHeight : 0;\n }\n }\n }\n\n constructor() {\n super();\n this.currentHover = null;\n this.preventClose = false;\n this.focusTrigger = null;\n }\n\n open(el) {\n return new Promise((resolve, reject) => {\n try {\n\n if (!el.classList.contains('has-sub-navigation')) {\n this.$emit(this.$customEvents.BACKDROP_EVENTS.hide);\n } else {\n if (this.$matchMedia(null, 'sm')) {\n this.$emit(this.$customEvents.BACKDROP_EVENTS.show, {\n classes: 'dark'\n });\n }\n }\n\n const subMenuContainer = el.querySelector(`.${this.CLASSES.subMenuClass}`);\n el.classList.add(this.CLASSES.activeClass);\n\n if (subMenuContainer) {\n subMenuContainer.classList.add(this.CLASSES.openClass);\n }\n resolve(el)\n } catch (e) {\n reject(e)\n }\n });\n }\n\n close(el) {\n return new Promise((resolve, reject) => {\n try {\n\n if (this.preventClose) return;\n const subMenuContainer = el.querySelector(`.${this.CLASSES.subMenuClass}`);\n el.classList.remove(this.CLASSES.activeClass);\n if (subMenuContainer) {\n\n subMenuContainer.classList.remove(this.CLASSES.openClass);\n\n //reset tab menu\n const tabmenu = el.querySelectorAll('.nav-link');\n if (tabmenu) {\n $(tabmenu).tab('dispose');\n $(tabmenu[0]).tab('show')\n }\n }\n\n resolve(el)\n } catch (e) {\n reject(e)\n }\n });\n }\n\n setHeadingValue(str, link) {\n let headerTop = document.querySelector(this.SELECTORS.headerTop);\n headerTop.querySelector(this.SELECTORS.menuTitle).innerText = str;\n headerTop.querySelector(this.SELECTORS.menuTitle).setAttribute('href', link);\n headerTop.classList.add(this.CLASSES.menuHeadingVisible);\n }\n\n forceClose(hideBackdrop) {\n return new Promise((resolve, reject) => {\n try {\n const menuElement = document.querySelectorAll(this.SELECTORS.main);\n if (menuElement) {\n menuElement.forEach(el => {\n el.classList.remove(this.CLASSES.activeClass);\n let subMenu = el.querySelector(`.${this.CLASSES.subMenuClass}`);\n subMenu.classList.remove(this.CLASSES.openClass);\n });\n }\n if (hideBackdrop) {\n this.$emit(this.$customEvents.BACKDROP_EVENTS.hide);\n }\n resolve();\n } catch (e) {\n reject()\n }\n });\n }\n\n bindHover() {\n\n let main = document.querySelectorAll(this.SELECTORS.main);\n let nav = document.querySelector(this.SELECTORS.navigation);\n let navList = document.querySelector(`${this.SELECTORS.navigation} .level-one`);\n\n //hoverintent for nav and backdrop\n hoverintent(navList, (e) => {\n if (e.target.parentElement.classList.contains('has-sub-navigation')) {\n if (this.$matchMedia(null, 'sm')) {\n // nav.classList.add('active');\n this.$emit(this.$customEvents.BACKDROP_EVENTS.show, {\n classes: 'dark'\n });\n }\n }\n }, (e) => {\n this.$emit(this.$customEvents.BACKDROP_EVENTS.hide);\n }).options({\n interval: 100,\n timeout: 100\n });\n\n //hoverintent for each item of nav\n main.forEach(el => {\n hoverintent(el,\n (e) => {\n if (this.$matchMedia(null, 'lg') && e.target.parentElement.hasAttribute('data-menu')) {\n this.forceClose().then(res => {\n this.currentHover = e.target.parentElement;\n this.open(e.target.parentElement).then(res => this.preventClose = false);\n });\n }\n },\n (e) => {\n if (this.$matchMedia(null, 'lg')) {\n this.close(this.currentHover);\n }\n }).options({\n interval: 100,\n timeout: 100\n });\n });\n\n this.$on('mouseenter.subMenu', () => {\n this.preventClose = true;\n }, this.SELECTORS.subMenu);\n\n this.$on('mouseleave.subMenu', () => {\n this.preventClose = false;\n }, this.SELECTORS.subMenu);\n\n }\n\n bindEscape() {\n this.$on(`${this.$customEvents.KEYBOARD_EVENTS.escape}.menu`, () => {\n this.forceClose(true).then(res => {\n this.focusTrigger.nextSibling.focus();\n });\n });\n }\n\n showSearch() {\n let header = document.querySelector(this.SELECTORS.header);\n\n this.$on(this.$customEvents.SEARCH_EVENTS.visible, () => {\n header.classList.add(this.CLASSES.searchIsVisible);\n });\n\n this.$on(this.$customEvents.SEARCH_EVENTS.hidden, () => {\n header.classList.remove(this.CLASSES.searchIsVisible)\n });\n }\n\n bindClick() {\n\n this.$on('click.menu', ({\n event\n }) => {\n if (!event.target.classList.contains('js-first-level-link')) return true;\n if (!this.$matchMedia('lg')) return true;\n event.preventDefault();\n [...event.currentTarget.parentElement.children].map(sibling => {\n return sibling.classList.remove(this.CLASSES.activeClass)\n });\n event.currentTarget.classList.toggle(this.CLASSES.activeClass);\n\n let link = event.currentTarget.querySelector('a.link');\n\n }, `${this.SELECTORS.main}.has-sub-navigation`);\n\n this.$on(this.$customEvents.QUICK_CATEGORIES_EVENTS.show, ({\n payload\n }) => {\n this.timeout = null;\n this.quickCategoryShow(payload.id).then(el => {\n this.$emit(this.$customEvents.QUICK_CATEGORIES_EVENTS.visible);\n });\n });\n\n }\n\n quickCategoryShow(id) {\n return new Promise((resolve, reject) => {\n try {\n const target = document.querySelector(`#${id}`);\n target.classList.add(this.CLASSES.activeClass);\n resolve(target);\n } catch (e) {\n reject(e)\n }\n });\n }\n\n bindBack() {\n this.$on('click.menu', () => {\n let menuTriggers = document.querySelectorAll(this.SELECTORS.main);\n document.querySelector(this.SELECTORS.headerTop).classList.remove(this.CLASSES.menuHeadingVisible);\n menuTriggers.forEach(trigger => {\n const tabmenu = trigger.querySelectorAll('.nav-link');\n if (tabmenu) {\n $('tabmenu.active').tab('dispose');\n $(tabmenu[0]).tab('show')\n\n }\n return trigger.classList.remove(this.CLASSES.activeClass)\n });\n\n\n }, this.SELECTORS.back)\n }\n\n toggleMobileActions(show) {\n const actions = document.querySelector(this.SELECTORS.mobileActions);\n let timeout = null;\n if (show) {\n timeout = setTimeout(() => {\n actions.classList.add(this.CLASSES.visible)\n }, 200);\n } else {\n clearTimeout(timeout);\n actions.classList.remove(this.CLASSES.visible)\n }\n }\n\n bindBurgerClick() {\n this.$on(this.$customEvents.BURGER_EVENTS.click, ({\n payload\n }) => {\n let headerTop = document.querySelector(this.SELECTORS.headerTop);\n\n if (payload.menuIn) {\n document.body.classList.add(this.CLASSES.menuIn);\n document.documentElement.classList.add(this.CLASSES.menuIn);\n headerTop.classList.add(this.CLASSES.menuIn);\n\n if (this.$matchMedia(null, 'sm')) {\n this.$emit(this.$customEvents.BACKDROP_EVENTS.show, {\n classes: 'dark'\n });\n }\n } else {\n let dataMenu = document.querySelector(`${this.SELECTORS.main}.${this.CLASSES.activeClass}`);\n if (dataMenu) dataMenu.classList.remove(this.CLASSES.activeClass);\n document.body.classList.remove(this.CLASSES.menuIn);\n document.documentElement.classList.remove(this.CLASSES.menuIn);\n headerTop.classList.remove(this.CLASSES.menuIn, this.CLASSES.menuHeadingVisible);\n\n if (this.$matchMedia(null, 'sm')) {\n this.$emit(this.$customEvents.BACKDROP_EVENTS.hide);\n }\n\n }\n\n this.toggleMobileActions(payload.menuIn);\n\n });\n }\n\n bindKeyboardNavigation() {\n\n this.$on('keydown.menu', ({\n event\n }) => {\n const currentEntry = event.currentTarget.parentElement;\n if (event.which == 13 || event.keyCode == 13) {\n event.preventDefault();\n if (currentEntry.classList.contains('is-active')) {\n this.close(currentEntry);\n this.$emit(this.$customEvents.BACKDROP_EVENTS.hide);\n } else {\n this.forceClose().then(res => {\n this.open(currentEntry).then(res => {\n this.focusTrigger = res;\n });\n });\n }\n }\n }, `${this.SELECTORS.main} > a`);\n\n this.$on('focus.submenu', ({\n event\n }) => {\n let subMenu = event.target.parentElement.parentElement.parentElement.querySelectorAll('.tab-content > .sub-menu-component');\n subMenu.forEach((element) => {\n if (element.classList.contains('active')) {\n toggleTabIndex(element, true);\n } else {\n toggleTabIndex(element, false);\n }\n });\n }, `${this.SELECTORS.subMenu} ${this.SELECTORS.navTabs}`);\n\n this.bindEscape();\n }\n\n bindMobileEvents() {\n this.bindClick();\n this.bindBack();\n this.bindBurgerClick();\n }\n\n render() {\n if (document.querySelector(this.SELECTORS.header) === null) return;\n this.bindMobileEvents();\n this.bindHover();\n this.showSearch();\n this.bindKeyboardNavigation();\n }\n}\n","'use strict';\n\nmodule.exports = function(el, onOver, onOut) {\n var x, y, pX, pY;\n var mouseOver = false;\n var focused = false;\n var h = {},\n state = 0,\n timer = 0;\n\n var options = {\n sensitivity: 7,\n interval: 100,\n timeout: 0,\n handleFocus: false\n };\n\n function delay(el, e) {\n if (timer) timer = clearTimeout(timer);\n state = 0;\n return focused ? undefined : onOut.call(el, e);\n }\n\n function tracker(e) {\n x = e.clientX;\n y = e.clientY;\n }\n\n function compare(el, e) {\n if (timer) timer = clearTimeout(timer);\n if ((Math.abs(pX - x) + Math.abs(pY - y)) < options.sensitivity) {\n state = 1;\n return focused ? undefined : onOver.call(el, e);\n } else {\n pX = x;\n pY = y;\n timer = setTimeout(function() {\n compare(el, e);\n }, options.interval);\n }\n }\n\n // Public methods\n h.options = function(opt) {\n var focusOptionChanged = opt.handleFocus !== options.handleFocus;\n options = Object.assign({}, options, opt);\n if (focusOptionChanged) {\n options.handleFocus ? addFocus() : removeFocus();\n }\n return h;\n };\n\n function dispatchOver(e) {\n mouseOver = true;\n if (timer) timer = clearTimeout(timer);\n el.removeEventListener('mousemove', tracker, false);\n\n if (state !== 1) {\n pX = e.clientX;\n pY = e.clientY;\n\n el.addEventListener('mousemove', tracker, false);\n\n timer = setTimeout(function() {\n compare(el, e);\n }, options.interval);\n }\n\n return this;\n }\n\n function dispatchOut(e) {\n mouseOver = false;\n if (timer) timer = clearTimeout(timer);\n el.removeEventListener('mousemove', tracker, false);\n\n if (state === 1) {\n timer = setTimeout(function() {\n delay(el, e);\n }, options.timeout);\n }\n\n return this;\n }\n\n function dispatchFocus(e) {\n if (!mouseOver) {\n focused = true;\n onOver.call(el, e);\n }\n }\n\n function dispatchBlur(e) {\n if (!mouseOver && focused) {\n focused = false;\n onOut.call(el, e);\n }\n }\n\n function addFocus() {\n el.addEventListener('focus', dispatchFocus, false);\n el.addEventListener('blur', dispatchBlur, false);\n }\n\n function removeFocus() {\n el.removeEventListener('focus', dispatchFocus, false);\n el.removeEventListener('blur', dispatchBlur, false);\n }\n\n h.remove = function() {\n if (!el) return;\n el.removeEventListener('mouseover', dispatchOver, false);\n el.removeEventListener('mouseout', dispatchOut, false);\n removeFocus();\n };\n\n if (el) {\n el.addEventListener('mouseover', dispatchOver, false);\n el.addEventListener('mouseout', dispatchOut, false);\n }\n\n return h;\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":""}