Theming the player

Every player on this page is the same component. Nothing below overrides a VocaSync class or uses !important — it is all custom properties and props. Try it in dark mode; each theme carries its own.

Four seeds carry a theme

Set --vocasync-accent, --vocasync-surface, --vocasync-text and --vocasync-highlight. Borders, muted text, hover states and the contrast colour on the play button all derive from them.

Defaults
Loading audio…
Four seeds changed
Loading audio…
Seeds + shape + type
Loading audio…
Square, heavy borders, no elevation
Loading audio…

Shapes

variant changes the form factor. minimal borrows the page instead of sitting on a card.

variant="bar" (default)
Loading audio…
variant="minimal"
Loading audio…
variant="card", with a title in the before slot
Getting started with VocaSync Narrated · 1 min
Loading audio…

Density

size scales padding, gaps and control sizes together through one multiplier, which you can also set directly as --vocasync-density.

size="sm"
Loading audio…
size="md"
Loading audio…
size="lg"
Loading audio…

Controls, order and language

controls takes an ordered array, so it sets both which controls appear and where. strings covers every visible label and every accessible name.

controls=["play", "volume", "progress", "highlight"]
Loading audio…
strings in French
Loading audio…
A replaced play icon, via the icon-play slot
Loading audio…

When there is no audio

Loading audio…