UNPKG

4.02 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
5Object.defineProperty(exports, "__esModule", {
6 value: true
7});
8exports.default = void 0;
9
10var _element = require("@wordpress/element");
11
12var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
14var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
16var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
17
18var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
19
20var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
21
22var _headingToolbar = _interopRequireDefault(require("./heading-toolbar"));
23
24var _reactNative = require("react-native");
25
26var _i18n = require("@wordpress/i18n");
27
28var _blockEditor = require("@wordpress/block-editor");
29
30var _blocks = require("@wordpress/blocks");
31
32require("./editor.scss");
33
34/**
35 * Internal dependencies
36 */
37
38/**
39 * External dependencies
40 */
41
42/**
43 * WordPress dependencies
44 */
45
46/**
47 * Internal dependencies
48 */
49var minHeight = 24;
50
51var HeadingEdit =
52/*#__PURE__*/
53function (_Component) {
54 (0, _inherits2.default)(HeadingEdit, _Component);
55
56 function HeadingEdit(props) {
57 var _this;
58
59 (0, _classCallCheck2.default)(this, HeadingEdit);
60 _this = (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(HeadingEdit).call(this, props));
61 _this.state = {
62 aztecHeight: 0
63 };
64 return _this;
65 }
66
67 (0, _createClass2.default)(HeadingEdit, [{
68 key: "render",
69 value: function render() {
70 var _this2 = this;
71
72 var _this$props = this.props,
73 attributes = _this$props.attributes,
74 setAttributes = _this$props.setAttributes,
75 mergeBlocks = _this$props.mergeBlocks,
76 insertBlocksAfter = _this$props.insertBlocksAfter;
77 var level = attributes.level,
78 placeholder = attributes.placeholder,
79 content = attributes.content;
80 var tagName = 'h' + level;
81 return (0, _element.createElement)(_reactNative.View, null, (0, _element.createElement)(_blockEditor.BlockControls, null, (0, _element.createElement)(_headingToolbar.default, {
82 minLevel: 2,
83 maxLevel: 5,
84 selectedLevel: level,
85 onChange: function onChange(newLevel) {
86 return setAttributes({
87 level: newLevel
88 });
89 }
90 })), (0, _element.createElement)(_blockEditor.RichText, {
91 tagName: tagName,
92 value: content,
93 isSelected: this.props.isSelected,
94 onFocus: this.props.onFocus // always assign onFocus as a props
95 ,
96 onBlur: this.props.onBlur // always assign onBlur as a props
97 ,
98 onCaretVerticalPositionChange: this.props.onCaretVerticalPositionChange,
99 style: {
100 minHeight: Math.max(minHeight, this.state.aztecHeight)
101 },
102 onChange: function onChange(value) {
103 return setAttributes({
104 content: value
105 });
106 },
107 onMerge: mergeBlocks,
108 onSplit: insertBlocksAfter ? function (before, after) {
109 setAttributes({
110 content: before
111 });
112
113 for (var _len = arguments.length, blocks = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
114 blocks[_key - 2] = arguments[_key];
115 }
116
117 insertBlocksAfter([].concat(blocks, [(0, _blocks.createBlock)('core/paragraph', {
118 content: after
119 })]));
120 } : undefined,
121 onContentSizeChange: function onContentSizeChange(event) {
122 _this2.setState({
123 aztecHeight: event.aztecHeight
124 });
125 },
126 placeholder: placeholder || (0, _i18n.__)('Write heading…')
127 }));
128 }
129 }]);
130 return HeadingEdit;
131}(_element.Component);
132
133var _default = HeadingEdit;
134exports.default = _default;
135//# sourceMappingURL=edit.native.js.map
\No newline at end of file