@@ -236,13 +236,6 @@ function SuspenseRects({
236236 < span > { suspense . name } </ span >
237237 </ ScaledRect >
238238 ) : null }
239- { selected && visible ? (
240- < ScaledRect
241- className = { styles . SuspenseRectOutline }
242- rect = { boundingBox }
243- adjust = { true }
244- />
245- ) : null }
246239 </ ViewBox . Provider >
247240 </ ScaledRect >
248241 ) ;
@@ -514,6 +507,28 @@ function SuspenseRectsContainer({
514507 scaleRef . current = boundingBoxWidth ;
515508 } , [ boundingBoxWidth ] ) ;
516509
510+ let selectedBoundingBox = null ;
511+ let selectedEnvironment = null ;
512+ if ( isRootSelected ) {
513+ selectedBoundingBox = boundingBox ;
514+ selectedEnvironment = rootEnvironment ;
515+ } else if ( inspectedElementID !== null ) {
516+ const selectedSuspenseNode = store . getSuspenseByID ( inspectedElementID ) ;
517+ if (
518+ selectedSuspenseNode !== null &&
519+ ( selectedSuspenseNode . hasUniqueSuspenders || ! uniqueSuspendersOnly )
520+ ) {
521+ selectedBoundingBox = getBoundingBox ( selectedSuspenseNode . rects ) ;
522+ for ( let i = 0 ; i < timeline . length ; i ++ ) {
523+ const timelineStep = timeline [ i ] ;
524+ if ( timelineStep . id === inspectedElementID ) {
525+ selectedEnvironment = timelineStep . environment ;
526+ break ;
527+ }
528+ }
529+ }
530+ }
531+
517532 return (
518533 < div
519534 className = {
@@ -524,7 +539,6 @@ function SuspenseRectsContainer({
524539 }
525540 onClick = { handleClick }
526541 onDoubleClick = { handleDoubleClick }
527- data-highlighted = { isRootSelected }
528542 data-hovered = { isRootHovered } >
529543 < ViewBox . Provider value = { boundingBox } >
530544 < div
@@ -533,6 +547,18 @@ function SuspenseRectsContainer({
533547 { roots . map ( rootID => {
534548 return < SuspenseRectsRoot key = { rootID } rootID = { rootID } /> ;
535549 } ) }
550+ { selectedBoundingBox !== null ? (
551+ < ScaledRect
552+ className = {
553+ styles . SuspenseRectOutline +
554+ ( isRootSelected ? ' ' + styles . SuspenseRectOutlineRoot : '' ) +
555+ ' ' +
556+ getClassNameForEnvironment ( selectedEnvironment )
557+ }
558+ rect = { selectedBoundingBox }
559+ adjust = { true }
560+ />
561+ ) : null }
536562 </ div >
537563 </ ViewBox . Provider >
538564 </ div >
0 commit comments