@@ -10,77 +10,83 @@ import { addGlobalThemeStyles } from '@vaadin/vaadin-themable-mixin/register-sty
1010addGlobalThemeStyles (
1111 'vaadin-base' ,
1212 css `
13- : where (html ) {
14- /* Background color */
15- --vaadin-background-color : light-dark (# fff, # 222 );
13+ @layer base {
14+ : where (html ) {
15+ /* Background color */
16+ --vaadin-background-color : light-dark (# fff, # 222 );
1617
17- /* Container colors */
18- --vaadin-background-container : color-mix (in oklch, var (--vaadin-color ) 5% , var (--vaadin-background-color ));
19- --vaadin-background-container-strong : color-mix (
20- in oklch,
21- var (--vaadin-color ) 10% ,
22- var (--vaadin-background-color )
23- );
18+ /* Container colors */
19+ --vaadin-background-container : color-mix (in oklch, var (--vaadin-color ) 5% , var (--vaadin-background-color ));
20+ --vaadin-background-container-strong : color-mix (
21+ in oklch,
22+ var (--vaadin-color ) 10% ,
23+ var (--vaadin-background-color )
24+ );
2425
25- /* Border colors */
26- --vaadin-border-color : color-mix (in oklch, var (--vaadin-color ) 24% , transparent);
27- --vaadin-border-color-strong : color-mix (in oklch, var (--vaadin-color ) 48% , transparent); /* Above 3:1 contrast */
26+ /* Border colors */
27+ --vaadin-border-color : color-mix (in oklch, var (--vaadin-color ) 24% , transparent);
28+ --vaadin-border-color-strong : color-mix (
29+ in oklch,
30+ var (--vaadin-color ) 48% ,
31+ transparent
32+ ); /* Above 3:1 contrast */
2833
29- /* Text colors */
30- --vaadin-color-disabled : color-mix (in oklch, var (--vaadin-color ) 48% , transparent); /* Above 3:1 contrast */
31- --vaadin-color-subtle : color-mix (in oklch, var (--vaadin-color ) 68% , transparent); /* Above 4.5:1 contrast */
32- --vaadin-color : light-dark (# 1f1f1f, white); /* Above 7:1 contrast */
34+ /* Text colors */
35+ --vaadin-color-disabled : color-mix (in oklch, var (--vaadin-color ) 48% , transparent); /* Above 3:1 contrast */
36+ --vaadin-color-subtle : color-mix (in oklch, var (--vaadin-color ) 68% , transparent); /* Above 4.5:1 contrast */
37+ --vaadin-color : light-dark (# 1f1f1f, white); /* Above 7:1 contrast */
3338
34- /* Padding */
35- --vaadin-padding : 8px ;
36- --vaadin-padding-container : 6px 8px ;
39+ /* Padding */
40+ --vaadin-padding : 8px ;
41+ --vaadin-padding-container : 6px 8px ;
3742
38- /* Gap/spacing */
39- --vaadin-gap-container-inline : 0.5em ;
40- --vaadin-gap-container-block : 0.5em ;
43+ /* Gap/spacing */
44+ --vaadin-gap-container-inline : 0.5em ;
45+ --vaadin-gap-container-block : 0.5em ;
4146
42- /* Border radius */
43- --vaadin-radius-s : 3px ;
44- --vaadin-radius-m : 6px ;
45- --vaadin-radius-l : 12px ;
46- --vaadin-radius-full : 999px ;
47+ /* Border radius */
48+ --vaadin-radius-s : 3px ;
49+ --vaadin-radius-m : 6px ;
50+ --vaadin-radius-l : 12px ;
51+ --vaadin-radius-full : 999px ;
4752
48- /* Focus outline */
49- --vaadin-focus-ring-width : 2px ;
50- --vaadin-focus-ring-color : var (--vaadin-color );
53+ /* Focus outline */
54+ --vaadin-focus-ring-width : 2px ;
55+ --vaadin-focus-ring-color : var (--vaadin-color );
5156
52- /* Icons, used as mask-image */
53- --_vaadin-icon-arrow-up : url ('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M4.5 10.5 12 3m0 0 7.5 7.5M12 3v18" /></svg>' );
54- --_vaadin-icon-calendar : url ('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 0 1 2.25-2.25h13.5A2.25 2.25 0 0 1 21 7.5v11.25m-18 0A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75m-18 0v-7.5A2.25 2.25 0 0 1 5.25 9h13.5A2.25 2.25 0 0 1 21 11.25v7.5" /></svg>' );
55- --_vaadin-icon-checkmark : url ('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="m4.5 12.75 6 6 9-13.5" /></svg>' );
56- --_vaadin-icon-chevron-down : url ('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="m19.5 8.25-7.5 7.5-7.5-7.5" /></svg>' );
57- --_vaadin-icon-clock : url ('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M12 6v6h4.5m4.5 0a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z" /></svg>' );
58- --_vaadin-icon-cross : url ('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M6 18 18 6M6 6l12 12" /></svg>' );
59- --_vaadin-icon-eye : url ('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M2.036 12.322a1.012 1.012 0 0 1 0-.639C3.423 7.51 7.36 4.5 12 4.5c4.638 0 8.573 3.007 9.963 7.178.07.207.07.431 0 .639C20.577 16.49 16.64 19.5 12 19.5c-4.638 0-8.573-3.007-9.963-7.178Z" /><path stroke-linecap="round" stroke-linejoin="round" d="M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z" /></svg>' );
60- --_vaadin-icon-eye-slash : url ('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M3.98 8.223A10.477 10.477 0 0 0 1.934 12C3.226 16.338 7.244 19.5 12 19.5c.993 0 1.953-.138 2.863-.395M6.228 6.228A10.451 10.451 0 0 1 12 4.5c4.756 0 8.773 3.162 10.065 7.498a10.522 10.522 0 0 1-4.293 5.774M6.228 6.228 3 3m3.228 3.228 3.65 3.65m7.894 7.894L21 21m-3.228-3.228-3.65-3.65m0 0a3 3 0 1 0-4.243-4.243m4.242 4.242L9.88 9.88" /></svg>' );
61- --_vaadin-icon-fullscreen : url ('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M3.75 3.75v4.5m0-4.5h4.5m-4.5 0L9 9M3.75 20.25v-4.5m0 4.5h4.5m-4.5 0L9 15M20.25 3.75h-4.5m4.5 0v4.5m0-4.5L15 9m5.25 11.25h-4.5m4.5 0v-4.5m0 4.5L15 15" /></svg>' );
62- --_vaadin-icon-menu : url ('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5" /></svg>' );
63- --_vaadin-icon-minus : url ('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M5 12h14" /></svg>' );
64- --_vaadin-icon-plus : url ('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M12 4.5v15m7.5-7.5h-15" /></svg>' );
65- --_vaadin-icon-sort : url ('data:image/svg+xml;utf8,<svg width="8" height="12" viewBox="0 0 8 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7.49854 6.99951C7.92795 6.99951 8.15791 7.50528 7.87549 7.82861L4.37646 11.8296C4.17728 12.0571 3.82272 12.0571 3.62354 11.8296L0.125488 7.82861C-0.157248 7.50531 0.0719873 6.99956 0.501465 6.99951H7.49854ZM3.62354 0.17041C3.82275 -0.0573875 4.17725 -0.0573848 4.37646 0.17041L7.87549 4.17041C8.15825 4.49373 7.92806 5.00049 7.49854 5.00049L0.501465 4.99951C0.0719873 4.99946 -0.157248 4.49371 0.125488 4.17041L3.62354 0.17041Z" fill="black"/></svg>' );
66- --_vaadin-icon-user : url ('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path d="M3 20C5.33579 17.5226 8.50702 16 12 16C15.493 16 18.6642 17.5226 21 20M16.5 7.5C16.5 9.98528 14.4853 12 12 12C9.51472 12 7.5 9.98528 7.5 7.5C7.5 5.01472 9.51472 3 12 3C14.4853 3 16.5 5.01472 16.5 7.5Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>' );
67- --_vaadin-icon-warn : url ('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126ZM12 15.75h.007v.008H12v-.008Z" /></svg>' );
57+ /* Icons, used as mask-image */
58+ --_vaadin-icon-arrow-up : url ('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M4.5 10.5 12 3m0 0 7.5 7.5M12 3v18" /></svg>' );
59+ --_vaadin-icon-calendar : url ('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 0 1 2.25-2.25h13.5A2.25 2.25 0 0 1 21 7.5v11.25m-18 0A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75m-18 0v-7.5A2.25 2.25 0 0 1 5.25 9h13.5A2.25 2.25 0 0 1 21 11.25v7.5" /></svg>' );
60+ --_vaadin-icon-checkmark : url ('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="m4.5 12.75 6 6 9-13.5" /></svg>' );
61+ --_vaadin-icon-chevron-down : url ('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="m19.5 8.25-7.5 7.5-7.5-7.5" /></svg>' );
62+ --_vaadin-icon-clock : url ('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M12 6v6h4.5m4.5 0a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z" /></svg>' );
63+ --_vaadin-icon-cross : url ('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M6 18 18 6M6 6l12 12" /></svg>' );
64+ --_vaadin-icon-eye : url ('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M2.036 12.322a1.012 1.012 0 0 1 0-.639C3.423 7.51 7.36 4.5 12 4.5c4.638 0 8.573 3.007 9.963 7.178.07.207.07.431 0 .639C20.577 16.49 16.64 19.5 12 19.5c-4.638 0-8.573-3.007-9.963-7.178Z" /><path stroke-linecap="round" stroke-linejoin="round" d="M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z" /></svg>' );
65+ --_vaadin-icon-eye-slash : url ('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M3.98 8.223A10.477 10.477 0 0 0 1.934 12C3.226 16.338 7.244 19.5 12 19.5c.993 0 1.953-.138 2.863-.395M6.228 6.228A10.451 10.451 0 0 1 12 4.5c4.756 0 8.773 3.162 10.065 7.498a10.522 10.522 0 0 1-4.293 5.774M6.228 6.228 3 3m3.228 3.228 3.65 3.65m7.894 7.894L21 21m-3.228-3.228-3.65-3.65m0 0a3 3 0 1 0-4.243-4.243m4.242 4.242L9.88 9.88" /></svg>' );
66+ --_vaadin-icon-fullscreen : url ('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M3.75 3.75v4.5m0-4.5h4.5m-4.5 0L9 9M3.75 20.25v-4.5m0 4.5h4.5m-4.5 0L9 15M20.25 3.75h-4.5m4.5 0v4.5m0-4.5L15 9m5.25 11.25h-4.5m4.5 0v-4.5m0 4.5L15 15" /></svg>' );
67+ --_vaadin-icon-menu : url ('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5" /></svg>' );
68+ --_vaadin-icon-minus : url ('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M5 12h14" /></svg>' );
69+ --_vaadin-icon-plus : url ('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M12 4.5v15m7.5-7.5h-15" /></svg>' );
70+ --_vaadin-icon-sort : url ('data:image/svg+xml;utf8,<svg width="8" height="12" viewBox="0 0 8 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7.49854 6.99951C7.92795 6.99951 8.15791 7.50528 7.87549 7.82861L4.37646 11.8296C4.17728 12.0571 3.82272 12.0571 3.62354 11.8296L0.125488 7.82861C-0.157248 7.50531 0.0719873 6.99956 0.501465 6.99951H7.49854ZM3.62354 0.17041C3.82275 -0.0573875 4.17725 -0.0573848 4.37646 0.17041L7.87549 4.17041C8.15825 4.49373 7.92806 5.00049 7.49854 5.00049L0.501465 4.99951C0.0719873 4.99946 -0.157248 4.49371 0.125488 4.17041L3.62354 0.17041Z" fill="black"/></svg>' );
71+ --_vaadin-icon-user : url ('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path d="M3 20C5.33579 17.5226 8.50702 16 12 16C15.493 16 18.6642 17.5226 21 20M16.5 7.5C16.5 9.98528 14.4853 12 12 12C9.51472 12 7.5 9.98528 7.5 7.5C7.5 5.01472 9.51472 3 12 3C14.4853 3 16.5 5.01472 16.5 7.5Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>' );
72+ --_vaadin-icon-warn : url ('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126ZM12 15.75h.007v.008H12v-.008Z" /></svg>' );
6873
69- /* Cursors for interactive elements */
70- --vaadin-clickable-cursor : pointer;
71- --vaadin-disabled-cursor : not-allowed;
72- }
74+ /* Cursors for interactive elements */
75+ --vaadin-clickable-cursor : pointer;
76+ --vaadin-disabled-cursor : not-allowed;
77+ }
7378
74- @media (forced-colors : active) {
75- html {
76- --vaadin-background-color : Canvas;
77- --vaadin-border-color : CanvasText;
78- --vaadin-border-color-strong : CanvasText;
79- --vaadin-color-disabled : CanvasText;
80- --vaadin-color-subtle : CanvasText;
81- --vaadin-color : CanvasText;
82- --vaadin-icon-color : CanvasText;
83- --vaadin-focus-ring-color : Highlight;
79+ @media (forced-colors : active) {
80+ html {
81+ --vaadin-background-color : Canvas;
82+ --vaadin-border-color : CanvasText;
83+ --vaadin-border-color-strong : CanvasText;
84+ --vaadin-color-disabled : CanvasText;
85+ --vaadin-color-subtle : CanvasText;
86+ --vaadin-color : CanvasText;
87+ --vaadin-icon-color : CanvasText;
88+ --vaadin-focus-ring-color : Highlight;
89+ }
8490 }
8591 }
8692 ` ,
0 commit comments