Brik Design System
Foundation

Border

Corner rounding and line thickness — the two token families that frame a component's edge.

Border tokens frame a component's edge in two axes: radius (corner rounding) and width (line thickness). Each carries a theme-level mode so a brand can shift the overall feel in one move.

Border radius

Border radius tokens control corner rounding across components — from sharp (0px) to pill (999px), with circle reserved for fully circular elements (avatars, dots).

Radius scale

0
0px
50
2px
100
4px
200
8px
300
10px
400
12px
500
14px
600
16px
700
20px
800
24px
900
28px
1000
32px
1100
36px
1200
40px
1300
44px
1400
48px
1500
999px
pill
999px
1600
9999px
circle
9999px

Semantic radius tokens

TokenCSS VariableDescription
None--bds-border-radius-noneNo rounding (0px)
Small--bds-border-radius-smSubtle rounding
Medium--bds-border-radius-mdDefault component radius
Large--bds-border-radius-lgProminent rounding
Pill--bds-border-radius-pillMaximum rounding (999px)

Radius modes

Radius modes are not wired yet — this is the planned design, not a shipped switch. Unlike width modes and spacing, there is no modes-borderradius.css and no data-mode-radius selector ships in dist/tokens.css today. Setting the attribute does nothing until #340 (wire data-mode overrides for non-color tokens) lands. Change the radius feel per theme by overriding the --border-radius-* semantic values directly for now.

Figma defines border-radius modes to drive the overall shape feel of a theme. Once #340 wires them, data-mode-radius will select one (default soft):

ModeEffectUse case
SharpAll radii near 0Corporate, minimal
SoftModerate radiiDefault, balanced
RoundGenerous radiiFriendly, modern
PillMaximum radii (999px)Buttons, tags

Border width

Border width tokens control line thickness for borders, dividers, and outlines.

Width scale

--border-width-0
0px
--border-width-25
.25px
--border-width-50
.5px
--border-width-100
1px
--border-width-200
2px
--border-width-300
3px
--border-width-400
4px
--border-width-500
5px
--border-width-600
6px

Semantic width tokens

TokenCSS VariableDescription
None--bds-border-width-noneNo border (0px)
Small--bds-border-width-smSubtle hairline
Medium--bds-border-width-mdDefault visible border
Large--bds-border-width-lgProminent border (4px default; varies by border-width mode)

Width modes

Border density is a theme-level mode. Set data-mode-borderwidth on :root (or any subtree) to shift every --border-width-* semantic token at once; the default (no attribute) keeps the standard values. Two override modes ship today — thin and bold — wired in tokens/modes-borderwidth.css:

Tokendefaultthinbold
--bds-border-width-sm1px1px2px
--bds-border-width-md2px1px3px
--bds-border-width-lg4px2px4px
<html data-mode-borderwidth="bold">   <!-- whole document -->
<section data-mode-borderwidth="thin">…</section>   <!-- one subtree -->

thin matches default at sm because sub-pixel borders below 1px render unreliably across browsers. Values verified against dist/tokens.css; re-pull after a Figma mode change (npm run build:sd-figma).

On this page

💬