22.2.0-rc.0
Pre-releaseNew Features
-
IgxVirtualScrollComponent- Added
initialViewportSize, the viewport size to render the first window against. A list that is hidden until the change detection pass that reveals it has no size to measure in that pass and would render nothing; this gives that first render a size to work from, and the host's own size takes over once it has been laid out. - Added
dataWindow, taking a loaded page of a larger collection as{ items, startIndex, totalCount }. The list is as long astotalCount, so the scrollbar spans the whole collection while only the page is in memory, and indices the page does not cover render nothing until a page that covers them arrives.datais unchanged and is used wheneverdataWindowis not set.
- Added
-
Forms
igxInput,igx-checkbox,igx-switch,igx-radio-group,igx-select,igx-combo,igx-simple-combo,igx-date-picker,igx-time-pickerandigx-date-range-pickernow work with Angular Signal Forms ([formField]). Validity, touched, dirty, disabled and required state are read from the signal-backed control.igx-checkbox,igx-switchandigx-radio-groupnow reportrequiredandaria-requiredforValidators.requiredTrue, asigxInputalready did.igx-radio-groupimplementssetDisabledState, socontrol.disable()/enable()and the Signal Formsdisabledrule reach the radio buttons. Buttons disabled in the template stay disabled afterenable().IgcFormControlDirective- Added support for
igc-color-pickerso it can be bound withngModelandformControlName, in the same wayigc-ratingis already supported.
- Added support for
-
IgxChipComponent- Added the
outlinedproperty to the component. When set totrue, the Chip will have an outlined style.
- Added the
-
Theming
- Breaking Change - The
chip-themeproperties -$focus-outline-colorand$focus-selected-outline-colorwere replaced with$focus-shadow-colorand$focus-selected-shadow-color. - Scrollbars are now styled with the standard
scrollbar-colorandscrollbar-widthproperties instead of the::-webkit-scrollbar-*pseudo-elements. Scrollbars rendered inside a themed host -igx-gridand the rest of the grid family,igx-query-builder,igx-column-actionsand the Excel-style filtering menus - follow that host's own background and foreground colors. Because both properties resolve theirvar()references on the element that declares them and descendants inherit the already-resolved value, every scope that overrides thescrollbar-themetokens must also re-declare the properties; the library does this internally for the hosts listed above.
- Breaking Change - The
General
- The Excel style filtering search list,
IgxComboComponentandIgxSimpleComboComponentare now virtualized byIgxVirtualScrollComponentinstead of theigxFordirective. A row is measured in the DOM once it renders and the measured size replaces the estimate it started from; rows that have not rendered keep that estimate.- The list markup changed accordingly:
igx-display-containerand theigx-vhelper--verticalscrollbar are replaced by theigx-virtual-scrollhost and itsigx-virtual-itemrow wrappers. Applications and tests that reach into those elements directly need updating. IgxDropDownComponentaccepts a content-projectedigx-virtual-scrollin addition to*igxFor, which keeps working as documented. Selection and navigation behave the same either way.
- The list markup changed accordingly:
Breaking Changes
- Combo -
IgxComboComponent.virtualScrollContainerandIgxSimpleComboComponent.virtualScrollContainer, both@hidden @internal, are now anIgxVirtualScrollComponentinstead of anIgxForOfDirective, and the Excel style filtering search list has novirtDiranymore. The publicvirtualizationStateandtotalItemCountare unchanged.
Bug Fixes
- Accessibility
- Removed the nested list role from the internal virtual-scroll containers in Combo, Simple Combo and Excel-style filtering, preserving their existing listboxes and options.
IgxDropDownComponent- Navigation and item lookup now use the same normalized
dataWindowindices and total count as the projected virtual scroll, including fractional or non-finite metadata and pages extending past the declared total.
- Navigation and item lookup now use the same normalized
IgxComboComponent,IgxSimpleComboComponent- Fixed remote pages changing position before their replacements arrive and redundant requests for an already loaded initial range. Changes to a positive
totalItemCountrefresh the list without rebinding data; a reduced total excludes out-of-range records before filtering and grouping. - Reduced selection-resolution work during change detection. Each combo resolves its selection once per check and validates cached primitive-key matches before reusing them. Missing or invalid matches share one fallback scan; object keys retain deep-equality matching. In-place changes that create an earlier duplicate of a cached key are not detected without rebinding data.
- Fixed remote pages changing position before their replacements arrive and redundant requests for an already loaded initial range. Changes to a positive
Breaking Changes
-
IgxButtonDirective,IgxIconButtonDirective- Removed the
element,role,focused,select()anddeselect()members. UsenativeElementinstead ofelement, setrolein the template and bindselectedinstead of callingselect()/deselect().IgxButtonGroupComponentkeeps itsselectButton()/deselectButton()API.
- Removed the
-
Theming - The standard scrollbar properties expose only two colors and three width keywords, so most
scrollbar-themeproperties no longer have any effect.$sb-thumb-bg-colorand$sb-track-bg-colorcontinue to work. The following have become no-ops:$sb-thumb-bg-color-hover,$sb-track-bg-color-hover,$sb-thumb-min-height,$sb-thumb-border-color,$sb-thumb-border-size,$sb-thumb-border-radius,$sb-track-border-color,$sb-track-border-size,$sb-corner-bg,$sb-corner-border-colorand$sb-corner-border-size. They remain valid arguments toscrollbar-theme(), so existing themes keep compiling, but the values are ignored. Theng updatemigration for 22.2.0 removes these arguments from existingscrollbar-theme(...)calls automatically. -
Theming -
$sb-sizeno longer sets the scrollbar thickness.scrollbar-widthaccepts onlyauto,thinornone, so a length cannot drive it. The migration removes$sb-sizealong with the properties above; set--sb-width: thinon the scope that declares the scrollbar tokens, orscrollbar-width: thindirectly on the scrolling element, where a thinner scrollbar is required. -
Theming - The
grid-summary-themeproperties$border-widthand$pinned-border-widthwere removed, along with their--ig-grid-summary-border-widthand--ig-grid-summary-pinned-border-widthCSS custom properties. A summary cell takes its border width from the grid itself -grid-theme's$header-border-widthfor the cell separator and$pinned-border-widthfor the pinned border - so a summary border can no longer be thicker or thinner than the column border it continues. The border styles and colors stay themable:$border-style,$pinned-border-style,$border-colorand$pinned-border-color, and their CSS custom properties, are unchanged. Theng updatemigration for 22.2.0 drops the removed arguments from existinggrid-summary-theme(...)calls and renames the CSS custom properties to the grid ones that now drive them - note that those grid properties style the grid's own borders too, so review the result where a summary-only width was set.
Behavioral Changes
- Theming - Scrollbar arrow buttons cannot be styled or enabled through the standard properties, and
scrollbar-width: thinremoves them where the platform draws them. - Firefox - The
scrollbar-colorandscrollbar-widthproperties are not supported on Firefox versions prior to 64, so the scrollbars in those versions will render with the platform default colors and size.
Supply chain
npm audit reported no known vulnerabilities in the delivered dependencies.
Build-environment SBOM diagnostics (best-effort)
The build-environment CycloneDX SBOM is a best-effort inventory of the repository toolchain. npm dependency-tree errors are tolerated there and do not affect the delivered-package SBOM.
npm ls exited with status 1.
invalid: chokidar@5.0.0
code ELSPROBLEMS