V
defaultBlocks
testedThe block definitions bundled in the default preset (registration order = menu order).
Signature
ts
const defaultBlocks: ({ readonly type: "paragraph"; readonly spec: { readonly content: { readonly kind: "text"; }; readonly group: "block"; readonly toDOM: () => (string | 0)[]; readonly parseDOM: readonly [{ readonly tag: "p"; }]; }; readonly placeholder: "Write something…"; readonly meta: { readonly title: "Paragraph"; readonly icon: "text"; readonly keywords: readonly ["paragraph", "text", "p"]; readonly group: "basic"; }; } | { readonly type: "heading"; readonly spec: { readonly content: { readonly kind: "text"; }; readonly group: "block"; readonly attrs: { readonly level: { readonly default: 1; readonly validate: (value: unknown) => boolean; }; }; readonly toDOM: (node: Node) => (string | 0)[]; readonly parseDOM: { tag: string; attrs: { level: 1 | 3 | 2 | 4 | 5 | 6; }; }[]; }; readonly inputRules: { match: RegExp; attrs: { level: 1 | 3 | 2 | 4 | 5 | 6; }; }[]; readonly meta: { readonly title: "Heading"; readonly icon: "heading"; readonly keywords: readonly ["heading", "title", "h1", "h2", "h3"]; readonly group: "basic"; }; } | { readonly type: "blockquote"; readonly spec: { readonly content: { readonly kind: "text"; }; readonly group: "block"; readonly toDOM: () => (string | 0)[]; readonly parseDOM: readonly [{ readonly tag: "blockquote"; }]; }; readonly inputRules: readonly [{ readonly match: RegExp; }]; readonly meta: { readonly title: "Quote"; readonly icon: "quote"; readonly keywords: readonly ["quote", "blockquote", "citation"]; readonly group: "basic"; }; } | { readonly type: "code-block"; readonly spec: { readonly content: { readonly kind: "text"; readonly marks: "none"; }; readonly group: "block"; readonly code: true; readonly defining: true; readonly attrs: { readonly language: { readonly default: "plain"; }; }; readonly toDOM: (node: Node) => (string | 0 | { 'data-language': string; })[]; readonly parseDOM: readonly [{ readonly tag: "pre"; }]; }; readonly meta: { readonly title: "Code block"; readonly icon: "code"; readonly keywords: readonly ["code", "pre", "snippet"]; readonly group: "basic"; }; } | { readonly type: "callout"; readonly spec: { readonly content: { readonly kind: "text"; }; readonly group: "block"; readonly attrs: { readonly variant: { readonly default: "info"; }; }; readonly toDOM: (node: Node) => (string | 0 | { 'data-callout': string; })[]; readonly parseDOM: readonly [{ readonly tag: "div[data-callout]"; readonly getAttrs: (el: HTMLElement) => { variant: string; }; }]; }; readonly meta: { readonly title: "Callout"; readonly icon: "info"; readonly keywords: readonly ["callout", "note", "info", "warning"]; readonly group: "basic"; }; } | { readonly type: string; readonly spec: { readonly content: { readonly kind: "text"; }; readonly group: "list"; readonly attrs: Readonly<Record<string, AttrSpec<AttrValue>>>; readonly toDOM: (node: Node) => (string | 0 | { 'data-checked'?: string | undefined; 'data-list': "bullet" | "ordered" | "todo"; style: string; })[]; readonly parseDOM: readonly [{ readonly tag: "[data-list='bullet']" | "[data-list='ordered']" | "[data-list='todo']"; }]; }; readonly inputRules: { match: RegExp; }[]; readonly meta: { readonly title: string; readonly icon: "list"; readonly keywords: readonly string[]; readonly group: "lists"; }; } | { readonly type: "divider"; readonly spec: { readonly content: { readonly kind: "atom"; }; readonly group: "block"; readonly toDOM: () => string[]; readonly parseDOM: readonly [{ readonly tag: "hr"; }]; }; readonly component: any; readonly meta: { readonly title: "Divider"; readonly icon: "minus"; readonly keywords: readonly ["divider", "hr", "rule", "separator"]; readonly group: "media"; }; } | { readonly type: "image"; readonly spec: { readonly content: { readonly kind: "atom"; }; readonly group: "block"; readonly attrs: { readonly src: { readonly default: ""; }; readonly alt: { readonly default: ""; }; readonly caption: { readonly default: ""; }; }; readonly toDOM: (node: Node) => (string | (string | { src: string; alt: string; })[])[]; readonly parseDOM: readonly [{ readonly tag: "img"; readonly getAttrs: (el: HTMLElement) => { src: string; alt: string; }; }]; }; readonly component: any; readonly meta: { readonly title: "Image"; readonly icon: "image"; readonly keywords: readonly ["image", "img", "picture", "photo"]; readonly group: "media"; }; })[]