API
import { MarkdownEditor, useMarkdownEditor } from '@zuilib/text-editor'
import '@zuilib/text-editor/styles.css'
Package entry points: . (ESM + types), ./styles.css, ./package.json.
DRAWING_FORMAT.md and CHANGELOG.md ship in the package too.
Component and hook
| Export | Purpose |
|---|---|
MarkdownEditor | The component. Compound parts as statics: .Root, .Content, .Toolbar, .ToolbarButton, .ToolbarDivider, .FormatButtons, .InsertButtons, .HistoryButtons, .Outline, .useEditor |
MarkdownEditorProps, ToolbarItems | Props of the component; the groups handed to a toolbar render function |
EditorRootProps, EditorContentProps, EditorMode | Types of the compound parts |
useMarkdownEditor(), MarkdownEditorApi | Headless hook and its return type (Toolbar) |
Toolbar, ToolbarButton, ToolbarDivider, FormatButtons, InsertButtons, HistoryButtons | Toolbar primitives as named exports |
Markdown transformers and nodes
For assembling your own Lexical editor with the same dialect. Order
matters: FRONTMATTER, DRAWING and DIAGRAM must claim their blocks
before CODE_BLOCK; CHECK_LIST before UNORDERED_LIST.
| Export | Purpose |
|---|---|
TABLE | GFM table transformer |
CODE_BLOCK | Fenced code transformer; untagged blocks export as bare fences |
FRONTMATTER, FrontmatterNode, $createFrontmatterNode, $isFrontmatterNode, SerializedFrontmatterNode | Frontmatter block |
DRAWING, DIAGRAM, DrawingNode, $createDrawingNode, $isDrawingNode, SerializedDrawingNode | Drawing node and its two transformers (```drawing and ```diagram) |
Tables
| Export | Purpose |
|---|---|
TableDensity, TableSettings, TableSettingsOptions, DEFAULT_TABLE_SETTINGS | Setting types and defaults |
$getSelectedTable, $getTableSettings, $setTableSettings, $isTableWidthExplicit, $getTableWidth, $setTableWidth, $getTableDensity, $setTableDensity | Setting helpers, inside editor.update / read |
parseTableSettingsMarker, formatTableSettingsMarker | Marker comment ⇄ TableSettings |
TABLE_WIDTH_MARKER | Deprecated; use formatTableSettingsMarker |
TableCellPosition, $getSelectedTableCell, $getTableCellPosition | Where the selection is |
$insertTableRowAt, $deleteTableRowAt, $insertTableRowNear, $deleteSelectedTableRow | Row operations |
$insertTableColumnAt, $deleteTableColumnAt, $insertTableColumnNear, $deleteSelectedTableColumn | Column operations |
insertableRowIndices, insertableColumnIndices, canDeleteRow, canDeleteColumn | Pure guards for custom toolbars |
Block width
| Export | Purpose |
|---|---|
BlockWidth | 'full' | 'text' | 'content' |
BLOCK_WIDTHS, isBlockWidth | Values and type guard |
BlockWidthDefaults | Shape of the defaultBlockWidth prop |
Drawing payload
| Export | Purpose |
|---|---|
DrawingData, DrawingShape, DrawingShapeType, BoxType, ConnectorType, Binding, BindingSide, Point | Payload types |
parseDrawingData, serializeDrawingData, normalizeDrawingData | Lenient parse, serialise, re-anchor bindings |
DRAWING_DATA_JSON_SCHEMA | JSON Schema of the payload |
BOX_TYPES, CONNECTOR_TYPES, SHAPE_TYPES, SIDE_FIXED_POINTS, STROKE_COLORS, FILL_COLORS, EMPTY_DRAWING | Constants |
BOX_DEFINITIONS, BoxDefinition, TextField | Data-driven shape geometry and text slots |
anchorPoint, boxOutline, connectorPoints, routeElbow | Geometry: binding resolution, connector paths, the elbow router |
Skeleton and Mermaid
| Export | Purpose |
|---|---|
DrawingSkeleton, SkeletonBox, SkeletonConnector, SkeletonEnd, SkeletonText, ColorName | Skeleton types |
parseDrawingSkeleton, isDrawingSkeleton, expandSkeleton | Parse and expand to DrawingData |
DRAWING_SKELETON_JSON_SCHEMA, COLOR_PRESETS | JSON Schema; palette name → stroke / fill |
drawingToMermaid, MermaidOptions, MermaidDirection | Mermaid flowchart export |
Code highlighting
| Export | Purpose |
|---|---|
CodeGrammar, CodeRule, CodeToken, CodeTokenType | Grammar and token types |
registerCodeLanguage, hasCodeLanguage, resolveCodeLanguage, getCodeLanguages | Registry |
tokenizeCode, codeTokenizer, registerCodeBlockHighlighting | Lexer, Lexical tokenizer adapter, editor wiring |
BUILTIN_CODE_LANGUAGES, CODE_TOKEN_TYPES, PLAIN_LANGUAGE | Constants |
Ink style
| Export | Purpose |
|---|---|
DrawingStyle, InkOptions, InkStroke | Types |
inkStroke, inkAmplitude, inkFillOffset, seedFrom, roundedRectPolygon, roundedPolyline | Geometry helpers for custom renderers |