ClassicEditorFormattingTools
Adds Classic controls for Formatting while retaining its clear-format preservation policy.
Adds Classic controls for Formatting while retaining its clear-format preservation policy.
@quirekit/classic-editor · AGPL-3.0-only
Editor compatibility
Layer:Classic product integration
| 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 | Unsupported | Block does not consume Classic product contributions, plugins or paginated assembly. Use shared capabilities and Block adapters instead of copying this entry's Classic configuration. |
“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/classic-editor@alpha
Use the Classic kit. Individual adapters support custom assembly or replacement without duplicate names.
import { ClassicEditorFormattingTools } from '@quirekit/classic-editor'
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 · Unsupported
Block does not consume Classic product contributions, plugins or paginated assembly. Use shared capabilities and Block adapters instead of copying this entry's Classic configuration.
Configuration
These are extension-level defaults. Presets can override them; they are distinct from current document attributes. See configuration.
doublePressDelay
Milliseconds in which a second press promotes single-use mode to continuous mode.
Type:number
Default:500
preservedMarks
Mark names preserved by character-format application and clearing.
Type:readonly string[]
Default:["link", "highlight"]
preservedTextStyleAttributes
textStyle attribute names preserved by character-format application and clearing.
Type:readonly string[]
Default:["languageLatin", "languageEastAsia", "languageComplexScript"]
Commands and runtime
These commands are supplied directly by this extension. Availability depends on the installed schema, selection and protection policy; query editor.can() first.
| Command | Parameter signature |
|---|---|
copyFormatting | copyFormatting() |
pasteFormatting | pasteFormatting() |
toggleFormatPainter | toggleFormatPainter() |
cancelFormatPainter | cancelFormatPainter() |
clearFormatting | clearFormatting() |
These are parameter signatures. See commands and controls to connect UI while retaining one transaction/history authority.
Next steps
Return to all plugins, or read configuration to distinguish options, attributes and commands.
Continue with Classic quick start and configuration/lifetime. See product plugin development for your own UI and services.