@wordpress/block-editor
Version:
49 lines (40 loc) • 1.39 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = BlockControlsFill;
var _element = require("@wordpress/element");
var _components = require("@wordpress/components");
var _hook = _interopRequireDefault(require("./hook"));
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
function BlockControlsFill({
group = 'default',
controls,
children,
__experimentalShareWithChildBlocks = false
}) {
const Fill = (0, _hook.default)(group, __experimentalShareWithChildBlocks);
if (!Fill) {
return null;
}
const innerMarkup = (0, _element.createElement)(_element.Fragment, null, group === 'default' && (0, _element.createElement)(_components.ToolbarGroup, {
controls: controls
}), children);
return (0, _element.createElement)(_components.__experimentalStyleProvider, {
document: document
}, (0, _element.createElement)(Fill, null, fillProps => {
// `fillProps.forwardedContext` is an array of context provider entries, provided by slot,
// that should wrap the fill markup.
const {
forwardedContext = []
} = fillProps;
return forwardedContext.reduce((inner, [Provider, props]) => (0, _element.createElement)(Provider, props, inner), innerMarkup);
}));
}
//# sourceMappingURL=fill.js.map