{#
/**
 * @file
 * Theme override for a link to a file.
 *
 * Available variables:
 * - attributes: The HTML attributes for the containing element.
 * - link_content: A link to the file.
 *
 * @see template_preprocess_file_link()
 */
#}

{% set link_content = link_content|default(link) %}

{% set link_bem_block = link_bem_block|default() %}
{% set link_bem_element = link_bem_element|default('file') %}
{% set link_bem_modifiers = link_bem_modifiers|default([]) %}
{% set link_bem_extra = link_bem_extra|default([]) %}

{% if attributes and attributes.class %}
  {% for value in attributes.class %}
    {% if value != "file" %}
      {% set class_val = value|replace({'file--':''}) %}
      {% set link_bem_modifiers = link_bem_modifiers|merge([class_val]) %}
    {% endif %}
  {% endfor %}
{% endif %}

{% set icon_bem_block = icon_bem_block|default(false) %}
{% set icon_bem_element = icon_bem_element|default('icon') %}
{% set icon_bem_modifiers = icon_bem_modifiers|default([])|merge(link_bem_modifiers)|merge(['file']) %}
{% set icon_bem_extra = icon_bem_extra|default([]) %}

<span{{ attributes.addClass(bem(link_bem_block, link_bem_element, link_bem_modifiers, link_bem_extra)) }}>
  {% set icon_attributes = create_attribute() %}
  <i {{ icon_attributes.addClass(bem(icon_bem_block, icon_bem_element, icon_bem_modifiers, icon_bem_extra)).setAttribute('aria-hidden', 'true') }}></i>
  {% block content %}
    {{ link_content }}
  {% endblock content %}
</span>

