{"version":3,"sources":["webpack:///./src/feature/menu/menu.js","webpack:///./node_modules/core-js/modules/es.object.get-prototype-of.js","webpack:///./node_modules/core-js/modules/es.object.set-prototype-of.js"],"names":["Menu","element","_this","_classCallCheck","this","_possibleConstructorReturn","_getPrototypeOf","call","initDomCache","el","ticking","menu","body","window","features","dom","subMenuTrigger","querySelectorAll","subMenuAccessibility","menuBackBtn","querySelector","mobileCloseBtn","secondaryLinks","document","addClick","BaseFeature","_this2","forEach","addEventListener","searchTrigger","classList","remove","elm","parentNode","toggle","e","activeElement","keyCode","preventDefault","click","elem","elementState","getAttribute","setAttribute","$","__webpack_require__","fails","toObject","nativeGetPrototypeOf","CORRECT_PROTOTYPE_GETTER","target","stat","forced","sham","getPrototypeOf","it","setPrototypeOf"],"mappings":"m+BAEMA,cACL,SAAAA,EAAYC,GAAS,IAAAC,EAAA,mGAAAC,CAAAC,KAAAJ,IACpBE,EAAAG,EAAAD,KAAAE,EAAAN,GAAAO,KAAAH,KAAMH,KAEDO,eAELN,EAAKO,GAAKR,EACVC,EAAKQ,SAAU,EACfR,EAAKS,KAAOT,EAAKO,GACjBP,EAAKU,KAAOC,OAAOC,SAASC,IAAIH,KAChCV,EAAKc,eAAiBd,EAAKO,GAAGQ,iBAAiB,8BAC/Cf,EAAKgB,qBAAuBhB,EAAKO,GAAGQ,iBAAiB,8BACrDf,EAAKiB,YAAcjB,EAAKO,GAAGW,cAAc,2BACzClB,EAAKmB,eAAiBnB,EAAKO,GAAGW,cAAc,8BAC5ClB,EAAKoB,eAAiBC,SAASN,iBAAiB,iCAChDf,EAAKsB,WAdetB,wPADHuB,iDAmBP,IAAAC,EAAAtB,KACNA,KAAKY,gBAERZ,KAAKY,eAAeW,QAAQ,SAAC1B,GAC5BA,EAAQ2B,iBAAiB,QAAS,WAEjC,IAAMC,EAAgBN,SAASH,cAAc,uBACzCS,GACHA,EAAcC,UAAUC,OAAO,aAEhCR,SAASN,iBAAiB,sBAAsBU,QAAQ,SAACK,GACpDA,IAAQ/B,EAAQgC,YACnBD,EAAIF,UAAUC,OAAO,eAGvB9B,EAAQgC,WAAWH,UAAUI,OAAO,iBAKnC9B,KAAKe,aAERf,KAAKe,YAAYS,iBAAiB,QAAS,WAC1CL,SAASH,cAAc,gCAAgCU,UAAUC,OAAO,eAItE3B,KAAKiB,gBAERjB,KAAKiB,eAAeO,iBAAiB,QAAS,WAC7CL,SAASH,cAAc,mBAAmBU,UAAUC,OAAO,WAC3DR,SAASH,cAAc,QAAQU,UAAUC,OAAO,oBAGlDlB,OAAOe,iBAAiB,QAAS,SAACO,GACfZ,SAASa,gBAAkBV,EAAKV,gBACnB,KAAdmB,EAAEE,UAClBF,EAAEG,iBAEFZ,EAAKV,eAAeuB,WAGtBnC,KAAKc,qBAAqBS,QAAQ,SAACa,GAClCA,EAAKZ,iBAAiB,QAAS,WAC9B,IAAIa,EAAeD,EAAKE,aAAa,iBAChB,SAAjBD,GACHA,EAAe,QACff,EAAKJ,eAAeK,QAAQ,SAAC1B,GAC5BA,EAAQ0C,aAAa,WAAY,UAGlCF,EAAe,OACff,EAAKJ,eAAeK,QAAQ,SAAC1B,GAC5BA,EAAQ0C,aAAa,WAAY,QAGnCH,EAAKG,aAAa,gBAAiBF,OAIrCrC,KAAKkB,eAAeK,QAAQ,SAACa,GAC5BA,EAAKG,aAAa,WAAY,6CAKlB3C,iCCvFf,IAAA4C,EAAQC,EAAQ,GAChBC,EAAYD,EAAQ,GACpBE,EAAeF,EAAQ,IACvBG,EAA2BH,EAAQ,IACnCI,EAA+BJ,EAAQ,KAKvCD,EAAA,CAAGM,OAAA,SAAAC,MAAA,EAAAC,OAJHN,EAAA,WAA6CE,EAAA,KAI1CK,MAAAJ,GAA6F,CAChGK,eAAA,SAAAC,GACA,OAAAP,EAAAD,EAAAQ,4BCXQV,EAAQ,EAKhBD,CAAA,CAAGM,OAAA,SAAAC,MAAA,GAA+B,CAClCK,eALqBX,EAAQ","file":"31-970dabe7.pkg.js","sourcesContent":["import BaseFeature from '../../foundation/base/base';\r\n\r\nclass Menu extends BaseFeature {\r\n\tconstructor(element) {\r\n\t\tsuper(element);\r\n\r\n\t\tthis.initDomCache();\r\n\r\n\t\tthis.el = element;\r\n\t\tthis.ticking = false;\r\n\t\tthis.menu = this.el;\r\n\t\tthis.body = window.features.dom.body;\r\n\t\tthis.subMenuTrigger = this.el.querySelectorAll('[data-js=\"subMenuTrigger\"]');\r\n\t\tthis.subMenuAccessibility = this.el.querySelectorAll('[data-js=\"subMenuTrigger\"]');\r\n\t\tthis.menuBackBtn = this.el.querySelector('[data-js=\"menuBackBtn\"]');\r\n\t\tthis.mobileCloseBtn = this.el.querySelector('[data-js=\"mobileCloseBtn\"]');\r\n\t\tthis.secondaryLinks = document.querySelectorAll('.m-menu-list__link--secondary');\r\n\t\tthis.addClick();\r\n\t}\r\n\r\n\r\n\taddClick() {\r\n\t\tif (this.subMenuTrigger) {\r\n\t\t\t// Expand submenu\r\n\t\t\tthis.subMenuTrigger.forEach((element) => {\r\n\t\t\t\telement.addEventListener('click', () => {\r\n\t\t\t\t\t// Collapsing search if menu is triggered\r\n\t\t\t\t\tconst searchTrigger = document.querySelector('.m-search.is-active');\r\n\t\t\t\t\tif (searchTrigger) {\r\n\t\t\t\t\t\tsearchTrigger.classList.remove('is-active');\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdocument.querySelectorAll('.m-menu-list__item').forEach((elm) => {\r\n\t\t\t\t\t\tif (elm !== element.parentNode) {\r\n\t\t\t\t\t\t\telm.classList.remove('is-active');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\telement.parentNode.classList.toggle('is-active');\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tif (this.menuBackBtn) {\r\n\t\t\t// Back button on submenu\r\n\t\t\tthis.menuBackBtn.addEventListener('click', () => {\r\n\t\t\t\tdocument.querySelector('.m-menu-list__item.is-active').classList.remove('is-active');\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tif (this.mobileCloseBtn) {\r\n\t\t\t// Close mobile menu\r\n\t\t\tthis.mobileCloseBtn.addEventListener('click', () => {\r\n\t\t\t\tdocument.querySelector('.m-menu.is-open').classList.remove('is-open');\r\n\t\t\t\tdocument.querySelector('body').classList.remove('is-filter-menu');\r\n\t\t\t});\r\n\t\t}\r\n\t\twindow.addEventListener('keyup', (e) => {\r\n\t\t\tconst isFocused = document.activeElement === this.subMenuTrigger;\r\n\t\t\tif (isFocused && e.keyCode === 13) {\r\n\t\t\t\te.preventDefault();\r\n\t\t\t\t// Trigger the button element with a click\r\n\t\t\t\tthis.subMenuTrigger.click();\r\n\t\t\t}\r\n\t\t});\r\n\t\tthis.subMenuAccessibility.forEach((elem) => {\r\n\t\t\telem.addEventListener('click', () => {\r\n\t\t\t\tlet elementState = elem.getAttribute('aria-expanded');\r\n\t\t\t\tif (elementState === 'true') {\r\n\t\t\t\t\telementState = 'false';\r\n\t\t\t\t\tthis.secondaryLinks.forEach((element) => {\r\n\t\t\t\t\t\telement.setAttribute('tabindex', '-1');\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\telementState = 'true';\r\n\t\t\t\t\tthis.secondaryLinks.forEach((element) => {\r\n\t\t\t\t\t\telement.setAttribute('tabindex', '0');\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\telem.setAttribute('aria-expanded', elementState);\r\n\t\t\t});\r\n\t\t});\r\n\r\n\t\tthis.secondaryLinks.forEach((elem) => {\r\n\t\t\telem.setAttribute('tabindex', '-1');\r\n\t\t});\r\n\t}\r\n}\r\n\r\nexport default Menu;\r\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toObject = require('../internals/to-object');\nvar nativeGetPrototypeOf = require('../internals/object-get-prototype-of');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetPrototypeOf(1); });\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER }, {\n getPrototypeOf: function getPrototypeOf(it) {\n return nativeGetPrototypeOf(toObject(it));\n }\n});\n\n","var $ = require('../internals/export');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// `Object.setPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.setprototypeof\n$({ target: 'Object', stat: true }, {\n setPrototypeOf: setPrototypeOf\n});\n"],"sourceRoot":""}