# @primeicons/core

> Core utilities and types for PrimeIcons

Latest version **8.0.1** (published 2026-09-08) · SEE LICENSE IN LICENSE.md license · 0 weekly downloads

## Install

```sh
npm install @primeicons/core
pnpm add @primeicons/core
yarn add @primeicons/core
bun add @primeicons/core
```

## Health

**Score 65/100 (B)** — status: active.

Positive: has types; esm support; no vulnerabilities; recently updated; high maintenance score.

Warnings: low downloads.

## Facts

| | |
|---|---|
| Version | 8.0.1 |
| Published | 2026-09-08 |
| First published | 2026-02-06 |
| Weekly downloads | 0 |
| License | SEE LICENSE IN LICENSE.md |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 1 |
| Unpacked size | 1.1 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | PrimeTek Informatics |
| Maintainers | mert.sincan |
| Keywords | primeicons, icons, icon-library, svg-icons, typescript |

## Links

- npm: https://www.npmjs.com/package/@primeicons/core
- Repository: https://github.com/primefaces/primeicons-nextchapter
- Homepage: https://primeicons.dev/
- Issues: https://support.primeui.dev
- npm.io page: https://npm.io/package/@primeicons/core

## Dependencies (1)

- [@primeuix/utils](https://npm.io/package/@primeuix/utils.md) ^0.8.0

## Alternatives

- [@fortawesome/react-fontawesome](https://npm.io/package/@fortawesome/react-fontawesome.md) — 2.2M weekly downloads
- [roboto-fontface](https://npm.io/package/roboto-fontface.md) — 196.0K weekly downloads
- [@react-native-vector-icons/common](https://npm.io/package/@react-native-vector-icons/common.md) — 150.4K weekly downloads
- [@procore/core-icons](https://npm.io/package/@procore/core-icons.md) — 4.6K weekly downloads
- [@react-md/material-icons](https://npm.io/package/@react-md/material-icons.md) — 1.6K weekly downloads

## Recent versions

- 8.0.1 (latest) — 2026-09-08
- 8.0.0 — 2026-07-15
- 8.0.0-rc.3 — 2026-07-15
- 8.0.0-rc.2 — 2026-07-08
- 8.0.0-rc.1 — 2026-06-28
- 8.0.0-beta.1 — 2026-06-25
- 8.0.0-alpha.10 — 2026-06-15
- 8.0.0-alpha.9 — 2026-05-12
- 8.0.0-alpha.8 — 2026-04-26
- 8.0.0-alpha.7 — 2026-02-20
- 8.0.0-alpha.6 — 2026-02-09
- 8.0.0-alpha.5 — 2026-02-08
- 8.0.0-alpha.4 — 2026-02-06
- 8.0.0-alpha.3 — 2026-02-06
- 8.0.0-alpha.2 — 2026-02-06
- … 1 more at https://npm.io/package/@primeicons/core/versions

## README

# @primeicons/core

Core utilities, types, and icon data for the PrimeIcons library.

## Installation

```bash
npm install @primeicons/core
# or
pnpm add @primeicons/core
# or
yarn add @primeicons/core
```

## Usage

### Types

```typescript
import type { IconData, IconProps, IconSvgProps, IconNode, IconNodes } from '@primeicons/core';
```

### Icon Data

```typescript
// Import specific icon data
import { search } from '@primeicons/core/icons/search';
import { home } from '@primeicons/core/icons/home';

// Import all icons
import * as icons from '@primeicons/core/icons';
```

### Icon Metadata & Manifest

Icon metadata (including tags and component references) is now centralized in the `@primeicons/metadata` package. Each framework package re-exports this data for convenience:

```typescript
// For React
import { ICON_MAP, findIcons } from '@primeicons/metadata/react';

// For Vue
import { ICON_MAP, findIcons } from '@primeicons/metadata/vue';

// For Angular
import { ICON_MAP, findIcons } from '@primeicons/metadata/angular';

// And so on for other frameworks...
```

See the framework-specific packages for detailed usage.

## Metadata & Manifest

Icon metadata has been centralized in the `@primeicons/metadata` package. This includes:

- **Icon names** (kebab-case and camelCase)
- **Component references** (lazy-loaded, framework-specific)
- **Searchable tags** (from `selection.json`)
- **Import paths** for each framework

Each framework package re-exports the metadata for its ecosystem, so you can access it through:

```typescript
import { ICON_MAP, ICON_MAP_BY_NAME, findIcons } from '@primeicons/metadata/react';
import { ICON_MAP, ICON_MAP_BY_NAME, findIcons } from '@primeicons/metadata/vue';
import { ICON_MAP, ICON_MAP_BY_NAME, findIcons } from '@primeicons/metadata/angular';
// ... and so on
```

## API Reference

### Types

#### `IconProps`

Common properties for icon components:

```typescript
interface IconProps {
    size?: number | string; // Icon size (width & height)
    color?: string; // Icon color
    class?: string; // CSS class
    className?: string; // CSS class (React style)
    style?: string | Record<string, string>; // Inline styles
}
```

#### `IconSvgProps`

SVG wrapper defaults parsed from original SVG files:

```typescript
interface IconSvgProps {
    xmlns: string; // SVG namespace
    width: number; // Default width (e.g., 24)
    height: number; // Default height (e.g., 24)
    viewBox: string; // ViewBox (e.g., '0 0 24 24')
    fill: string; // Fill value (e.g., 'none')
}
```

#### `IconData`

Structure of icon data:

```typescript
interface IconData {
    name: string; // Icon name (kebab-case)
    meta?: IconMeta; // Optional metadata
    svg: IconSvgProps; // SVG wrapper defaults
    nodes: IconNodes; // SVG child elements
}
```

#### `IconNode`

SVG element definition:

```typescript
type IconNode = [string, IconNodeAttributes];
// Example: ['path', { d: 'M12 5v14', fill: 'currentColor' }]
```

### Manifest Structure

The metadata is organized with the following structure:

```typescript
interface IconMapEntry {
    name: string; // kebab-case icon name
    camelName: string; // camelCase version
    as: string; // PascalCase component name
    component: () => any; // Lazy-loaded component reference
    from: string; // Import path
    tags: string[]; // Searchable tags from selection.json
}
```

### Metadata API

All framework packages export:

```typescript
// Import the metadata
import {
    ICON_MAP, // Array of all icons with metadata
    ICON_MAP_BY_NAME, // Indexed by kebab-case name
    ICON_MAP_BY_COMPONENT, // Indexed by component name
    ICON_MAP_BY_CAMEL, // Indexed by camelCase name
    TOTAL_ICONS, // Total icon count
    PACKAGE_INFO, // Package metadata
    getIconNames, // Get all kebab-case names
    getComponentNames, // Get all component names
    findIcons // Search icons by query
} from '@primeicons/{framework}/manifest';
```

See individual framework packages for detailed examples.

## Icon List

The library includes 300+ icons. View the complete list at [primeicons.dev](https://primeicons.dev).

## License

Licensed under the [PrimeUI License](https://primeui.dev/licenses) - Copyright (c) [PrimeTek Informatics](https://www.primetek.com.tr)

---
_Source: https://npm.io/package/@primeicons/core · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
