@gechiui/block-editor
Version:
53 lines (45 loc) • 1.55 kB
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
import { createElement } from "@gechiui/element";
/**
* GeChiUI dependencies
*/
import { __experimentalUseSlot as useSlot } from '@gechiui/components';
import warning from '@gechiui/warning';
/**
* Internal dependencies
*/
import BlockSupportToolsPanel from './block-support-tools-panel';
import BlockSupportSlotContainer from './block-support-slot-container';
import groups from './groups';
export default function InspectorControlsSlot(_ref) {
var _groups$group;
let {
__experimentalGroup: group = 'default',
bubblesVirtually = true,
label,
...props
} = _ref;
const Slot = (_groups$group = groups[group]) === null || _groups$group === void 0 ? void 0 : _groups$group.Slot;
const slot = useSlot(Slot === null || Slot === void 0 ? void 0 : Slot.__unstableName);
if (!Slot || !slot) {
typeof process !== "undefined" && process.env && process.env.NODE_ENV !== "production" ? warning(`Unknown InspectorControl group "${group}" provided.`) : void 0;
return null;
}
const hasFills = Boolean(slot.fills && slot.fills.length);
if (!hasFills) {
return null;
}
if (label) {
return createElement(BlockSupportToolsPanel, {
group: group,
label: label
}, createElement(BlockSupportSlotContainer, _extends({}, props, {
bubblesVirtually: bubblesVirtually,
Slot: Slot
})));
}
return createElement(Slot, _extends({}, props, {
bubblesVirtually: bubblesVirtually
}));
}
//# sourceMappingURL=slot.js.map