{% set elements = elements ?? [] %}
{% set disabled = disabled ?? null %}
{% set viewMode = viewMode ?? null %}
{% set size = size ?? (viewMode == 'large' ? 'large' : 'small') %}

{% apply spaceless %}
  {% tag 'ul' with {
    class: [
      'elements',
      'chips',
      "chips-#{size}",
      (inline ?? false) ? 'inline-chips' : null,
    ]|filter,
  } %}
    {% for element in elements %}
      <li>
        {% set element = elementChip(element, {
          context: context ?? 'index',
          size,
          inputName: inputName ?? ((name ?? false) ? ((single ?? false) ? name : "#{name}[]") : null),
          showActionMenu: showActionMenu ?? false,
          checkbox: selectable ?? false,
        }) %}
        {% if disabled %}
          {% set element = element|removeClass('removable') %}
        {% endif %}
        {{ element|raw }}
      </li>
    {% endfor %}
  {% endtag %}
{% endapply %}
