@wordpress/block-editor
Version:
55 lines (44 loc) • 1.51 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = BlockControlsFill;
var _element = require("@wordpress/element");
var _lodash = require("lodash");
var _components = require("@wordpress/components");
var _useDisplayBlockControls = _interopRequireDefault(require("../use-display-block-controls"));
var _groups = _interopRequireDefault(require("./groups"));
/**
* External dependencies
*/
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
function BlockControlsFill({
group = 'default',
controls,
children
}) {
if (!(0, _useDisplayBlockControls.default)()) {
return null;
}
const Fill = _groups.default[group].Fill;
return (0, _element.createElement)(_components.__experimentalStyleProvider, {
document: document
}, (0, _element.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 = !(0, _lodash.isEmpty)(fillProps) ? fillProps : null;
return (0, _element.createElement)(_components.__experimentalToolbarContext.Provider, {
value: value
}, group === 'default' && (0, _element.createElement)(_components.ToolbarGroup, {
controls: controls
}), children);
}));
}
//# sourceMappingURL=fill.js.map