{% extends 'knp_menu_base.html.twig' %}{% macro attributes(attributes) %}{% for name, value in attributes %}{%- if value is not none and value is not same as(false) -%}{{- ' %s="%s"'|format(name, value is same as(true) ? name|e : value|e)|raw -}}{%- endif -%}{%- endfor -%}{% endmacro %}{%- block compressed_root -%}{{ block('root') }}{%- endblock -%}{%- block root -%}{% set listAttributes = item.childrenAttributes %}{{- block('list') -}}{%- endblock -%}{%- block list -%}{%- if item.hasChildren and options.depth is not same as(0) and item.displayChildren -%}{% import _self as knp_menu %}{%- if item.level > 0 -%}<ul {{ knp_menu.attributes(listAttributes) }}>{%- endif -%}{{ block('children')|spaceless }}{%- if item.level > 0 -%}</ul>{%- endif -%}{%- endif -%}{%- endblock -%}{%- block children -%}{# save current variables #}{% set currentOptions = options %}{% set currentItem = item %}{# update the depth for children #}{% if options.depth is not none %}{% set options = options|merge({'depth': currentOptions.depth - 1}) %}{% endif %}{# update the matchingDepth for children #}{% if options.matchingDepth is not none and options.matchingDepth > 0 %}{% set options = options|merge({'matchingDepth': currentOptions.matchingDepth - 1}) %}{% endif %}{% for item in currentItem.children %}{{ block('item') }}{% endfor %}{# restore current variables #}{% set item = currentItem %}{% set options = currentOptions %}{%- endblock -%}{%- block item -%}{%- if item.displayed -%}{# building the class of the item #}{%- set classes = item.attribute('class') is not empty ? [item.attribute('class')] : [] %}{%- if matcher.isCurrent(item) %}{%- set classes = classes|merge([options.currentClass]) %}{%- elseif matcher.isAncestor(item, options.matchingDepth) %}{%- set classes = classes|merge([options.ancestorClass]) %}{%- endif %}{%- if item.actsLikeFirst %}{%- set classes = classes|merge([options.firstClass]) %}{%- endif %}{%- if item.actsLikeLast %}{%- set classes = classes|merge([options.lastClass]) %}{%- endif %}{# Mark item as "leaf" (no children) or as "branch" (has children that are displayed) #}{% if item.hasChildren and currentOptions.depth > 1 %}{%- set classes = classes|merge(['has-child']) %}{% if options.branch_class is not empty and item.displayChildren %}{%- set classes = classes|merge([options.branch_class]) %}{% endif %}{% elseif options.leaf_class is not empty %}{%- set classes = classes|merge([options.leaf_class]) %}{%- endif %}{%- set attributes = item.attributes %}{%- if classes is not empty %}{%- set attributes = attributes|merge({'class': classes|join(' ')}) %}{%- endif %}{# displaying the item #}{% import _self as knp_menu %}<li{{ knp_menu.attributes(attributes) }}>{%- if item.uri is not empty and (not matcher.isCurrent(item) or options.currentAsLink) %}{{ block('linkElement') }}{%- else %}{{ block('spanElement') }}{%- endif %}{# render the list of children#}{%- set childrenClasses = item.childrenAttribute('class') is not empty ? [item.childrenAttribute('class')] : [] %}{%- set childrenClasses = childrenClasses|merge(['menu_level_' ~ item.level]) %}{%- set childrenClasses = childrenClasses|merge([item.children|length > 6 ? 'columns-' ~( (item.children|length / 6)|round(0, 'ceil') ) : 'nocolumns']) %}{%- set listAttributes = item.childrenAttributes|merge({'class': childrenClasses|join(' ') }) %}{{ block('list') }}</li>{%- endif -%}{%- endblock -%}{% block linkElement %}{% import _self as knp_menu %}<a href="{{ item.uri }}"{{ knp_menu.attributes(item.linkAttributes) }}>{{ block('label') }}{% if item.hasChildren and currentOptions.depth > 1 %}<svg aria-label="Ikona menu"><use xlink:href="#chevron-down-icon"></use></svg>{% endif %}</a>{% endblock %}{% block spanElement %}{% import _self as knp_menu %}<span{{ knp_menu.attributes(item.labelAttributes) }}>{{ block('label') }} {% if item.hasChildren and currentOptions.depth > 1 %}<i class="icon-down"></i>{% endif %}</span>{% endblock %}{% block label %}{% if options.allow_safe_labels and item.getExtra('safe_label', false) %}{{ item.label|raw }}{% else %}{{ item.label }}{% endif %}{% if item.hasChildren %} {% endif %}{% endblock %}