tfrere's picture
tfrere HF Staff
chore: initial commit
561e6f0
Raw
History Blame Contribute Delete
908 Bytes
import { Node, mergeAttributes } from "@tiptap/core";
import { ReactNodeViewRenderer } from "@tiptap/react";
import { ImageUploadView } from "../ImageUploadView";
declare module "@tiptap/core" {
interface Commands<ReturnType> {
imageUpload: {
insertImageUpload: () => ReturnType;
};
}
}
export const ImageUpload = Node.create({
name: "imageUpload",
group: "block",
atom: true,
draggable: true,
parseHTML() {
return [{ tag: 'div[data-type="image-upload"]' }];
},
renderHTML({ HTMLAttributes }) {
return [
"div",
mergeAttributes(HTMLAttributes, { "data-type": "image-upload" }),
];
},
addCommands() {
return {
insertImageUpload:
() =>
({ commands }) => {
return commands.insertContent({ type: this.name });
},
};
},
addNodeView() {
return ReactNodeViewRenderer(ImageUploadView);
},
});