Icons symbolize common actions, features, and themes throughout our app.

Unless an icon is purely decorative, an aria-label attribute should be provided so that users who take advantage of screen readers can understand the content. If an icon is purely decorative, set aria-hidden="true" so that it is not picked up by screen readers.

import { Icon } from '@sproutsocial/racine'


System props

System props apply standard sets of properties to a component that can be used to alter its appearance on the fly.

Name of the icon in the svg sprite
Whether the icon should have a fixed width or not. Use this when you need to align icons/text vertically in a list.
Label used to describe the icon if not used with an accompanying label


Icon Toggle

In some cases, icons represent a stateful action that has both an inactive and active state. In these cases we use outline icons to represent the inactive state, and filled icons to represent the active state.

The Icon Toggle component can be used to animate between these two states.

Name of the icon to be shown in the active state
Name of the icon to be shown in the inactive state
Whether the active icon should be shown or not

Find icons

You can discover currently available icons on their respective platforms:

Add icons

Once an icon SVG has been obtained, make a Pull Request to racine. After the pull request has been merged, the version of Racine will need to be bumped in order to use the icon in your project.

Best practices

  • The source SVG icon file should not contain any fill colors unless it is a branded icon.
  • New icons should be placed in the icons folder of your local copy of the Racine repo.
  • SVG files should not be minified or otherwise optimized before they are added to the library in GitHub — the SVG Sprite tools used by Racine handle optimization automatically.