diff --git a/packages/block-editor/src/components/inserter/menu.js b/packages/block-editor/src/components/inserter/menu.js index a6b23c124e5813..40a2be3f79149f 100644 --- a/packages/block-editor/src/components/inserter/menu.js +++ b/packages/block-editor/src/components/inserter/menu.js @@ -262,10 +262,13 @@ export class InserterMenu extends Component { openPanels, reusableItems, suggestedItems, + filterValue, } = this.state; + const isPanelOpen = ( panel ) => openPanels.indexOf( panel ) !== -1; - const hasItems = isEmpty( suggestedItems ) && isEmpty( reusableItems ) && isEmpty( itemsPerCategory ); + const hasItems = ! isEmpty( suggestedItems ) || ! isEmpty( reusableItems ) || ! isEmpty( itemsPerCategory ); const hoveredItemBlockType = hoveredItem ? getBlockType( hoveredItem.name ) : null; + const hasHelpPanel = hasItems && showInserterHelpPanel; // Disable reason (no-autofocus): The inserter menu is a modal display, not one which // is always visible, and one which already incurs this behavior of autoFocus via @@ -276,7 +279,7 @@ export class InserterMenu extends Component { return (
@@ -370,7 +373,7 @@ export class InserterMenu extends Component { if ( fills.length ) { return fills; } - if ( hasItems ) { + if ( ! hasItems ) { return (

{ __( 'No blocks found.' ) }

); @@ -381,7 +384,7 @@ export class InserterMenu extends Component {
- { showInserterHelpPanel && ( + { hasHelpPanel && (
{ hoveredItem && ( <> diff --git a/packages/editor/src/components/inserter-menu-downloadable-blocks-panel/index.js b/packages/editor/src/components/inserter-menu-downloadable-blocks-panel/index.js index d61db3fabffb0d..d19d76ba42ad84 100644 --- a/packages/editor/src/components/inserter-menu-downloadable-blocks-panel/index.js +++ b/packages/editor/src/components/inserter-menu-downloadable-blocks-panel/index.js @@ -19,7 +19,7 @@ function InserterMenuDownloadableBlocksPanel() { <__experimentalInserterMenuExtension> { ( { onSelect, onHover, filterValue, hasItems } ) => { - if ( ! hasItems ) { + if ( hasItems || ! filterValue ) { return null; }