diff --git a/packages/slate/src/interfaces/editor/transforms/node.ts b/packages/slate/src/interfaces/editor/transforms/node.ts index 20f9a0251..c322e6957 100644 --- a/packages/slate/src/interfaces/editor/transforms/node.ts +++ b/packages/slate/src/interfaces/editor/transforms/node.ts @@ -46,7 +46,14 @@ export const NodeTransforms = { // no selection, insert at the end of the document since that is such a // common use case when inserting from a non-selected state. if (!at) { - at = selection || Editor.end(editor, []) || [editor.children.length] + if (editor.selection) { + at = editor.selection + } else if (editor.children.length > 0) { + at = Editor.end(editor, []) + } else { + at = [0] + } + select = true } diff --git a/packages/slate/test/transforms/insertNodes/selection/none-empty.js b/packages/slate/test/transforms/insertNodes/selection/none-empty.js index 1c2ac6212..66ef8a677 100644 --- a/packages/slate/test/transforms/insertNodes/selection/none-empty.js +++ b/packages/slate/test/transforms/insertNodes/selection/none-empty.js @@ -17,5 +17,3 @@ export const output = ( ) - -export const skip = true