v10 @carbon/themes

Themes

Tokenwhite themeg10 themeg80 themeg90 themeg100 themev9 theme
ui-background
white-0
gray-10
gray-80
gray-90
gray-100
#f4f7fb
interactive-01
blue-60
blue-60
blue-60
blue-60
blue-60
#3d70b2
interactive-02
gray-80
gray-80
gray-60
gray-60
gray-60
cool-gray-70
interactive-03
blue-60
blue-60
white-0
white-0
white-0
#3d70b2
interactive-04
blue-60
blue-60
blue-40
blue-50
blue-50
#3d70b2
brand-01
blue-60
blue-60
blue-60
blue-60
blue-60
#3d70b2
brand-02
gray-80
gray-80
gray-60
gray-60
gray-60
cool-gray-70
brand-03
blue-60
blue-60
white-0
white-0
white-0
#3d70b2
danger
red-60
red-60
red-60
red-60
red-60
red-60
danger-01
red-60
red-60
red-60
red-60
red-60
red-60
danger-02
red-60
red-60
red-40
red-40
red-50
red-60
ui-01
gray-10
white-0
gray-70
gray-80
gray-90
white-0
ui-02
white-0
gray-10
gray-70
gray-70
gray-80
#f4f7fb
ui-03
gray-20
gray-20
gray-60
gray-70
gray-80
#dfe3e6
ui-04
gray-50
gray-50
gray-40
gray-50
gray-60
#8897a2
ui-05
gray-100
gray-100
gray-10
gray-10
gray-10
#5a6872
text-01
gray-100
gray-100
gray-10
gray-10
gray-10
#152935
text-02
gray-70
gray-70
gray-30
gray-30
gray-30
#5a6872
text-03
gray-40
gray-40
gray-60
gray-60
gray-60
#cdd1d4
text-04
white-0
white-0
white-0
white-0
white-0
white-0
text-05
gray-60
gray-60
gray-40
gray-50
gray-50
#5a6872
text-error
red-60
red-60
red-30
red-30
red-40
#e0182d
link-01
blue-60
blue-60
blue-40
blue-40
blue-40
#3d70b2
link-02
blue-70
blue-70
blue-30
blue-30
blue-30
#3d70b2
icon-01
gray-100
gray-100
gray-10
gray-10
gray-10
#3d70b2
icon-02
gray-70
gray-70
gray-30
gray-30
gray-30
#5a6872
icon-03
white-0
white-0
white-0
white-0
white-0
white-0
field-01
gray-10
white-0
gray-70
gray-80
gray-90
white-0
field-02
white-0
gray-10
gray-60
gray-70
gray-80
#f4f7fb
inverse-01
white-0
white-0
gray-100
gray-100
gray-100
white-0
inverse-02
gray-80
gray-80
gray-10
gray-10
gray-10
#272d33
support-01
red-60
red-60
red-40
red-40
red-50
#e0182d
support-02
green-60
green-60
green-40
green-40
green-40
#5aa700
support-03
yellow-30
yellow-30
yellow-30
yellow-30
yellow-30
#efc100
support-04
blue-70
blue-70
blue-50
blue-50
blue-50
#5aaafa
inverse-support-01
red-50
red-50
red-60
red-60
red-60
#ff5050
inverse-support-02
green-40
green-40
green-50
green-50
green-50
#8cd211
inverse-support-03
yellow-30
yellow-30
yellow-30
yellow-30
yellow-30
#FDD600
inverse-support-04
blue-50
blue-50
blue-60
blue-60
blue-60
#5aaafa
overlay-01
rgba(22, 22, 22, 0.5)
rgba(22, 22, 22, 0.5)
rgba(0, 0, 0, 0.65)
rgba(0, 0, 0, 0.65)
rgba(0, 0, 0, 0.65)
rgba(223, 227, 230, 0.5)
background
white-0
gray-10
gray-80
gray-90
gray-100
#f4f7fb
layer
gray-10
white-0
gray-70
gray-80
gray-90
white-0
layer-accent
gray-20
gray-20
gray-60
gray-70
gray-80
#dfe3e6
layer-accent-hover
gray-20Hover
gray-20Hover
gray-60Hover
gray-70Hover
gray-80Hover
#ced4d9
layer-accent-active
gray-40
gray-40
gray-70
gray-50
gray-60
gray-40
field
gray-10
white-0
gray-70
gray-80
gray-90
white-0
background-inverse
gray-80
gray-80
gray-10
gray-10
gray-10
#272d33
background-brand
blue-60
blue-60
blue-60
blue-60
blue-60
#3d70b2
interactive
blue-60
blue-60
blue-40
blue-50
blue-50
#3d70b2
border-subtle
gray-20
gray-20
gray-60
gray-70
gray-80
#dfe3e6
border-strong
gray-50
gray-50
gray-40
gray-50
gray-60
#8897a2
border-inverse
gray-100
gray-100
gray-10
gray-10
gray-10
#5a6872
border-interactive
blue-60
blue-60
blue-50
blue-50
blue-50
#3d70b2
text-primary
gray-100
gray-100
gray-10
gray-10
gray-10
#152935
text-secondary
gray-70
gray-70
gray-30
gray-30
gray-30
#5a6872
text-placeholder
gray-40
gray-40
gray-60
gray-60
gray-60
#cdd1d4
text-helper
gray-60
gray-60
gray-40
gray-50
gray-50
#5a6872
text-on-color
white-0
white-0
white-0
white-0
white-0
white-0
text-inverse
white-0
white-0
gray-100
gray-100
gray-100
white-0
link-primary
blue-60
blue-60
blue-40
blue-40
blue-40
#3d70b2
link-secondary
blue-70
blue-70
blue-30
blue-30
blue-30
#3d70b2
link-visited
purple-60
purple-60
purple-40
purple-40
purple-40
#294c86
link-inverse
blue-40
blue-40
blue-60
blue-60
blue-60
#5596e6
icon-primary
gray-100
gray-100
gray-10
gray-10
gray-10
#3d70b2
icon-secondary
gray-70
gray-70
gray-30
gray-30
gray-30
#5a6872
icon-on-color
white-0
white-0
white-0
white-0
white-0
white-0
icon-inverse
white-0
white-0
gray-100
gray-100
gray-100
white-0
support-error
red-60
red-60
red-40
red-40
red-50
#e0182d
support-success
green-60
green-60
green-40
green-40
green-40
#5aa700
support-warning
yellow-30
yellow-30
yellow-30
yellow-30
yellow-30
#efc100
support-info
blue-70
blue-70
blue-50
blue-50
blue-50
#5aaafa
support-error-inverse
red-50
red-50
red-60
red-60
red-60
#ff5050
support-success-inverse
green-40
green-40
green-50
green-50
green-50
#8cd211
support-warning-inverse
yellow-30
yellow-30
yellow-30
yellow-30
yellow-30
#FDD600
support-info-inverse
blue-50
blue-50
blue-60
blue-60
blue-60
#5aaafa
overlay
rgba(22, 22, 22, 0.5)
rgba(22, 22, 22, 0.5)
rgba(0, 0, 0, 0.65)
rgba(0, 0, 0, 0.65)
rgba(0, 0, 0, 0.65)
rgba(223, 227, 230, 0.5)
toggle-off
gray-50
gray-50
gray-50
gray-50
gray-60
#8897a2
shadow
rgba(0, 0, 0, 0.3)
rgba(0, 0, 0, 0.3)
rgba(0, 0, 0, 0.8)
rgba(0, 0, 0, 0.8)
rgba(0, 0, 0, 0.8)
rgba(0, 0, 0, 0.3)
button-primary
blue-60
blue-60
blue-60
blue-60
blue-60
#3d70b2
button-secondary
gray-80
gray-80
gray-60
gray-60
gray-60
cool-gray-70
button-tertiary
blue-60
blue-60
white-0
white-0
white-0
#3d70b2
button-danger-primary
red-60
red-60
red-60
red-60
red-60
red-60
button-danger-secondary
red-60
red-60
red-40
red-40
red-50
red-60
focus
blue-60
blue-60
white-0
white-0
white-0
#3d70b2
inverse-focus-ui
white-0
white-0
blue-60
blue-60
blue-60
#3d70b2
hover-primary
#0353e9
#0353e9
#0151e4
#0353e9
#0353e9
#30588c
hover-primary-text
blue-70
blue-70
blue-30
blue-30
blue-30
#294c86
hover-secondary
#4c4c4c
#4c4c4c
gray-60Hover
#606060
#606060
#4d5b65
hover-tertiary
#0353e9
#0353e9
white-0
gray-10
gray-10
#5a6872
hover-ui
#e5e5e5
#e5e5e5
gray-80Hover
#4c4c4c
#353535
#EEF4FC
hover-light-ui
#e5e5e5
#e5e5e5
#5E5E5E
#656565
#4c4c4c
#EEF4FC
hover-selected-ui
#cacaca
#cacaca
#616161
#656565
#4c4c4c
#DFEAFA
hover-danger
#b81921
#b81921
#b81921
#b81921
#b81921
#c70014
hover-row
#e5e5e5
#e5e5e5
gray-70Hover
#4c4c4c
#353535
#eef4fc
active-primary
blue-80
blue-80
blue-80
blue-80
blue-80
#30588c
active-secondary
gray-60
gray-60
gray-70
gray-80
gray-80
#414f59
active-tertiary
blue-80
blue-80
gray-30
gray-30
gray-30
#414f59
active-ui
gray-30
gray-30
gray-70
gray-60
gray-70
#DFEAFA
active-light-ui
gray-30
gray-30
gray-50
gray-50
gray-60
#DFEAFA
active-danger
red-80
red-80
red-80
red-80
red-80
#AD1625
selected-ui
gray-20
gray-20
gray-70
gray-70
gray-80
#EEF4FC
selected-light-ui
gray-20
gray-20
gray-50
gray-60
gray-70
#EEF4FC
highlight
blue-20
blue-20
blue-70
blue-70
blue-80
#f4f7fb
skeleton-01
#e5e5e5
#e5e5e5
gray-80Hover
#353535
#353535
rgba(61, 112, 178, .1)
skeleton-02
gray-30
gray-30
gray-60
gray-70
gray-70
rgba(61, 112, 178, .1)
disabled-01
gray-10
white-0
gray-70
gray-80
gray-90
#fafbfd
disabled-02
gray-30
gray-30
gray-50
gray-60
gray-70
#dfe3e6
disabled-03
gray-50
gray-50
gray-30
gray-40
gray-50
#cdd1d4
inverse-hover-ui
#4c4c4c
#4c4c4c
white-hover
#e5e5e5
#e5e5e5
#4c4c4c
active-01
gray-30
gray-30
gray-70
gray-60
gray-70
#DFEAFA
hover-field
#e5e5e5
#e5e5e5
gray-80Hover
#4c4c4c
#353535
#EEF4FC
decorative-01
gray-20
gray-20
gray-60
gray-60
gray-70
#EEF4FC
button-separator
gray-20
gray-20
gray-100
gray-100
gray-100
gray-20
background-active
gray-30
gray-30
gray-70
gray-60
gray-70
#DFEAFA
layer-active
gray-30
gray-30
gray-60
gray-60
gray-70
#DFEAFA
button-danger-active
red-80
red-80
red-80
red-80
red-80
#AD1625
button-primary-active
blue-80
blue-80
blue-80
blue-80
blue-80
#30588c
button-secondary-active
gray-60
gray-60
gray-70
gray-80
gray-80
#414f59
button-tertiary-active
blue-80
blue-80
gray-30
gray-30
gray-30
#414f59
focus-inset
white-0
white-0
gray-100
gray-100
gray-100
white-0
focus-inverse
white-0
white-0
blue-60
blue-60
blue-60
#3d70b2
background-hover
#e5e5e5
#e5e5e5
gray-80Hover
#4c4c4c
#353535
#EEF4FC
layer-hover
#e5e5e5
#e5e5e5
gray-70Hover
#4c4c4c
#353535
#EEF4FC
field-hover
#e5e5e5
#e5e5e5
gray-70Hover
#4c4c4c
#353535
#EEF4FC
background-inverse-hover
#4c4c4c
#4c4c4c
white-hover
#e5e5e5
#e5e5e5
#4c4c4c
link-primary-hover
blue-70
blue-70
blue-30
blue-30
blue-30
#294c86
button-danger-hover
#b81921
#b81921
#b81921
#b81921
#b81921
#c70014
button-primary-hover
#0353e9
#0353e9
#0151e4
#0353e9
#0353e9
#30588c
button-secondary-hover
#4c4c4c
#4c4c4c
gray-60Hover
#606060
#606060
#4d5b65
button-tertiary-hover
#0353e9
#0353e9
white-0
gray-10
gray-10
#5a6872
background-selected
gray-20
gray-20
gray-70
gray-70
gray-80
#EEF4FC
background-selected-hover
#cacaca
#cacaca
gray-70Hover
#656565
#4c4c4c
#DFEAFA
layer-selected
gray-20
gray-20
gray-60
gray-70
gray-80
#EEF4FC
layer-selected-hover
#cacaca
#cacaca
#616161
#656565
#4c4c4c
#DFEAFA
layer-selected-inverse
gray-100
gray-100
gray-10
gray-10
gray-10
#5a6872
border-subtle-selected
gray-30
gray-30
gray-50
gray-60
gray-70
#DFEAFA
border-disabled
gray-10
white-0
gray-70
gray-80
gray-90
#fafbfd
text-disabled
gray-30
gray-30
gray-50
gray-60
gray-70
#dfe3e6
button-disabled
gray-30
gray-30
gray-50
gray-60
gray-70
#dfe3e6
icon-disabled
gray-30
gray-30
gray-50
gray-60
gray-70
#dfe3e6
text-on-color-disabled
gray-50
gray-50
gray-30
gray-40
gray-50
#cdd1d4
icon-on-color-disabled
gray-50
gray-50
gray-30
gray-40
gray-50
#cdd1d4
layer-selected-disabled
gray-50
gray-50
gray-30
gray-40
gray-50
#cdd1d4
skeleton-background
#e5e5e5
#e5e5e5
gray-80Hover
#353535
#353535
rgba(61, 112, 178, .1)
skeleton-element
gray-30
gray-30
gray-60
gray-70
gray-70
rgba(61, 112, 178, .1)

Theming

Basic component theming

My component
My themed component
Code
@mixin my-component() {
  .my-component {
    color: $interactive-02;
  }
}

// Include default `$interactive-02` styling
@include my-component();

// Include themed `$interactive-02` styling from g100 theme
@include carbon--theme($carbon--theme--g100) {
  .theme {
    @include my-component();
  }
}

Custom tokens

My custom token component
My custom token component
Code

$default-custom-theme: map-merge(
  $carbon--theme--white,
  (
    custom-token-01: #171717,
  )
);
$custom-token-01: map-get(
  $default-custom-theme,
  custom-token-01
) !default !global;

@mixin my-custom-token-component() {
  .my-custom-token-component {
    color: $interactive-01;
  }

  .my-custom-token-component .custom-token {
    color: $custom-token-01;
  }
}

@include my-custom-token-component();

@mixin custom-theme($theme: $default-custom-theme) {
  @include carbon--theme($theme) {
    $custom-token-01: map-get($theme, custom-token-01) !global;
    @content;
  }

  @if $theme != $default-custom-theme {
    @include custom-theme($default-custom-theme);
  }
}

$custom-theme: map-merge(
  $default-custom-theme,
  (
    interactive-01: #ee538b,
    custom-token-01: #8a3ffc,
  )
);

.theme {
  @include custom-theme($custom-theme) {
    @include my-custom-token-component();
  }
}

Custom Properties

Current theme: white

Change theme

Tokens

field-01
field-02
inverse-01
inverse-02