36 lines
1.0 KiB
TypeScript
36 lines
1.0 KiB
TypeScript
|
declare module "tiptap-commands" {
|
||
|
import { EditorView } from "prosemirror-view";
|
||
|
import { Transaction, EditorState, Plugin } from "prosemirror-state";
|
||
|
import { InputRule } from "prosemirror-inputrules";
|
||
|
import { NodeType, MarkType } from "prosemirror-model";
|
||
|
|
||
|
export interface DispatchFn {
|
||
|
(tr: Transaction): boolean;
|
||
|
}
|
||
|
|
||
|
export interface Command {
|
||
|
(...params: any[]): CommandFunction;
|
||
|
}
|
||
|
|
||
|
export interface CommandFunction {
|
||
|
(state: EditorState, dispatch: DispatchFn | undefined, view: EditorView): boolean;
|
||
|
}
|
||
|
|
||
|
export function toggleWrap(type: NodeType): Command;
|
||
|
|
||
|
export function wrappingInputRule(
|
||
|
regexp: RegExp,
|
||
|
nodeType: NodeType,
|
||
|
getAttrs?: (arg: {} | string[]) => object | undefined,
|
||
|
joinPredicate?: (strs: string[], node: Node) => boolean
|
||
|
): InputRule;
|
||
|
|
||
|
export function toggleMark(type: MarkType, attrs?: { [key: string]: any }): Command;
|
||
|
|
||
|
export function pasteRule(
|
||
|
regexp: RegExp,
|
||
|
type: string,
|
||
|
getAttrs: (() => { [key: string]: any }) | { [key: string]: any }
|
||
|
): Plugin;
|
||
|
}
|