{"version":3,"sources":["02-molecules/navigation/info-for/info-for.js"],"names":["$","Drupal","behaviors","infoFor","attach","context","$menu","$menu_title","find","$sub_menu","$title","attr","each","openMenu","addClass","closeMenu","removeClass","once","on","e","type","keyCode","toggleClass","blur","jQuery"],"mappings":"aAAA;;;;IAMA;AACA;AACA;AACA;AAGC,UAAiBA,CAAjB,CAAoBC,CAApB,CAA4B,CAC3B,aAEAA,CAAM,CAACC,SAAP,CAAiBC,OAAjB,CAA2B,CACzBC,MAAM,CAAE,WAAUC,CAAV,CAA6B,IAE/BC,CAAAA,CAAK,CAAGN,CAAC,CAAC,cAAD,CAAiBK,CAAjB,CAFsB,CAG/BE,CAAW,CAAGD,CAAK,CAACE,IAAN,CAAW,kBAAX,CAA+BH,CAA/B,CAHiB,CAI/BI,CAAS,CAAGH,CAAK,CAACE,IAAN,CAAW,iBAAX,CAA8BH,CAA9B,CAJmB,CAK/BK,CAAM,CAAGJ,CAAK,CAACE,IAAN,CAAW,kBAAX,CAA+BH,CAA/B,CALsB,CAOnC;AAGA;AAFAK,CAAM,CAACC,IAAP,CAAY,UAAZ,CAAwB,GAAxB,CARmC,CAWnCL,CAAK,CAACM,IAAN,CAAW,UAAW,IAChBC,CAAAA,CAAQ,CAAG,UAAW,CACxBN,CAAW,CAACO,QAAZ,CAAqB,sBAArB,CADwB,CAExBL,CAAS,CAACK,QAAV,CAAmB,qBAAnB,CACD,CAJmB,CAKhBC,CAAS,CAAG,UAAW,CACzBR,CAAW,CAACS,WAAZ,CAAwB,sBAAxB,CADyB,CAEzBP,CAAS,CAACO,WAAV,CAAsB,qBAAtB,CACD,CARmB,CAUpB;AAcA;AAbAhB,CAAC,CAAC,IAAD,CAAD,CAAQiB,IAAR,GAAeC,EAAf,CAAkB,6BAAlB,CAAiD,SAASC,CAAT,CAAW,CAC7C,WAAV,EAAAA,CAAC,CAACC,IADqD,EAExDP,CAAQ,EAFgD,CAI7C,UAAV,EAAAM,CAAC,CAACC,IAJqD,EAKxDL,CAAS,EAL+C,CAO1C,EAAb,EAAAI,CAAC,CAACE,OAPqD,GAQxDd,CAAW,CAACe,WAAZ,CAAwB,sBAAxB,CARwD,CASxDb,CAAS,CAACa,WAAV,CAAsB,qBAAtB,CATwD,CAW3D,CAXD,CAXoB,CAyBpBb,CAAS,CAACD,IAAV,CAAe,iBAAf,EAAkCe,IAAlC,CAAuC,UAAW,CAChDR,CAAS,EACV,CAFD,CAGD,CA5BD,CA8BD,CA1CwB,CA4C5B,CA/CA,EA+CCS,MA/CD,CA+CSvB,MA/CT,C","sourcesContent":["/**\n * @file\n * A JavaScript file containing the Info For menu functionality\n *\n */\n\n// JavaScript should be made compatible with libraries other than jQuery by\n// wrapping it with an \"anonymous closure\". See:\n// - https://drupal.org/node/1446420\n// - http://www.adequatelygood.com/2010/3/JavaScript-Module-Pattern-In-Depth\n\n\n(function infoFor($, Drupal) {\n 'use strict';\n\n Drupal.behaviors.infoFor = {\n attach: function (context, settings) {\n\n var $menu = $('nav#info_for', context);\n var $menu_title = $menu.find('.info-for__title', context);\n var $sub_menu = $menu.find('.info-for__menu', context);\n var $title = $menu.find('.info-for__title', context);\n \n // Accessibility\n $title.attr('tabIndex', '0');\n \n // Expose sub menu on hover.\n $menu.each(function() {\n var openMenu = function() {\n $menu_title.addClass('info-for__title-open');\n $sub_menu.addClass('info-for__menu-open');\n };\n var closeMenu = function() {\n $menu_title.removeClass('info-for__title-open');\n $sub_menu.removeClass('info-for__menu-open');\n };\n \n // Toggle menu for keyboard.\n $(this).once().on('mouseover mouseout keypress', function(e){\n if(e.type == 'mouseover'){\n openMenu();\n }\n if(e.type == 'mouseout'){\n closeMenu();\n }\n if(e.keyCode == 13){\n $menu_title.toggleClass('info-for__title-open');\n $sub_menu.toggleClass('info-for__menu-open');\n }\n });\n \n // Hide menu when tabbing out.\n $sub_menu.find('li:last-child a').blur(function(e){\n closeMenu();\n });\n });\n\n },\n };\n}(jQuery, Drupal));"],"file":"info-for.js"}