CngxVirtualItem
projects/common/data/recycler/virtual-item.directive.ts
Import#
import { CngxVirtualItem } from '@cngx/common/data'
Description#
A11y atom that sets aria-setsize, aria-posinset, and data-cngx-recycle-index
on each rendered virtual item. Replaces manual ARIA boilerplate.
Also provides data-cngx-recycle-index for focus tracking - consumers who
don't use CngxMeasure (grid mode, uniform heights) get focus tracking for free.
Does NOT set role - the consumer decides (listitem, option, treeitem, tab).
@for (item of visibleItems(); track item.id; let i = $index) {
<div role="listitem"
[cngxVirtualItem]="recycler"
[cngxVirtualItemIndex]="recycler.start() + i">
{{ item.name }}
</div>
}