0๏ธโฃ Meta Framework for building UI Libraries
https://github.com/vuetifyjs/0.git
Headless Vue 3 UI primitives and composables for building modern applications and design systems. @vuetify/v0 is the foundation of the Vuetify ecosystem, offering lightweight, unstyled building blocks with full TypeScript support and accessibility features built-in.
Note: This package is in early development (pre-1.0). APIs may change between minor versions.
This is a pnpm monorepo containing:
| Package | Description |
|---|---|
@vuetify/v0 | Core headless components and composables |
@vuetify/paper | Styling and layout primitives |
apps/docs | Documentation site (0.vuetifyjs.com) |
apps/storybook | Component stories and visual testing |
playground | Interactive development environment |
npm install @vuetify/v0@latest
# or
pnpm add @vuetify/v0
# or
yarn add @vuetify/v0
# or
bun add @vuetify/v0
The package provides tree-shakeable subpath exports:
import { ... } from '@vuetify/v0' // Everything
import { ... } from '@vuetify/v0/components' // Components only
import { ... } from '@vuetify/v0/composables' // Composables only
import { ... } from '@vuetify/v0/utilities' // Utilities only
import { ... } from '@vuetify/v0/types' // Types only
import { ... } from '@vuetify/v0/constants' // Constants only
| Component | Description |
|---|---|
| Atom | Polymorphic base element. Renders as any HTML element via as prop with renderless mode support |
| Avatar | Image with fallback display. Compound component with Root, Image, and Fallback sub-components |
| Checkbox | Standalone or group checkbox with tri-state. Root, Group, Indicator, HiddenInput sub-components |
| Dialog | Modal dialog using native <dialog>. Root, Activator, Content, Title, Description, Close sub-components |
| ExpansionPanel | Accordion/collapsible panels. Supports single (accordion) or multi-expand modes |
| Group | Multi-selection with tri-state support. Provides selectAll, unselectAll, toggleAll |
| Pagination | Page navigation with ellipsis. Root, Item, First, Prev, Next, Last, Ellipsis sub-components |
| Popover | CSS anchor-positioned popup. Root, Anchor, and Content sub-components |
| Selection | Generic single/multi-selection. Configurable via multiple prop |
| Single | Single-selection specialization of Selection |
| Step | Navigation/stepper with first, last, next, prev controls |
Core factories that provide the foundation for all other composables:
createContext - Type-safe Vue dependency injection wrappercreatePlugin - Vue plugin factory with context provisioncreateTrinity - Context triple pattern: [use, provide, default]Base data structures that most other composables build upon:
createRegistry - Enhanced Map with indexing, caching, and event supportcreateQueue - FIFO queue with timeout management (notifications/toasts)createTimeline - Bounded undo/redo historycreateTokens - Design token registry with alias resolutionSelection management composables built on createRegistry:
createSelection - Base selection with Set-based trackingcreateGroup - Multi-selection with tri-state/mixed supportcreateSingle - Single-selection specializationcreateStep - Navigation through items (first, last, next, prev)createForm - Form validation and state management with async rulesuseProxyModel - Bridge selection context to component v-modeluseProxyRegistry - Convert registry Map to reactive objectuseFilter - Reactive array filtering with multiple modesusePagination - Lightweight page navigation (non-registry based)useVirtual - Virtual scrolling for large listsuseOverflow - Container overflow measurement for item capacitytoArray - Array transformation utilitiestoReactive - Reactive object conversionuseClickOutside - Click outside detection with cleanupuseEventListener - Lifecycle-managed event listenersuseHotkey - Hotkey combinations and sequencesuseIntersectionObserver - Intersection observer with auto-cleanupuseMediaQuery - Reactive CSS media query matchinguseMutationObserver - DOM mutation observationuseResizeObserver - Resize observer utilitiesuseToggleScope - Conditional effect scope managementPlugin-capable composables following the trinity pattern:
useBreakpoints - Responsive breakpoint detectionuseFeatures - Feature flags with variationsuseHydration - SSR hydration helpersuseLocale - Internationalization with message interpolationuseLogger - Logging adapter (consola/pino/custom)usePermissions - RBAC/ABAC permission systemuseStorage - Storage adapter (localStorage/sessionStorage/memory)useTheme - Theme management with CSS variable injection--v0-* custom propertiesFor detailed API documentation, examples, and guides, visit 0.vuetifyjs.com.
``bash collapse
# Install dependencies
pnpm install
# Start playground
pnpm dev
# Start documentation site
pnpm dev:docs
# Run tests
pnpm test
# Type check
pnpm typecheck
# Lint
pnpm lint
``
We are not currently accepting external contributions. Check back later or join our Discord community for updates.