{#- chirp-ui: Icon Button
Square icon-only button for toolbars and dense UIs.
Usage:
from "chirpui/icon_btn.html" import icon_btn
icon_btn("✕", aria_label="Close")
icon_btn("⚙", variant="ghost", size="lg", href="/settings", aria_label="Settings")
-#}
{% def icon_btn(icon, variant="", size="", href=none, aria_label="", disabled=false, type="button", cls="",
hx_get=none, hx_post=none, hx_target=none, hx_swap=none) %}
{% set variant = variant | validate_variant(("", "default", "primary", "ghost", "danger"), "") %}
{% set size = size | validate_variant(("", "sm", "md", "lg"), "") %}
{% set variant_class = " chirpui-icon-btn--" ~ variant if variant else "" %}
{% set size_class = " chirpui-icon-btn--" ~ size if size else "" %}
{% set base = "chirpui-icon-btn" ~ variant_class ~ size_class ~ (" " ~ cls if cls else "") %}
{% if href %}
{{ icon | icon }}
{% else %}
{% end %}
{% end %}