@lobehub/editor 1.15.0 → 1.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -63,104 +63,104 @@ function convertMdastToLexical(node, index, ctx) {
|
|
|
63
63
|
}
|
|
64
64
|
default:
|
|
65
65
|
{
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
return ret;
|
|
87
|
-
}
|
|
66
|
+
var _children = [];
|
|
67
|
+
if ('children' in node && Array.isArray(node.children)) {
|
|
68
|
+
var htmlStack = []; // 当前循环是否包含 HTML 标签
|
|
69
|
+
_children = node.children.reduce(function (ret, child, index) {
|
|
70
|
+
if (child.type === 'html') {
|
|
71
|
+
var tag = child.value.replaceAll(/^<\/?|>$/g, '');
|
|
72
|
+
var isEndTag = child.value.startsWith('</');
|
|
73
|
+
if (selfClosingHtmlTags.has(tag)) {
|
|
74
|
+
// Self-closing tag
|
|
75
|
+
var reader = markdownReaders['html'];
|
|
76
|
+
if (Array.isArray(reader)) {
|
|
77
|
+
var _iterator = _createForOfIteratorHelper(reader),
|
|
78
|
+
_step;
|
|
79
|
+
try {
|
|
80
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
81
|
+
var element = _step.value;
|
|
82
|
+
var inode = element(child, [], index);
|
|
83
|
+
if (inode) {
|
|
84
|
+
ret.push(inode);
|
|
85
|
+
return ret;
|
|
88
86
|
}
|
|
89
|
-
} catch (err) {
|
|
90
|
-
_iterator.e(err);
|
|
91
|
-
} finally {
|
|
92
|
-
_iterator.f();
|
|
93
|
-
}
|
|
94
|
-
} else if (typeof _reader === 'function') {
|
|
95
|
-
var _inode = _reader(child, [], index);
|
|
96
|
-
if (_inode) {
|
|
97
|
-
ret.push(_inode);
|
|
98
|
-
return ret;
|
|
99
87
|
}
|
|
88
|
+
} catch (err) {
|
|
89
|
+
_iterator.e(err);
|
|
90
|
+
} finally {
|
|
91
|
+
_iterator.f();
|
|
100
92
|
}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
htmlStack.pop();
|
|
106
|
-
if ((top === null || top === void 0 ? void 0 : top.tag) !== tag) {
|
|
107
|
-
logger.warn('HTML tag mismatch:', tag);
|
|
108
|
-
ret.push.apply(ret, _toConsumableArray((top === null || top === void 0 ? void 0 : top.children) || []));
|
|
93
|
+
} else if (typeof reader === 'function') {
|
|
94
|
+
var _inode = reader(child, [], index);
|
|
95
|
+
if (_inode) {
|
|
96
|
+
ret.push(_inode);
|
|
109
97
|
return ret;
|
|
110
98
|
}
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
99
|
+
}
|
|
100
|
+
return ret;
|
|
101
|
+
}
|
|
102
|
+
if (isEndTag) {
|
|
103
|
+
var top = ctx.pop();
|
|
104
|
+
htmlStack.pop();
|
|
105
|
+
if ((top === null || top === void 0 ? void 0 : top.tag) !== tag) {
|
|
106
|
+
logger.warn('HTML tag mismatch:', tag);
|
|
107
|
+
ret.push.apply(ret, _toConsumableArray((top === null || top === void 0 ? void 0 : top.children) || []));
|
|
108
|
+
return ret;
|
|
109
|
+
}
|
|
110
|
+
var _reader = markdownReaders['html'];
|
|
111
|
+
var _children2 = top.children.flat().filter(Boolean) || [];
|
|
112
|
+
if (Array.isArray(_reader)) {
|
|
113
|
+
var _iterator2 = _createForOfIteratorHelper(_reader),
|
|
114
|
+
_step2;
|
|
115
|
+
try {
|
|
116
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
117
|
+
var _element = _step2.value;
|
|
118
|
+
var _inode2 = _element(top.node, _children2, index);
|
|
119
|
+
if (_inode2) {
|
|
120
|
+
ret.push(_inode2);
|
|
121
|
+
return ret;
|
|
124
122
|
}
|
|
125
|
-
} catch (err) {
|
|
126
|
-
_iterator2.e(err);
|
|
127
|
-
} finally {
|
|
128
|
-
_iterator2.f();
|
|
129
|
-
}
|
|
130
|
-
} else if (typeof _reader2 === 'function') {
|
|
131
|
-
var _inode3 = _reader2(top.node, _children2, index);
|
|
132
|
-
if (_inode3) {
|
|
133
|
-
ret.push(_inode3);
|
|
134
|
-
return ret;
|
|
135
123
|
}
|
|
124
|
+
} catch (err) {
|
|
125
|
+
_iterator2.e(err);
|
|
126
|
+
} finally {
|
|
127
|
+
_iterator2.f();
|
|
136
128
|
}
|
|
137
|
-
|
|
138
|
-
|
|
129
|
+
} else if (typeof _reader === 'function') {
|
|
130
|
+
var _inode3 = _reader(top.node, _children2, index);
|
|
131
|
+
if (_inode3) {
|
|
132
|
+
ret.push(_inode3);
|
|
133
|
+
return ret;
|
|
139
134
|
}
|
|
140
|
-
return ret;
|
|
141
135
|
}
|
|
142
|
-
|
|
143
|
-
children
|
|
144
|
-
index: index,
|
|
145
|
-
isEndTag: isEndTag,
|
|
146
|
-
node: child,
|
|
147
|
-
tag: tag
|
|
148
|
-
};
|
|
149
|
-
htmlStack.push(htmlStackItem);
|
|
150
|
-
ctx.push(htmlStackItem);
|
|
151
|
-
return ret;
|
|
152
|
-
}
|
|
153
|
-
if (htmlStack.length > 0) {
|
|
154
|
-
var _top = ctx.last;
|
|
155
|
-
if (_top) {
|
|
156
|
-
_top.children.push(convertMdastToLexical(child, index, ctx, markdownReaders));
|
|
136
|
+
if (top) {
|
|
137
|
+
ret.push.apply(ret, _toConsumableArray(top.children));
|
|
157
138
|
}
|
|
158
139
|
return ret;
|
|
159
140
|
}
|
|
160
|
-
|
|
141
|
+
var htmlStackItem = {
|
|
142
|
+
children: [],
|
|
143
|
+
index: index,
|
|
144
|
+
isEndTag: isEndTag,
|
|
145
|
+
node: child,
|
|
146
|
+
tag: tag
|
|
147
|
+
};
|
|
148
|
+
htmlStack.push(htmlStackItem);
|
|
149
|
+
ctx.push(htmlStackItem);
|
|
161
150
|
return ret;
|
|
162
|
-
}
|
|
163
|
-
|
|
151
|
+
}
|
|
152
|
+
if (htmlStack.length > 0) {
|
|
153
|
+
var _top = ctx.last;
|
|
154
|
+
if (_top) {
|
|
155
|
+
_top.children.push(convertMdastToLexical(child, index, ctx, markdownReaders));
|
|
156
|
+
}
|
|
157
|
+
return ret;
|
|
158
|
+
}
|
|
159
|
+
ret.push(convertMdastToLexical(child, index, ctx, markdownReaders));
|
|
160
|
+
return ret;
|
|
161
|
+
}, []).filter(Boolean).flat();
|
|
162
|
+
}
|
|
163
|
+
if (markdownReaders[node.type]) {
|
|
164
164
|
var reader = markdownReaders[node.type];
|
|
165
165
|
if (Array.isArray(reader)) {
|
|
166
166
|
var _iterator3 = _createForOfIteratorHelper(reader),
|
|
@@ -187,7 +187,7 @@ function convertMdastToLexical(node, index, ctx) {
|
|
|
187
187
|
}
|
|
188
188
|
|
|
189
189
|
// Fallback for unsupported nodes
|
|
190
|
-
return null;
|
|
190
|
+
return _children || null;
|
|
191
191
|
}
|
|
192
192
|
}
|
|
193
193
|
}
|
package/package.json
CHANGED