@wordpress/block-editor
Version:
54 lines (49 loc) • 1.87 kB
JavaScript
import { createElement } from "@wordpress/element";
/**
* WordPress dependencies
*/
import { isReusableBlock, createBlock, getBlockFromExample, getBlockType } from '@wordpress/blocks';
import { __ } from '@wordpress/i18n';
/**
* Internal dependencies
*/
import BlockCard from '../block-card';
import BlockPreview from '../block-preview';
function InserterPreviewPanel({
item
}) {
var _hoveredItemBlockType, _hoveredItemBlockType2;
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.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"
}, __('No Preview Available.'))), !isReusable && createElement(BlockCard, {
title: title,
icon: icon,
description: description
}));
}
export default InserterPreviewPanel;
//# sourceMappingURL=preview-panel.js.map