interface MarkConfig<Options = any, Storage = any> { addAttributes?: ( this: { editor?: Editor; name: string; options: Options; parent: (
(...args: []) => {} | Attributes)
| undefined; storage: Storage; }, ) => {} | Attributes; addCommands?: ( this: { editor: Editor; name: string; options: Options; parent: (
(...args: []) => ReturnType<Required<T>[P]>)
| undefined; storage: Storage; type: MarkType; }, ) => Partial<RawCommands>; addExtensions?: ( this: { name: string; options: Options; parent: (
(...args: []) => Extensions)
| undefined; storage: Storage; }, ) => Extensions; addGlobalAttributes?: ( this: { extensions: (
Mark<any, any> | Node<any, any>)
[]; name: string; options: Options; parent: (
(...args: []) => GlobalAttributes)
| undefined; storage: Storage; }, ) => GlobalAttributes; addInputRules?: ( this: { editor: Editor; name: string; options: Options; parent: (
(...args: []) => InputRule[])
| undefined; storage: Storage; type: MarkType; }, ) => InputRule[]; addKeyboardShortcuts?: ( this: { editor: Editor; name: string; options: Options; parent: | (
(...args: []) => { [key: string]: KeyboardShortcutCommand })
| undefined; storage: Storage; type: MarkType; }, ) => { [key: string]: KeyboardShortcutCommand }; addMarkView?: | (
( this: { editor: Editor; name: string; options: Options; parent: ((this: { name: string; options: Options; storage: Storage; editor: Editor; type: MarkType; parent: ... | null | undefined; }) => MarkViewRenderer<MarkViewRendererProps>) | null | undefined
; storage: Storage; type: MarkType; }, ) => MarkViewRenderer )
| null; addOptions?: ( this: { name: string; parent: (
(...args: []) => Options)
| undefined }, ) => Options; addPasteRules?: ( this: { editor: Editor; name: string; options: Options; parent: (
(...args: []) => PasteRule[])
| undefined; storage: Storage; type: MarkType; }, ) => PasteRule[]; addProseMirrorPlugins?: ( this: { editor: Editor; name: string; options: Options; parent: (
(...args: []) => Plugin<any>[])
| undefined; storage: Storage; type: MarkType; }, ) => Plugin<any>[]; addStorage?: ( this: { name: string; options: Options; parent: (
(...args: []) => Storage)
| undefined; }, ) => Storage; code?: | boolean | (
( this: { editor?: Editor; name: string; options: Options; parent: boolean | ((this: { name: string; options: Options; storage: Storage; parent: boolean | ... | undefined; editor?: Editor | undefined; }) => boolean) | undefined
; storage: Storage; }, ) => boolean )
; dispatchTransaction?: | (
( this: { editor: Editor; name: string; options: Options; parent: ((this: { name: string; options: Options; storage: Storage; editor: Editor; type: MarkType; parent: ... | ... 1 more ... | undefined; }, props: DispatchTransactionProps) => void) | null | undefined
; storage: Storage; type: MarkType; }, props: DispatchTransactionProps, ) => void )
| null; excludes?: | string | (
( this: { editor?: Editor; name: string; options: Options; parent: string | ((this: { name: string; options: Options; storage: Storage; parent: string | ... | undefined; editor?: Editor | undefined; }) => string | undefined) | undefined
; storage: Storage; }, ) => string | undefined )
; exitable?: boolean | (
() => boolean)
; extendMarkSchema?: | (
( this: { name: string; options: Options; parent: ((this: { name: string; options: Options; storage: Storage; parent: ... | null | undefined; }, extension: Mark<any, any>) => Record<string, any>) | null | undefined
; storage: Storage; }, extension: Mark, ) => Record<string, any> )
| null; extendNodeSchema?: | (
( this: { name: string; options: Options; parent: ((this: { name: string; options: Options; storage: Storage; parent: ... | null | undefined; }, extension: Node<any, any>) => Record<string, any>) | null | undefined
; storage: Storage; }, extension: Node, ) => Record<string, any> )
| null; group?: | string | (
( this: { editor?: Editor; name: string; options: Options; parent: string | ((this: { name: string; options: Options; storage: Storage; parent: string | ... | undefined; editor?: Editor | undefined; }) => string | undefined) | undefined
; storage: Storage; }, ) => string | undefined )
; inclusive?: | boolean | (
( this: { editor?: Editor; name: string; options: Options; parent: boolean | ((this: { name: string; options: Options; storage: Storage; parent: boolean | ... | undefined; editor?: Editor | undefined; }) => boolean | undefined) | undefined
; storage: Storage; }, ) => boolean | undefined )
; keepOnSplit?: boolean | (
() => boolean)
; markdownOptions?: { htmlReopen?: { close: string; open: string }; indentsContent?: boolean; }; markdownTokenizer?: MarkdownTokenizer; markdownTokenName?: string; name: string; onBeforeCreate?: | (
( this: { editor: Editor; name: string; options: Options; parent: ((this: { name: string; options: Options; storage: Storage; editor: Editor; type: MarkType; parent: ... | null | undefined; }, event: { editor: Editor; }) => void) | null | undefined
; storage: Storage; type: MarkType; }, event: { editor: Editor }, ) => void )
| null; onBlur?: | (
( this: { editor: Editor; name: string; options: Options; parent: ((this: { name: string; options: Options; storage: Storage; editor: Editor; type: MarkType; parent: ... | ... 1 more ... | undefined; }, event: { editor: Editor; event: FocusEvent; transaction: Transaction; }) => void) | null | undefined
; storage: Storage; type: MarkType; }, event: { editor: Editor; event: FocusEvent; transaction: Transaction }, ) => void )
| null; onCreate?: | (
( this: { editor: Editor; name: string; options: Options; parent: ((this: { name: string; options: Options; storage: Storage; editor: Editor; type: MarkType; parent: ... | null | undefined; }, event: { editor: Editor; }) => void) | null | undefined
; storage: Storage; type: MarkType; }, event: { editor: Editor }, ) => void )
| null; onDestroy?: | (
( this: { editor: Editor; name: string; options: Options; parent: ((this: { name: string; options: Options; storage: Storage; editor: Editor; type: MarkType; parent: ... | null | undefined; }, event: void) => void) | null | undefined
; storage: Storage; type: MarkType; }, event: void, ) => void )
| null; onFocus?: | (
( this: { editor: Editor; name: string; options: Options; parent: ((this: { name: string; options: Options; storage: Storage; editor: Editor; type: MarkType; parent: ... | ... 1 more ... | undefined; }, event: { editor: Editor; event: FocusEvent; transaction: Transaction; }) => void) | null | undefined
; storage: Storage; type: MarkType; }, event: { editor: Editor; event: FocusEvent; transaction: Transaction }, ) => void )
| null; onSelectionUpdate?: | (
( this: { editor: Editor; name: string; options: Options; parent: ((this: { name: string; options: Options; storage: Storage; editor: Editor; type: MarkType; parent: ... | ... 1 more ... | undefined; }, event: { editor: Editor; transaction: Transaction; }) => void) | null | undefined
; storage: Storage; type: MarkType; }, event: { editor: Editor; transaction: Transaction }, ) => void )
| null; onTransaction?: | (
( this: { editor: Editor; name: string; options: Options; parent: ((this: { name: string; options: Options; storage: Storage; editor: Editor; type: MarkType; parent: ... | ... 1 more ... | undefined; }, event: { editor: Editor; transaction: Transaction; appendedTransactions: Transaction[]; }) => void) | null | undefined
; storage: Storage; type: MarkType; }, event: { appendedTransactions: Transaction[]; editor: Editor; transaction: Transaction; }, ) => void )
| null; onUpdate?: | (
( this: { editor: Editor; name: string; options: Options; parent: ((this: { name: string; options: Options; storage: Storage; editor: Editor; type: MarkType; parent: ... | ... 1 more ... | undefined; }, event: { editor: Editor; transaction: Transaction; appendedTransactions: Transaction[]; }) => void) | null | undefined
; storage: Storage; type: MarkType; }, event: { appendedTransactions: Transaction[]; editor: Editor; transaction: Transaction; }, ) => void )
| null; parseHTML?: ( this: { editor?: Editor; name: string; options: Options; parent: (
(...args: []) => readonly ParseRule[] | undefined)
| undefined; storage: Storage; }, ) => readonly ParseRule[] | undefined; parseMarkdown?: ( token: MarkdownToken, helpers: MarkdownParseHelpers, ) => MarkdownParseResult; priority?: number; renderHTML?: | (
( this: { editor?: Editor; name: string; options: Options; parent: ((this: { name: string; options: Options; storage: Storage; parent: ... | null | undefined; editor?: Editor | undefined; }, props: { mark: Mark; HTMLAttributes: Record<string, any>; }) => DOMOutputSpec) | null | undefined
; storage: Storage; }, props: { HTMLAttributes: Record<string, any>; mark: Mark }, ) => DOMOutputSpec )
| null; renderMarkdown?: ( node: JSONContent, helpers: MarkdownRendererHelpers, ctx: RenderContext, ) => string; spanning?: | boolean | (
( this: { editor?: Editor; name: string; options: Options; parent: boolean | ((this: { name: string; options: Options; storage: Storage; parent: boolean | ... | undefined; editor?: Editor | undefined; }) => boolean | undefined) | undefined
; storage: Storage; }, ) => boolean | undefined )
; transformPastedHTML?: ( this: { editor: Editor; name: string; options: Options; parent: (
(...args: [html
: string]) => string)
| undefined; storage: Storage; type: MarkType; }, html: string, ) => string;}
Attributes