UNPKG

@liveblocks/react-blocknote

Version:

An integration of BlockNote + React to enable collaboration, comments, live cursors, and more with Liveblocks.

1 lines 2.26 kB
{"version":3,"file":"schema.cjs","sources":["../../src/initialization/schema.ts"],"sourcesContent":["import type {\n BlockSchema,\n InlineContentSchema,\n StyleSchema,\n} from \"@blocknote/core\";\nimport {\n BlockNoteSchema,\n createInlineContentSpecFromTipTapNode,\n} from \"@blocknote/core\";\nimport { MentionNode } from \"@liveblocks/react-tiptap\";\n\nconst mentionSpec = createInlineContentSpecFromTipTapNode(MentionNode, {\n id: {\n default: \"\",\n },\n notificationId: {\n default: \"\",\n },\n});\n/**\n * Adds the Liveblocks Mention Node as inline content to the BlockNote schema\n *\n * This makes sure BlockNote knows about Liveblocks mentions and that you can read/write mentions via the BlockNote API\n */\nexport const withLiveblocksSchema = <\n B extends BlockSchema,\n I extends InlineContentSchema,\n S extends StyleSchema,\n>(\n schema?: BlockNoteSchema<B, I, S>,\n liveblocksOptions: Partial<{ mentions: boolean }> = {}\n): BlockNoteSchema<B, I, S> => {\n const optionalSchema = schema || BlockNoteSchema.create();\n if (!liveblocksOptions.mentions) {\n return optionalSchema as BlockNoteSchema<B, I, S>;\n }\n return BlockNoteSchema.create({\n blockSpecs: optionalSchema.blockSpecs,\n inlineContentSpecs: {\n ...optionalSchema.inlineContentSpecs,\n liveblocksMention: mentionSpec,\n },\n styleSpecs: optionalSchema.styleSpecs,\n }) as any as BlockNoteSchema<\n // typescript needs some help here\n B,\n I & {\n liveblocksMention: typeof mentionSpec.config;\n },\n S\n >;\n};\n"],"names":["createInlineContentSpecFromTipTapNode","MentionNode","BlockNoteSchema"],"mappings":";;;;;AAWA,MAAM,WAAA,GAAcA,2CAAsCC,uBAAa,EAAA;AAAA,EACrE,EAAI,EAAA;AAAA,IACF,OAAS,EAAA,EAAA;AAAA,GACX;AAAA,EACA,cAAgB,EAAA;AAAA,IACd,OAAS,EAAA,EAAA;AAAA,GACX;AACF,CAAC,CAAA,CAAA;AAMM,MAAM,oBAAuB,GAAA,CAKlC,MACA,EAAA,iBAAA,GAAoD,EACvB,KAAA;AAC7B,EAAM,MAAA,cAAA,GAAiB,MAAU,IAAAC,oBAAA,CAAgB,MAAO,EAAA,CAAA;AACxD,EAAI,IAAA,CAAC,kBAAkB,QAAU,EAAA;AAC/B,IAAO,OAAA,cAAA,CAAA;AAAA,GACT;AACA,EAAA,OAAOA,qBAAgB,MAAO,CAAA;AAAA,IAC5B,YAAY,cAAe,CAAA,UAAA;AAAA,IAC3B,kBAAoB,EAAA;AAAA,MAClB,GAAG,cAAe,CAAA,kBAAA;AAAA,MAClB,iBAAmB,EAAA,WAAA;AAAA,KACrB;AAAA,IACA,YAAY,cAAe,CAAA,UAAA;AAAA,GAC5B,CAAA,CAAA;AAQH;;;;"}