ListKeymap
Adds list-aware Backspace and Delete behavior. Update listTypes when using custom list and item type names.
Adds list-aware Backspace and Delete behavior. Update listTypes when using custom list and item type names.
@quirekit/extension-list · MIT
Editor compatibility
Layer:Shared document capability
| Editor | Status | Assembly and boundaries |
|---|---|---|
| Classic | Supported | classicEditorPreset — Use the product-neutral classicEditorPreset without duplicating installed capabilities. The Word preset replaces paragraphs, headings and container lists; do not stack generic structures onto that model. |
| Block | Supported | createBlockEditorPreset — The default createBlockEditor preset installs this capability. Configure the corresponding preset child; graphic editing uses the preset's workspace ports, while persistence and assets remain host-owned. Avoid duplicate extensions. |
“Supported” means the product assembly above exists; interaction, host services and file formats retain their own conditions. See status and integration rules. Licensing is shown separately.
Installation
pnpm add @quirekit/extension-list@alpha
Install in Editor extensions. The host supplies a view, container and persistence; see Quick start.
Included in StarterKit. Configure its listKeymap child, or disable that child before installing a replacement.
import { ListKeymap } from '@quirekit/extension-list'
Use compatible versions available from your distribution source. This site uses the Alpha workspace. License labels come from package metadata; see support and licensing.
Integration by editor
These snippets use an existing host element named element. The host owns container sizing and persistence; call instance.destroy() on teardown. Avoid duplicating preset capabilities and supply required host ports before installation.
Classic · Supported
Use the product-neutral classicEditorPreset without duplicating installed capabilities. The Word preset replaces paragraphs, headings and container lists; do not stack generic structures onto that model.
classicEditorPresetimport { createClassicEditor } from '@quirekit/classic-editor'
import '@quirekit/classic-editor/styles.css'
const instance = createClassicEditor({ element })Block · Supported
The default createBlockEditor preset installs this capability. Configure the corresponding preset child; graphic editing uses the preset's workspace ports, while persistence and assets remain host-owned. Avoid duplicate extensions.
createBlockEditorPresetimport { createBlockEditor } from '@quirekit/block-editor'
import '@quirekit/block-editor/styles.css'
const instance = createBlockEditor({
element,
content: { type: 'doc', content: [{ type: 'paragraph' }] },
})Configuration
These are extension-level defaults. Presets can override them; they are distinct from current document attributes. See configuration.
listTypes
List node families handled by Backspace and Delete shortcuts.
Type:readonly ListKeymapTypeConfig[]
Default:See default below
[{ itemName: "listItem", wrapperNames: ["bulletList", "orderedList"] }, { itemName: "taskItem", wrapperNames: ["taskList"] }]
Commands and runtime
This entry declares no directly enumerable commands. Children supply bundle commands; product plugins use contributions or document services.
Next steps
Return to all plugins, or read configuration to distinguish options, attributes and commands.
See extension development for custom capabilities and Build a product for complete hosting.