@atlaskit/editor-core
Version:
A package contains Atlassian editor core functionality
30 lines (29 loc) • 1.38 kB
TypeScript
/// <reference types="react" />
import { ComponentClass } from 'react';
import { Fragment, Mark, Node, Schema } from '../../prosemirror';
import { Serializer } from '../serializer';
import { TextWrapper } from './nodes';
import ProviderFactory from '../../providerFactory';
import { EventHandlers } from '../../ui/Renderer';
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?: ComponentClass<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 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<any, any>, providers?: ProviderFactory, eventHandlers?: EventHandlers): ReactSerializer;
}