Migration to v22

Migration guide to PrimeNG v22.

PrimeNG v22 is the first release under the PrimeUI umbrella. Licensing moves to a dual Community/Commercial model. Read the full story for the background and road ahead.

PRO Suite

PrimeUI PRO is the new enterprise tier from PrimeTek, expanding the suite with production-ready components. At launch, PrimeUI PRO components are available for Vue. Angular, React, Lit, and Blazor versions will follow as the product line expands.

New Components

v22 introduces a fresh set of components:

Enhancements

Several existing parts have also been reworked:

  • Modernized the codebase with new Angular APIs.
  • Updated test suite with increased coverage.
  • Carousel rebuilt around a compound API.
  • Menu now supports multi-level navigation.
  • Toast ships with new entry and exit animations.
  • InputMask is now a directive rather than a component.
  • Wide-ranging defect fixes across the suite.
  • New documentation and demos.

16px Base

PrimeNG sizes its components in rem units relative to the document root font size, now assumed to be 16px to match the browser default. Earlier versions assumed 14px, so every preset also ships a compat variant calibrated for a 14px root to keep existing layouts intact. See Base Font Size for technical details.

The following items are marked as deprecated in v22 and will be removed in a future version.

APIDeprecated SinceReplacementRemovalStatus
MultiSelectv22Select component with multiple propertyv24deprecated
PanelMenuv22Menu component with toggleable optionv24deprecated
pButtonIcon and pButtonLabel directivesv21Place the icon and label directly inside the [pButton] host element. Use iconOnly prop for icon-only buttons.v24deprecated
Password componentv22pInputPassword directivev24deprecated
Galleriav22Gallery componentv24deprecated
ColorPickerv22InputColor componentv24deprecated
InputMask componentv22pInputMask directivev24deprecated
Chartv22PrimeUI PRO Chartsv24deprecated
Imagev22Gallery componentv24deprecated
Editorv22PrimeUI PRO Editorv24deprecated
AutoComplete multiple propertyv22InputTags componentv24deprecated
primeng/icons packagev22SVG icons via PrimeIconsv24deprecated
ScrollPanelv22ScrollArea componentv24deprecated
ImageComparev22Compare componentv24deprecated
Slider animate propertyv22No longer functionalv24deprecated
Tabs scrollable propertyv22Scrolling is now the default behaviorv24deprecated
Carousel data-driven (model) usagev22Compound API with p-carousel-content, p-carousel-item and p-carousel-indicators.v24deprecated

The following APIs that were deprecated in v20 and v21 are now removed in v22.

APIDeprecated SinceReplacementStatus
@primeng/themesv20@primeuix/themesremoved
pTemplatev20ng-template with a template reference variableremoved
styleClass *(for host enabled components)v20classremoved
Global inputStyle configv20inputVariantremoved
CamelCase Selectorsv20Kebab caseremoved
pButton iconPos, loadingIcon, icon and label propertiesv20pButtonIcon and pButtonLabel directivesremoved
pButton buttonProps propertyv20Use button properties directly on the elementremoved
p-button badgeClass propertyv20badgeSeverity propertyremoved
AutoComplete minLength propertyv20minQueryLengthremoved
OrganizationChart preserveSpace propertyv20Obsolete property, had no useremoved
Paginator dropdownAppendTo propertyv20appendToremoved
Message text and escape propertiesv20Content projectionremoved
Password maxLength propertyv20maxlength propertyremoved
TreeSelect containerStyle/containerStyleClass propertiesv20style and classremoved
Table responsiveLayout propertyv20Always defaults to scroll, stack mode needs custom implementationremoved
TreeSelect default templatev20value templateremoved
pBadge directivev20OverlayBadge componentremoved
clearFilterIcon template of Tablev20Obsolete, not utilizedremoved
Inplace closable propertyv20Use templating with closeCallbackremoved
showTransitionOptionsv21Native CSS animationsremoved
hideTransitionOptionsv21Native CSS animationsremoved
Directive PT attribute names e.g. ptInputTextv21PT suffix at the end e.g. pInputTextPTremoved
contextMenuSelectionModev21"joint" mode removed in favor of "separate". Applies to Tree, TreeTable and Table.removed