UNPKG

@blocknote/core

Version:

A "Notion-style" block-based extensible text editor built on top of Prosemirror and Tiptap.

41 lines (38 loc) 903 B
import { BlockNoteSchema } from "../../editor/BlockNoteSchema.js"; import { BlockSchema, InlineContentSchema, StyleSchema, } from "../../schema/index.js"; import { PageBreak } from "./PageBreakBlockContent.js"; export const pageBreakSchema = BlockNoteSchema.create({ blockSpecs: { pageBreak: PageBreak, }, }); /** * Adds page break support to the given schema. */ export const withPageBreak = < B extends BlockSchema, I extends InlineContentSchema, S extends StyleSchema, >( schema: BlockNoteSchema<B, I, S>, ) => { return BlockNoteSchema.create({ blockSpecs: { ...schema.blockSpecs, ...pageBreakSchema.blockSpecs, }, inlineContentSpecs: schema.inlineContentSpecs, styleSpecs: schema.styleSpecs, }) as any as BlockNoteSchema< // typescript needs some help here B & { pageBreak: typeof PageBreak.config; }, I, S >; };