createHeadlessToolbar(). Pick the one closest to your stack.
On React? Reach for Custom UI › Toolbar and commands instead. The typed React surface (
useSuperDocCommand, ui.commands.register) re-renders one button per command, ships with selection / comments / track-changes hooks, and works with any design system (shadcn, MUI, Mantine, Tailwind). The headless examples below are for non-React stacks.Vue + Vuetify
Vertical sidebar panel. Navigation drawer with expansion panels grouping related controls. Stack: Vue 3, Vuetify 3, Material Design IconsFull source
Vue + Vuetify example
Svelte + Tailwind
Fixed bottom bar. Compact, mobile-inspired layout with Svelte 5 runes for reactivity. Stack: Svelte 5, Tailwind CSS, Lucide SvelteFull source
Svelte + Tailwind example
Vanilla JS
Zero-framework proof. Plain buttons, focus-preserving menus, DOM manipulation. No build step required. Stack: No framework, plain HTML/CSS/JS, Lucidemousedown focus changes before executing the command. Native selects can move browser focus and visually clear the editor selection while their menu is open.
Full source
Vanilla JS example
Running the examples
<example-name> with vue-vuetify, svelte-shadcn, or vanilla.
Next steps
Custom UI (React)
The recommended path for React apps. Typed hooks, custom commands, selection-aware buttons.
Headless toolbar API reference
Full command table, snapshot shape, and helper utilities.

