@vaadin/aura 25.0.0-beta4 → 25.0.0-beta6

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.
@@ -2,49 +2,44 @@
2
2
  :where(:host) {
3
3
  --aura-app-layout-inset: 1.5vmin;
4
4
  --aura-app-layout-radius: var(--vaadin-radius-l);
5
- --_aura-mdl-border: 1px;
6
- --vaadin-app-layout-navbar-padding-top: 0;
7
- --vaadin-app-layout-navbar-padding-bottom: 0;
8
- --vaadin-app-layout-navbar-padding-inline-start: 0;
9
- --vaadin-app-layout-navbar-padding-inline-end: 0;
5
+ --aura-app-layout-border-width: 1px;
6
+ --vaadin-app-layout-navbar-padding-top: max(var(--aura-app-layout-inset), var(--vaadin-padding-s));
7
+ --vaadin-app-layout-navbar-padding-inline-start: max(var(--aura-app-layout-inset), var(--vaadin-padding-s));
8
+ --vaadin-app-layout-navbar-padding-inline-end: max(var(--aura-app-layout-inset), var(--vaadin-padding-s));
10
9
  }
11
10
 
12
11
  /* Aligned with App Layout overlay breakpoint */
13
12
  @media (width <= 800px), (height <= 600px) {
14
- html {
13
+ :where(:root),
14
+ :where(:host) {
15
15
  --aura-app-layout-inset: 0px !important;
16
- --_aura-mdl-border: 0px;
16
+ --aura-app-layout-border-width: 0px;
17
17
  }
18
18
  }
19
19
 
20
20
  vaadin-app-layout {
21
21
  --_app-layout-radius: clamp(0px, var(--aura-app-layout-radius), var(--aura-app-layout-inset) * 100);
22
- padding-block: var(--aura-app-layout-inset);
22
+ padding-bottom: var(--aura-app-layout-inset);
23
23
  padding-inline-end: var(--aura-app-layout-inset);
24
- padding-top: calc(var(--aura-app-layout-inset) + var(--_vaadin-app-layout-navbar-offset-size));
24
+ padding-top: max(var(--aura-app-layout-inset), var(--_vaadin-app-layout-navbar-offset-size));
25
25
  }
26
26
 
27
- vaadin-app-layout[overlay] {
28
- &::part(navbar),
29
- &::part(drawer) {
30
- --vaadin-app-layout-navbar-background: var(--aura-surface);
31
- --vaadin-app-layout-drawer-background: var(--aura-surface);
32
- --aura-surface-opacity: var(--aura-overlay-surface-opacity);
33
- -webkit-backdrop-filter: var(--aura-overlay-backdrop-filter);
34
- backdrop-filter: var(--aura-overlay-backdrop-filter);
35
- }
27
+ vaadin-app-layout[overlay]::part(drawer) {
28
+ --vaadin-app-layout-drawer-background: var(--aura-surface-color);
29
+ --aura-surface-opacity: var(--aura-overlay-surface-opacity);
30
+ -webkit-backdrop-filter: var(--aura-overlay-backdrop-filter);
31
+ backdrop-filter: var(--aura-overlay-backdrop-filter);
36
32
  }
37
33
 
38
- vaadin-app-layout:is([overlay], :not([drawer-opened])) {
34
+ vaadin-app-layout:is([overlay], :not([drawer-opened])),
35
+ vaadin-app-layout:not(:has([slot='drawer'])) {
39
36
  padding-inline-start: var(--aura-app-layout-inset);
40
37
  }
41
38
 
42
39
  vaadin-app-layout::part(navbar) {
43
- justify-content: space-between;
44
- }
45
-
46
- vaadin-app-layout:not([overlay])::part(navbar) {
47
40
  --vaadin-app-layout-navbar-background: transparent;
41
+ -webkit-backdrop-filter: blur(20px);
42
+ backdrop-filter: blur(20px);
48
43
  }
49
44
 
50
45
  vaadin-app-layout:not([overlay])::part(drawer) {
@@ -52,34 +47,66 @@ vaadin-app-layout:not([overlay])::part(drawer) {
52
47
  padding-inline: max(0px, var(--aura-app-layout-inset) - var(--vaadin-padding-s));
53
48
  }
54
49
 
50
+ vaadin-app-layout[has-navbar]::part(drawer) {
51
+ padding-top: var(--safe-area-inset-top);
52
+ }
53
+
55
54
  vaadin-app-layout > vaadin-scroller[slot='drawer'] {
56
- padding-inline: var(--vaadin-padding-m);
55
+ --vaadin-scroller-padding-inline: var(--vaadin-padding-m);
57
56
  scrollbar-width: thin;
58
57
  }
59
58
 
60
59
  vaadin-app-layout > vaadin-scroller:nth-child(1 of [slot='drawer']) {
61
- padding-top: var(--vaadin-padding-s);
60
+ /* TODO would need a dedicated padding-top property */
61
+ --vaadin-scroller-padding-block: var(--vaadin-padding-s);
62
62
  }
63
63
 
64
64
  vaadin-app-layout > vaadin-scroller:nth-last-child(1 of [slot='drawer']) {
65
- padding-bottom: var(--vaadin-padding-s);
65
+ /* TODO would need a dedicated padding-bottom property */
66
+ --vaadin-scroller-padding-block: var(--vaadin-padding-s);
66
67
  }
67
68
 
68
69
  vaadin-app-layout > :nth-child(1 of :not([slot])):nth-last-child(1 of :not([slot])) {
69
70
  color-scheme: var(--aura-content-color-scheme);
70
71
  color: var(--vaadin-text-color);
71
- background: linear-gradient(var(--aura-surface), var(--aura-surface)), var(--aura-app-background);
72
+ background: linear-gradient(var(--aura-surface-color), var(--aura-surface-color)), var(--aura-app-background);
72
73
  background-clip: padding-box;
73
74
  background-origin: border-box;
74
75
  min-height: 100%;
75
76
  box-sizing: border-box;
76
77
  border-radius: var(--_app-layout-radius);
77
- border: var(--_aura-mdl-border) solid var(--vaadin-border-color-secondary);
78
- border-block-width: min(var(--aura-app-layout-inset), var(--_aura-mdl-border));
79
- border-inline-end-width: min(var(--aura-app-layout-inset), var(--_aura-mdl-border));
78
+ border: var(--aura-app-layout-border-width) solid var(--vaadin-border-color-secondary);
79
+ border-block-width: min(var(--aura-app-layout-inset), var(--aura-app-layout-border-width));
80
+ border-inline-width: min(var(--aura-app-layout-inset), var(--aura-app-layout-border-width));
80
81
  }
81
82
 
82
83
  vaadin-app-layout > vaadin-master-detail-layout:nth-child(1 of :not([slot])):nth-last-child(1 of :not([slot])) {
84
+ margin-inline: calc(var(--safe-area-inset-left) * -1) calc(var(--safe-area-inset-right) * -1);
85
+ padding-inline: var(--safe-area-inset-left) var(--safe-area-inset-right);
86
+ max-width: calc(100% + var(--safe-area-inset-left) + var(--safe-area-inset-right));
87
+ margin-block: calc(var(--safe-area-inset-top) * -1) calc(var(--safe-area-inset-bottom) * -1);
88
+ padding-block: var(--safe-area-inset-top) var(--safe-area-inset-bottom);
89
+ height: calc(100% + var(--safe-area-inset-top) + var(--safe-area-inset-bottom));
90
+ max-height: calc(100% + var(--safe-area-inset-top) + var(--safe-area-inset-bottom));
91
+
92
+ &::part(detail) {
93
+ padding-top: var(--safe-area-inset-top);
94
+ padding-bottom: var(--safe-area-inset-bottom);
95
+ }
96
+
97
+ &:dir(ltr)::part(detail) {
98
+ padding-right: var(--safe-area-inset-right);
99
+ }
100
+
101
+ &:dir(rtl)::part(detail) {
102
+ padding-left: var(--safe-area-inset-left);
103
+ }
104
+
105
+ &[stack]::part(detail) {
106
+ padding-left: var(--safe-area-inset-left);
107
+ padding-right: var(--safe-area-inset-right);
108
+ }
109
+
83
110
  & > vaadin-master-detail-layout,
84
111
  &:not([drawer])::part(detail) {
85
112
  border-start-end-radius: var(--_app-layout-radius);
@@ -87,7 +114,7 @@ vaadin-app-layout > vaadin-master-detail-layout:nth-child(1 of :not([slot])):nth
87
114
  }
88
115
 
89
116
  &::part(backdrop) {
90
- border-radius: calc(var(--_app-layout-radius) - var(--_aura-mdl-border));
117
+ border-radius: calc(var(--_app-layout-radius) - var(--aura-app-layout-border-width));
91
118
  }
92
119
 
93
120
  &:is([drawer][has-detail]) {
@@ -95,17 +122,9 @@ vaadin-app-layout > vaadin-master-detail-layout:nth-child(1 of :not([slot])):nth
95
122
  }
96
123
  }
97
124
 
98
- vaadin-app-layout[has-navbar][has-drawer] {
99
- padding-top: var(--_vaadin-app-layout-navbar-offset-size);
100
-
101
- &::part(drawer) {
102
- padding-top: 0;
103
- }
104
- }
105
-
106
- vaadin-app-layout[has-drawer]:not([overlay]):not([drawer-opened])
125
+ vaadin-app-layout[has-drawer][drawer-opened]:not([overlay])
107
126
  > :nth-child(1 of :not([slot])):nth-last-child(1 of :not([slot])) {
108
- border-inline-start-width: min(var(--aura-app-layout-inset), var(--_aura-mdl-border));
127
+ border-inline-start-width: var(--aura-app-layout-border-width);
109
128
  }
110
129
 
111
130
  vaadin-app-layout[has-navbar][has-drawer][drawer-opened]:not([overlay])
@@ -113,6 +132,6 @@ vaadin-app-layout[has-navbar][has-drawer][drawer-opened]:not([overlay])
113
132
  border-start-start-radius: var(--aura-app-layout-radius);
114
133
  }
115
134
 
116
- vaadin-app-layout[has-navbar][has-drawer] > :nth-child(1 of :not([slot])):nth-last-child(1 of :not([slot])) {
117
- border-top-width: var(--_aura-mdl-border);
135
+ vaadin-app-layout[has-navbar] > :nth-child(1 of :not([slot])):nth-last-child(1 of :not([slot])) {
136
+ border-top-width: var(--aura-app-layout-border-width);
118
137
  }
@@ -1,16 +1,38 @@
1
1
  :where(:root),
2
2
  :where(:host) {
3
- --vaadin-avatar-border-color: var(--vaadin-border-color-secondary);
4
- --vaadin-avatar-background: var(--vaadin-background-container);
3
+ --vaadin-avatar-border-color: var(--aura-accent-border-color);
5
4
  --vaadin-avatar-font-weight: var(--aura-font-weight-medium);
6
5
  --vaadin-avatar-font-size: var(--aura-font-size-m);
7
6
  }
8
7
 
9
- vaadin-avatar:not([img]) {
8
+ vaadin-avatar {
9
+ color: var(--vaadin-avatar-text-color, var(--aura-accent-text-color));
10
10
  --_shade: color-mix(in srgb, var(--vaadin-border-color) 20%, transparent);
11
- background-image: linear-gradient(
12
- light-dark(transparent, var(--_shade)),
13
- transparent 50%,
14
- light-dark(var(--_shade), transparent)
11
+ background: var(
12
+ --vaadin-avatar-background,
13
+ linear-gradient(light-dark(transparent, var(--_shade)), transparent 50%, light-dark(var(--_shade), transparent)),
14
+ var(--aura-accent-surface)
15
15
  );
16
+ background-clip: content-box;
17
+ }
18
+
19
+ vaadin-avatar:where([has-color-index]) {
20
+ --aura-accent-color-light: var(--vaadin-avatar-user-color);
21
+ --aura-accent-color-dark: var(--vaadin-avatar-user-color);
22
+ --aura-accent-color: light-dark(var(--aura-accent-color-light), var(--aura-accent-color-dark));
23
+ color: var(--vaadin-avatar-text-color, var(--aura-accent-text-color));
24
+ --vaadin-avatar-background: var(--vaadin-accent-surface);
25
+ --vaadin-avatar-text-color: var(--aura-accent-text-color);
26
+ --vaadin-avatar-border-color: var(--aura-accent-border-color);
27
+ --vaadin-avatar-border-width: 1px;
28
+ }
29
+
30
+ vaadin-avatar[img][has-color-index] {
31
+ --vaadin-avatar-border-color: var(--aura-accent-color);
32
+ --vaadin-avatar-border-width: 2px;
33
+ }
34
+
35
+ vaadin-avatar[theme~='filled'] {
36
+ background: var(--aura-accent-color) content-box;
37
+ color: var(--aura-accent-contrast-color);
16
38
  }
@@ -6,15 +6,8 @@
6
6
  :is(vaadin-button, vaadin-menu-bar-button, vaadin-drawer-toggle, vaadin-crud-edit) {
7
7
  transition: scale 180ms;
8
8
  position: relative;
9
- --_accent: light-dark(
10
- oklch(from var(--aura-accent-light) calc(l + 0.2) c h / min(0.3, c / 2)),
11
- oklch(from var(--aura-accent-dark) calc(l - 0.2) c h / min(0.3, c / 2))
12
- );
13
- --_accent-border: light-dark(
14
- oklch(from var(--aura-accent-light) l calc(c / 2) h / calc(min(0.15, 0.1 + c / 2) + 0.1 * var(--aura-contrast))),
15
- oklch(from var(--aura-accent-dark) l calc(c / 2) h / calc(min(0.15, 0.1 + c / 2) + 0.1 * var(--aura-contrast)))
16
- );
17
- --_background: linear-gradient(var(--_accent), var(--_accent)) var(--aura-surface) padding-box;
9
+ --_background: var(--aura-accent-surface) padding-box;
10
+ --vaadin-button-text-color: var(--aura-accent-text-color);
18
11
  }
19
12
 
20
13
  :is(vaadin-button, vaadin-menu-bar-button, vaadin-drawer-toggle, vaadin-crud-edit):where(:not([theme~='tertiary'])) {
@@ -26,12 +19,11 @@
26
19
  /* prettier-ignore */
27
20
  :is(vaadin-button, vaadin-menu-bar-button, vaadin-drawer-toggle, vaadin-crud-edit):not([theme~='primary'], [theme~='tertiary']) {
28
21
  background: var(--vaadin-button-background, var(--_background));
29
- --vaadin-button-border-color: var(--_accent-border);
22
+ --vaadin-button-border-color: var(--aura-accent-border-color);
30
23
  }
31
24
 
32
25
  :is(vaadin-button, vaadin-menu-bar-button, vaadin-drawer-toggle, vaadin-crud-edit):where(:not([theme~='primary'])) {
33
26
  outline-offset: calc(var(--vaadin-button-border-width, 1px) * -1);
34
- --vaadin-button-text-color: var(--aura-accent-text);
35
27
  }
36
28
 
37
29
  /*
@@ -60,7 +52,7 @@ vaadin-menu-bar-button[aria-haspopup='true']:not([slot='overflow']) {
60
52
  :is(vaadin-button, vaadin-menu-bar-button, vaadin-drawer-toggle, vaadin-crud-edit):where([theme~='primary']) {
61
53
  outline-offset: 2px;
62
54
  --vaadin-button-font-weight: var(--aura-font-weight-semibold);
63
- --vaadin-button-text-color: var(--aura-accent-contrast);
55
+ --vaadin-button-text-color: var(--aura-accent-contrast-color);
64
56
  --vaadin-button-background: var(--aura-accent-color);
65
57
  --vaadin-button-border-color: var(--vaadin-border-color-secondary);
66
58
  --vaadin-button-shadow: 0 2px 3px -1px hsla(0, 0%, 0%, 0.24);
@@ -130,16 +122,3 @@ vaadin-menu-bar-button[aria-haspopup='true']:not([slot='overflow']) {
130
122
  border-inline-start-color: transparent;
131
123
  }
132
124
  }
133
-
134
- /* Color variants */
135
-
136
- :is(vaadin-button, vaadin-menu-bar-button, vaadin-drawer-toggle, vaadin-crud-edit):where(:not([theme~='accent'])) {
137
- --aura-accent-light: var(--aura-text-light);
138
- --aura-accent-dark: var(--aura-text-dark);
139
- }
140
-
141
- /* prettier-ignore */
142
- :is(vaadin-button, vaadin-menu-bar-button, vaadin-drawer-toggle, vaadin-crud-edit):is([theme~='danger'], [theme~='error']) {
143
- --aura-accent-light: var(--aura-red);
144
- --aura-accent-dark: var(--aura-red);
145
- }
@@ -4,11 +4,11 @@
4
4
  --vaadin-card-padding: var(--vaadin-padding-l);
5
5
  --vaadin-card-gap: var(--vaadin-gap-m) var(--vaadin-gap-l);
6
6
  --vaadin-card-border-color: var(--vaadin-border-color-secondary);
7
- --vaadin-card-background: var(--aura-surface) padding-box;
7
+ --vaadin-card-background: var(--aura-surface-color) padding-box;
8
8
  }
9
9
 
10
10
  vaadin-card {
11
- --vaadin-card-background: var(--aura-surface) padding-box;
11
+ --vaadin-card-background: var(--aura-surface-color) padding-box;
12
12
  --aura-surface-level: 2;
13
13
  }
14
14
 
@@ -32,8 +32,8 @@ vaadin-card[theme~='elevated'] {
32
32
  --aura-surface-opacity: 0.7;
33
33
  --aura-surface-level: 3;
34
34
  --_shadow-color: light-dark(
35
- oklch(from var(--aura-background-light) calc(l - l * 0.8) calc(c / 10) h / 0.1),
36
- oklch(from var(--aura-background-dark) calc(l - l * 0.8) calc(c / 10) h / 0.2)
35
+ oklch(from var(--aura-background-color-light) calc(l - l * 0.8) calc(c / 10) h / 0.1),
36
+ oklch(from var(--aura-background-color-dark) calc(l - l * 0.8) calc(c / 10) h / 0.2)
37
37
  );
38
38
  --vaadin-card-shadow: 0 1px 6px -1px var(--_shadow-color);
39
39
  background-clip: padding-box;
@@ -7,8 +7,8 @@
7
7
 
8
8
  vaadin-checkbox::part(checkbox),
9
9
  vaadin-radio-button::part(radio) {
10
- --vaadin-checkbox-background: var(--aura-surface);
11
- --vaadin-radio-button-background: var(--aura-surface);
10
+ --vaadin-checkbox-background: var(--aura-surface-color);
11
+ --vaadin-radio-button-background: var(--aura-surface-color);
12
12
  transition: background-color 100ms;
13
13
  }
14
14
 
@@ -32,13 +32,13 @@ vaadin-radio-button:not([checked])::part(radio) {
32
32
 
33
33
  vaadin-checkbox:is([checked], [indeterminate]):not([readonly], [disabled])::part(checkbox) {
34
34
  --vaadin-checkbox-background: var(--aura-accent-color);
35
- --vaadin-checkbox-marker-color: var(--aura-accent-contrast);
35
+ --vaadin-checkbox-marker-color: var(--aura-accent-contrast-color);
36
36
  --vaadin-checkbox-border-color: var(--vaadin-border-color-secondary);
37
37
  }
38
38
 
39
39
  vaadin-radio-button[checked]:not([readonly], [disabled])::part(radio) {
40
40
  --vaadin-radio-button-background: var(--aura-accent-color);
41
- --vaadin-radio-button-marker-color: var(--aura-accent-contrast);
41
+ --vaadin-radio-button-marker-color: var(--aura-accent-contrast-color);
42
42
  --vaadin-radio-button-border-color: var(--vaadin-border-color-secondary);
43
43
  }
44
44
 
@@ -1,6 +1,6 @@
1
1
  :where(:root),
2
2
  :where(:host) {
3
- --vaadin-crud-background: var(--aura-surface) padding-box;
3
+ --vaadin-crud-background: var(--aura-surface-color) padding-box;
4
4
  }
5
5
 
6
6
  vaadin-crud-edit {
@@ -9,7 +9,7 @@ vaadin-crud-edit {
9
9
  }
10
10
 
11
11
  vaadin-crud::part(editor) {
12
- background: var(--aura-surface);
12
+ background: var(--aura-surface-color);
13
13
  }
14
14
 
15
15
  vaadin-crud vaadin-confirm-dialog {
@@ -4,7 +4,7 @@
4
4
  --vaadin-dashboard-widget-header-padding: var(--vaadin-padding-s) var(--vaadin-padding-m);
5
5
  --vaadin-dashboard-header-gap: var(--vaadin-gap-xs);
6
6
  --vaadin-dashboard-widget-border-color: var(--vaadin-border-color-secondary);
7
- --vaadin-dashboard-widget-background: var(--aura-surface) padding-box;
7
+ --vaadin-dashboard-widget-background: var(--aura-surface-color) padding-box;
8
8
  --vaadin-dashboard-widget-border-radius: var(--vaadin-radius-m);
9
9
  }
10
10
 
@@ -50,7 +50,7 @@ vaadin-dashboard-section {
50
50
  &::part(resize-grow-height-button),
51
51
  &::part(resize-shrink-width-button),
52
52
  &::part(resize-grow-width-button) {
53
- background: var(--aura-surface) padding-box;
53
+ background: var(--aura-surface-color) padding-box;
54
54
  color: var(--vaadin-text-color-secondary);
55
55
  border: 1px solid var(--vaadin-border-color);
56
56
  transition: 120ms color;
@@ -78,8 +78,8 @@ vaadin-dashboard-section {
78
78
  &::part(move-apply-button),
79
79
  &::part(resize-apply-button) {
80
80
  background: var(--aura-accent-color);
81
- color: var(--aura-accent-contrast);
82
- box-shadow: 0 0 0 3px var(--aura-surface);
81
+ color: var(--aura-accent-contrast-color);
82
+ box-shadow: 0 0 0 3px var(--aura-surface-color);
83
83
  outline-offset: 2px;
84
84
  }
85
85
 
@@ -4,7 +4,7 @@
4
4
  --vaadin-date-picker-month-header-font-weight: var(--aura-font-weight-semibold);
5
5
  /* TODO add/use selection color */
6
6
  --vaadin-date-picker-date-selected-background: var(--aura-accent-color);
7
- --vaadin-date-picker-date-selected-color: var(--aura-accent-contrast);
7
+ --vaadin-date-picker-date-selected-color: var(--aura-accent-contrast-color);
8
8
  }
9
9
 
10
10
  :where(:root),
@@ -16,13 +16,13 @@
16
16
 
17
17
  vaadin-date-picker-month-scroller,
18
18
  vaadin-date-picker-overlay-content::part(toolbar) {
19
- background: var(--aura-surface);
19
+ background: var(--aura-surface-color);
20
20
  }
21
21
 
22
22
  vaadin-date-picker-year-scroller::before {
23
23
  width: 12px;
24
24
  height: 12px;
25
- background: var(--aura-surface-solid) padding-box;
25
+ background: var(--aura-surface-color-solid) padding-box;
26
26
  }
27
27
 
28
28
  vaadin-date-picker-year::part(year-number) {
@@ -39,7 +39,7 @@ vaadin-date-picker-year[selected] {
39
39
  }
40
40
 
41
41
  vaadin-date-picker-year[selected]::part(year-number) {
42
- color: var(--aura-accent-text);
42
+ color: var(--aura-accent-text-color);
43
43
  }
44
44
 
45
45
  vaadin-date-picker-year[selected]::after {
@@ -11,7 +11,7 @@ vaadin-confirm-dialog {
11
11
 
12
12
  vaadin-dialog::part(overlay),
13
13
  vaadin-confirm-dialog::part(overlay) {
14
- --vaadin-dialog-background: var(--aura-surface);
14
+ --vaadin-dialog-background: var(--aura-surface-color);
15
15
  --aura-surface-level: 4;
16
16
 
17
17
  /* TODO probably should be in base styles */
@@ -1,7 +1,8 @@
1
1
  :where(:root),
2
2
  :where(:host) {
3
3
  --vaadin-grid-row-selected-background-color: color-mix(in srgb, var(--aura-accent-color) 10%, transparent);
4
- --vaadin-grid-background: linear-gradient(var(--aura-surface), var(--aura-surface)) var(--aura-background) padding-box;
4
+ --vaadin-grid-background: linear-gradient(var(--aura-surface-color), var(--aura-surface-color))
5
+ var(--aura-background-color) padding-box;
5
6
  }
6
7
 
7
8
  :is(vaadin-grid, vaadin-crud-grid)::part(empty-state) {
@@ -1,14 +1,14 @@
1
1
  :where(:root),
2
2
  :where(:host),
3
3
  :where([theme]) {
4
- --vaadin-input-field-background: var(--aura-surface);
4
+ --vaadin-input-field-background: var(--aura-surface-color);
5
5
  --vaadin-input-field-error-color: var(--aura-red-text);
6
6
  }
7
7
 
8
8
  ::part(input-field),
9
9
  vaadin-message-input,
10
10
  vaadin-input-container {
11
- --vaadin-input-field-background: var(--aura-surface);
11
+ --vaadin-input-field-background: var(--aura-surface-color);
12
12
  --aura-surface-level: 4;
13
13
  --aura-surface-opacity: 0.7;
14
14
  background-clip: padding-box;
@@ -29,6 +29,11 @@ vaadin-message-input:not([readonly], [disabled]) {
29
29
 
30
30
  ::part(field-button) {
31
31
  transition: color 100ms;
32
+ --vaadin-icon-visual-size: 90%;
33
+ }
34
+
35
+ ::part(clear-button) {
36
+ --vaadin-icon-visual-size: 75%;
32
37
  }
33
38
 
34
39
  :not([readonly], [disabled])::part(field-button):active {
@@ -1,8 +1,9 @@
1
1
  :where(:root),
2
2
  :where(:host) {
3
3
  --vaadin-item-overlay-padding: var(--vaadin-gap-xs);
4
- --vaadin-item-border-radius: calc(var(--vaadin-radius-m) - var(--vaadin-item-overlay-padding));
5
- --vaadin-item-checkmark-color: var(--aura-accent-text);
4
+ --vaadin-item-border-radius: max(var(--vaadin-radius-s), var(--vaadin-radius-m) - var(--vaadin-item-overlay-padding));
5
+ --vaadin-item-checkmark-color: var(--aura-accent-text-color);
6
+ --vaadin-item-gap: var(--vaadin-gap-s);
6
7
  }
7
8
 
8
9
  :is(
@@ -16,62 +17,69 @@
16
17
  vaadin-select-item[role]
17
18
  ) {
18
19
  font-weight: var(--aura-font-weight-medium);
19
- --vaadin-item-checkmark-color: var(--aura-accent-text);
20
+ --vaadin-item-checkmark-color: var(--aura-accent-text-color);
21
+ -webkit-user-select: none;
22
+ user-select: none;
23
+ --_highlight-color: light-dark(
24
+ oklch(from var(--aura-accent-color-light) min(0.9, l) c h / max(0.05, l / 4)),
25
+ oklch(from var(--aura-accent-color-dark) max(0.6, l) c h / max(0.2, l / 4))
26
+ );
27
+ gap: 0;
20
28
 
21
29
  &::part(checkmark) {
22
30
  --vaadin-icon-visual-size: 75%;
31
+ margin-inline-start: calc(var(--vaadin-gap-xs) * -1);
32
+ }
33
+
34
+ &[aria-haspopup='true']::after {
35
+ --vaadin-icon-visual-size: 90%;
36
+ margin-inline-end: calc(var(--vaadin-gap-xs) * -1);
23
37
  }
24
38
 
25
39
  &::part(content) {
26
40
  display: flex;
41
+ padding-inline: var(--vaadin-gap-xs);
42
+ gap: var(--vaadin-item-gap);
27
43
  }
28
44
 
29
45
  @media (any-hover: hover) {
30
46
  &:not([disabled], [aria-disabled='true']):hover {
31
- background: color-mix(in srgb, var(--aura-accent-color) 10%, transparent);
47
+ background: var(--_highlight-color);
32
48
 
33
49
  &[theme~='filled'] {
34
50
  background: var(--aura-accent-color);
35
- color: var(--aura-accent-contrast);
36
- --vaadin-text-color: var(--aura-accent-contrast);
37
- --vaadin-text-color-secondary: color-mix(in srgb, var(--aura-accent-contrast) 70%, transparent);
38
- --vaadin-text-color-disabled: color-mix(in srgb, var(--aura-accent-contrast) 50%, transparent);
39
- --vaadin-item-checkmark-color: var(--aura-accent-contrast);
40
-
41
- > * {
42
- --aura-red: var(--aura-accent-contrast);
43
- --aura-red-text: var(--aura-accent-contrast);
44
- --aura-orange: var(--aura-accent-contrast);
45
- --aura-orange-text: var(--aura-accent-contrast);
46
- --aura-yellow: var(--aura-accent-contrast);
47
- --aura-yellow-text: var(--aura-accent-contrast);
48
- --aura-green: var(--aura-accent-contrast);
49
- --aura-green-text: var(--aura-accent-contrast);
50
- --aura-blue: var(--aura-accent-contrast);
51
- --aura-blue-text: var(--aura-accent-contrast);
52
- --aura-purple: var(--aura-accent-contrast);
53
- --aura-purple-text: var(--aura-accent-contrast);
54
- }
51
+ color: var(--aura-accent-contrast-color);
52
+ --vaadin-text-color: var(--aura-accent-contrast-color);
53
+ --vaadin-text-color-secondary: color-mix(in srgb, var(--aura-accent-contrast-color) 70%, transparent);
54
+ --vaadin-text-color-disabled: color-mix(in srgb, var(--aura-accent-contrast-color) 50%, transparent);
55
+ --vaadin-icon-color: var(--aura-accent-contrast-color);
56
+ --vaadin-item-checkmark-color: var(--aura-accent-contrast-color);
55
57
  }
56
58
  }
57
59
  }
58
60
 
61
+ &:active {
62
+ background: var(--_highlight-color);
63
+ }
64
+
59
65
  &[aria-expanded='true']:not(:hover) {
60
66
  background: var(--vaadin-background-container-strong);
61
67
  }
62
68
 
63
- &[theme~='danger'] {
64
- --aura-accent-light: var(--aura-red);
65
- --aura-accent-dark: var(--aura-red);
69
+ &:where([theme~='danger']) {
66
70
  color: var(--aura-red-text);
71
+
72
+ > * {
73
+ --aura-accent-color-light: var(--aura-accent-color-light-initial);
74
+ --aura-accent-color-dark: var(--aura-accent-color-dark-initial);
75
+ --aura-accent-color: light-dark(var(--aura-accent-color-light-initial), var(--aura-accent-color-dark-initial));
76
+ }
67
77
  }
68
78
  }
69
79
 
70
80
  /* TODO is there a better selector? */
71
81
  [role='menu'] [role='separator'] {
72
82
  margin-block: var(--vaadin-gap-xs);
73
- margin-inline-start: calc(
74
- var(--vaadin-icon-size, 1lh) + var(--vaadin-item-gap, var(--vaadin-gap-s)) + var(--vaadin-gap-xs) * 2
75
- );
83
+ margin-inline: calc(var(--vaadin-gap-xs) + var(--vaadin-padding-inline-container));
76
84
  border-color: var(--vaadin-border-color);
77
85
  }
@@ -1,11 +1,11 @@
1
1
  vaadin-master-detail-layout::part(detail) {
2
2
  --aura-surface-level: 2;
3
- background: var(--aura-surface) padding-box;
3
+ background: var(--aura-surface-color) padding-box;
4
4
  }
5
5
 
6
6
  vaadin-master-detail-layout[drawer]::part(detail) {
7
7
  --aura-surface-opacity: var(--aura-overlay-surface-opacity);
8
- background: var(--aura-surface) padding-box;
8
+ background: var(--aura-surface-color) padding-box;
9
9
  -webkit-backdrop-filter: var(--aura-overlay-backdrop-filter);
10
10
  backdrop-filter: var(--aura-overlay-backdrop-filter);
11
11
  box-shadow:
@@ -15,3 +15,7 @@ vaadin-menu-bar-button[slot='overflow'] {
15
15
  font-family: system-ui, sans-serif;
16
16
  font-weight: 600;
17
17
  }
18
+
19
+ vaadin-menu-bar-button[aria-haspopup='true']::part(suffix)::after {
20
+ --vaadin-icon-visual-size: 90%;
21
+ }
@@ -10,7 +10,7 @@ vaadin-notification-container {
10
10
 
11
11
  vaadin-notification-card::part(overlay) {
12
12
  --aura-surface-level: 4;
13
- --vaadin-notification-background: var(--aura-surface);
13
+ --vaadin-notification-background: var(--aura-surface-color);
14
14
 
15
15
  /* TODO probably should be in base styles */
16
16
  /* Keeps notifications on top of MDL view transitions */
@@ -39,5 +39,4 @@ vaadin-notification-card vaadin-card {
39
39
 
40
40
  vaadin-notification-card vaadin-button {
41
41
  --aura-surface-level: 8;
42
- --aura-surface-opacity: 0.3;
43
42
  }
@@ -2,12 +2,12 @@
2
2
  :where(:host) {
3
3
  --vaadin-overlay-border-width: 0px;
4
4
  --vaadin-overlay-backdrop-background: light-dark(
5
- oklch(from var(--aura-background-light) calc(l * 0.1) c h / 0.15),
5
+ oklch(from var(--aura-background-color-light) calc(l * 0.1) c h / 0.15),
6
6
  hsla(0deg, 0%, 0%, 0.3)
7
7
  );
8
8
  --aura-overlay-outline-color: light-dark(
9
- oklch(from var(--aura-background-light) 0.1 c h / max(0.04, 0.03 + 0.04 * var(--aura-contrast))),
10
- oklch(from var(--aura-background-dark) 0.1 c h / max(0.04, 0.03 + 0.04 * var(--aura-contrast)))
9
+ oklch(from var(--aura-background-color-light) 0.1 c h / max(0.04, 0.03 + 0.04 * var(--aura-contrast))),
10
+ oklch(from var(--aura-background-color-dark) 0.1 c h / max(0.04, 0.03 + 0.04 * var(--aura-contrast)))
11
11
  );
12
12
  --aura-overlay-inner-outline-color: hsla(0deg, 0%, 100%, max(3%, 2% + 4% * var(--aura-contrast)));
13
13
  --aura-overlay-shadow:
@@ -19,10 +19,11 @@
19
19
  @media (prefers-reduced-transparency: reduce) {
20
20
  --aura-overlay-surface-opacity: 1 !important;
21
21
  }
22
+ --vaadin-popover-border-radius: var(--vaadin-radius-l);
22
23
  }
23
24
 
24
25
  ::part(overlay) {
25
- --vaadin-overlay-background: var(--aura-surface);
26
+ --vaadin-overlay-background: var(--aura-surface-color);
26
27
  --aura-surface-level: 4;
27
28
  --aura-surface-opacity: var(--aura-overlay-surface-opacity);
28
29
  box-shadow: var(--aura-overlay-shadow);
@@ -4,7 +4,7 @@
4
4
  --vaadin-progress-bar-value-background: linear-gradient(
5
5
  90deg,
6
6
  var(--aura-accent-color),
7
- color-mix(in hsl, var(--aura-accent-color) 60%, hsl(45, 31%, 95%))
7
+ color-mix(in hsl, var(--aura-accent-color) 60%, hsl(45, 0%, 95%))
8
8
  );
9
9
  }
10
10
 
@@ -11,7 +11,7 @@
11
11
 
12
12
  vaadin-rich-text-editor {
13
13
  --vaadin-icon-visual-size: 90%;
14
- --vaadin-rich-text-editor-background: var(--aura-surface) padding-box;
14
+ --vaadin-rich-text-editor-background: var(--aura-surface-color) padding-box;
15
15
  --aura-surface-level: 4;
16
16
  --aura-surface-opacity: 0.7 !important;
17
17
  box-shadow: 0 2px 1px -1px hsla(0, 0%, 0%, 0.04);