Button
A customizable button component with multiple variants.
s0 add button
Usage
S0.Button("Save", action: { print("Tapped") })S0.Button("Delete", variant: .destructive, size: .lg, action: {
// handle delete
})S0.Button(variant: .outline, size: .icon, action: { }) {
Image(systemName: "heart")
}Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| title | String | — | Button label text (convenience initializer). |
| variant | ButtonVariant | .default | Visual style: .default, .secondary, .destructive, .outline, .ghost, .link. |
| size | ButtonSize | .default | Size preset: .default (40pt), .sm (36pt), .lg (44pt), .icon (40×40). |
| action | () -> Void | — | Closure invoked on tap. |
| label | @ViewBuilder () -> Label | — | Custom label view (generic initializer). |