shadcn-vue-skilld
unovue/shadcn-vue shadcn-vue@2.6.2
Tags: radix: 0.11.4, latest: 2.6.2
References: Docs
API Changes
This section documents version-specific API changes — prioritize recent major/minor releases.
-
BREAKING:
Separatorlabel props removed — labels inSeparatorare no longer supported in Tailwind v3 configurations since v2.2.0 source -
BREAKING:
vue-sonnerv2 update — requires manual update ofToastercomponent for compatibility with the latest version source -
BREAKING: HSL colors converted to OKLCH — default color space changed to OKLCH in v2.0.0, affecting custom CSS variable logic source
-
BREAKING:
NavigationMenuLinkstate change — now usesdata-activeinstead of previous state indicators to matchreka-uisource -
BREAKING:
ChartshowGradientprop — corrected typo in prop name fromshowGradianttoshowGradientin v2.3.0 source -
DEPRECATED:
toastcomponent — officially deprecated in favor ofsonner; currenttoastimplementations should be migrated source -
DEPRECATED:
defaultstyle — phased out in v2.0.0; new projects are initialized withnew-yorkby default source -
NEW: Tailwind v4 support — introduces full integration with the Tailwind v4 engine and
@themedirective source -
NEW:
NativeSelectmodelValue— provides nativev-modelsupport for theNativeSelectcomponent source -
NEW:
Kbdcomponent — keyboard key display component for shortcuts and UI documentation source -
NEW:
Button-groupcomponent — new layout component specifically for grouping related button actions source -
NEW:
Spinnercomponent — added dedicated loading spinner component to the registry source -
NEW:
PinInputgeneric types — enhanced type safety forPinInputallowing custom value types source -
NEW:
data-slotattributes — added to all primitives to simplify granular styling in complex components source
Also changed: Stepper slot props binding fix · Sidebar cookie state · size-* utility support · phosphor and tabler icon support
Best Practices
-
Prefer CSS variables over utility classes for theming to enable dynamic runtime adjustments and easier maintenance of complex color schemes source
-
Omit the
backgroundsuffix when using variables for background colors in utility classes; for example,bg-primaryautomatically maps to the--primaryvariable source -
Build sidebars by composing sub-components (
SidebarProvider,SidebarContent,SidebarGroup, etc.) rather than a single monolithic component to maintain flexibility and customization source -
Avoid the legacy
Formcomponent; useVeeValidateorTanStack Formintegrations for more robust, actively maintained form handling and validation patterns source -
Utilize the
valueUpdaterhelper when managing TanStack Table state in Vue to correctly handle both direct value assignments and functional state transformations source
export function valueUpdater<T extends Updater<any>>(updaterOrValue: T, ref: Ref) {
ref.value = typeof updaterOrValue === 'function'
? updaterOrValue(ref.value)
: updaterOrValue
}
-
Enable automatic sidebar state persistence across page reloads by providing a
storageKeyprop to theSidebarProvidercomponent source -
Leverage the default
cmd+borctrl+bkeyboard shortcuts provided bySidebarProviderto toggle sidebar visibility without manual event listeners source -
Treat the code in
Sidebar*.vue(and other added UI components) as your own project code; you are explicitly encouraged to modify the source to suit specific design needs source -
Build custom data tables from headless primitives and the basic
<Table />component instead of looking for a pre-built, configuration-heavy "DataTable" component source -
(experimental) Use the
buildcommand andregistry.jsonschema to create and share your own custom component registries for internal or community use source
More from harlan-zw/vue-ecosystem-skills
vue-skilld
The progressive JavaScript framework for building modern web UI. ALWAYS use when editing or working with *.vue files or code importing \"vue\". Consult for debugging, best practices, or modifying vue, core.
193pinia-skilld
Intuitive, type safe and flexible Store for Vue. ALWAYS use when writing code importing \"pinia\". Consult for debugging, best practices, or modifying pinia.
159vue-i18n-skilld
Internationalization plugin for Vue.js. ALWAYS use when writing code importing \"vue-i18n\". Consult for debugging, best practices, or modifying vue-i18n, vue i18n.
154vuetify-skilld
Vue Material Component Framework. ALWAYS use when writing code importing \"vuetify\". Consult for debugging, best practices, or modifying vuetify.
138pinia-colada-skilld
The smart data fetching layer for Vue.js. ALWAYS use when writing code importing \"@pinia/colada\". Consult for debugging, best practices, or modifying @pinia/colada, pinia/colada, pinia colada, pinia-colada.
128vueuse-core-skilld
Collection of essential Vue Composition Utilities. ALWAYS use when writing code importing \"@vueuse/core\". Consult for debugging, best practices, or modifying @vueuse/core, vueuse/core, vueuse core, vueuse.
116