@vaadin/aura 25.0.0-beta4 → 25.0.0-beta5

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.
@@ -7,50 +7,57 @@
7
7
  --vaadin-side-nav-items-gap: var(--vaadin-gap-xs);
8
8
  }
9
9
 
10
+ /* Restore accent color for child elements like badges */
11
+ :where(vaadin-side-nav-item) > * {
12
+ --aura-accent-color-light: var(--aura-accent-color-light-initial);
13
+ --aura-accent-color-dark: var(--aura-accent-color-dark-initial);
14
+ --aura-accent-color: light-dark(var(--aura-accent-color-light-initial), var(--aura-accent-color-dark-initial));
15
+ }
16
+
10
17
  vaadin-side-nav + vaadin-side-nav {
11
18
  margin-top: var(--vaadin-gap-l);
12
19
  }
13
20
 
14
21
  vaadin-side-nav-item::part(content) {
15
- transition:
16
- color 120ms,
17
- border-color 120ms,
18
- background-color 120ms;
19
- --aura-surface-level: 3;
22
+ --aura-surface-level: 4;
23
+ --aura-surface-opacity: 0.6;
24
+ }
25
+
26
+ vaadin-side-nav-item:not([disabled], [current])::part(content):active {
27
+ --vaadin-side-nav-item-background: var(--vaadin-background-container);
20
28
  }
21
29
 
22
- vaadin-side-nav-item:not([disabled])::part(content):hover {
23
- --vaadin-side-nav-item-text-color: var(--vaadin-text-color);
30
+ @media (any-hover: hover) {
31
+ vaadin-side-nav-item:not([disabled], [current])::part(content):hover {
32
+ transition: color 120ms;
33
+ --vaadin-side-nav-item-text-color: var(--vaadin-text-color);
34
+ }
24
35
  }
25
36
 
26
37
  vaadin-side-nav-item[current]::part(content) {
27
- --_accent: light-dark(
28
- oklch(from var(--aura-accent-light) calc(l + 0.2) c h / min(0.3, c / 2)),
29
- oklch(from var(--aura-accent-dark) calc(l - 0.2) c h / min(0.3, c / 2))
30
- );
31
- --_accent-border: light-dark(
32
- oklch(from var(--aura-accent-light) l calc(c / 2) h / calc(min(0.15, 0.05 + c / 2) + 0.1 * var(--aura-contrast))),
33
- oklch(from var(--aura-accent-dark) l calc(c / 2) h / calc(min(0.15, 0.05 + c / 2) + 0.1 * var(--aura-contrast)))
34
- );
35
- --vaadin-side-nav-item-background: linear-gradient(var(--_accent), var(--_accent)) var(--aura-surface) padding-box;
36
- --vaadin-side-nav-item-text-color: var(--aura-accent-text);
37
- --vaadin-side-nav-item-border-color: var(--_accent-border);
38
+ transition: none;
39
+ --_accent-border: color-mix(in srgb, var(--aura-accent-color) 10%, var(--vaadin-border-color-secondary) 50%);
40
+ --vaadin-side-nav-item-background: var(--aura-accent-surface) padding-box;
41
+ --vaadin-side-nav-item-text-color: var(--aura-accent-text-color);
42
+ --vaadin-side-nav-item-border-color: var(--aura-accent-border-color);
38
43
  }
39
44
 
40
45
  /* Filled variant */
41
46
 
42
47
  vaadin-side-nav[theme~='filled'] vaadin-side-nav-item[current]::part(content) {
43
48
  --vaadin-side-nav-item-background: var(--aura-accent-color) border-box;
44
- --vaadin-side-nav-item-text-color: var(--aura-accent-contrast);
49
+ --vaadin-side-nav-item-text-color: var(--aura-accent-contrast-color);
50
+ --vaadin-text-color: var(--vaadin-side-nav-item-text-color);
51
+ --vaadin-text-color-secondary: color-mix(in srgb, var(--aura-accent-contrast-color) 70%, transparent);
52
+ --vaadin-text-color-disabled: color-mix(in srgb, var(--aura-accent-contrast-color) 50%, transparent);
53
+ --vaadin-icon-color: var(--aura-accent-contrast-color);
45
54
  outline-offset: 2px;
46
55
  }
47
56
 
48
57
  /* Badges and other content that uses the palette inside a filled nav item */
49
58
  vaadin-side-nav[theme~='filled'] vaadin-side-nav-item[current] > :not([slot='children']):not([slot='tooltip']) {
50
- --vaadin-text-color: var(--vaadin-side-nav-item-text-color);
51
- --vaadin-text-color-secondary: var(--vaadin-side-nav-item-text-color);
52
59
  --aura-accent-color: var(--vaadin-side-nav-item-text-color);
53
- --aura-accent-text: var(--vaadin-side-nav-item-text-color);
60
+ --aura-accent-text-color: var(--vaadin-side-nav-item-text-color);
54
61
  --aura-red: var(--vaadin-side-nav-item-text-color);
55
62
  --aura-red-text: var(--vaadin-side-nav-item-text-color);
56
63
  --aura-orange: var(--vaadin-side-nav-item-text-color);
@@ -1,19 +1,17 @@
1
1
  :where(:root),
2
2
  :where(:host) {
3
+ --vaadin-tab-border-radius: var(--vaadin-radius-m);
3
4
  --vaadin-tab-font-weight: var(--aura-font-weight-medium);
4
5
  --vaadin-tabs-gap: 2px;
6
+ --vaadin-tabs-border-radius: calc(var(--vaadin-tab-border-radius) + 3px);
7
+ --vaadin-tabs-padding: 3px;
5
8
  }
6
9
 
7
10
  vaadin-tabs {
8
- background: var(--vaadin-background-container);
9
- border-radius: calc(var(--vaadin-radius-m) + 3px);
10
- padding: 3px;
11
11
  contain: paint;
12
- }
13
-
14
- vaadin-tabs:not([theme~='accent']) {
15
- --aura-accent-light: var(--aura-text-light);
16
- --aura-accent-dark: var(--aura-text-dark);
12
+ --aura-surface-level: -1.5;
13
+ --aura-surface-opacity: 0.3;
14
+ background: var(--vaadin-tabs-background, var(--aura-surface-color) padding-box);
17
15
  }
18
16
 
19
17
  vaadin-tabs::part(tabs) {
@@ -50,7 +48,7 @@ vaadin-tabs[overflow~='end'] {
50
48
 
51
49
  vaadin-tabs::part(back-button),
52
50
  vaadin-tabs::part(forward-button) {
53
- background: var(--aura-surface-solid) padding-box;
51
+ background: var(--aura-surface-color-solid) padding-box;
54
52
  border: 1px solid var(--vaadin-border-color);
55
53
  border-radius: var(--vaadin-radius-m);
56
54
  padding: var(--vaadin-padding-xs);
@@ -73,9 +71,7 @@ vaadin-tab {
73
71
  color 120ms,
74
72
  border-color 120ms,
75
73
  background-color 120ms;
76
- --aura-surface-level: 8;
77
- --aura-surface-opacity: 0.7;
78
- border: 1px solid transparent;
74
+ border: var(--vaadin-tab-border-width, 1px) solid var(--vaadin-tab-border-color, transparent);
79
75
  }
80
76
 
81
77
  vaadin-tab:not([disabled], [selected]):hover {
@@ -83,34 +79,37 @@ vaadin-tab:not([disabled], [selected]):hover {
83
79
  }
84
80
 
85
81
  vaadin-tab[selected] {
86
- --_accent: light-dark(
87
- oklch(from var(--aura-accent-light) calc(l + 0.2) c h / min(0.3, c / 2)),
88
- oklch(from var(--aura-accent-dark) calc(l - 0.2) c h / min(0.3, c / 2))
89
- );
90
- --_accent-border: light-dark(
91
- oklch(from var(--aura-accent-light) l calc(c / 2) h / calc(min(0.15, 0.05 + c / 2) + 0.1 * var(--aura-contrast))),
92
- oklch(from var(--aura-accent-dark) l calc(c / 2) h / calc(min(0.15, 0.05 + c / 2) + 0.1 * var(--aura-contrast)))
93
- );
94
- --vaadin-tab-background: linear-gradient(var(--_accent), var(--_accent)) var(--aura-surface) padding-box;
95
- --vaadin-tab-text-color: var(--aura-accent-text);
96
- border-color: var(--_accent-border);
82
+ --aura-surface-level: 6;
83
+ --aura-surface-opacity: 0.7;
84
+ --vaadin-tab-background: var(--aura-accent-surface) padding-box;
85
+ --vaadin-tab-text-color: var(--aura-accent-text-color);
86
+ --vaadin-tab-border-color: var(--aura-accent-border-color);
97
87
  box-shadow: 0 1px 4px -1px var(--aura-shadow-color);
98
88
  }
99
89
 
90
+ /* Restore accent color for child elements like badges */
91
+ :where(vaadin-tab) > * {
92
+ --aura-accent-color-light: var(--aura-accent-color-light-initial);
93
+ --aura-accent-color-dark: var(--aura-accent-color-dark-initial);
94
+ --aura-accent-color: light-dark(var(--aura-accent-color-light-initial), var(--aura-accent-color-dark-initial));
95
+ }
96
+
100
97
  /* Filled variant */
101
98
 
102
99
  vaadin-tabs[theme~='filled'] vaadin-tab[selected] {
103
100
  --vaadin-tab-background: var(--aura-accent-color) border-box;
104
- --vaadin-tab-text-color: var(--aura-accent-contrast);
101
+ --vaadin-tab-text-color: var(--aura-accent-contrast-color);
102
+ --vaadin-text-color: var(--aura-accent-contrast-color);
103
+ --vaadin-text-color-secondary: color-mix(in srgb, var(--aura-accent-contrast-color) 70%, transparent);
104
+ --vaadin-text-color-disabled: color-mix(in srgb, var(--aura-accent-contrast-color) 50%, transparent);
105
+ --vaadin-icon-color: var(--aura-accent-contrast-color);
105
106
  outline-offset: 1px;
106
107
  }
107
108
 
108
109
  /* Badges and other content that uses the palette inside a filled nav item */
109
110
  vaadin-tabs[theme~='filled'] vaadin-tab[selected] > :not([slot='tooltip']) {
110
- --vaadin-text-color: var(--vaadin-tab-text-color);
111
- --vaadin-text-color-secondary: var(--vaadin-tab-text-color);
112
111
  --aura-accent-color: var(--vaadin-tab-text-color);
113
- --aura-accent-text: var(--vaadin-tab-text-color);
112
+ --aura-accent-text-color: var(--vaadin-tab-text-color);
114
113
  --aura-red: var(--vaadin-tab-text-color);
115
114
  --aura-red-text: var(--vaadin-tab-text-color);
116
115
  --aura-orange: var(--vaadin-tab-text-color);
@@ -1,6 +1,6 @@
1
1
  :where(:root),
2
2
  :where(:host) {
3
- --vaadin-upload-background: var(--aura-surface) padding-box;
3
+ --vaadin-upload-background: var(--aura-surface-color) padding-box;
4
4
  --vaadin-upload-border: 1px solid var(--vaadin-border-color-secondary);
5
5
  --vaadin-upload-padding: var(--vaadin-padding-s);
6
6
  --vaadin-upload-file-list-divider-color: var(--vaadin-border-color-secondary);
@@ -141,7 +141,7 @@ vaadin-upload[theme~='no-border'] {
141
141
  }
142
142
 
143
143
  vaadin-upload-file {
144
- background: var(--aura-surface) padding-box;
144
+ background: var(--aura-surface-color) padding-box;
145
145
  border: 1px solid var(--vaadin-border-color-secondary);
146
146
  }
147
147
  }
package/src/palette.css CHANGED
@@ -1,36 +1,34 @@
1
1
  :where(:root),
2
2
  :where(:host) {
3
- --aura-red: oklch(0.6 0.22 25);
4
- --aura-orange: oklch(0.61 0.4 93);
5
- --aura-yellow: oklch(0.9 0.36 105);
6
- --aura-green: oklch(0.6 0.28 160);
7
- --aura-blue: oklch(0.6 0.3 240);
8
- --aura-purple: oklch(0.6 0.3 280);
3
+ --aura-red: oklch(0.59 0.2 25);
4
+ --aura-orange: oklch(0.61 0.4 90);
5
+ --aura-yellow: oklch(0.9 0.45 105);
6
+ --aura-green: oklch(0.6 0.2 150);
7
+ --aura-blue: oklch(0.61 0.2 260);
8
+ --aura-purple: oklch(0.58 0.22 290);
9
9
 
10
- --aura-red-text: color-mix(in srgb, var(--aura-red) calc(70% - 15% * var(--aura-contrast)), var(--vaadin-text-color));
11
- --aura-orange-text: color-mix(
12
- in srgb,
13
- var(--aura-orange) calc(70% - 15% * var(--aura-contrast)),
14
- var(--vaadin-text-color)
10
+ --aura-red-text: light-dark(
11
+ oklch(from var(--aura-red) min(0.55, 0.35 - 0.05 * var(--aura-contrast) + c * 0.75) calc(c * 0.9) h),
12
+ oklch(from var(--aura-red) max(0.8, 0.9 + 0.05 * var(--aura-contrast) - c * 0.75) calc(c * 0.9) h)
15
13
  );
16
- --aura-yellow-text: color-mix(
17
- in srgb,
18
- var(--aura-yellow) calc(65% - 15% * var(--aura-contrast)),
19
- var(--vaadin-text-color)
14
+ --aura-orange-text: light-dark(
15
+ oklch(from var(--aura-orange) min(0.55, 0.35 - 0.05 * var(--aura-contrast) + c * 0.75) calc(c * 0.9) h),
16
+ oklch(from var(--aura-orange) max(0.8, 0.9 + 0.05 * var(--aura-contrast) - c * 0.75) calc(c * 0.9) h)
20
17
  );
21
- --aura-green-text: color-mix(
22
- in srgb,
23
- var(--aura-green) calc(70% - 15% * var(--aura-contrast)),
24
- var(--vaadin-text-color)
18
+ --aura-yellow-text: light-dark(
19
+ oklch(from var(--aura-yellow) min(0.55, 0.35 - 0.05 * var(--aura-contrast) + c * 0.75) calc(c * 0.9) h),
20
+ oklch(from var(--aura-yellow) max(0.8, 0.9 + 0.05 * var(--aura-contrast) - c * 0.75) calc(c * 0.9) h)
25
21
  );
26
- --aura-blue-text: color-mix(
27
- in srgb,
28
- var(--aura-blue) calc(70% - 15% * var(--aura-contrast)),
29
- var(--vaadin-text-color)
22
+ --aura-green-text: light-dark(
23
+ oklch(from var(--aura-green) min(0.55, 0.35 - 0.05 * var(--aura-contrast) + c * 0.75) calc(c * 0.9) h),
24
+ oklch(from var(--aura-green) max(0.8, 0.9 + 0.05 * var(--aura-contrast) - c * 0.75) calc(c * 0.9) h)
30
25
  );
31
- --aura-purple-text: color-mix(
32
- in srgb,
33
- var(--aura-purple) calc(70% - 15% * var(--aura-contrast)),
34
- var(--vaadin-text-color)
26
+ --aura-blue-text: light-dark(
27
+ oklch(from var(--aura-blue) min(0.55, 0.35 - 0.05 * var(--aura-contrast) + c * 0.75) calc(c * 0.9) h),
28
+ oklch(from var(--aura-blue) max(0.8, 0.9 + 0.05 * var(--aura-contrast) - c * 0.75) calc(c * 0.9) h)
29
+ );
30
+ --aura-purple-text: light-dark(
31
+ oklch(from var(--aura-purple) min(0.55, 0.35 - 0.05 * var(--aura-contrast) + c * 0.75) calc(c * 0.9) h),
32
+ oklch(from var(--aura-purple) max(0.8, 0.9 + 0.05 * var(--aura-contrast) - c * 0.75) calc(c * 0.9) h)
35
33
  );
36
34
  }
package/src/shadow.css CHANGED
@@ -1,8 +1,8 @@
1
1
  :where(:root),
2
2
  :where(:host) {
3
3
  --aura-shadow-color: light-dark(
4
- oklch(from var(--aura-background-light) calc(l - l * 0.8) calc(c / 10) h / 0.2),
5
- oklch(from var(--aura-background-dark) calc(l - l * 0.8) calc(c / 10) h / 0.2)
4
+ oklch(from var(--aura-background-color-light) calc(l - l * 0.8) calc(c / 10) h / 0.2),
5
+ oklch(from var(--aura-background-color-dark) calc(l - l * 0.8) calc(c / 10) h / 0.2)
6
6
  );
7
7
  --aura-shadow-m: 0 8px 16px -3px var(--aura-shadow-color);
8
8
  }
package/src/size.css CHANGED
@@ -31,14 +31,18 @@
31
31
  1px
32
32
  );
33
33
 
34
- --vaadin-padding-container: round(var(--vaadin-padding-s) / 1.4, 1px)
35
- max(var(--vaadin-padding-s), round(var(--vaadin-radius-m) / 2, 1px));
34
+ --vaadin-padding-block-container: round(var(--vaadin-padding-s) / 1.4, 1px);
35
+ --vaadin-padding-inline-container: max(var(--vaadin-padding-s), round(var(--vaadin-radius-m) / 2, 1px));
36
36
 
37
37
  --vaadin-gap-xs: var(--vaadin-padding-xs);
38
38
  --vaadin-gap-s: var(--vaadin-padding-s);
39
39
  --vaadin-gap-m: var(--vaadin-padding-m);
40
40
  --vaadin-gap-l: var(--vaadin-padding-l);
41
41
  --vaadin-gap-xl: var(--vaadin-padding-xl);
42
+
43
+ --vaadin-field-baseline-input-height: calc(
44
+ 1lh + round(var(--vaadin-padding-s) / 1.4, 1px) * 2 + var(--vaadin-input-field-border-width, 1px) * 2
45
+ );
42
46
  }
43
47
 
44
48
  @media (pointer: coarse) {
package/src/surface.css CHANGED
@@ -23,6 +23,7 @@ vaadin-radio-button::part(radio),
23
23
  vaadin-rich-text-editor,
24
24
  vaadin-side-nav-item::part(content),
25
25
  vaadin-tab,
26
+ vaadin-tabs,
26
27
  vaadin-upload,
27
28
  vaadin-upload-file,
28
29
  ::part(input-field),
@@ -33,28 +34,35 @@ vaadin-login-overlay::part(overlay),
33
34
  vaadin-crud-dialog::part(overlay) {
34
35
  --aura-surface-opacity: 0.5;
35
36
 
36
- --aura-surface-solid: light-dark(
37
+ --aura-surface-color-solid: light-dark(
37
38
  oklch(
38
- from var(--aura-background-light)
39
- min(1, l + (0.98 - l) * 4 + var(--aura-surface-level) * 0.06 - var(--aura-surface-opacity) / 20)
39
+ from var(--aura-background-color-light)
40
+ min(1, l + ((1 - l) / 4 + 0.06 - var(--aura-surface-opacity) / 20) * var(--aura-surface-level))
40
41
  clamp(0, c - l / 10 * var(--aura-surface-level) + var(--aura-surface-opacity) / 40, c) h
41
42
  ),
42
43
  oklch(
43
- from var(--aura-background-dark)
44
- calc(max(l + 0.03, 0.25) + var(--aura-surface-level) * 0.022 - var(--aura-surface-opacity) / 40)
44
+ from var(--aura-background-color-dark)
45
+ calc(
46
+ max(0.03, l) + 0.03 * var(--aura-surface-level) + max(0, 0.2 - max(0.03, l)) *
47
+ (1.1 - 0.06 * var(--aura-surface-level))
48
+ )
45
49
  clamp(0, c * (1 + l), 0.2) h
46
50
  )
47
51
  );
48
52
 
49
- --aura-surface: color-mix(in oklab, var(--aura-surface-solid) calc(100% * var(--aura-surface-opacity)), transparent);
50
- --vaadin-background-color: var(--aura-surface-solid);
53
+ --aura-surface-color: color-mix(
54
+ in oklab,
55
+ var(--aura-surface-color-solid) calc(100% * var(--aura-surface-opacity)),
56
+ transparent
57
+ );
58
+ --vaadin-background-color: var(--aura-surface-color-solid);
51
59
  }
52
60
 
53
61
  .aura-surface {
54
- background: var(--aura-surface) padding-box;
62
+ background: var(--aura-surface-color) padding-box;
55
63
  }
56
64
 
57
65
  .aura-surface-solid {
58
66
  --aura-surface-opacity: 1;
59
- background: var(--aura-surface-solid) padding-box;
67
+ background: var(--aura-surface-color-solid) padding-box;
60
68
  }