@atlaskit/editor-core
Version:
A package contains Atlassian editor core functionality
32 lines (31 loc) • 1.23 kB
TypeScript
/// <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;
}