Angular Version Matrix
Which package to install and what works on each Angular version.
Package selectionโ
| Angular version | Package to install | Status |
|---|---|---|
| Angular 21+ | primus-angular-ui | โ Current โ recommended |
| Angular 20 | primus-angular-ui-legacy | โ Supported |
| Angular 19 | primus-angular-ui-legacy | โ Supported |
| Angular 18 | primus-angular-ui-legacy | โ Supported |
| Angular 17 | primus-angular-ui-legacy | โ Supported |
| Angular 16 | primus-angular-ui-legacy | โ ๏ธ Maintained, no new features |
| Angular 15 and below | Not supported | โ |
Component compatibilityโ
โ = Fully supported ยท โ ๏ธ = Supported with limitations ยท โ = Not available
Formsโ
| Component | Angular 16 | Angular 17 | Angular 18 | Angular 19 | Angular 20 | Angular 21+ |
|---|---|---|---|---|---|---|
primus-button | โ | โ | โ | โ | โ | โ |
primus-input | โ | โ | โ | โ | โ | โ |
primus-select | โ | โ | โ | โ | โ | โ |
primus-checkbox | โ | โ | โ | โ | โ | โ |
primus-toggle | โ | โ | โ | โ | โ | โ |
primus-radio-group | โ | โ | โ | โ | โ | โ |
primus-date-picker | โ | โ | โ | โ | โ | โ |
primus-date-range-picker | โ ๏ธ | โ | โ | โ | โ | โ |
primus-password-input | โ ๏ธ | โ | โ | โ | โ | โ |
primus-input-group | โ | โ | โ | โ | โ | โ |
primus-textarea | โ | โ | โ | โ | โ | โ |
primus-form-field | โ | โ | โ | โ | โ | โ |
Dashboards & Dataโ
| Component | Angular 16 | Angular 17 | Angular 18 | Angular 19 | Angular 20 | Angular 21+ |
|---|---|---|---|---|---|---|
primus-data-table | โ | โ | โ | โ | โ | โ |
primus-stats-card | โ | โ | โ | โ | โ | โ |
primus-dashboard | โ | โ | โ | โ | โ | โ |
primus-dashboard-grid | โ | โ | โ | โ | โ | โ |
primus-activity-feed | โ | โ | โ | โ | โ | โ |
primus-filter-bar | โ | โ | โ | โ | โ | โ |
primus-export-menu | โ | โ | โ | โ | โ | โ |
primus-security-dashboard | โ ๏ธ | โ | โ | โ | โ | โ |
primus-rbac-admin | โ | โ ๏ธ | โ | โ | โ | โ |
primus-search | โ | โ | โ | โ | โ | โ |
primus-log-viewer | โ | โ | โ | โ | โ | โ |
| Charts (all) | โ | โ | โ | โ | โ | โ |
Navigation & Layoutโ
| Component | Angular 16 | Angular 17 | Angular 18 | Angular 19 | Angular 20 | Angular 21+ |
|---|---|---|---|---|---|---|
primus-layout | โ | โ | โ | โ | โ | โ |
primus-sidebar | โ | โ | โ | โ | โ | โ |
primus-header | โ | โ | โ | โ | โ | โ |
primus-section | โ | โ | โ | โ | โ | โ |
primus-modal | โ | โ | โ | โ | โ | โ |
Authenticationโ
| Component | Angular 16 | Angular 17 | Angular 18 | Angular 19 | Angular 20 | Angular 21+ |
|---|---|---|---|---|---|---|
primus-login | โ | โ | โ | โ | โ | โ |
primus-user-profile | โ | โ | โ | โ | โ | โ |
primus-ai-copilot | โ ๏ธ | โ | โ | โ | โ | โ |
PrimusAuthService | โ | โ | โ | โ | โ | โ |
authGuard | โ | โ | โ | โ | โ | โ |
Workflowsโ
| Component | Angular 16 | Angular 17 | Angular 18 | Angular 19 | Angular 20 | Angular 21+ |
|---|---|---|---|---|---|---|
primus-wizard | โ ๏ธ | โ | โ | โ | โ | โ |
primus-stepper | โ | โ | โ | โ | โ | โ |
primus-wizard-nav | โ | โ | โ | โ | โ | โ |
primus-summary-card | โ | โ | โ | โ | โ | โ |
Banking & Insuranceโ
| Component | Angular 16 | Angular 17 | Angular 18 | Angular 19 | Angular 20 | Angular 21+ |
|---|---|---|---|---|---|---|
| All banking components | โ ๏ธ | โ | โ | โ | โ | โ |
| All insurance components | โ ๏ธ | โ | โ | โ | โ | โ |
Legacy-only components (primus-angular-ui-legacy only)โ
These components exist only in the legacy package and are not available in primus-angular-ui:
| Component | Description |
|---|---|
primus-metric-card | Alternative stat card layout (superseded by primus-stats-card) |
primus-progress-ring | Circular progress indicator |
Limitation notesโ
| Symbol | Meaning |
|---|---|
| โ ๏ธ on Angular 16 | Works but requires NgModule โ Standalone not available on Angular 16 |
| โ ๏ธ on Angular 17 | Works but requires explicit CUSTOM_ELEMENTS_SCHEMA for Web Component wrappers |
โ primus-rbac-admin on Angular 16 | Depends on @angular/core deferred loading APIs only available in Angular 17+ |
Angular 16 โ additional setupโ
Angular 16 requires CUSTOM_ELEMENTS_SCHEMA to use Primus Web Component wrappers (<primus-tabs>, <primus-dropdown>):
// app.module.ts
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
@NgModule({
schemas: [CUSTOM_ELEMENTS_SCHEMA],
// ...
})
export class AppModule {}
Upgrading from legacy to currentโ
See the Upgrade Guide for step-by-step migration from primus-angular-ui-legacy to primus-angular-ui.