MCPcopy Index your code
hub / github.com/carbon-design-system/carbon-pictograms-svelte

github.com/carbon-design-system/carbon-pictograms-svelte @v13.19.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v13.19.0 ↗ · + Follow
5 symbols 27 edges 10 files 0 documented · 0% 1 cross-repo links

Browse by type

Functions 5 Types & classes 0
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

carbon-pictograms-svelte

NPM npm downloads to date

Carbon Design System SVG pictograms as Svelte components.

This zero dependency library builds Carbon Design System pictograms as Svelte components. Although best paired with carbon-components-svelte, this library can be consumed standalone.

Try it in the Svelte REPL.

Preview · Pictogram Index

Installation

# npm
npm i carbon-pictograms-svelte

# pnpm
pnpm i carbon-pictograms-svelte

# Yarn
yarn add carbon-pictograms-svelte

# Bun
bun add carbon-pictograms-svelte

Usage

Direct Import

Import the icon from the carbon-pictograms-svelte/lib folder. See the Pictogram Index for a list of supported pictograms.

<script>
  import Airplane from "carbon-pictograms-svelte/lib/Airplane.svelte";
</script>

<Airplane />

Base Import with Preprocessor

[!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 pictograms).

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 { Airplane } from "carbon-pictograms-svelte";
+ import Airplane from "carbon-pictograms-svelte/lib/Airplane.svelte";

This offers the best of both worlds:

  • Concise import syntax
  • Fast development times (only the icons you need are imported)

API

All props are optional.

Name Type Default value
title string undefined

Custom props

$$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.

<Airplane fill="red" class="icon" />

Labelled

<Airplane aria-label="Airplane" />

Labelled by

<label id="transportation">Transportation</label>
<Airplane aria-labelledby="transportation" />

Focusable

<Airplane tabindex={0} />

TypeScript

This library offers TypeScript support for Svelte 4 and Svelte 5.

For Svelte 3 compatibility, use carbon-pictograms-svelte@12.12.0.

For convenience, a CarbonPictogramProps type is exported from the library.

<script lang="ts">
  import Airplane from "carbon-pictograms-svelte/lib/Airplane.svelte";
  import type { CarbonPictogramProps } from "carbon-pictograms-svelte";

  const props: CarbonPictogramProps = {
    title: "Airplane",
  };
</script>

<Airplane {...props} />

Changelog

Contributing

License

Apache-2.0

Core symbols most depended-on inside this repo

Shape

Function 5

Languages

TypeScript100%

Modules by API surface

src/template.ts4 symbols
src/index.ts1 symbols

Used by 1 indexed graphs manifest dependencies, hub-wide

For agents

$ claude mcp add carbon-pictograms-svelte \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page