Skip to main content
Vuetify0 Logo
Theme
Mode
Palettes
Accessibility
Vuetify One
Sign in to Vuetify One

Access premium tools across the Vuetify ecosystem — Bin, Play, Studio, and more.

Not a subscriber? See what's included

Emerald

Edit
Report a Bug
Issues
Markdown

IntermediateNov 10, 2026

Emerald is a design system for Vue that builds on Vuetify0. It ships tokens, CSS, and Em* components. v0 handles behavior and accessibility. Emerald handles appearance.

Try Emerald on these docs
Repaints the documentation with the Emerald palette — light and dark both follow your mode. Switch back any time here or from the theme menu.
Note

Reference: Figma kit. The Vue package is MIT. The Store sells the file separately.

Installation

bash
pnpm add @paper/emerald

The plugin registers the theme adapter, the two themes, and the icon set:

main.ts
import { createApp } from 'vue'
import { createEmeraldPlugin } from '@paper/emerald'

import '@paper/emerald/theme.css'
import '@paper/emerald/style.css'

import App from './App.vue'

createApp(App)
  .use(createEmeraldPlugin())
  .mount('#app')

Use createEmeraldPlugin(). It constructs EmeraldStyleSheetAdapter for you.

The tokens page covers options that skip the theme or the icon registry, importing the stylesheets without the plugin, and the --v0-* color bridge.

Components

@paper/emerald exports every component below, and each one has its own page.

ComponentWhat it wrapsPage
EmAlertv0 AtomAlert
EmAvatarv0 AvatarAvatar
EmBadgev0 AtomBadge
EmBreadcrumbsv0 BreadcrumbsBreadcrumbs
EmButtonv0 ButtonButton
EmCalendara private calendar core inside Emerald, ahead of a v0 graduationCalendar
EmCardv0 AtomCard
EmCheckboxv0 CheckboxCheckbox
EmDialogv0 DialogDialog
EmDividerv0 AtomDivider
EmExpansionPanelv0 ExpansionPanelExpansionPanel
EmIconv0 createTokensIcon
EmKanbanv0 createKanban + useDragDropKanban
EmListv0 SingleList
EmPaginationv0 PaginationPagination
EmPopoverv0 PopoverPopover
EmProgressv0 ProgressProgress
EmRadiov0 RadioRadio
EmSelectv0 SelectSelect
EmSliderv0 SliderSlider
EmSnackbarv0 SnackbarSnackbar
EmSpinnerv0 AtomSpinner
EmStepv0 StepStep
EmSwitchv0 SwitchSwitch
EmTabsv0 TabsTabs
EmTagv0 AtomTag
EmTextFieldv0 InputTextField
EmTextareav0 InputTextarea
EmTooltipv0 TooltipTooltip

These components have no named slots. Each region is its own component. Pass namespace only when you nest two of the same compound.

Note

Emerald is in preview. Component APIs can change between minor versions. These pages write their prop tables by hand until the generated API reference covers @paper/*.

Was this page helpful?

© 2016-1970 Vuetify, LLC
Services
Ctrl+/