icon-action
The icon-action component consists of two parts, the icon-action and it’s child icon component. Because icon-actions only contain an icon as its content, it’s important to add an aria-label attribute with a label of what the action does for accessibility.
<button class="icon-action" aria-label="Close button">
  <svg role="img" class="icon">
    <!-- SVG markup or link ID goes here... -->
  </svg>
</button>
Disabled
When disabled using the disabled attribute, an icon-action will inherit styles to visually appear noninteractive.
<button class="icon-action" disabled>
  <svg role="img" class="icon">
    <!-- SVG markup or link ID goes here... -->
  </svg>
</button>
Loading
Icon-actions can also have a loading state by adding the is-loading state class. This is useful when an icon-action has an action that has a delayed response in order to give users a visual indicator that their action is being processed.
<button class="icon-action is-loading" disabled>
  <svg role="img" class="icon">
    <!-- SVG markup or link ID goes here... -->
  </svg>
</button>
icon-action_invert
A boolean icon-action modifier that allows icon-actions and their modifiers to provide an inversed version of themselves. Since not all icon-action styles require an inversed variant, this is typically used for when the background context of a button matters. Can be combined with icon-action_subtle boolean modifier.
<button class="icon-action" aria-label="...">...</button>
<button class="icon-action icon-action_invert" aria-label="...">...</button>
Available Combinations
icon-action icon-action_inverticon-action icon-action_invert icon-action_subtle
icon-action_state_[value]
Adds styles for changing the look and feel of an icon-action to better reflect the urgency or status of the action.
<button class="icon-action icon-action_state_info" aria-label="...">...</button>
<button class="icon-action icon-action_state_success" aria-label="...">...</button>
<button class="icon-action icon-action_state_caution" aria-label="...">...</button>
<button class="icon-action icon-action_state_danger" aria-label="...">...</button>
Available Variations
icon-action_state_infoicon-action_state_successicon-action_state_cautionicon-action_state_danger
icon-action_subtle
A boolean icon-action modifier that allows icon-actions and their modifiers to provide a more subtle version of themselves. Can be combined with icon-action_invert boolean modifier.
<button class="icon-action icon-action_subtle" aria-label="...">...</button>
<button class="icon-action icon-action_subtle icon-action_invert" aria-label="...">...</button>
Available Combinations
icon-action icon-action_subtleicon-action icon-action_subtle icon-action_invert
Sass Variables
| Variable | Default | Description | 
|---|---|---|
$prefix-block |  null |  String to prefix blocks with. | 
$prefix-element |  "__" |  String to prefix elements with. | 
$prefix-modifier |  "_" |  String to prefix modifiers with. | 
$prefix-modifier-value |  "_" |  String to prefix modifier values with. | 
$size |  (core.$font-size * core.$line-height) |  Sets the width and height properties. | 
$transition-property |  box-shadow, outline, outline-offset |  Sets the transition-property property. | 
$transition-duration |  core.$transition-duration-short |  Sets the transition-duration property. | 
$transition-timing-function |  core.$transition-timing-function |  Sets the transition-timing-function property. | 
$border-radius |  core.$border-radius-circle |  Sets the border-radius property. | 
$border |  null |  Sets the border property. | 
$border-color-hover |  null |  Sets the border-color property on :hover state. |  
$border-color-focus |  null |  Sets the border-color property on :focus state. |  
$border-color-active |  null |  Sets the border-color property on :active state. |  
$background |  rgba(core.$black, 0.4) |  Sets the background property. | 
$background-hover |  rgba(core.$black, 0.5) |  Sets the background property on :hover state. |  
$background-focus |  rgba(core.$black, 0.5) |  Sets the background property on :focus state. |  
$background-active |  rgba(core.$black, 0.6) |  Sets the background property on :active state. |  
$box-shadow |  0 0 0 0 rgba(core.$black, 0) |  Sets the box-shadow property. | 
$box-shadow-hover |  null |  Sets the box-shadow property on :hover state. |  
$box-shadow-focus |  0 0 0 0.2rem rgba(core.$black, 0.2) |  Sets the box-shadow property on :focus state. |  
$box-shadow-active |  null |  Sets the box-shadow property on :active state. |  
$color |  core.$color-invert |  Sets the color property. | 
$color-hover |  null |  Sets the color property on :hover state. |  
$color-focus |  null |  Sets the color property on :focus state. |  
$color-active |  null |  Sets the color property on :active state. |  
$outline |  none |  Sets the outline property. | 
$outline-hover |  null |  Sets the outline property on :hover state. |  
$outline-focus |  null |  Sets the outline property on :focus state. |  
$outline-active |  null |  Sets the outline property on :active state. |  
$outline-offset |  null |  Sets the outline-offset property. | 
$outline-offset-hover |  null |  Sets the outline-offset property on :hover state. |  
$outline-offset-focus |  null |  Sets the outline-offset property on :focus state. |  
$outline-offset-active |  null |  Sets the outline-offset property on :active state. |  
$icon-stroke-width |  2.5px |  Sets the stroke-width property on the child icon component. |  
$icon-font-size |  core.$font-size-sm |  Sets the font-size property on the child icon component. |  
$disabled-opacity |  0.6 |  Sets the opacity property when disabled attribute is applied. | 
$loading-size |  0.7em |  Sets the size of the loading spinner. | 
$loading-animation-duration |  0.6s |  Sets the animation-duration property of the loading spinner. | 
$loading-border-color |  $color |  Sets the border-color property of the loading spinner. | 
$loading-border |  2px solid |  Sets the border property of the loading spinner. | 
$loading-border-tpl |  1 1 0 0 |  The template for where to apply the border-color property. Takes boolean 1 and 0 values for top, right, bottom and left borders respectively. |