[{"data":1,"prerenderedAt":209},["ShallowReactive",2],{"quirekit-doc:\u002Fen\u002Fclassic\u002Fapi":3},{"id":4,"title":5,"body":6,"description":197,"extension":198,"keywords":199,"locale":200,"meta":201,"navigation":202,"order":203,"path":204,"section":205,"seo":206,"stem":207,"__hash__":208},"docs\u002Fclassic\u002Fapi.en.md","Classic API",{"type":7,"value":8,"toc":188},"minimark",[9,14,50,66,70,79,90,93,96,102,106,109,119,122,130,134,137,140,144,147,161,172],[10,11,13],"h2",{"id":12},"presets-and-instances","Presets and instances",[15,16,17,21,22,25,26,29,30,33,34,37,38,41,42,45,46,49],"p",{},[18,19,20],"code",{},"createClassicEditor(options)"," returns a product instance. ",[18,23,24],{},"document"," is content; ",[18,27,28],{},"preset"," resolves model\u002FView; ",[18,31,32],{},"plugins"," declare product capabilities; ",[18,35,36],{},"extensions"," add ordinary features; ",[18,39,40],{},"shell"," configures UI; ",[18,43,44],{},"media"," and ",[18,47,48],{},"host"," supply services.",[15,51,52,55,56,59,60,65],{},[18,53,54],{},"instance.editor"," exists only while mounted. Locale, editability and built-in preset theme updates retain Core and history; structural configuration still rebuilds Core\u002FView. A custom Core workspace uses ",[18,57,58],{},"editor.changeMode()"," for different semantics. See the ",[61,62,64],"a",{"href":63},"\u002Fen\u002Fclassic\u002Freference","instance reference"," for settings and methods.",[67,68],"docs-api",{"name":69},"ClassicEditorPreset",[15,71,72,75,76,78],{},[18,73,74],{},"preset.resolveExtensions(context)"," returns ordinary extensions. Its ",[18,77,32],{}," still need a product registry. Consuming only extensions does not install preset file services, license feedback or product keyboard plugins.",[15,80,81,82,85,86,89],{},"A custom preset uses ",[18,83,84],{},"updatePresentation(context)"," to refresh theme\u002Flocale-derived paint in a retained session. Update owned presentation, preserve explicit host overrides and refresh cache dependencies. Do not change Schema, install plugins or write content. Call public ",[18,87,88],{},"updateClassicEditorPresetPresentation(context)"," to reuse built-in Canvas\u002FSVG color updates, then refresh custom extensions. Without this hook, theme changes still rebuild Core.",[10,91,92],{"id":32},"Plugins",[67,94],{"name":95},"ClassicEditorPlugin",[15,97,98,99,101],{},"Plugin IDs are unique per instance. ",[18,100,36],{}," supply content capabilities; contributions and independent toolbar\u002Fpopup\u002Fsidebar declarations supply product surfaces; services register formats. Hooks distinguish reusable mounting from final disposal.",[10,103,105],{"id":104},"typed-actions","Typed actions",[67,107],{"name":108},"ClassicEditorActionDefinition",[15,110,111,114,115,118],{},[18,112,113],{},"run(context)"," receives editor, instance, ui, root, locale, backend and trigger. Availability, executability, active state and disabled reasons are read-only queries without commands or requests. Core owns document mutation; ",[18,116,117],{},"context.ui"," owns chrome.",[67,120],{"name":121},"createClassicEditorRibbonAction",[15,123,124,125,129],{},"Reference an installed group ID. IDs are not another command-routing protocol. See ",[61,126,128],{"href":127},"\u002Fen\u002Fbuild\u002Fproduct-plugin","the runnable plugin",".",[10,131,133],{"id":132},"interactive-panels","Interactive panels",[67,135],{"name":136},"ClassicEditorMountedRenderable",[15,138,139],{},"Render acquires resources once; update refreshes retained DOM\u002FVue roots; destroy cleans up. Keep a current context reference for locale\u002Fselection rather than permanently capturing the initial mount context.",[10,141,143],{"id":142},"file-services","File services",[67,145],{"name":146},"ClassicEditorImportExportService",[15,148,149,152,153,156,157,160],{},[18,150,151],{},"instance.importDocument(serviceId, artifact)"," selects an installed format and supplies text\u002Fbytes with filename\u002FMIME. ",[18,154,155],{},"exportDocument(serviceId)"," returns data\u002FfileName\u002FmimeType; the host downloads it. File menus need explicit ",[18,158,159],{},"document-service"," contributions.",[15,162,163,164,167,168,171],{},"Import services receive ",[18,165,166],{},"ClassicEditorImportContext",". Parse and validate, then perform one synchronous write through ",[18,169,170],{},"context.commit(() => context.editor.commands.replaceDocument(document, { errorOnInvalidContent: true }))",". Commit checks latest-operation ownership, original Core, document revision, editability and signal. Async callbacks are invalid; a false command result fails. Older services that write directly must migrate; the product cannot roll back arbitrary effects bypassing commit.",[15,173,174,175,178,179,182,183,187],{},"Hosts can pass ",[18,176,177],{},"{ signal }"," as the third argument to cancel preparation. New imports, edits, editability updates and unmounts also invalidate preparation. Official DOCX import uses this boundary and stages images until commit. Its export captures the starting document and reports diagnostics through ",[18,180,181],{},"onReport","; artifacts contain only data\u002FfileName\u002FmimeType. See ",[61,184,186],{"href":185},"\u002Fen\u002Fclassic\u002Ffiles","files"," for complete cancellation semantics.",{"title":189,"searchDepth":190,"depth":190,"links":191},"",2,[192,193,194,195,196],{"id":12,"depth":190,"text":13},{"id":32,"depth":190,"text":92},{"id":104,"depth":190,"text":105},{"id":132,"depth":190,"text":133},{"id":142,"depth":190,"text":143},"Public composition, context, actions and resource lifetime.","md",null,"en",{},true,1,"\u002Fen\u002Fclassic\u002Fapi","Classic development",{"title":5,"description":197},"classic\u002Fapi.en","nyeH06_IDySeWZCOkbsK-xM7uMXJv3Ho6k15eubTPvU",1793045210123]