Logo FS-Skia-UI

ButtonProps<'msg> Type

Immutable, compiler-checked authoring surface for a button. `OnClick = None` lowers to NO event binding (FR-008 edge case), never a default message. Feature 093 (E3): `Classes` attaches an ordered list of style classes/variants; default `[]` lowers to NO style attribute — byte-identical to the pre-feature front door (A1 additive). Feature 095 (E5): `Leading` / `Trailing` are the two CLOSED, typed slot regions flanking the label — a consumer fills one with their own `Widget<'msg>` (e.g. an icon before the label) to re-skin the button's SHAPE. Each defaults `None`, which lowers to NO slot attribute (so an unfilled button is byte-identical, FR-003). A slot fill is a static `Widget<'msg>`, NOT a data-bound template; filling a region a kind does NOT declare is a compile error — there is no field for it (FR-001, SC-006).

Record fields

Record Field Description

Classes

Full Usage: Classes

Field type: StyleClass list
Field type: StyleClass list

Enabled

Full Usage: Enabled

Field type: bool
Field type: bool

Id

Full Usage: Id

Field type: ControlId option
Field type: ControlId option

Intent

Full Usage: Intent

Field type: ButtonIntent
Field type: ButtonIntent

Leading

Full Usage: Leading

Field type: Widget<'msg> option
Field type: Widget<'msg> option

OnClick

Full Usage: OnClick

Field type: 'msg option
Field type: 'msg option

Text

Full Usage: Text

Field type: string
Field type: string

Trailing

Full Usage: Trailing

Field type: Widget<'msg> option
Field type: Widget<'msg> option

Type something to start searching.