Security News
GitHub Removes Malicious Pull Requests Targeting Open Source Repositories
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
@carbon/icons
Advanced tools
Icons for digital and software products using the Carbon Design System
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
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.
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),
});
Certain icons in the library support an alternate fill inside of the icon, for
example
warning--filled
supports styling the inner !
path.
In order to style the inner path, you will need to target the SVG using CSS. In general, you can target the path by writing the following:
svg [data-icon-path='inner-path'] {
fill: blue;
opacity: 1;
}
In the code snippet above, we are targeting the inner path attribute with
[data-icon-path="inner-path"]
. The value of fill
will be the custom color
you would like to set for the inner path. We also need to set opacity
to 1
in order to get this inner path to be visible on the page.
You can view a full reference of our icons here . This is useful for finding the path information in order to import an icon.
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! 👀
Licensed under the Apache 2.0 License.
This package uses IBM Telemetry to collect metrics data. By installing this package as a dependency you are agreeing to telemetry collection. To opt out, see Opting out of IBM Telemetry data collection. For more information on the data being collected, please see the IBM Telemetry documentation.
FAQs
Icons for digital and software products using the Carbon Design System
The npm package @carbon/icons receives a total of 27,695 weekly downloads. As such, @carbon/icons popularity was classified as popular.
We found that @carbon/icons demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 13 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.