@gechiui/block-editor
Version:
56 lines (45 loc) • 1.48 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = BlockControlsFill;
var _element = require("@gechiui/element");
var _lodash = require("lodash");
var _components = require("@gechiui/components");
var _hook = _interopRequireDefault(require("./hook"));
/**
* External dependencies
*/
/**
* GeChiUI dependencies
*/
/**
* Internal dependencies
*/
function BlockControlsFill(_ref) {
let {
group = 'default',
controls,
children,
__experimentalShareWithChildBlocks = false
} = _ref;
const Fill = (0, _hook.default)(group, __experimentalShareWithChildBlocks);
if (!Fill) {
return null;
}
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