Closes #22610
This PR fixes the invisible scroll thumb or very tiny scroll thumb when
viewing long or wide files.
The difference between `track_bounds` (imagine scrollbar total height)
and `thumb_size` is the remaining area, which maps to the total height
of the page for scrolling to work as expected. This is already accounted
for. That means we can adjust the thumb size as needed, and the
remaining height/width will be mapped correctly.
So, we can simply use define a minimum size for the thumb and handle
cases where the track bounds are smaller than the defined minimum size.
In such cases, the scrollbar will take up the full height/width of the
track bounds. This is handled mainly to avoid panics in extreme edge
cases. Practically, at such small heights/widths, users are unlikely to
attempt scrolling.
Before:
https://github.com/user-attachments/assets/cf2edf03-8b9a-4678-b3c6-9dcbd01e5db8
After:
https://github.com/user-attachments/assets/e9496a44-3e7d-4be7-b892-2762cccd9959
Release Notes:
- Fixed issue where scroll thumb was invisible or too small when viewing
long or wide files.