{% set attributes = create_attribute({
}) %}
{% if display %}
  {% do attributes.setAttribute('display', display) %}
{% endif %}
{# Allow setting empty. Any value is taken to be the filename to use. #}
{% if download is not null %}
  {% do attributes.setAttribute('download', download) %}
{% endif %}
{% if external %}
  {% do attributes.setAttribute('external', true) %}
{% endif %}
{% if href %}
  {% do attributes.setAttribute('href', href) %}
{% endif %}
{% if rel %}
  {% do attributes.setAttribute('rel', rel) %}
{% endif %}
{% if size %}
  {% do attributes.setAttribute('size', size) %}
{% endif %}
{% if target %}
  {% do attributes.setAttribute('target', target) %}
{% endif %}
{% if type %}
  {% do attributes.setAttribute('type', type) %}
{% endif %}
{% if variant %}
  {% do attributes.setAttribute('variant', variant) %}
{% endif %}
{% if class %}
  {% do attributes.setAttribute('class', class|join(' ')) %}
{% endif %}
{% if slot %}
  {% do attributes.setAttribute('slot', slot) %}
{% endif %}
<gcds-link{{ attributes }}>
  {% block default %}{{ default }}{% endblock %}
</gcds-link>
