UNPKG

@wordpress/block-editor

Version:
42 lines (38 loc) 1.21 kB
import { createElement } from "@wordpress/element"; /** * External dependencies */ import { isEmpty } from 'lodash'; /** * WordPress dependencies */ import { __experimentalStyleProvider as StyleProvider, __experimentalToolbarContext as ToolbarContext, ToolbarGroup } from '@wordpress/components'; /** * Internal dependencies */ import useDisplayBlockControls from '../use-display-block-controls'; import groups from './groups'; export default function BlockControlsFill({ group = 'default', controls, children }) { if (!useDisplayBlockControls()) { return null; } const Fill = groups[group].Fill; return createElement(StyleProvider, { document: document }, createElement(Fill, null, fillProps => { // Children passed to BlockControlsFill will not have access to any // React Context whose Provider is part of the BlockControlsSlot tree. // So we re-create the Provider in this subtree. const value = !isEmpty(fillProps) ? fillProps : null; return createElement(ToolbarContext.Provider, { value: value }, group === 'default' && createElement(ToolbarGroup, { controls: controls }), children); })); } //# sourceMappingURL=fill.js.map