Shadcn vue skilld
Skill skilld-dev/vue-ecosystem-skills/skills/shadcn-vue-skilld
Add components to your apps. ALWAYS use when writing code importing "shadcn-vue". Consult for debugging, best practices, or modifying shadcn-vue, shadcn vue.From its SKILL.md
npx -y skills add skilld-dev/vue-ecosystem-skills --skill shadcn-vue-skilldAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
SKILL.md
5.1 KB, as published. Nobody here has run it
unovue/shadcn-vue [email protected]
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