@openkfw/design-tokens 0.6.0 → 0.6.1
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/demo/dist/css/style.min.css +1 -1
- package/demo/scripts/build-icons.js +37 -0
- package/demo/scripts/postcss.svg-load-plugin.js +1 -1
- package/demo/src/style.css +234 -114
- package/demo/src/vendor/gen-icons.css +105 -0
- package/output/css/kfw-design-tokens.light.css +5 -3
- package/output/figma/kfw-design-tokens.light.json +8 -0
- package/output/js/kfw-design-tokens.d.ts +15 -3
- package/output/js/kfw-design-tokens.light.js +13 -3
- package/output/json/kfw-design-tokens.json +74 -4
- package/output/penpot/kfw-design-tokens.light.json +8 -0
- package/output/scss/kfw-design-tokens.light.scss +5 -3
- package/output/web_thirdparty_16px/css/kfw-design-tokens.light.css +5 -3
- package/output/web_thirdparty_16px/js/kfw-design-tokens.light.js +13 -3
- package/output/web_thirdparty_16px/scss/kfw-design-tokens.light.scss +5 -3
- package/package.json +3 -4
- package/tokens/gen-tokens.dark.json5 +10 -2
- package/tokens/tokens.json +4 -2
- package/demo/scripts/postcss.color-to-filter.js +0 -66
package/demo/src/style.css
CHANGED
|
@@ -1,24 +1,73 @@
|
|
|
1
1
|
/* Establish the order of layers upfront */
|
|
2
|
-
@layer reset, core, third-party, components, utility;
|
|
2
|
+
@layer reset, core, icons, third-party, components, utility;
|
|
3
3
|
@layer core.tokens, core.base, core.variations;
|
|
4
|
+
@layer icons.base, icons.classes;
|
|
4
5
|
@layer third-party.imports, third-party.overrides;
|
|
5
6
|
@layer components.base, components.variations;
|
|
6
7
|
|
|
8
|
+
/* Custom Media Queries */
|
|
9
|
+
@import url("vendor/gen-custom-media.css");
|
|
10
|
+
|
|
7
11
|
/* Reset, normalize, etc. */
|
|
8
12
|
@import url("vendor/uaplus.css") layer(reset);
|
|
9
13
|
|
|
10
|
-
/* KfW Design Tokens
|
|
14
|
+
/* KfW Design Tokens */
|
|
11
15
|
@import url("@openkfw/design-tokens/output/css/kfw-design-tokens.light.css") layer(core.tokens);
|
|
12
|
-
|
|
16
|
+
|
|
17
|
+
/* Icons */
|
|
18
|
+
@import url("vendor/gen-icons.css") layer(icons.classes);
|
|
19
|
+
|
|
20
|
+
@layer icons.base {
|
|
21
|
+
:root {
|
|
22
|
+
--icon-size: 1.6rem;
|
|
23
|
+
--icon-size-lg: 2.4rem;
|
|
24
|
+
--icon-size-xl: 2.8rem;
|
|
25
|
+
--icon-size-2xl: 3.2rem;
|
|
26
|
+
--icon-size-3xl: 4rem;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.icon {
|
|
30
|
+
--size: var(--icon-size);
|
|
31
|
+
|
|
32
|
+
display: inline-block;
|
|
33
|
+
flex-shrink: 0;
|
|
34
|
+
vertical-align: top;
|
|
35
|
+
pointer-events: none;
|
|
36
|
+
mask-size: contain;
|
|
37
|
+
mask-position: center;
|
|
38
|
+
mask-repeat: no-repeat;
|
|
39
|
+
background-color: currentcolor;
|
|
40
|
+
mask-image: var(--icon);
|
|
41
|
+
min-width: var(--size);
|
|
42
|
+
min-height: var(--size);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.icon--large {
|
|
46
|
+
--size: var(--icon-size-lg);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.icon--xlarge {
|
|
50
|
+
--size: var(--icon-size-xl);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.icon--2xl {
|
|
54
|
+
--size: var(--icon-size-2xl);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.icon--3xl {
|
|
58
|
+
--size: var(--icon-size-3xl);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
13
61
|
|
|
14
62
|
@layer core {
|
|
15
63
|
@layer tokens {
|
|
16
|
-
:root
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
--kfw-icon-arrow-down
|
|
20
|
-
--kfw-icon-
|
|
21
|
-
--kfw-icon-
|
|
64
|
+
:root,
|
|
65
|
+
:host {
|
|
66
|
+
/* Base64 icons, used for elements without their own element or pseudo-elements (::before, ::after) like <select>, <input> */
|
|
67
|
+
--kfw-icon-base64-arrow-down: svg-load("icons/arrow-down.svg", "var(--kfw-color-text)");
|
|
68
|
+
--kfw-icon-base64-arrow-down-fn: svg-load("icons/arrow-down.svg", "var(--kfw-color-fn)");
|
|
69
|
+
--kfw-icon-base64-calendar-fn: svg-load("icons/calendar.svg", "var(--kfw-color-fn)");
|
|
70
|
+
--kfw-icon-base64-time-fn: svg-load("icons/time.svg", "var(--kfw-color-fn)");
|
|
22
71
|
|
|
23
72
|
/* fluid shorthands */
|
|
24
73
|
--kfw-safezone: clamp(var(--kfw-safezone-min), var(--kfw-safezone-val), var(--kfw-safezone-max));
|
|
@@ -85,13 +134,6 @@
|
|
|
85
134
|
margin-block-end: 0;
|
|
86
135
|
}
|
|
87
136
|
|
|
88
|
-
ul,
|
|
89
|
-
ol,
|
|
90
|
-
menu {
|
|
91
|
-
list-style: none inside none;
|
|
92
|
-
padding-inline-start: 0;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
137
|
mark {
|
|
96
138
|
padding: 0.125rem 0.25rem;
|
|
97
139
|
vertical-align: baseline;
|
|
@@ -107,6 +149,158 @@
|
|
|
107
149
|
margin-block-start: var(--kfw-fontspace-2xsmall);
|
|
108
150
|
}
|
|
109
151
|
|
|
152
|
+
/**
|
|
153
|
+
* Lists
|
|
154
|
+
*/
|
|
155
|
+
ul,
|
|
156
|
+
ol,
|
|
157
|
+
menu {
|
|
158
|
+
list-style: none;
|
|
159
|
+
padding-inline-start: 0;
|
|
160
|
+
font-weight: var(--kfw-fontweight);
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
ul li ul,
|
|
164
|
+
ul li ol,
|
|
165
|
+
ol li ul,
|
|
166
|
+
ol li ol {
|
|
167
|
+
margin-block-start: var(--kfw-space-xsmall);
|
|
168
|
+
padding-inline-start: var(--kfw-space-small);
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
.list-item {
|
|
172
|
+
position: relative;
|
|
173
|
+
margin-block-end: var(--kfw-space-xsmall);
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
.list-item::before {
|
|
177
|
+
position: absolute;
|
|
178
|
+
top: 0;
|
|
179
|
+
left: 0;
|
|
180
|
+
pointer-events: none;
|
|
181
|
+
mask-size: contain;
|
|
182
|
+
mask-position: center;
|
|
183
|
+
mask-repeat: no-repeat;
|
|
184
|
+
background-repeat: no-repeat;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
:where(.list--numbers, .list--letters, .list--caps, .list--icon, .list--big-checks, .list--checks, .list--bullets) > .list-item {
|
|
188
|
+
padding-inline-start: 2rem;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
:where(.list--numbers, .list--letters, .list--caps, .list--icon, .list--big-checks, .list--checks, .list--bullets) > .list-item::before {
|
|
192
|
+
content: "";
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
:where(.list--numbers, .list--letters, .list--caps, .list--icon, .list--big-checks, .list--checks, .list--bullets) > .list-item :where(ul, ol) {
|
|
196
|
+
padding-inline-start: 0;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
/* Numbered and Lettered Lists */
|
|
200
|
+
:where(.list--letters, .list--caps) {
|
|
201
|
+
counter-reset: item;
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
:where(.list--letters, .list--caps) .list-item::before {
|
|
205
|
+
content: counter(item, lower-latin) ".";
|
|
206
|
+
counter-increment: item;
|
|
207
|
+
font-weight: var(--kfw-fontweight-bold);
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
.list--caps .list-item::before {
|
|
211
|
+
content: counter(item, upper-latin) ".";
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
.list--numbers {
|
|
215
|
+
counter-reset: item-counter;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
.list--numbers > .list-item::before {
|
|
219
|
+
content: counter(item-counter) ".";
|
|
220
|
+
counter-increment: item-counter;
|
|
221
|
+
font-weight: var(--kfw-fontweight-bold);
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
/* Check and Big Check Lists */
|
|
225
|
+
:where(.list--checks, .list--big-checks) > .list-item {
|
|
226
|
+
--icon: var(--kfw-icon-checked);
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
.list--checks > .list-item::before {
|
|
230
|
+
min-width: var(--icon-size);
|
|
231
|
+
min-height: var(--icon-size);
|
|
232
|
+
top: 0.3rem;
|
|
233
|
+
mask-image: var(--icon);
|
|
234
|
+
background-color: var(--kfw-color-background-dark-green);
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
.list--big-checks > .list-item {
|
|
238
|
+
--size: var(--icon-size-xl);
|
|
239
|
+
--space: 1.5rem;
|
|
240
|
+
|
|
241
|
+
padding-inline-start: calc(var(--size) + var(--space));
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
.list--big-checks > .list-item::before {
|
|
245
|
+
min-width: var(--size);
|
|
246
|
+
min-height: var(--size);
|
|
247
|
+
top: -0.1rem;
|
|
248
|
+
mask-image: var(--icon);
|
|
249
|
+
background-color: var(--kfw-color-background-dark-green);
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
@media (--kfw-breakpoint-desktop-large) {
|
|
253
|
+
.list--big-checks > .list-item {
|
|
254
|
+
--size: var(--icon-size-2xl);
|
|
255
|
+
--space: 1rem;
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
.list--big-checks > .list-item::before {
|
|
259
|
+
top: -0.3rem;
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
/* Icon Lists */
|
|
264
|
+
.list--icon > .list-item {
|
|
265
|
+
--size: var(--icon-size-lg);
|
|
266
|
+
--space: 1.5rem;
|
|
267
|
+
--icon: var(--kfw-icon-checked);
|
|
268
|
+
|
|
269
|
+
margin-block-end: var(--kfw-space-small);
|
|
270
|
+
font-weight: var(--kfw-fontweight-bold);
|
|
271
|
+
padding-inline-start: calc(var(--size) + var(--space));
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
.list--icon > .list-item::before {
|
|
275
|
+
--icon-color: var(--kfw-color-background-dark-green);
|
|
276
|
+
|
|
277
|
+
min-width: var(--size);
|
|
278
|
+
min-height: var(--size);
|
|
279
|
+
mask-image: var(--icon);
|
|
280
|
+
background-color: var(--icon-color);
|
|
281
|
+
top: -0.1rem;
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
/* Bullet Lists */
|
|
285
|
+
.list--bullets > .list-item {
|
|
286
|
+
--icon-size: 0.5rem;
|
|
287
|
+
|
|
288
|
+
padding-inline-start: calc(var(--icon-size) + 10px);
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
.list--bullets > .list-item::before {
|
|
292
|
+
min-width: var(--icon-size);
|
|
293
|
+
min-height: var(--icon-size);
|
|
294
|
+
top: 0.8rem;
|
|
295
|
+
mask-image: var(--kfw-icon-bullet-point);
|
|
296
|
+
background-color: currentcolor;
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
.list--bullets-empty > .list-item::before {
|
|
300
|
+
mask-image: var(--kfw-icon-bullet-point-empty);
|
|
301
|
+
background-color: currentcolor;
|
|
302
|
+
}
|
|
303
|
+
|
|
110
304
|
/**
|
|
111
305
|
* Table
|
|
112
306
|
*/
|
|
@@ -298,19 +492,6 @@
|
|
|
298
492
|
line-height: var(--kfw-lineheight);
|
|
299
493
|
}
|
|
300
494
|
|
|
301
|
-
/**
|
|
302
|
-
* Icon
|
|
303
|
-
*/
|
|
304
|
-
.icon {
|
|
305
|
-
display: inline-block;
|
|
306
|
-
flex-shrink: 0;
|
|
307
|
-
vertical-align: top;
|
|
308
|
-
pointer-events: none;
|
|
309
|
-
min-width: 1.6rem;
|
|
310
|
-
min-height: 1.6rem;
|
|
311
|
-
filter: color-to-filter(var(--kfw-color-text));
|
|
312
|
-
}
|
|
313
|
-
|
|
314
495
|
/**
|
|
315
496
|
* Form
|
|
316
497
|
*/
|
|
@@ -331,6 +512,7 @@
|
|
|
331
512
|
padding-inline: 1.5rem;
|
|
332
513
|
padding-block: 1rem;
|
|
333
514
|
background-color: var(--kfw-color-background);
|
|
515
|
+
background-repeat: no-repeat;
|
|
334
516
|
}
|
|
335
517
|
|
|
336
518
|
.form-control::placeholder {
|
|
@@ -357,12 +539,11 @@
|
|
|
357
539
|
padding-block: 0;
|
|
358
540
|
background-position: center right 1.5rem;
|
|
359
541
|
background-size: 2.4rem auto;
|
|
360
|
-
background-
|
|
361
|
-
background-image: var(--kfw-icon-arrow-down-fn);
|
|
542
|
+
background-image: var(--kfw-icon-base64-arrow-down-fn);
|
|
362
543
|
}
|
|
363
544
|
|
|
364
545
|
select.form-control:disabled {
|
|
365
|
-
background-image: var(--kfw-icon-arrow-down);
|
|
546
|
+
background-image: var(--kfw-icon-base64-arrow-down);
|
|
366
547
|
}
|
|
367
548
|
|
|
368
549
|
textarea.form-control {
|
|
@@ -382,11 +563,6 @@
|
|
|
382
563
|
accent-color: var(--kfw-color-fn);
|
|
383
564
|
}
|
|
384
565
|
|
|
385
|
-
[type="color"] {
|
|
386
|
-
padding-inline: 0.2rem;
|
|
387
|
-
padding-block: 0;
|
|
388
|
-
}
|
|
389
|
-
|
|
390
566
|
textarea {
|
|
391
567
|
display: block;
|
|
392
568
|
resize: vertical;
|
|
@@ -409,7 +585,10 @@
|
|
|
409
585
|
}
|
|
410
586
|
|
|
411
587
|
:where(.form-text, .invalid-feedback, .valid-feedback) {
|
|
412
|
-
|
|
588
|
+
--space-between: 0.8rem;
|
|
589
|
+
|
|
590
|
+
gap: var(--space-between);
|
|
591
|
+
display: flex;
|
|
413
592
|
width: 100%;
|
|
414
593
|
margin-block-start: 0.8rem;
|
|
415
594
|
font-size: var(--kfw-fontsize-small);
|
|
@@ -421,18 +600,10 @@
|
|
|
421
600
|
color: var(--kfw-color-state-success);
|
|
422
601
|
}
|
|
423
602
|
|
|
424
|
-
.valid-feedback__icon {
|
|
425
|
-
filter: color-to-filter(var(--kfw-color-state-success));
|
|
426
|
-
}
|
|
427
|
-
|
|
428
603
|
.invalid-feedback {
|
|
429
604
|
color: var(--kfw-color-state-danger);
|
|
430
605
|
}
|
|
431
606
|
|
|
432
|
-
.invalid-feedback__icon {
|
|
433
|
-
filter: color-to-filter(var(--kfw-color-state-danger));
|
|
434
|
-
}
|
|
435
|
-
|
|
436
607
|
:where(label, .form-label) {
|
|
437
608
|
display: inline-block;
|
|
438
609
|
margin-block-end: 0.8rem;
|
|
@@ -580,11 +751,11 @@
|
|
|
580
751
|
}
|
|
581
752
|
|
|
582
753
|
[type="date"]::-webkit-calendar-picker-indicator {
|
|
583
|
-
content: var(--kfw-icon-calendar-fn);
|
|
754
|
+
content: var(--kfw-icon-base64-calendar-fn);
|
|
584
755
|
}
|
|
585
756
|
|
|
586
757
|
[type="time"]::-webkit-calendar-picker-indicator {
|
|
587
|
-
content: var(--kfw-icon-time-fn);
|
|
758
|
+
content: var(--kfw-icon-base64-time-fn);
|
|
588
759
|
}
|
|
589
760
|
|
|
590
761
|
:where(a:not([role="button"]), [role="link"]) {
|
|
@@ -611,14 +782,6 @@
|
|
|
611
782
|
gap: var(--space-between);
|
|
612
783
|
}
|
|
613
784
|
|
|
614
|
-
:where(a, [role="link"], button, [type="button"]) .icon {
|
|
615
|
-
filter: color-to-filter(var(--kfw-color-fn));
|
|
616
|
-
}
|
|
617
|
-
|
|
618
|
-
:where(a, [role="link"], button, [type="button"]):where(:hover, :focus) .icon {
|
|
619
|
-
filter: color-to-filter(var(--kfw-color-fn-active));
|
|
620
|
-
}
|
|
621
|
-
|
|
622
785
|
[type="file"]::file-selector-button,
|
|
623
786
|
:where(button, [type="submit"], [type="reset"], [type="button"], [role="button"]) {
|
|
624
787
|
--space-between: 0.8rem;
|
|
@@ -643,6 +806,7 @@
|
|
|
643
806
|
border-width: var(--kfw-borderwidth);
|
|
644
807
|
border-style: solid;
|
|
645
808
|
border-color: transparent;
|
|
809
|
+
color: var(--kfw-color-fn);
|
|
646
810
|
}
|
|
647
811
|
|
|
648
812
|
:where([type="submit"], .button--primary) {
|
|
@@ -665,22 +829,6 @@
|
|
|
665
829
|
text-decoration: underline;
|
|
666
830
|
}
|
|
667
831
|
|
|
668
|
-
.button--primary .icon {
|
|
669
|
-
filter: color-to-filter(var(--kfw-color-text-on-dark-bg));
|
|
670
|
-
}
|
|
671
|
-
|
|
672
|
-
.button--secondary .icon {
|
|
673
|
-
filter: color-to-filter(var(--kfw-color-fn));
|
|
674
|
-
}
|
|
675
|
-
|
|
676
|
-
.button--primary:where(:hover, :focus) .icon {
|
|
677
|
-
filter: color-to-filter(var(--kfw-color-text-on-dark-bg));
|
|
678
|
-
}
|
|
679
|
-
|
|
680
|
-
.button--secondary:where(:hover, :focus) .icon {
|
|
681
|
-
filter: color-to-filter(var(--kfw-color-text-on-dark-bg));
|
|
682
|
-
}
|
|
683
|
-
|
|
684
832
|
[type="file"]::file-selector-button,
|
|
685
833
|
:where([type="reset"], .button--secondary) {
|
|
686
834
|
--button-border-color: var(--kfw-color-fn);
|
|
@@ -772,19 +920,13 @@
|
|
|
772
920
|
padding: 0.25rem;
|
|
773
921
|
margin: 0;
|
|
774
922
|
cursor: pointer;
|
|
775
|
-
border-radius: var(--kfw-borderradius);
|
|
923
|
+
border-radius: var(--kfw-borderradius);
|
|
776
924
|
}
|
|
777
925
|
|
|
778
926
|
.searchfield__button:where(:hover, :focus) {
|
|
779
927
|
outline: 2px solid var(--kfw-color-fn-active);
|
|
780
928
|
}
|
|
781
929
|
|
|
782
|
-
.searchfield__icon {
|
|
783
|
-
width: 2.4rem;
|
|
784
|
-
height: 2.4rem;
|
|
785
|
-
filter: color-to-filter(var(--kfw-color-fn));
|
|
786
|
-
}
|
|
787
|
-
|
|
788
930
|
/**
|
|
789
931
|
* File-Upload
|
|
790
932
|
*/
|
|
@@ -817,10 +959,8 @@
|
|
|
817
959
|
}
|
|
818
960
|
|
|
819
961
|
.file-upload__icon {
|
|
820
|
-
|
|
821
|
-
height: 4rem;
|
|
962
|
+
color: var(--kfw-color-fn);
|
|
822
963
|
margin: 2rem;
|
|
823
|
-
filter: color-to-filter(var(--kfw-color-fn));
|
|
824
964
|
}
|
|
825
965
|
|
|
826
966
|
/**
|
|
@@ -1113,6 +1253,18 @@
|
|
|
1113
1253
|
margin-block-end: var(--kfw-space-small);
|
|
1114
1254
|
}
|
|
1115
1255
|
|
|
1256
|
+
.color-palette__label {
|
|
1257
|
+
text-wrap: balance;
|
|
1258
|
+
display: block;
|
|
1259
|
+
padding: 0.5rem;
|
|
1260
|
+
margin-block-end: 0;
|
|
1261
|
+
}
|
|
1262
|
+
|
|
1263
|
+
.color-palette__container {
|
|
1264
|
+
text-align: center;
|
|
1265
|
+
padding-inline: var(--kfw-space-xsmall);
|
|
1266
|
+
}
|
|
1267
|
+
|
|
1116
1268
|
.color-palette__color {
|
|
1117
1269
|
display: block;
|
|
1118
1270
|
width: 100%;
|
|
@@ -1138,18 +1290,6 @@
|
|
|
1138
1290
|
border-inline-end: var(--kfw-borderwidth) solid var(--kfw-color-fn-inactive);
|
|
1139
1291
|
}
|
|
1140
1292
|
}
|
|
1141
|
-
|
|
1142
|
-
.color-palette__label {
|
|
1143
|
-
text-wrap: balance;
|
|
1144
|
-
display: block;
|
|
1145
|
-
padding: 0.5rem;
|
|
1146
|
-
margin-block-end: 0;
|
|
1147
|
-
}
|
|
1148
|
-
|
|
1149
|
-
.color-palette__container {
|
|
1150
|
-
text-align: center;
|
|
1151
|
-
padding-inline: var(--kfw-space-xsmall);
|
|
1152
|
-
}
|
|
1153
1293
|
}
|
|
1154
1294
|
|
|
1155
1295
|
@layer variations {
|
|
@@ -1172,14 +1312,6 @@
|
|
|
1172
1312
|
text-decoration: none;
|
|
1173
1313
|
}
|
|
1174
1314
|
|
|
1175
|
-
:where(.bg-dark, .footer) :where([role="link"], a:not([role="button"])) .icon {
|
|
1176
|
-
filter: color-to-filter(var(--kfw-color-text-on-dark-bg));
|
|
1177
|
-
}
|
|
1178
|
-
|
|
1179
|
-
:where(.bg-dark, .footer) :where(button, [type="submit"], [type="reset"], [type="button"], [role="button"]) .icon {
|
|
1180
|
-
filter: color-to-filter(var(--kfw-color-text-on-dark-bg));
|
|
1181
|
-
}
|
|
1182
|
-
|
|
1183
1315
|
:where(.bg-dark, .footer) :where(.button--primary, [type="submit"]) {
|
|
1184
1316
|
--button-color: var(--kfw-color-fn);
|
|
1185
1317
|
--button-bg: var(--kfw-color-text-on-dark-bg);
|
|
@@ -1189,10 +1321,6 @@
|
|
|
1189
1321
|
--button-border-color-hover: var(--kfw-color-text-on-dark-bg);
|
|
1190
1322
|
}
|
|
1191
1323
|
|
|
1192
|
-
:where(.bg-dark, .footer) :where(.button--primary, [type="submit"]) .icon {
|
|
1193
|
-
filter: color-to-filter(var(--kfw-color-fn));
|
|
1194
|
-
}
|
|
1195
|
-
|
|
1196
1324
|
:where(.bg-dark, .footer) :where(.button--secondary, [type="reset"]) {
|
|
1197
1325
|
--button-color: var(--kfw-color-text-on-dark-bg);
|
|
1198
1326
|
--button-border-color: var(--kfw-color-text-on-dark-bg);
|
|
@@ -1201,14 +1329,6 @@
|
|
|
1201
1329
|
--button-border-color-hover: var(--kfw-color-text-on-dark-bg);
|
|
1202
1330
|
}
|
|
1203
1331
|
|
|
1204
|
-
:where(.bg-dark, .footer) :where(.button--secondary, [type="reset"]) .icon {
|
|
1205
|
-
filter: color-to-filter(var(--kfw-color-text-on-dark-bg));
|
|
1206
|
-
}
|
|
1207
|
-
|
|
1208
|
-
:where(.bg-dark, .footer) :where(.button--secondary, [type="reset"]):where(:hover, :focus) .icon {
|
|
1209
|
-
filter: color-to-filter(var(--kfw-color-text));
|
|
1210
|
-
}
|
|
1211
|
-
|
|
1212
1332
|
:where(.bg-dark, .footer) .button--tertiary {
|
|
1213
1333
|
--button-color: var(--kfw-color-text-on-dark-bg);
|
|
1214
1334
|
--button-color-hover: var(--kfw-color-text-on-dark-bg);
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/* Auto-generated icon classes */
|
|
2
|
+
|
|
3
|
+
:root,
|
|
4
|
+
:host {
|
|
5
|
+
--kfw-icon-alert: url("../icons/alert.svg");
|
|
6
|
+
--kfw-icon-arrow-down: url("../icons/arrow-down.svg");
|
|
7
|
+
--kfw-icon-arrow-left: url("../icons/arrow-left.svg");
|
|
8
|
+
--kfw-icon-arrow-right: url("../icons/arrow-right.svg");
|
|
9
|
+
--kfw-icon-arrow-up: url("../icons/arrow-up.svg");
|
|
10
|
+
--kfw-icon-bullet-point-empty: url("../icons/bullet-point-empty.svg");
|
|
11
|
+
--kfw-icon-bullet-point: url("../icons/bullet-point.svg");
|
|
12
|
+
--kfw-icon-calendar: url("../icons/calendar.svg");
|
|
13
|
+
--kfw-icon-checked: url("../icons/checked.svg");
|
|
14
|
+
--kfw-icon-delete: url("../icons/delete.svg");
|
|
15
|
+
--kfw-icon-dialogue: url("../icons/dialogue.svg");
|
|
16
|
+
--kfw-icon-exclamation-mark-filled: url("../icons/exclamation-mark-filled.svg");
|
|
17
|
+
--kfw-icon-home: url("../icons/home.svg");
|
|
18
|
+
--kfw-icon-lock: url("../icons/lock.svg");
|
|
19
|
+
--kfw-icon-login: url("../icons/login.svg");
|
|
20
|
+
--kfw-icon-personal-settings: url("../icons/personal-settings.svg");
|
|
21
|
+
--kfw-icon-plus: url("../icons/plus.svg");
|
|
22
|
+
--kfw-icon-search: url("../icons/search.svg");
|
|
23
|
+
--kfw-icon-time: url("../icons/time.svg");
|
|
24
|
+
--kfw-icon-upload: url("../icons/upload.svg");
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.icon--alert {
|
|
28
|
+
--icon: var(--kfw-icon-alert);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.icon--arrow-down {
|
|
32
|
+
--icon: var(--kfw-icon-arrow-down);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.icon--arrow-left {
|
|
36
|
+
--icon: var(--kfw-icon-arrow-left);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.icon--arrow-right {
|
|
40
|
+
--icon: var(--kfw-icon-arrow-right);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.icon--arrow-up {
|
|
44
|
+
--icon: var(--kfw-icon-arrow-up);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.icon--bullet-point-empty {
|
|
48
|
+
--icon: var(--kfw-icon-bullet-point-empty);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.icon--bullet-point {
|
|
52
|
+
--icon: var(--kfw-icon-bullet-point);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.icon--calendar {
|
|
56
|
+
--icon: var(--kfw-icon-calendar);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.icon--checked {
|
|
60
|
+
--icon: var(--kfw-icon-checked);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.icon--delete {
|
|
64
|
+
--icon: var(--kfw-icon-delete);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.icon--dialogue {
|
|
68
|
+
--icon: var(--kfw-icon-dialogue);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.icon--exclamation-mark-filled {
|
|
72
|
+
--icon: var(--kfw-icon-exclamation-mark-filled);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.icon--home {
|
|
76
|
+
--icon: var(--kfw-icon-home);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.icon--lock {
|
|
80
|
+
--icon: var(--kfw-icon-lock);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.icon--login {
|
|
84
|
+
--icon: var(--kfw-icon-login);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.icon--personal-settings {
|
|
88
|
+
--icon: var(--kfw-icon-personal-settings);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
.icon--plus {
|
|
92
|
+
--icon: var(--kfw-icon-plus);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.icon--search {
|
|
96
|
+
--icon: var(--kfw-icon-search);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.icon--time {
|
|
100
|
+
--icon: var(--kfw-icon-time);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.icon--upload {
|
|
104
|
+
--icon: var(--kfw-icon-upload);
|
|
105
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* KfW Design Tokens v0.6.
|
|
2
|
+
* KfW Design Tokens v0.6.1 | MPL-2.0 | https://github.com/openkfw/design-tokens
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
5
|
:root, :host { color-scheme: light; }
|
|
@@ -156,13 +156,15 @@
|
|
|
156
156
|
--kfw-base-layout-gridgap-fluid-max: 3.6rem;
|
|
157
157
|
--kfw-base-layout-gridgap-fluid-val: 3.529vi - 0.9176rem;
|
|
158
158
|
--kfw-color-fn: #005a8c; /** Main interaction color for buttons and links (Blue 600) */
|
|
159
|
-
--kfw-color-fn-active: #00446e; /**
|
|
159
|
+
--kfw-color-fn-active: #00446e; /** Main interaction color when active (e.g., hover, Blue 700) */
|
|
160
160
|
--kfw-color-fn-inactive: #a1adb5; /** Interaction color when inactive (Gray 300) */
|
|
161
161
|
--kfw-color-fn-border: #2d3134; /** Interaction border color (Gray 600) */
|
|
162
162
|
--kfw-color-fn-label: #2d3134; /** Interaction label color (Gray 600) */
|
|
163
163
|
--kfw-color-text: #2d3134; /** Main text color for body (Gray 600) */
|
|
164
164
|
--kfw-color-text-on-dark-bg: #fff; /** Main text color on dark background (White) */
|
|
165
|
-
--kfw-color-text-on-
|
|
165
|
+
--kfw-color-text-on-white-bg: #b7f9aa; /** Text color on white background (Green 300) */
|
|
166
|
+
--kfw-color-text-on-colored-bg: #00375b; /** Text color on colored background (Blue 800) */
|
|
167
|
+
--kfw-color-text-on-disabled: #fff; /** Text color on disabled (White) */
|
|
166
168
|
--kfw-color-text-headline-on-dark-bg: #b7f9aa; /** Headline text color on dark background (Green 300) */
|
|
167
169
|
--kfw-color-background: #fff; /** Main background color for body (White) */
|
|
168
170
|
--kfw-color-background-subtle: #f6f7f8; /** Neutral (Gray 50) */
|
|
@@ -340,6 +340,14 @@
|
|
|
340
340
|
"$value": "#fff",
|
|
341
341
|
"$type": "color"
|
|
342
342
|
},
|
|
343
|
+
"On-white-bg": {
|
|
344
|
+
"$value": "#b7f9aa",
|
|
345
|
+
"$type": "color"
|
|
346
|
+
},
|
|
347
|
+
"On-colored-bg": {
|
|
348
|
+
"$value": "#00375b",
|
|
349
|
+
"$type": "color"
|
|
350
|
+
},
|
|
343
351
|
"On-disabled": {
|
|
344
352
|
"$value": "#fff",
|
|
345
353
|
"$type": "color"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* KfW Design Tokens v0.6.
|
|
2
|
+
* KfW Design Tokens v0.6.1 | MPL-2.0 | https://github.com/openkfw/design-tokens
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
5
|
export const KfwBaseColorBlue100: {
|
|
@@ -275,7 +275,7 @@ export const KfwColorFn: {
|
|
|
275
275
|
components: number[];
|
|
276
276
|
hex: string;
|
|
277
277
|
};
|
|
278
|
-
/**
|
|
278
|
+
/** Main interaction color when active (e.g., hover, Blue 700) */
|
|
279
279
|
export const KfwColorFnActive: {
|
|
280
280
|
colorSpace: string;
|
|
281
281
|
components: number[];
|
|
@@ -311,7 +311,19 @@ export const KfwColorTextOnDarkBg: {
|
|
|
311
311
|
components: number[];
|
|
312
312
|
hex: string;
|
|
313
313
|
};
|
|
314
|
-
/**
|
|
314
|
+
/** Text color on white background (Green 300) */
|
|
315
|
+
export const KfwColorTextOnWhiteBg: {
|
|
316
|
+
colorSpace: string;
|
|
317
|
+
components: number[];
|
|
318
|
+
hex: string;
|
|
319
|
+
};
|
|
320
|
+
/** Text color on colored background (Blue 800) */
|
|
321
|
+
export const KfwColorTextOnColoredBg: {
|
|
322
|
+
colorSpace: string;
|
|
323
|
+
components: number[];
|
|
324
|
+
hex: string;
|
|
325
|
+
};
|
|
326
|
+
/** Text color on disabled (White) */
|
|
315
327
|
export const KfwColorTextOnDisabled: {
|
|
316
328
|
colorSpace: string;
|
|
317
329
|
components: number[];
|