API Referencev1.0.2
@eigenpal/docx-editor-core/layout-bridge/clickToPositionDom
DOM-based Click-to-Position Mapping
Uses the browser's actual rendered DOM to find ProseMirror positions. This is more accurate than geometry-based calculation because it uses the browser's own text rendering with document.elementsFromPoint().
DOM elements are tagged with data-pm-start and data-pm-end attributes, enabling binary search to find exact character positions.
Functions(3)
fn
packages/core/src/layout-bridge/clickToPositionDom.ts:25clickToPositionDom
Find ProseMirror position from a click using DOM-based detection.
declare function clickToPositionDom(container: HTMLElement, clientX: number, clientY: number, zoom?: number): number | null;fn
packages/core/src/layout-bridge/clickToPositionDom.ts:440getCaretPositionFromDom
declare function getCaretPositionFromDom(container: HTMLElement, pmPos: number, overlayRect: DOMRect): DomCaretPosition | null;fn
packages/core/src/layout-bridge/clickToPositionDom.ts:363getSelectionRectsFromDom
declare function getSelectionRectsFromDom(container: HTMLElement, from: number, to: number, overlayRect: DOMRect): DomSelectionRect[];Interfaces(2)
interface
packages/core/src/layout-bridge/clickToPositionDom.ts:433DomCaretPosition
Get caret position from DOM for a PM position.
interface DomCaretPosition| Member | Type | Summary |
|---|---|---|
| height | number | |
| pageIndex | number | |
| x | number | |
| y | number |
interface
packages/core/src/layout-bridge/clickToPositionDom.ts:355DomSelectionRect
Get selection rectangles for a PM range using DOM-based detection.
interface DomSelectionRect| Member | Type | Summary |
|---|---|---|
| height | number | |
| pageIndex | number | |
| width | number | |
| x | number | |
| y | number |