@mocanvas/editor · interface
interface TLComponentsThe chrome override map, passed as components.
## What is *not* here
The selection and interaction overlays — brush, zoom brush, scribble, snap
indicators, handles, selection foreground/background, shape indicators,
collaborator brush/scribble/hint — are **not** component slots. They are
drawn onto the canvas itself rather than composed as React elements, so
overriding them is a rendering concern, not a chrome concern. The canvas
takes its own, much smaller override map (<Canvas components={…}>) for the
few of those it does let you replace.
Every slot is optional. A slot's component is rendered with no props unless
noted; read the editor with useEditor().
On this page
Properties · 44
A11y?: TLUiComponentSlotThe live region the canvas announces selection changes through.
ActionsMenu?: TLUiComponentSlotThe selection actions menu.
Background?: TLUiComponentSlotBehind the canvas: the page's backdrop plate.
Canvas?: TLUiComponentSlotThe canvas surface itself. Provided so chrome that has to *wrap* the canvas — a right-click menu, which needs the canvas inside its trigger — can render it in place; read it with useEditorComponents.
CollaboratorCursor?: TLUiComponentSlot<TLCursorSlotProps>Another person's pointer, drawn in the editor.
ContextMenu?: TLUiComponentSlotThe right-click menu.
CursorChatBubble?: TLUiComponentSlotThe chat bubble on the local cursor.
DebugMenu?: TLUiComponentSlotThe debug menu. Shown only in debug mode.
DebugPanel?: TLUiComponentSlotThe frame-statistics / debug chip.
Dialogs?: TLUiComponentSlotThe dialog stack.
ErrorFallback?: TLUiComponentSlot<TLErrorSlotProps>Rendered in place of the whole editor once it has thrown.
FollowingIndicator?: TLUiComponentSlotThe banner shown while following another person's camera.
Grid?: TLUiComponentSlot<TLGridProps>Behind the shapes, in page space: a grid, a guide layer.
Rendered only while the editor is in grid mode
(instanceState.isGridMode), and given the camera plus the document's
grid step — see TLGridProps. It gets the camera as props rather
than reading it itself because it is redrawn on every pan and zoom, and a
slot that subscribed to the camera on its own would be a second
subscription doing the same work.
HelperButtons?: TLUiComponentSlotThe small helper buttons above the toolbar (e.g. "back to content").
HelpMenu?: TLUiComponentSlotThe help menu.
ImageToolbar?: TLUiComponentSlotThe contextual bar shown for a selected image.
InFrontOfTheCanvas?: TLUiComponentSlotAbove the shapes, in container space: pins, badges, floating bars.
KeyboardShortcutsDialog?: TLUiComponentSlotThe keyboard-shortcuts dialog.
LoadingScreen?: TLUiComponentSlotShown while the engine is loading.
MainMenu?: TLUiComponentSlotThe top-left menu.
MenuPanel?: TLUiComponentSlotThe top-left menu plate.
Minimap?: TLUiComponentSlotThe minimap inside the navigation panel.
NavigationPanel?: TLUiComponentSlotThe zoom / navigation cluster.
OnTheCanvas?: TLUiComponentSlotBehind the shapes, in page space, above the grid.
PageMenu?: TLUiComponentSlotThe page picker.
PeopleMenu?: TLUiComponentSlotThe collaborator list.
PeopleMenuAvatar?: TLUiComponentSlotOne collaborator's avatar.
PeopleMenuFacePile?: TLUiComponentSlotThe stacked avatars on the people menu's trigger.
PeopleMenuItem?: TLUiComponentSlotOne row in the collaborator list.
QuickActions?: TLUiComponentSlotThe quick-actions row.
RichTextToolbar?: TLUiComponentSlotThe formatting bar over a text shape being edited.
ShapeErrorFallback?: TLUiComponentSlot<TLErrorSlotProps>Rendered in place of one shape whose body has thrown.
ShapeWrapper?: TLUiComponentSlot<TLShapeWrapperSlotProps>The element a shape's DOM body is rendered into.
SharePanel?: TLUiComponentSlotThe top-right panel: share, collaborators.
Spinner?: TLUiComponentSlotThe indeterminate progress mark.
StylePanel?: TLUiComponentSlotThe style panel for the current selection.
SvgDefs?: TLUiComponentSlotThe document-level <defs> a shape can put a shared gradient in.
Toasts?: TLUiComponentSlotThe toast stack.
Toolbar?: TLUiComponentSlotThe tool bar.
Tooltip?: TLUiComponentSlotThe tooltip layer.
TopPanel?: TLUiComponentSlotThe top strip above the menu panel.
UserPresenceEditor?: TLUiComponentSlotThe local person's name and colour editor.
VideoToolbar?: TLUiComponentSlotThe contextual bar shown for a selected video.
ZoomMenu?: TLUiComponentSlotThe zoom menu inside the navigation panel.
mocanvas is built by Symbio. Free for non-commercial, non-profit and development use; commercial use needs an agreement. Not affiliated with or endorsed by tldraw.