learnhouse/apps/web/components/Objects/Editor/Extensions/Badges/Badges.ts
2024-10-10 22:20:02 +02:00

39 lines
740 B
TypeScript

import { ReactNodeViewRenderer } from "@tiptap/react";
import { mergeAttributes, Node } from "@tiptap/core";
import BadgesExtension from "@/components/Objects/Editor/Extensions/Badges/BadgesExtension";
export default Node.create({
name: "badge",
group: "block",
draggable: true,
content: "text*",
// TODO : multi line support
addAttributes() {
return {
color: {
default: 'sky',
},
emoji: {
default: '💡',
},
};
},
parseHTML() {
return [
{
tag: "badge",
},
];
},
renderHTML({ HTMLAttributes }) {
return ["badge", mergeAttributes(HTMLAttributes), 0];
},
addNodeView() {
return ReactNodeViewRenderer(BadgesExtension);
},
});