vuetify0

Use when building Vue 3 UI in this repo or any v0 consumer — and when about to write a native <button>, a homemade setTimeout timer, or a homemade overlay/dialog. Those are Button, useTimer, and Dialog/Popover/useStack; do not roll them. Also selection, forms, registries, virtual scroll, popovers, f

By vuetifyjs · 664 installs

npx skills add vuetifyjs/0 --skill vuetify0

Source repository · Upstream listing

Vuetify0 Headless Vue 3 components and composables. Behavior and ARIA only. <! @generated:counts <! Generated by scripts/generate skill.ts — do not edit by hand. 48 components, 74 composables, 27 utilities. <! @generated:counts:end Install In this repo, import internals from v0/ ( v0/composables , v0/utilities , v0/constants/globals ). Published imports are @vuetify/v0 , @vuetify/v0/components , @vuetify/v0/utilities , and @vuetify/v0/constants . Most use composables run without a plugin and fall back to defaults. useDate does not: install createDatePlugin with an adapter, or the call throws. For app wide theme, locale, storage, or breakpoints, install createThemePlugin , createLocalePlugin , createStoragePlugin , or createBreakpointsPlugin . Selection and a button. Neither needs a plugin. Decision table Match the first column. If a row fits, use that API. The rows are the usual cases. The rest of the components, composables, and utilities are listed at the end of this skill. Problem Use Category Native <button (click, submit, toggle) Button actions Overlay, dialog, or modal Dialog disclosure Popover or anchored overlay Popover disclosure Inline status / live region message Alert semantic Single choice state (tabs, theme picker) createSingle selection Multi choice state (filters, tag pickers) createSelection selection Select all with tri state createGroup selection Tree / nested selection (treeview, menus) createNested selection Wizard / carousel step tracking createStep selection Id based value store (shared across sub components) createModel selection Form with async validation + dirty tracking createForm + createValidation forms Slider / range / knob state createSlider forms Autocomplete / combobox createCombobox forms Spin button numeric input createNumberField / createNumeric forms One time password / verification code value createOtp forms Paginated or virtualized list createPagination , createVirtual data Sortable / filterable table DataTable / createDataTable , createFilter data Editable / spanning data grid DataGrid / createDataGrid data Breadcrumb trail derived from route createBreadcrumbs semantic Overflow / responsive menu (hides overflowing items) createOverflow semantic Type safe provide/inject createContext foundation Reactive registry of ids → values createRegistry registration Auto dismissing queue (snackbars, toasts) createQueue registration Undo/redo history createTimeline registration Design token graph (theme, spacing scales) createTokens registration Popover, tooltip, or menu position usePopover system Enter/leave animation orchestration usePresence system Focus containment (non native dialog, drawer) useFocusTrap system Roving tabindex (list, menubar) useRovingFocus system Virtual focus (combobox listbox) useVirtualFocus system Click outside / keyboard shortcut / event listener useClickOutside , useHotkey , useEventListener system Resize, intersection, or mutation observation useResizeObserver , useIntersectionObserver , useMutationObserver system rAF loop or setTimeout with pause/resume useRaf , useTimer system Responsive breakpoints useBreakpoints , useMediaQuery plugins Localized strings + date/number format useLocale , useDate plugins Theme (light/dark/custom palette) useTheme plugins RTL direction awareness useRtl plugins z index stacking for overlays useStack plugins Notifications / snackbar queue plugin useNotifications plugins Feature flags / permission checks useFeatures , usePermissions plugins Persisted state (localStorage / sessionStorage) useStorage plugins Structured logging with adapters useLogger plugins SSR safe mount detection useHydration plugins Rules Utilities Check these before writing a helper. In repo: v0/utilities . Published: @vuetify/v0/utilities . Type guards: isFunction , isString , isNumber , isBoolean , isObject , isArray , isNull , isUndefined , isNullOrUndefined , isPrimitive , isSymbol , isNaN , isElement mergeDeep , clamp , range , useId Browser checks IN BROWSER , SUPPORTS TOUCH , SUPPORTS MATCH MEDIA , SUPPORTS OBSERVER , SUPPORTS INTERSECTION OBSERVER , SUPPORTS MUTATION OBSERVER . In repo: v0/constants/globals . Published: @vuetify/v0/constants . Use these instead of typeof window . Reactivity shallowRef for primitives ref for objects and arrays toRef for derived values computed only to cache expensive work Compound components Root owns the state. Children are named sub components and read it through createContext . <! @generated:components <! Generated by scripts/generate skill.ts — do not edit by hand. Available components: Primitives: AspectRatio (stable), Atom (stable), Portal , Presence Providers: Group (stable), Locale , Scrim , Selection (stable), Single (stable), Step (stable), Theme (stable) Actions: Button , Toggle (stable) Forms: Checkbox (stable), Combobox , Form , Input , NumberField , Otp , Radio (stable), Rating , Select , Slider , Switch (stable) Disclosure: AlertDialog , Collapsible (stable), Dialog , ExpansionPanel , Menu , Popover , Tabs (stable), Tooltip , Tour , Treeview Semantic: Alert , Avatar , Breadcrumbs , Carousel , Image , Overflow , Pagination , Progress , Snackbar , Splitter Data: DataGrid , DataTable , Kanban , Virtualizer Planned (not yet exported — do not import): DatePicker , DateRangePicker , TimePicker <! @generated:components:end More compound examples: [references/component examples.md](references/component examples.md). Vuetify MCP When the Vuetify MCP server is connected, use it for a guide or a release note: vuetify mcp:get vuetify0 component list vuetify mcp:get vuetify0 composable list vuetify mcp:get vuetify0 component guide vuetify mcp:get vuetify0 composable guide vuetify mcp:get vuetify0 installation guide Resources Docs: https://0.vuetifyjs.com API reference: [references/REFERENCE.md](references/REFERENCE.md) Selection patterns: [references/selection patterns.md](references/selection patterns.md) Anti patterns: [references/anti patterns.md](references/anti patterns.md) Component vs composable: [references/layer decisions.md](references/layer decisions.md) Authoring a compound: [references/authoring guide.md](references/authoring guide.md) <! @generated:api <! Generated by scripts/generate skill.ts — do not edit by hand. Full API surface Public composables and utilities. (mature) , (stable) , and (draft) are marked. Unmarked entries are preview. Composables Foundation: createContext — Type safe dependency injection factory built on Vue's provide/inject. Shares state across component trees without prop drilling. (stable) createPlugin — Factory for creating Vue plugins with typed dependency injection and lifecycle hooks. (stable) createTrinity — Generates a typed [useX, provideX, defaultX] tuple for Vue's provide/inject dependency injection pattern. (stable) Registration: createQueue — FIFO queue for time based collections with automatic timeout removal and pause/resume support. createRegistry — Foundation for ordered, keyed collections. Items are registered with IDs and indexes, and can be looked up by ID, index, or value. (stable) createTimeline — Bounded undo/redo history built on createRegistry with a configurable size limit. createTokens — Design token registry with hierarchical collections, alias resolution, and namespace support. Forms: createCombobox — Low level combobox coordinator for custom implementations. Most users should use the Combobox component instead. createDatePicker — Headless date state with calendar grid geometry, single date and range modes, preset ranges, min/max bounds, and disabled date rules. Composable first, without an @internationalized/date dependency. (draft) createForm — Coordinates validation across multiple inputs. Provides submit() , reset() , and aggregate validity state. createInput — Shared form field primitive with validation state, ARIA ID generation, and automatic form registration. createNumberField — Numeric value with locale aware formatting, step snapping, min/max/step bounds, and parse/commit for text input. createNumeric — Pure numeric math for bounded values with step snapping, range clamping, and floating point precision correction. createOtp — Fixed length one time password or verification code value with pattern gated entry and completion detection. createRating — Bounded number with discrete items. Give it a size, get items to iterate with full/half/empty state. Half step support for 0.5 increments. createSlider — Slider state composable for single thumb, range, and multi thumb sliders. Handles value math, step snapping, and percentage conversion. createTimePicker — Segmented time value with hour, minute, and second fields, 12/24 hour modes, meridiem handling, step snapping, and min/max bounds. (draft) createValidation — Per input validation with reactive rules, async validation, and Standard Schema support. Selection: createGroup — Multi selection with tri state (mixed/indeterminate) support for checkbox trees, grouped toggles, and any pattern where items can be partially selected. (stable) createModel — Reactive value store that wraps a ref with two way selection binding. (stable) createNested — Hierarchical tree management built on createGroup , with parent child relationships, open/close state, and pluggable traversal strategies. (stable) createSelection — A composable for managing the selection of items in a collection with automatic indexing and lifecycle management. (stable) createSingle — Extends createSelection to enforce single item selection, automatically clearing the previous selection. (stable) createStep — Extends createSingle with bounded or circular navigation. Built for wizards, multi step forms, and onboarding flows. (stable) Data: createDataGrid — A headless data grid with column layout, cell editing, row ordering, and row spanning. createDataTable — Composable data table built on v0 primitives. Composes sorting, filtering, pagination, selection, and expansion into a single pipeline. createFilter — A composable for filtering arrays of items based on search queries, supporting both primitive values and complex objects with customizable filtering logic. createKanban — Two level board state for columns of cards, with column reorder, in column reorder, and a cross column transfer primitive. createPagination — A lightweight composable for managing pagination state with navigation methods and computed visible page items. createSortable — Ordered list state with move , swap , and reorder mutations. createVirtual — Virtual scrolling composable for efficiently rendering large lists by only rendering visible items. Semantic: createBreadcrumbs — A composable that extends createSingle for breadcrumb navigation with automatic path truncation. createOverflow — Computes how many items fit in a container based on available width, for responsive truncation in pagination, breadcrumbs, and similar UIs. createProgress — A composable for tracking progress across one or more segments, with percentage computation and indeterminate state detection. Plugins: useBreakpoints — Reac