Shared types keep component APIs consistent without exposing internal CSS helpers.
| Type | Values and purpose |
|---|---|
| Size | Small, Medium, Large |
| Variant | Filled, Soft, Outlined, Text, Ghost |
| Tone | Muted, Soft, Normal, Strong, Vibrant |
| Orientation | Horizontal, Vertical |
| Align / Justify | Cross-axis and main-axis layout alignment |
Visual components expose Id, Class, Style, and unmatched HTML attributes. Omit Id unless another element or a test needs a stable reference.
<BuiButton Id="save-customer" Class="min-w-32" data-testid="save-customer">
Save
</BuiButton>