{% 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 %}