/** * External dependencies */ import { Suspense } from '@wordpress/element'; import classnames from 'classnames'; import { Spinner } from '@woocommerce/components'; /** * Internal dependencies */ import useFocusOnMount from '../../hooks/useFocusOnMount'; import useFocusOutside from '../../hooks/useFocusOutside'; export const Panel = ( { content, isPanelOpen, currentTab, isPanelSwitching, tab, closePanel, clearPanel, } ) => { const handleFocusOutside = ( event ) => { const isClickOnModalOrSnackbar = event.target.closest( '.woocommerce-inbox-dismiss-confirmation_modal' ) || event.target.closest( '.components-snackbar__action' ); if ( isPanelOpen && ! isClickOnModalOrSnackbar ) { closePanel(); } }; const ref = useFocusOnMount(); const useFocusOutsideProps = useFocusOutside( handleFocusOutside ); if ( ! tab ) { return
; } if ( ! content ) { return null; } const classNames = classnames( 'woocommerce-layout__activity-panel-wrapper', { 'is-open': isPanelOpen, 'is-switching': isPanelSwitching, } ); return (