@wordpress/block-editor
Version:
34 lines (29 loc) • 750 B
JavaScript
/**
* WordPress dependencies
*/
import { useContext } from '@wordpress/element';
import {
__experimentalToolbarContext as ToolbarContext,
ToolbarGroup,
} from '@wordpress/components';
/**
* Internal dependencies
*/
import groups from './groups';
export default function BlockControlsSlot( { group = 'default', ...props } ) {
const accessibleToolbarState = useContext( ToolbarContext );
const Slot = groups[ group ].Slot;
if ( group === 'default' ) {
return <Slot { ...props } fillProps={ accessibleToolbarState } />;
}
return (
<Slot { ...props } fillProps={ accessibleToolbarState }>
{ ( fills ) => {
if ( ! fills.length ) {
return null;
}
return <ToolbarGroup>{ fills }</ToolbarGroup>;
} }
</Slot>
);
}