UNPKG

@blocknote/react

Version:

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

35 lines (30 loc) 1.03 kB
import { BlockNoteEditor, BlockNoteSchema, BlockSchema, DefaultBlockSchema, DefaultInlineContentSchema, DefaultStyleSchema, InlineContentSchema, StyleSchema, } from "@blocknote/core"; import { useBlockNoteContext } from "../editor/BlockNoteContext.js"; /** * Get the BlockNoteEditor instance from the nearest BlockNoteContext provider * @param _schema: optional, pass in the schema to return type-safe BlockNoteEditor if you're using a custom schema */ export function useBlockNoteEditor< BSchema extends BlockSchema = DefaultBlockSchema, ISchema extends InlineContentSchema = DefaultInlineContentSchema, SSchema extends StyleSchema = DefaultStyleSchema, >( _schema?: BlockNoteSchema<BSchema, ISchema, SSchema>, ): BlockNoteEditor<BSchema, ISchema, SSchema> { const context = useBlockNoteContext(_schema); if (!context?.editor) { throw new Error( "useBlockNoteEditor was called outside of a BlockNoteContext provider or BlockNoteView component", ); } return context.editor; }