@@ -175,7 +175,7 @@ export const gridStyles = css`
175175 }
176176
177177 : host ([overflow ~= 'bottom' ]) # table [has-footer ] # footer ::before ,
178- : host (: not ([overflow ~= 'top' ]): not ([ overflow ~= 'bottom' ]) ) # table [has-footer ] # footer ::before {
178+ : host (: not ([overflow ~= 'top' ])) # table [has-footer ] # footer ::before {
179179 content : '' ;
180180 inset-block-start : calc (var (--_row-border-width ) * -1 );
181181 }
@@ -203,8 +203,9 @@ export const gridStyles = css`
203203 }
204204
205205 # table [has-footer ] [part ~= 'last-row-cell' ],
206- # table [has-footer ] [part ~= 'last-row-cell' ] + [part ~= 'details-cell' ],
207- : host (: not ([overflow ~= 'bottom' ]): not ([overflow ~= 'top' ])) [part ~= 'last-row-cell' ] {
206+ # table [has-footer ] [part ~= 'last-row' ] [part ~= 'details-cell' ],
207+ : host (: not ([overflow ~= 'bottom' ]): not ([overflow ~= 'top' ])) [part ~= 'last-row-cell' ],
208+ : host (: not ([overflow ~= 'bottom' ]): not ([overflow ~= 'top' ])) [part ~= 'last-row' ] [part ~= 'details-cell' ] {
208209 border-block-end-style : solid;
209210 }
210211
@@ -249,9 +250,13 @@ export const gridStyles = css`
249250 }
250251
251252 /* Raise highlighted rows above others */
252- [part ~= 'row' ]: focus,
253- [part ~= 'row' ]: focus-within {
254- z-index : 3 ;
253+ [part ~= 'row' ],
254+ [part ~= 'frozen-cell' ],
255+ [part ~= 'frozen-to-end-cell' ] {
256+ & : focus ,
257+ & : focus-within {
258+ z-index : 3 ;
259+ }
255260 }
256261
257262 /* Row hover */
@@ -461,7 +466,7 @@ export const gridStyles = css`
461466 inset-block : calc (var (--_row-border-width ) * -1 );
462467 }
463468
464- [part ~= 'body -cell' ]::after {
469+ [part ~= 'cell' ] : where ( : not ([ part ~= 'details -cell' ])) ::after {
465470 inset-inline : calc (var (--_column-border-width ) * -1 );
466471 }
467472
@@ -478,22 +483,26 @@ export const gridStyles = css`
478483 transform : translateX (var (--_grid-horizontal-scroll-position ));
479484 }
480485
481- [part ~= 'first-row' ]::after ,
482- # header [part ~= 'row' ]: first- child::after ,
483- # header [part ~= 'row' ]: first- child [part ~= 'cell' ]::after ,
486+ [part ~= 'first-header-row-cell' ]::after ,
484487 # table : not ([has-header ]) [part ~= 'first-row-cell' ]::after {
485488 inset-block-start : 0 ;
486489 }
487490
491+ [part ~= 'first-footer-row' ]::after {
492+ inset-block-start : calc (var (--_row-border-width ) * -1 );
493+ }
494+
488495 [part ~= 'last-row' ]::after ,
489- # footer [part ~= 'row' ]: last- child::after ,
490- # footer [part ~= 'row' ]: last- child [part ~= 'cell' ]::after ,
491- : host ([overflow ~= 'top' ]) # table: not ([has - footer]) [part~= 'last-row-cell' ]::after {
496+ [part ~= 'last-footer-row' ]::after ,
497+ [part ~= 'last-footer-row-cell' ]::after {
492498 inset-block-end : 0 ;
493499 }
494500
495- # footer [part ~= 'row' ]: first-child ::after {
496- inset-block-start : calc (var (--_row-border-width ) * -1 );
501+ : host ([overflow ~= 'top' ]) # table : not ([has-footer ]) {
502+ [part ~= 'last-row' ] [part ~= 'details-cell' ]::after ,
503+ [part ~= 'last-row' ]: not ([part ~= 'details-opened-row' ]) [part ~= 'last-row-cell' ]::after {
504+ inset-block-end : 0 ;
505+ }
497506 }
498507
499508 : host ([navigating ]) [part ~= 'row' ]: focus,
0 commit comments