primeicons
Complete guide for using PrimeIcons in Angular with PrimeNG. Use when needing icon references, looking for specific icons by category (arrows, actions, social media, etc.), implementing icons in buttons/menus/UI elements, or needing examples of icon usage patterns. Includes 250+ icons with TypeScript constants.
- Category: discovered
- Tags: github, community
- Version: 1.0.0
- Author: walid
- Downloads: 0
- Updated: 2025-11-22
Download the latest version (v1.0.0) from this page.
SKILL.md
---
name: primeicons
description: Complete guide for using PrimeIcons in Angular with PrimeNG. Use when needing icon references, looking for specific icons by category (arrows, actions, social media, etc.), implementing icons in buttons/menus/UI elements, or needing examples of icon usage patterns. Includes 250+ icons with TypeScript constants.
---
# PrimeIcons Skill
Guía completa para usar PrimeIcons, la librería oficial de iconos de PrimeNG con más de 250 iconos open source.
## Quick Start
### Instalación
```bash
npm install primeicons
```
### Configuración
```typescript
// En angular.json
"styles": [
"node_modules/primeicons/primeicons.css"
]
// O en styles.scss
@import "primeicons/primeicons.css";
```
### Uso Básico
```html
<!-- Sintaxis: pi pi-{icon-name} -->
<i class="pi pi-check"></i>
<i class="pi pi-times"></i>
<span class="pi pi-search"></span>
```
### Con PrimeNG Buttons
```html
<p-button label="Save" icon="pi pi-save" />
<p-button icon="pi pi-pencil" [rounded]="true" />
```
### Con Constantes TypeScript
```typescript
import { PrimeIcons } from 'primeng/api';
// ✅ Preferir constantes
icon: PrimeIcons.SAVE // en lugar de 'pi pi-save'
```
## Encontrar Iconos
### Por Categoría
Consulta `references/icons-list.md` para ver la lista completa organizada en categorías:
1. **Arrows & Navigation** (40+ iconos): angle-down, chevron-right, arrow-left, caret-up, etc.
2. **Actions & Controls** (35+ iconos): plus, minus, check, trash, save, copy, lock, etc.
3. **File & Folder** (15+ iconos): file, folder, cloud-download, upload, file-pdf, etc.
4. **Media & Player** (20+ iconos): play, pause, camera, video, volume, microphone, etc.
5. **Communication** (10+ iconos): phone, envelope, send, comment, whatsapp, telegram, etc.
6. **User & Profile** (8+ iconos): user, user-plus, users, id-card, address-book, etc.
7. **E-commerce** (20+ iconos): shopping-cart, credit-card, dollar, tag, gift, barcode, etc.
8. **UI & Layout** (25+ iconos): table, list, bars, align-center, desktop, mobile, etc.
9. **Status & Indicators** (30+ iconos): spinner, star, flag, heart, bell, bookmark, etc.
10. **Time & Calendar** (8+ iconos): calendar, clock, stopwatch, history, etc.
11. **Location** (5+ iconos): map, map-marker, compass, globe, etc.
12. **Search & Filter** (25+ iconos): search, filter, sort variants, etc.
13. **Settings** (6+ iconos): cog, sliders, wrench, hammer, bolt, etc.
14. **Charts & Data** (6+ iconos): chart-bar, chart-line, chart-pie, database, etc.
15. **Text Formatting** (10+ iconos): bold, italic, underline, link, eraser, etc.
16. **Social Media** (20+ iconos): facebook, twitter, instagram, linkedin, youtube, etc.
17. **Miscellaneous** (40+ iconos): home, book, calculator, key, trophy, wifi, etc.
### Búsqueda Online
- **URL**: https://primeng.org/icons
- Usa el buscador integrado
- Haz clic en el icono para copiar su nombre
## Workflow de Uso
### 1. Identificar el Icono Necesario
**Pregunta al usuario** (si no está claro):
- "¿Qué representa el icono? (acción, estado, navegación)"
- "¿En qué contexto lo usarás? (botón, menú, indicador)"
**Busca por categoría en `references/icons-list.md`**:
- Acciones → Actions & Controls
- Navegación → Arrows & Navigation
- Archivos → File & Folder
- Estado → Status & Indicators
- Social → Social Media
### 2. Consultar Ejemplos de Uso
Lee `references/usage-patterns.md` para:
- Sintaxis correcta (HTML y TypeScript)
- Uso en componentes PrimeNG específicos
- Patrones comunes (botones de acción, headers, estados)
- Mejores prácticas
### 3. Implementar
**Opción A: String directo (HTML simple)**
```html
<i class="pi pi-check"></i>
```
**Opción B: En componente PrimeNG**
```html
<p-button icon="pi pi-save" label="Save" />
```
**Opción C: Con constantes TypeScript (recomendado)**
```typescript
import { PrimeIcons } from 'primeng/api';
menuItems = [
{ label: 'New', icon: PrimeIcons.PLUS },
{ label: 'Save', icon: PrimeIcons.SAVE }
];
```
## Patrones Frecuentes
### Pattern 1: Botones de Acción en Tabla
```typescript
// Lee usage-patterns.md sección "Botones de Acción en Tabla"
```
**Iconos**: pi-eye (ver), pi-pencil (editar), pi-trash (eliminar)
### Pattern 2: Estados y Notificaciones
```typescript
// Lee usage-patterns.md sección "Toast/Message con Iconos"
```
**Iconos**: pi-check-circle (success), pi-times-circle (error), pi-exclamation-triangle (warning)
### Pattern 3: Menú de Navegación
```typescript
// Lee usage-patterns.md sección "En Menús"
```
**Iconos**: pi-home, pi-user, pi-cog, pi-file, pi-chart-bar
### Pattern 4: Indicador de Carga
```typescript
// Lee usage-patterns.md sección "Estado de Carga"
```
**Iconos**: pi-spin pi-spinner (animado), pi-spin pi-cog
### Pattern 5: Búsqueda y Filtros
```typescript
// Lee usage-patterns.md sección "Búsqueda y Filtros"
```
**Iconos**: pi-search, pi-filter, pi-sort
## Características Especiales
### Animación de Rotación
```html
<!-- Usa la clase 'pi-spin' para animación infinita -->
<i class="pi pi-spin pi-spinner"></i>
<i class="pi pi-spin pi-cog"></i>
```
**Casos de uso**: Indicadores de carga, procesos en ejecución
### Tamaños Personalizados
```html
<i class="pi pi-check" style="font-size: 1rem"></i> <!-- pequeño -->
<i class="pi pi-check" style="font-size: 1.5rem"></i> <!-- mediano -->
<i class="pi pi-check" style="font-size: 2rem"></i> <!-- grande -->
<i class="pi pi-check" style="font-size: 3rem"></i> <!-- extra grande -->
```
### Colores Personalizados
```html
<!-- Color directo -->
<i class="pi pi-heart" style="color: red"></i>
<!-- Con CSS variables -->
<i class="pi pi-check" style="color: var(--primary-color)"></i>
<!-- Color heredado del padre -->
<span style="color: blue">
<i class="pi pi-info"></i> Information
</span>
```
## Constantes TypeScript
### Ventajas de Usar Constantes
- ✅ Type-safety
- ✅ Autocomplete en IDE
- ✅ Refactoring seguro
- ✅ Previene typos
### Importación
```typescript
import { PrimeIcons } from 'primeng/api';
```
### Constantes Más Comunes
```typescript
// Acciones
PrimeIcons.PLUS // pi pi-plus
PrimeIcons.MINUS // pi pi-minus
PrimeIcons.TIMES // pi pi-times
PrimeIcons.CHECK // pi pi-check
PrimeIcons.SAVE // pi pi-save
PrimeIcons.TRASH // pi pi-trash
PrimeIcons.PENCIL // pi pi-pencil
// Navegación
PrimeIcons.HOME // pi pi-home
PrimeIcons.ARROW_LEFT // pi pi-arrow-left
PrimeIcons.ARROW_RIGHT // pi pi-arrow-right
PrimeIcons.CHEVRON_DOWN // pi pi-chevron-down
// Estado
PrimeIcons.SPINNER // pi pi-spinner
PrimeIcons.CHECK_CIRCLE // pi pi-check-circle
PrimeIcons.TIMES_CIRCLE // pi pi-times-circle
PrimeIcons.EXCLAMATION_TRIANGLE // pi pi-exclamation-triangle
// UI
PrimeIcons.SEARCH // pi pi-search
PrimeIcons.FILTER // pi pi-filter
PrimeIcons.COG // pi pi-cog
PrimeIcons.USER // pi pi-user
PrimeIcons.BELL // pi pi-bell
```
## Iconos por Caso de Uso
### CRUD Operations
```typescript
CREATE: PrimeIcons.PLUS
READ: PrimeIcons.EYE
UPDATE: PrimeIcons.PENCIL
DELETE: PrimeIcons.TRASH
COPY: PrimeIcons.COPY
SAVE: PrimeIcons.SAVE
```
### Notificaciones
```typescript
SUCCESS: PrimeIcons.CHECK_CIRCLE (verde)
ERROR: PrimeIcons.TIMES_CIRCLE (rojo)
WARNING: PrimeIcons.EXCLAMATION_TRIANGLE (amarillo)
INFO: PrimeIcons.INFO_CIRCLE (azul)
```
### Navegación de Aplicación
```typescript
HOME: PrimeIcons.HOME
DASHBOARD: PrimeIcons.CHART_LINE
USERS: PrimeIcons.USERS
SETTINGS: PrimeIcons.COG
PROFILE: PrimeIcons.USER
LOGOUT: PrimeIcons.SIGN_OUT
```
### E-commerce
```typescript
CART: PrimeIcons.SHOPPING_CART
WISHLIST: PrimeIcons.HEART
PAYMENT: PrimeIcons.CREDIT_CARD
SHIPPING: PrimeIcons.TRUCK
ORDER: PrimeIcons.RECEIPT
PRODUCT: PrimeIcons.BOX
```
### Archivos y Datos
```typescript
DOWNLOAD: PrimeIcons.DOWNLOAD
UPLOAD: PrimeIcons.UPLOAD
FILE: PrimeIcons.FILE
PDF: PrimeIcons.FILE_PDF
EXCEL: PrimeIcons.FILE_EXCEL
FOLDER: PrimeIcons.FOLDER
```
## Guía de Referencias
**Cuando necesites**:
- ✅ **Buscar un icono** específico → Lee `references/icons-list.md` por categoría
- ✅ **Ver todos los iconos** disponibles → Lee `references/icons-list.md` completo
- ✅ **Ejemplos de código** → Lee `references/usage-patterns.md`
- ✅ **Uso en componentes** PrimeNG → Lee usage-patterns.md sección componentes
- ✅ **Mejores prácticas** → Lee usage-patterns.md sección best practices
- ✅ **Constantes TypeScript** → Lee icons-list.md o usage-patterns.md
## Troubleshooting
### Iconos no se muestran
```typescript
// ❌ Problema: CSS no importado
// ✅ Solución: Verificar angular.json o styles.scss
"styles": [
"node_modules/primeicons/primeicons.css"
]
```
### Icono incorrecto
```typescript
// ❌ Problema: Nombre mal escrito
icon: "pi pi-chek" // typo
// ✅ Solución: Usa constantes
icon: PrimeIcons.CHECK // type-safe
```
### Icono muy pequeño
```html
<!-- ❌ Problema: tamaño por defecto -->
<i class="pi pi-check"></i>
<!-- ✅ Solución: especificar font-size -->
<i class="pi pi-check" style="font-size: 1.5rem"></i>
```
### No encuentra PrimeIcons en TypeScript
```typescript
// ❌ Problema: Import incorrecto
import { PrimeIcons } from 'primeicons';
// ✅ Solución: Import desde primeng/api
import { PrimeIcons } from 'primeng/api';
```
## Tips Importantes
1. **Usa constantes** en TypeScript para prevenir errores
2. **Mantén consistencia** en tamaños de iconos similares
3. **Considera accesibilidad**: agrega `aria-label` o tooltips
4. **Usa colores semánticos**: verde (success), rojo (danger), etc.
5. **pi-spin** solo para indicadores de carga
6. **No abuses** de iconos en interfaces - claridad sobre decoración
## Enlaces Útiles
- 📖 Documentación: https://primeng.org/icons
- 🎨 Figma Library: [PrimeIcons on Figma Community](https://www.figma.com/community/file/1354343849355792252/primeicons)
- 💡 GitHub: https://github.com/primefaces/primeicons
- 🐛 Request Icons: https://github.com/primefaces/primeicons/issues
## Workflow de Esta Skill
1. **Usuario pregunta** sobre iconos o necesita uno específico
2. **Identificar categoría** del icono buscado
3. **Buscar en icons-list.md** el icono apropiado
4. **Consultar usage-patterns.md** para ejemplo de implementación
5. **Proporcionar código** completo con mejores prácticas
6. **Sugerir uso de constantes** TypeScript cuando sea apropiado