| Button |
review |
contained, soft, outlined, text × xs, small, medium, large × primary, secondary + loading, underline, fullWidth |
button.height/paddingX/paddingY/fontSize/iconSize/iconGap/borderRadius, color.interactive.*, color.brand.100-300, color.neutral.200-700 |
Primary interactive element. Merges Text Button from Figma. Soft variant = Figma's Secondary/Brand & Secondary/Grey. |
| IconButton |
planned |
contained, soft, outlined, text × small, medium, large |
Reuses Button tokens |
Icon-only button (close, menu, actions). Wrap MUI IconButton with FA theme. Build when Navigation/modals are needed. |
| Typography |
review |
displayHero, display1-3, displaySm, h1-h6, bodyLg, body1, body2, bodyXs, labelLg, label, labelSm, caption, captionSm, overline, overlineSm + maxLines, gutterBottom |
typography.* (all semantic typography tokens), fontFamily.body, fontFamily.display |
Text display system. Thin MUI wrapper with maxLines truncation. |
| Input |
review |
medium, small × default, hover, focus, error, success, disabled + startIcon, endIcon, required, multiline |
input.height/paddingX/paddingY/fontSize/borderRadius/gap/iconSize, color.neutral.300-400, color.brand.500, color.feedback.error/success, color.text.secondary |
External label pattern, branded focus ring, two sizes aligned with Button. Adds startIcon/endIcon and success state beyond Figma. |
| Badge |
review |
soft, filled × default, brand, success, warning, error, info × small, medium + icon |
badge.height/paddingX/fontSize/iconSize/iconGap/borderRadius, color.feedback.*, color.brand.200/700 |
Status indicator pill. Soft (tonal) or filled (solid). 6 colours, 2 sizes, optional leading icon. |
| Icon |
planned |
various sizes |
|
Icon wrapper component |
| Avatar |
planned |
image, initials, icon × small, medium, large |
|
User/entity representation |
| Divider |
planned |
horizontal, vertical |
|
Visual separator |
| Chip |
planned |
filled, outlined × deletable, clickable |
|
Tags and filters |
| Card |
done |
elevated, outlined × default, compact, none padding × interactive × selected |
card.borderRadius/padding/shadow/border/background, color.surface.raised/subtle/warm, color.border.default/brand, shadow.md/lg |
Content container. Elevated (shadow) or outlined (border). Interactive adds hover bg fill + shadow lift. Selected adds brand border + warm bg. Three padding presets. |
| Link |
planned |
default, subtle |
|
Navigation text |