diff --git a/packages/block-editor/src/components/inserter/menu.js b/packages/block-editor/src/components/inserter/menu.js index e8e18b8973cf56..c062d974911908 100644 --- a/packages/block-editor/src/components/inserter/menu.js +++ b/packages/block-editor/src/components/inserter/menu.js @@ -168,6 +168,18 @@ function InserterMenu( const showMediaPanel = selectedTab === 'media' && !! selectedMediaCategory; + const [ isScrolled, setIsScrolled ] = useState( false ); + + const handleScroll = useCallback( ( event ) => { + const hasScrolled = event.target.scrollTop > 0; + setIsScrolled( ( prevIsScrolled ) => { + if ( hasScrolled !== prevIsScrolled ) { + return hasScrolled; + } + return prevIsScrolled; + } ); + }, [] ); + const inserterSearch = useMemo( () => { if ( selectedTab === 'media' ) { return null; @@ -176,7 +188,9 @@ function InserterMenu( return ( <> { if ( hoveredItem ) { setHoveredItem( null ); @@ -219,6 +233,7 @@ function InserterMenu( rootClientId, __experimentalInsertionIndex, isAppender, + isScrolled, ] ); const blocksTab = useMemo( () => { @@ -332,7 +347,10 @@ function InserterMenu( } ) } ref={ ref } > -
+