Skip to content

Conversation

@Akolyte01
Copy link

@Akolyte01 Akolyte01 commented Jun 25, 2025

🐛 Bug Fix

The sign of these values has been wrong for a while.

If we consider the case where top is zero, the ownBounds.height is 100, and the offset is 50, then if the tooltip is placed up the final top will be

0 - 100 - 50 = -150, or 150px out of bounds -> 150px of clipping.

However the current topPlacementClippedPx calculation is 100 - 0 - 50 = 50px of calculated clipping. This isn't correct. Flipping the sign gives us 100 - 0 + 50 -> 150px, the correct value.

This seems unintuitive since now we are adding the offset in both the top and bottom clip calculation despite them being offset in different directions, but the key is that topPlacementClippedPx measures the magnitude of negative clipping while bottomPlacementClippedPx measures positive clipping. So we've got a double negative for the top and need to use addition in both cases.

The sign of these values has been wrong for a while.

If we consider the case where top is zero, the ownBounds.height is 100, and the offset is 50, then if the tooltip is placed up the final top will be

`0 - 100 - 50` = -150, or 150px of clipping.

However the current topPlacementClippedPx calculation is 
`100 - 0 - 50` = 50px of calculated clipping. This isn't correct.
Flipping the sign gives us `100 - 0 + 50` -> 150px, the correct value.

This seems unintuitive since now we are adding the offset in both the top and bottom clip calculation despite them being offset in different directions, but the key is that topPlacementClippedPx measures the magnitude of negative clipping while bottomPlacementClippedPx measures positive clipping. So we've got a double negative for the top and need to use addition in both cases.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants