mirror of
https://github.com/ueberdosis/tiptap.git
synced 2025-06-07 17:43:49 +08:00

* fix: enforce type imports so that the bundler ignores types * chore: add changeset * fix: export types with export type keyword
45 lines
1.3 KiB
TypeScript
45 lines
1.3 KiB
TypeScript
import type { Fragment, Node as ProseMirrorNode, ParseOptions } from '@tiptap/pm/model'
|
|
|
|
import type { Content, RawCommands } from '../types.js'
|
|
|
|
declare module '@tiptap/core' {
|
|
interface Commands<ReturnType> {
|
|
insertContent: {
|
|
/**
|
|
* Insert a node or string of HTML at the current position.
|
|
* @example editor.commands.insertContent('<h1>Example</h1>')
|
|
* @example editor.commands.insertContent('<h1>Example</h1>', { updateSelection: false })
|
|
*/
|
|
insertContent: (
|
|
/**
|
|
* The ProseMirror content to insert.
|
|
*/
|
|
value: Content | ProseMirrorNode | Fragment,
|
|
|
|
/**
|
|
* Optional options
|
|
*/
|
|
options?: {
|
|
/**
|
|
* Options for parsing the content.
|
|
*/
|
|
parseOptions?: ParseOptions
|
|
|
|
/**
|
|
* Whether to update the selection after inserting the content.
|
|
*/
|
|
updateSelection?: boolean
|
|
applyInputRules?: boolean
|
|
applyPasteRules?: boolean
|
|
},
|
|
) => ReturnType
|
|
}
|
|
}
|
|
}
|
|
|
|
export const insertContent: RawCommands['insertContent'] =
|
|
(value, options) =>
|
|
({ tr, commands }) => {
|
|
return commands.insertContentAt({ from: tr.selection.from, to: tr.selection.to }, value, options)
|
|
}
|