UNPKG

@atlaskit/editor-core

Version:

A package contains Atlassian editor core functionality

43 lines (42 loc) 1.67 kB
import { EmojiId, EmojiProvider, EmojiSearchResult } from '@atlaskit/emoji'; import { EditorState, EditorView, Schema, Plugin } from '../../prosemirror'; import ProviderFactory from '../../providerFactory'; import stateKey from './plugin-key'; export { stateKey }; export declare type StateChangeHandler = (state: EmojiState) => any; export declare type ProviderChangeHandler = (provider?: EmojiProvider) => any; export interface Options { emojiProvider: Promise<EmojiProvider>; } export declare class EmojiState { emojiProvider?: EmojiProvider; query?: string; enabled: boolean; queryActive: boolean; anchorElement?: HTMLElement; onSelectPrevious: () => boolean; onSelectNext: () => boolean; onSelectCurrent: () => boolean; private changeHandlers; private state; private view; private queryResult; constructor(state: EditorState<any>, providerFactory: ProviderFactory); subscribe(cb: StateChangeHandler): void; unsubscribe(cb: StateChangeHandler): void; update(state: EditorState<any>): void; dismiss(): boolean; isEnabled(): boolean; private findEmojiQueryMark(); insertEmoji(emojiId?: EmojiId): void; handleProvider: (name: string, provider: Promise<any>) => void; trySelectCurrent: () => boolean; private getEmojisCount; private isEmptyQuery; onSearchResult: (searchResults: EmojiSearchResult) => void; private onProviderChange; setView(view: EditorView): void; } export declare function createPlugin(providerFactory: ProviderFactory): Plugin; declare const plugins: (schema: Schema<any, any>, providerFactory: any) => Plugin[]; export default plugins;