Enum StyleVariantKind
- Namespace
- Velvet
- Assembly
- Velvet.Docs.dll
State-variant kinds for utility classes — the hover: / focus: /
active: / disabled: prefixes.
public enum StyleVariantKind
Fields
Active = 3Checked = 4Container = 23Dark = 10Disabled = 20Focus = 1FocusVisible = 2GroupActive = 14GroupDisabled = 21GroupFocus = 12GroupFocusWithin = 13GroupHover = 11Hover = 0Lg = 7Md = 6PeerActive = 18PeerChecked = 19PeerDisabled = 22PeerFocus = 16PeerFocusWithin = 17PeerHover = 15Sm = 5Xl = 8Xxl = 9
Remarks
A classification answering for every kind — which signal source drives one, which layer it occupies — is
a Velvet.VariantKindTable<T> built from one entry per member, and VariantKindTableTests
fails for a table missing a member. 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.
The switches over the smaller enums beside this one are written without a discard arm instead, so
adding a member raises CS8509 at each site that has to learn it. Those sites suppress CS8524: 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, and answering that error with a
discard arm would put the silence back, so ExhaustiveSwitchSeverityTests holds both halves at
once. This enum cannot take the same form: a switch naming every member costs VEL501 one branching
decision per member, and it has more members than that cap.