adjustScroll method
Adjusts the scroll offset so that the selectedIndex item is visible.
Implementation
void adjustScroll(int viewportHeight) {
if (flatNodes.isEmpty || viewportHeight <= 0) return;
selectedIndex = selectedIndex.clamp(0, flatNodes.length - 1);
if (selectedIndex < scrollOffset) {
scrollOffset = selectedIndex;
} else if (selectedIndex >= scrollOffset + viewportHeight) {
scrollOffset = selectedIndex - viewportHeight + 1;
}
scrollOffset = scrollOffset.clamp(
0,
(flatNodes.length - viewportHeight).clamp(0, flatNodes.length),
);
}