{"version":3,"sources":["../ts/education/navigation.ts"],"names":["onDeviceChange","device","$mainNav","jquery_1","default","hasClass","addClass","settings","extend","menuHoverClass","this","attr","find","top_level_links","viewport","window","width","mobileButton","links","next","aria-hidden","role","each","length","parent","hover","removeClass","unbind","click","e","toggleClass","preventDefault","focus","siblings","keydown","closest","keyCode","prev","parents","last","first","text","substring","toLowerCase","keyCodeMap","found","location","href","nextAll","prevAll","document","stopPropagation","call","48","49","50","51","52","53","54","55","56","57","59","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","96","97","98","99","100","101","102","103","104","105","on","device_1","getDevice"],"mappings":"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","file":"navigation.js","sourcesContent":["import $ from 'jquery';\r\n\r\nimport { getDevice } from './device';\r\n\r\nconst keyCodeMap = {\r\n 48:\"0\", 49:\"1\", 50:\"2\", 51:\"3\", 52:\"4\", 53:\"5\", 54:\"6\", 55:\"7\", 56:\"8\", 57:\"9\", 59:\";\",\r\n 65:\"a\", 66:\"b\", 67:\"c\", 68:\"d\", 69:\"e\", 70:\"f\", 71:\"g\", 72:\"h\", 73:\"i\", 74:\"j\", 75:\"k\", 76:\"l\",\r\n 77:\"m\", 78:\"n\", 79:\"o\", 80:\"p\", 81:\"q\", 82:\"r\", 83:\"s\", 84:\"t\", 85:\"u\", 86:\"v\", 87:\"w\", 88:\"x\", 89:\"y\", 90:\"z\",\r\n 96:\"0\", 97:\"1\", 98:\"2\", 99:\"3\", 100:\"4\", 101:\"5\", 102:\"6\", 103:\"7\", 104:\"8\", 105:\"9\"\r\n}\r\n\r\nfunction setup_navigation(this: JQuery, settings) {\r\n settings = $.extend({\r\n menuHoverClass: 'show-menu',\r\n }, settings); \r\n \r\n // Add ARIA role to menubar and menu items\r\n $(this).attr('role', 'menubar').find('li').attr('role', 'menuitem');\r\n \r\n //Variables\r\n var top_level_links = $(this).find('> li > a');\r\n var viewport = $( window ).width();\r\n //put these vars into plugin settings later...\r\n var breakpoint = 768;\r\n var navClass = 'nav';\r\n var mobileButton = $('.hamburger');\r\n \r\n // Set tabIndex to -1 so that top_level_links can't receive focus until menu is open\r\n $(top_level_links).next('ul')\r\n .attr({ 'aria-hidden': 'true', 'role': 'menu' })\r\n .find('a')\r\n .attr('tabIndex',-1);\r\n \r\n // Adding aria-haspopup for appropriate items\r\n $(top_level_links).each(function(){\r\n if($(this).next('ul').length > 0)\r\n $(this).parent('li').attr('aria-haspopup', 'true').addClass('hasmenu');\r\n });\r\n // If Desktop\r\n if (viewport > breakpoint) {\r\n $('.'+navClass+' > li').hover(function(){\r\n //Mouse-in\r\n $(this).find('.submenu')\r\n .attr('aria-hidden', 'false')\r\n .addClass(settings.menuHoverClass)\r\n .find('a').attr('tabIndex',0);\r\n }, function() {\r\n //Mouse-out\r\n $(this).find('.submenu')\r\n .attr('aria-hidden', 'true')\r\n .removeClass(settings.menuHoverClass)\r\n .find('a').attr('tabIndex', -1);\r\n });\r\n } \r\n // If Mobile\r\n else {\r\n \r\n // toggle on click\r\n $('.'+navClass).attr('aria-hidden', 'true');\r\n //mobile menu click\r\n mobileButton.unbind(\"click\").click(function(e) {\r\n $(\".navlinks\").toggleClass(\"menuOpen\");\r\n $(\".navigation\").toggleClass(\"navigationOpen\");\r\n $(this).toggleClass('active');\r\n if ($('.navigation').hasClass(\"navigationOpen\")) {\r\n $('html, body').addClass('no-scroll');\r\n $('.'+navClass).attr('aria-hidden', 'false');\r\n } else {\r\n $('html, body').removeClass('no-scroll');\r\n $('.'+navClass).attr('aria-hidden', 'true');\r\n }\r\n e.preventDefault();\r\n });\r\n $('.open-subnav').click(function(e){\r\n //toggle it\r\n $(this).parent().toggleClass('open');\r\n if ($(this).parent().hasClass('open')) {\r\n //open it\r\n $(this).next('ul')\r\n .attr('aria-hidden', 'false')\r\n .find('a').attr('tabIndex',0);\r\n $(this).next('.submenu').addClass('show-menu'); \r\n\r\n } else {\r\n //close it\r\n $(this).next('ul')\r\n .attr('aria-hidden', 'true')\r\n .find('a').attr('tabIndex',-1);\r\n $(this).next('.submenu').removeClass('show-menu'); \r\n \r\n }\r\n e.preventDefault();\r\n });\r\n }\r\n \r\n $(top_level_links).focus(function(){\r\n $(this)\r\n .next('.'+settings.menuHoverClass)\r\n .attr('aria-hidden', 'true')\r\n .removeClass(settings.menuHoverClass)\r\n .find('a')\r\n .attr('tabIndex',-1);\r\n $(this).siblings('ul')\r\n .attr('aria-hidden', 'false')\r\n .addClass(settings.menuHoverClass)\r\n .find('a').attr('tabIndex',0);\r\n });\r\n\r\n $('.submenu li:last-child a').keydown(function(){\r\n $(this).closest('.submenu')\r\n .attr('aria-hidden', 'true')\r\n .find('a').attr('tabIndex',-1);\r\n $(this).parent().parent('.submenu').removeClass('show-menu'); \r\n });\r\n \r\n // Bind arrow keys for navigation\r\n $(top_level_links).keydown(function(e){\r\n if(e.keyCode == 37) {\r\n e.preventDefault();\r\n // This is the first item\r\n if($(this).parent('li').prev('li').length == 0) {\r\n $(this).parents('ul').find('> li').last().find('a').first().focus();\r\n } else {\r\n $(this).parent('li').prev('li').find('a').first().focus();\r\n }\r\n } else if(e.keyCode == 38) {\r\n e.preventDefault();\r\n if($(this).parent('li').find('ul').length > 0) {\r\n $(this).parent('li').find('ul')\r\n .attr('aria-hidden', 'false')\r\n .addClass(settings.menuHoverClass)\r\n .find('a').attr('tabIndex',0)\r\n .last().focus();\r\n }\r\n } else if(e.keyCode == 39) {\r\n e.preventDefault();\r\n // This is the last item\r\n if($(this).parent('li').next('li').length == 0) {\r\n $(this).parents('ul').find('> li').first().find('a').first().focus();\r\n } else {\r\n $(this).parent('li').next('li').find('a').first().focus();\r\n }\r\n } else if(e.keyCode == 40) {\r\n e.preventDefault();\r\n if($(this).parent('li').find('ul').length > 0) {\r\n $(this).parent('li').find('ul')\r\n .attr('aria-hidden', 'false')\r\n .addClass(settings.menuHoverClass)\r\n .find('a').attr('tabIndex',0)\r\n .first().focus();\r\n }\r\n } else if(e.keyCode == 13 || e.keyCode == 32) {\r\n // If submenu is hidden and you click space or enter, open it\r\n e.preventDefault();\r\n $(this).parent('li').find('ul[aria-hidden=true]')\r\n .attr('aria-hidden', 'false')\r\n .addClass(settings.menuHoverClass)\r\n .find('a').attr('tabIndex',0)\r\n .first().focus();\r\n } else if(e.keyCode == 27) {\r\n //escape\r\n e.preventDefault();\r\n $('.'+settings.menuHoverClass)\r\n .attr('aria-hidden', 'true')\r\n .removeClass(settings.menuHoverClass)\r\n .find('a')\r\n .attr('tabIndex',-1);\r\n } else {\r\n $(this).parent('li').find('ul[aria-hidden=false] a').each(function(){\r\n if($(this).text().substring(0,1).toLowerCase() == keyCodeMap[e.keyCode]) {\r\n $(this).focus();\r\n return false;\r\n }\r\n });\r\n }\r\n });\r\n \r\n \r\n var links = $(top_level_links).parent('li').find('ul').find('a');\r\n $(links).keydown(function(e){\r\n\r\n if(e.keyCode == 38) {\r\n e.preventDefault();\r\n // This is the first item\r\n if($(this).parent('li').prev('li').length == 0) {\r\n $(this).parents('ul').parents('li').find('a').first().focus();\r\n } else {\r\n $(this).parent('li').prev('li').find('a').first().focus();\r\n }\r\n } else if(e.keyCode == 40) {\r\n e.preventDefault();\r\n if($(this).parent('li').next('li').length == 0) {\r\n $(this).parents('ul').parents('li').find('a').first().focus();\r\n } else {\r\n $(this).parent('li').next('li').find('a').first().focus();\r\n }\r\n } else if(e.keyCode == 27 || e.keyCode == 37) {\r\n e.preventDefault();\r\n $(this)\r\n .parents('ul').first()\r\n .prev('a').focus()\r\n .parents('ul').first().find('.'+settings.menuHoverClass)\r\n .attr('aria-hidden', 'true')\r\n .removeClass(settings.menuHoverClass)\r\n .find('a')\r\n .attr('tabIndex',-1);\r\n } else if(e.keyCode == 32) {\r\n e.preventDefault();\r\n window.location.href = $(this).attr('href');\r\n } else {\r\n var found = false;\r\n $(this).parent('li').nextAll('li').find('a').each(function(){\r\n if($(this).text().substring(0,1).toLowerCase() == keyCodeMap[e.keyCode]) {\r\n $(this).focus();\r\n found = true;\r\n return false;\r\n }\r\n });\r\n \r\n if(!found) {\r\n \r\n $(this).parent('li').prevAll('li').find('a').each(function(){\r\n if($(this).text().substring(0,1).toLowerCase() == keyCodeMap[e.keyCode]) {\r\n $(this).focus();\r\n return false;\r\n }\r\n });\r\n }\r\n }\r\n });\r\n\r\n \r\n // Hide menu if click or focus occurs outside of navigation\r\n $(this).find('a').last().keydown(function(e){ \r\n if(e.keyCode == 9) {\r\n // If the user tabs out of the navigation hide all menus\r\n $('.'+settings.menuHoverClass)\r\n .attr('aria-hidden', 'true')\r\n .removeClass(settings.menuHoverClass)\r\n .find('a')\r\n .attr('tabIndex',-1);\r\n }\r\n });\r\n \r\n $(document).click(function(){ $('.'+settings.menuHoverClass).attr('aria-hidden', 'true').removeClass(settings.menuHoverClass).find('a').attr('tabIndex',-1); });\r\n \r\n $(this).click(function(e){\r\n e.stopPropagation();\r\n });\r\n}\r\n\r\n$(function(){\r\n\t$('.countryselector .title').on('click', function () {\r\n\t $(this).next('ul').toggleClass('open');\r\n\t if ($(this).next('ul').hasClass('open')) {\r\n\t $(this).find('.open-list').attr('aria-expanded', 'true');\r\n\t } else {\r\n\t $(this).find('.open-list').attr('aria-expanded', 'false');\r\n\t }\r\n\t});\r\n\t$('.search-btn').on('click', function (e) {\r\n\t $(this).toggleClass('active');\r\n\t $('.search-form').toggleClass('open');\r\n\t $('.header').find('.search-form.open').find('input.search').focus();\r\n\t});\r\n});\r\n\r\n\r\nfunction onDeviceChange( device: string ) {\r\n const $mainNav = $('.navigation .nav');\r\n if(device === 'mobile') {\r\n if (!$mainNav.hasClass('mobile')) {\r\n $mainNav.addClass('mobile');\r\n setup_navigation.call( $('.nav.mobile') );\r\n }\r\n }\r\n else{\r\n $mainNav.removeClass('mobile');\r\n }\r\n}\r\n\r\nonDeviceChange( getDevice() );\r\n$(window).on('device:change', function(e, device){\r\n onDeviceChange( device );\r\n});\r\n"]}