Enum StyleVariantKind
- Namespace
- Velvet
- Assembly
- Velvet.Docs.dll
State-variant kinds for utility classes — the hover: / focus: /
active: prefixes.
public enum StyleVariantKind
Fields
Active = 3Checked = 4Dark = 10Focus = 1FocusVisible = 2GroupActive = 14GroupFocus = 12GroupFocusWithin = 13GroupHover = 11Hover = 0Lg = 7Md = 6PeerActive = 18PeerChecked = 19PeerFocus = 16PeerFocusWithin = 17PeerHover = 15Sm = 5Xl = 8Xxl = 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.