@gechiui/block-editor
Version:
40 lines (35 loc) • 1.1 kB
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
import { createElement } from "@gechiui/element";
/**
* GeChiUI dependencies
*/
import { useContext } from '@gechiui/element';
import { __experimentalToolbarContext as ToolbarContext, ToolbarGroup, __experimentalUseSlot as useSlot } from '@gechiui/components';
/**
* Internal dependencies
*/
import groups from './groups';
export default function BlockControlsSlot(_ref) {
let {
group = 'default',
...props
} = _ref;
const accessibleToolbarState = useContext(ToolbarContext);
const Slot = groups[group].Slot;
const slot = useSlot(Slot.__unstableName);
const hasFills = Boolean(slot.fills && slot.fills.length);
if (!hasFills) {
return null;
}
if (group === 'default') {
return createElement(Slot, _extends({}, props, {
bubblesVirtually: true,
fillProps: accessibleToolbarState
}));
}
return createElement(ToolbarGroup, null, createElement(Slot, _extends({}, props, {
bubblesVirtually: true,
fillProps: accessibleToolbarState
})));
}
//# sourceMappingURL=slot.js.map