Skip to main content
Five examples, five frameworks, five toolbar patterns. Pick the one closest to your stack.

React + shadcn/ui

Classic top ribbon, like Google Docs. Toggle groups for formatting, select dropdowns for fonts, popovers for colors. Stack: React, Radix primitives + Tailwind CSS, Lucide icons

Full source

React + shadcn/ui example

React + MUI

Floating bubble bar. Compact Material Design Paper component above the editor with toggle buttons and selects. Stack: React, MUI Material, Material Icons

Full source

React + MUI example

Vue + Vuetify

Vertical sidebar panel. Navigation drawer with expansion panels grouping related controls. Stack: Vue 3, Vuetify 3, Material Design Icons

Full 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 Svelte

Full source

Svelte + Tailwind example

Vanilla JS

Zero-framework proof. Plain buttons, native selects, DOM manipulation. No build step required. Stack: No framework, plain HTML/CSS/JS, Lucide

Full source

Vanilla JS example

Running the examples

Replace <example-name> with react-shadcn, react-mui, vue-vuetify, svelte-shadcn, or vanilla.

Next steps

Headless toolbar API reference

Full command table, snapshot shape, and helper utilities