@@ -30,8 +30,6 @@ export const gridStyles = css`
30
30
- - _bor der- width: 0;
31
31
- - _row- bor der- width: var(- - vaadin- grid- cell- bor der- width, 1px);
32
32
- - _column- bor der- width: var(- - vaadin- grid- cell- bor der- width, 0);
33
- - - _cell- padding: var(- - vaadin- grid- cell- padding, var (- - vaadin- padding- container));
34
- - - _selection- background- image: none;
35
33
bor der- radius: var(- - _bor der- radius);
36
34
- - _bor der- radius: 0;
37
35
}
@@ -153,27 +151,35 @@ export const gridStyles = css`
153
151
[part ~= 'cell' ] {
154
152
padding : 0 ;
155
153
box-sizing : border-box;
154
+ background : var (--vaadin-grid-cell-background , var (--vaadin-background-color ));
156
155
}
157
156
158
157
[part ~= 'row' ],
159
158
[part ~= 'cell' ] {
160
159
--_hover-background-image : var (--vaadin-grid-cell-background-hover , none);
161
- background :
162
- var (--_hover-background-image ), var (--_selection-background-image ),
163
- var (--vaadin-grid-cell-background , var (--vaadin-background-color ));
164
160
}
165
161
166
- [part ~= 'cell' ]: not ([part ~= 'details-cell' ]) {
162
+ [part ~= 'cell' ]: where ( : not ([part ~= 'details-cell' ]) ) {
167
163
flex-shrink : 0 ;
168
164
flex-grow : 1 ;
169
- box-sizing : border-box;
170
165
display : flex;
171
166
width : 100% ;
172
167
position : relative;
173
168
align-items : center;
174
169
white-space : nowrap;
175
170
}
176
171
172
+ [part ~= 'body-cell' ]: where (: not ([part ~= 'details-cell' ])) {
173
+ --_highlight-background-color : var (--vaadin-grid-row-highlight-background-color , transparent);
174
+ --_highlight-background-image : linear-gradient (
175
+ var (--_highlight-background-color ),
176
+ var (--_highlight-background-color )
177
+ );
178
+ background :
179
+ var (--_hover-background-image , none), var (--_selected-background-image , none), var (--_highlight-background-image ),
180
+ var (--vaadin-grid-cell-background-color , var (--vaadin-background-color ));
181
+ }
182
+
177
183
: focus- vis ible,
178
184
[part ~= 'row' ]::after {
179
185
outline : var (--vaadin-focus-ring-width ) solid var (--vaadin-focus-ring-color );
@@ -240,14 +246,25 @@ export const gridStyles = css`
240
246
}
241
247
242
248
/* Variant: row stripes */
243
- : host ([theme ~= 'row-stripes' ]) [part ~= 'odd-row' ],
244
- : host ([theme ~= 'row-stripes' ]) [part~= 'odd-row' ] [part ~= 'cell' ] {
245
- --vaadin-grid-cell-background : var (
246
- --vaadin-grid-odd-row-cell-background ,
247
- linear-gradient (var (--vaadin-background-container ), var (--vaadin-background-container ))
249
+ [part ~= 'odd-row' ] {
250
+ --vaadin-grid-cell-background-color : var (--vaadin-grid-row-odd-background-color , var (--vaadin-background-color ));
251
+ }
252
+
253
+ : host ([theme ~= 'row-stripes' ]) [part ~= 'odd-row' ] {
254
+ --vaadin-grid-cell-background-color : var (
255
+ --vaadin-grid-row-odd-background-color ,
256
+ color-mix (in srgb, var (--vaadin-text-color ) 4% , var (--vaadin-background-color ))
248
257
);
249
258
}
250
259
260
+ /* Row hover */
261
+ @media (any-hover : hover) {
262
+ [part ~= 'body-row' ]: hover [part ~= 'cell' ]: where (: not ([part ~= 'details-cell' ])) {
263
+ --_hover-background-color : var (--vaadin-grid-row-hover-background-color , transparent);
264
+ --_hover-background-image : linear-gradient (var (--_hover-background-color ), var (--_hover-background-color ));
265
+ }
266
+ }
267
+
251
268
[part ~= 'details-cell' ] {
252
269
position : absolute;
253
270
bottom : 0 ;
@@ -258,7 +275,7 @@ export const gridStyles = css`
258
275
display : block;
259
276
overflow : hidden;
260
277
text-overflow : ellipsis;
261
- padding : var (--_cell- padding );
278
+ padding : var (--vaadin-grid-cell- padding , var ( --vaadin-padding-container ) );
262
279
flex : 1 ;
263
280
min-width : 0 ;
264
281
}
@@ -270,12 +287,12 @@ export const gridStyles = css`
270
287
}
271
288
272
289
/* Selected row */
273
- [part ~= 'row' ][selected ] [part ~= 'body-cell' ]: not ([part ~= 'details-cell' ]) {
274
- --_color : color-mix (in srgb, currentColor 8% , transparent);
275
- --_selection-background-image : var (
276
- --vaadin-grid-row-selected-background ,
277
- linear-gradient (var (--_color ), var (--_color ))
290
+ [part ~= 'body-row' ][selected ] {
291
+ --_selected-background-color : var (
292
+ --vaadin-grid-row-selected-background-color ,
293
+ color-mix (in srgb, currentColor 8% , transparent)
278
294
);
295
+ --_selected-background-image : linear-gradient (var (--_selected-background-color ), var (--_selected-background-color ));
279
296
}
280
297
281
298
/* Empty state */
@@ -301,7 +318,7 @@ export const gridStyles = css`
301
318
display : block;
302
319
flex : 1 ;
303
320
overflow : auto;
304
- padding : var (--_cell- padding );
321
+ padding : var (--vaadin-grid-cell- padding , var ( --vaadin-padding-container ) );
305
322
}
306
323
307
324
/* Reordering styles */
@@ -318,7 +335,7 @@ export const gridStyles = css`
318
335
box-shadow :
319
336
0 0 0 1px hsla (0deg , 0% , 0% , 0.2 ),
320
337
0 8px 24px -2px hsla (0deg , 0% , 0% , 0.2 );
321
- padding : var (--_cell- padding ) !important ;
338
+ padding : var (--vaadin-grid-cell- padding , var ( --vaadin-padding-container ) ) !important ;
322
339
border-radius : 3px ;
323
340
324
341
/* Prevent overflowing the grid in Firefox */
0 commit comments