{% import "pypi_ds/components/icons.html" as icons %}
{% macro button(
label,
href=None,
variant="secondary",
size="md",
button_type="button",
full_width=False,
disabled=False,
symbol=None,
extra_classes=""
) -%}
{% set class_names = "button" %}
{% if variant in ["primary", "danger", "warning", "tertiary"] %}
{% set class_names = class_names ~ " button--" ~ variant %}
{% endif %}
{% if size == "sm" %}
{% set class_names = class_names ~ " button--small" %}
{% endif %}
{% if full_width %}
{% set class_names = class_names ~ " button--full-width" %}
{% endif %}
{% if disabled %}
{% set class_names = class_names ~ " button--disabled" %}
{% endif %}
{% if extra_classes %}
{% set class_names = class_names ~ " " ~ extra_classes %}
{% endif %}
{% if href and not disabled %}
{% if symbol %}{{ icons.symbol(symbol, class_name="pypi-ds-symbol button__symbol") }}{% endif %}
{{ label }}
{% elif href %}
{% if symbol %}{{ icons.symbol(symbol, class_name="pypi-ds-symbol button__symbol") }}{% endif %}
{{ label }}
{% else %}
{% endif %}
{%- endmacro %}