@wordpress/block-library
Version:
Block library for the WordPress editor.
89 lines (85 loc) • 2.7 kB
JavaScript
import { createElement } from "@wordpress/element";
/**
* Internal dependencies
*/
import HeadingToolbar from './heading-toolbar';
/**
* WordPress dependencies
*/
import { __ } from '@wordpress/i18n';
import { Fragment } from '@wordpress/element';
import { PanelBody } from '@wordpress/components';
import { createBlock } from '@wordpress/blocks';
import { RichText, BlockControls, InspectorControls, AlignmentToolbar } from '@wordpress/block-editor';
export default function HeadingEdit(_ref) {
var attributes = _ref.attributes,
setAttributes = _ref.setAttributes,
mergeBlocks = _ref.mergeBlocks,
insertBlocksAfter = _ref.insertBlocksAfter,
onReplace = _ref.onReplace,
className = _ref.className;
var align = attributes.align,
content = attributes.content,
level = attributes.level,
placeholder = attributes.placeholder;
var tagName = 'h' + level;
return createElement(Fragment, null, createElement(BlockControls, null, createElement(HeadingToolbar, {
minLevel: 2,
maxLevel: 5,
selectedLevel: level,
onChange: function onChange(newLevel) {
return setAttributes({
level: newLevel
});
}
})), createElement(InspectorControls, null, createElement(PanelBody, {
title: __('Heading Settings')
}, createElement("p", null, __('Level')), createElement(HeadingToolbar, {
minLevel: 1,
maxLevel: 7,
selectedLevel: level,
onChange: function onChange(newLevel) {
return setAttributes({
level: newLevel
});
}
}), createElement("p", null, __('Text Alignment')), createElement(AlignmentToolbar, {
value: align,
onChange: function onChange(nextAlign) {
setAttributes({
align: nextAlign
});
}
}))), createElement(RichText, {
identifier: "content",
wrapperClassName: "wp-block-heading",
tagName: tagName,
value: content,
onChange: function onChange(value) {
return setAttributes({
content: value
});
},
onMerge: mergeBlocks,
unstableOnSplit: insertBlocksAfter ? function (before, after) {
setAttributes({
content: before
});
for (var _len = arguments.length, blocks = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
blocks[_key - 2] = arguments[_key];
}
insertBlocksAfter([].concat(blocks, [createBlock('core/paragraph', {
content: after
})]));
} : undefined,
onRemove: function onRemove() {
return onReplace([]);
},
style: {
textAlign: align
},
className: className,
placeholder: placeholder || __('Write heading…')
}));
}
//# sourceMappingURL=edit.js.map