@wordpress/block-editor
Version:
59 lines (58 loc) • 1.53 kB
JavaScript
/**
* WordPress dependencies
*/
import { __experimentalUseSlotFills as useSlotFills } from '@wordpress/components';
import warning from '@wordpress/warning';
import deprecated from '@wordpress/deprecated';
/**
* Internal dependencies
*/
import BlockSupportToolsPanel from './block-support-tools-panel';
import BlockSupportSlotContainer from './block-support-slot-container';
import groups from './groups';
import { jsx as _jsx } from "react/jsx-runtime";
export default function InspectorControlsSlot({
__experimentalGroup,
group = 'default',
label,
fillProps,
...props
}) {
if (__experimentalGroup) {
deprecated('`__experimentalGroup` property in `InspectorControlsSlot`', {
since: '6.2',
version: '6.4',
alternative: '`group`'
});
group = __experimentalGroup;
}
const slotFill = groups[group];
const fills = useSlotFills(slotFill?.name);
if (!slotFill) {
globalThis.SCRIPT_DEBUG === true ? warning(`Unknown InspectorControls group "${group}" provided.`) : void 0;
return null;
}
if (!fills?.length) {
return null;
}
const {
Slot
} = slotFill;
if (label) {
return /*#__PURE__*/_jsx(BlockSupportToolsPanel, {
group: group,
label: label,
children: /*#__PURE__*/_jsx(BlockSupportSlotContainer, {
...props,
fillProps: fillProps,
Slot: Slot
})
});
}
return /*#__PURE__*/_jsx(Slot, {
...props,
fillProps: fillProps,
bubblesVirtually: true
});
}
//# sourceMappingURL=slot.js.map