From a4ec4ffcfd855894b0fa780f9f72f87399e36402 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20Ku=CC=88hn?= Date: Mon, 24 May 2021 08:46:51 +0200 Subject: [PATCH] fix: check for NodeSelection within posToDOMRect --- packages/core/src/helpers/posToDOMRect.ts | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/packages/core/src/helpers/posToDOMRect.ts b/packages/core/src/helpers/posToDOMRect.ts index 46f791f1..a4c8fd59 100644 --- a/packages/core/src/helpers/posToDOMRect.ts +++ b/packages/core/src/helpers/posToDOMRect.ts @@ -1,7 +1,16 @@ +import isNodeSelection from './isNodeSelection' import { EditorView } from 'prosemirror-view' import coordsAtPos from './coordsAtPos' export default function posToDOMRect(view: EditorView, from: number, to: number): DOMRect { + if (isNodeSelection(view.state.selection)) { + const node = view.nodeDOM(from) as HTMLElement + + if (node && node.getBoundingClientRect) { + return node.getBoundingClientRect() + } + } + const start = coordsAtPos(view, from) const end = coordsAtPos(view, to, true) const top = Math.min(start.top, end.top)