UNPKG

@atlaskit/editor-plugin-selection-extension

Version:

editor-plugin-selection-extension plugin for @atlaskit/editor-core

47 lines (46 loc) 2.63 kB
import type { ADFEntity } from '@atlaskit/adf-utils/types'; import type { EditorCommand, NextEditorPlugin, OptionalPlugin } from '@atlaskit/editor-common/types'; import type { AnalyticsPlugin } from '@atlaskit/editor-plugin-analytics'; import type { BlockControlsPlugin } from '@atlaskit/editor-plugin-block-controls'; import type { BlockMenuPlugin } from '@atlaskit/editor-plugin-block-menu'; import type { EditorViewModePlugin } from '@atlaskit/editor-plugin-editor-viewmode'; import type { EditorViewModeEffectsPlugin } from '@atlaskit/editor-plugin-editor-viewmode-effects'; import type { PrimaryToolbarPlugin } from '@atlaskit/editor-plugin-primary-toolbar'; import type { SelectionPlugin } from '@atlaskit/editor-plugin-selection'; import type { SelectionToolbarPlugin } from '@atlaskit/editor-plugin-selection-toolbar'; import type { ToolbarPlugin } from '@atlaskit/editor-plugin-toolbar'; import type { UserIntentPlugin } from '@atlaskit/editor-plugin-user-intent'; import type { UserPreferencesPlugin } from '@atlaskit/editor-plugin-user-preferences'; import type { ExtensionMenuItemConfiguration, InsertAdfAtEndOfDocResult, ReplaceWithAdfResult, SelectionAdfResult, SelectionExtension, SelectionExtensionPluginOptions, SelectionExtensionPluginState, SelectionExtensionSelectionInfo } from './types'; export type SelectionExtensionPlugin = NextEditorPlugin<'selectionExtension', { actions: { getDocumentFromSelection: () => { selectedNodeAdf?: ADFEntity; } | null; getSelectionAdf: () => SelectionAdfResult; insertAdfAtEndOfDoc: (nodeAdf: ADFEntity) => InsertAdfAtEndOfDocResult; replaceWithAdf: (nodeAdf: ADFEntity) => ReplaceWithAdfResult; }; commands: { clearActiveExtension: () => EditorCommand; setActiveExtension: ({ extension, selection, }: { extension: SelectionExtension | ExtensionMenuItemConfiguration; selection: SelectionExtensionSelectionInfo; }) => EditorCommand; }; dependencies: [ OptionalPlugin<AnalyticsPlugin>, OptionalPlugin<EditorViewModePlugin>, OptionalPlugin<EditorViewModeEffectsPlugin>, OptionalPlugin<PrimaryToolbarPlugin>, OptionalPlugin<UserPreferencesPlugin>, OptionalPlugin<UserIntentPlugin>, OptionalPlugin<SelectionPlugin>, OptionalPlugin<BlockControlsPlugin>, OptionalPlugin<BlockMenuPlugin>, OptionalPlugin<ToolbarPlugin>, SelectionToolbarPlugin ]; pluginConfiguration: SelectionExtensionPluginOptions | undefined; sharedState: SelectionExtensionPluginState | null; }>;