Brik Design System
Foundation

Size

Dimensional constraints for containers, breakpoints, and elements.

Size tokens define dimensional constraints — how big things can be, where the layout breaks, and how wide content columns sit within a viewport.

Size scale

--size-0
0px
--size-25
1px
--size-50
2px
--size-100
4px
--size-150
6px
--size-200
8px
--size-300
12px
--size-400
16px
--size-500
20px
--size-600
24px
--size-700
28px
--size-800
32px
--size-900
36px
--size-1000
40px
--size-1100
44px
--size-1200
48px
--size-1300
48px
--size-1400
52px
--size-1500
56px
--size-1600
60px
--size-1700
64px
--size-1800
72px
--size-1900
80px
--size-2000
84px
--size-2100
88px
--size-2200
96px

Content widths

Max-width values for content containers. Apply to wrapper elements with max-width to prevent lines from growing too wide at large viewport sizes.

TokenCSS VariableValueUse for
Narrow--content-width-narrow640pxProse, reading columns, focused forms
Default--content-width-default800pxStandard body sections
Wide--content-width-wide1024pxFeature sections, content grids
XL--content-width-xl1280pxHero bands, wide layouts
Full--content-width-full100%Full-bleed (use sparingly)
.content-section {
  max-width: var(--content-width-default);
  margin-inline: auto;
}

Screen breakpoints

BDS defines five canonical breakpoints. The CSS custom properties (--breakpoint-*) are provided for Figma/documentation reference. For CSS @media rules, import the breakpoints constant from @bds-tokens — CSS custom properties cannot be used inside @media().

NameCSS VariableValue
Mobile--breakpoint-mobile320px
Tablet--breakpoint-tablet768px
Desktop--breakpoint-desktop1024px
Wide--breakpoint-wide1280px
Wider--breakpoint-wider1440px

--breakpoint-web (1200px) is a legacy Figma-sourced value kept for backward compatibility. Prefer the canonical names above in new work.

Using breakpoints in CSS

import { breakpoints } from '@bds-tokens';

// In a CSS-in-JS context
const styles = {
  [`@media (min-width: ${breakpoints.desktop})`]: {
    display: 'grid',
    gridTemplateColumns: '1fr 2fr',
  },
};
/* In plain CSS — hardcode the value, comment the token name */
@media (min-width: 1024px) { /* --breakpoint-desktop */
  .sidebar-layout {
    display: grid;
  }
}

Using breakpoints in JavaScript

import { breakpoints } from '@bds-tokens';

const isDesktop = window.matchMedia(
  `(min-width: ${breakpoints.desktop})`
).matches;

Element sizes

Fixed element dimensions — icons, dots, indicators — use the numeric --size-* scale (the same primitive scale spacing draws from). Values step in 4px increments above 8px.

TokenValue
--size-502px
--size-1004px
--size-2008px
--size-40016px
--size-60024px
--size-80032px
--size-100040px

The scale runs --size-0 (0) through --size-2200 (100px).

On this page

💬