| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| export function viewportTooltipPosition(clientX, clientY, opts = {}) { |
| const vw = typeof window !== "undefined" ? window.innerWidth : 1200; |
| const vh = typeof window !== "undefined" ? window.innerHeight : 800; |
| const W = opts.estWidth ?? 236; |
| const H = opts.estHeight ?? 92; |
| const gap = opts.gap ?? 12; |
| const pad = opts.pad ?? 8; |
|
|
| let left = clientX + gap; |
| let top = clientY + gap; |
|
|
| if (left + W + pad > vw) { |
| left = vw - W - pad; |
| } |
| if (left < pad) { |
| left = pad; |
| } |
|
|
| if (top + H + pad > vh) { |
| top = vh - H - pad; |
| } |
| if (top < pad) { |
| top = pad; |
| } |
|
|
| return { left, top }; |
| } |
|
|