<c-vars variant="default" size="default"></c-vars>
<button
    class="
    inline-flex items-center justify-center gap-2
    whitespace-nowrap rounded-md text-sm font-medium
    ring-offset-background transition-colors focus-visible:outline-none
    focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2
    disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none
    [&_svg]:size-4 [&_svg]:shrink-0

    {% if variant == 'default' %}bg-primary text-primary-foreground shadow hover:bg-primary/90
    {% elif variant == 'destructive' %}bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90
    {% elif variant == 'outline' %}border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground
    {% elif variant == 'secondary' %}bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80
    {% elif variant == 'ghost' %}hover:bg-accent hover:text-accent-foreground
    {% elif variant == 'link' %}text-primary underline-offset-4 hover:underline
    {% endif %}

    {% if size == 'default' %}h-9 px-4 py-2
    {% elif size == 'sm' %}h-8 rounded-md px-3 text-xs
    {% elif size == 'lg' %}h-10 rounded-md px-8
    {% elif size == 'icon' %}h-9 w-9{% endif %}

    {% if class %}
    {{ class }}
    {% endif %}
    "
    {{ attrs }}
>
    {{ slot }}
</button>
