@gechiui/block-editor
Version:
55 lines (50 loc) • 1.96 kB
JavaScript
import { createElement } from "@gechiui/element";
/**
* GeChiUI dependencies
*/
import { isReusableBlock, createBlock, getBlockFromExample, getBlockType } from '@gechiui/blocks';
import { __ } from '@gechiui/i18n';
/**
* Internal dependencies
*/
import BlockCard from '../block-card';
import BlockPreview from '../block-preview';
function InserterPreviewPanel(_ref) {
var _hoveredItemBlockType, _hoveredItemBlockType2;
let {
item
} = _ref;
const {
name,
title,
icon,
description,
initialAttributes
} = item;
const hoveredItemBlockType = getBlockType(name);
const isReusable = isReusableBlock(item);
return createElement("div", {
className: "block-editor-inserter__preview-container"
}, createElement("div", {
className: "block-editor-inserter__preview"
}, isReusable || hoveredItemBlockType !== null && hoveredItemBlockType !== void 0 && hoveredItemBlockType.example ? createElement("div", {
className: "block-editor-inserter__preview-content"
}, createElement(BlockPreview, {
__experimentalPadding: 16,
viewportWidth: (_hoveredItemBlockType = (_hoveredItemBlockType2 = hoveredItemBlockType.example) === null || _hoveredItemBlockType2 === void 0 ? void 0 : _hoveredItemBlockType2.viewportWidth) !== null && _hoveredItemBlockType !== void 0 ? _hoveredItemBlockType : 500,
blocks: hoveredItemBlockType.example ? getBlockFromExample(item.name, {
attributes: { ...hoveredItemBlockType.example.attributes,
...initialAttributes
},
innerBlocks: hoveredItemBlockType.example.innerBlocks
}) : createBlock(name, initialAttributes)
})) : createElement("div", {
className: "block-editor-inserter__preview-content-missing"
}, __('没有可用的预览。'))), !isReusable && createElement(BlockCard, {
title: title,
icon: icon,
description: description
}));
}
export default InserterPreviewPanel;
//# sourceMappingURL=preview-panel.js.map