diff --git a/.changeset/wet-tigers-double.md b/.changeset/wet-tigers-double.md new file mode 100644 index 000000000..0a8307efb --- /dev/null +++ b/.changeset/wet-tigers-double.md @@ -0,0 +1,5 @@ +--- +'slate': patch +--- + +Fixed Editor.above method that always returned undefined with Point location diff --git a/packages/slate/src/interfaces/editor.ts b/packages/slate/src/interfaces/editor.ts index 432cba21c..6e1f39aea 100644 --- a/packages/slate/src/interfaces/editor.ts +++ b/packages/slate/src/interfaces/editor.ts @@ -359,7 +359,7 @@ export const Editor: EditorInterface = { match, reverse, })) { - if (Text.isText(n)) return + if (Text.isText(n)) continue if (Range.isRange(at)) { if ( Path.isAncestor(p, at.anchor.path) && diff --git a/packages/slate/test/interfaces/Editor/above/point.tsx b/packages/slate/test/interfaces/Editor/above/point.tsx new file mode 100644 index 000000000..f21c396fa --- /dev/null +++ b/packages/slate/test/interfaces/Editor/above/point.tsx @@ -0,0 +1,18 @@ +/** @jsx jsx */ + +import { Editor } from 'slate' +import { jsx } from '../../..' + +export const input = ( + + + one + + +) + +export const test = editor => { + return Editor.above(editor, { at: { path: [0, 0, 0], offset: 1 } }) +} + +export const output = [one, [0, 0]]