@eui/eds-styles 22.0.0-alpha.44 → 22.0.0-alpha.45

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.
@@ -125,7 +125,7 @@ $default-feature: "min-width";
125
125
  // privates per `:host([size="s"])` / `:host([size="l"])` (see eds-input-size()).
126
126
  @mixin eds-input() {
127
127
  // Size-driven privates (defaults = `m`)
128
- --_eds-input-min-height: var(--eds-si-4xl);
128
+ --_eds-input-height: var(--eds-si-4xl);
129
129
  --_eds-input-pad-v: var(--eds-sp-xs);
130
130
  --_eds-input-pad-h: var(--eds-sp-s);
131
131
  --_eds-input-font: var(--eds-f-paragraph-m);
@@ -141,10 +141,10 @@ $default-feature: "min-width";
141
141
  border-radius: var(--eds-br-s);
142
142
  box-shadow: none;
143
143
  color: var(--eds-c-foreground-default);
144
- min-height: var(--_eds-input-min-height);
144
+ height: var(--_eds-input-height);
145
145
  padding: var(--_eds-input-pad-v) var(--_eds-input-pad-h);
146
146
  width: 100%;
147
- @include eds-focus-visible();
147
+ @include eds-focus-visible-ring();
148
148
 
149
149
  &:not([hidden]) {
150
150
  display: block;
@@ -177,8 +177,9 @@ $default-feature: "min-width";
177
177
  }
178
178
 
179
179
  // Invalid
180
- &--invalid {
180
+ &[invalid] {
181
181
  border-color: var(--eds-c-border-critical);
182
+ @include eds-focus-visible-ring-critical();
182
183
  }
183
184
 
184
185
  &--loading {
@@ -199,13 +200,13 @@ $default-feature: "min-width";
199
200
  // is needed.
200
201
  @mixin eds-input-size() {
201
202
  &[input-size="s"] {
202
- --_eds-input-min-height: var(--eds-si-3xl); // 32px
203
+ --_eds-input-height: calc(var(--eds-si-3xl) + var(--eds-si-2xs)); // 36px
203
204
  --_eds-input-pad-v: var(--eds-sp-2xs);
204
205
  --_eds-input-pad-h: var(--eds-sp-s);
205
206
  }
206
207
 
207
208
  &[input-size="l"] {
208
- --_eds-input-min-height: var(--eds-si-6xl); // 48px
209
+ --_eds-input-height: var(--eds-si-6xl); // 48px
209
210
  --_eds-input-pad-v: var(--eds-sp-s);
210
211
  --_eds-input-pad-h: var(--eds-sp-m);
211
212
  }
@@ -220,7 +221,7 @@ $default-feature: "min-width";
220
221
  }
221
222
 
222
223
  // checkbox
223
- &.eds-input-checkbox {
224
+ &.eds-checkbox {
224
225
  &:checked:not([readonly]):not([invalid="true"]),
225
226
  &[checked="true"]:not([readonly]):not([invalid="true"]),
226
227
  &[indeterminate="true"]:not([readonly]) {
@@ -229,7 +230,7 @@ $default-feature: "min-width";
229
230
  }
230
231
 
231
232
  //radio
232
- &.eds-input-radio {
233
+ &.eds-radio {
233
234
  &:checked:not([readonly]):not([invalid="true"]) {
234
235
  background-color: var(--eds-c-surface-elevation);
235
236
  border-color: var(--eds-c-border-primary--hover);
@@ -1,308 +1,73 @@
1
1
  @use 'sass:map';
2
- @use 'sass:color';
3
- @use '../01-base/' as base;
2
+ @use 'sass:string';
3
+ @use './ecl/semantic/color-dark' as ecl;
4
4
  @use './colors-primitive' as primitive;
5
5
 
6
- $color-semantic-map: (
7
-
8
- // =============================================
9
- // SURFACES — Elevation
10
- // =============================================
11
-
12
- surface-accent: map.get(primitive.$color-map, 'graphite-900'),
13
- surface-selected: map.get(primitive.$color-map, 'graphite-800'),
14
- surface-skeleton: map.get(primitive.$color-map, 'graphite-800'),
15
- surface-invisible: map.get(primitive.$color-map, 'alpha-graphite-0-0'),
16
-
17
- surface-elevation-sunken: map.get(primitive.$color-map, 'graphite-1000'),
18
- surface-elevation-inset: map.get(primitive.$color-map, 'graphite-950'),
19
- surface-elevation: map.get(primitive.$color-map, 'graphite-900'),
20
- surface-elevation-raised: map.get(primitive.$color-map, 'graphite-800'),
21
- surface-elevation-elevated: map.get(primitive.$color-map, 'graphite-700'),
22
- surface-elevation-overlay: map.get(primitive.$color-map, 'graphite-600'),
23
-
24
- // =============================================
25
- // SURFACES — Brand
26
- // =============================================
27
-
28
- surface-brand: map.get(primitive.$color-map, 'graphite-900'),
29
- on-surface-brand: map.get(primitive.$color-map, 'graphite-0'),
30
- surface-brand--hover: map.get(primitive.$color-map, 'graphite-950'),
31
- on-surface-brand--hover: map.get(primitive.$color-map, 'graphite-0'),
32
-
33
- // =============================================
34
- // SURFACES — Disabled
35
- // =============================================
36
-
37
- surface-disabled: map.get(primitive.$color-map, 'graphite-700'),
38
- on-surface-disabled: map.get(primitive.$color-map, 'graphite-400'),
39
- surface-disabled-subtle: map.get(primitive.$color-map, 'graphite-800'),
40
- on-surface-disabled-subtle: map.get(primitive.$color-map, 'graphite-400'),
41
-
42
- // =============================================
43
- // SURFACES — Primary
44
- // =============================================
45
-
46
- surface-primary: map.get(primitive.$color-map, 'european-blue-600'),
47
- on-surface-primary: map.get(primitive.$color-map, 'graphite-0'),
48
- surface-primary--hover: map.get(primitive.$color-map, 'european-blue-700'),
49
- on-surface-primary--hover: map.get(primitive.$color-map, 'graphite-0'),
50
- surface-primary--pressed: map.get(primitive.$color-map, 'european-blue-700'),
51
- on-surface-primary--pressed: map.get(primitive.$color-map, 'graphite-0'),
52
- surface-primary-subtle: map.get(primitive.$color-map, 'european-blue-800'),
53
- on-surface-primary-subtle: map.get(primitive.$color-map, 'european-blue-50'),
54
- surface-primary-subtler: map.get(primitive.$color-map, 'european-blue-950'),
55
- on-surface-primary-subtler: map.get(primitive.$color-map, 'european-blue-50'),
56
-
57
- // =============================================
58
- // SURFACES — Highlight
59
- // =============================================
60
-
61
- surface-highlight: map.get(primitive.$color-map, 'sunrise-orange-300'),
62
- on-surface-highlight: map.get(primitive.$color-map, 'sunrise-orange-950'),
63
- surface-highlight--hover: map.get(primitive.$color-map, 'sunrise-orange-400'),
64
- on-surface-highlight--hover: map.get(primitive.$color-map, 'sunrise-orange-950'),
65
- surface-highlight--pressed: map.get(primitive.$color-map, 'sunrise-orange-500'),
66
- on-surface-highlight--pressed: map.get(primitive.$color-map, 'sunrise-orange-950'),
67
- surface-highlight-subtler: map.get(primitive.$color-map, 'sunrise-orange-950'),
68
- on-surface-highlight-subtler: map.get(primitive.$color-map, 'sunrise-orange-500'),
69
-
70
- // =============================================
71
- // SURFACES — Inverted
72
- // =============================================
73
-
74
- surface-inverted: map.get(primitive.$color-map, 'graphite-50'),
75
- on-surface-inverted: map.get(primitive.$color-map, 'graphite-950'),
76
- surface-inverted-subtle: map.get(primitive.$color-map, 'graphite-50'),
77
- on-surface-inverted-subtle: map.get(primitive.$color-map, 'graphite-950'),
78
- surface-inverted-disabled: map.get(primitive.$color-map, 'graphite-50'),
79
- on-surface-inverted-disabled: map.get(primitive.$color-map, 'graphite-200'),
80
-
81
- // =============================================
82
- // SURFACES — Neutral
83
- // =============================================
84
-
85
- surface-neutral: map.get(primitive.$color-map, 'graphite-300'),
86
- on-surface-neutral: map.get(primitive.$color-map, 'graphite-0'),
87
- surface-neutral--hover: map.get(primitive.$color-map, 'graphite-400'),
88
- on-surface-neutral--hover: map.get(primitive.$color-map, 'graphite-0'),
89
- surface-neutral--pressed: map.get(primitive.$color-map, 'graphite-500'),
90
- on-surface-neutral--pressed: map.get(primitive.$color-map, 'graphite-0'),
91
- surface-neutral-subtle: map.get(primitive.$color-map, 'graphite-800'),
92
- on-surface-neutral-subtle: map.get(primitive.$color-map, 'graphite-0'),
93
- surface-neutral-subtle--hover: map.get(primitive.$color-map, 'graphite-900'),
94
- on-surface-neutral-subtle--hover: map.get(primitive.$color-map, 'graphite-0'),
95
- surface-neutral-subtler: map.get(primitive.$color-map, 'graphite-800'),
96
- on-surface-neutral-subtler: map.get(primitive.$color-map, 'graphite-0'),
97
- surface-neutral-subtler--hover: map.get(primitive.$color-map, 'graphite-600'),
98
- on-surface-neutral-subtler--hover: map.get(primitive.$color-map, 'graphite-0'),
99
-
100
- // =============================================
101
- // SURFACES — Critical
102
- // =============================================
103
-
104
- surface-critical: map.get(primitive.$color-map, 'red-600'),
105
- on-surface-critical: map.get(primitive.$color-map, 'graphite-0'),
106
- surface-critical--hover: map.get(primitive.$color-map, 'red-700'),
107
- on-surface-critical--hover: map.get(primitive.$color-map, 'graphite-0'),
108
- surface-critical--pressed: map.get(primitive.$color-map, 'red-800'),
109
- on-surface-critical--pressed: map.get(primitive.$color-map, 'graphite-0'),
110
- surface-critical-subtle: map.get(primitive.$color-map, 'red-800'),
111
- on-surface-critical-subtle: map.get(primitive.$color-map, 'red-50'),
112
- surface-critical-subtler: map.get(primitive.$color-map, 'red-950'),
113
- on-surface-critical-subtler: map.get(primitive.$color-map, 'red-75'),
114
- surface-critical-subtler--hover: map.get(primitive.$color-map, 'red-100'),
115
- on-surface-critical-subtler--hover: map.get(primitive.$color-map, 'red-900'),
116
-
117
- // =============================================
118
- // SURFACES — Info
119
- // =============================================
120
-
121
- surface-info: map.get(primitive.$color-map, 'blue-600'),
122
- on-surface-info: map.get(primitive.$color-map, 'graphite-0'),
123
- surface-info-subtle: map.get(primitive.$color-map, 'blue-800'),
124
- on-surface-info-subtle: map.get(primitive.$color-map, 'blue-100'),
125
- surface-info-subtler: map.get(primitive.$color-map, 'blue-950'),
126
- on-surface-info-subtler: map.get(primitive.$color-map, 'blue-100'),
127
-
128
- // =============================================
129
- // SURFACES — Success
130
- // =============================================
131
-
132
- surface-success: map.get(primitive.$color-map, 'green-500'),
133
- on-surface-success: map.get(primitive.$color-map, 'green-950'), //EDS aligned
134
- surface-success-subtle: map.get(primitive.$color-map, 'green-800'),
135
- on-surface-success-subtle: map.get(primitive.$color-map, 'green-50'),
136
- surface-success-subtler: map.get(primitive.$color-map, 'green-950'),
137
- on-surface-success-subtler: map.get(primitive.$color-map, 'green-100'),
138
-
139
- // =============================================
140
- // SURFACES — Warning
141
- // =============================================
142
-
143
- surface-warning: map.get(primitive.$color-map, 'orange-500'),
144
- on-surface-warning: map.get(primitive.$color-map, 'orange-950'),
145
- surface-warning-subtle: map.get(primitive.$color-map, 'orange-700'),
146
- on-surface-warning-subtle: map.get(primitive.$color-map, 'orange-50'),
147
- surface-warning-subtler: map.get(primitive.$color-map, 'orange-950'),
148
- on-surface-warning-subtler: map.get(primitive.$color-map, 'orange-50'),
149
-
150
- // =============================================
151
- // SURFACES — Color Modes (cm-*)
152
- // =============================================
153
-
154
- surface-cm-purple-violet-subtler: map.get(primitive.$color-map, 'cm-purple-violet-950'),
155
- on-surface-cm-purple-violet-subtler: map.get(primitive.$color-map, 'cm-purple-violet-200'),
156
- border-cm-purple-violet-subtle: map.get(primitive.$color-map, 'cm-purple-violet-700'),
157
-
158
- surface-cm-purple-subtler: map.get(primitive.$color-map, 'cm-purple-950'),
159
- on-surface-cm-purple-subtler: map.get(primitive.$color-map, 'cm-purple-200'),
160
- border-cm-purple-subtle: map.get(primitive.$color-map, 'cm-purple-700'),
161
-
162
- surface-cm-blue-navy-subtler: map.get(primitive.$color-map, 'cm-blue-navy-900'),
163
- on-surface-cm-blue-navy-subtler: map.get(primitive.$color-map, 'cm-blue-navy-200'),
164
- border-cm-blue-navy-subtle: map.get(primitive.$color-map, 'cm-blue-navy-700'),
165
-
166
- surface-cm-blue-electric-subtler: map.get(primitive.$color-map, 'cm-blue-electric-900'),
167
- on-surface-cm-blue-electric-subtler: map.get(primitive.$color-map, 'cm-blue-electric-200'),
168
- border-cm-blue-electric-subtle: map.get(primitive.$color-map, 'cm-blue-electric-700'),
169
-
170
- surface-cm-green-dark-subtler: map.get(primitive.$color-map, 'cm-green-dark-950'),
171
- on-surface-cm-green-dark-subtler: map.get(primitive.$color-map, 'cm-green-dark-200'),
172
- border-cm-green-dark-subtle: map.get(primitive.$color-map, 'cm-green-dark-700'),
173
-
174
- surface-cm-green-pine-subtler: map.get(primitive.$color-map, 'cm-green-pine-950'),
175
- on-surface-cm-green-pine-subtler: map.get(primitive.$color-map, 'cm-green-pine-200'),
176
- border-cm-green-pine-subtle: map.get(primitive.$color-map, 'cm-green-pine-700'),
177
-
178
- surface-cm-green-subtler: map.get(primitive.$color-map, 'cm-green-950'),
179
- on-surface-cm-green-subtler: map.get(primitive.$color-map, 'cm-green-200'),
180
- border-cm-green-subtle: map.get(primitive.$color-map, 'cm-green-700'),
181
-
182
- surface-cm-blue-ocean-subtler: map.get(primitive.$color-map, 'cm-blue-ocean-950'),
183
- on-surface-cm-blue-ocean-subtler: map.get(primitive.$color-map, 'cm-blue-ocean-200'),
184
- border-cm-blue-ocean-subtle: map.get(primitive.$color-map, 'cm-blue-ocean-700'),
185
-
186
- surface-cm-green-lemon-subtler: map.get(primitive.$color-map, 'cm-green-lemon-950'),
187
- on-surface-cm-green-lemon-subtler: map.get(primitive.$color-map, 'cm-green-lemon-200'),
188
- border-cm-green-lemon-subtle: map.get(primitive.$color-map, 'cm-green-lemon-700'),
189
-
190
- surface-cm-yellow-gold-subtler: map.get(primitive.$color-map, 'cm-yellow-gold-950'),
191
- on-surface-cm-yellow-gold-subtler: map.get(primitive.$color-map, 'cm-yellow-gold-200'),
192
- border-cm-yellow-gold-subtle: map.get(primitive.$color-map, 'cm-yellow-gold-700'),
193
-
194
- surface-cm-orange-abricot-subtler: map.get(primitive.$color-map, 'cm-orange-abricot-950'),
195
- on-surface-cm-orange-abricot-subtler: map.get(primitive.$color-map, 'cm-orange-abricot-200'),
196
- border-cm-orange-abricot-subtle: map.get(primitive.$color-map, 'cm-orange-abricot-700'),
197
-
198
- surface-cm-orange-subtler: map.get(primitive.$color-map, 'cm-orange-950'),
199
- on-surface-cm-orange-subtler: map.get(primitive.$color-map, 'cm-orange-200'),
200
- border-cm-orange-subtle: map.get(primitive.$color-map, 'cm-orange-700'),
201
-
202
- surface-cm-red-tomato-subtler: map.get(primitive.$color-map, 'cm-red-tomato-950'),
203
- on-surface-cm-red-tomato-subtler: map.get(primitive.$color-map, 'cm-red-tomato-200'),
204
- border-cm-red-tomato-subtle: map.get(primitive.$color-map, 'cm-red-tomato-700'),
205
-
206
- surface-cm-red-crayola-subtler: map.get(primitive.$color-map, 'cm-red-crayola-950'),
207
- on-surface-cm-red-crayola-subtler: map.get(primitive.$color-map, 'cm-red-crayola-200'),
208
- border-cm-red-crayola-subtle: map.get(primitive.$color-map, 'cm-red-crayola-700'),
209
-
210
- surface-cm-warm-grey-subtler: map.get(primitive.$color-map, 'cm-warm-grey-950'),
211
- on-surface-cm-warm-grey-subtler: map.get(primitive.$color-map, 'cm-warm-grey-200'),
212
- border-cm-warm-grey-subtle: map.get(primitive.$color-map, 'cm-warm-grey-700'),
213
-
214
- // =============================================
215
- // FOREGROUND / Text
216
- // =============================================
217
-
218
- foreground: map.get(primitive.$color-map, 'graphite-25'),
219
- foreground-subtle: map.get(primitive.$color-map, 'graphite-75'),
220
- foreground-subtler: map.get(primitive.$color-map, 'graphite-100'),
221
- foreground-placeholder: map.get(primitive.$color-map, 'graphite-200'),
222
- foreground-disabled: map.get(primitive.$color-map, 'graphite-400'),
223
- foreground-primary: map.get(primitive.$color-map, 'european-blue-400'),
224
- foreground-success: map.get(primitive.$color-map, 'green-500'),
225
- foreground-info: map.get(primitive.$color-map, 'blue-400'),
226
- foreground-warning: map.get(primitive.$color-map, 'orange-500'),
227
- foreground-critical: map.get(primitive.$color-map, 'red-400'),
228
- foreground-highlight: map.get(primitive.$color-map, 'sunrise-orange-600'),
229
- foreground-inverted: map.get(primitive.$color-map, 'graphite-950'),
230
-
231
- // =============================================
232
- // BORDERS
233
- // =============================================
234
-
235
- border: map.get(primitive.$color-map, 'silver-fog-50'),
236
- border-divider: map.get(primitive.$color-map, 'graphite-500'),
237
- border-disabled: map.get(primitive.$color-map, 'graphite-700'),
238
-
239
- border-primary: map.get(primitive.$color-map, 'european-blue-600'),
240
- border-primary--hover: map.get(primitive.$color-map, 'european-blue-700'),
241
- border-primary--pressed: map.get(primitive.$color-map, 'european-blue-800'),
242
- border-primary-subtle: map.get(primitive.$color-map, 'european-blue-800'),
243
- border-primary-subtler: map.get(primitive.$color-map, 'european-blue-900'),
244
-
245
- border-info: map.get(primitive.$color-map, 'blue-700'),
246
- border-info-subtle: map.get(primitive.$color-map, 'blue-900'),
247
-
248
- border-success: map.get(primitive.$color-map, 'green-700'),
249
- border-success-subtle: map.get(primitive.$color-map, 'green-900'),
250
-
251
- border-warning: map.get(primitive.$color-map, 'orange-600'),
252
- border-warning-subtle: map.get(primitive.$color-map, 'orange-900'),
253
-
254
- border-critical: map.get(primitive.$color-map, 'red-600'),
255
- border-critical-subtle: map.get(primitive.$color-map, 'red-900'),
256
-
257
- border-highlight: map.get(primitive.$color-map, 'sunrise-orange-400'),
258
- border-highlight-subtle: map.get(primitive.$color-map, 'sunrise-orange-500'),
259
-
260
- border-inverted: map.get(primitive.$color-map, 'graphite-900'),
261
- border-inverted-disabled: map.get(primitive.$color-map, 'graphite-800'),
262
-
263
- border-neutral: map.get(primitive.$color-map, 'silver-fog-500'),
264
- border-neutral--hover: map.get(primitive.$color-map, 'silver-fog-600'),
265
- border-neutral-subtle: map.get(primitive.$color-map, 'graphite-400'),
266
- border-neutral-subtle--hover: map.get(primitive.$color-map, 'graphite-500'),
267
-
268
- // =============================================
269
- // LINKS
270
- // =============================================
271
-
272
- link: map.get(primitive.$color-map, 'european-blue-400'),
273
- link--focused: map.get(primitive.$color-map, 'european-blue-400'),
274
- link--hover: map.get(primitive.$color-map, 'european-blue-500'),
275
- link--pressed: map.get(primitive.$color-map, 'european-blue-600'),
276
- link--visited: map.get(primitive.$color-map, 'european-blue-500'),
277
-
278
- link-inverted: map.get(primitive.$color-map, 'european-blue-600'),
279
- link-inverted--focused: map.get(primitive.$color-map, 'european-blue-600'),
280
- link-inverted--hover: map.get(primitive.$color-map, 'european-blue-700'),
281
- link-inverted--pressed: map.get(primitive.$color-map, 'european-blue-800'),
282
- link-inverted--visited: map.get(primitive.$color-map, 'european-blue-700'),
283
-
284
- link-contrast: map.get(primitive.$color-map, 'graphite-0'),
285
- link-contrast--focused: map.get(primitive.$color-map, 'graphite-0'),
286
- link-contrast--hover: map.get(primitive.$color-map, 'graphite-50'),
287
- link-contrast--pressed: map.get(primitive.$color-map, 'graphite-100'),
288
- link-contrast--visited: map.get(primitive.$color-map, 'graphite-25'),
289
-
290
- // =============================================
291
- // FOCUS
292
- // =============================================
293
-
294
- focus: map.get(primitive.$color-map, 'european-blue-600'),
295
- focus-inverted: map.get(primitive.$color-map, 'european-blue-800'),
296
- focus-critical: map.get(primitive.$color-map, 'red-600'),
297
- border-focus: map.get(primitive.$color-map, 'european-blue-600'),
298
-
299
- // =============================================
300
- // ALPHA / Backdrop
301
- // =============================================
302
-
303
- alpha-backdrop-strong: map.get(primitive.$color-map, 'alpha-graphite-0-14'),
304
- alpha-backdrop: map.get(primitive.$color-map, 'alpha-graphite-0-14'),
305
- alpha-backdrop-subtle: map.get(primitive.$color-map, 'alpha-graphite-0-10'),
306
- alpha-backdrop-inverted: map.get(primitive.$color-map, 'alpha-graphite-950-30'),
307
- alpha-backdrop-inverted-subtle: map.get(primitive.$color-map, 'alpha-graphite-950-10'),
6
+ // ============================================================================
7
+ // SEMANTIC COLORS (DARK) — ECL foundations as source of truth + local overlay.
8
+ //
9
+ // Base values come from the generated ECL semantic map `ecl.$color-dark`
10
+ // (ecl/semantic/_color-dark.scss, built from the ECL primitives + color-domain-dark).
11
+ // To change a base value, edit the upstream ECL source and re-run
12
+ // tools/ecl-import.mjs — NOT this file.
13
+ //
14
+ // Two local adaptations are applied on top of the ECL base:
15
+ // 1. Key rename: ECL emits brand ("color mode") keys as `*-domain-*`; the EDS
16
+ // semantic contract uses the legacy `*-cm-*` names, so every `-domain-`
17
+ // segment is renamed to `-cm-`. The underlying values are identical.
18
+ // 2. `$_overlay`: EDS-specific tokens that ECL does not define, plus the few
19
+ // values intentionally diverging from ECL (each annotated). Overlay wins and
20
+ // its values are pulled from `primitive.$color-map` to preserve exact EDS
21
+ // ramp references.
22
+ //
23
+ // The public contract (`$color-semantic-map` + every key below) is unchanged.
24
+ // ============================================================================
25
+
26
+ // 1. Re-key ECL `*-domain-*` semantic keys to the legacy `*-cm-*` names.
27
+ $_ecl-base: ();
28
+ @each $key, $value in ecl.$color-dark {
29
+ $i: string.index($key, '-domain-');
30
+ @if $i {
31
+ $renamed: string.slice($key, 1, $i) +
32
+ 'cm-' +
33
+ string.slice($key, $i + string.length('-domain-'));
34
+ $_ecl-base: map.set($_ecl-base, $renamed, $value);
35
+ } @else {
36
+ $_ecl-base: map.set($_ecl-base, $key, $value);
37
+ }
38
+ }
39
+
40
+ // 2. Local overlay — EDS-only tokens + intentional divergences from ECL.
41
+ $_overlay: (
42
+ // --- On-surface for state surfaces that ship no `on-*--hover/--pressed` in ECL ---
43
+ // Each state surface reuses its base family's on-* text color (text color does
44
+ // not change between rest/hover/pressed), so eds-u-c-* and components resolve a
45
+ // readable foreground for every interactive state.
46
+ on-surface-primary--hover: map.get(primitive.$color-map, 'graphite-0'), // #fff
47
+ on-surface-primary--pressed: map.get(primitive.$color-map, 'graphite-0'), // #fff
48
+ on-surface-highlight--hover: map.get(primitive.$color-map, 'graphite-950'), // #0d0d12
49
+ on-surface-highlight--pressed: map.get(primitive.$color-map, 'graphite-950'), // #0d0d12
50
+ on-surface-neutral--hover: map.get(primitive.$color-map, 'graphite-0'), // #fff
51
+ on-surface-neutral--pressed: map.get(primitive.$color-map, 'graphite-0'), // #fff
52
+ on-surface-critical--hover: map.get(primitive.$color-map, 'graphite-0'), // #fff
53
+ on-surface-critical--pressed: map.get(primitive.$color-map, 'graphite-0'), // #fff
54
+ on-surface-brand--hover: map.get(primitive.$color-map, 'graphite-0'), // #fff
55
+
56
+ // used by: fab-button, icon-button, input-chat, language-selector, user-profile
57
+ surface-brand--hover: map.get(primitive.$color-map, 'graphite-950'), // #0d0d12
58
+
59
+ // used by: chip, menu
60
+ surface-neutral-subtler: map.get(primitive.$color-map, 'graphite-600'), // #24242c
61
+ // used by: chip
62
+ on-surface-neutral-subtler: map.get(primitive.$color-map, 'graphite-0'), // #fff
63
+
64
+ // --- Foreground (EDS-only inverted) ---
65
+ // used by: banner, shell, tabs
66
+ foreground-inverted: map.get(primitive.$color-map, 'graphite-950'), // #0d0d12
67
+
68
+ // --- Borders (EDS-only + divergences) ---
69
+ // used by: badge, chat-bubble, chip, language-selector, tag, tag-group
70
+ border-neutral-subtle: map.get(primitive.$color-map, 'graphite-400'), // #48484f
308
71
  );
72
+
73
+ $color-semantic-map: map.merge($_ecl-base, $_overlay);