UNPKG

@tiptap/extension-blockquote

Version:

blockquote extension for tiptap

56 lines (55 loc) 1.35 kB
// src/blockquote.tsx import { mergeAttributes, Node, wrappingInputRule } from "@tiptap/core"; import { jsx } from "@tiptap/core/jsx-runtime"; var inputRegex = /^\s*>\s$/; var Blockquote = Node.create({ name: "blockquote", addOptions() { return { HTMLAttributes: {} }; }, content: "block+", group: "block", defining: true, parseHTML() { return [{ tag: "blockquote" }]; }, renderHTML({ HTMLAttributes }) { return /* @__PURE__ */ jsx("blockquote", { ...mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), children: /* @__PURE__ */ jsx("slot", {}) }); }, addCommands() { return { setBlockquote: () => ({ commands }) => { return commands.wrapIn(this.name); }, toggleBlockquote: () => ({ commands }) => { return commands.toggleWrap(this.name); }, unsetBlockquote: () => ({ commands }) => { return commands.lift(this.name); } }; }, addKeyboardShortcuts() { return { "Mod-Shift-b": () => this.editor.commands.toggleBlockquote() }; }, addInputRules() { return [ wrappingInputRule({ find: inputRegex, type: this.type }) ]; } }); // src/index.ts var index_default = Blockquote; export { Blockquote, index_default as default, inputRegex }; //# sourceMappingURL=index.js.map