UNPKG

@atlaskit/editor-plugin-status

Version:

Status plugin for @atlaskit/editor-core

45 lines (44 loc) 1.63 kB
import type { INPUT_METHOD } from '@atlaskit/editor-common/analytics'; import type { NextEditorPlugin, OptionalPlugin, Command } from '@atlaskit/editor-common/types'; import type { AnalyticsPlugin } from '@atlaskit/editor-plugin-analytics'; import type { commitStatusPicker, insertStatus, removeStatus, UpdateStatus } from './pm-plugins/actions'; import type { StatusPluginOptions, StatusState } from './types'; type DummyAnnotationPlugin = NextEditorPlugin<'annotation', { actions: { setInlineCommentDraftState: (isDraft: boolean, inputMethod: INPUT_METHOD) => Command; }; sharedState: { annotations: Record<string, boolean>; bookmark: boolean; isVisible: boolean; mouseData: { isSelecting: boolean; }; }; }>; type DummyEditorViewModePlugin = NextEditorPlugin<'editorViewMode', { sharedState: { mode: 'view' | 'edit'; }; }>; export type StatusPluginDependencies = [ OptionalPlugin<AnalyticsPlugin>, OptionalPlugin<DummyAnnotationPlugin>, OptionalPlugin<DummyEditorViewModePlugin> ]; export type StatusPluginActions = { commitStatusPicker: typeof commitStatusPicker; updateStatus: UpdateStatus; }; export type StatusPluginCommands = { insertStatus: ReturnType<typeof insertStatus>; removeStatus: typeof removeStatus; }; export type StatusPlugin = NextEditorPlugin<'status', { actions: StatusPluginActions; commands: StatusPluginCommands; dependencies: StatusPluginDependencies; pluginConfiguration: StatusPluginOptions | undefined; sharedState: StatusState | undefined; }>; export {};