opencrm/frontend/node_modules/@tiptap/extension-paragraph/dist/index.js

62 lines
1.6 KiB
JavaScript

// src/paragraph.ts
import { mergeAttributes, Node } from "@tiptap/core";
var EMPTY_PARAGRAPH_MARKDOWN = " ";
var NBSP_CHAR = "\xA0";
var Paragraph = Node.create({
name: "paragraph",
priority: 1e3,
addOptions() {
return {
HTMLAttributes: {}
};
},
group: "block",
content: "inline*",
parseHTML() {
return [{ tag: "p" }];
},
renderHTML({ HTMLAttributes }) {
return ["p", mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
},
parseMarkdown: (token, helpers) => {
const tokens = token.tokens || [];
if (tokens.length === 1 && tokens[0].type === "image") {
return helpers.parseChildren([tokens[0]]);
}
const content = helpers.parseInline(tokens);
if (content.length === 1 && content[0].type === "text" && (content[0].text === EMPTY_PARAGRAPH_MARKDOWN || content[0].text === NBSP_CHAR)) {
return helpers.createNode("paragraph", void 0, []);
}
return helpers.createNode("paragraph", void 0, content);
},
renderMarkdown: (node, h) => {
if (!node) {
return "";
}
const content = Array.isArray(node.content) ? node.content : [];
if (content.length === 0) {
return EMPTY_PARAGRAPH_MARKDOWN;
}
return h.renderChildren(content);
},
addCommands() {
return {
setParagraph: () => ({ commands }) => {
return commands.setNode(this.name);
}
};
},
addKeyboardShortcuts() {
return {
"Mod-Alt-0": () => this.editor.commands.setParagraph()
};
}
});
// src/index.ts
var index_default = Paragraph;
export {
Paragraph,
index_default as default
};
//# sourceMappingURL=index.js.map