@wordpress/block-editor
Version:
69 lines (66 loc) • 1.98 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = BlockListAppender;
var _data = require("@wordpress/data");
var _blocks = require("@wordpress/blocks");
var _defaultBlockAppender = _interopRequireDefault(require("../default-block-appender"));
var _style = _interopRequireDefault(require("./style.scss"));
var _store = require("../../store");
var _jsxRuntime = require("react/jsx-runtime");
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
function DefaultAppender({
rootClientId,
showSeparator
}) {
const {
blockClientIds,
canInsertDefaultBlock
} = (0, _data.useSelect)(select => {
const {
getBlockOrder,
canInsertBlockType
} = select(_store.store);
return {
blockClientIds: getBlockOrder(rootClientId),
canInsertDefaultBlock: canInsertBlockType((0, _blocks.getDefaultBlockName)(), rootClientId)
};
}, [rootClientId]);
if (!canInsertDefaultBlock) {
return null;
}
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_defaultBlockAppender.default, {
rootClientId: rootClientId,
lastBlockClientId: blockClientIds[blockClientIds.length - 1],
containerStyle: _style.default.blockListAppender,
placeholder: blockClientIds.length > 0 ? '' : null,
showSeparator: showSeparator
});
}
function BlockListAppender({
rootClientId,
renderAppender: CustomAppender,
showSeparator
}) {
const isLocked = (0, _data.useSelect)(select => !!select(_store.store).getTemplateLock(rootClientId), [rootClientId]);
if (isLocked) {
return null;
}
if (CustomAppender) {
return /*#__PURE__*/(0, _jsxRuntime.jsx)(CustomAppender, {
showSeparator: showSeparator
});
}
return /*#__PURE__*/(0, _jsxRuntime.jsx)(DefaultAppender, {
rootClientId: rootClientId,
showSeparator: showSeparator
});
}
//# sourceMappingURL=index.native.js.map
;