
Security News
GitHub Actions Checkout Now Blocks Risky pull_request_target Checkouts
GitHub Actions checkout now blocks risky pull_request_target checkouts by default to help prevent pwn request supply chain attacks.
@tokens-studio/icons-webcomponents
Advanced tools
A comprehensive, type-safe icon library as web components for use in any framework or vanilla JavaScript.
npm install @tokens-studio/icons-webcomponents
<!-- Import the icon -->
<script type="module">
import '@tokens-studio/icons-webcomponents/Plus';
</script>
<!-- Use it in your HTML -->
<icon-plus></icon-plus>
// Import specific icon
import '@tokens-studio/icons-webcomponents/Plus';
// Or import all icons
import * as Icons from '@tokens-studio/icons-webcomponents';
// Use types for type-safe icon names
import type {
IconName,
IconComponentName,
} from '@tokens-studio/icons-webcomponents';
const iconTag: IconName = 'icon-plus';
const componentName: IconComponentName = 'Plus';
import '@tokens-studio/icons-webcomponents/Plus';
function MyComponent() {
return <icon-plus></icon-plus>;
}
<template>
<icon-plus></icon-plus>
</template>
<script setup>
import '@tokens-studio/icons-webcomponents/Plus';
</script>
Icons use currentColor for stroke/fill, so you can style them with CSS:
icon-plus {
color: #3b82f6;
width: 32px;
height: 32px;
}
/* Or use CSS custom properties */
icon-plus {
--icon-width: 32px;
--icon-height: 32px;
color: #3b82f6;
}
import type {
IconName,
IconComponentName,
} from '@tokens-studio/icons-webcomponents';
// Type-safe icon tag names
const tag: IconName = 'icon-plus'; // ✅ Valid
const invalid: IconName = 'icon-invalid'; // ❌ TypeScript error
// Type-safe component names
const component: IconComponentName = 'Plus'; // ✅ Valid
import {
iconTagToComponentMap,
iconComponentToTagMap,
} from '@tokens-studio/icons-webcomponents';
// Convert tag name to component name
const componentName = iconTagToComponentMap['icon-plus']; // 'Plus'
// Convert component name to tag name
const tagName = iconComponentToTagMap['Plus']; // 'icon-plus'
Access the complete icon manifest programmatically:
import manifest from '@tokens-studio/icons-webcomponents/manifest';
console.log(manifest.total); // 344
console.log(manifest.icons); // Array of all icons with metadata
Each icon in the manifest includes:
name: PascalCase component name (e.g., "Plus")tag: Web component tag name (e.g., "icon-plus")keywords: Search keywords for the iconimportPath: Full import pathimportStatement: Ready-to-use import statementcomponentImport: Component import statementAll icons are available with their kebab-case tag names. For example:
icon-plus → <icon-plus></icon-plus>icon-user → <icon-user></icon-user>icon-settings01 → <icon-settings01></icon-settings01>Many icons also have "filled" variants:
icon-plus (outline)icon-plus-filled (filled/solid)This package is designed to be AI-friendly with:
AI assistants can:
npm run build
npm run regenerate
This will:
[Your license here]
FAQs
Tokens Studio: Internal icon library
We found that @tokens-studio/icons-webcomponents demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 4 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 Actions checkout now blocks risky pull_request_target checkouts by default to help prevent pwn request supply chain attacks.

Product
Socket now supports Custom Roles and Repository Access Permissions so organizations can control who can access specific repositories and actions.

Product
Socket MCP now lets AI assistants review org alerts, investigate threats using the Socket threat feed, and inspect package files in addition to dependency scoring.