UNPKG

@firecms/core

Version:

Awesome Firebase/Firestore-based headless open-source CMS

30 lines (29 loc) 1.2 kB
import React from "react"; import { Node as ProseMirrorNode } from "prosemirror-model"; import { EditorView, NodeView } from "prosemirror-view"; export interface ReactNodeViewProps { node: ProseMirrorNode; view: EditorView; getPos: () => number | undefined; } export type ReactNodeViewComponent = React.FC<ReactNodeViewProps>; /** * A utility class that implements the ProseMirror NodeView interface but delegates rendering * to a React component. * Note: This uses createRoot, so it does not automatically inherit React Contexts. * If contexts are needed, wrap them manually or use a portal-based approach instead. */ export declare class ReactNodeView implements NodeView { node: ProseMirrorNode; view: EditorView; getPos: () => number | undefined; dom: HTMLElement; contentDOM?: HTMLElement; private root; private Component; constructor(node: ProseMirrorNode, view: EditorView, getPos: () => number | undefined, Component: ReactNodeViewComponent, as?: string, className?: string, contentDOMElement?: HTMLElement); private render; update(node: ProseMirrorNode): boolean; destroy(): void; ignoreMutation(mutation: any): boolean; }