| name | primeng-angular |
| description | Comprehensive guide for implementing PrimeNG components in Angular projects. Use when building UI components with PrimeNG library, needing examples of forms, tables, dialogs, menus, charts, or any of the 100+ PrimeNG components. Includes patterns, best practices, and real-world use cases. |
PrimeNG Angular Skill
Guía completa para implementar componentes de PrimeNG en proyectos Angular. Esta skill proporciona acceso rápido a la documentación, patrones comunes y mejores prácticas para los más de 100 componentes de PrimeNG.
Quick Start
Instalación
npm install primeng primeicons
Configuración en Angular
// En angular.json - añadir estilos
"styles": [
"node_modules/primeng/resources/themes/lara-light-blue/theme.css",
"node_modules/primeng/resources/primeng.min.css",
"node_modules/primeicons/primeicons.css",
"src/styles.scss"
]
Uso Básico (Standalone Component)
import { Component } from '@angular/core';
import { ButtonModule } from 'primeng/button';
import { InputTextModule } from 'primeng/inputtext';
@Component({
selector: 'app-example',
standalone: true,
imports: [ButtonModule, InputTextModule],
template: `
<div class="flex gap-2">
<input pInputText placeholder="Enter text" />
<p-button label="Submit" icon="pi pi-check" />
</div>
`
})
export class ExampleComponent {}
Encontrar Componentes
Para cualquier componente de PrimeNG, consulta el archivo references/components.md que contiene:
- Lista completa de todos los componentes organizados por categoría
- URL de documentación oficial para cada componente
- Descripción breve de funcionalidad
- Casos de uso comunes para cada componente
Categorías de Componentes
- Form Components (28 componentes): autocomplete, checkbox, datepicker, editor, select, etc.
- Button Components (3): button, speeddial, splitbutton
- Data Components (10): table, dataview, tree, timeline, paginator, etc.
- Panel Components (10): accordion, card, tabs, stepper, dialog, etc.
- Overlay Components (7): dialog, drawer, tooltip, confirmdialog, etc.
- File Components (1): fileupload
- Menu Components (8): menu, menubar, breadcrumb, contextmenu, etc.
- Chart Components (1): chart
- Messages Components (2): message, toast
- Media Components (4): carousel, galleria, image, imagecompare
- Misc Components (26): avatar, badge, progressbar, skeleton, terminal, etc.
Workflow de Implementación
1. Identificar el Componente Necesario
Pregunta al usuario (si no está claro):
- "¿Qué funcionalidad necesitas? (ejemplo: formulario, tabla, notificaciones)"
- "¿Es para entrada de datos, visualización, o navegación?"
Busca en references/components.md usando el tipo de funcionalidad:
- Formularios → Form Components
- Mostrar datos → Data Components o Table
- Notificaciones → Toast/Message
- Confirmaciones → ConfirmDialog
- Navegación → Menu Components
2. Consultar Documentación Oficial
Una vez identificado el componente, proporciona:
📚 Documentación: https://primeng.org/{component-name}
3. Implementar con Patrones Comunes
Consulta references/patterns.md para:
- Patrones de importación correctos
- Ejemplos de uso con formularios reactivos
- Integración con servicios (MessageService, ConfirmationService)
- Mejores prácticas de performance y accesibilidad
4. Proporcionar Código Completo
Siempre incluye:
- ✅ Imports necesarios
- ✅ Configuración del componente (standalone o module)
- ✅ Template HTML completo
- ✅ Lógica TypeScript
- ✅ Estilos si son necesarios
Patrones Frecuentes
Pattern 1: Formulario Simple
// Lee references/patterns.md sección "Formularios Reactivos con PrimeNG"
Componentes usados: InputText, Dropdown, Button, Calendar
Pattern 2: Tabla CRUD
// Lee references/patterns.md sección "Table con CRUD Operations"
Componentes usados: Table, Dialog, Button, InputText
Pattern 3: Notificaciones
// Lee references/patterns.md sección "Toast Notifications Pattern"
Componentes usados: Toast con MessageService
Pattern 4: Confirmación de Acciones
// Lee references/patterns.md sección "Confirm Dialog Pattern"
Componentes usados: ConfirmDialog con ConfirmationService
Pattern 5: Wizard Multi-Paso
// Lee references/patterns.md sección "Multi-Step Form (Stepper)"
Componentes usados: Stepper, Button, varios inputs
Servicios Globales Importantes
MessageService (Toast)
providers: [MessageService]
Usar para: Notificaciones de éxito, error, info, warning
ConfirmationService (ConfirmDialog)
providers: [ConfirmationService]
Usar para: Confirmaciones antes de acciones destructivas
DialogService (DynamicDialog)
providers: [DialogService]
Usar para: Diálogos dinámicos con componentes personalizados
Casos de Uso por Tipo de Proyecto
E-commerce
- Catálogo:
DataView+Paginator+Rating - Carrito:
Badge+Table - Checkout:
Stepper+ varios inputs - Detalles:
Galleria+Button
Dashboard/Analytics
- KPIs:
Card+Chart+ProgressBar - Reportes:
Tablecon filtros y exportación - Timeline:
Timelinepara actividades
Admin/Backoffice
- Gestión de datos:
Table+Dialog+ CRUD operations - Navegación:
Menubar+Breadcrumb - Configuración:
Accordion+ varios inputs
CRM
- Leads/Clientes:
Tablecon filtros avanzados - Pipeline:
OrganizationCharto custom conCard - Actividades:
Timeline+Calendar
Guía Rápida de Referencias
Cuando necesites:
- ✅ Ver todos los componentes disponibles → Lee
references/components.md - ✅ Ver ejemplos de código y patrones → Lee
references/patterns.md - ✅ Implementar formularios → Lee patterns.md sección formularios
- ✅ Implementar tablas CRUD → Lee patterns.md sección table
- ✅ Configurar notificaciones → Lee patterns.md sección toast
- ✅ Conocer mejores prácticas → Lee patterns.md sección best practices
Troubleshooting Común
Estilos no se aplican
// Verifica angular.json tenga los estilos correctos
"styles": [
"node_modules/primeng/resources/themes/lara-light-blue/theme.css",
"node_modules/primeng/resources/primeng.min.css",
"node_modules/primeicons/primeicons.css"
]
Componente no funciona en Standalone
// Asegúrate de importar el módulo correcto
imports: [CommonModule, ButtonModule, InputTextModule]
MessageService no funciona
// Debe estar en providers del componente o app.config
providers: [MessageService]
Tabla no muestra datos
// Verifica que [value] esté correctamente bindeado
<p-table [value]="products"> // products debe ser un array
Tips de Performance
- Lazy Loading: Importa solo los módulos que necesitas
- Virtual Scroll: Usa en tablas/listas con +1000 items
- Lazy Loading de Datos: Implementa paginación del lado del servidor
- ChangeDetection: Considera OnPush para componentes con muchos datos
Enlaces Útiles
- 📖 Documentación oficial: https://primeng.org/
- 🎨 Showcase: https://primeng.org/showcase
- 💡 GitHub: https://github.com/primefaces/primeng
- 🎭 Theming: https://primeng.org/theming
Workflow de Esta Skill
- Usuario hace pregunta sobre implementación con PrimeNG
- Identificar componente(s) necesarios consultando components.md
- Proporcionar URL de documentación oficial
- Consultar patterns.md para el patrón de uso similar
- Generar código completo adaptado al caso del usuario
- Incluir mejores prácticas de patterns.md