@atlaskit/editor-core
Version:
A package contains Atlassian editor core functionality
50 lines (49 loc) • 1.76 kB
TypeScript
/// <reference types="react" />
import { CardEvent } from '@atlaskit/media-card';
import { PureComponent, SyntheticEvent } from 'react';
import { Schema } from '../../prosemirror';
import ProviderFactory from '../../providerFactory';
import { RendererContext } from '../../renderer';
export interface CardSurroundings {
collectionName: string;
list: string[];
}
export declare type MentionEventHandler = (mentionId: string, text: string, event?: SyntheticEvent<HTMLSpanElement>) => void;
export declare type CardEventClickHandler = (result: CardEvent, surroundings?: CardSurroundings) => void;
export declare type AppCardEventClickHandler = (url?: string) => void;
export declare type AppCardActionEventClickHandler = (action: AppCardAction) => void;
export interface AppCardAction {
title: string;
}
export interface MentionEventHandlers {
onClick?: MentionEventHandler;
onMouseEnter?: MentionEventHandler;
onMouseLeave?: MentionEventHandler;
}
export interface EventHandlers {
mention?: MentionEventHandlers;
media?: {
onClick?: CardEventClickHandler;
};
applicationCard?: {
onClick?: AppCardEventClickHandler;
onActionClick?: AppCardActionEventClickHandler;
};
}
export interface Props {
document: any;
dataProviders?: ProviderFactory;
eventHandlers?: EventHandlers;
portal?: HTMLElement;
rendererContext?: RendererContext;
schema?: Schema<any, any>;
}
export default class Renderer extends PureComponent<Props, {}> {
private providerFactory;
private serializer;
constructor(props: Props);
componentWillReceiveProps(nextProps: Props): void;
private updateSerializer(props);
render(): JSX.Element | null;
componentWillUnmount(): void;
}