UNPKG

@atlaskit/editor-plugin-media

Version:

Media plugin for @atlaskit/editor-core

35 lines (34 loc) • 1.73 kB
import type { Node as PMNode } from '@atlaskit/editor-prosemirror/model'; import type { Selection } from '@atlaskit/editor-prosemirror/state'; import type { Mapping } from '@atlaskit/editor-prosemirror/transform'; import type { EditorView } from '@atlaskit/editor-prosemirror/view'; import type { MediaOptions } from '../types'; /** Keeps a media insertion point collapsed so a drop never replaces the current selection. */ export declare const mediaDropSelection: (doc: PMNode, pos: number) => Selection; export declare const findMediaDropPosition: (view: EditorView, coords: { left: number; top: number; }, fileTypes: string[], mediaOptions?: MediaOptions) => number | undefined; export type MediaDropReplacement = { media: PMNode; pos: number; }; /** Only a single image over a media card can replace it; captions and surrounding space insert. */ export declare const findMediaDropReplacement: (view: EditorView, event: DragEvent, fileTypes: string[]) => MediaDropReplacement | undefined; /** Retains drop locations while uploads prepare and other edits change document positions. */ export declare class MediaDropTargets { hover?: number; hoverReplacement?: MediaDropReplacement; private batches; private files; start(traceId: string, pos: number, replacement?: MediaDropReplacement): () => void; register(traceId: string, fileIds: string[]): void; positionFor(fileId: string): number | undefined; replacementFor(fileId: string, doc: PMNode): MediaDropReplacement | undefined; hoverReplacementFor(doc: PMNode): MediaDropReplacement | undefined; clearHover(): void; inserted(fileId: string): void; map(mapping: Mapping): void; clear(): void; private prune; }