@gechiui/block-editor
Version:
65 lines (50 loc) • 1.88 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = InspectorControlsFill;
var _element = require("@gechiui/element");
var _lodash = require("lodash");
var _components = require("@gechiui/components");
var _warning = _interopRequireDefault(require("@gechiui/warning"));
var _useDisplayBlockControls = _interopRequireDefault(require("../use-display-block-controls"));
var _groups = _interopRequireDefault(require("./groups"));
/**
* External dependencies
*/
/**
* GeChiUI dependencies
*/
/**
* Internal dependencies
*/
function InspectorControlsFill(_ref) {
var _groups$group;
let {
__experimentalGroup: group = 'default',
children
} = _ref;
const isDisplayed = (0, _useDisplayBlockControls.default)();
const Fill = (_groups$group = _groups.default[group]) === null || _groups$group === void 0 ? void 0 : _groups$group.Fill;
if (!Fill) {
typeof process !== "undefined" && process.env && process.env.NODE_ENV !== "production" ? (0, _warning.default)(`Unknown InspectorControl group "${group}" provided.`) : void 0;
return null;
}
if (!isDisplayed) {
return null;
}
return (0, _element.createElement)(_components.__experimentalStyleProvider, {
document: document
}, (0, _element.createElement)(Fill, null, fillProps => {
// Children passed to InspectorControlsFill will not have
// access to any React Context whose Provider is part of
// the InspectorControlsSlot tree. So we re-create the
// Provider in this subtree.
const value = !(0, _lodash.isEmpty)(fillProps) ? fillProps : null;
return (0, _element.createElement)(_components.__experimentalToolsPanelContext.Provider, {
value: value
}, children);
}));
}
//# sourceMappingURL=fill.js.map