`;
}
/* One row. Extracted from `renderTrackList` so it can be a stable
* bound field rather than a closure the virtualizer sees as new
* every pass. */
private renderTrackRow({ track, trackIndex }: VisibleTrack) {
const isPhantom = track.Phantom;
const active =
!isPhantom &&
this.isActiveTrack(track);
const selected =
this.selection.isSelected(
String(trackIndex),
);
const classes = [
'track-item',
active ? 'active' : '',
selected ? 'selected' : '',
isPhantom ? 'phantom' : '',
]
.filter(Boolean)
.join(' ');
return html`