API Referencev1.0.2
@eigenpal/docx-editor-core/plugin-api/RenderedDomContext
RenderedDomContext Implementation
Provides DOM-based position mapping for the LayoutPainter output. Uses the same data-pm-start/data-pm-end attribute pattern as the selection overlay in PagedEditor.
Functions(1)
fn
packages/core/src/plugin-api/RenderedDomContext.ts:221createRenderedDomContext
Create a RenderedDomContext for a pages container element.
declare function createRenderedDomContext(pagesContainer: HTMLElement, zoom?: number): RenderedDomContext;Classes(1)
class
packages/core/src/plugin-api/RenderedDomContext.ts:21RenderedDomContextImpl
Implementation of RenderedDomContext.
This class provides position mapping between ProseMirror document positions and pixel coordinates in the rendered DOM. It uses the data-pm-start and data-pm-end attributes that LayoutPainter adds to span elements.
declare class RenderedDomContextImpl implements RenderedDomContext| Member | Type | Summary |
|---|---|---|
| (constructor) | — | Constructs a new instance of the `RenderedDomContextImpl` class |
| findElementsForRange | — | Find DOM elements that overlap with a ProseMirror position range. |
| getContainerOffset | — | Get the offset of the pages container from its parent viewport. This is needed for positioning overlays that are rendered in the viewport container rather than directly in the pages container. |
| getCoordinatesForPosition | — | Get pixel coordinates for a ProseMirror position. Uses the browser's text rendering via Range API for precise positioning. |
| getRectsForRange | — | Get bounding rectangles for a range of text. Handles line wraps by returning multiple rects. |
| pagesContainer | HTMLElement | |
| zoom | number |