Component · Actions
Button
buttons trigger an action or a change. one primary action per view; everything else is secondary, ghost, or text so the hierarchy stays calm.
Anatomy
1 host · .lucent-button carries variant + size
2 optional leading <lucent-icon>
3 inner .lucent-button__inner · label
Variants
Playground
variant
size
disabled
loading
Where available
✓ React
✓ Angular
✓ Web Components
✓ Blazor
✓ Tokens
Using it
the same component, named idiomatically per target. one CSS contract underneath, so they render identically.
API
Do
keep one primary action per view; pair it with a ghost or secondary for the alternative.
Don't
stack multiple primary buttons — it flattens hierarchy and adds noise.