Add, rename and remove shadcn/ui variants and sizes in DS Manager, and style hover, focus, pressed, disabled and other component states.
Variants, sizes and states are dropdowns at the top of a component's Style tab. Each menu picks which specimen you edit, and the Variant and Size menus are also where you add values of your own.
On a component page, the Style tab opens with the root part selected and every menu on its default. The rows depend on the component: a Button has Variant and Size, an Avatar has Size, a Separator has Orientation, and a component with no variants has none.
An edit goes to the rule that sets the property. If you change the background with Variant on outline, only outline buttons change. If you change the radius, which the base rule sets, every variant changes. Clicking a matrix cell or ⌘-clicking a specimen sets the menus for you. See Editing components for more on selecting parts.

brand or brand-subtle.The menus switch to the new value, and you style it like any other. It is exported as a real cva key, so in your project you write <Button variant="brand">.
The dialog explains a name it refuses, for example "Variant name is required." or "Brand" must be kebab-case, e.g. "brand" or "brand-subtle". A name the axis already has is refused too.
Only the Variant and Size axes take new values. Axes like Orientation have no Add new… row. You can also start from the command menu: press ⌘K and run "Add a variant to Button…".
Values you added sit in the menus next to the built-in ones. When a component has any, a Manage custom variants button appears under the menus.
A rename changes the cva key. Code in your project that still uses the old name has to be updated by hand.
The built-in shadcn/ui variants can't be renamed or removed, because components in your project rely on them. Restyle them instead.
The State menu lists Default, then only the states that the component's rules already style:
You can't add a state that the component does not have. A component with no states shows no State menu.
Under a divider, the same menu lists parts drawn with ::before and ::after, such as Underline and Marker, when the component has them.
hover:bg-primary/80 or disabled:opacity-50.DS Manager shows Selected, Open, Disabled and Invalid on the canvas while you edit them. Hover and focus can't be held on, so the rail tells you to "Hover the element on the canvas to see this state." or "Tab to the element on the canvas to see this state."
A control whose value comes from the resting element is dimmed. It is still editable: typing a value gives the state its own.
To see or add the raw classes for a state, open the Utilities tab. Classes are grouped by state there, and + Add in a state group writes the prefix for you.