@@ -18,6 +18,7 @@ export type DevOverlayPlugin = DevOverlayPluginDefinition & {
18
18
const WS_EVENT_NAME = 'astro-dev-toolbar' ;
19
19
const WS_EVENT_NAME_DEPRECATED = 'astro-dev-overlay' ;
20
20
const HOVER_DELAY = 2 * 1000 ;
21
+ const DEVBAR_HITBOX_ABOVE = 42 ;
21
22
22
23
export class AstroDevOverlay extends HTMLElement {
23
24
shadowRoot : ShadowRoot ;
@@ -80,7 +81,7 @@ export class AstroDevOverlay extends HTMLElement {
80
81
pointer-events: auto;
81
82
}
82
83
#dev-bar-hitbox-above {
83
- height: 42px ;
84
+ height: ${ DEVBAR_HITBOX_ABOVE } px ;
84
85
}
85
86
#dev-bar-hitbox-below {
86
87
height: 16px;
@@ -149,7 +150,7 @@ export class AstroDevOverlay extends HTMLElement {
149
150
border-radius: 4px;
150
151
padding: 4px 8px;
151
152
position: absolute;
152
- top: 4px ;
153
+ top: ${ 4 - DEVBAR_HITBOX_ABOVE } px ;
153
154
font-size: 14px;
154
155
opacity: 0;
155
156
transition: opacity 0.2s ease-in-out 0s;
@@ -492,16 +493,20 @@ export class AstroDevOverlay extends HTMLElement {
492
493
setOverlayVisible ( newStatus : boolean ) {
493
494
const barContainer = this . shadowRoot . querySelector < HTMLDivElement > ( '#bar-container' ) ;
494
495
const devBar = this . shadowRoot . querySelector < HTMLDivElement > ( '#dev-bar' ) ;
496
+ const devBarHitboxAbove =
497
+ this . shadowRoot . querySelector < HTMLDivElement > ( '#dev-bar-hitbox-above' ) ;
495
498
if ( newStatus === true ) {
496
499
this . devOverlay ?. removeAttribute ( 'data-hidden' ) ;
497
500
barContainer ?. removeAttribute ( 'inert' ) ;
498
501
devBar ?. removeAttribute ( 'tabindex' ) ;
502
+ if ( devBarHitboxAbove ) devBarHitboxAbove . style . height = '0' ;
499
503
return ;
500
504
}
501
505
if ( newStatus === false ) {
502
506
this . devOverlay ?. setAttribute ( 'data-hidden' , '' ) ;
503
507
barContainer ?. setAttribute ( 'inert' , '' ) ;
504
508
devBar ?. setAttribute ( 'tabindex' , '0' ) ;
509
+ if ( devBarHitboxAbove ) devBarHitboxAbove . style . height = `${ DEVBAR_HITBOX_ABOVE } px` ;
505
510
return ;
506
511
}
507
512
}
0 commit comments