uswds_base-8.x-2.0-alpha1/templates/navigation/menu--sidebar_first.html.twig
templates/navigation/menu--sidebar_first.html.twig
{#
/**
* @file
* Override of system/menu.html.twig for a sidebar menu.
*/
#}
{% import _self as menus %}
{#
We call a macro which calls itself to render the full tree.
@see http://twig.sensiolabs.org/doc/tags/macro.html
#}
{{ menus.menu_links(items, 0) }}
{% macro menu_links(items, menu_level, parent) %}
{% import _self as menus %}
{% if items %}
<ul class="{% if menu_level == 0 %}usa-sidenav{% else %}usa-sidenav-sublist{% endif %}">
{% for item in items %}
{%
set item_classes = [
'usa-sidenav-item',
item.is_expanded and item.below ? 'expanded dropdown',
item.in_active_trail ? 'active active-trail',
loop.first ? 'first',
loop.last ? 'last',
]
%}
<li{{ item.attributes.addClass(item_classes) }}>
<a href="{{ item.url }}"{% if item.in_active_trail %} class="usa-current"{% endif %}>
<span>{{ item.title }}</span>
</a>
</li>
{% if item.is_expanded and menu_level < 2 and item.below %}
{{ menus.menu_links(item.below, menu_level + 1, megamenu, loop.index, item, duplicate_parent) }}
{% elseif item.is_expanded and menu_level == 0 and item.below %}
{{ menus.menu_links(item.below, menu_level + 1, megamenu, loop.index, item, duplicate_parent) }}
{{ _self.menu_links(item.below, attributes.removeClass(classes), menu_level + 1, classes, dropdown_classes) }}
{% endif %}
{% endfor %}
</ul>
{% endif %}
{% endmacro %}
