@@ -45,7 +45,7 @@ import type {
4545 InspectedElementContextType ,
4646 StoreAsGlobal ,
4747} from './InspectedElementContext' ;
48- import type { Element , InspectedElement } from './types' ;
48+ import type { Element , InspectedElement , Owner } from './types' ;
4949import type { ElementType } from 'react-devtools-shared/src/types' ;
5050
5151export type Props = { || } ;
@@ -291,11 +291,13 @@ function InspectedElementView({
291291 hooks,
292292 owners,
293293 props,
294+ rendererPackageName,
295+ rendererVersion,
296+ rootType,
294297 source,
295298 state,
296299 } = inspectedElement ;
297300
298- const { ownerID} = useContext ( TreeStateContext ) ;
299301 const bridge = useContext ( BridgeContext ) ;
300302 const store = useContext ( StoreContext ) ;
301303
@@ -374,6 +376,14 @@ function InspectedElementView({
374376 } ;
375377 }
376378
379+ const rendererLabel =
380+ rendererPackageName !== null && rendererVersion !== null
381+ ? `${ rendererPackageName } @${ rendererVersion } `
382+ : null ;
383+ const showOwnersList = owners !== null && owners . length > 0 ;
384+ const showRenderedBy =
385+ showOwnersList || rendererLabel !== null || rootType !== null ;
386+
377387 return (
378388 < Fragment >
379389 < div className = { styles . InspectedElement } >
@@ -415,19 +425,26 @@ function InspectedElementView({
415425
416426 < NativeStyleEditor />
417427
418- { ownerID === null && owners !== null && owners . length > 0 && (
428+ { showRenderedBy && (
419429 < div className = { styles . Owners } >
420430 < div className = { styles . OwnersHeader } > rendered by</ div >
421- { owners . map ( owner => (
422- < OwnerView
423- key = { owner . id }
424- displayName = { owner . displayName || 'Anonymous' }
425- hocDisplayNames = { owner . hocDisplayNames }
426- id = { owner . id }
427- isInStore = { store . containsElement ( owner . id ) }
428- type = { owner . type }
429- />
430- ) ) }
431+ { showOwnersList &&
432+ ( ( owners : any ) : Array < Owner > ) . map ( owner => (
433+ < OwnerView
434+ key = { owner . id }
435+ displayName = { owner . displayName || 'Anonymous' }
436+ hocDisplayNames = { owner . hocDisplayNames }
437+ id = { owner . id }
438+ isInStore = { store . containsElement ( owner . id ) }
439+ type = { owner . type }
440+ />
441+ ) ) }
442+ { rootType !== null && (
443+ < div className = { styles . OwnersMetaField } > { rootType } </ div >
444+ ) }
445+ { rendererLabel !== null && (
446+ < div className = { styles . OwnersMetaField } > { rendererLabel } </ div >
447+ ) }
431448 </ div >
432449 ) }
433450
0 commit comments