Components

Button

Filled, outlined and text buttons, in six meanings.

Variants

Buttons have 12px corners in every channel; a pill is never a button. In the app they are SPButton, built on the Material buttons with the theme from SPButtonStyles.

Start parkingStart parking
FilledThe main action, one per screen. Disabled, it turns grey.
Add a licence plateAdd a licence plate
OutlinedA second action next to a filled one. A 1px border in the action color.
Not nowNot now
TextA way out or a small extra: skip, cancel, show more.
  • One filled button per screen, for the action the screen is about. Everything else is outlined or text.
  • The label says what happens, as a verb: Start parking, Pay your invoice. Never OK or Click here.
  • Full width in a footer on a phone, its natural width everywhere else.

Meanings

The color of a filled button comes from its meaning (SduiSemantic), not from taste. Each meaning uses its …Surface token with white text.

Start parking
primaryThe main action
View invoice
secondaryA strong second action
Stop
dangerStops or removes something
Done
successConfirms a finished step
Top up now
warningFixes something urgent
Details
infoA neutral action next to another
MeaningSurfaceUse it for
primaryprimary 500The main action. Almost always this one.
secondarysecondary 1000A strong action that isn't the main one.
dangererrorStopping a parking action, removing a car or a card.
successsuccessConfirming a step that went well. Rare.
warningwarningFixing something urgent, like a low balance. Rare.
infogrey 700A neutral action next to another one, like Details next to Stop.

Sizes

Start parking
App, 48pxtitleMd 16/24, 12 by 18px padding, full width in a footer.
Email, 44pxPoppins 16, 24px padding on each side.
Download the app
Website header, 36pxPoppins 14, 16px padding on each side.

States

StateFilledOutlined and text
DefaultMeaning surface, white labelprimary 500 border and label, white background
PressedThe Material ripple; no color change of its ownThe same
Disableddisabled background, white labeldisabled border and label
ChangingWhen a button changes state, like disabled to enabled, it cross-fades in 200 msThe same

Never hide a button to show it's unavailable; disable it, and say why above it when that isn't obvious.