@gechiui/block-editor
Version:
51 lines (40 loc) • 1.37 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = BlockControlsSlot;
var _element = require("@gechiui/element");
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _components = require("@gechiui/components");
var _groups = _interopRequireDefault(require("./groups"));
/**
* GeChiUI dependencies
*/
/**
* Internal dependencies
*/
function BlockControlsSlot(_ref) {
let {
group = 'default',
...props
} = _ref;
const accessibleToolbarState = (0, _element.useContext)(_components.__experimentalToolbarContext);
const Slot = _groups.default[group].Slot;
const slot = (0, _components.__experimentalUseSlot)(Slot.__unstableName);
const hasFills = Boolean(slot.fills && slot.fills.length);
if (!hasFills) {
return null;
}
if (group === 'default') {
return (0, _element.createElement)(Slot, (0, _extends2.default)({}, props, {
bubblesVirtually: true,
fillProps: accessibleToolbarState
}));
}
return (0, _element.createElement)(_components.ToolbarGroup, null, (0, _element.createElement)(Slot, (0, _extends2.default)({}, props, {
bubblesVirtually: true,
fillProps: accessibleToolbarState
})));
}
//# sourceMappingURL=slot.js.map