Skip to content

Commit 70cf9be

Browse files
committed
fix: restore div spacer for block void objects
1 parent 9994531 commit 70cf9be

3 files changed

Lines changed: 19 additions & 17 deletions

File tree

packages/editor/src/slate/react/components/object-node.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,10 @@ const ObjectNodeComponent = (props: {
5555
}
5656
}
5757

58+
const Tag = isInline ? 'span' : 'div'
59+
5860
const children = (
59-
<span
61+
<Tag
6062
data-slate-spacer
6163
style={{
6264
height: '0',
@@ -72,7 +74,7 @@ const ObjectNodeComponent = (props: {
7274
</span>
7375
</span>
7476
</span>
75-
</span>
77+
</Tag>
7678
)
7779

7880
return renderElement({

packages/editor/tests/container-rendering.test.tsx

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1098,15 +1098,15 @@ describe('gallery with void block objects', () => {
10981098
' data-block-type="object"',
10991099
'>',
11001100
// void spacer
1101-
'<span data-slate-spacer="true"',
1101+
'<div data-slate-spacer="true"',
11021102
' style="height: 0px; color: transparent; outline: none; position: absolute;"',
11031103
'>',
11041104
'<span data-slate-node="text">',
11051105
'<span data-slate-leaf="true">',
11061106
'<span data-slate-zero-width="z" data-slate-length="0">\uFEFF</span>',
11071107
'</span>',
1108-
'</span>',
1109-
'</span>',
1108+
'</div>',
1109+
'</div>',
11101110
// void content
11111111
'<div contenteditable="false" draggable="true">',
11121112
'<div>[image: img-0]</div>',
@@ -1122,15 +1122,15 @@ describe('gallery with void block objects', () => {
11221122
' data-block-type="object"',
11231123
'>',
11241124
// void spacer
1125-
'<span data-slate-spacer="true"',
1125+
'<div data-slate-spacer="true"',
11261126
' style="height: 0px; color: transparent; outline: none; position: absolute;"',
11271127
'>',
11281128
'<span data-slate-node="text">',
11291129
'<span data-slate-leaf="true">',
11301130
'<span data-slate-zero-width="z" data-slate-length="0">\uFEFF</span>',
11311131
'</span>',
1132-
'</span>',
1133-
'</span>',
1132+
'</div>',
1133+
'</div>',
11341134
// void content
11351135
'<div contenteditable="false" draggable="true">',
11361136
'<div>[image: img-1]</div>',
@@ -1340,15 +1340,15 @@ describe('cell with mixed content', () => {
13401340
' data-block-type="object"',
13411341
'>',
13421342
// void spacer
1343-
'<span data-slate-spacer="true"',
1343+
'<div data-slate-spacer="true"',
13441344
' style="height: 0px; color: transparent; outline: none; position: absolute;"',
13451345
'>',
13461346
'<span data-slate-node="text">',
13471347
'<span data-slate-leaf="true">',
13481348
'<span data-slate-zero-width="z" data-slate-length="0">\uFEFF</span>',
13491349
'</span>',
1350-
'</span>',
1351-
'</span>',
1350+
'</div>',
1351+
'</div>',
13521352
// void content
13531353
'<div contenteditable="false" draggable="true">',
13541354
'<div>[image: img-0]</div>',

packages/editor/tests/dom-structure.test.tsx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -196,14 +196,14 @@ describe('DOM structure', () => {
196196
' data-block-name="image"',
197197
' data-block-type="object">',
198198
// spacer
199-
'<span data-slate-spacer="true"',
199+
'<div data-slate-spacer="true"',
200200
' style="height: 0px; color: transparent; outline: none; position: absolute;">',
201201
'<span data-slate-node="text">',
202202
'<span data-slate-leaf="true">',
203203
'<span data-slate-zero-width="z" data-slate-length="0">\uFEFF</span>',
204204
'</span>',
205205
'</span>',
206-
'</span>',
206+
'</div>',
207207
// block object render
208208
'<div contenteditable="false" draggable="true">',
209209
'<div>[image: img0]</div>',
@@ -266,14 +266,14 @@ describe('DOM structure', () => {
266266
' data-block-name="image"',
267267
' data-block-type="object">',
268268
// spacer
269-
'<span data-slate-spacer="true"',
269+
'<div data-slate-spacer="true"',
270270
' style="height: 0px; color: transparent; outline: none; position: absolute;">',
271271
'<span data-slate-node="text">',
272272
'<span data-slate-leaf="true">',
273273
'<span data-slate-zero-width="z" data-slate-length="0">\uFEFF</span>',
274274
'</span>',
275275
'</span>',
276-
'</span>',
276+
'</div>',
277277
// image render
278278
'<div contenteditable="false" draggable="true">',
279279
'<div>[image: img0]</div>',
@@ -288,14 +288,14 @@ describe('DOM structure', () => {
288288
' data-block-name="image"',
289289
' data-block-type="object">',
290290
// spacer
291-
'<span data-slate-spacer="true"',
291+
'<div data-slate-spacer="true"',
292292
' style="height: 0px; color: transparent; outline: none; position: absolute;">',
293293
'<span data-slate-node="text">',
294294
'<span data-slate-leaf="true">',
295295
'<span data-slate-zero-width="z" data-slate-length="0">\uFEFF</span>',
296296
'</span>',
297297
'</span>',
298-
'</span>',
298+
'</div>',
299299
// image render
300300
'<div contenteditable="false" draggable="true">',
301301
'<div>[image: img1]</div>',

0 commit comments

Comments
 (0)