When collision detection shows an overlay would overflow the viewport, it should flip to the opposite side (e.g., if there's no space below, show above).
`decideFlip(currentSide, collision)` returns a new side (or null) based on overflow amounts. The popover then uses that side to position itself.
Tooltip, Popover, Dropdown, Select, Combobox, Menu