1
0
mirror of https://github.com/ianstormtaylor/slate.git synced 2025-02-01 05:16:10 +01:00

Replace "zero width whitspace" with "zero width no break" character (#2234)

This fixes https://github.com/ianstormtaylor/slate/issues/2231 where
a rogue empty line appears before an inline block.
This commit is contained in:
Kaspars Dancis 2018-10-09 13:30:01 -06:00 committed by Ian Storm Taylor
parent 933c938765
commit b1ec914467
11 changed files with 30 additions and 30 deletions

View File

@ -133,7 +133,7 @@ class Leaf extends React.Component {
// COMPAT: Render text inside void nodes with a zero-width space.
// So the node can contain selection but the text is not visible.
if (schema.isVoid(parent)) {
return <span data-slate-zero-width="z">{'\u200B'}</span>
return <span data-slate-zero-width="z">{'\uFEFF'}</span>
}
// COMPAT: If this is the last text node in an empty block, render a zero-
@ -145,14 +145,14 @@ class Leaf extends React.Component {
parent.text === '' &&
parent.nodes.last() === node
) {
return <span data-slate-zero-width="n">{'\u200B'}</span>
return <span data-slate-zero-width="n">{'\uFEFF'}</span>
}
// COMPAT: If the text is empty, it's because it's on the edge of an inline
// node, so we render a zero-width space so that the selection can be
// inserted next to it still.
if (text === '') {
return <span data-slate-zero-width="z">{'\u200B'}</span>
return <span data-slate-zero-width="z">{'\uFEFF'}</span>
}
// COMPAT: Browsers will collapse trailing new lines at the end of blocks,

View File

@ -51,7 +51,7 @@ export const output = `
<div style="position:relative">
<span>
<span>
<span data-slate-zero-width="n"></span>
<span data-slate-zero-width="n">&#xFEFF;</span>
</span>
</span>
</div>
@ -59,7 +59,7 @@ export const output = `
<div data-slate-spacer="true" style="height:0;color:transparent;outline:none;position:absolute">
<span>
<span>
<span data-slate-zero-width="z">&#x200B;</span>
<span data-slate-zero-width="z">&#xFEFF;</span>
</span>
</span>
</div>
@ -70,7 +70,7 @@ export const output = `
<div style="position:relative">
<span>
<span>
<span data-slate-zero-width="n"></span>
<span data-slate-zero-width="n">&#xFEFF;</span>
</span>
</span>
</div>
@ -78,7 +78,7 @@ export const output = `
<div data-slate-spacer="true" style="height:0;color:transparent;outline:none;position:absolute">
<span>
<span>
<span data-slate-zero-width="z">&#x200B;</span>
<span data-slate-zero-width="z">&#xFEFF;</span>
</span>
</span>
</div>

View File

@ -49,7 +49,7 @@ export const output = `
<div style="position:relative">
<span>
<span>
<span data-slate-zero-width="n"></span>
<span data-slate-zero-width="n">&#xFEFF;</span>
</span>
</span>
</div>
@ -57,7 +57,7 @@ export const output = `
<div data-slate-spacer="true" style="height:0;color:transparent;outline:none;position:absolute">
<span>
<span>
<span data-slate-zero-width="z">&#x200B;</span>
<span data-slate-zero-width="z">&#xFEFF;</span>
</span>
</span>
</div>
@ -68,7 +68,7 @@ export const output = `
<div style="position:relative">
<span>
<span>
<span data-slate-zero-width="n"></span>
<span data-slate-zero-width="n">&#xFEFF;</span>
</span>
</span>
</div>
@ -76,7 +76,7 @@ export const output = `
<div data-slate-spacer="true" style="height:0;color:transparent;outline:none;position:absolute">
<span>
<span>
<span data-slate-zero-width="z">&#x200B;</span>
<span data-slate-zero-width="z">&#xFEFF;</span>
</span>
</span>
</div>

View File

@ -49,7 +49,7 @@ export const output = `
<div style="position:relative">
<span>
<span>
<span data-slate-zero-width="n"></span>
<span data-slate-zero-width="n">&#xFEFF;</span>
</span>
</span>
</div>
@ -57,7 +57,7 @@ export const output = `
<div data-slate-spacer="true" style="height:0;color:transparent;outline:none;position:absolute">
<span>
<span>
<span data-slate-zero-width="z">&#x200B;</span>
<span data-slate-zero-width="z">&#xFEFF;</span>
</span>
</span>
</div>
@ -68,7 +68,7 @@ export const output = `
<div style="position:relative">
<span>
<span>
<span data-slate-zero-width="n"></span>
<span data-slate-zero-width="n">&#xFEFF;</span>
</span>
</span>
</div>
@ -76,7 +76,7 @@ export const output = `
<div data-slate-spacer="true" style="height:0;color:transparent;outline:none;position:absolute">
<span>
<span>
<span data-slate-zero-width="z">&#x200B;</span>
<span data-slate-zero-width="z">&#xFEFF;</span>
</span>
</span>
</div>

View File

@ -42,7 +42,7 @@ export const output = `
<div data-slate-spacer="true" style="height:0;color:transparent;outline:none;position:absolute">
<span>
<span>
<span data-slate-zero-width="z">&#x200B;</span>
<span data-slate-zero-width="z">&#xFEFF;</span>
</span>
</span>
</div>

View File

@ -39,7 +39,7 @@ export const output = `
<div style="position:relative">
<span>
<span>
<span data-slate-zero-width="z">&#x200B;</span>
<span data-slate-zero-width="z">&#xFEFF;</span>
</span>
</span>
<a href="https://google.com">
@ -49,7 +49,7 @@ export const output = `
</a>
<span>
<span>
<span data-slate-zero-width="z">&#x200B;</span>
<span data-slate-zero-width="z">&#xFEFF;</span>
</span>
</span>
<a href="https://google.com">
@ -59,7 +59,7 @@ export const output = `
</a>
<span>
<span>
<span data-slate-zero-width="z">&#x200B;</span>
<span data-slate-zero-width="z">&#xFEFF;</span>
</span>
</span>
<a href="https://google.com">
@ -69,7 +69,7 @@ export const output = `
</a>
<span>
<span>
<span data-slate-zero-width="z">&#x200B;</span>
<span data-slate-zero-width="z">&#xFEFF;</span>
</span>
</span>
</div>

View File

@ -40,14 +40,14 @@ export const output = `
<div style="position:relative">
<span>
<span>
<span data-slate-zero-width="z">&#x200B;</span>
<span data-slate-zero-width="z">&#xFEFF;</span>
</span>
</span>
<span data-slate-void="true" contenteditable="false">
<span data-slate-spacer="true" style="height:0;color:transparent;outline:none;position:absolute">
<span>
<span>
<span data-slate-zero-width="z">&#x200B;</span>
<span data-slate-zero-width="z">&#xFEFF;</span>
</span>
</span>
</span>
@ -57,7 +57,7 @@ export const output = `
</span>
<span>
<span>
<span data-slate-zero-width="n">&#x200B;</span>
<span data-slate-zero-width="n">&#xFEFF;</span>
</span>
</span>
</div>

View File

@ -37,7 +37,7 @@ export const output = `
<div style="position:relative">
<span>
<span>
<span data-slate-zero-width="z">&#x200B;</span>
<span data-slate-zero-width="z">&#xFEFF;</span>
</span>
</span>
<a href="https://google.com">
@ -47,7 +47,7 @@ export const output = `
</a>
<span>
<span>
<span data-slate-zero-width="z">&#x200B;</span>
<span data-slate-zero-width="z">&#xFEFF;</span>
</span>
</span>
</div>

View File

@ -19,7 +19,7 @@ export const output = `
<div style="position:relative">
<span>
<span>
<span data-slate-zero-width="z">&#x200B;</span>
<span data-slate-zero-width="z">&#xFEFF;</span>
</span>
</span>
<span style="position:relative">
@ -29,7 +29,7 @@ export const output = `
</span>
<span>
<span>
<span data-slate-zero-width="z">&#x200B;</span>
<span data-slate-zero-width="z">&#xFEFF;</span>
</span>
</span>
</div>

View File

@ -17,7 +17,7 @@ export const output = `
<div style="position:relative">
<span>
<span>
<span data-slate-zero-width="n">\u200B</span>
<span data-slate-zero-width="n">\uFEFF</span>
</span>
</span>
</div>

View File

@ -41,7 +41,7 @@ export const output = `
<div style="position:relative">
<span>
<span>
<span data-slate-zero-width="z">&#x200B;</span>
<span data-slate-zero-width="z">&#xFEFF;</span>
</span>
</span>
<span data-slate-void="true">
@ -51,7 +51,7 @@ export const output = `
</span>
<span>
<span>
<span data-slate-zero-width="n">&#x200B;</span>
<span data-slate-zero-width="n">&#xFEFF;</span>
</span>
</span>
</div>