/** * WordPress dependencies */ import { __ } from '@wordpress/i18n'; import { useEffect, useRef } from '@wordpress/element'; import { Icon, close, help } from '@wordpress/icons'; const Help = () => { const toggleRef = useRef< HTMLButtonElement >( null ); const bubbleRef = useRef< HTMLDivElement >( null ); const closeRef = useRef< HTMLButtonElement >( null ); useEffect( () => { const toggle = toggleRef.current; const bubble = bubbleRef.current; const closeButton = closeRef.current; if ( ! toggle || ! bubble || ! closeButton ) { return; } toggle.popoverTargetElement = bubble; closeButton.popoverTargetElement = bubble; closeButton.popoverTargetAction = 'hide'; const onToggle = ( event: ToggleEvent ) => { if ( event.newState === 'open' ) { bubble.focus(); } }; bubble.addEventListener( 'toggle', onToggle ); return () => bubble.removeEventListener( 'toggle', onToggle ); }, [] ); return ( <>