@carbon/icons
Icons for digital and software products using the Carbon Design System
Getting started
To install @carbon/icons
in your project, you will need to run the
following command using npm:
npm install -S @carbon/icons
If you prefer Yarn, use the following
command instead:
yarn add @carbon/icons
Usage
Icons in Carbon are provided through a variety of packages, often
specific for the framework that will use them. Currently, we support
the following packages for various frameworks:
We also support using icons in Vanilla JavaScript.
In order to use an icon, it may be helpful to reference our Icon
library
reference page in order to find the specific icon you would like to
use.
Vanilla
Once you've found an icon and you're looking to use it in Vanilla
JavaScript, you can import the icon by writing the following in your
JavaScript file:
import IconName from '@carbon/icons/<module-type>/path-to-icon/size';
For example, if I wanted to import the 16x16 add
icon, I would write:
import AddIcon from '@carbon/icons/es/add/16';
In this case, es
is used for ES2015 modules (ESM), but one may also
use lib
for CommonJS or umd
for UMD modules.
In order to render this to the screen, we'll make use of our
icon-helpers
package. This package gives
us two options for rendering our icons: toString
and toSVG
. If
rendering in templates, you may want to use the former. If rendering
to the DOM, toSVG
may be helpful.
In our case, we'll use toSVG
to create a node in the DOM for the
16x16 add
icon:
import { getAttributes, toSVG } from '@carbon/icon-helpers';
import addIcon from '@carbon/icons/es/add/16';
const addIconNode = toSVG({
...addIcon,
attrs: getAttributes(addIcon.attrs),
});
Reference
You can view a full reference of our icons here
. This is useful for finding the path information in order to import
an icon.
📖 API Documentation
If you're looking for @carbon/icons
API documentation, check out:
🙌 Contributing
We're always looking for contributors to help us fix bugs, build new
features, or help us improve the project documentation. If you're
interested, definitely check out our Contributing Guide
! 👀
📝 License
Licensed under the Apache 2.0 License.