Sha256: 17744ac349c6695df4df8e7fcdb4e756bd899092ab0273dfd12191349a159f50
Contents?: true
Size: 1.93 KB
Versions: 1
Compression:
Stored size: 1.93 KB
Contents
'use strict'; import $ from 'jquery'; const Nest = { Feather(menu, type = 'zf') { menu.attr('role', 'menubar'); var items = menu.find('li').attr({'role': 'menuitem'}), subMenuClass = `is-${type}-submenu`, subItemClass = `${subMenuClass}-item`, hasSubClass = `is-${type}-submenu-parent`, applyAria = (type !== 'accordion'); // Accordions handle their own ARIA attriutes. items.each(function() { var $item = $(this), $sub = $item.children('ul'); if ($sub.length) { $item.addClass(hasSubClass); $sub.addClass(`submenu ${subMenuClass}`).attr({'data-submenu': ''}); if(applyAria) { $item.attr({ 'aria-haspopup': true, 'aria-label': $item.children('a:first').text() }); // Note: Drilldowns behave differently in how they hide, and so need // additional attributes. We should look if this possibly over-generalized // utility (Nest) is appropriate when we rework menus in 6.4 if(type === 'drilldown') { $item.attr({'aria-expanded': false}); } } $sub .addClass(`submenu ${subMenuClass}`) .attr({ 'data-submenu': '', 'role': 'menu' }); if(type === 'drilldown') { $sub.attr({'aria-hidden': true}); } } if ($item.parent('[data-submenu]').length) { $item.addClass(`is-submenu-item ${subItemClass}`); } }); return; }, Burn(menu, type) { var //items = menu.find('li'), subMenuClass = `is-${type}-submenu`, subItemClass = `${subMenuClass}-item`, hasSubClass = `is-${type}-submenu-parent`; menu .find('>li, .menu, .menu > li') .removeClass(`${subMenuClass} ${subItemClass} ${hasSubClass} is-submenu-item submenu is-active`) .removeAttr('data-submenu').css('display', ''); } } export {Nest};
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
foundation-rails-6.4.1.0 | vendor/assets/js/foundation.util.nest.js.es6 |