UNPKG

@atlaskit/editor-core

Version:

A package contains Atlassian editor core functionality

32 lines (31 loc) 1.23 kB
/// <reference types="react" /> import { PureComponent } from 'react'; import { ReactNodeViewComponents } from '../factory'; import { Node as PMNode, EditorView } from '../../prosemirror'; import ProviderFactory from '../../providerFactory'; export interface ReactProsemirrorNodeProps { getPos: () => number; node: PMNode; providerFactory: ProviderFactory; components: ReactNodeViewComponents; view: EditorView; [key: string]: any; } export default class ReactProsemirrorNode extends PureComponent<ReactProsemirrorNodeProps, {}> { /** * All children components of ReactProsemirrorNode are React components * which are completely rendered by us, not Prosemirror. This also means * that we're responsible for rendering them, supporting keyboard navigation * and showing "selected" element. Wrapping ReactProsemirrorNode into HOC * helps us to pass "selected" prop into child components */ private wrapped; private childIdToOffset; render(): JSX.Element; /** * Child node position is parent position + offset + 1 * because each node has its own position * i.e. different nodes can't have the same position */ private handleGetPos; }