1.7 KiB
1.7 KiB
Component State Management
Purpose: Guidelines for defining and managing component states.
Referenced by: Component-type instructions (Button, Input, etc.)
Standard States
Interactive Components (Buttons, Links)
Required:
default- Normal, ready for interactionhover- Mouse over componentactive- Being clicked/presseddisabled- Cannot interact
Optional:
loading- Processing actionfocus- Keyboard focus
Form Components (Inputs, Selects)
Required:
default- Empty, ready for inputfocus- Active inputfilled- Has contentdisabled- Cannot edit
Optional:
error- Validation failedsuccess- Validation passedloading- Fetching data
Feedback Components (Alerts, Toasts)
Required:
default- Neutral informationsuccess- Positive feedbackerror- Error feedbackwarning- Caution feedback
State Naming
Use standard names:
- ✅
hovernotmouseover - ✅
disablednotinactive - ✅
loadingnotprocessing
Be consistent across components.
State Transitions
Define how states change:
Button States: default → hover (mouse enters)
hover → active (mouse down)
active → hover (mouse up)
hover → default (mouse leaves)
any → disabled (programmatically)
any → loading (action triggered)
Visual Indicators
Each state should be visually distinct:
Button:
default: blue background
hover: darker blue + scale 1.02
active: darkest blue + scale 0.98
disabled: gray + opacity 0.6
loading: disabled + spinner
Reference this when specifying component states.