@liveblocks/react-blocknote
Version:
An integration of BlockNote + React to enable collaboration, comments, live cursors, and more with Liveblocks.
29 lines (26 loc) • 800 B
JavaScript
import { createInlineContentSpecFromTipTapNode, BlockNoteSchema } from '@blocknote/core';
import { MentionNode } from '@liveblocks/react-tiptap';
const mentionSpec = createInlineContentSpecFromTipTapNode(MentionNode, {
id: {
default: ""
},
notificationId: {
default: ""
}
});
const withLiveblocksSchema = (schema, liveblocksOptions = {}) => {
const optionalSchema = schema || BlockNoteSchema.create();
if (!liveblocksOptions.mentions) {
return optionalSchema;
}
return BlockNoteSchema.create({
blockSpecs: optionalSchema.blockSpecs,
inlineContentSpecs: {
...optionalSchema.inlineContentSpecs,
liveblocksMention: mentionSpec
},
styleSpecs: optionalSchema.styleSpecs
});
};
export { withLiveblocksSchema };
//# sourceMappingURL=schema.js.map