{% import 'macros/utils.macro.twig' as utils %}
{# Options #}
{% set tag = tag|default('a') %}
{% set text = text|default(null) %}
{% set icon_before = icon_before|default(null) %}
{% set icon_after = icon_after|default(null) %}
{% set attr = attr|deep_merge({ class: 'btn' }) %}
{% set type = type|default("primary") %}
{% set types = {
primary: "btn-primary",
secondary: "btn-secondary",
neutral: "btn-neutral",
} %}
{% set attr = attr|deep_merge({
class: types[type]
}) %}
{% set size = size|default("base") %}
{% set sizes = {
small: "btn-sm",
base: "",
} %}
{% set attr = attr|deep_merge({
class: sizes[size]
}) %}
<{{tag}} {{- utils.attributes(attr) -}}>
{% if icon_before %}
{% include "icons/" ~ icon_before ~ ".svg.twig" with { class: "w-4 h-4 text-white" } only %}
{% endif %}
<span class="flex-1">{{- text|raw -}}</span>
{% if icon_after %}
{% include "icons/" ~ icon_after ~ ".svg.twig" with { class: "w-4 h-4 text-white" } only %}
{% endif %}
</{{tag}}>