slash-editor
Guides

Block Kit

Every createBlockKit() option — what ships by default, and how to opt a block out.

createBlockKit(options?) is what useSlashEditor's blockKit option configures. Every M1/M2 block is individually opt-out-able with false, the same seam throughout:

Prop

Type

Opting a block out for a custom NodeView

A host that needs a real NodeView (React, Vue, …) opts the baseline node out and supplies its own via extend, keeping a single schema registration:

import { Image } from "@slash-editor/core";
import { ReactNodeViewRenderer } from "@tiptap/react";
import { ImageNodeView } from "@/components/nodes/image-node-view";

useSlashEditor({
  blockKit: {
    image: false,
    extend: [Image.extend({ addNodeView: () => ReactNodeViewRenderer(ImageNodeView) })],
  },
});

The Media & AI Node Views component ships exactly this pattern — adapter is always a prop, never a hardcoded mock.

No-default options

mention, ai, and collaboration have no default provider/adapter, so they stay unregistered until you pass one — see the mentions, AI stream adapter, and collaboration guides.

On this page