button

Information

Folder
src/components/elements/button

Files

Schema
Mocks
Template
// src/components/elements/button/button.twig

{% set additional_attributes_string %}
{% for attribute in additional_attributes %}
	{{ attribute[0] }}="{{ attribute[1] }}"
{% endfor %}
{% endset %}

{% set tag = url ? "a" : "button" %}
{% set icon_pos = icon_position|default("left") %}

<{{ tag }}
	{{ attributes }}
	class="
		Button
		{% if size == "small" %}Button--small{% endif %}
		{% if icon_only %}Button--iconOnly{% endif %}
		{% if icon and icon_pos == "right" %}Button--iconRight{% endif %}
		{% for modifier in modifiers %} Button--{{ modifier }}{% endfor %}
		{{ classes|join(" ") }}
	"
	{% if tag == "button" %}
		type="{{ type|default("button") }}"
		{% if disabled %} disabled{% endif %}
	{% else %}
		href="{{ url }}"
		{% if target %}target="{{ target }}"{% endif %}
	{% endif %}
	{% if hidden %}hidden{% endif %}
	{{ additional_attributes_string }}
>
	{% if icon and icon|trim|length > 0 and icon_pos == "left" %}
		<span class="Button-icon">
			{% include "@elements/icon/icon.twig" with {
				name: icon,
			} only %}
		</span>
	{% endif %}
	<span class="Button-label{% if icon_only %} u-hiddenVisually{% endif %}">
		{{ label }}
	</span>
	{% if icon and icon|trim|length > 0 and icon_pos == "right" %}
		<span class="Button-icon">
			{% include "@elements/icon/icon.twig" with {
				name: icon,
			} only %}
		</span>
	{% endif %}
</{{ tag }}>

Error: schema is invalid: data/properties must be object

Variants

Primary button
Open

Primary button mock data

Raw
Resolved
Primary button (small)
Open

Primary button (small) mock data

Raw
Resolved
Primary link
Open

Primary link mock data

Raw
Resolved
Primary button with icon
Open

Primary button with icon mock data

Raw
Resolved
Primary button with icon (right)
Open

Primary button with icon (right) mock data

Raw
Resolved
Primary link with icon
Open

Primary link with icon mock data

Raw
Resolved
Primary disabled button
Open

Primary disabled button mock data

Raw
Resolved
Primary disabled button with icon
Open

Primary disabled button with icon mock data

Raw
Resolved
Primary icon button
Open

Primary icon button mock data

Raw
Resolved
Primary icon link
Open

Primary icon link mock data

Raw
Resolved
Primary disabled icon button
Open

Primary disabled icon button mock data

Raw
Resolved
Secondary button
Open

Secondary button mock data

Raw
Resolved
Secondary button (small)
Open

Secondary button (small) mock data

Raw
Resolved
Secondary link
Open

Secondary link mock data

Raw
Resolved
Secondary button with icon
Open

Secondary button with icon mock data

Raw
Resolved
Secondary button with icon (right)
Open

Secondary button with icon (right) mock data

Raw
Resolved
Secondary link with icon
Open

Secondary link with icon mock data

Raw
Resolved
Secondary disabled button
Open

Secondary disabled button mock data

Raw
Resolved
Secondary disabled button with icon
Open

Secondary disabled button with icon mock data

Raw
Resolved
Secondary icon button
Open

Secondary icon button mock data

Raw
Resolved
Secondary icon link
Open

Secondary icon link mock data

Raw
Resolved
Secondary disabled icon button
Open

Secondary disabled icon button mock data

Raw
Resolved
Tertiary button
Open

Tertiary button mock data

Raw
Resolved
Tertiary button (small)
Open

Tertiary button (small) mock data

Raw
Resolved
Tertiary link
Open

Tertiary link mock data

Raw
Resolved
Tertiary button with icon
Open

Tertiary button with icon mock data

Raw
Resolved
Tertiary link with icon (right)
Open

Tertiary link with icon (right) mock data

Raw
Resolved
Tertiary disabled button
Open

Tertiary disabled button mock data

Raw
Resolved
Tertiary icon button
Open

Tertiary icon button mock data

Raw
Resolved
Quaternary button
Open

Quaternary button mock data

Raw
Resolved
Quaternary button (small)
Open

Quaternary button (small) mock data

Raw
Resolved
Quaternary link
Open

Quaternary link mock data

Raw
Resolved
Quaternary button with icon
Open

Quaternary button with icon mock data

Raw
Resolved
Quaternary button with icon (right)
Open

Quaternary button with icon (right) mock data

Raw
Resolved
Quaternary disabled button
Open

Quaternary disabled button mock data

Raw
Resolved
Quaternary icon button
Open

Quaternary icon button mock data

Raw
Resolved