Sha256: e353a17032f10b7046d7c9bfbcfe245ec85aeeb92fee8c5d75952618b6421cb4

Contents?: true

Size: 1.58 KB

Versions: 59

Compression:

Stored size: 1.58 KB

Contents

{# 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' %}
<a href="{{ params.href if params.href else '#' }}" role="button" draggable="false" {{- commonAttributes | safe }}>
  {{ params.html | safe if params.html else params.text }}
</a>

{%- elseif element == 'button' %}
<button {%- if params.value %} value="{{ params.value }}"{% endif %} {{- buttonAttributes | safe }} {{- commonAttributes | safe }}>
  {{ params.html | safe if params.html else params.text }}
</button>

{%- elseif element == 'input' %}
<input value="{{ params.text }}" {{- buttonAttributes | safe }} {{- commonAttributes | safe }}>
{%- endif %}

Version data entries

59 entries across 59 versions & 1 rubygems

Version Path
govuk_publishing_components-17.21.0 node_modules/govuk-frontend/components/button/template.njk
govuk_publishing_components-17.20.0 node_modules/govuk-frontend/components/button/template.njk
govuk_publishing_components-17.19.1 node_modules/govuk-frontend/components/button/template.njk
govuk_publishing_components-17.19.0 node_modules/govuk-frontend/components/button/template.njk
govuk_publishing_components-17.18.0 node_modules/govuk-frontend/components/button/template.njk
govuk_publishing_components-17.17.0 node_modules/govuk-frontend/components/button/template.njk
govuk_publishing_components-17.16.0 node_modules/govuk-frontend/components/button/template.njk
govuk_publishing_components-17.15.0 node_modules/govuk-frontend/components/button/template.njk
govuk_publishing_components-17.14.0 node_modules/govuk-frontend/components/button/template.njk
govuk_publishing_components-17.13.0 node_modules/govuk-frontend/components/button/template.njk
govuk_publishing_components-17.12.2 node_modules/govuk-frontend/components/button/template.njk
govuk_publishing_components-17.12.1 node_modules/govuk-frontend/components/button/template.njk
govuk_publishing_components-17.12.0 node_modules/govuk-frontend/components/button/template.njk
govuk_publishing_components-17.11.0 node_modules/govuk-frontend/components/button/template.njk
govuk_publishing_components-17.10.0 node_modules/govuk-frontend/components/button/template.njk
govuk_publishing_components-17.9.0 node_modules/govuk-frontend/components/button/template.njk
govuk_publishing_components-17.8.0 node_modules/govuk-frontend/components/button/template.njk
govuk_publishing_components-17.7.0 node_modules/govuk-frontend/components/button/template.njk
govuk_publishing_components-17.6.1 node_modules/govuk-frontend/components/button/template.njk
govuk_publishing_components-17.6.0 node_modules/govuk-frontend/components/button/template.njk