@vaadin/aura 25.0.0-alpha19 → 25.0.0-alpha21
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/aura.css +26 -1
- package/dist/aura.css +1 -0
- package/dist/fonts/InstrumentSans/InstrumentSans.woff2 +0 -0
- package/package.json +13 -2
- package/src/color-scheme.css +1 -1
- package/src/color.css +54 -33
- package/src/components/accordion-details.css +37 -0
- package/src/components/app-layout.css +12 -20
- package/src/components/avatar.css +15 -0
- package/src/components/button.css +144 -0
- package/src/components/card.css +43 -0
- package/src/components/checkbox-radio.css +68 -0
- package/src/components/confirm-dialog.css +14 -0
- package/src/components/crud.css +12 -0
- package/src/components/date-picker.css +68 -0
- package/src/components/dialog.css +30 -0
- package/src/components/grid.css +27 -0
- package/src/components/input-container.css +37 -0
- package/src/components/item-overlay.css +76 -0
- package/src/components/login.css +42 -0
- package/src/components/master-detail-layout.css +40 -0
- package/src/components/menu-bar.css +17 -0
- package/src/components/message-input.css +30 -0
- package/src/components/multi-select-combo-box.css +12 -0
- package/src/components/notification.css +42 -0
- package/src/components/overlay.css +3 -3
- package/src/components/progress-bar.css +16 -0
- package/src/components/rich-text-editor.css +71 -0
- package/src/components/select.css +30 -0
- package/src/components/side-nav.css +65 -0
- package/src/components/upload.css +153 -0
- package/src/palette.css +23 -33
- package/src/shadow.css +1 -1
- package/src/size.css +4 -3
- package/src/surface.css +26 -8
- package/src/typography.css +5 -6
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
:where(:root, :host) {
|
|
2
|
+
--vaadin-radio-button-dot-size: 6px;
|
|
3
|
+
--vaadin-checkbox-size: round(1lh - 2px, 2px);
|
|
4
|
+
--vaadin-radio-button-size: round(1lh - 2px, 2px);
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
vaadin-checkbox::part(checkbox),
|
|
8
|
+
vaadin-radio-button::part(radio) {
|
|
9
|
+
--vaadin-checkbox-background: var(--aura-surface);
|
|
10
|
+
--vaadin-radio-button-background: var(--aura-surface);
|
|
11
|
+
transition: background-color 100ms;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
vaadin-checkbox:not([readonly], [disabled])::part(checkbox),
|
|
15
|
+
vaadin-radio-button:not([disabled])::part(radio) {
|
|
16
|
+
--aura-surface-level: 4;
|
|
17
|
+
box-shadow: 0 2px 1px -1px hsla(0, 0%, 0%, 0.07);
|
|
18
|
+
--_shade: color-mix(in srgb, var(--vaadin-border-color-secondary) 50%, transparent);
|
|
19
|
+
background-image: linear-gradient(
|
|
20
|
+
light-dark(transparent, var(--_shade)),
|
|
21
|
+
transparent 33%,
|
|
22
|
+
transparent 66%,
|
|
23
|
+
light-dark(var(--_shade), transparent)
|
|
24
|
+
);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
vaadin-checkbox:not([checked], [indeterminate])::part(checkbox),
|
|
28
|
+
vaadin-radio-button:not([checked])::part(radio) {
|
|
29
|
+
background-clip: padding-box;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
vaadin-checkbox:is([checked], [indeterminate]):not([readonly], [disabled])::part(checkbox) {
|
|
33
|
+
--vaadin-checkbox-background: var(--aura-accent-color);
|
|
34
|
+
--vaadin-checkbox-color: var(--aura-accent-contrast);
|
|
35
|
+
--vaadin-checkbox-border-color: var(--vaadin-border-color-secondary);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
vaadin-radio-button[checked]:not([readonly], [disabled])::part(radio) {
|
|
39
|
+
--vaadin-radio-button-background: var(--aura-accent-color);
|
|
40
|
+
--vaadin-radio-button-color: var(--aura-accent-contrast);
|
|
41
|
+
--vaadin-radio-button-border-color: var(--vaadin-border-color-secondary);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
vaadin-checkbox:not([readonly], [disabled])::part(checkbox)::before,
|
|
45
|
+
vaadin-radio-button:not([disabled])::part(radio)::before {
|
|
46
|
+
content: '';
|
|
47
|
+
position: absolute;
|
|
48
|
+
inset: calc(var(--vaadin-input-field-border-width, 1px) * -1);
|
|
49
|
+
border-radius: inherit;
|
|
50
|
+
background-color: currentColor;
|
|
51
|
+
opacity: 0;
|
|
52
|
+
transition:
|
|
53
|
+
opacity 100ms,
|
|
54
|
+
background-color 100ms;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
@media (any-hover: hover) {
|
|
58
|
+
vaadin-checkbox:hover:not([readonly], [disabled], [active])::part(checkbox)::before,
|
|
59
|
+
vaadin-radio-button:hover:not([disabled], [active])::part(radio)::before {
|
|
60
|
+
opacity: 0.04;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
vaadin-checkbox[active]:not([readonly], [disabled])::part(checkbox)::before,
|
|
65
|
+
vaadin-radio-button[active]:not([disabled])::part(radio)::before {
|
|
66
|
+
opacity: 0.1;
|
|
67
|
+
background: #000;
|
|
68
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
vaadin-confirm-dialog::part(footer) {
|
|
2
|
+
width: fit-content;
|
|
3
|
+
margin-inline-start: auto;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
vaadin-confirm-dialog::part(cancel-button),
|
|
7
|
+
vaadin-confirm-dialog::part(reject-button),
|
|
8
|
+
vaadin-confirm-dialog::part(confirm-button) {
|
|
9
|
+
flex: 1;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
vaadin-confirm-dialog :is([slot='cancel-button'], [slot='reject-button'], [slot='confirm-button']) {
|
|
13
|
+
display: flex;
|
|
14
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
:where(:root, :host) {
|
|
2
|
+
--vaadin-crud-background: var(--aura-surface) padding-box;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
vaadin-crud-edit {
|
|
6
|
+
padding: var(--vaadin-padding-xs);
|
|
7
|
+
--vaadin-icon-visual-size: 0.75lh;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
vaadin-crud::part(editor) {
|
|
11
|
+
background: var(--aura-surface);
|
|
12
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
:where(:root, :host) {
|
|
2
|
+
--vaadin-date-picker-year-scroller-background: light-dark(var(--vaadin-background-container), transparent);
|
|
3
|
+
--vaadin-date-picker-month-header-font-weight: var(--aura-font-weight-semibold);
|
|
4
|
+
/* TODO add/use selection color */
|
|
5
|
+
--vaadin-date-picker-date-selected-background: var(--aura-accent-color);
|
|
6
|
+
--vaadin-date-picker-date-selected-color: var(--aura-accent-contrast);
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
:where(:root, :host, [theme]) {
|
|
10
|
+
--vaadin-date-picker-date-width: calc(var(--aura-font-size-m) * 2.5);
|
|
11
|
+
--vaadin-date-picker-year-scroller-width: calc(var(--aura-font-size-m) * 3.5);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
vaadin-date-picker-month-scroller,
|
|
15
|
+
vaadin-date-picker-overlay-content::part(toolbar) {
|
|
16
|
+
background: var(--aura-surface);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
vaadin-date-picker-year-scroller::before {
|
|
20
|
+
width: 12px;
|
|
21
|
+
height: 12px;
|
|
22
|
+
background: var(--aura-surface-solid) padding-box;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
vaadin-date-picker-year::part(year-number) {
|
|
26
|
+
font-size: var(--aura-font-size-s);
|
|
27
|
+
font-weight: var(--aura-font-weight-medium);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
vaadin-date-picker-year[current]::part(year-number) {
|
|
31
|
+
font-weight: var(--aura-font-weight-semibold);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
vaadin-date-picker-year[selected] {
|
|
35
|
+
position: relative;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
vaadin-date-picker-year[selected]::part(year-number) {
|
|
39
|
+
color: var(--aura-accent-text);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
vaadin-date-picker-year[selected]::after {
|
|
43
|
+
content: '';
|
|
44
|
+
position: absolute;
|
|
45
|
+
z-index: -1;
|
|
46
|
+
height: 100%;
|
|
47
|
+
background: var(--aura-accent-color);
|
|
48
|
+
border-radius: var(--vaadin-radius-s);
|
|
49
|
+
top: -0.5lh;
|
|
50
|
+
inset-inline: 3px;
|
|
51
|
+
opacity: 0.1;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
vaadin-date-picker-year::part(year-separator) {
|
|
55
|
+
text-align: center;
|
|
56
|
+
translate: 0 -50%;
|
|
57
|
+
height: 8px;
|
|
58
|
+
line-height: 0;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
vaadin-date-picker-year::part(year-separator)::before {
|
|
62
|
+
content: '';
|
|
63
|
+
display: inline-block;
|
|
64
|
+
width: 3px;
|
|
65
|
+
height: 3px;
|
|
66
|
+
border-radius: 50%;
|
|
67
|
+
background: var(--vaadin-text-color-disabled);
|
|
68
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
:where(:root, :host) {
|
|
2
|
+
--vaadin-dialog-title-font-size: var(--aura-font-size-l);
|
|
3
|
+
--vaadin-dialog-border-width: 0px;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
vaadin-dialog,
|
|
7
|
+
vaadin-confirm-dialog,
|
|
8
|
+
vaadin-crud::part(overlay) {
|
|
9
|
+
color-scheme: var(--aura-content-color-scheme);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
vaadin-dialog::part(overlay),
|
|
13
|
+
vaadin-confirm-dialog::part(overlay) {
|
|
14
|
+
--vaadin-dialog-background: var(--aura-surface);
|
|
15
|
+
--aura-surface-level: 4;
|
|
16
|
+
|
|
17
|
+
/* TODO probably should be in base styles */
|
|
18
|
+
/* Keeps dialogs on top of MDL view transitions */
|
|
19
|
+
view-transition-name: vaadin-dialog;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
vaadin-confirm-dialog::part(message) {
|
|
23
|
+
color: var(--vaadin-text-color-secondary);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/* TODO probably should be in base styles */
|
|
27
|
+
::view-transition-group(vaadin-dialog) {
|
|
28
|
+
border-radius: var(--vaadin-dialog-border-radius, var(--vaadin-radius-l));
|
|
29
|
+
z-index: 1;
|
|
30
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
:where(:root, :host) {
|
|
2
|
+
--vaadin-grid-row-selected-background-color: color-mix(in srgb, var(--aura-accent-color) 10%, transparent);
|
|
3
|
+
--vaadin-grid-background: linear-gradient(var(--aura-surface), var(--aura-surface)) var(--aura-background) padding-box;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
:is(vaadin-grid, vaadin-crud-grid)::part(empty-state) {
|
|
7
|
+
display: flex;
|
|
8
|
+
align-items: center;
|
|
9
|
+
justify-content: center;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/* TODO custom part name: how should we indicate an active row? Should we have a built-in part name? */
|
|
13
|
+
vaadin-grid::part(active-nav-item) {
|
|
14
|
+
--vaadin-grid-row-highlight-background-color: var(--vaadin-background-container);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
vaadin-grid-sorter::part(indicators) {
|
|
18
|
+
transition: color 120ms;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
:is(vaadin-grid, vaadin-crud)[theme~='column-borders'] {
|
|
22
|
+
--vaadin-grid-column-border-width: 1px;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
:is(vaadin-grid, vaadin-crud)[theme~='no-row-borders'] {
|
|
26
|
+
--vaadin-grid-row-border-width: 0px;
|
|
27
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
:where(:root, :host, [theme]) {
|
|
2
|
+
--vaadin-input-field-background: var(--aura-surface);
|
|
3
|
+
--vaadin-input-field-error-color: var(--aura-red-text);
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
::part(input-field),
|
|
7
|
+
vaadin-message-input,
|
|
8
|
+
vaadin-input-container {
|
|
9
|
+
--vaadin-input-field-background: var(--aura-surface);
|
|
10
|
+
--aura-surface-level: 4;
|
|
11
|
+
--aura-surface-opacity: 0.7;
|
|
12
|
+
background-clip: padding-box;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
:not([readonly], [disabled])::part(input-field),
|
|
16
|
+
vaadin-message-input:not([readonly], [disabled]) {
|
|
17
|
+
box-shadow: 0 2px 1px -1px hsla(0, 0%, 0%, 0.04);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
[disabled]::part(input-field) {
|
|
21
|
+
--aura-surface-opacity: 0.5;
|
|
22
|
+
--aura-surface-level: 1;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
::part(field-button) {
|
|
26
|
+
transition: color 100ms;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
:not([readonly], [disabled])::part(field-button):active {
|
|
30
|
+
color: var(--vaadin-text-color);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
@media (any-hover: hover) {
|
|
34
|
+
:not([readonly], [disabled])::part(field-button):hover {
|
|
35
|
+
color: var(--vaadin-text-color);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
:where(:root, :host) {
|
|
2
|
+
--vaadin-item-overlay-padding: var(--vaadin-gap-xs);
|
|
3
|
+
--vaadin-item-border-radius: calc(var(--vaadin-radius-m) - var(--vaadin-item-overlay-padding));
|
|
4
|
+
--vaadin-item-checkmark-color: var(--aura-accent-text);
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
:is(
|
|
8
|
+
vaadin-avatar-group-menu-item,
|
|
9
|
+
vaadin-combo-box-item,
|
|
10
|
+
vaadin-context-menu-item,
|
|
11
|
+
vaadin-time-picker-item,
|
|
12
|
+
vaadin-item,
|
|
13
|
+
vaadin-menu-bar-item,
|
|
14
|
+
vaadin-multi-select-combo-box-item,
|
|
15
|
+
vaadin-select-item[role]
|
|
16
|
+
) {
|
|
17
|
+
font-weight: var(--aura-font-weight-medium);
|
|
18
|
+
--vaadin-item-checkmark-color: var(--aura-accent-text);
|
|
19
|
+
|
|
20
|
+
&::part(checkmark) {
|
|
21
|
+
--vaadin-icon-visual-size: 75%;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
&::part(content) {
|
|
25
|
+
display: flex;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
@media (any-hover: hover) {
|
|
29
|
+
&:not([disabled], [aria-disabled='true']):hover {
|
|
30
|
+
background: color-mix(in srgb, var(--aura-accent-color) 10%, transparent);
|
|
31
|
+
|
|
32
|
+
&[theme~='filled'] {
|
|
33
|
+
background: var(--aura-accent-color);
|
|
34
|
+
color: var(--aura-accent-contrast);
|
|
35
|
+
--vaadin-text-color: var(--aura-accent-contrast);
|
|
36
|
+
--vaadin-text-color-secondary: color-mix(in srgb, var(--aura-accent-contrast) 70%, transparent);
|
|
37
|
+
--vaadin-text-color-disabled: color-mix(in srgb, var(--aura-accent-contrast) 50%, transparent);
|
|
38
|
+
--vaadin-item-checkmark-color: var(--aura-accent-contrast);
|
|
39
|
+
|
|
40
|
+
> * {
|
|
41
|
+
--aura-red: var(--aura-accent-contrast);
|
|
42
|
+
--aura-red-text: var(--aura-accent-contrast);
|
|
43
|
+
--aura-orange: var(--aura-accent-contrast);
|
|
44
|
+
--aura-orange-text: var(--aura-accent-contrast);
|
|
45
|
+
--aura-yellow: var(--aura-accent-contrast);
|
|
46
|
+
--aura-yellow-text: var(--aura-accent-contrast);
|
|
47
|
+
--aura-green: var(--aura-accent-contrast);
|
|
48
|
+
--aura-green-text: var(--aura-accent-contrast);
|
|
49
|
+
--aura-blue: var(--aura-accent-contrast);
|
|
50
|
+
--aura-blue-text: var(--aura-accent-contrast);
|
|
51
|
+
--aura-purple: var(--aura-accent-contrast);
|
|
52
|
+
--aura-purple-text: var(--aura-accent-contrast);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
&[aria-expanded='true']:not(:hover) {
|
|
59
|
+
background: var(--vaadin-background-container-strong);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
&[theme~='danger'] {
|
|
63
|
+
--aura-accent-light: var(--aura-red);
|
|
64
|
+
--aura-accent-dark: var(--aura-red);
|
|
65
|
+
color: var(--aura-red-text);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/* TODO is there a better selector? */
|
|
70
|
+
[role='menu'] [role='separator'] {
|
|
71
|
+
margin-block: var(--vaadin-gap-xs);
|
|
72
|
+
margin-inline-start: calc(
|
|
73
|
+
var(--vaadin-icon-size, 1lh) + var(--vaadin-item-gap, var(--vaadin-gap-s)) + var(--vaadin-gap-xs) * 2
|
|
74
|
+
);
|
|
75
|
+
border-color: var(--vaadin-border-color);
|
|
76
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
:where(:root, :host) {
|
|
2
|
+
--vaadin-login-form-error-color: var(--aura-red-text);
|
|
3
|
+
--vaadin-login-form-padding: var(--vaadin-padding-xl);
|
|
4
|
+
--vaadin-login-overlay-brand-padding: var(--vaadin-padding-xl);
|
|
5
|
+
--vaadin-login-overlay-brand-background: transparent;
|
|
6
|
+
--vaadin-login-overlay-title-font-size: 1.5em;
|
|
7
|
+
--vaadin-login-overlay-title-line-height: 1.2;
|
|
8
|
+
--vaadin-login-overlay-title-font-weight: var(--aura-font-weight-semibold);
|
|
9
|
+
--vaadin-login-overlay-title-color: var(--vaadin-text-color);
|
|
10
|
+
--vaadin-login-overlay-description-color: var(--vaadin-text-color-secondary);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
vaadin-login-form::part(error-message) {
|
|
14
|
+
border-radius: var(--vaadin-radius-m);
|
|
15
|
+
padding: var(--vaadin-padding-m);
|
|
16
|
+
background: color-mix(in srgb, var(--aura-red) 10%, transparent);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
vaadin-login-form::part(error-message-title) {
|
|
20
|
+
font-weight: var(--aura-font-weight-semibold);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
vaadin-login-overlay {
|
|
24
|
+
--vaadin-overlay-backdrop-background: var(--aura-app-background);
|
|
25
|
+
|
|
26
|
+
&::part(overlay) {
|
|
27
|
+
--aura-surface-level: 2;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
&::part(brand) {
|
|
31
|
+
text-align: center;
|
|
32
|
+
padding-bottom: 0;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
&::part(form-title) {
|
|
36
|
+
display: none;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
[slot='title'] {
|
|
40
|
+
letter-spacing: -0.03em;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
vaadin-master-detail-layout::part(detail) {
|
|
2
|
+
--aura-surface-level: 2;
|
|
3
|
+
background: var(--aura-surface) padding-box;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
vaadin-master-detail-layout[drawer]::part(detail) {
|
|
7
|
+
--aura-surface-opacity: var(--aura-overlay-surface-opacity);
|
|
8
|
+
background: var(--aura-surface) padding-box;
|
|
9
|
+
-webkit-backdrop-filter: var(--aura-overlay-backdrop-filter);
|
|
10
|
+
backdrop-filter: var(--aura-overlay-backdrop-filter);
|
|
11
|
+
box-shadow:
|
|
12
|
+
inset 1px 0 0 0 var(--aura-overlay-inner-outline-color),
|
|
13
|
+
-1px 0 0 0 var(--aura-overlay-outline-color),
|
|
14
|
+
var(--aura-shadow-m);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
vaadin-master-detail-layout[containment='viewport'][drawer]::part(detail) {
|
|
18
|
+
box-shadow: var(--aura-overlay-shadow);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/* TODO could be a built-in variant */
|
|
22
|
+
vaadin-master-detail-layout[theme~='inset-drawer'][drawer]::part(detail),
|
|
23
|
+
vaadin-master-detail-layout[containment='viewport'][drawer]::part(detail) {
|
|
24
|
+
margin: calc(var(--aura-app-layout-inset) / 2);
|
|
25
|
+
border-radius: var(--_app-layout-radius);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
vaadin-master-detail-layout > vaadin-master-detail-layout,
|
|
29
|
+
vaadin-master-detail-layout:not([drawer])::part(detail) {
|
|
30
|
+
border-start-end-radius: var(--_app-layout-radius);
|
|
31
|
+
border-end-end-radius: var(--_app-layout-radius);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/* TODO these end up affecting all MDLs, not just the one directly inside the App Layout */
|
|
35
|
+
::view-transition-group(vaadin-mdl-backdrop),
|
|
36
|
+
::view-transition-group(vaadin-mdl-master),
|
|
37
|
+
::view-transition-group(vaadin-mdl-detail) {
|
|
38
|
+
border-radius: var(--_app-layout-radius);
|
|
39
|
+
overflow: hidden;
|
|
40
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
@container not style(--vaadin-menu-bar-gap) {
|
|
2
|
+
vaadin-menu-bar:not([has-single-button]) vaadin-menu-bar-button:not([first-visible]) {
|
|
3
|
+
border-inline-start-color: transparent;
|
|
4
|
+
}
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
@media (any-hover: hover) {
|
|
8
|
+
/* Increase specificity to reset hover styles */
|
|
9
|
+
vaadin-menu-bar-button vaadin-menu-bar-item:not([disabled]):not([tabindex]):hover {
|
|
10
|
+
background: transparent;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
vaadin-menu-bar-button[slot='overflow'] {
|
|
15
|
+
font-family: system-ui, sans-serif;
|
|
16
|
+
font-weight: 600;
|
|
17
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
vaadin-message-input vaadin-text-area::part(input-field) {
|
|
2
|
+
--vaadin-input-field-background: transparent;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
vaadin-message-input[theme~='icon-button'] vaadin-message-input-button {
|
|
6
|
+
width: var(--vaadin-icon-size, 1lh);
|
|
7
|
+
height: var(--vaadin-icon-size, 1lh);
|
|
8
|
+
color: transparent;
|
|
9
|
+
position: relative;
|
|
10
|
+
contain: strict;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
vaadin-message-input[theme~='icon-button'] vaadin-message-input-button::before {
|
|
14
|
+
content: '';
|
|
15
|
+
position: absolute;
|
|
16
|
+
inset: 0;
|
|
17
|
+
mask-image: var(--_vaadin-icon-paper-airplane);
|
|
18
|
+
background: var(--vaadin-button-text-color);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
vaadin-message-input[theme~='icon-button'][dir='rtl'] vaadin-message-input-button::before {
|
|
22
|
+
scale: -1;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
@media (forced-colors: active) {
|
|
26
|
+
vaadin-message-input[theme~='icon-button'] vaadin-message-input-button {
|
|
27
|
+
forced-color-adjust: none;
|
|
28
|
+
--vaadin-button-text-color: CanvasText;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
:where(:root, :host) {
|
|
2
|
+
--vaadin-chip-padding: 0.4em;
|
|
3
|
+
--vaadin-chip-background: var(--vaadin-background-container-strong);
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
vaadin-multi-select-combo-box-chip {
|
|
7
|
+
--vaadin-chip-height: 1lh;
|
|
8
|
+
--vaadin-icon-size: 1.25em;
|
|
9
|
+
--vaadin-chip-padding: 0.4em;
|
|
10
|
+
--vaadin-chip-border-radius: var(--vaadin-radius-s);
|
|
11
|
+
--vaadin-chip-border-width: 0px;
|
|
12
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
:where(:root, :host) {
|
|
2
|
+
--vaadin-notification-border-width: 0px;
|
|
3
|
+
--vaadin-ease-fluid: cubic-bezier(0.78, 0, 0.22, 1);
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
vaadin-notification-container {
|
|
7
|
+
color-scheme: var(--aura-notification-color-scheme);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
vaadin-notification-card::part(overlay) {
|
|
11
|
+
--aura-surface-level: 4;
|
|
12
|
+
--vaadin-notification-background: var(--aura-surface);
|
|
13
|
+
|
|
14
|
+
/* TODO probably should be in base styles */
|
|
15
|
+
/* Keeps notifications on top of MDL view transitions */
|
|
16
|
+
view-transition-name: vaadin-notification;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
::view-transition-group(vaadin-notification) {
|
|
20
|
+
/* Keep on top of MDL view-transition elements */
|
|
21
|
+
z-index: 1;
|
|
22
|
+
/* The backdrop-filter from vaadin-notification-card::part(overlay) is copied here, so we need to clip it with the same border radius */
|
|
23
|
+
border-radius: var(--vaadin-notification-border-radius, var(--vaadin-radius-l));
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/* In Safari, the backdrop-filter is copied to transition-group pseudo element but also retained in the new/old pseudo elements */
|
|
27
|
+
/* Removing it from the transition-group makes it look better */
|
|
28
|
+
@supports (background: -webkit-named-image(i)) {
|
|
29
|
+
::view-transition-group(vaadin-notification) {
|
|
30
|
+
backdrop-filter: none;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
vaadin-notification-card vaadin-card {
|
|
35
|
+
--vaadin-card-gap: var(--vaadin-gap-xs) var(--vaadin-gap-s);
|
|
36
|
+
color: var(--vaadin-text-color-secondary);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
vaadin-notification-card vaadin-button {
|
|
40
|
+
--aura-surface-level: 8;
|
|
41
|
+
--aura-surface-opacity: 0.3;
|
|
42
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
:where(
|
|
1
|
+
:where(:root, :host) {
|
|
2
2
|
--vaadin-overlay-border-width: 0px;
|
|
3
3
|
--vaadin-overlay-backdrop-background: light-dark(
|
|
4
4
|
oklch(from var(--aura-background-light) calc(l * 0.1) c h / 0.15),
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
--aura-overlay-shadow:
|
|
13
13
|
inset 0 0 0 1px var(--aura-overlay-inner-outline-color), 0 0 0 1px var(--aura-overlay-outline-color),
|
|
14
14
|
var(--aura-shadow-m);
|
|
15
|
-
--aura-overlay-backdrop-filter: blur(
|
|
15
|
+
--aura-overlay-backdrop-filter: blur(20px) brightness(1.1) saturate(1.2);
|
|
16
16
|
--aura-overlay-surface-opacity: 0.85;
|
|
17
17
|
|
|
18
18
|
@media (prefers-reduced-transparency: reduce) {
|
|
@@ -31,5 +31,5 @@
|
|
|
31
31
|
font-size: var(--aura-font-size-m);
|
|
32
32
|
font-weight: var(--aura-font-weight);
|
|
33
33
|
line-height: var(--aura-line-height-m);
|
|
34
|
-
color: var(--vaadin-color);
|
|
34
|
+
color: var(--vaadin-text-color);
|
|
35
35
|
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
:where(:root, :host) {
|
|
2
|
+
--vaadin-progress-bar-border-width: 0px;
|
|
3
|
+
--vaadin-progress-bar-value-background: linear-gradient(
|
|
4
|
+
90deg,
|
|
5
|
+
var(--aura-accent-color),
|
|
6
|
+
color-mix(in hsl, var(--aura-accent-color) 60%, hsl(45, 31%, 95%))
|
|
7
|
+
);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
vaadin-progress-bar {
|
|
11
|
+
height: var(--vaadin-gap-s);
|
|
12
|
+
|
|
13
|
+
&[dir='rtl']::part(value) {
|
|
14
|
+
scale: -1;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
:where(:root, :host) {
|
|
2
|
+
--vaadin-rich-text-editor-toolbar-background: transparent;
|
|
3
|
+
--vaadin-rich-text-editor-toolbar-padding: var(--vaadin-padding-xs);
|
|
4
|
+
--vaadin-rich-text-editor-toolbar-gap: var(--vaadin-gap-xs) var(--vaadin-gap-m);
|
|
5
|
+
--vaadin-rich-text-editor-toolbar-button-background: transparent;
|
|
6
|
+
--vaadin-rich-text-editor-toolbar-button-border-radius: calc(var(--vaadin-radius-m) - 2px);
|
|
7
|
+
--vaadin-rich-text-editor-toolbar-button-padding: var(--vaadin-padding-xs);
|
|
8
|
+
--vaadin-rich-text-editor-toolbar-button-text-color: var(--vaadin-text-color-secondary);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
vaadin-rich-text-editor {
|
|
12
|
+
--vaadin-icon-visual-size: 90%;
|
|
13
|
+
--vaadin-rich-text-editor-background: var(--aura-surface) padding-box;
|
|
14
|
+
--aura-surface-level: 4;
|
|
15
|
+
--aura-surface-opacity: 0.7 !important;
|
|
16
|
+
box-shadow: 0 2px 1px -1px hsla(0, 0%, 0%, 0.04);
|
|
17
|
+
|
|
18
|
+
&:not(:focus-within) {
|
|
19
|
+
--vaadin-rich-text-editor-toolbar-button-text-color: var(--vaadin-text-color-disabled);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
vaadin-rich-text-editor::part(toolbar) {
|
|
24
|
+
contain: paint;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
vaadin-rich-text-editor::part(toolbar-group) {
|
|
28
|
+
gap: 1px;
|
|
29
|
+
align-items: center;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
vaadin-rich-text-editor::part(toolbar-group)::before {
|
|
33
|
+
content: '';
|
|
34
|
+
position: absolute;
|
|
35
|
+
width: 1px;
|
|
36
|
+
height: 1lh;
|
|
37
|
+
background: var(--vaadin-border-color-secondary);
|
|
38
|
+
translate: calc(var(--vaadin-gap-m) / -2);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
vaadin-rich-text-editor::part(toolbar-button) {
|
|
42
|
+
transition:
|
|
43
|
+
color 80ms,
|
|
44
|
+
background-color 80ms,
|
|
45
|
+
scale 180ms;
|
|
46
|
+
outline-offset: calc(var(--vaadin-focus-ring-width) * -1);
|
|
47
|
+
border: 1px solid transparent;
|
|
48
|
+
position: relative;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
vaadin-rich-text-editor::part(toolbar-button-pressed) {
|
|
52
|
+
--vaadin-rich-text-editor-toolbar-button-background: transparent;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
vaadin-rich-text-editor:focus-within::part(toolbar-button-pressed) {
|
|
56
|
+
--vaadin-rich-text-editor-toolbar-button-background: var(--vaadin-background-container-strong) padding-box;
|
|
57
|
+
--vaadin-rich-text-editor-toolbar-button-text-color: var(--vaadin-text-color);
|
|
58
|
+
border-color: var(--vaadin-text-color-disabled);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
vaadin-rich-text-editor::part(toolbar-button):active {
|
|
62
|
+
scale: 0.95;
|
|
63
|
+
transition-duration: 80ms, 80ms, 50ms;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
@media (any-hover: hover) {
|
|
67
|
+
vaadin-rich-text-editor::part(toolbar-button):hover {
|
|
68
|
+
--vaadin-rich-text-editor-toolbar-button-background: var(--vaadin-background-container);
|
|
69
|
+
--vaadin-rich-text-editor-toolbar-button-text-color: var(--vaadin-text-color);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
vaadin-select-item::part(content) {
|
|
2
|
+
display: flex;
|
|
3
|
+
align-items: center;
|
|
4
|
+
gap: inherit;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
vaadin-select[theme~='subtle']::part(input-field) {
|
|
8
|
+
--vaadin-input-field-border-color: transparent;
|
|
9
|
+
--vaadin-input-field-background: transparent;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
vaadin-select[theme~='subtle']::part(toggle-button) {
|
|
13
|
+
transition: opacity 200ms;
|
|
14
|
+
opacity: 0;
|
|
15
|
+
--vaadin-icon-size: 0.75lh;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
vaadin-select[theme~='subtle'][focus-ring]::part(toggle-button) {
|
|
19
|
+
opacity: 1;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
@media (any-hover: hover) {
|
|
23
|
+
vaadin-select[theme~='subtle']:hover::part(toggle-button) {
|
|
24
|
+
opacity: 1;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
vaadin-select[theme~='auto-size'] {
|
|
29
|
+
--vaadin-field-default-width: auto;
|
|
30
|
+
}
|