diff --git a/shared/editor/extensions/Mermaid.ts b/shared/editor/extensions/Mermaid.ts index 302936cd7..a0c960113 100644 --- a/shared/editor/extensions/Mermaid.ts +++ b/shared/editor/extensions/Mermaid.ts @@ -205,7 +205,9 @@ export default function Mermaid({ switch (event.key) { case "ArrowDown": { const { selection } = view.state; - const $pos = view.state.doc.resolve(selection.from + 1); + const $pos = view.state.doc.resolve( + Math.min(selection.from + 1, view.state.doc.nodeSize) + ); const nextBlock = $pos.nodeAfter; if ( @@ -229,7 +231,9 @@ export default function Mermaid({ } case "ArrowUp": { const { selection } = view.state; - const $pos = view.state.doc.resolve(selection.from - 1); + const $pos = view.state.doc.resolve( + Math.max(0, selection.from - 1) + ); const prevBlock = $pos.nodeBefore; if (