icon | string | "arrow-right" | Lucide icon name in kebab-case, or "none" to render no icon. |
size | "sm" | "md" | "lg" | "md" | Text and icon size tier. |
alignLabel | "end" | "start" | "end" | Side the label appears on relative to the icon. "end" = icon left, label right. |
underline | boolean | false | Adds underline decoration to the label text. |
active | boolean | false | Forces the active/pressed visual state (background pill). |
stretch | boolean | false | Fills the container width; icon and label pushed to opposite edges. |
hideLabel | boolean | false | Hides the label visually (sr-only). Always provide descriptive slot text. |
disabled | boolean | false | Disables the button. Blocks all pointer and keyboard interaction. |
loading | boolean | false | Shows a spinner in place of the icon. Sets aria-busy. Disables interaction. |
type | "button" | "submit" | "reset" | "button" | Native button type. Ignored when href is set. |
href | string | — | When set, renders as an <a> element with link semantics. |
target | "_blank" | "_self" | "_parent" | "_top" | — | Link target. Only meaningful when href is set. |
name | string | — | Native button name for form submission. |
value | string | — | Native button value for form submission. |
label | string | — | Accessible label override. Required when hideLabel is true and slot text is absent. |
theme | "dark" | "light" | "dark" | Per-component theme override. Sets data-theme on the host element. |