@vaadin/vaadin-lumo-styles 25.0.0-alpha9 → 25.0.0-beta1
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/all-imports.d.ts +0 -8
- package/all-imports.js +0 -18
- package/components/accordion-heading.css +4 -3
- package/components/accordion-panel.css +4 -3
- package/components/app-layout.css +4 -3
- package/components/avatar-group.css +10 -9
- package/components/avatar.css +6 -4
- package/components/button.css +4 -4
- package/components/card.css +6 -4
- package/components/charts.css +4 -3
- package/components/checkbox-group.css +4 -3
- package/components/checkbox.css +4 -3
- package/components/combo-box.css +8 -7
- package/components/confirm-dialog.css +4 -3
- package/components/context-menu.css +8 -7
- package/components/crud.css +13 -12
- package/components/custom-field.css +4 -3
- package/components/dashboard.css +12 -11
- package/components/date-picker.css +12 -11
- package/components/date-time-picker.css +4 -3
- package/components/details-summary.css +4 -3
- package/components/details.css +4 -3
- package/components/dialog.css +4 -3
- package/components/drawer-toggle.css +4 -3
- package/components/email-field.css +4 -3
- package/components/field-highlighter.css +8 -7
- package/components/form-item.css +4 -3
- package/components/form-layout.css +8 -5
- package/components/grid-filter.css +4 -3
- package/components/grid-pro-edit-column.css +8 -7
- package/components/grid-pro.css +4 -3
- package/components/grid-sorter.css +4 -3
- package/components/grid-tree-toggle.css +4 -3
- package/components/grid.css +4 -3
- package/components/horizontal-layout.css +4 -3
- package/components/icon.css +4 -3
- package/components/index.css +71 -0
- package/components/input-container.css +4 -3
- package/components/integer-field.css +4 -3
- package/components/item.css +4 -3
- package/components/list-box.css +4 -3
- package/components/login-form.css +4 -3
- package/components/login.css +4 -3
- package/components/map.css +4 -3
- package/components/master-detail-layout.css +2 -1
- package/components/menu-bar.css +12 -11
- package/components/message-input-button.css +12 -0
- package/components/message-input.css +5 -4
- package/components/message.css +4 -3
- package/components/multi-select-combo-box.css +12 -11
- package/components/notification.css +6 -5
- package/components/number-field.css +4 -3
- package/components/overlay.css +4 -3
- package/components/password-field.css +6 -5
- package/components/popover.css +4 -3
- package/components/progress-bar.css +4 -3
- package/components/radio-button.css +4 -3
- package/components/radio-group.css +4 -3
- package/components/rich-text-editor.css +6 -5
- package/components/scroller.css +4 -3
- package/components/select.css +12 -11
- package/components/side-nav-item.css +4 -3
- package/components/side-nav.css +4 -3
- package/components/split-layout.css +4 -3
- package/components/tab.css +4 -3
- package/components/tabs.css +4 -3
- package/components/tabsheet.css +6 -5
- package/components/text-area.css +4 -3
- package/components/text-field.css +4 -3
- package/components/time-picker.css +8 -7
- package/components/tooltip.css +4 -3
- package/components/upload.css +15 -10
- package/components/vertical-layout.css +4 -3
- package/dist/lumo.css +43 -0
- package/dist/presets/compact.css +1 -0
- package/dist/utility.css +1 -0
- package/lumo.css +3 -3
- package/mixins/field-button.js +3 -4
- package/mixins/helper.js +3 -4
- package/mixins/input-field-shared.js +4 -7
- package/mixins/loader.js +3 -2
- package/mixins/menu-overlay.js +3 -2
- package/mixins/overlay.js +3 -4
- package/mixins/required-field.js +3 -4
- package/package.json +15 -9
- package/presets/compact.css +32 -0
- package/src/components/app-layout.css +5 -5
- package/src/components/avatar-group-overlay.css +0 -4
- package/src/components/chart.css +2 -1
- package/src/components/checkbox.css +2 -3
- package/src/components/combo-box.css +1 -1
- package/src/components/confirm-dialog-overlay.css +0 -4
- package/src/components/context-menu-overlay.css +21 -1
- package/src/components/dashboard-layout.css +0 -66
- package/src/components/dashboard-section.css +3 -31
- package/src/components/dashboard-widget.css +1 -85
- package/src/components/dashboard.css +0 -9
- package/src/components/date-picker-overlay-content.css +6 -40
- package/src/components/date-picker-overlay.css +2 -14
- package/src/components/date-picker.css +2 -2
- package/src/components/dialog-overlay.css +10 -19
- package/src/components/grid-pro-edit-select.css +1 -1
- package/src/components/grid-pro.css +14 -8
- package/src/components/grid.css +0 -7
- package/src/components/icon.css +2 -2
- package/src/components/menu-bar-button.css +7 -7
- package/src/components/message.css +7 -32
- package/src/components/multi-select-combo-box.css +2 -2
- package/src/components/number-field.css +6 -6
- package/src/components/password-field.css +4 -4
- package/src/components/popover-overlay.css +2 -138
- package/src/components/radio-button.css +1 -1
- package/src/components/rich-text-editor.css +40 -142
- package/src/components/scroller.css +3 -22
- package/src/components/select.css +15 -2
- package/src/components/side-nav-item.css +13 -0
- package/src/components/split-layout.css +19 -97
- package/src/components/tabsheet.css +4 -0
- package/src/components/text-area.css +2 -2
- package/src/components/time-picker.css +1 -1
- package/src/components/tooltip-overlay.css +4 -1
- package/src/components/upload-file.css +27 -61
- package/src/global/color-scheme.css +2 -1
- package/{user-colors.d.ts → src/global/index.css} +3 -3
- package/src/global/typography.css +2 -1
- package/src/mixins/dashboard-item.css +10 -141
- package/src/mixins/field-base.css +1 -1
- package/src/mixins/field-button.css +3 -3
- package/src/mixins/overlay.css +11 -1
- package/src/mixins/resizable-overlay.css +2 -1
- package/src/props/color.css +4 -2
- package/src/props/icons.css +21 -18
- package/src/props/index.css +12 -0
- package/src/props/reset.css +2 -1
- package/src/props/sizing.css +2 -1
- package/src/props/spacing.css +2 -1
- package/src/props/style.css +2 -1
- package/src/props/typography.css +2 -1
- package/utility.css +0 -1
- package/vaadin-iconset.js +2 -0
- package/auto-complete.css +0 -2512
- package/badge-global.js +0 -9
- package/badge.d.ts +0 -3
- package/badge.js +0 -178
- package/color-global.js +0 -9
- package/color.d.ts +0 -5
- package/color.js +0 -221
- package/components.css +0 -71
- package/font-icons.js +0 -69
- package/global.css +0 -8
- package/global.js +0 -5
- package/presets/compact.js +0 -40
- package/props.css +0 -12
- package/sizing.d.ts +0 -3
- package/sizing.js +0 -29
- package/spacing.d.ts +0 -3
- package/spacing.js +0 -37
- package/src/components/form-layout.css +0 -12
- package/src/components/upload-file-list.css +0 -24
- package/style.d.ts +0 -3
- package/style.js +0 -31
- package/typography-global.js +0 -13
- package/typography.d.ts +0 -7
- package/typography.js +0 -129
- package/user-colors.js +0 -33
- package/utilities/accessibility.js +0 -21
- package/utilities/background.js +0 -156
- package/utilities/border.js +0 -147
- package/utilities/filter.js +0 -34
- package/utilities/flexbox-grid.js +0 -619
- package/utilities/layout.js +0 -504
- package/utilities/shadows.js +0 -28
- package/utilities/sizing.js +0 -121
- package/utilities/spacing.js +0 -542
- package/utilities/transition.js +0 -50
- package/utilities/typography.js +0 -344
- package/utility-global.js +0 -9
- package/utility.d.ts +0 -3
- package/utility.js +0 -34
|
@@ -4,128 +4,50 @@
|
|
|
4
4
|
* This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
5
5
|
*/
|
|
6
6
|
@media lumo_components_split-layout {
|
|
7
|
-
:host {
|
|
8
|
-
display: flex;
|
|
9
|
-
overflow: hidden !important;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
:host([hidden]) {
|
|
13
|
-
display: none !important;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
:host([orientation='vertical']) {
|
|
17
|
-
flex-direction: column;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
:host ::slotted(*) {
|
|
21
|
-
flex: 1 1 auto;
|
|
22
|
-
overflow: auto;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
7
|
[part='splitter'] {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
min-height: var(--lumo-space-s);
|
|
32
|
-
background-color: var(--lumo-contrast-5pct);
|
|
8
|
+
--_splitter-size: var(--vaadin-split-layout-splitter-size, var(--lumo-space-s));
|
|
9
|
+
--_splitter-target-size: var(--vaadin-split-layout-splitter-target-size, var(--lumo-space-s));
|
|
10
|
+
--_handle-size: var(--vaadin-split-layout-handle-size, var(--lumo-space-xs));
|
|
11
|
+
--_handle-target-size: var(--vaadin-split-layout-handle-target-size, var(--lumo-size-m));
|
|
12
|
+
background: var(--vaadin-split-layout-splitter-background, var(--lumo-contrast-5pct));
|
|
33
13
|
transition: 0.1s background-color;
|
|
34
14
|
}
|
|
35
15
|
|
|
36
|
-
:host(:not([orientation='vertical'])) > [part='splitter'] {
|
|
37
|
-
cursor: ew-resize;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
:host([orientation='vertical']) > [part='splitter'] {
|
|
41
|
-
cursor: ns-resize;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
16
|
[part='handle'] {
|
|
45
|
-
|
|
46
|
-
top: 50%;
|
|
47
|
-
left: 50%;
|
|
48
|
-
transform: translate3d(-50%, -50%, 0);
|
|
49
|
-
display: flex;
|
|
50
|
-
align-items: center;
|
|
51
|
-
justify-content: center;
|
|
52
|
-
width: var(--lumo-size-m);
|
|
53
|
-
height: var(--lumo-size-m);
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
[part='handle']::after {
|
|
57
|
-
content: '';
|
|
58
|
-
display: block;
|
|
59
|
-
--_handle-size: 4px;
|
|
60
|
-
width: var(--_handle-size);
|
|
61
|
-
height: 100%;
|
|
62
|
-
max-width: 100%;
|
|
63
|
-
max-height: 100%;
|
|
17
|
+
background: var(--vaadin-split-layout-handle-background, var(--lumo-contrast-30pct));
|
|
64
18
|
border-radius: var(--lumo-border-radius-s);
|
|
65
|
-
background-color: var(--lumo-contrast-30pct);
|
|
66
|
-
transition:
|
|
67
|
-
0.1s opacity,
|
|
68
|
-
0.1s background-color;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
:host([orientation='vertical']) [part='handle']::after {
|
|
72
|
-
width: 100%;
|
|
73
|
-
height: var(--_handle-size);
|
|
74
19
|
}
|
|
75
20
|
|
|
76
21
|
/* Active style */
|
|
77
|
-
[part='splitter']:active [part='handle']
|
|
78
|
-
background
|
|
22
|
+
[part='splitter']:active [part='handle'] {
|
|
23
|
+
background: var(--lumo-contrast-50pct);
|
|
79
24
|
}
|
|
80
25
|
|
|
81
|
-
/* Small
|
|
26
|
+
/* Small overrides */
|
|
82
27
|
:host([theme~='small']) > [part='splitter'] {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
:host(:is([theme~='small'], [theme~='minimal'])) > [part='splitter'] {
|
|
88
|
-
min-width: 0;
|
|
89
|
-
min-height: 0;
|
|
90
|
-
background-color: transparent;
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
:host(:is([theme~='small'], [theme~='minimal'])) > [part='splitter']::after {
|
|
94
|
-
content: '';
|
|
95
|
-
position: absolute;
|
|
96
|
-
inset: -4px;
|
|
28
|
+
--vaadin-split-layout-handle-size: 5px;
|
|
29
|
+
background: var(--lumo-contrast-10pct);
|
|
97
30
|
}
|
|
98
31
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
32
|
+
/* Minimal */
|
|
33
|
+
:host([theme~='minimal']) > [part='splitter'] {
|
|
34
|
+
--vaadin-split-layout-splitter-size: 0px;
|
|
35
|
+
--vaadin-split-layout-handle-size: 5px;
|
|
36
|
+
--vaadin-split-layout-splitter-target-size: 5px;
|
|
102
37
|
}
|
|
103
38
|
|
|
104
|
-
:host(
|
|
39
|
+
:host([theme~='minimal']) > [part='splitter'] > [part='handle'] {
|
|
105
40
|
opacity: 0;
|
|
106
|
-
--_handle-size: 5px;
|
|
107
41
|
}
|
|
108
42
|
|
|
109
|
-
:host(
|
|
110
|
-
:host(:is([theme~='small'], [theme~='minimal'])) > [part='splitter']:active > [part='handle']::after {
|
|
43
|
+
:host([theme~='minimal']) > [part='splitter']:is(:hover, :active) > [part='handle'] {
|
|
111
44
|
opacity: 1;
|
|
112
45
|
}
|
|
113
46
|
|
|
114
47
|
/* Hover style */
|
|
115
48
|
@media (any-hover: hover) {
|
|
116
|
-
[part='splitter']:hover [part='handle']
|
|
49
|
+
[part='splitter']:hover [part='handle'] {
|
|
117
50
|
background-color: var(--lumo-contrast-40pct);
|
|
118
51
|
}
|
|
119
52
|
}
|
|
120
|
-
|
|
121
|
-
@media (forced-colors: active) {
|
|
122
|
-
[part~='splitter'] {
|
|
123
|
-
outline: 1px solid;
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
[part~='handle']::after {
|
|
127
|
-
background-color: AccentColor !important;
|
|
128
|
-
forced-color-adjust: none;
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
53
|
}
|
|
@@ -99,14 +99,14 @@
|
|
|
99
99
|
|
|
100
100
|
/* Use sticky positioning to keep prefix/suffix/clear button visible when scrolling textarea container */
|
|
101
101
|
[part='input-field'] ::slotted([slot$='fix']),
|
|
102
|
-
[part
|
|
102
|
+
[part~='clear-button'] {
|
|
103
103
|
position: sticky;
|
|
104
104
|
top: 0;
|
|
105
105
|
align-self: flex-start;
|
|
106
106
|
}
|
|
107
107
|
|
|
108
108
|
[part='input-field'] ::slotted(vaadin-icon[slot$='fix']),
|
|
109
|
-
[part
|
|
109
|
+
[part~='clear-button'] {
|
|
110
110
|
/* Vertically align icon prefix/suffix/clear button with the first line of text */
|
|
111
111
|
top: calc((var(--lumo-icon-size-m) - 1em * var(--lumo-line-height-s)) / -2);
|
|
112
112
|
margin-top: calc((var(--lumo-icon-size-m) - 1em * var(--lumo-line-height-s)) / -2);
|
|
@@ -18,10 +18,13 @@
|
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
[part='content'] {
|
|
21
|
-
white-space: pre-wrap;
|
|
22
21
|
padding: var(--lumo-space-xs) var(--lumo-space-s);
|
|
23
22
|
}
|
|
24
23
|
|
|
24
|
+
:host(:not([markdown])) [part='content'] {
|
|
25
|
+
white-space: pre-wrap;
|
|
26
|
+
}
|
|
27
|
+
|
|
25
28
|
:host([position^='top'][top-aligned]) [part='overlay'],
|
|
26
29
|
:host([position^='bottom'][top-aligned]) [part='overlay'] {
|
|
27
30
|
margin-top: var(--vaadin-tooltip-offset-top, var(--_vaadin-tooltip-default-offset));
|
|
@@ -5,39 +5,16 @@
|
|
|
5
5
|
*/
|
|
6
6
|
@media lumo_components_upload-file {
|
|
7
7
|
:host {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
padding: var(--vaadin-upload-file-padding, var(--lumo-space-s) 0);
|
|
9
|
+
gap: var(--vaadin-upload-file-gap, 0 var(--lumo-space-xs));
|
|
10
|
+
border-radius: var(--vaadin-upload-file-border-radius, var(--lumo-border-radius-s));
|
|
11
11
|
--_focus-ring-color: var(--vaadin-focus-ring-color, var(--lumo-primary-color-50pct));
|
|
12
12
|
--_focus-ring-width: var(--vaadin-focus-ring-width, 2px);
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
[part='row'] {
|
|
20
|
-
list-style-type: none;
|
|
21
|
-
display: flex;
|
|
22
|
-
align-items: baseline;
|
|
23
|
-
justify-content: space-between;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
button {
|
|
27
|
-
background: transparent;
|
|
28
|
-
padding: 0;
|
|
29
|
-
border: none;
|
|
30
|
-
box-shadow: none;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
:host([complete]) ::slotted([slot='progress']),
|
|
34
|
-
:host([error]) ::slotted([slot='progress']) {
|
|
35
|
-
display: none !important;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
:host([focus-ring]) [part='row'] {
|
|
39
|
-
border-radius: var(--lumo-border-radius-s);
|
|
40
|
-
box-shadow: 0 0 0 var(--_focus-ring-width) var(--_focus-ring-color);
|
|
15
|
+
:host(:focus-visible) {
|
|
16
|
+
outline: var(--_focus-ring-width) solid var(--_focus-ring-color);
|
|
17
|
+
outline-offset: calc(var(--_focus-ring-width) * -1);
|
|
41
18
|
}
|
|
42
19
|
|
|
43
20
|
[part='status'],
|
|
@@ -46,57 +23,48 @@
|
|
|
46
23
|
font-size: var(--lumo-font-size-s);
|
|
47
24
|
}
|
|
48
25
|
|
|
49
|
-
[part='info'] {
|
|
50
|
-
display: flex;
|
|
51
|
-
align-items: baseline;
|
|
52
|
-
flex: auto;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
[part='meta'] {
|
|
56
|
-
width: 0.001px;
|
|
57
|
-
flex: 1 1 auto;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
26
|
[part='name'] {
|
|
27
|
+
color: var(--lumo-body-text-color);
|
|
61
28
|
white-space: nowrap;
|
|
62
|
-
overflow: hidden;
|
|
63
|
-
text-overflow: ellipsis;
|
|
64
29
|
}
|
|
65
30
|
|
|
66
31
|
[part='commands'] {
|
|
67
|
-
|
|
68
|
-
align-items: baseline;
|
|
69
|
-
flex: none;
|
|
32
|
+
align-self: start;
|
|
70
33
|
}
|
|
71
34
|
|
|
72
35
|
[part$='icon'] {
|
|
73
|
-
margin-right: var(--lumo-space-xs);
|
|
74
36
|
font-size: var(--lumo-icon-size-m);
|
|
75
37
|
font-family: 'lumo-icons';
|
|
76
38
|
line-height: 1;
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
/* When both icons are hidden, let us keep space for one */
|
|
80
|
-
[part='done-icon'][hidden] + [part='warning-icon'][hidden] {
|
|
81
|
-
display: block !important;
|
|
82
|
-
visibility: hidden;
|
|
39
|
+
align-self: start;
|
|
83
40
|
}
|
|
84
41
|
|
|
85
42
|
[part$='button'] {
|
|
86
|
-
|
|
87
|
-
|
|
43
|
+
border: none;
|
|
44
|
+
box-shadow: none;
|
|
45
|
+
outline: none;
|
|
46
|
+
padding: 0;
|
|
47
|
+
border-radius: var(--lumo-border-radius-s);
|
|
88
48
|
cursor: var(--lumo-clickable-cursor);
|
|
89
49
|
}
|
|
90
50
|
|
|
91
51
|
[part$='button']:focus {
|
|
92
|
-
outline:
|
|
93
|
-
|
|
94
|
-
|
|
52
|
+
outline: var(--_focus-ring-width) solid var(--_focus-ring-color);
|
|
53
|
+
outline-offset: calc(var(--_focus-ring-width) * -1);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/* Vertically align icons / buttons with the first line of text */
|
|
57
|
+
[part$='icon'],
|
|
58
|
+
[part$='button'] {
|
|
59
|
+
margin-top: calc((1em * var(--lumo-line-height-m) - var(--lumo-icon-size-m)) / 2);
|
|
95
60
|
}
|
|
96
61
|
|
|
97
62
|
[part$='icon']::before,
|
|
98
63
|
[part$='button']::before {
|
|
99
|
-
|
|
64
|
+
background: transparent;
|
|
65
|
+
mask-image: none;
|
|
66
|
+
width: auto;
|
|
67
|
+
height: auto;
|
|
100
68
|
}
|
|
101
69
|
|
|
102
70
|
[part='done-icon']::before {
|
|
@@ -126,8 +94,6 @@
|
|
|
126
94
|
}
|
|
127
95
|
|
|
128
96
|
::slotted([slot='progress']) {
|
|
129
|
-
|
|
130
|
-
margin-left: calc(var(--lumo-icon-size-m) + var(--lumo-space-xs));
|
|
131
|
-
margin-right: calc(var(--lumo-icon-size-m) + var(--lumo-space-xs));
|
|
97
|
+
margin-inline-end: calc(var(--lumo-icon-size-m) + var(--lumo-space-xs));
|
|
132
98
|
}
|
|
133
99
|
}
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
* Copyright (c) 2000 - 2025 Vaadin Ltd.
|
|
4
4
|
* This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
5
5
|
*/
|
|
6
|
-
:where(:root,
|
|
6
|
+
:where(:root),
|
|
7
|
+
:where(:host) {
|
|
7
8
|
color: var(--lumo-body-text-color);
|
|
8
9
|
background-color: var(--lumo-base-color);
|
|
9
10
|
color-scheme: light;
|
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
* Copyright (c) 2017 - 2025 Vaadin Ltd.
|
|
4
4
|
* This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
5
5
|
*/
|
|
6
|
-
import
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
@import './badge.css';
|
|
7
|
+
@import './color-scheme.css';
|
|
8
|
+
@import './typography.css';
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
* Copyright (c) 2017 - 2025 Vaadin Ltd.
|
|
4
4
|
* This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
5
5
|
*/
|
|
6
|
-
:where(body,
|
|
6
|
+
:where(body),
|
|
7
|
+
:where(:host) {
|
|
7
8
|
font-family: var(--lumo-font-family);
|
|
8
9
|
font-size: var(--lumo-font-size-m);
|
|
9
10
|
line-height: var(--lumo-line-height-m);
|
|
@@ -6,12 +6,9 @@
|
|
|
6
6
|
|
|
7
7
|
@media lumo_mixins_dashboard-item {
|
|
8
8
|
:host {
|
|
9
|
-
box-sizing: border-box;
|
|
10
9
|
--_widget-background: var(--vaadin-dashboard-widget-background, var(--lumo-base-color));
|
|
11
10
|
--_widget-border-radius: var(--vaadin-dashboard-widget-border-radius, var(--lumo-border-radius-l));
|
|
12
|
-
--_widget-border-width: var(--vaadin-dashboard-widget-border-width, 1px);
|
|
13
11
|
--_widget-border-color: var(--vaadin-dashboard-widget-border-color, var(--lumo-contrast-20pct));
|
|
14
|
-
--_widget-shadow: var(--vaadin-dashboard-widget-shadow, 0 0 0 0 transparent);
|
|
15
12
|
--_widget-editable-shadow: var(--lumo-box-shadow-s);
|
|
16
13
|
--_widget-selected-shadow:
|
|
17
14
|
0 2px 4px -1px var(--lumo-primary-color-10pct), 0 3px 12px -1px var(--lumo-primary-color-50pct);
|
|
@@ -32,166 +29,40 @@
|
|
|
32
29
|
filter: var(--_widget-filter);
|
|
33
30
|
}
|
|
34
31
|
|
|
35
|
-
:host([dragging]) * {
|
|
36
|
-
visibility: hidden;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
:host(:not([editable])) [part~='move-button'],
|
|
40
|
-
:host(:not([editable])) [part~='remove-button'],
|
|
41
|
-
:host(:not([editable])) #focus-button,
|
|
42
|
-
:host(:not([editable])) #focus-button-wrapper,
|
|
43
|
-
:host(:not([editable])) .mode-controls {
|
|
44
|
-
display: none;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
#focustrap {
|
|
48
|
-
display: contents;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
#focus-button-wrapper,
|
|
52
|
-
#focus-button {
|
|
53
|
-
position: absolute;
|
|
54
|
-
inset: 0;
|
|
55
|
-
opacity: 0;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
#focus-button {
|
|
59
|
-
pointer-events: none;
|
|
60
|
-
padding: 0;
|
|
61
|
-
border: none;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
.mode-controls {
|
|
65
|
-
position: absolute;
|
|
66
|
-
inset: 0;
|
|
67
|
-
z-index: 2;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
.mode-controls[hidden] {
|
|
71
|
-
display: none;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
/* Move-mode buttons */
|
|
75
|
-
[part~='move-backward-button'],
|
|
76
|
-
[part~='move-forward-button'],
|
|
77
32
|
[part~='move-apply-button'] {
|
|
78
|
-
position: absolute;
|
|
79
|
-
top: 50%;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
[part~='move-backward-button'] {
|
|
83
|
-
inset-inline-start: 0;
|
|
84
|
-
transform: translateY(-50%);
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
[part~='move-forward-button'] {
|
|
88
|
-
inset-inline-end: 0;
|
|
89
|
-
transform: translateY(-50%);
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
[part~='move-apply-button'] {
|
|
93
|
-
left: 50%;
|
|
94
|
-
transform: translate(-50%, -50%);
|
|
95
33
|
--icon: var(--lumo-icons-checkmark);
|
|
96
34
|
font-size: var(--lumo-icon-size-m);
|
|
97
35
|
}
|
|
98
36
|
|
|
99
|
-
:host([first-child]) [part~='move-backward-button'],
|
|
100
|
-
:host([last-child]) [part~='move-forward-button'] {
|
|
101
|
-
display: none;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
/* Resize-mode buttons */
|
|
105
|
-
[part~='resize-shrink-width-button'],
|
|
106
|
-
[part~='resize-shrink-height-button'],
|
|
107
|
-
[part~='resize-grow-width-button'],
|
|
108
|
-
[part~='resize-grow-height-button'],
|
|
109
|
-
[part~='resize-apply-button'] {
|
|
110
|
-
position: absolute;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
[part~='resize-shrink-width-button'] {
|
|
114
|
-
inset-inline-end: 0;
|
|
115
|
-
top: 50%;
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
:host(:not([dir='rtl'])) [part~='resize-shrink-width-button'] {
|
|
119
|
-
transform: translateY(-50%) translateX(-100%);
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
:host([dir='rtl']) [part~='resize-shrink-width-button'] {
|
|
123
|
-
transform: translateY(-50%) translateX(100%);
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
.mode-controls:has([part~='resize-grow-width-button'][hidden]) [part~='resize-shrink-width-button'] {
|
|
127
|
-
transform: translateY(-50%);
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
[part~='resize-grow-width-button'] {
|
|
131
|
-
inset-inline-start: 100%;
|
|
132
|
-
top: 50%;
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
:host(:not([dir='rtl'])) [part~='resize-grow-width-button'] {
|
|
136
|
-
transform: translateY(-50%) translateX(-100%);
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
:host([dir='rtl']) [part~='resize-grow-width-button'] {
|
|
140
|
-
transform: translateY(-50%) translateX(100%);
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
[part~='resize-shrink-height-button'] {
|
|
144
|
-
bottom: 0;
|
|
145
|
-
left: 50%;
|
|
146
|
-
transform: translateX(-50%) translateY(-100%);
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
[part~='resize-grow-height-button'] {
|
|
150
|
-
top: 100%;
|
|
151
|
-
left: 50%;
|
|
152
|
-
transform: translateX(-50%) translateY(-100%);
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
[part~='resize-apply-button'] {
|
|
156
|
-
left: 50%;
|
|
157
|
-
top: 50%;
|
|
158
|
-
|
|
159
|
-
transform: translate(-50%, -50%);
|
|
160
|
-
}
|
|
161
|
-
|
|
162
37
|
:host([focused]) {
|
|
163
|
-
|
|
38
|
+
outline: none;
|
|
164
39
|
}
|
|
165
40
|
|
|
166
41
|
header {
|
|
167
42
|
overflow: hidden;
|
|
168
|
-
display: flex;
|
|
169
43
|
align-items: start;
|
|
170
|
-
|
|
171
|
-
justify-content: space-between;
|
|
44
|
+
gap: 0;
|
|
172
45
|
}
|
|
173
46
|
|
|
174
47
|
[part='title'] {
|
|
175
|
-
flex: 1;
|
|
176
48
|
color: var(--lumo-header-text-color);
|
|
177
|
-
white-space: var(--vaadin-dashboard-widget-title-wrap, wrap);
|
|
178
|
-
text-overflow: ellipsis;
|
|
179
|
-
overflow: hidden;
|
|
180
49
|
line-height: var(--lumo-line-height-s);
|
|
181
50
|
margin: 0 0 1px;
|
|
182
|
-
align-self: safe center;
|
|
183
51
|
}
|
|
184
52
|
|
|
185
53
|
vaadin-dashboard-button {
|
|
186
54
|
font-family: 'lumo-icons';
|
|
187
55
|
font-size: var(--lumo-icon-size-m);
|
|
188
56
|
margin: 0;
|
|
189
|
-
z-index: 1;
|
|
190
57
|
}
|
|
191
58
|
|
|
192
59
|
vaadin-dashboard-button .icon::before {
|
|
193
60
|
display: block;
|
|
194
61
|
content: var(--icon);
|
|
62
|
+
background: transparent;
|
|
63
|
+
mask-image: none;
|
|
64
|
+
width: auto;
|
|
65
|
+
height: auto;
|
|
195
66
|
}
|
|
196
67
|
|
|
197
68
|
/* Common styles for non-mode edit buttons */
|
|
@@ -218,13 +89,11 @@
|
|
|
218
89
|
|
|
219
90
|
/* Drag handle */
|
|
220
91
|
[part~='move-button'] {
|
|
221
|
-
cursor: move;
|
|
222
92
|
--icon: var(--lumo-icons-drag-handle);
|
|
223
93
|
}
|
|
224
94
|
|
|
225
95
|
/* Remove button */
|
|
226
96
|
[part~='remove-button'] {
|
|
227
|
-
cursor: pointer;
|
|
228
97
|
--icon: var(--lumo-icons-cross);
|
|
229
98
|
margin-inline-start: var(--lumo-space-xs);
|
|
230
99
|
}
|
|
@@ -236,17 +105,17 @@
|
|
|
236
105
|
|
|
237
106
|
/* Move mode */
|
|
238
107
|
|
|
108
|
+
:host([move-mode]) :is([part~='move-forward-button'], [part~='move-backward-button']) .icon {
|
|
109
|
+
rotate: none;
|
|
110
|
+
}
|
|
111
|
+
|
|
239
112
|
:host(:not([dir='rtl'])) [part~='move-backward-button'],
|
|
240
113
|
:host([dir='rtl']) [part~='move-forward-button'] {
|
|
241
|
-
border-top-left-radius: 0;
|
|
242
|
-
border-bottom-left-radius: 0;
|
|
243
114
|
--icon: var(--lumo-icons-angle-left);
|
|
244
115
|
}
|
|
245
116
|
|
|
246
117
|
:host(:not([dir='rtl'])) [part~='move-forward-button'],
|
|
247
118
|
:host([dir='rtl']) [part~='move-backward-button'] {
|
|
248
|
-
border-top-right-radius: 0;
|
|
249
|
-
border-bottom-right-radius: 0;
|
|
250
119
|
--icon: var(--lumo-icons-angle-right);
|
|
251
120
|
}
|
|
252
121
|
}
|
|
@@ -31,16 +31,16 @@
|
|
|
31
31
|
display: block;
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
-
[part
|
|
34
|
+
[part~='clear-button'] {
|
|
35
35
|
display: none;
|
|
36
36
|
cursor: default;
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
[part
|
|
39
|
+
[part~='clear-button']::before {
|
|
40
40
|
content: '\2715';
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
:host([clear-button-visible][has-value]:not([disabled]):not([readonly])) [part
|
|
43
|
+
:host([clear-button-visible][has-value]:not([disabled]):not([readonly])) [part~='clear-button'] {
|
|
44
44
|
display: block;
|
|
45
45
|
}
|
|
46
46
|
}
|
package/src/mixins/overlay.css
CHANGED
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
/* CSS API for host */
|
|
39
39
|
--vaadin-overlay-viewport-bottom: 0;
|
|
40
40
|
|
|
41
|
-
inset: var(--
|
|
41
|
+
inset: var(--vaadin-overlay-viewport-inset, var(--lumo-space-m));
|
|
42
42
|
/* Workaround for Edge issue (only on Surface), where an overflowing vaadin-list-box inside vaadin-select-overlay makes the overlay transparent */
|
|
43
43
|
/* stylelint-disable-next-line */
|
|
44
44
|
outline: 0px solid transparent;
|
|
@@ -65,13 +65,23 @@
|
|
|
65
65
|
box-shadow:
|
|
66
66
|
0 0 0 1px var(--lumo-shade-5pct),
|
|
67
67
|
var(--lumo-box-shadow-m);
|
|
68
|
+
|
|
69
|
+
/* CSS reset for font styles */
|
|
68
70
|
color: var(--lumo-body-text-color);
|
|
69
71
|
font-family: var(--lumo-font-family);
|
|
70
72
|
font-size: var(--lumo-font-size-m);
|
|
73
|
+
font-style: normal;
|
|
71
74
|
font-weight: 400;
|
|
75
|
+
font-variant: normal;
|
|
72
76
|
line-height: var(--lumo-line-height-m);
|
|
73
77
|
letter-spacing: 0;
|
|
78
|
+
text-align: initial;
|
|
79
|
+
text-decoration: none;
|
|
80
|
+
text-indent: initial;
|
|
74
81
|
text-transform: none;
|
|
82
|
+
user-select: text;
|
|
83
|
+
white-space: initial;
|
|
84
|
+
word-spacing: initial;
|
|
75
85
|
-webkit-text-size-adjust: 100%;
|
|
76
86
|
-webkit-font-smoothing: antialiased;
|
|
77
87
|
-moz-osx-font-smoothing: grayscale;
|
package/src/props/color.css
CHANGED
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
* Copyright (c) 2017 - 2025 Vaadin Ltd.
|
|
4
4
|
* This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
5
5
|
*/
|
|
6
|
-
:where(:root,
|
|
6
|
+
:where(:root),
|
|
7
|
+
:where(:host) {
|
|
7
8
|
/* Base (background) */
|
|
8
9
|
--lumo-base-color: #fff;
|
|
9
10
|
|
|
@@ -92,7 +93,8 @@
|
|
|
92
93
|
|
|
93
94
|
/* forced-colors mode adjustments */
|
|
94
95
|
@media (forced-colors: active) {
|
|
95
|
-
:where(:root,
|
|
96
|
+
:where(:root),
|
|
97
|
+
:where(:host) {
|
|
96
98
|
--lumo-disabled-text-color: GrayText;
|
|
97
99
|
}
|
|
98
100
|
}
|