Border Tokens
Border color tokens define the colors used for borders and dividers across our user interfaces.
In this section assumes that you are already familiar with the concept of Intents, Attentions, and States explained in the Color Tokens section.
Also, make sure to review the Background Color Tokens and Foreground Color Tokens sections to understand how background and foreground colors are constructed, as border colors interact closely with background and foreground colors.
Naming Convention
border.<intent>.<attention>.<state> / blend.<blend>To create border color tokens we combine three aspects: intent, attention, and state. Each intent creates a combination with all attention and state levels. To create semi-transparent borders, compose with a separate blend.<blend> token.
Not every application will need all combinations, so choose the ones that best fit your use cases.
Default Border Tokens
The following set of tokens represent the default options that should cover most use cases in our design system. No values are strictly enforced here, however, we recommend using these as a starting point for your products.
- Preview
- CSS Custom Properties
- Figma JSON
- TypeScript
Intent: neutral, attention: full
| Token name | light | dark |
|---|---|---|
border.neutral.full.default / blend.solid | –#000000 | –#ffffff |
border.neutral.full.default / blend.low | –#000000e6 | –#ffffffe6 |
border.neutral.full.default / blend.medium | –#000000b3 | –#ffffffb3 |
border.neutral.full.default / blend.high | –#00000080 | –#ffffff80 |
border.neutral.full.default / blend.strong | –#0000004d | –#ffffff4d |
border.neutral.full.default / blend.full | –#00000000 | –#ffffff00 |
border.neutral.full.hovered / blend.solid | –#4c473f | –#e3ddd3 |
border.neutral.full.hovered / blend.low | –#4c473fe6 | –#e3ddd3e6 |
border.neutral.full.hovered / blend.medium | –#4c473fb3 | –#e3ddd3b3 |
border.neutral.full.hovered / blend.high | –#4c473f80 | –#e3ddd380 |
border.neutral.full.hovered / blend.strong | –#4c473f4d | –#e3ddd34d |
border.neutral.full.hovered / blend.full | –#4c473f00 | –#e3ddd300 |
border.neutral.full.pressed / blend.solid | –#67635a | –#c2bdb3 |
border.neutral.full.pressed / blend.low | –#67635ae6 | –#c2bdb3e6 |
border.neutral.full.pressed / blend.medium | –#67635ab3 | –#c2bdb3b3 |
border.neutral.full.pressed / blend.high | –#67635a80 | –#c2bdb380 |
border.neutral.full.pressed / blend.strong | –#67635a4d | –#c2bdb34d |
border.neutral.full.pressed / blend.full | –#67635a00 | –#c2bdb300 |
border.neutral.full.selected / blend.solid | –#3e3a32 | –#d3cdc3 |
border.neutral.full.selected / blend.low | –#3e3a32e6 | –#d3cdc3e6 |
border.neutral.full.selected / blend.medium | –#3e3a32b3 | –#d3cdc3b3 |
border.neutral.full.selected / blend.high | –#3e3a3280 | –#d3cdc380 |
border.neutral.full.selected / blend.strong | –#3e3a324d | –#d3cdc34d |
border.neutral.full.selected / blend.full | –#3e3a3200 | –#d3cdc300 |
Intent: neutral, attention: strong
| Token name | light | dark |
|---|---|---|
border.neutral.strong.default / blend.solid | –#59554c | –#d3cdc3 |
border.neutral.strong.default / blend.low | –#59554ce6 | –#d3cdc3e6 |
border.neutral.strong.default / blend.medium | –#59554cb3 | –#d3cdc3b3 |
border.neutral.strong.default / blend.high | –#59554c80 | –#d3cdc380 |
border.neutral.strong.default / blend.strong | –#59554c4d | –#d3cdc34d |
border.neutral.strong.default / blend.full | –#59554c00 | –#d3cdc300 |
border.neutral.strong.hovered / blend.solid | –#858076 | –#b3ada4 |
border.neutral.strong.hovered / blend.low | –#858076e6 | –#b3ada4e6 |
border.neutral.strong.hovered / blend.medium | –#858076b3 | –#b3ada4b3 |
border.neutral.strong.hovered / blend.high | –#85807680 | –#b3ada480 |
border.neutral.strong.hovered / blend.strong | –#8580764d | –#b3ada44d |
border.neutral.strong.hovered / blend.full | –#85807600 | –#b3ada400 |
border.neutral.strong.pressed / blend.solid | –#a39e94 | –#948e85 |
border.neutral.strong.pressed / blend.low | –#a39e94e6 | –#948e85e6 |
border.neutral.strong.pressed / blend.medium | –#a39e94b3 | –#948e85b3 |
border.neutral.strong.pressed / blend.high | –#a39e9480 | –#948e8580 |
border.neutral.strong.pressed / blend.strong | –#a39e944d | –#948e854d |
border.neutral.strong.pressed / blend.full | –#a39e9400 | –#948e8500 |
border.neutral.strong.selected / blend.solid | –#948e85 | –#a39e94 |
border.neutral.strong.selected / blend.low | –#948e85e6 | –#a39e94e6 |
border.neutral.strong.selected / blend.medium | –#948e85b3 | –#a39e94b3 |
border.neutral.strong.selected / blend.high | –#948e8580 | –#a39e9480 |
border.neutral.strong.selected / blend.strong | –#948e854d | –#a39e944d |
border.neutral.strong.selected / blend.full | –#948e8500 | –#a39e9400 |
Intent: neutral, attention: high
| Token name | light | dark |
|---|---|---|
border.neutral.high.default / blend.solid | –#67635a | –#948e85 |
border.neutral.high.default / blend.low | –#67635ae6 | –#948e85e6 |
border.neutral.high.default / blend.medium | –#67635ab3 | –#948e85b3 |
border.neutral.high.default / blend.high | –#67635a80 | –#948e8580 |
border.neutral.high.default / blend.strong | –#67635a4d | –#948e854d |
border.neutral.high.default / blend.full | –#67635a00 | –#948e8500 |
border.neutral.high.hovered / blend.solid | –#858076 | –#767168 |
border.neutral.high.hovered / blend.low | –#858076e6 | –#767168e6 |
border.neutral.high.hovered / blend.medium | –#858076b3 | –#767168b3 |
border.neutral.high.hovered / blend.high | –#85807680 | –#76716880 |
border.neutral.high.hovered / blend.strong | –#8580764d | –#7671684d |
border.neutral.high.hovered / blend.full | –#85807600 | –#76716800 |
border.neutral.high.pressed / blend.solid | –#a39e94 | –#59554c |
border.neutral.high.pressed / blend.low | –#a39e94e6 | –#59554ce6 |
border.neutral.high.pressed / blend.medium | –#a39e94b3 | –#59554cb3 |
border.neutral.high.pressed / blend.high | –#a39e9480 | –#59554c80 |
border.neutral.high.pressed / blend.strong | –#a39e944d | –#59554c4d |
border.neutral.high.pressed / blend.full | –#a39e9400 | –#59554c00 |
border.neutral.high.selected / blend.solid | –#948e85 | –#67635a |
border.neutral.high.selected / blend.low | –#948e85e6 | –#67635ae6 |
border.neutral.high.selected / blend.medium | –#948e85b3 | –#67635ab3 |
border.neutral.high.selected / blend.high | –#948e8580 | –#67635a80 |
border.neutral.high.selected / blend.strong | –#948e854d | –#67635a4d |
border.neutral.high.selected / blend.full | –#948e8500 | –#67635a00 |
Intent: neutral, attention: medium
| Token name | light | dark |
|---|---|---|
border.neutral.medium.default / blend.solid | –#948e85 | –#67635a |
border.neutral.medium.default / blend.low | –#948e85e6 | –#67635ae6 |
border.neutral.medium.default / blend.medium | –#948e85b3 | –#67635ab3 |
border.neutral.medium.default / blend.high | –#948e8580 | –#67635a80 |
border.neutral.medium.default / blend.strong | –#948e854d | –#67635a4d |
border.neutral.medium.default / blend.full | –#948e8500 | –#67635a00 |
border.neutral.medium.hovered / blend.solid | –#767168 | –#858076 |
border.neutral.medium.hovered / blend.low | –#767168e6 | –#858076e6 |
border.neutral.medium.hovered / blend.medium | –#767168b3 | –#858076b3 |
border.neutral.medium.hovered / blend.high | –#76716880 | –#85807680 |
border.neutral.medium.hovered / blend.strong | –#7671684d | –#8580764d |
border.neutral.medium.hovered / blend.full | –#76716800 | –#85807600 |
border.neutral.medium.pressed / blend.solid | –#59554c | –#a39e94 |
border.neutral.medium.pressed / blend.low | –#59554ce6 | –#a39e94e6 |
border.neutral.medium.pressed / blend.medium | –#59554cb3 | –#a39e94b3 |
border.neutral.medium.pressed / blend.high | –#59554c80 | –#a39e9480 |
border.neutral.medium.pressed / blend.strong | –#59554c4d | –#a39e944d |
border.neutral.medium.pressed / blend.full | –#59554c00 | –#a39e9400 |
border.neutral.medium.selected / blend.solid | –#67635a | –#948e85 |
border.neutral.medium.selected / blend.low | –#67635ae6 | –#948e85e6 |
border.neutral.medium.selected / blend.medium | –#67635ab3 | –#948e85b3 |
border.neutral.medium.selected / blend.high | –#67635a80 | –#948e8580 |
border.neutral.medium.selected / blend.strong | –#67635a4d | –#948e854d |
border.neutral.medium.selected / blend.full | –#67635a00 | –#948e8500 |
Intent: neutral, attention: low
| Token name | light | dark |
|---|---|---|
border.neutral.low.default / blend.solid | –#d3cdc3 | –#59554c |
border.neutral.low.default / blend.low | –#d3cdc3e6 | –#59554ce6 |
border.neutral.low.default / blend.medium | –#d3cdc3b3 | –#59554cb3 |
border.neutral.low.default / blend.high | –#d3cdc380 | –#59554c80 |
border.neutral.low.default / blend.strong | –#d3cdc34d | –#59554c4d |
border.neutral.low.default / blend.full | –#d3cdc300 | –#59554c00 |
border.neutral.low.hovered / blend.solid | –#b3ada4 | –#858076 |
border.neutral.low.hovered / blend.low | –#b3ada4e6 | –#858076e6 |
border.neutral.low.hovered / blend.medium | –#b3ada4b3 | –#858076b3 |
border.neutral.low.hovered / blend.high | –#b3ada480 | –#85807680 |
border.neutral.low.hovered / blend.strong | –#b3ada44d | –#8580764d |
border.neutral.low.hovered / blend.full | –#b3ada400 | –#85807600 |
border.neutral.low.pressed / blend.solid | –#948e85 | –#a39e94 |
border.neutral.low.pressed / blend.low | –#948e85e6 | –#a39e94e6 |
border.neutral.low.pressed / blend.medium | –#948e85b3 | –#a39e94b3 |
border.neutral.low.pressed / blend.high | –#948e8580 | –#a39e9480 |
border.neutral.low.pressed / blend.strong | –#948e854d | –#a39e944d |
border.neutral.low.pressed / blend.full | –#948e8500 | –#a39e9400 |
border.neutral.low.selected / blend.solid | –#a39e94 | –#948e85 |
border.neutral.low.selected / blend.low | –#a39e94e6 | –#948e85e6 |
border.neutral.low.selected / blend.medium | –#a39e94b3 | –#948e85b3 |
border.neutral.low.selected / blend.high | –#a39e9480 | –#948e8580 |
border.neutral.low.selected / blend.strong | –#a39e944d | –#948e854d |
border.neutral.low.selected / blend.full | –#a39e9400 | –#948e8500 |
Intent: neutral, attention: base
| Token name | light | dark |
|---|---|---|
border.neutral.base.default / blend.solid | –#ffffff | –#000000 |
border.neutral.base.default / blend.low | –#ffffffe6 | –#000000e6 |
border.neutral.base.default / blend.medium | –#ffffffb3 | –#000000b3 |
border.neutral.base.default / blend.high | –#ffffff80 | –#00000080 |
border.neutral.base.default / blend.strong | –#ffffff4d | –#0000004d |
border.neutral.base.default / blend.full | –#ffffff00 | –#00000000 |
border.neutral.base.hovered / blend.solid | –#e3ddd3 | –#4c473f |
border.neutral.base.hovered / blend.low | –#e3ddd3e6 | –#4c473fe6 |
border.neutral.base.hovered / blend.medium | –#e3ddd3b3 | –#4c473fb3 |
border.neutral.base.hovered / blend.high | –#e3ddd380 | –#4c473f80 |
border.neutral.base.hovered / blend.strong | –#e3ddd34d | –#4c473f4d |
border.neutral.base.hovered / blend.full | –#e3ddd300 | –#4c473f00 |
border.neutral.base.pressed / blend.solid | –#c2bdb3 | –#67635a |
border.neutral.base.pressed / blend.low | –#c2bdb3e6 | –#67635ae6 |
border.neutral.base.pressed / blend.medium | –#c2bdb3b3 | –#67635ab3 |
border.neutral.base.pressed / blend.high | –#c2bdb380 | –#67635a80 |
border.neutral.base.pressed / blend.strong | –#c2bdb34d | –#67635a4d |
border.neutral.base.pressed / blend.full | –#c2bdb300 | –#67635a00 |
border.neutral.base.selected / blend.solid | –#d3cdc3 | –#3e3a32 |
border.neutral.base.selected / blend.low | –#d3cdc3e6 | –#3e3a32e6 |
border.neutral.base.selected / blend.medium | –#d3cdc3b3 | –#3e3a32b3 |
border.neutral.base.selected / blend.high | –#d3cdc380 | –#3e3a3280 |
border.neutral.base.selected / blend.strong | –#d3cdc34d | –#3e3a324d |
border.neutral.base.selected / blend.full | –#d3cdc300 | –#3e3a3200 |
Intent: neutral
/**
* [IMPORTANT]: Private properties marked ---- are not intended for direct usage
*/
:root,
:host {
/**
* Blend scale
*/
----blend--0: 0;
----blend--10: 0.1;
----blend--20: 0.2;
----blend--30: 0.3;
----blend--40: 0.4;
----blend--50: 0.5;
----blend--60: 0.6;
----blend--70: 0.7;
----blend--80: 0.8;
----blend--90: 0.9;
----blend--100: 1;
/**
* Color scales
*/
/* Swatch scale for neutral: */
----intent--neutral: 0.0148 82;
----swatch--neutral-0: 0 0 0;
----swatch--neutral-25: ;
----swatch--neutral-50: 1 ;
----swatch--neutral-75: 2 1 ;
----swatch--neutral-100: 5 3 1;
----swatch--neutral-125: 9 6 2;
----swatch--neutral-150: 14 11 5;
----swatch--neutral-175: 2 16 9;
----swatch--neutral-200: 25 21 14;
----swatch--neutral-225: 31 27 2;
----swatch--neutral-250: 37 33 26;
----swatch--neutral-275: 43 39 32;
----swatch--neutral-300: 5 45 38;
----swatch--neutral-325: 56 51 44;
----swatch--neutral-350: 62 58 5;
----swatch--neutral-375: 69 64 56;
----swatch--neutral-400: 76 71 63;
----swatch--neutral-425: 82 78 69;
----swatch--neutral-450: 89 85 76;
----swatch--neutral-475: 96 92 83;
----swatch--neutral-500: 103 99 9;
----swatch--neutral-525: 111 106 97;
----swatch--neutral-550: 118 113 104;
----swatch--neutral-575: 125 12 111;
----swatch--neutral-600: 133 128 118;
----swatch--neutral-625: 14 135 126;
----swatch--neutral-650: 148 142 133;
----swatch--neutral-675: 155 15 141;
----swatch--neutral-700: 163 158 148;
----swatch--neutral-725: 171 165 156;
----swatch--neutral-750: 179 173 164;
----swatch--neutral-775: 186 181 171;
----swatch--neutral-800: 194 189 179;
----swatch--neutral-825: 202 197 187;
----swatch--neutral-850: 211 205 195;
----swatch--neutral-875: 219 213 203;
----swatch--neutral-900: 227 221 211;
----swatch--neutral-925: 235 229 219;
----swatch--neutral-950: 243 238 228;
----swatch--neutral-975: 252 246 236;
----swatch--neutral-1000: 255 255 255;
/**
* Blend tokens
*/
--blend--solid: var(----blend--100);
--blend--low: var(----blend--90);
--blend--medium: var(----blend--70);
--blend--high: var(----blend--50);
--blend--strong: var(----blend--30);
--blend--full: var(----blend--0);
/**
* Color tokens
*
* Provided tokens are not fully functional on their own.
* They must be used with rgb() CSS function to create CSS color, e.g.:
*
* color: rgb(var(--background--critical-medium-hovered--dark));
*
* These tokens can be combined with blend tokens to create semi-transparent colors, e.g.:
*
* color: rgb(var(--foreground--critical-high-default--light) / var(--blend--medium));
* background-color: rgb(var(--background--critical-medium-default--light) / var(--blend--medium));
* border-color: rgb(var(--border--critical-medium-default--light) / var(--blend--medium));
*/
/**
* Abstract border tokens for neutral intent:
*/
--border--neutral-base-default--light: var(----swatch--neutral-1000);
--border--neutral-base-default--dark: var(----swatch--neutral-0);
--border--neutral-base-hovered--light: var(----swatch--neutral-900);
--border--neutral-base-hovered--dark: var(----swatch--neutral-400);
--border--neutral-base-pressed--light: var(----swatch--neutral-800);
--border--neutral-base-pressed--dark: var(----swatch--neutral-500);
--border--neutral-base-selected--light: var(----swatch--neutral-850);
--border--neutral-base-selected--dark: var(----swatch--neutral-350);
--border--neutral-low-default--light: var(----swatch--neutral-850);
--border--neutral-low-default--dark: var(----swatch--neutral-450);
--border--neutral-low-hovered--light: var(----swatch--neutral-750);
--border--neutral-low-hovered--dark: var(----swatch--neutral-600);
--border--neutral-low-pressed--light: var(----swatch--neutral-650);
--border--neutral-low-pressed--dark: var(----swatch--neutral-700);
--border--neutral-low-selected--light: var(----swatch--neutral-700);
--border--neutral-low-selected--dark: var(----swatch--neutral-650);
--border--neutral-medium-default--light: var(----swatch--neutral-650);
--border--neutral-medium-default--dark: var(----swatch--neutral-500);
--border--neutral-medium-hovered--light: var(----swatch--neutral-550);
--border--neutral-medium-hovered--dark: var(----swatch--neutral-600);
--border--neutral-medium-pressed--light: var(----swatch--neutral-450);
--border--neutral-medium-pressed--dark: var(----swatch--neutral-700);
--border--neutral-medium-selected--light: var(----swatch--neutral-500);
--border--neutral-medium-selected--dark: var(----swatch--neutral-650);
--border--neutral-high-default--light: var(----swatch--neutral-500);
--border--neutral-high-default--dark: var(----swatch--neutral-650);
--border--neutral-high-hovered--light: var(----swatch--neutral-600);
--border--neutral-high-hovered--dark: var(----swatch--neutral-550);
--border--neutral-high-pressed--light: var(----swatch--neutral-700);
--border--neutral-high-pressed--dark: var(----swatch--neutral-450);
--border--neutral-high-selected--light: var(----swatch--neutral-650);
--border--neutral-high-selected--dark: var(----swatch--neutral-500);
--border--neutral-strong-default--light: var(----swatch--neutral-450);
--border--neutral-strong-default--dark: var(----swatch--neutral-850);
--border--neutral-strong-hovered--light: var(----swatch--neutral-600);
--border--neutral-strong-hovered--dark: var(----swatch--neutral-750);
--border--neutral-strong-pressed--light: var(----swatch--neutral-700);
--border--neutral-strong-pressed--dark: var(----swatch--neutral-650);
--border--neutral-strong-selected--light: var(----swatch--neutral-650);
--border--neutral-strong-selected--dark: var(----swatch--neutral-700);
--border--neutral-full-default--light: var(----swatch--neutral-0);
--border--neutral-full-default--dark: var(----swatch--neutral-1000);
--border--neutral-full-hovered--light: var(----swatch--neutral-400);
--border--neutral-full-hovered--dark: var(----swatch--neutral-900);
--border--neutral-full-pressed--light: var(----swatch--neutral-500);
--border--neutral-full-pressed--dark: var(----swatch--neutral-800);
--border--neutral-full-selected--light: var(----swatch--neutral-350);
--border--neutral-full-selected--dark: var(----swatch--neutral-850);
}
Intent: neutral
{
"Scales": {
"__scales": {
"swatch": {
"neutral": {
"0": {
"$type": "color",
"$value": "#000000"
},
"25": {
"$type": "color",
"$value": "#000000"
},
"50": {
"$type": "color",
"$value": "#010000"
},
"75": {
"$type": "color",
"$value": "#020100"
},
"100": {
"$type": "color",
"$value": "#050301"
},
"125": {
"$type": "color",
"$value": "#090602"
},
"150": {
"$type": "color",
"$value": "#0e0b05"
},
"175": {
"$type": "color",
"$value": "#141009"
},
"200": {
"$type": "color",
"$value": "#19150e"
},
"225": {
"$type": "color",
"$value": "#1f1b14"
},
"250": {
"$type": "color",
"$value": "#25211a"
},
"275": {
"$type": "color",
"$value": "#2b2720"
},
"300": {
"$type": "color",
"$value": "#322d26"
},
"325": {
"$type": "color",
"$value": "#38332c"
},
"350": {
"$type": "color",
"$value": "#3e3a32"
},
"375": {
"$type": "color",
"$value": "#454038"
},
"400": {
"$type": "color",
"$value": "#4c473f"
},
"425": {
"$type": "color",
"$value": "#524e45"
},
"450": {
"$type": "color",
"$value": "#59554c"
},
"475": {
"$type": "color",
"$value": "#605c53"
},
"500": {
"$type": "color",
"$value": "#67635a"
},
"525": {
"$type": "color",
"$value": "#6f6a61"
},
"550": {
"$type": "color",
"$value": "#767168"
},
"575": {
"$type": "color",
"$value": "#7d786f"
},
"600": {
"$type": "color",
"$value": "#858076"
},
"625": {
"$type": "color",
"$value": "#8c877e"
},
"650": {
"$type": "color",
"$value": "#948e85"
},
"675": {
"$type": "color",
"$value": "#9b968d"
},
"700": {
"$type": "color",
"$value": "#a39e94"
},
"725": {
"$type": "color",
"$value": "#aba59c"
},
"750": {
"$type": "color",
"$value": "#b3ada4"
},
"775": {
"$type": "color",
"$value": "#bab5ab"
},
"800": {
"$type": "color",
"$value": "#c2bdb3"
},
"825": {
"$type": "color",
"$value": "#cac5bb"
},
"850": {
"$type": "color",
"$value": "#d3cdc3"
},
"875": {
"$type": "color",
"$value": "#dbd5cb"
},
"900": {
"$type": "color",
"$value": "#e3ddd3"
},
"925": {
"$type": "color",
"$value": "#ebe5db"
},
"950": {
"$type": "color",
"$value": "#f3eee4"
},
"975": {
"$type": "color",
"$value": "#fcf6ec"
},
"1000": {
"$type": "color",
"$value": "#ffffff"
}
}
},
"blend": {
"0": {
"$type": "number",
"$value": 0
},
"10": {
"$type": "number",
"$value": 10
},
"20": {
"$type": "number",
"$value": 20
},
"30": {
"$type": "number",
"$value": 30
},
"40": {
"$type": "number",
"$value": 40
},
"50": {
"$type": "number",
"$value": 50
},
"60": {
"$type": "number",
"$value": 60
},
"70": {
"$type": "number",
"$value": 70
},
"80": {
"$type": "number",
"$value": 80
},
"90": {
"$type": "number",
"$value": 90
},
"100": {
"$type": "number",
"$value": 100
}
}
}
},
"Blends": {
"solid": {
"$type": "number",
"$value": "{__scales/blend/100}"
},
"low": {
"$type": "number",
"$value": "{__scales/blend/90}"
},
"medium": {
"$type": "number",
"$value": "{__scales/blend/70}"
},
"high": {
"$type": "number",
"$value": "{__scales/blend/50}"
},
"strong": {
"$type": "number",
"$value": "{__scales/blend/30}"
},
"full": {
"$type": "number",
"$value": "{__scales/blend/0}"
}
},
"Colors": {
"border": {
"neutral": {
"base": {
"default": {
"$type": "color",
"$value": {
"light": "{__scales/swatch/neutral/1000}",
"dark": "{__scales/swatch/neutral/0}"
}
},
"hovered": {
"$type": "color",
"$value": {
"light": "{__scales/swatch/neutral/900}",
"dark": "{__scales/swatch/neutral/400}"
}
},
"pressed": {
"$type": "color",
"$value": {
"light": "{__scales/swatch/neutral/800}",
"dark": "{__scales/swatch/neutral/500}"
}
},
"selected": {
"$type": "color",
"$value": {
"light": "{__scales/swatch/neutral/850}",
"dark": "{__scales/swatch/neutral/350}"
}
}
},
"low": {
"default": {
"$type": "color",
"$value": {
"light": "{__scales/swatch/neutral/850}",
"dark": "{__scales/swatch/neutral/450}"
}
},
"hovered": {
"$type": "color",
"$value": {
"light": "{__scales/swatch/neutral/750}",
"dark": "{__scales/swatch/neutral/600}"
}
},
"pressed": {
"$type": "color",
"$value": {
"light": "{__scales/swatch/neutral/650}",
"dark": "{__scales/swatch/neutral/700}"
}
},
"selected": {
"$type": "color",
"$value": {
"light": "{__scales/swatch/neutral/700}",
"dark": "{__scales/swatch/neutral/650}"
}
}
},
"medium": {
"default": {
"$type": "color",
"$value": {
"light": "{__scales/swatch/neutral/650}",
"dark": "{__scales/swatch/neutral/500}"
}
},
"hovered": {
"$type": "color",
"$value": {
"light": "{__scales/swatch/neutral/550}",
"dark": "{__scales/swatch/neutral/600}"
}
},
"pressed": {
"$type": "color",
"$value": {
"light": "{__scales/swatch/neutral/450}",
"dark": "{__scales/swatch/neutral/700}"
}
},
"selected": {
"$type": "color",
"$value": {
"light": "{__scales/swatch/neutral/500}",
"dark": "{__scales/swatch/neutral/650}"
}
}
},
"high": {
"default": {
"$type": "color",
"$value": {
"light": "{__scales/swatch/neutral/500}",
"dark": "{__scales/swatch/neutral/650}"
}
},
"hovered": {
"$type": "color",
"$value": {
"light": "{__scales/swatch/neutral/600}",
"dark": "{__scales/swatch/neutral/550}"
}
},
"pressed": {
"$type": "color",
"$value": {
"light": "{__scales/swatch/neutral/700}",
"dark": "{__scales/swatch/neutral/450}"
}
},
"selected": {
"$type": "color",
"$value": {
"light": "{__scales/swatch/neutral/650}",
"dark": "{__scales/swatch/neutral/500}"
}
}
},
"strong": {
"default": {
"$type": "color",
"$value": {
"light": "{__scales/swatch/neutral/450}",
"dark": "{__scales/swatch/neutral/850}"
}
},
"hovered": {
"$type": "color",
"$value": {
"light": "{__scales/swatch/neutral/600}",
"dark": "{__scales/swatch/neutral/750}"
}
},
"pressed": {
"$type": "color",
"$value": {
"light": "{__scales/swatch/neutral/700}",
"dark": "{__scales/swatch/neutral/650}"
}
},
"selected": {
"$type": "color",
"$value": {
"light": "{__scales/swatch/neutral/650}",
"dark": "{__scales/swatch/neutral/700}"
}
}
},
"full": {
"default": {
"$type": "color",
"$value": {
"light": "{__scales/swatch/neutral/0}",
"dark": "{__scales/swatch/neutral/1000}"
}
},
"hovered": {
"$type": "color",
"$value": {
"light": "{__scales/swatch/neutral/400}",
"dark": "{__scales/swatch/neutral/900}"
}
},
"pressed": {
"$type": "color",
"$value": {
"light": "{__scales/swatch/neutral/500}",
"dark": "{__scales/swatch/neutral/800}"
}
},
"selected": {
"$type": "color",
"$value": {
"light": "{__scales/swatch/neutral/350}",
"dark": "{__scales/swatch/neutral/850}"
}
}
}
}
}
}
}
We recommend using the Luckino Variables Import/Export JSON CSS plugin to import these tokens.
const scales = {
"blend": {
"0": 0,
"10": 0.1,
"20": 0.2,
"30": 0.3,
"40": 0.4,
"50": 0.5,
"60": 0.6,
"70": 0.7,
"80": 0.8,
"90": 0.9,
"100": 1
},
"intent": {
"neutral": "0.581 0.015 82"
},
"swatch": {
"neutral": {
"0": "0 0 0",
"25": " ",
"50": "1 ",
"75": "2 1 ",
"100": "5 3 1",
"125": "9 6 2",
"150": "14 11 5",
"175": "2 16 9",
"200": "25 21 14",
"225": "31 27 2",
"250": "37 33 26",
"275": "43 39 32",
"300": "5 45 38",
"325": "56 51 44",
"350": "62 58 5",
"375": "69 64 56",
"400": "76 71 63",
"425": "82 78 69",
"450": "89 85 76",
"475": "96 92 83",
"500": "103 99 9",
"525": "111 106 97",
"550": "118 113 104",
"575": "125 12 111",
"600": "133 128 118",
"625": "14 135 126",
"650": "148 142 133",
"675": "155 15 141",
"700": "163 158 148",
"725": "171 165 156",
"750": "179 173 164",
"775": "186 181 171",
"800": "194 189 179",
"825": "202 197 187",
"850": "211 205 195",
"875": "219 213 203",
"900": "227 221 211",
"925": "235 229 219",
"950": "243 238 228",
"975": "252 246 236",
"1000": "255 255 255"
}
}
} as const;
export const tokens = {
"light": {
"blend": {
"solid": 100,
"low": 90,
"medium": 70,
"high": 50,
"strong": 30,
"full": scales.blend[0]
},
"color": {
"border": {
"neutral": {
"base": {
"default": scales.swatch.neutral[1000],
"hovered": scales.swatch.neutral[900],
"pressed": scales.swatch.neutral[800],
"selected": scales.swatch.neutral[850]
},
"low": {
"default": scales.swatch.neutral[850],
"hovered": scales.swatch.neutral[750],
"pressed": scales.swatch.neutral[650],
"selected": scales.swatch.neutral[700]
},
"medium": {
"default": scales.swatch.neutral[650],
"hovered": scales.swatch.neutral[550],
"pressed": scales.swatch.neutral[450],
"selected": scales.swatch.neutral[500]
},
"high": {
"default": scales.swatch.neutral[500],
"hovered": scales.swatch.neutral[600],
"pressed": scales.swatch.neutral[700],
"selected": scales.swatch.neutral[650]
},
"strong": {
"default": scales.swatch.neutral[450],
"hovered": scales.swatch.neutral[600],
"pressed": scales.swatch.neutral[700],
"selected": scales.swatch.neutral[650]
},
"full": {
"default": scales.swatch.neutral[0],
"hovered": scales.swatch.neutral[400],
"pressed": scales.swatch.neutral[500],
"selected": scales.swatch.neutral[350]
}
}
}
}
},
"dark": {
"blend": {
"solid": 100,
"low": 90,
"medium": 70,
"high": 50,
"strong": 30,
"full": scales.blend[0]
},
"color": {
"border": {
"neutral": {
"base": {
"default": scales.swatch.neutral[0],
"hovered": scales.swatch.neutral[400],
"pressed": scales.swatch.neutral[500],
"selected": scales.swatch.neutral[350]
},
"low": {
"default": scales.swatch.neutral[450],
"hovered": scales.swatch.neutral[600],
"pressed": scales.swatch.neutral[700],
"selected": scales.swatch.neutral[650]
},
"medium": {
"default": scales.swatch.neutral[500],
"hovered": scales.swatch.neutral[600],
"pressed": scales.swatch.neutral[700],
"selected": scales.swatch.neutral[650]
},
"high": {
"default": scales.swatch.neutral[650],
"hovered": scales.swatch.neutral[550],
"pressed": scales.swatch.neutral[450],
"selected": scales.swatch.neutral[500]
},
"strong": {
"default": scales.swatch.neutral[850],
"hovered": scales.swatch.neutral[750],
"pressed": scales.swatch.neutral[650],
"selected": scales.swatch.neutral[700]
},
"full": {
"default": scales.swatch.neutral[1000],
"hovered": scales.swatch.neutral[900],
"pressed": scales.swatch.neutral[800],
"selected": scales.swatch.neutral[850]
}
}
}
}
}
} as const;
Up Next
Defining Intents
Defining intents allows you to tailor color tokens to better fit your product's unique requirements.