@wordpress/block-library
Version:
Block library for the WordPress editor.
54 lines (49 loc) • 1.54 kB
JavaScript
import { createElement } from "@wordpress/element";
/**
* WordPress dependencies
*/
import { __ } from '@wordpress/i18n';
import { useContext, useState } from '@wordpress/element';
import { BlockControls, PlainText, useBlockProps } from '@wordpress/block-editor';
import { ToolbarButton, Disabled, ToolbarGroup } from '@wordpress/components';
/**
* Internal dependencies
*/
import Preview from './preview';
export default function HTMLEdit(_ref) {
let {
attributes,
setAttributes,
isSelected
} = _ref;
const [isPreview, setIsPreview] = useState();
const isDisabled = useContext(Disabled.Context);
function switchToPreview() {
setIsPreview(true);
}
function switchToHTML() {
setIsPreview(false);
}
return createElement("div", useBlockProps({
className: 'block-library-html__edit'
}), createElement(BlockControls, null, createElement(ToolbarGroup, null, createElement(ToolbarButton, {
className: "components-tab-button",
isPressed: !isPreview,
onClick: switchToHTML
}, "HTML"), createElement(ToolbarButton, {
className: "components-tab-button",
isPressed: isPreview,
onClick: switchToPreview
}, __('Preview')))), isPreview || isDisabled ? createElement(Preview, {
content: attributes.content,
isSelected: isSelected
}) : createElement(PlainText, {
value: attributes.content,
onChange: content => setAttributes({
content
}),
placeholder: __('Write HTML…'),
"aria-label": __('HTML')
}));
}
//# sourceMappingURL=edit.js.map