UNPKG

@atlaskit/editor-core

Version:

A package contains Atlassian editor core functionality

43 lines (42 loc) 1.39 kB
/// <reference types="react" /> import { PureComponent } from 'react'; import { EditorView, PluginKey } from '../../prosemirror'; import { EmojiProvider } from '@atlaskit/emoji'; export interface Props { editorView: EditorView; pluginKey: PluginKey; emojiProvider: Promise<EmojiProvider>; /** * The number of secondary toolbar buttons between and including ToolbarEmojiPicker and the right edge of the editor * This must be passed in by the integrator (e.g. SecondaryToolbar) that contains the buttons * TODO: Implement a better solution as part of ED-2565 */ numFollowingButtons: number; } export interface State { button?: HTMLElement; disabled?: boolean; isOpen: boolean; } export default class ToolbarEmojiPicker extends PureComponent<Props, State> { private pickerRef; private buttonRef; private pluginState?; state: State; componentWillMount(): void; componentDidMount(): void; componentDidUpdate(): void; componentWillUnmount(): void; private setPluginState(props); private handlePluginStateChange; private handleButtonRef; private onPickerRef; private close; private toggleOpen; private handleClickOutside; private renderPopup(); render(): JSX.Element; private renderTrigger(content, trigger); private getOffsetX; private handleSelectedEmoji; }