{#
/**
 * @file
 * Theme override to present a list of available bundles.
 *
 * Available variables:
 * - bundles: A list of bundles, each with the following properties:
 *   - label: Bundle label.
 *   - description: Bundle description.
 *   - add_link: \Drupal\Core\Link link instance to create an entity of this
 *     bundle.
 * - add_bundle_message: The message shown when there are no bundles. Only
 *     available if the entity type uses bundle entities.
 *
 * @see template_preprocess_entity_add_list()
 */
#}
{%
  set item_classes = [
    'admin-item',
  ]
%}
{% if bundles is not empty %}
  <div class="panel gin-layer-wrapper">
    {% if title %}
      <h3 class="panel__title">{{ title }}</h3>
    {% endif %}

    <div{{ attributes.addClass('admin-list', 'panel__content', 'gin-layer-wrapper') }}>
      {% for bundle in bundles %}
        {#
          Add 'admin-item__link' class to the link attributes.
          This is needed for keeping the original attributes of the link's url.
        #}
        {% set bundle_attributes = bundle.add_link.url.getOption('attributes') ?: {} %}
        {% set link_attributes = create_attribute(bundle_attributes).addClass('admin-item__link') %}
        {% set description_id = bundle.add_link.text|clean_id ~ '-desc' %}
        <div{{ create_attribute({ class: item_classes }) }}>
          <a href="{{ bundle.add_link.url }}" title="{{ bundle.add_link.text }}" {{ link_attributes }}></a>
          <div class="admin-item__title"{% if bundle.description %} aria-details="{{ description_id }}"{% endif %}>
            {{ bundle.add_link.text }}
          </div>
          {# Don't print empty description wrapper if there is no description #}
          {% if bundle.description %}
            <div class="admin-item__description" id="{{ description_id }}">{{ bundle.description }}</div>
          {% endif %}
        </div>
      {% endfor %}
    </div>
  </div>
{% elseif add_bundle_message is not empty %}
  <p>
    {{ add_bundle_message }}
  </p>
{% endif %}
