# @elabs-ai/components-editor > Token-themed Monaco editor: CodeEditor, DiffEditor, CodeWorkspace. Import from `@elabs-ai/components-editor`. Part of brand-ui — see the root `llms.txt` for routing. ## Components - CodeEditor — Monaco-backed editable code editor (controlled/uncontrolled), themed from tokens. - avoid: Passing Monaco a hardcoded theme — the bridge reads the active data-theme tokens; never override it. - avoid: Using CodeEditor for read-only display — use CodeBlock (@elabs-ai/components-ai, Shiki) for non-editable code. - avoid: Forgetting the worker setup (import "@elabs-ai/components-editor/monaco-environment") — IntelliSense is off without it. - CodeWorkspace - CopyButton - DiffEditor — The Monaco side-by-side diff surface — the only diff in the library that can be typed into. - avoid: Reaching for it to READ a patch — that is DiffView in @elabs-ai/components-ai, which needs no editor engine at all. - avoid: Reaching for it to approve or reject hunks — that is ChangeReview, which owns the trust gate. - avoid: Rendering it in a jsdom unit test — it is Monaco; test the surrounding wiring and leave the editor to a browser story. - EDITOR_LANGUAGES - EditorContextMenu - EditorToolbar - MarkdownEditor ## Hooks - useDataTheme ## Subpath exports - Bibliography (`@elabs-ai/components-editor/markdown` · component) - Blockquote (`@elabs-ai/components-editor/markdown` · component) - BRAND_DIRECTIVES (`@elabs-ai/components-editor/markdown` · component) - BRAND_SLASH_COMMANDS (`@elabs-ai/components-editor/markdown` · component) - CALC_FENCE_SEED (`@elabs-ai/components-editor/markdown` · component) - CalcBlock (`@elabs-ai/components-editor/markdown` · component) - CalcInline (`@elabs-ai/components-editor/markdown` · component) - DECISION_STATUSES (`@elabs-ai/components-editor/markdown` · component) - DecisionCard (`@elabs-ai/components-editor/markdown` · component) - DEFAULT_TEMPLATE (`@elabs-ai/components-editor/markdown` · component) - DocumentOutline (`@elabs-ai/components-editor/markdown` · component) - ENTITY_KINDS (`@elabs-ai/components-editor/markdown` · component) - EntityCard (`@elabs-ai/components-editor/markdown` · component) - EntityChip (`@elabs-ai/components-editor/markdown` · component) - FootnoteList (`@elabs-ai/components-editor/markdown` · component) - Heading (`@elabs-ai/components-editor/markdown` · component) - InlineCode (`@elabs-ai/components-editor/markdown` · component) - IterationBlock (`@elabs-ai/components-editor/markdown` · component) - IterationBuilderDialog (`@elabs-ai/components-editor/markdown` · component) - IterationBuilderProvider (`@elabs-ai/components-editor/markdown` · component) - IterationEditContext (`@elabs-ai/components-editor/markdown` · component) - IterationTemplateDialog (`@elabs-ai/components-editor/markdown` · component) - IterationTemplateProvider (`@elabs-ai/components-editor/markdown` · component) - KnowledgeCard (`@elabs-ai/components-editor/markdown` · component) - Link (`@elabs-ai/components-editor/markdown` · component) - List (`@elabs-ai/components-editor/markdown` · component) - ListItem (`@elabs-ai/components-editor/markdown` · component) - MARKDOWN_HEADING_REM (`@elabs-ai/components-editor/markdown` · component) - MARKDOWN_HEADING_TRACKING (`@elabs-ai/components-editor/markdown` · component) - MARKDOWN_HEADING_WEIGHT (`@elabs-ai/components-editor/markdown` · component) - MARKDOWN_MEASURE (`@elabs-ai/components-editor/markdown` · component) - MarkdownEditor (`@elabs-ai/components-editor/markdown` · component) - MarkdownPreview (`@elabs-ai/components-editor/markdown` · component) - MarkdownTableOfContents (`@elabs-ai/components-editor/markdown` · component) - MarkdownToolbar (`@elabs-ai/components-editor/markdown` · component) - MarkdownWorkspace (`@elabs-ai/components-editor/markdown` · component) - MathBlock (`@elabs-ai/components-editor/markdown` · component) - MathInline (`@elabs-ai/components-editor/markdown` · component) - MermaidDiagram (`@elabs-ai/components-editor/markdown` · component) - MermaidWorkspace (`@elabs-ai/components-editor/markdown` · component) - MetricBlock (`@elabs-ai/components-editor/markdown` · component) - MonacoSlashMenu (`@elabs-ai/components-editor/markdown` · component) - SlashMenu (`@elabs-ai/components-editor/markdown` · component) - TableOfContents (`@elabs-ai/components-editor/markdown` · component) - Text (`@elabs-ai/components-editor/markdown` · component) - Timeline (`@elabs-ai/components-editor/markdown` · component) - useMarkdownOutline (`@elabs-ai/components-editor/markdown` · hook)