@equinor/eds-tokens 2.3.0-beta.2 → 2.3.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -22,7 +22,27 @@ The package provides two token systems:
22
22
 
23
23
  ## CSS Variables (Recommended)
24
24
 
25
- The new token system uses CSS custom properties that automatically adapt to light and dark color schemes using the modern `light-dark()` function. These tokens are directly synced from Figma variables.
25
+ The new token system uses CSS custom properties that automatically adapt to light and dark color schemes via explicit `[data-color-scheme]` scope rules with a `prefers-color-scheme` media-query fallback. These tokens are directly synced from Figma variables.
26
+
27
+ ### Dark mode
28
+
29
+ Dual-mode color tokens are emitted as explicit scope rules in the published `variables.min.css`:
30
+
31
+ ```css
32
+ :root { --eds-color-bg-floating: #fff; }
33
+ [data-color-scheme="light"] { --eds-color-bg-floating: #fff; }
34
+ [data-color-scheme="dark"] { --eds-color-bg-floating: #202223; }
35
+
36
+ @media (prefers-color-scheme: dark) {
37
+ :root:not([data-color-scheme="light"]) {
38
+ --eds-color-bg-floating: #202223;
39
+ }
40
+ }
41
+ ```
42
+
43
+ The published CSS does **not** use the `light-dark()` CSS function. This is deliberate: `light-dark()` is correct in source CSS, but downstream bundlers (Vite 8 + Rolldown + lightningcss, esbuild with legacy targets, postcss with certain presets) may polyfill it into a `var()` pattern that does not work for subtree-scoped dark mode. Emitting explicit scope rules is robust against any downstream CSS pipeline regardless of how it is configured.
44
+
45
+ To enable dark mode for a subtree, set `data-color-scheme="dark"` on a wrapper element. To opt out of system dark mode for a subtree, set `data-color-scheme="light"`.
26
46
 
27
47
  ### Using CSS Variables in CSS
28
48
 
@@ -94,6 +114,37 @@ const padding = comfortableSpacing.SPACING_INLINE_MD
94
114
  const borderRadius = comfortableSpacing.SPACING_BORDER_RADIUS_ROUNDED
95
115
  ```
96
116
 
117
+ #### Typography (non-CSS targets)
118
+
119
+ Typography is composed at runtime from five orthogonal axes. The CSS bundle resolves them via `data-*` attributes; non-CSS consumers (React Native, SSR, design tooling) import the family-keyed matrix directly:
120
+
121
+ ```typescript
122
+ import { typography as ui } from '@equinor/eds-tokens/ts/typography/font-family-ui'
123
+ import { typography as header } from '@equinor/eds-tokens/ts/typography/font-family-header'
124
+
125
+ const md = ui.fontFamilySize.md
126
+
127
+ const style = {
128
+ fontFamily: ui.typography.fontFamily,
129
+ fontSize: md.fontSize,
130
+ fontWeight: md.fontWeight.normal,
131
+ lineHeight: md.lineHeight.default,
132
+ letterSpacing: md.tracking.normal,
133
+ }
134
+ // { fontFamily: 'Inter', fontSize: 14, fontWeight: 400,
135
+ // lineHeight: 20, letterSpacing: 0 }
136
+ ```
137
+
138
+ Each size cell exposes `fontSize`, nested `fontWeight` / `tracking` / `lineHeight` objects, and inlined `iconSize` / `gapHorizontal` / `gapVertical` extras for chip- and button-like layouts. Variant names can be derived with `keyof`:
139
+
140
+ ```typescript
141
+ type Weight = keyof typeof ui.fontFamilySize.md.fontWeight // 'lighter' | 'normal' | 'bolder'
142
+ ```
143
+
144
+ For React Native, coerce `fontWeight` to a string at the call site (`String(md.fontWeight.normal)`) so it slots into `<Text style>`.
145
+
146
+ See [`instructions/typography.md`](./instructions/typography.md) for the full axis model.
147
+
97
148
  ### Importing variables as JSON
98
149
 
99
150
  The variables are available in two formats:
@@ -147,7 +198,7 @@ The typography system requires two font families: **Equinor** (headings) and **I
147
198
 
148
199
  ### Typography variables that adapt to data-attributes
149
200
  * Font family setup (UI and Header fonts)
150
- * Font size data attributes (`[data-text-size='xs']`, `[data-text-size='sm']`, etc.)
201
+ * Font size data attributes (`[data-font-size='xs']`, `[data-font-size='sm']`, etc.)
151
202
  * Line height data attributes (`[data-line-height='default']`, `[data-line-height='squished']`)
152
203
  * Font weight data attributes (`[data-font-weight='lighter']`, `[data-font-weight='normal']`, `[data-font-weight='bolder']`)
153
204
  * Letter spacing data attributes (`[data-tracking='tight']`, `[data-tracking='normal']`, `[data-tracking='wide']`)
@@ -174,17 +225,17 @@ Set typography properties using data attributes:
174
225
 
175
226
  ```html
176
227
  <!-- UI font with medium size -->
177
- <p data-font-family="ui" data-text-size="md" data-line-height="default">
228
+ <p data-font-family="ui" data-font-size="md" data-line-height="default">
178
229
  UI font text
179
230
  </p>
180
231
 
181
232
  <!-- Header font with extra large size and bolder weight -->
182
- <h1 data-font-family="header" data-text-size="xl" data-font-weight="bolder">
233
+ <h1 data-font-family="header" data-font-size="xl" data-font-weight="bolder">
183
234
  Header font text
184
235
  </h1>
185
236
 
186
237
  <!-- Baseline grid alignment -->
187
- <p data-font-family="ui" data-text-size="md" data-baseline="grid">
238
+ <p data-font-family="ui" data-font-size="md" data-baseline="grid">
188
239
  Aligned to 4px baseline grid
189
240
  </p>
190
241
  ```
@@ -249,7 +300,7 @@ The foundation CSS includes baseline grid alignment for consistent vertical rhyt
249
300
  * `data-baseline="center"` -- Centers text vertically while maintaining 4px grid alignment
250
301
 
251
302
  ```html
252
- <p data-font-family="ui" data-text-size="md" data-baseline="grid">
303
+ <p data-font-family="ui" data-font-size="md" data-baseline="grid">
253
304
  Text aligned to baseline grid
254
305
  </p>
255
306
  ```
@@ -63,7 +63,7 @@
63
63
  --eds-font-family-size-5xl-font-size: var(--eds-typography-ui-body-5xl-font-size);
64
64
  --eds-font-family-size-5xl-tracking-tight: var(--eds-typography-ui-body-5xl-tracking-tight);
65
65
  --eds-font-family-size-5xl-tracking-normal: var(--eds-typography-ui-body-5xl-tracking-normal);
66
- --eds-font-family-size-5xl-tracking-wide: var(--eds-typography-ui-body-5xl-font-weight-lighter);
66
+ --eds-font-family-size-5xl-tracking-wide: var(--eds-typography-ui-body-5xl-tracking-wide);
67
67
  --eds-font-family-size-5xl-font-weight-lighter: var(--eds-typography-ui-body-5xl-font-weight-lighter);
68
68
  --eds-font-family-size-5xl-font-weight-normal: var(--eds-typography-ui-body-5xl-font-weight-normal);
69
69
  --eds-font-family-size-5xl-font-weight-bolder: var(--eds-typography-ui-body-5xl-font-weight-bolder);
@@ -1,14 +1,17 @@
1
1
  /*
2
- * Registered custom property for font-size values
3
- *
4
- * This @property declaration registers --eds-typography-font-size as a typed CSS custom property,
5
- * enabling proper unit handling in calc() expressions. This is essential for the
6
- * text-icon sizing calculations, which use tan(atan2(var(--eds-typography-font-size), 1px)) to
7
- * extract the numeric value from the font-size for proportional icon scaling.
8
- *
9
- * Without this registration, the browser would treat --eds-typography-font-size as an untyped string,
10
- * preventing the mathematical operations needed for responsive icon sizing based on
11
- * the current text size.
2
+ * Registered custom properties for length-typed typography values.
3
+ *
4
+ * Typing these as <length> makes them safe to use directly in CSS length contexts
5
+ * (gap, font-size) and enables proper interpolation for transitions.
6
+ * --eds-typography-font-size in particular is used in tan(atan2(var(--eds-typography-font-size), 1px))
7
+ * for proportional icon sizing, which requires a registered length.
8
+ *
9
+ * Note: --eds-typography-icon-size is intentionally NOT registered. Icon.css uses
10
+ * `var(--eds-typography-icon-size, 1.5em)` where the 1.5em fallback provides
11
+ * proportional sizing relative to the parent's font-size when no [data-font-size]
12
+ * context is set. A registered @property always has a valid computed value
13
+ * (the initial-value), which would suppress the fallback — and 1.5em is not a
14
+ * valid initial-value (must be computationally independent).
12
15
  */
13
16
  @property --eds-typography-font-size {
14
17
  inherits: true;
@@ -16,6 +19,18 @@
16
19
  syntax: '<length>';
17
20
  }
18
21
 
22
+ @property --eds-typography-gap-horizontal {
23
+ inherits: true;
24
+ initial-value: 0;
25
+ syntax: '<length>';
26
+ }
27
+
28
+ @property --eds-typography-gap-vertical {
29
+ inherits: true;
30
+ initial-value: 0;
31
+ syntax: '<length>';
32
+ }
33
+
19
34
  /* Reset typography margin and set display mode */
20
35
  [data-font-family] {
21
36
  margin: 0;
@@ -6,105 +6,105 @@
6
6
  color-scheme: dark;
7
7
  }
8
8
 
9
- :root {
10
- --eds-color-bg-floating: light-dark(#fff, #202223);
11
- --eds-color-bg-backdrop: light-dark(#aeaeae, #738696);
12
- --eds-color-bg-input: light-dark(#f5f5f5, #0b0b0b);
13
- --eds-color-border-focus: light-dark(#6fb6e9, #2d8bc5);
14
- --eds-color-text-link: light-dark(#0070a9, #5abbfb);
15
- --eds-color-bg-disabled: light-dark(#e1e1e1, #525c65);
16
- --eds-color-border-disabled: light-dark(#aeaeae, #738696);
17
- --eds-color-text-disabled: light-dark(#aeaeae, #738696);
18
- --eds-color-accent-1: light-dark(#eaf8fa, #0a0b0b);
19
- --eds-color-accent-2: light-dark(#f6ffff, #1e2323);
20
- --eds-color-accent-3: light-dark(#cfe7e9, #3c6266);
21
- --eds-color-accent-4: light-dark(#bbdbdf, #3e7378);
22
- --eds-color-accent-5: light-dark(#a2cdd2, #41878e);
23
- --eds-color-accent-6: light-dark(#bbdbdf, #3c6266);
24
- --eds-color-accent-7: light-dark(#7cbac1, #439199);
25
- --eds-color-accent-8: light-dark(#21767e, #6ec0c9);
26
- --eds-color-accent-9: light-dark(#206f77, #8cd2da);
27
- --eds-color-accent-10: light-dark(#205c62, #ace3e9);
28
- --eds-color-accent-11: light-dark(#20565c, #c7f1f6);
29
- --eds-color-accent-12: light-dark(#1f6369, #bcebf1);
30
- --eds-color-accent-13: light-dark(#141f20, #e6ffff);
31
- --eds-color-accent-14: light-dark(#cae4e7, #2c3839);
32
- --eds-color-accent-15: light-dark(#fff, #030303);
33
- --eds-color-neutral-1: light-dark(#f5f5f5, #0b0b0b);
34
- --eds-color-neutral-2: light-dark(#fff, #202223);
35
- --eds-color-neutral-3: light-dark(#e1e1e1, #525c65);
36
- --eds-color-neutral-4: light-dark(#d4d4d4, #5d6b76);
37
- --eds-color-neutral-5: light-dark(#c4c4c4, #6b7d8b);
38
- --eds-color-neutral-6: light-dark(#d4d4d4, #525c65);
39
- --eds-color-neutral-7: light-dark(#aeaeae, #738696);
40
- --eds-color-neutral-8: light-dark(#696969, #9fb4c6);
41
- --eds-color-neutral-9: light-dark(#636363, #b4c7d7);
42
- --eds-color-neutral-10: light-dark(#525252, #cadae7);
43
- --eds-color-neutral-11: light-dark(#4d4d4d, #deeaf4);
44
- --eds-color-neutral-12: light-dark(#585858, #d6e3ee);
45
- --eds-color-neutral-13: light-dark(#1d1d1d, #f5fdff);
46
- --eds-color-neutral-14: light-dark(#dedede, #333639);
47
- --eds-color-neutral-15: light-dark(#fff, #030303);
48
- --eds-color-info-1: light-dark(#e7f8ff, #0a0b0c);
49
- --eds-color-info-2: light-dark(#f4ffff, #1d2226);
50
- --eds-color-info-3: light-dark(#cae6fa, #33607e);
51
- --eds-color-info-4: light-dark(#b5daf5, #316f98);
52
- --eds-color-info-5: light-dark(#99cbf0, #2e82b7);
53
- --eds-color-info-6: light-dark(#b5daf5, #33607e);
54
- --eds-color-info-7: light-dark(#6fb6e9, #2d8bc5);
55
- --eds-color-info-8: light-dark(#0070a9, #5abbfb);
56
- --eds-color-info-9: light-dark(#006aa0, #7dceff);
57
- --eds-color-info-10: light-dark(#085883, #a2e0ff);
58
- --eds-color-info-11: light-dark(#0e5279, #c4eeff);
59
- --eds-color-info-12: light-dark(#015e8d, #b7e8ff);
60
- --eds-color-info-13: light-dark(#121e27, #ecffff);
61
- --eds-color-info-14: light-dark(#c5e3f9, #2a3741);
62
- --eds-color-info-15: light-dark(#fff, #030304);
63
- --eds-color-success-1: light-dark(#eafbe8, #0a0c0a);
64
- --eds-color-success-2: light-dark(#f6fff5, #1e231e);
65
- --eds-color-success-3: light-dark(#cfeacc, #3c673a);
66
- --eds-color-success-4: light-dark(#bbe0b8, #3e793c);
67
- --eds-color-success-5: light-dark(#a2d49e, #418e3e);
68
- --eds-color-success-6: light-dark(#bbe0b8, #3c673a);
69
- --eds-color-success-7: light-dark(#7cc278, #439941);
70
- --eds-color-success-8: light-dark(#227e22, #6eca6a);
71
- --eds-color-success-9: light-dark(#207720, #8cdb87);
72
- --eds-color-success-10: light-dark(#20621f, #aceba8);
73
- --eds-color-success-11: light-dark(#215c1f, #c7f7c3);
74
- --eds-color-success-12: light-dark(#20691f, #bcf2b8);
75
- --eds-color-success-13: light-dark(#142114, #e6ffe3);
76
- --eds-color-success-14: light-dark(#cae8c7, #2c392b);
77
- --eds-color-success-15: light-dark(#fff, #030303);
78
- --eds-color-warning-1: light-dark(#fff1e2, #0c0b0a);
79
- --eds-color-warning-2: light-dark(#fffcf0, #27201b);
80
- --eds-color-warning-3: light-dark(#fbdac1, #7e4e25);
81
- --eds-color-warning-4: light-dark(#f6caaa, #97571b);
82
- --eds-color-warning-5: light-dark(#f0b689, #b46201);
83
- --eds-color-warning-6: light-dark(#f6caaa, #7e4e25);
84
- --eds-color-warning-7: light-dark(#e89959, #c36800);
85
- --eds-color-warning-8: light-dark(#a34e00, #f99539);
86
- --eds-color-warning-9: light-dark(#9b4900, #ffad63);
87
- --eds-color-warning-10: light-dark(#813e00, #ffc791);
88
- --eds-color-warning-11: light-dark(#773a00, #ffddb9);
89
- --eds-color-warning-12: light-dark(#8a4100, #ffd4aa);
90
- --eds-color-warning-13: light-dark(#27190e, #fff7e6);
91
- --eds-color-warning-14: light-dark(#fad6bc, #413226);
92
- --eds-color-warning-15: light-dark(#fff, #040303);
93
- --eds-color-danger-1: light-dark(#ffecea, #0d0a0a);
94
- --eds-color-danger-2: light-dark(#fff9f8, #2a1e1e);
95
- --eds-color-danger-3: light-dark(#ffd0ce, #923a3c);
96
- --eds-color-danger-4: light-dark(#ffbcba, #b03940);
97
- --eds-color-danger-5: light-dark(#ffa3a1, #d43745);
98
- --eds-color-danger-6: light-dark(#ffbcba, #923a3c);
99
- --eds-color-danger-7: light-dark(#ff7a7d, #e53748);
100
- --eds-color-danger-8: light-dark(#c6002d, #ff8082);
101
- --eds-color-danger-9: light-dark(#bc002a, #ffa3a1);
102
- --eds-color-danger-10: light-dark(#9a1026, #ffc1bf);
103
- --eds-color-danger-11: light-dark(#8e1525, #ffd9d7);
104
- --eds-color-danger-12: light-dark(#a50827, #ffd0ce);
105
- --eds-color-danger-13: light-dark(#2e1414, #fff5f4);
106
- --eds-color-danger-14: light-dark(#ffcbc9, #492d2c);
107
- --eds-color-danger-15: light-dark(#fff, #040303);
9
+ :root, [data-color-scheme="light"] {
10
+ --eds-color-bg-floating: #fff;
11
+ --eds-color-bg-backdrop: #aeaeae;
12
+ --eds-color-bg-input: #f5f5f5;
13
+ --eds-color-border-focus: #6fb6e9;
14
+ --eds-color-text-link: #0070a9;
15
+ --eds-color-bg-disabled: #e1e1e1;
16
+ --eds-color-border-disabled: #aeaeae;
17
+ --eds-color-text-disabled: #aeaeae;
18
+ --eds-color-accent-1: #eaf8fa;
19
+ --eds-color-accent-2: #f6ffff;
20
+ --eds-color-accent-3: #cfe7e9;
21
+ --eds-color-accent-4: #bbdbdf;
22
+ --eds-color-accent-5: #a2cdd2;
23
+ --eds-color-accent-6: #bbdbdf;
24
+ --eds-color-accent-7: #7cbac1;
25
+ --eds-color-accent-8: #21767e;
26
+ --eds-color-accent-9: #206f77;
27
+ --eds-color-accent-10: #205c62;
28
+ --eds-color-accent-11: #20565c;
29
+ --eds-color-accent-12: #1f6369;
30
+ --eds-color-accent-13: #141f20;
31
+ --eds-color-accent-14: #cae4e7;
32
+ --eds-color-accent-15: #fff;
33
+ --eds-color-neutral-1: #f5f5f5;
34
+ --eds-color-neutral-2: #fff;
35
+ --eds-color-neutral-3: #e1e1e1;
36
+ --eds-color-neutral-4: #d4d4d4;
37
+ --eds-color-neutral-5: #c4c4c4;
38
+ --eds-color-neutral-6: #d4d4d4;
39
+ --eds-color-neutral-7: #aeaeae;
40
+ --eds-color-neutral-8: #696969;
41
+ --eds-color-neutral-9: #636363;
42
+ --eds-color-neutral-10: #525252;
43
+ --eds-color-neutral-11: #4d4d4d;
44
+ --eds-color-neutral-12: #585858;
45
+ --eds-color-neutral-13: #1d1d1d;
46
+ --eds-color-neutral-14: #dedede;
47
+ --eds-color-neutral-15: #fff;
48
+ --eds-color-info-1: #e7f8ff;
49
+ --eds-color-info-2: #f4ffff;
50
+ --eds-color-info-3: #cae6fa;
51
+ --eds-color-info-4: #b5daf5;
52
+ --eds-color-info-5: #99cbf0;
53
+ --eds-color-info-6: #b5daf5;
54
+ --eds-color-info-7: #6fb6e9;
55
+ --eds-color-info-8: #0070a9;
56
+ --eds-color-info-9: #006aa0;
57
+ --eds-color-info-10: #085883;
58
+ --eds-color-info-11: #0e5279;
59
+ --eds-color-info-12: #015e8d;
60
+ --eds-color-info-13: #121e27;
61
+ --eds-color-info-14: #c5e3f9;
62
+ --eds-color-info-15: #fff;
63
+ --eds-color-success-1: #eafbe8;
64
+ --eds-color-success-2: #f6fff5;
65
+ --eds-color-success-3: #cfeacc;
66
+ --eds-color-success-4: #bbe0b8;
67
+ --eds-color-success-5: #a2d49e;
68
+ --eds-color-success-6: #bbe0b8;
69
+ --eds-color-success-7: #7cc278;
70
+ --eds-color-success-8: #227e22;
71
+ --eds-color-success-9: #207720;
72
+ --eds-color-success-10: #20621f;
73
+ --eds-color-success-11: #215c1f;
74
+ --eds-color-success-12: #20691f;
75
+ --eds-color-success-13: #142114;
76
+ --eds-color-success-14: #cae8c7;
77
+ --eds-color-success-15: #fff;
78
+ --eds-color-warning-1: #fff1e2;
79
+ --eds-color-warning-2: #fffcf0;
80
+ --eds-color-warning-3: #fbdac1;
81
+ --eds-color-warning-4: #f6caaa;
82
+ --eds-color-warning-5: #f0b689;
83
+ --eds-color-warning-6: #f6caaa;
84
+ --eds-color-warning-7: #e89959;
85
+ --eds-color-warning-8: #a34e00;
86
+ --eds-color-warning-9: #9b4900;
87
+ --eds-color-warning-10: #813e00;
88
+ --eds-color-warning-11: #773a00;
89
+ --eds-color-warning-12: #8a4100;
90
+ --eds-color-warning-13: #27190e;
91
+ --eds-color-warning-14: #fad6bc;
92
+ --eds-color-warning-15: #fff;
93
+ --eds-color-danger-1: #ffecea;
94
+ --eds-color-danger-2: #fff9f8;
95
+ --eds-color-danger-3: #ffd0ce;
96
+ --eds-color-danger-4: #ffbcba;
97
+ --eds-color-danger-5: #ffa3a1;
98
+ --eds-color-danger-6: #ffbcba;
99
+ --eds-color-danger-7: #ff7a7d;
100
+ --eds-color-danger-8: #c6002d;
101
+ --eds-color-danger-9: #bc002a;
102
+ --eds-color-danger-10: #9a1026;
103
+ --eds-color-danger-11: #8e1525;
104
+ --eds-color-danger-12: #a50827;
105
+ --eds-color-danger-13: #2e1414;
106
+ --eds-color-danger-14: #ffcbc9;
107
+ --eds-color-danger-15: #fff;
108
108
  --eds-color-bg-neutral-canvas: var(--eds-color-neutral-1);
109
109
  --eds-color-bg-neutral-surface: var(--eds-color-neutral-2);
110
110
  --eds-color-bg-neutral-fill-muted-default: var(--eds-color-neutral-3);
@@ -200,7 +200,7 @@
200
200
  --eds-elevation-high: 0px 4px 12px 0px rgba(0, 0, 0, 0.2), 0px 12px 16px 6px rgba(0, 0, 0, 0.12);
201
201
  }
202
202
 
203
- :root, [data-color-appearance="neutral"] {
203
+ :root, [data-color-scheme="light"], [data-color-scheme="dark"], [data-color-appearance="neutral"] {
204
204
  --eds-color-bg-fill-muted-default: var(--eds-color-neutral-3);
205
205
  --eds-color-bg-fill-muted-hover: var(--eds-color-neutral-4);
206
206
  --eds-color-bg-fill-muted-active: var(--eds-color-neutral-5);
@@ -1128,6 +1128,18 @@
1128
1128
  initial-value: 16px;
1129
1129
  }
1130
1130
 
1131
+ @property --eds-typography-gap-horizontal {
1132
+ syntax: "<length>";
1133
+ inherits: true;
1134
+ initial-value: 0;
1135
+ }
1136
+
1137
+ @property --eds-typography-gap-vertical {
1138
+ syntax: "<length>";
1139
+ inherits: true;
1140
+ initial-value: 0;
1141
+ }
1142
+
1131
1143
  [data-font-family] {
1132
1144
  font-family: var(--eds-typography-font-family);
1133
1145
  font-size: var(--eds-typography-font-size);
@@ -1307,7 +1319,7 @@
1307
1319
  --eds-font-family-size-5xl-font-size: var(--eds-typography-ui-body-5xl-font-size);
1308
1320
  --eds-font-family-size-5xl-tracking-tight: var(--eds-typography-ui-body-5xl-tracking-tight);
1309
1321
  --eds-font-family-size-5xl-tracking-normal: var(--eds-typography-ui-body-5xl-tracking-normal);
1310
- --eds-font-family-size-5xl-tracking-wide: var(--eds-typography-ui-body-5xl-font-weight-lighter);
1322
+ --eds-font-family-size-5xl-tracking-wide: var(--eds-typography-ui-body-5xl-tracking-wide);
1311
1323
  --eds-font-family-size-5xl-font-weight-lighter: var(--eds-typography-ui-body-5xl-font-weight-lighter);
1312
1324
  --eds-font-family-size-5xl-font-weight-normal: var(--eds-typography-ui-body-5xl-font-weight-normal);
1313
1325
  --eds-font-family-size-5xl-font-weight-bolder: var(--eds-typography-ui-body-5xl-font-weight-bolder);
@@ -1521,3 +1533,207 @@
1521
1533
  [data-tracking="wide"], [data-tracking="loose"] {
1522
1534
  --eds-typography-tracking: var(--eds-typography-tracking-wide);
1523
1535
  }
1536
+
1537
+ [data-color-scheme="dark"] {
1538
+ --eds-color-bg-floating: #202223;
1539
+ --eds-color-bg-backdrop: #738696;
1540
+ --eds-color-bg-input: #0b0b0b;
1541
+ --eds-color-border-focus: #2d8bc5;
1542
+ --eds-color-text-link: #5abbfb;
1543
+ --eds-color-bg-disabled: #525c65;
1544
+ --eds-color-border-disabled: #738696;
1545
+ --eds-color-text-disabled: #738696;
1546
+ --eds-color-accent-1: #0a0b0b;
1547
+ --eds-color-accent-2: #1e2323;
1548
+ --eds-color-accent-3: #3c6266;
1549
+ --eds-color-accent-4: #3e7378;
1550
+ --eds-color-accent-5: #41878e;
1551
+ --eds-color-accent-6: #3c6266;
1552
+ --eds-color-accent-7: #439199;
1553
+ --eds-color-accent-8: #6ec0c9;
1554
+ --eds-color-accent-9: #8cd2da;
1555
+ --eds-color-accent-10: #ace3e9;
1556
+ --eds-color-accent-11: #c7f1f6;
1557
+ --eds-color-accent-12: #bcebf1;
1558
+ --eds-color-accent-13: #e6ffff;
1559
+ --eds-color-accent-14: #2c3839;
1560
+ --eds-color-accent-15: #030303;
1561
+ --eds-color-neutral-1: #0b0b0b;
1562
+ --eds-color-neutral-2: #202223;
1563
+ --eds-color-neutral-3: #525c65;
1564
+ --eds-color-neutral-4: #5d6b76;
1565
+ --eds-color-neutral-5: #6b7d8b;
1566
+ --eds-color-neutral-6: #525c65;
1567
+ --eds-color-neutral-7: #738696;
1568
+ --eds-color-neutral-8: #9fb4c6;
1569
+ --eds-color-neutral-9: #b4c7d7;
1570
+ --eds-color-neutral-10: #cadae7;
1571
+ --eds-color-neutral-11: #deeaf4;
1572
+ --eds-color-neutral-12: #d6e3ee;
1573
+ --eds-color-neutral-13: #f5fdff;
1574
+ --eds-color-neutral-14: #333639;
1575
+ --eds-color-neutral-15: #030303;
1576
+ --eds-color-info-1: #0a0b0c;
1577
+ --eds-color-info-2: #1d2226;
1578
+ --eds-color-info-3: #33607e;
1579
+ --eds-color-info-4: #316f98;
1580
+ --eds-color-info-5: #2e82b7;
1581
+ --eds-color-info-6: #33607e;
1582
+ --eds-color-info-7: #2d8bc5;
1583
+ --eds-color-info-8: #5abbfb;
1584
+ --eds-color-info-9: #7dceff;
1585
+ --eds-color-info-10: #a2e0ff;
1586
+ --eds-color-info-11: #c4eeff;
1587
+ --eds-color-info-12: #b7e8ff;
1588
+ --eds-color-info-13: #ecffff;
1589
+ --eds-color-info-14: #2a3741;
1590
+ --eds-color-info-15: #030304;
1591
+ --eds-color-success-1: #0a0c0a;
1592
+ --eds-color-success-2: #1e231e;
1593
+ --eds-color-success-3: #3c673a;
1594
+ --eds-color-success-4: #3e793c;
1595
+ --eds-color-success-5: #418e3e;
1596
+ --eds-color-success-6: #3c673a;
1597
+ --eds-color-success-7: #439941;
1598
+ --eds-color-success-8: #6eca6a;
1599
+ --eds-color-success-9: #8cdb87;
1600
+ --eds-color-success-10: #aceba8;
1601
+ --eds-color-success-11: #c7f7c3;
1602
+ --eds-color-success-12: #bcf2b8;
1603
+ --eds-color-success-13: #e6ffe3;
1604
+ --eds-color-success-14: #2c392b;
1605
+ --eds-color-success-15: #030303;
1606
+ --eds-color-warning-1: #0c0b0a;
1607
+ --eds-color-warning-2: #27201b;
1608
+ --eds-color-warning-3: #7e4e25;
1609
+ --eds-color-warning-4: #97571b;
1610
+ --eds-color-warning-5: #b46201;
1611
+ --eds-color-warning-6: #7e4e25;
1612
+ --eds-color-warning-7: #c36800;
1613
+ --eds-color-warning-8: #f99539;
1614
+ --eds-color-warning-9: #ffad63;
1615
+ --eds-color-warning-10: #ffc791;
1616
+ --eds-color-warning-11: #ffddb9;
1617
+ --eds-color-warning-12: #ffd4aa;
1618
+ --eds-color-warning-13: #fff7e6;
1619
+ --eds-color-warning-14: #413226;
1620
+ --eds-color-warning-15: #040303;
1621
+ --eds-color-danger-1: #0d0a0a;
1622
+ --eds-color-danger-2: #2a1e1e;
1623
+ --eds-color-danger-3: #923a3c;
1624
+ --eds-color-danger-4: #b03940;
1625
+ --eds-color-danger-5: #d43745;
1626
+ --eds-color-danger-6: #923a3c;
1627
+ --eds-color-danger-7: #e53748;
1628
+ --eds-color-danger-8: #ff8082;
1629
+ --eds-color-danger-9: #ffa3a1;
1630
+ --eds-color-danger-10: #ffc1bf;
1631
+ --eds-color-danger-11: #ffd9d7;
1632
+ --eds-color-danger-12: #ffd0ce;
1633
+ --eds-color-danger-13: #fff5f4;
1634
+ --eds-color-danger-14: #492d2c;
1635
+ --eds-color-danger-15: #040303;
1636
+ }
1637
+
1638
+ @media (prefers-color-scheme: dark) {
1639
+ :root:not([data-color-scheme="light"]) {
1640
+ --eds-color-bg-floating: #202223;
1641
+ --eds-color-bg-backdrop: #738696;
1642
+ --eds-color-bg-input: #0b0b0b;
1643
+ --eds-color-border-focus: #2d8bc5;
1644
+ --eds-color-text-link: #5abbfb;
1645
+ --eds-color-bg-disabled: #525c65;
1646
+ --eds-color-border-disabled: #738696;
1647
+ --eds-color-text-disabled: #738696;
1648
+ --eds-color-accent-1: #0a0b0b;
1649
+ --eds-color-accent-2: #1e2323;
1650
+ --eds-color-accent-3: #3c6266;
1651
+ --eds-color-accent-4: #3e7378;
1652
+ --eds-color-accent-5: #41878e;
1653
+ --eds-color-accent-6: #3c6266;
1654
+ --eds-color-accent-7: #439199;
1655
+ --eds-color-accent-8: #6ec0c9;
1656
+ --eds-color-accent-9: #8cd2da;
1657
+ --eds-color-accent-10: #ace3e9;
1658
+ --eds-color-accent-11: #c7f1f6;
1659
+ --eds-color-accent-12: #bcebf1;
1660
+ --eds-color-accent-13: #e6ffff;
1661
+ --eds-color-accent-14: #2c3839;
1662
+ --eds-color-accent-15: #030303;
1663
+ --eds-color-neutral-1: #0b0b0b;
1664
+ --eds-color-neutral-2: #202223;
1665
+ --eds-color-neutral-3: #525c65;
1666
+ --eds-color-neutral-4: #5d6b76;
1667
+ --eds-color-neutral-5: #6b7d8b;
1668
+ --eds-color-neutral-6: #525c65;
1669
+ --eds-color-neutral-7: #738696;
1670
+ --eds-color-neutral-8: #9fb4c6;
1671
+ --eds-color-neutral-9: #b4c7d7;
1672
+ --eds-color-neutral-10: #cadae7;
1673
+ --eds-color-neutral-11: #deeaf4;
1674
+ --eds-color-neutral-12: #d6e3ee;
1675
+ --eds-color-neutral-13: #f5fdff;
1676
+ --eds-color-neutral-14: #333639;
1677
+ --eds-color-neutral-15: #030303;
1678
+ --eds-color-info-1: #0a0b0c;
1679
+ --eds-color-info-2: #1d2226;
1680
+ --eds-color-info-3: #33607e;
1681
+ --eds-color-info-4: #316f98;
1682
+ --eds-color-info-5: #2e82b7;
1683
+ --eds-color-info-6: #33607e;
1684
+ --eds-color-info-7: #2d8bc5;
1685
+ --eds-color-info-8: #5abbfb;
1686
+ --eds-color-info-9: #7dceff;
1687
+ --eds-color-info-10: #a2e0ff;
1688
+ --eds-color-info-11: #c4eeff;
1689
+ --eds-color-info-12: #b7e8ff;
1690
+ --eds-color-info-13: #ecffff;
1691
+ --eds-color-info-14: #2a3741;
1692
+ --eds-color-info-15: #030304;
1693
+ --eds-color-success-1: #0a0c0a;
1694
+ --eds-color-success-2: #1e231e;
1695
+ --eds-color-success-3: #3c673a;
1696
+ --eds-color-success-4: #3e793c;
1697
+ --eds-color-success-5: #418e3e;
1698
+ --eds-color-success-6: #3c673a;
1699
+ --eds-color-success-7: #439941;
1700
+ --eds-color-success-8: #6eca6a;
1701
+ --eds-color-success-9: #8cdb87;
1702
+ --eds-color-success-10: #aceba8;
1703
+ --eds-color-success-11: #c7f7c3;
1704
+ --eds-color-success-12: #bcf2b8;
1705
+ --eds-color-success-13: #e6ffe3;
1706
+ --eds-color-success-14: #2c392b;
1707
+ --eds-color-success-15: #030303;
1708
+ --eds-color-warning-1: #0c0b0a;
1709
+ --eds-color-warning-2: #27201b;
1710
+ --eds-color-warning-3: #7e4e25;
1711
+ --eds-color-warning-4: #97571b;
1712
+ --eds-color-warning-5: #b46201;
1713
+ --eds-color-warning-6: #7e4e25;
1714
+ --eds-color-warning-7: #c36800;
1715
+ --eds-color-warning-8: #f99539;
1716
+ --eds-color-warning-9: #ffad63;
1717
+ --eds-color-warning-10: #ffc791;
1718
+ --eds-color-warning-11: #ffddb9;
1719
+ --eds-color-warning-12: #ffd4aa;
1720
+ --eds-color-warning-13: #fff7e6;
1721
+ --eds-color-warning-14: #413226;
1722
+ --eds-color-warning-15: #040303;
1723
+ --eds-color-danger-1: #0d0a0a;
1724
+ --eds-color-danger-2: #2a1e1e;
1725
+ --eds-color-danger-3: #923a3c;
1726
+ --eds-color-danger-4: #b03940;
1727
+ --eds-color-danger-5: #d43745;
1728
+ --eds-color-danger-6: #923a3c;
1729
+ --eds-color-danger-7: #e53748;
1730
+ --eds-color-danger-8: #ff8082;
1731
+ --eds-color-danger-9: #ffa3a1;
1732
+ --eds-color-danger-10: #ffc1bf;
1733
+ --eds-color-danger-11: #ffd9d7;
1734
+ --eds-color-danger-12: #ffd0ce;
1735
+ --eds-color-danger-13: #fff5f4;
1736
+ --eds-color-danger-14: #492d2c;
1737
+ --eds-color-danger-15: #040303;
1738
+ }
1739
+ }