Variant naming matrix

Type: Comparative view
Status: Active derived view
Canonical for: The controlled public Button-property sample across mature design systems
Depends on: Linked first-party component documentation; interpretation follows the reconciliation

This is a controlled Button sample. “Meaning” describes the dominant documented dimension, not an assumed dictionary meaning.

SystemPublic property / mechanismValues sampledDominant documented meaningMixing or separationSource
IBM Carbonkindprimary, secondary, tertiary, danger, ghosthierarchy + consequence + appearancemixedusage
Atlassianappearancedefault, primary, subtle, warning, danger, discovery, rovoprominence + consequence + experience identityhighly mixedButton
Microsoft Fluent 2appearanceprimary, secondary, outline, subtle, transparentprominence and visual treatmentmixed; prose supplies hierarchyReact Button usage
Adobe Spectrum WCvariant; treatment; static-coloraccent/primary/secondary/negative; fill/outline; black/whiteemphasis/consequence; treatment; context colorpartially separatedButton
React Spectrumvariant; styleaccent/primary/secondary/negative; fill/outlinevisual style/emphasis; treatmentpartially separatedButton
GitLab Pajamascategory; variant; state propsprimary/secondary/tertiary; default/confirm/danger/linkvisual emphasis; action meaning; statesubstantially separatedButton
Shopify Polaris WCvariant; tone; colorcomponent-dependent; critical/success/info; subdued/strongrendering; semantic color group; intensityseparated dimensionsweb components
GitHub Primervariantdefault, primary, danger, invisible, linkvisual style with hierarchy/consequencemixedButton
Material Webseparate component typesfilled, filled-tonal, outlined, elevated, textappearance with documented emphasistype split; usage in proseButton
GOV.UKCSS modifierssecondary, warning, inversehierarchy; consequence; contextmixed modifier namespaceButton
USWDSCSS modifierssecondary, accent-cool/warm, base, outline, inverse, big, unstyledcolor, appearance, context, sizemixed modifier namespaceButton
PatternFlyvariants/typesprimary, secondary, tertiary, danger, link, icon, CTA, progresshierarchy + consequence + form/behaviormixedguidelines
Salesforce Lightningvariantneutral, base, brand, brand-outline, destructive, destructive-text, inverse, successbrand/color + treatment + consequence + contexthighly mixedlightning-button
Base Webkindprimary, secondary, tertiary, minimalaction hierarchysingle relative axisButton
Radix Themesvariant; color; highContrast; loadingclassic, solid, soft, surface, outline, ghostappearance; color; contrast; statecleanly separated, little intentButton

Observed patterns

  • Documented: variant, kind and appearance do not have stable cross-system meanings.
  • Documented: some systems use appearance labels and attach use guidance in prose; others put consequence terms beside hierarchy terms in the same enum.
  • Demonstrated: GitLab, Spectrum, Shopify and Radix show that orthogonal axes can be represented separately in public APIs.
  • Not established: public documentation does not show that any of these architectures produces higher LLM selection accuracy.

Beyond Button sample

Feedback components commonly use info, success, warning, critical and neutral, usually as status/tone rather than hierarchy. Selection components expose states (selected, checked, disabled) that are closer to stable platform semantics. Surfaces use appearance/context words such as raised, elevated, subtle and inverse. The recurrence of the same words in different dimensions confirms that the issue is broader than Button, but Button remains the cleanest controlled comparison.