bootstrap_italia-8.x-0.x-dev/components/components-2/breadcrumb/breadcrumb.html.twig
components/components-2/breadcrumb/breadcrumb.html.twig
{#
/**
* @file
* Template for a breadcrumb pattern
* Docs: https://italia.github.io/bootstrap-italia/docs/menu-di-navigazione/breadcrumbs/
* Latest revision: v2.8.7
*
* Parameters:
* - breadcrumb_dark_background (boolean) (default: false)
* - breadcrumb_icon (boolean) (default: false)
* - breadcrumb_separator (string) (default: "/")
* - options ["/", ">"]
* - breadcrumb: Breadcrumb trail items
* - breadcrumb_classes (array) (default: '')
* - breadcrumb_attributes (obj attribute) (default: '')
*
* Examples:
{% include '@bi-bcl/breadcrumb/breadcrumb.html.twig' with {
breadcrumb: items,
breadcrumb_dark_background: true,
} %}
*
*/
#}
{% apply spaceless %}
{# Set defaults #}
{% set _breadcrumb_dark_background = breadcrumb_dark_background ?? false %}
{% set _breadcrumb_icon = breadcrumb_icon ?? false %}
{% set _breadcrumb_separator = breadcrumb_separator|default('/') %}
{% set _breadcrumb_classes = breadcrumb_classes|default('') %}
{% set _breadcrumb_attributes = breadcrumb_attributes|default('') %}
{# Set options #}
{% set _classes = [
'breadcrumb',
_breadcrumb_dark_background ? 'dark',
_breadcrumb_dark_background ? 'px-3',
] %}
{% if _breadcrumb_classes is not empty %}
{% set _classes = _classes|merge(breadcrumb_classes) %}
{% endif %}
{% if _breadcrumb_attributes is empty %}
{% set breadcrumb_attributes = create_attribute() %}
{% endif %}
{% set breadcrumb_attributes = breadcrumb_attributes.addClass(_classes) %}
{# Set icon #}
{% set _icon_classes = [
'icon',
'icon-sm',
'align-top',
'me-1',
_breadcrumb_dark_background ? 'icon-white',
] %}
{# Component #}
{% if breadcrumb %}
<nav class="breadcrumb-container" aria-labelledby="system-breadcrumb">
<h2 id="system-breadcrumb" class="visually-hidden">{{ 'Breadcrumb'|t }}</h2>
<ol{{ breadcrumb_attributes }}>
{% for item in breadcrumb %}
<li class="breadcrumb-item{{ loop.last ? ' active' }}"
{% if loop.last %}aria-current="page"{% endif %}
>
{% if item.url %}
{% if _breadcrumb_icon %}
{% include '@bi-bcl/icon/icon.html.twig' with {
name: 'it-link',
icon_classes: _icon_classes
} %}
{% endif %}
<a href="{{ item.url }}">{{ item.text }}</a>
{% else %}
{{ item.text }}
{% endif %}
{% if breadcrumb_separator and loop.last == false %}
<span class="separator">{{ breadcrumb_separator }}</span>
{% endif %}
</li>
{% endfor %}
</ol>
</nav>
{% endif %}
{% endapply %}
