{# Determine type of element to use, if not explicitly set -#} {% if params.element %} {% set element = params.element | lower %} {% else %} {% if params.href %} {% set element = 'a' %} {% else %} {% set element = 'button' %} {% endif %} {% endif %} {#- Define common attributes that we can use across all element types #} {%- set commonAttributes %} class="govuk-button{% if params.classes %} {{ params.classes }}{% endif %}{% if params.disabled %} govuk-button--disabled{% endif %}"{% for attribute, value in params.attributes %} {{attribute}}="{{value}}"{% endfor %}{% endset %} {#- Define common attributes we can use for both button and input types #} {%- set buttonAttributes %}{% if params.name %} name="{{ params.name }}"{% endif %} type="{{ params.type if params.type else 'submit' }}"{% if params.disabled %} disabled="disabled" aria-disabled="true"{% endif %}{% if params.preventDoubleClick %} data-prevent-double-click="true"{% endif %}{% endset %} {#- Actually create a button... or a link! #} {%- if element == 'a' %} {{ params.html | safe if params.html else params.text }} {%- elseif element == 'button' %} {%- elseif element == 'input' %} {%- endif %}