@wordpress/block-library
Version:
Block library for the WordPress editor.
49 lines (42 loc) • 1.45 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = TemplatePartInnerBlocks;
var _element = require("@wordpress/element");
var _coreData = require("@wordpress/core-data");
var _blockEditor = require("@wordpress/block-editor");
var _data = require("@wordpress/data");
/**
* WordPress dependencies
*/
function TemplatePartInnerBlocks(_ref) {
let {
postId: id,
hasInnerBlocks,
layout,
tagName: TagName,
blockProps
} = _ref;
const themeSupportsLayout = (0, _data.useSelect)(select => {
var _getSettings;
const {
getSettings
} = select(_blockEditor.store);
return (_getSettings = getSettings()) === null || _getSettings === void 0 ? void 0 : _getSettings.supportsLayout;
}, []);
const defaultLayout = (0, _blockEditor.useSetting)('layout') || {};
const usedLayout = !!layout && layout.inherit ? defaultLayout : layout;
const [blocks, onInput, onChange] = (0, _coreData.useEntityBlockEditor)('postType', 'wp_template_part', {
id
});
const innerBlocksProps = (0, _blockEditor.useInnerBlocksProps)(blockProps, {
value: blocks,
onInput,
onChange,
renderAppender: hasInnerBlocks ? undefined : _blockEditor.InnerBlocks.ButtonBlockAppender,
__experimentalLayout: themeSupportsLayout ? usedLayout : undefined
});
return (0, _element.createElement)(TagName, innerBlocksProps);
}
//# sourceMappingURL=inner-blocks.js.map
;