@vaadin/vaadin-lumo-styles 25.0.0-alpha16 → 25.0.0-alpha17

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vaadin/vaadin-lumo-styles",
3
- "version": "25.0.0-alpha16",
3
+ "version": "25.0.0-alpha17",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -42,9 +42,9 @@
42
42
  "web-component"
43
43
  ],
44
44
  "dependencies": {
45
- "@vaadin/component-base": "25.0.0-alpha16",
46
- "@vaadin/icon": "25.0.0-alpha16",
47
- "@vaadin/vaadin-themable-mixin": "25.0.0-alpha16"
45
+ "@vaadin/component-base": "25.0.0-alpha17",
46
+ "@vaadin/icon": "25.0.0-alpha17",
47
+ "@vaadin/vaadin-themable-mixin": "25.0.0-alpha17"
48
48
  },
49
49
  "devDependencies": {
50
50
  "gulp": "^5.0.1",
@@ -54,5 +54,5 @@
54
54
  "imagemin": "^9.0.0",
55
55
  "imagemin-svgo": "^10.0.1"
56
56
  },
57
- "gitHead": "4b316158a4a4f702f032bc9940fc82f0faa840f4"
57
+ "gitHead": "8264c71309907be99368b09414f0f8d7f591e0b9"
58
58
  }
@@ -4,76 +4,10 @@
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_dashboard-layout {
7
- :host {
8
- display: block;
9
- overflow: auto;
10
- box-sizing: border-box;
11
- width: 100%;
12
- }
13
-
14
- :host([hidden]) {
15
- display: none !important;
16
- }
17
-
18
- :host([dense-layout]) #grid {
19
- grid-auto-flow: dense;
20
- }
21
-
22
7
  #grid {
23
- box-sizing: border-box;
24
-
25
- /* Padding around dashboard edges */
26
8
  --_default-padding: var(--lumo-space-m);
27
- --_padding: max(0px, var(--vaadin-dashboard-padding, var(--_default-padding)));
28
- padding: var(--_padding);
29
-
30
- /* Gap between widgets */
31
9
  --_default-gap: var(--lumo-space-m);
32
- --_gap: max(0px, var(--vaadin-dashboard-gap, var(--_default-gap)));
33
- gap: var(--_gap);
34
-
35
- /* Default min and max column widths */
36
- --_default-col-min-width: 25rem;
37
- --_default-col-max-width: 1fr;
38
-
39
- /* Effective min and max column widths */
40
- --_col-min-width: var(--vaadin-dashboard-col-min-width, var(--_default-col-min-width));
41
- --_col-max-width: var(--vaadin-dashboard-col-max-width, var(--_default-col-max-width));
42
-
43
- /* Effective max column count */
44
- --_col-max-count: var(--vaadin-dashboard-col-max-count, var(--_col-count));
45
-
46
- /* Effective column count */
47
- --_effective-col-count: min(var(--_col-count), var(--_col-max-count));
48
-
49
- /* Default row min height */
50
10
  --_default-row-min-height: 12rem;
51
- /* Effective row min height */
52
- --_row-min-height: var(--vaadin-dashboard-row-min-height, var(--_default-row-min-height));
53
- /* Effective row height */
54
- --_row-height: minmax(var(--_row-min-height, auto), auto);
55
-
56
- display: grid;
57
- overflow: hidden;
58
- min-width: calc(var(--_col-min-width) + var(--_padding) * 2);
59
-
60
- grid-template-columns: repeat(
61
- var(--_effective-col-count, auto-fill),
62
- minmax(var(--_col-min-width), var(--_col-max-width))
63
- );
64
-
65
- grid-auto-rows: var(--_row-height);
66
- }
67
-
68
- ::slotted(*) {
69
- /* The grid-column value applied to children */
70
- --_item-column: span min(var(--vaadin-dashboard-widget-colspan, 1), var(--_effective-col-count, var(--_col-count)));
71
-
72
- grid-column: var(--_item-column);
73
-
74
- /* The grid-row value applied to children */
75
- --_item-row: span var(--vaadin-dashboard-widget-rowspan, 1);
76
- grid-row: var(--_item-row);
77
11
  }
78
12
 
79
13
  :host([theme~='shaded-background']) {
@@ -5,35 +5,16 @@
5
5
  */
6
6
  @media lumo_components_dashboard-section {
7
7
  :host {
8
- display: grid;
9
- position: relative;
10
- grid-template-columns: subgrid;
11
- --_section-column: 1 / calc(var(--_effective-col-count) + 1);
12
- grid-column: var(--_section-column) !important;
13
8
  gap: var(--_gap, 1rem);
14
- /* Dashboard section header height */
15
- --_section-header-height: minmax(0, auto);
16
- grid-template-rows: var(--_section-header-height) repeat(auto-fill, var(--_row-height));
17
- grid-auto-rows: var(--_row-height);
18
9
  --_section-outline-offset: calc(min(var(--_gap), var(--_padding)) / 3);
19
10
  --_focus-ring-offset: calc((var(--_section-outline-offset) - var(--_focus-ring-width)));
20
11
  border-radius: var(--lumo-border-radius-l);
21
- }
22
-
23
- :host([hidden]) {
24
- display: none !important;
25
- }
26
-
27
- ::slotted(*) {
28
- --_item-column: span min(var(--vaadin-dashboard-widget-colspan, 1), var(--_effective-col-count, var(--_col-count)));
29
-
30
- grid-column: var(--_item-column);
31
- --_item-row: span var(--vaadin-dashboard-widget-rowspan, 1);
32
- grid-row: var(--_item-row);
12
+ border: none;
13
+ margin: 0;
14
+ padding: 0;
33
15
  }
34
16
 
35
17
  header {
36
- grid-column: var(--_section-column);
37
18
  margin-bottom: calc(-1 * var(--_section-outline-offset));
38
19
  line-height: var(--lumo-line-height-s);
39
20
  padding-inline: var(--lumo-space-s);
@@ -41,14 +22,6 @@
41
22
  align-items: center;
42
23
  }
43
24
 
44
- :host::before {
45
- z-index: 2 !important;
46
- }
47
-
48
- ::slotted(vaadin-dashboard-widget-wrapper) {
49
- display: contents;
50
- }
51
-
52
25
  [part='title'] {
53
26
  font-size: var(--lumo-font-size-xl);
54
27
  font-weight: 600;
@@ -108,6 +81,5 @@
108
81
 
109
82
  [part~='move-forward-button'] {
110
83
  inset-inline-end: calc(-1 * var(--_section-outline-offset));
111
- transform: translateY(-50%);
112
84
  }
113
85
  }
@@ -4,43 +4,15 @@
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_dashboard-widget {
7
- :host {
8
- display: flex;
9
- flex-direction: column;
10
- grid-column: var(--_item-column);
11
- grid-row: var(--_item-row);
12
- background: var(--_widget-background);
13
- border-radius: var(--_widget-border-radius);
14
- box-shadow: var(--_widget-shadow);
15
- position: relative;
16
- }
17
-
18
7
  :host::before {
19
- content: '';
20
- position: absolute;
21
8
  inset: calc(-1 * var(--_widget-border-width));
22
9
  border: var(--_widget-border-width) solid var(--_widget-border-color);
23
10
  border-radius: calc(var(--_widget-border-radius) + var(--_widget-border-width));
24
- pointer-events: none;
25
- }
26
-
27
- :host([hidden]) {
28
- display: none !important;
29
- }
30
-
31
- :host(:not([editable])) [part~='resize-button'] {
32
- display: none;
33
- }
34
-
35
- [part~='content'] {
36
- flex: 1;
37
- overflow: hidden;
38
11
  }
39
12
 
40
13
  /* Widget states */
41
14
 
42
15
  :host([editable]) {
43
- --vaadin-dashboard-widget-shadow: var(--_widget-editable-shadow);
44
16
  --_widget-border-color: var(--lumo-contrast-20pct);
45
17
  --_widget-border-width: 1px;
46
18
  }
@@ -51,7 +23,6 @@
51
23
  }
52
24
 
53
25
  :host([selected]) {
54
- --vaadin-dashboard-widget-shadow: var(--_widget-selected-shadow);
55
26
  background: var(--lumo-primary-color-10pct);
56
27
  }
57
28
 
@@ -62,13 +33,7 @@
62
33
  }
63
34
 
64
35
  :host([resizing])::after {
65
- content: '';
66
- z-index: 2;
67
- position: absolute;
68
36
  top: -1px;
69
- width: var(--_widget-resizer-width, 0);
70
- height: var(--_widget-resizer-height, 0);
71
- border-radius: inherit;
72
37
  background: var(--_drop-target-background-color);
73
38
  border: var(--_drop-target-border);
74
39
  }
@@ -81,7 +46,7 @@
81
46
  }
82
47
 
83
48
  :host([editable]) header {
84
- padding-inline: var(--lumo-space-xs);
49
+ padding: var(--lumo-space-xs);
85
50
  }
86
51
 
87
52
  [part='title'] {
@@ -113,25 +78,12 @@
113
78
  /* Resize handle */
114
79
 
115
80
  [part~='resize-button'] {
116
- z-index: 1;
117
- overflow: hidden;
118
81
  --_resize-button-offset: min(var(--_gap), var(--_padding), var(--lumo-space-xs));
119
- position: absolute;
120
82
  bottom: calc(-1 * var(--_resize-button-offset));
121
83
  inset-inline-end: calc(-1 * var(--_resize-button-offset));
122
- cursor: nwse-resize;
123
- touch-action: none;
124
84
  --icon: var(--lumo-icons-resize-handle);
125
85
  }
126
86
 
127
- :host([dir='rtl']) [part~='resize-button'] {
128
- cursor: sw-resize;
129
- }
130
-
131
- :host([dir='rtl']) [part~='resize-button'] .icon::before {
132
- transform: scaleX(-1);
133
- }
134
-
135
87
  /* Accessible resize mode controls */
136
88
 
137
89
  [part~='resize-apply-button'] {
@@ -146,48 +98,11 @@
146
98
  min-width: var(--lumo-size-s);
147
99
  }
148
100
 
149
- [part~='resize-shrink-width-button'] + [part~='resize-grow-width-button'] {
150
- margin-left: 1px;
151
- }
152
-
153
101
  [part~='resize-grow-height-button'],
154
102
  [part~='resize-shrink-height-button'] {
155
103
  height: var(--lumo-size-s);
156
104
  padding-right: 0;
157
105
  padding-left: 0;
158
- border-bottom-left-radius: 0;
159
- border-bottom-right-radius: 0;
160
- }
161
-
162
- [part~='resize-shrink-height-button']:not([hidden]) + [part~='resize-grow-height-button'] {
163
- border-top-left-radius: 0;
164
- border-top-right-radius: 0;
165
- }
166
-
167
- [part~='resize-shrink-height-button'] + [part~='resize-grow-height-button'] {
168
- margin-top: 1px;
169
- }
170
-
171
- :host(:not([dir='rtl'])) [part~='resize-grow-width-button'],
172
- :host(:not([dir='rtl'])) [part~='resize-shrink-width-button'] {
173
- border-top-right-radius: 0;
174
- border-bottom-right-radius: 0;
175
- }
176
-
177
- :host([dir='rtl']) [part~='resize-grow-width-button'],
178
- :host([dir='rtl']) [part~='resize-shrink-width-button'] {
179
- border-top-left-radius: 0;
180
- border-bottom-left-radius: 0;
181
- }
182
-
183
- :host(:not([dir='rtl'])) [part~='resize-shrink-width-button']:not([hidden]) + [part~='resize-grow-width-button'] {
184
- border-top-left-radius: 0;
185
- border-bottom-left-radius: 0;
186
- }
187
-
188
- :host([dir='rtl']) [part~='resize-shrink-width-button']:not([hidden]) + [part~='resize-grow-width-button'] {
189
- border-top-right-radius: 0;
190
- border-bottom-right-radius: 0;
191
106
  }
192
107
 
193
108
  [part~='resize-grow-height-button'],
@@ -4,15 +4,6 @@
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_dashboard {
7
- #grid[item-resizing] {
8
- -webkit-user-select: none;
9
- user-select: none;
10
- }
11
-
12
- ::slotted(vaadin-dashboard-widget-wrapper) {
13
- display: contents;
14
- }
15
-
16
7
  :host {
17
8
  --_widget-opacity: 1;
18
9
  }
@@ -5,15 +5,6 @@
5
5
  */
6
6
  @media lumo_components_date-picker-overlay-content {
7
7
  :host {
8
- display: grid;
9
- grid-template-areas:
10
- 'header header'
11
- 'months years'
12
- 'toolbar years';
13
- grid-template-columns: minmax(0, 1fr) 0;
14
- height: 100%;
15
- outline: none;
16
- position: relative;
17
8
  /* Background for the year scroller, placed here as we are using a mask image on the actual years part */
18
9
  background-image: linear-gradient(var(--lumo-shade-5pct), var(--lumo-shade-5pct));
19
10
  background-size: 57px 100%;
@@ -26,18 +17,6 @@
26
17
  background-position: top left;
27
18
  }
28
19
 
29
- :host([desktop]) {
30
- grid-template-columns: minmax(0, 1fr) auto;
31
- }
32
-
33
- :host([fullscreen][years-visible]) {
34
- grid-template-columns: minmax(0, 1fr) auto;
35
- }
36
-
37
- [hidden] {
38
- display: none !important;
39
- }
40
-
41
20
  ::slotted([slot='months']) {
42
21
  /* Month calendar height:
43
22
  header height + margin-bottom
@@ -55,17 +34,15 @@
55
34
  );
56
35
  --vaadin-infinite-scroller-buffer-offset: 10%;
57
36
  mask-image: linear-gradient(transparent, #000 10%, #000 85%, transparent);
58
- position: relative;
59
37
  }
60
38
 
61
39
  ::slotted([slot='years']) {
62
40
  /* TODO get rid of fixed magic number */
63
41
  --vaadin-infinite-scroller-buffer-width: 57px;
64
42
  width: 57px;
65
- height: auto;
66
- top: 0;
67
- bottom: 0;
68
43
  font-size: var(--lumo-font-size-s);
44
+ border: none;
45
+ background: transparent;
69
46
  box-shadow: inset 2px 0 4px 0 var(--lumo-shade-5pct);
70
47
  mask-image: linear-gradient(transparent, #000 35%, #000 65%, transparent);
71
48
  cursor: var(--lumo-clickable-cursor);
@@ -79,11 +56,6 @@
79
56
  --_lumo-date-picker-year-opacity: 1;
80
57
  }
81
58
 
82
- :host([desktop]) ::slotted([slot='years']),
83
- :host([years-visible]) ::slotted([slot='years']) {
84
- visibility: visible;
85
- }
86
-
87
59
  /* Year scroller position indicator */
88
60
  ::slotted([slot='years'])::before {
89
61
  border: none;
@@ -91,21 +63,17 @@
91
63
  height: 1em;
92
64
  background-color: var(--lumo-base-color);
93
65
  background-image: linear-gradient(var(--lumo-tint-5pct), var(--lumo-tint-5pct));
94
- transform: translate(-75%, -50%) rotate(45deg);
95
66
  border-top-right-radius: var(--lumo-border-radius-s);
96
67
  box-shadow: 2px -2px 6px 0 var(--lumo-shade-5pct);
97
- z-index: 1;
68
+ translate: -75% -50%;
98
69
  }
99
70
 
100
71
  :host([dir='rtl']) ::slotted([slot='years'])::before {
101
- right: 0;
102
- transform: translate(75%, -50%) rotate(45deg);
72
+ border-bottom-left-radius: var(--lumo-border-radius-s);
73
+ translate: 75% -50%;
103
74
  }
104
75
 
105
76
  [part='toolbar'] {
106
- display: flex;
107
- grid-area: toolbar;
108
- justify-content: space-between;
109
77
  padding: var(--lumo-space-s);
110
78
  border-bottom-left-radius: var(--lumo-border-radius-l);
111
79
  }
@@ -113,9 +81,9 @@
113
81
  /* Narrow viewport mode (fullscreen) */
114
82
 
115
83
  :host([fullscreen]) [part='toolbar'] {
116
- grid-area: header;
117
84
  margin-inline-end: 57px;
118
85
  background-color: var(--lumo-base-color);
86
+ border: none;
119
87
  }
120
88
 
121
89
  [part='toolbar'] ::slotted(vaadin-button) {
@@ -125,8 +93,6 @@
125
93
  /* Very narrow screen (year scroller initially hidden) */
126
94
 
127
95
  [part='years-toggle-button'] {
128
- display: flex;
129
- align-items: center;
130
96
  height: var(--lumo-size-m);
131
97
  padding: 0 0.5em;
132
98
  border-radius: var(--lumo-border-radius-m);
@@ -5,14 +5,12 @@
5
5
  */
6
6
  @media lumo_components_message {
7
7
  :host {
8
- display: flex;
9
- flex-direction: row;
10
- outline: none;
11
8
  color: var(--lumo-body-text-color);
12
9
  font-family: var(--lumo-font-family);
13
10
  font-size: var(--lumo-font-size-m);
14
11
  line-height: var(--lumo-line-height-m);
15
12
  padding: var(--lumo-space-s) var(--lumo-space-m);
13
+ gap: 0;
16
14
  -moz-osx-font-smoothing: grayscale;
17
15
  -webkit-font-smoothing: antialiased;
18
16
  -webkit-text-size-adjust: 100%;
@@ -20,34 +18,25 @@
20
18
  --_focus-ring-width: var(--vaadin-focus-ring-width, 2px);
21
19
  }
22
20
 
23
- :host([hidden]) {
24
- display: none !important;
25
- }
26
-
27
- [part='content'] {
28
- display: flex;
29
- flex-direction: column;
30
- flex-grow: 1;
21
+ :host(:is(:focus-visible, [focus-ring])) {
22
+ outline: none;
31
23
  }
32
24
 
33
25
  [part='header'] {
34
- align-items: baseline;
35
- display: flex;
36
- flex-flow: row wrap;
37
26
  min-height: calc(var(--lumo-font-size-m) * var(--lumo-line-height-m));
38
27
  }
39
28
 
40
29
  [part='name'] {
41
- font-weight: 500;
42
- margin-right: var(--lumo-space-s);
30
+ color: inherit;
31
+ margin-inline-end: var(--lumo-space-s);
43
32
  }
44
33
 
45
34
  [part='name']:empty {
46
- margin-right: 0;
35
+ margin-inline-end: 0;
47
36
  }
48
37
 
49
38
  [part='message'] {
50
- white-space: pre-wrap;
39
+ color: inherit;
51
40
  }
52
41
 
53
42
  [part='time'] {
@@ -58,25 +47,11 @@
58
47
  ::slotted([slot='avatar']) {
59
48
  --vaadin-avatar-outline-width: 0;
60
49
  --vaadin-avatar-size: var(--lumo-size-m);
61
- flex-shrink: 0;
62
50
  margin-top: calc(var(--lumo-space-s));
63
51
  margin-inline-end: calc(var(--lumo-space-m));
64
52
  }
65
53
 
66
- ::slotted(vaadin-markdown) {
67
- white-space: normal;
68
- }
69
-
70
54
  :host([focus-ring]) {
71
55
  box-shadow: inset 0 0 0 var(--_focus-ring-width) var(--_focus-ring-color);
72
56
  }
73
-
74
- :host([dir='rtl']) [part='name'] {
75
- margin-left: var(--lumo-space-s);
76
- margin-right: 0;
77
- }
78
-
79
- :host([dir='rtl']) [part='name']:empty {
80
- margin-left: 0;
81
- }
82
57
  }
@@ -5,152 +5,16 @@
5
5
  */
6
6
  @media lumo_components_popover-overlay {
7
7
  :host {
8
- --vaadin-popover-arrow-size: 0.5rem;
8
+ --_arrow-size: var(--vaadin-popover-arrow-size, 0.75rem);
9
9
  --_default-offset: var(--lumo-space-xs);
10
10
  }
11
11
 
12
12
  [part='overlay'] {
13
- position: relative;
14
13
  overflow: visible;
15
- max-height: 100%;
16
- outline: none;
14
+ border: none;
17
15
  }
18
16
 
19
17
  [part='content'] {
20
- overflow: auto;
21
- box-sizing: border-box;
22
- max-height: 100%;
23
18
  padding: var(--lumo-space-xs) var(--lumo-space-s);
24
19
  }
25
-
26
- /* Increase the area of the popover so the pointer can go from the target directly to it. */
27
- [part='overlay']::before {
28
- position: absolute;
29
- content: '';
30
- inset-block: calc(var(--vaadin-popover-offset-top, var(--_default-offset)) * -1)
31
- calc(var(--vaadin-popover-offset-bottom, var(--_default-offset)) * -1);
32
- inset-inline: calc(var(--vaadin-popover-offset-start, var(--_default-offset)) * -1)
33
- calc(var(--vaadin-popover-offset-end, var(--_default-offset)) * -1);
34
- z-index: -1;
35
- pointer-events: auto;
36
- }
37
-
38
- :host([theme~='no-padding']) [part='content'] {
39
- padding: 0 !important;
40
- }
41
-
42
- [part='arrow'] {
43
- display: none;
44
- position: absolute;
45
- height: 0;
46
- width: 0;
47
- }
48
-
49
- :host([theme~='arrow']) {
50
- --_default-offset: calc(var(--lumo-space-s) + var(--vaadin-popover-arrow-size) / 2);
51
- }
52
-
53
- :host([theme~='arrow']) [part='arrow'] {
54
- display: block;
55
- }
56
-
57
- :host([modeless][with-backdrop]) [part='backdrop'] {
58
- pointer-events: none;
59
- }
60
-
61
- :host([position^='top'][top-aligned]) [part='overlay'],
62
- :host([position^='bottom'][top-aligned]) [part='overlay'] {
63
- margin-top: var(--vaadin-popover-offset-top, var(--_default-offset));
64
- }
65
-
66
- :host([position^='top'][bottom-aligned]) [part='overlay'],
67
- :host([position^='bottom'][bottom-aligned]) [part='overlay'] {
68
- margin-bottom: var(--vaadin-popover-offset-bottom, var(--_default-offset));
69
- }
70
-
71
- :host([position^='start'][start-aligned]) [part='overlay'],
72
- :host([position^='end'][start-aligned]) [part='overlay'] {
73
- margin-inline-start: var(--vaadin-popover-offset-start, var(--_default-offset));
74
- }
75
-
76
- :host([position^='start'][end-aligned]) [part='overlay'],
77
- :host([position^='end'][end-aligned]) [part='overlay'] {
78
- margin-inline-end: var(--vaadin-popover-offset-end, var(--_default-offset));
79
- }
80
-
81
- /* top / bottom position */
82
- :host([theme~='arrow'][position^='top']) [part='arrow'],
83
- :host([theme~='arrow'][position^='bottom']) [part='arrow'] {
84
- border-left: var(--vaadin-popover-arrow-size) solid transparent;
85
- border-right: var(--vaadin-popover-arrow-size) solid transparent;
86
- }
87
-
88
- :host([theme~='arrow'][position^='bottom'][bottom-aligned]) [part='arrow'],
89
- :host([theme~='arrow'][position^='top'][bottom-aligned]) [part='arrow'] {
90
- bottom: calc(var(--vaadin-popover-arrow-size) * -1);
91
- border-top: var(--vaadin-popover-arrow-size) solid var(--lumo-base-color);
92
- filter: drop-shadow(0 2px 1px var(--lumo-shade-10pct));
93
- }
94
-
95
- :host([theme~='arrow'][position^='bottom'][top-aligned]) [part='arrow'],
96
- :host([theme~='arrow'][position^='top'][top-aligned]) [part='arrow'] {
97
- top: calc(var(--vaadin-popover-arrow-size) * -1);
98
- border-bottom: var(--vaadin-popover-arrow-size) solid var(--lumo-base-color);
99
- filter: drop-shadow(0 -2px 1px var(--lumo-shade-10pct));
100
- }
101
-
102
- :host([theme~='arrow'][position^='bottom'][start-aligned]) [part='arrow'],
103
- :host([theme~='arrow'][position^='top'][start-aligned]) [part='arrow'] {
104
- transform: translateX(-50%);
105
- inset-inline-start: 1.5rem;
106
- }
107
-
108
- :host([theme~='arrow'][position^='bottom'][end-aligned]) [part='arrow'],
109
- :host([theme~='arrow'][position^='top'][end-aligned]) [part='arrow'] {
110
- transform: translateX(50%);
111
- inset-inline-end: 1.5rem;
112
- }
113
-
114
- :host([theme~='arrow'][position^='bottom'][arrow-centered]) [part='arrow'],
115
- :host([theme~='arrow'][position^='top'][arrow-centered]) [part='arrow'] {
116
- transform: translateX(-50%);
117
- inset-inline-start: 50%;
118
- }
119
-
120
- /* start / end position */
121
- :host([theme~='arrow'][position^='start']) [part='arrow'],
122
- :host([theme~='arrow'][position^='end']) [part='arrow'] {
123
- border-top: var(--vaadin-popover-arrow-size) solid transparent;
124
- border-bottom: var(--vaadin-popover-arrow-size) solid transparent;
125
- }
126
-
127
- :host([theme~='arrow'][position^='start'][start-aligned]) [part='arrow'],
128
- :host([theme~='arrow'][position^='end'][start-aligned]) [part='arrow'] {
129
- inset-inline-start: calc(var(--vaadin-popover-arrow-size) * -1);
130
- border-right: var(--vaadin-popover-arrow-size) solid var(--lumo-base-color);
131
- filter: drop-shadow(-2px 0 1px var(--lumo-shade-10pct));
132
- }
133
-
134
- :host([theme~='arrow'][position^='start'][end-aligned]) [part='arrow'],
135
- :host([theme~='arrow'][position^='end'][end-aligned]) [part='arrow'] {
136
- inset-inline-end: calc(var(--vaadin-popover-arrow-size) * -1);
137
- border-left: var(--vaadin-popover-arrow-size) solid var(--lumo-base-color);
138
- filter: drop-shadow(2px 0 1px var(--lumo-shade-10pct));
139
- }
140
-
141
- :host([theme~='arrow'][position^='start'][top-aligned]) [part='arrow'],
142
- :host([theme~='arrow'][position^='end'][top-aligned]) [part='arrow'] {
143
- top: 0.5rem;
144
- }
145
-
146
- :host([theme~='arrow'][position='start'][top-aligned]) [part='arrow'],
147
- :host([theme~='arrow'][position='end'][top-aligned]) [part='arrow'] {
148
- top: 50%;
149
- transform: translateY(-50%);
150
- }
151
-
152
- :host([theme~='arrow'][position^='start'][bottom-aligned]) [part='arrow'],
153
- :host([theme~='arrow'][position^='end'][bottom-aligned]) [part='arrow'] {
154
- bottom: 0.5rem;
155
- }
156
20
  }