Table of Contents

Enum StyleVariantKind

Namespace
Velvet
Assembly
Velvet.Docs.dll

State-variant kinds for utility classes — the hover: / focus: / active: prefixes.

public enum StyleVariantKind

Fields

Active = 3
Checked = 4
Dark = 10
Focus = 1
FocusVisible = 2
GroupActive = 14
GroupFocus = 12
GroupFocusWithin = 13
GroupHover = 11
Hover = 0
Lg = 7
Md = 6
PeerActive = 18
PeerChecked = 19
PeerFocus = 16
PeerFocusWithin = 17
PeerHover = 15
Sm = 5
Xl = 8
Xxl = 9

Remarks

disabled: is intentionally absent: UI Toolkit has no reliable "enabled changed" event to drive a manipulator, so disabled-state styling stays on the USS :disabled pseudo-class (the curated disabled-* utilities). Responsive (sm:/md:), dark:, and group/peer are tracked separately (they need a breakpoint / theme / structural signal source).

Every switch that CLASSIFIES these kinds — which signal source drives one, which layer it occupies — is written without a discard arm, so adding a member here raises CS8509 at each site that has to learn it. A set of independent is X or Y predicates cannot report a member matching none, and that is what left checked:, the two focus-within relationals and peer-checked: unclassified and inert as the inner of a stacked variant. Those sites suppress CS8524 instead: it asks for an arm covering an out-of-range cast, which no named member can supply.

That signal is load-bearing, so Runtime/csc.rsp compiles CS8509 as an error: a member added without an arm at one of these sites fails this assembly's build rather than warning into a log nothing gates on. Answering that error with a discard arm would put the silence back, so ExhaustiveSwitchSeverityTests holds both halves at once.