Bonusway design system

Foundations

The decisions every component inherits: the palette, the type scale, the spacing steps and the icon set. Components are in the rail on the left — each one shows its variants, its generated props table, and the rules for using it.

Colour

Labelled token-first. The old guide named four shades per hue, and those were embedded into the 50–950 ramps at whatever step matched their lightness — so they sit at different steps per hue (navy at 500–900, blue at 300–700, gold under yellow-*). The guide name alone doesn’t tell you which class to type, which is why both are shown.

navy-500 · navy lighter #466285
navy-600 · navy light #2e4056
navy-700 · navy #233142
navy-900 · navy dark #18222e
blue-300 · blue lighter #52e2ff
blue-400 · blue light #0bd5ff
blue-600 · blue #00c3eb
blue-700 · blue dark #00aacc
red-200 · red lighter #fdbbbb
red-400 · red light #fa7777
red-600 · red #f95959
red-700 · red dark #f83b3b
green-300 · green lighter #66f0bf
green-400 · green light #25eaa4
green-600 · green #15db95
green-700 · green dark #12bf82
yellow-200 · gold lighter #fee7b2
yellow-300 · gold light #fdd16c
yellow-400 · gold #fcc74e
yellow-500 · gold dark #fbbd30
grey-200 #d2d5d8
grey-300 #abb0b7
grey-400 #9ba1a9
grey-600 (text) #6b737c
grey-50 · light-grey #f5f8f9
grey-100 · light-grey dark #e2ebee

grey-600 is the lightest grey allowed for text

The guide’s own grey-400 is 2.60:1 on white and fails WCAG AA. grey-200/grey-300 are for borders and decorative glyphs — empty rating stars, placeholder icons — where contrast requirements don’t apply.

The status colours are not text colours

green-600 is 1.81:1 on white, red-600 3.18:1, yellow-500 1.69:1. So Alert and Toast split colour by role: the brand hue keeps the border and the filled circle, the text drops to that hue’s -900 step, and the glyph inside the circle is navy-700 rather than white. Don’t darken a whole variant to fix its text — that was the first attempt, and it turned the warning brown, because darkening yellow shifts its apparent hue in a way darkening red and green doesn’t.

Typography

Six components over one scale. Header and SubHeader carry the display face; Text, Caption, MetaText and Quote the reading face. Sizes are px because the old guide’s rems were on a 10px root, and translating them by hand is how a 36px heading becomes 3.6rem of something else.

Header lg

Header md — the default

Header sm

SubHeader lg

SubHeader md

SubHeader sm

Text lg — 18px

Text md — 16px, body copy

Text sm — 14px

Caption — 12px, muted by defaultMetaText — labels and metadata
Quote — a pulled sentence, not a blockquote element

Full props for each are on the Typography page.

Spacing

Four steps, shared by Stack, Row and Grid. Use the token, not a one-off margin — a page built from the scale stays aligned when a component’s internal padding changes, and one built from arbitrary values doesn’t.

xs
5px
sm
10px
md
20px
lg
40px

Surfaces

One radius, one border, one shadow, one hover wash. They are this small on purpose: a system with three shadows has no shadow language at all.

3px radius

grey-200 hairline

standard shadow

grey-50 hover wash

Icons (206)

One icomoon font, one Icon component, three sizes (sm 16 / md 20 / lg 25). Every name below is a valid name prop — the type is generated from this list, so a typo is a compile error rather than an invisible empty box.

flag-active

heart-active

heart

menu-new

star-active

thumbs-up-active

alarm

align-center

align-justify

align-left

align-right

anchor

archive

arrow-down

arrow-left

arrow-right

arrow-thin-down

arrow-thin-left

arrow-thin-right

arrow-thin-up

arrow-up

article

backspace

basket

basketball

battery-empty

battery-full

battery-low

battery-medium

bell

blog

bluetooth

bold

bookmark

bookmarks

box

briefcase

brightness-low

brightness-max

brightness-medium

broadcast

browser

browser-upload

brush

calendar

camcorder

camera

card

cart

checklist

checkmark

chevron-down

chevron-left

chevron-right

chevron-up

clipboard

clock

clockwise

cloud

cloud-download

cloud-upload

code

contract

contract-2

conversation

copy

crop

cross

crosshair

cutlery

device-desktop

device-mobile

device-tablet

direction

disc

document

document-delete

document-edit

document-new

document-remove

dot

dots-2

dots-3

download

duplicate

enter

exit

expand

expand-2

experiment

export

feed

flag

flashlight

folder

folder-open

forward

gaming

gear

graduation

graph-bar

graph-line

graph-pie

headset

heart2

help

home

hourglass

inbox

information

italic

jewel

lifting

lightbulb

link

link-broken

list

loading

location

lock

lock-open

mail

map

media-loop

media-next

media-pause

media-play

media-previous

media-record

media-shuffle

media-stop

medical

menu

message

meter

microphone

minus

monitor

move

music

network-1

network-2

network-3

network-4

network-5

pamphlet

paperclip

pencil

phone

photo

photo-group

pill

pin

plus

power

preview

print

pulse

question

reply

reply-all

return

retweet

rocket

scale

search

shopping-bag

skip

stack

star

stopwatch

store

suitcase

swap

tag

tag-delete

tags

thumbs-down

thumbs-up

ticket

time-reverse

to-do

toggles

trash

trophy

upload

user

user-group

user-id

vibrate

view-apps

view-list

view-list-large

view-thumb

volume-full

volume-low

volume-medium

volume-off

wallet

warning

web

weight

wifi

wrong

zoom-in

zoom-out

The catalog

Denna webbplats använder cookies.

Vi använder cookies för att förbättra din upplevelse på vår webbplats och anpassa innehållet vi tillhandahåller dig. Viktiga cookies är nödvändiga för att vår tjänst ska fungera korrekt. Om du går med på att vi samlar in information om dig genom användningen av nödvändiga och marknadsförande cookies, välj "Acceptera alla". Du kan alltid ändra dina preferenser genom att besöka Cookie -inställningar.

Cookie -inställningar