@wordpress/block-editor
Version:
48 lines (42 loc) • 1.5 kB
JavaScript
import { createElement } from "@wordpress/element";
/**
* WordPress dependencies
*/
import { Disabled } from '@wordpress/components';
import { useResizeObserver, pure } from '@wordpress/compose';
/**
* Internal dependencies
*/
import BlockList from '../block-list'; // This is used to avoid rendering the block list if the sizes change.
let MemoizedBlockList;
function AutoBlockPreview({
viewportWidth,
__experimentalPadding
}) {
const [containerResizeListener, {
width: containerWidth
}] = useResizeObserver();
const [containtResizeListener, {
height: contentHeight
}] = useResizeObserver(); // Initialize on render instead of module top level, to avoid circular dependency issues.
MemoizedBlockList = MemoizedBlockList || pure(BlockList);
const scale = (containerWidth - 2 * __experimentalPadding) / viewportWidth;
return createElement("div", {
className: "block-editor-block-preview__container editor-styles-wrapper",
"aria-hidden": true,
style: {
height: contentHeight * scale + 2 * __experimentalPadding
}
}, containerResizeListener, createElement(Disabled, {
style: {
transform: `scale(${scale})`,
width: viewportWidth,
left: __experimentalPadding,
right: __experimentalPadding,
top: __experimentalPadding
},
className: "block-editor-block-preview__content"
}, containtResizeListener, createElement(MemoizedBlockList, null)));
}
export default AutoBlockPreview;
//# sourceMappingURL=auto.js.map