@atlaskit/editor-plugin-caption
Version:
Caption plugin for @atlaskit/editor-core
23 lines (22 loc) • 1.05 kB
TypeScript
import type { Node as PMNode } from '@atlaskit/editor-prosemirror/model';
import type { Decoration, DecorationSource, NodeView } from '@atlaskit/editor-prosemirror/view';
/**
* Vanilla (React-free) implementation of CaptionNodeView.
*
* Replaces SelectionBasedNodeView + CaptionComponent React render. The node view owns the DOM
* shape and nothing else: editability is inherited from the ProseMirror root rather than being
* set here, so disabling the editor cannot be overridden by a stale nested `contenteditable`.
*/
export declare class CaptionNodeView implements NodeView {
dom: Node;
contentDOM?: HTMLElement;
private node;
constructor(node: PMNode);
update(node: PMNode, _decorations: readonly Decoration[], _innerDecorations?: DecorationSource): boolean;
ignoreMutation(mutation: MutationRecord | {
target: Node;
type: 'selection';
}): boolean;
}
/** Factory function for ProseMirror node view registration. */
export declare function captionNodeView(): (node: PMNode) => CaptionNodeView;