@atlaskit/renderer
Version:
Renderer component
29 lines (28 loc) • 1.31 kB
TypeScript
/// <reference types="react" />
import { Fragment, Mark, Node, Schema } from 'prosemirror-model';
import { Serializer } from '../';
import { TextWrapper } from './nodes';
import { ProviderFactory, EventHandlers } from '@atlaskit/editor-common';
export interface RendererContext {
objectAri: string;
containerAri: string;
}
export default class ReactSerializer implements Serializer<JSX.Element> {
private providers?;
private eventHandlers?;
private portal?;
private rendererContext?;
constructor(providers?: ProviderFactory, eventHandlers?: EventHandlers, portal?: HTMLElement, objectContext?: RendererContext);
serializeFragment(fragment: Fragment, props?: any, target?: any, key?: string): JSX.Element | null;
private serializeTextWrapper(content);
private serializeMark(mark, index?);
private renderNode(Node, props, key, content);
private renderMark(Mark, props, key, content);
private getEmojiBlockProps(node);
private getProps(node);
private getMarkProps(mark);
static getChildNodes(fragment: Fragment): (Node | TextWrapper)[];
static getMarks(node: Node): Mark[];
static buildMarkStructure(content: Node[]): Mark[];
static fromSchema(schema: Schema, providers?: ProviderFactory, eventHandlers?: EventHandlers): ReactSerializer;
}