The most intuitive path wins.
Prefilled as the decision system for every future page.
| State | Theme path | Rule |
|---|---|---|
Default | theme.palette.text.primary | Clear, enabled, and ready. |
Hover | theme.palette.action.hover | Pointer feedback only. |
Selected | theme.palette.action.selected | Persistent chosen state. |
Loading | theme.palette.action.disabledBackground | Show honest work underway. |
Disabled | theme.palette.action.disabled | Unavailable until the cause is resolved. |
One primary action per screen.
Remove local measurements.
Use the shared primitive before inventing.
A user should understand what the screen is, what changed, and what to do next without instruction.
A named user outcome.
A decision rule that removes subjective taste.
A standard component or theme reference whenever the rule reaches UI.
A deletion test: if the element does not create value, simplify or remove it.
The system improves once and every product inherits the fix.
A component earns a place only when it helps the user decide, act, recover, or understand.
Local UI creates drift; library contracts create standardization.
A local primitive splits behavior and future migrations.
Values live in @socra/theme and are consumed by name.
If the hierarchy is weak, fix the hierarchy.
<Stack spacing={2}>
<LazyLiveExample kind="Intuition" />
</Stack>