
Security News
npm ‘is’ Package Hijacked in Expanding Supply Chain Attack
The ongoing npm phishing campaign escalates as attackers hijack the popular 'is' package, embedding malware in multiple versions.
carbon-icons-svelte
Advanced tools
Carbon Design System SVG icons as Svelte components.
This zero dependency icon library builds Carbon Design System icons as Svelte components. Although best paired with carbon-components-svelte, these icons can be consumed standalone.
Try it in the Svelte REPL.
# npm
npm i carbon-icons-svelte
# pnpm
pnpm i carbon-icons-svelte
# Yarn
yarn add carbon-icons-svelte
# Bun
bun add carbon-icons-svelte
Import the icon from the carbon-icons-svelte/lib
folder. See the Icon Index for a list of supported icons.
<script>
import Add from "carbon-icons-svelte/lib/Add.svelte";
</script>
<Add />
[!TIP] Use optimizeImports from carbon-preprocess-svelte to speed up development times.
Due to the size of the library, importing directly from the barrel file may result in slow development times, since the entire barrel file is imported (thousands of icons).
optimizeImports is a Svelte preprocessor that optimizes import paths from Carbon Svelte libraries. It enables you to use the barrel file import syntax without importing the entire library.
For example, the following is automatically re-written by optimizeImports
:
- import { Add } from "carbon-icons-svelte";
+ import Add from "carbon-icons-svelte/lib/Add.svelte";
This offers the best of both worlds:
Use the size
prop to specify the icon size.
Supported icon sizes include 16
, 20
, 24
, and 32
.
The default size is 16
.
<Add size={16} />
<Add size={20} />
<Add size={24} />
<Add size={32} />
All props are optional.
Name | Type | Default value |
---|---|---|
size | 16 | 20 | 24 | 32 | 16 |
title | string | undefined |
$$restProps
are forwarded to the svg
element.
You can use fill
to customize the color or pass any other valid svg
attribute to the component.
<Add fill="red" class="icon" />
<Add aria-label="Add" />
<label id="add-file">Add file</label>
<Add aria-labelledby="add-file" />
<Add aria-label="Add" tabindex={0} />
This library offers TypeScript support for Svelte 4 and Svelte 5.
For Svelte 3 compatibility, use carbon-icons-svelte@12.13.0
.
For convenience, a CarbonIconProps
type is exported from the library.
<script lang="ts">
import Add from "carbon-icons-svelte/lib/Add.svelte";
import type { CarbonIconProps } from "carbon-icons-svelte";
const props: CarbonIconProps = {
size: 16,
fill: "red",
"data-test": "id",
};
</script>
<Add {...props} />
FAQs
Carbon Design System SVG icons as Svelte components
The npm package carbon-icons-svelte receives a total of 5,797 weekly downloads. As such, carbon-icons-svelte popularity was classified as popular.
We found that carbon-icons-svelte demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer 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
The ongoing npm phishing campaign escalates as attackers hijack the popular 'is' package, embedding malware in multiple versions.
Security News
A critical flaw in the popular npm form-data package could allow HTTP parameter pollution, affecting millions of projects until patched versions are adopted.
Security News
Bun 1.2.19 introduces isolated installs for smoother monorepo workflows, along with performance boosts, new tooling, and key compatibility fixes.