{"version":3,"file":"TabbedNav-cdd2fed6.js","names":["define","Moduler","create","defaults","parentSelector","childSelector","init","off","element","style","display","self","this","allSubs","document","querySelectorAll","options","forEach","parent","addEventListener","e","sub","window","key","target","matches","querySelector","currentMenu","closest","focus"],"sources":["TabbedNav.js"],"mappings":"AAAAA,OAAO,CAAC,YAAY,SAAUC,GAC1B,aAIA,OAAOA,EAAQC,OAAO,CAClBC,SAAU,CACNC,eAAgB,sBAChBC,cAAe,gBAEnBC,KAAM,WAEF,SAASC,EAAIC,GACLA,IACAA,EAAQC,MAAMC,QAAU,KAEhC,CAUA,IAAIC,EAAOC,KAEX,SAASC,IACL,OAAOC,SAASC,iBAAiBJ,EAAKK,QAAQX,cAClD,CAEAS,SAASC,iBAAiBJ,EAAKK,QAAQZ,gBAAgBa,SAAQC,IAC3DA,EAAOC,iBAAiB,aAAa,SAAUC,GAC3CP,IAAUI,SAAQI,IACdd,EAAIc,EAAI,GAEhB,GAAE,IAGNC,OAAOH,iBAAiB,SAAS,SAAUC,GAvB3C,IAAgBZ,EA+BZ,GANa,SAATY,EAAEG,KACEH,EAAEI,OAAOC,QAAQd,EAAKK,QAAQZ,kBA1B1BI,EA2BGY,EAAEI,OAAOE,cAAcf,EAAKK,QAAQX,kBAzBlB,SAAzBG,EAAQC,MAAMC,QACdF,EAAQC,MAAMC,QAAU,KAExBF,EAAQC,MAAMC,QAAU,SA0BnB,UAATU,EAAEG,IAAiB,CACnB,IAAII,EAAcP,EAAEI,OAAOI,QAAQjB,EAAKK,QAAQX,eAChD,GAAIsB,EAAa,CACbpB,EAAIoB,GACJ,IAAIT,EAASE,EAAEI,OAAOI,QAAQjB,EAAKK,QAAQZ,gBACvCc,GACAA,EAAOW,OAEf,CACIT,EAAEI,OAAOC,QAAQd,EAAKK,QAAQZ,iBAC9BG,EAAIa,EAAEI,OAAOE,cAAcf,EAAKK,QAAQX,eAEhD,CAEa,OAATe,EAAEG,MACGH,EAAEI,OAAOI,QAAQjB,EAAKK,QAAQX,gBAC/BQ,IAAUI,SAAQI,IACdd,EAAIc,EAAI,IAKxB,GACJ,GAER","sourcesContent":["define(['moduler'], function (Moduler) {\r\n 'use strict';\r\n /*\r\n helps navigate through a two-level navigation with the keyboard\r\n */\r\n return Moduler.create({\r\n defaults: {\r\n parentSelector: '.PageNavItem-parent',\r\n childSelector: '.PageNav-sub'\r\n },\r\n init: function () {\r\n\r\n function off(element) {\r\n if (element) {\r\n element.style.display = null;\r\n }\r\n }\r\n function toggle(element) {\r\n if (element) {\r\n if (element.style.display == 'block') {\r\n element.style.display = null;\r\n } else {\r\n element.style.display = 'block';\r\n }\r\n }\r\n }\r\n let self = this;\r\n\r\n function allSubs() {\r\n return document.querySelectorAll(self.options.childSelector);\r\n }\r\n\r\n document.querySelectorAll(self.options.parentSelector).forEach(parent => {\r\n parent.addEventListener('mouseover', function (e) {\r\n allSubs().forEach(sub => {\r\n off(sub);\r\n });\r\n });\r\n });\r\n\r\n window.addEventListener('keyup', function (e) {\r\n \r\n if (e.key == 'Enter') {\r\n if (e.target.matches(self.options.parentSelector)) {\r\n toggle(e.target.querySelector(self.options.childSelector));\r\n }\r\n }\r\n\r\n if (e.key == 'Escape') {\r\n let currentMenu = e.target.closest(self.options.childSelector);\r\n if (currentMenu) {\r\n off(currentMenu);\r\n let parent = e.target.closest(self.options.parentSelector);\r\n if (parent) {\r\n parent.focus();\r\n } \r\n }\r\n if (e.target.matches(self.options.parentSelector)) {\r\n off(e.target.querySelector(self.options.childSelector));\r\n }\r\n }\r\n\r\n if (e.key == 'Tab') {\r\n if (!e.target.closest(self.options.childSelector)) {\r\n allSubs().forEach(sub => {\r\n off(sub);\r\n });\r\n }\r\n }\r\n\r\n });\r\n }\r\n });\r\n});\r\n"]}