/** * @module * Block editing — DOM-dependent half of emkoma. * * Importing this module registers the builtin editors as a side effect, which * is what `` needs to make blocks editable. Pure * rendering consumers (SSR, previews) must not import it: everything here * requires a DOM. */ import { blockquoteEditor } from "./blockquote.editor.js"; import { codeBlockEditor } from "./code-block.editor.js"; import { headingEditor } from "./heading.editor.js"; import { htmlEditor } from "./html.editor.js"; import { imageEditor } from "./image.editor.js"; import { listEditor } from "./list.editor.js"; import { paragraphEditor } from "./paragraph.editor.js"; import { registerEditor } from "./registry.js"; import { tableEditor } from "./table.editor.js"; import { taskListEditor } from "./task-list.editor.js"; registerEditor("paragraph", paragraphEditor); registerEditor("heading", headingEditor); registerEditor("code-block", codeBlockEditor); registerEditor("blockquote", blockquoteEditor); registerEditor("list", listEditor); registerEditor("task-list", taskListEditor); registerEditor("table", tableEditor); registerEditor("image", imageEditor); // All `html:*` block types share one editor; resolveEditor() matches the prefix. registerEditor("html:*", htmlEditor); export type { BlockEditor } from "./editor.type.js"; export { blockquoteEditor } from "./blockquote.editor.js"; export { codeBlockEditor } from "./code-block.editor.js"; export { headingEditor } from "./heading.editor.js"; export { htmlEditor } from "./html.editor.js"; export { imageEditor } from "./image.editor.js"; export { listEditor } from "./list.editor.js"; export { paragraphEditor } from "./paragraph.editor.js"; export { listEditors, registerEditor, resolveEditor, unregisterEditor, } from "./registry.js"; export { tableEditor } from "./table.editor.js"; export { taskListEditor } from "./task-list.editor.js"; export type { FormatRange, InlineModel } from "./inline-edit.js"; export { activeFormatsAt, adjustFormats, applyHighlights, applyTextEdit, clearHighlights, modelToMarkdown, parseInlineModel, rangeToOffsets, toggleFormat, walkTextNodes, } from "./inline-edit.js";