71 roles mapped · Carbon parity contract

From Carbon

Avala adopts Carbon's role taxonomy verbatim — every token name maps 1:1. Most values diverge to track Avala's brand. This is the rename + value-override map for adopters cutting over from Carbon.

Value override63
Identical5
Avala extension3

Diff legend. identical = byte-equivalent value. value-override = same role, Avala ships a different value. extended = Avala-only role with no Carbon counterpart. dropped = Carbon role intentionally not adopted.

SampleCarbon roleAvala roleDiffNotes
backgroundbackgroundValue overrideCarbon g100=#161616. Avala g100=#121212 (deeper, brand override).
background-hoverbackground-hoverValue override
background-activebackground-activeValue override
background-selectedbackground-selectedValue override
background-selected-hoverbackground-selected-hoverValue override
background-inversebackground-inverseValue override
background-brandbackground-brandValue overrideAvala = brand orange #FF5C00.
layer-01layer-01Value overrideCarbon=#262626, Avala=#1A1A1A.
layer-02layer-02Value override
layer-03layer-03Value override
layer-hover-01layer-hover-01Value override
layer-hover-02layer-hover-02Value override
layer-hover-03layer-hover-03Value override
layer-active-01layer-active-01Value override
layer-selected-01layer-selected-01Value override
layer-selected-inverselayer-selected-inverseIdentical
layer-accent-01layer-accent-01Value override
field-01field-01Value override
field-02field-02Value override
field-03field-03Value override
field-hover-01field-hover-01Value override
border-subtle-00border-subtle-00Value override
border-subtle-01border-subtle-01Value override
border-strong-01border-strong-01Value override
border-tile-01border-tile-01Value override
border-inverseborder-inverseIdentical
border-interactiveborder-interactiveValue overrideAvala = brand orange.
border-disabledborder-disabledValue override
text-primarytext-primaryIdentical
text-secondarytext-secondaryValue override
text-placeholdertext-placeholderValue override
text-helpertext-helperValue override
text-errortext-errorValue overrideAvala g100=#FA4D56 (Carbon-aligned, AA contrast on layer-01 5.0:1).
text-disabledtext-disabledValue override
text-inversetext-inverseValue override
text-on-colortext-on-colorIdentical
text-on-color-disabledtext-on-color-disabledValue override
support-successsupport-successValue overrideAvala #50CC3D (locked review-state).
support-warningsupport-warningValue overrideAvala #F7B100 (locked).
support-errorsupport-errorValue overrideAvala #D93636 (locked) — distinct from text-error which is contrast-tuned.
support-infosupport-infoValue overrideAvala #6FC1E0 — Carbon's blue, Avala-tuned.
notification-background-errornotification-background-errorValue override
notification-background-successnotification-background-successValue override
notification-background-warningnotification-background-warningValue override
notification-background-infonotification-background-infoValue override
interactiveinteractiveValue overrideAvala = brand orange #FF5C00.
focusfocusValue overrideCarbon=white. Avala=#FF5C00 (brand orange, 5.5:1 contrast on canvas).
focus-insetfocus-insetValue override
focus-inversefocus-inverseIdentical
button-primarybutton-primaryValue override
button-secondarybutton-secondaryValue override
button-tertiarybutton-tertiaryValue override
button-danger-primarybutton-danger-primaryValue override
button-disabledbutton-disabledValue override
tag-background-redtag-background-redValue override
tag-background-magentatag-background-magentaValue override
tag-background-purpletag-background-purpleValue override
tag-background-bluetag-background-blueValue override
tag-background-cyantag-background-cyanValue override
tag-background-tealtag-background-tealValue override
tag-background-greentag-background-greenValue override
tag-background-graytag-background-grayValue override
tag-background-cool-graytag-background-cool-grayValue override
tag-background-warm-graytag-background-warm-grayValue override
ai-overlayai-overlayValue overrideCarbon: aiOverlay. Avala renders the same role with brand-orange tone.
ai-popover-backgroundai-popover-backgroundValue override
ai-aura-startai-aura-startValue overrideCarbon=blue. Avala=#FF5C00 @ 40%.
ai-border-strongai-border-strongValue override
av-card-gradient-start / -endAvala extensionAvala extension for marketing card backgrounds. No Carbon equivalent.
av-status-pending / -overlookedAvala extensionAvala review-state extensions beyond Carbon's quartet.
av-locked-status-success / -warning / -error / -infoAvala extensionLocked review-state palette (cannot be overridden).

Cutover plan

  1. Replace @carbon/themes with @avala/design-tokens. Tokens emit identical CSS variable names; the swap is a single import-line change.
  2. Replace @carbon/react with @avala/design. Component import paths differ; the API surface mirrors Carbon for the 30+ components Avala has shipped.
  3. Wire the brand × tone matrix — pick a brand for your surface, then optionally toggle g10 (light) at runtime.
  4. Add the locked review-state quartet to your stylelint allowlist. Avala enforces these via governance.