placement takes twelve values and defaults to top: the four sides (top, bottom, left, right) and eight corner variants (topLeft, topRight, bottomLeft, bottomRight, leftTop, leftBottom, rightTop, rightBottom).
- Placement is a preference. With autoAdjustOverflow, on by default, a bubble that would be clipped opens on the other side. Do not build a layout that only works at one placement.
- The bubble renders into document.body and is themed there, so set getPopupContainer only when it has to scroll or clip with its trigger, like inside a scrolling panel. In a box with overflow set to hidden, auto or scroll, the bubble then flips at the box's edge instead of the viewport's.
- Keep one side per surface. A row of toolbar buttons where each hint picks its own side reads as noise, and the reader loses the place their eye was going to.
- arrow accepts { pointAtCenter: true }, which only changes anything on the six corner placements. By default the arrow sits near the bubble's edge. With pointAtCenter, it sits over the middle of the trigger.