({
estimatedWidth,
estimatedHeight,
initialPosition,
}: InitialModalPositionOptions)
| 61 | } |
| 62 | |
| 63 | export function getEstimatedModalPosition({ |
| 64 | estimatedWidth, |
| 65 | estimatedHeight, |
| 66 | initialPosition, |
| 67 | }: InitialModalPositionOptions): { x: number; y: number } { |
| 68 | if (initialPosition) { |
| 69 | const offset = MODAL_POSITION.cursorOffset; |
| 70 | return clampToViewport( |
| 71 | initialPosition.x + offset, |
| 72 | initialPosition.y - offset, |
| 73 | estimatedWidth, |
| 74 | estimatedHeight, |
| 75 | ); |
| 76 | } |
| 77 | |
| 78 | const viewport = getViewportSize(); |
| 79 | return { |
| 80 | x: (viewport.width - estimatedWidth) / 2, |
| 81 | y: Math.max(MODAL_POSITION.minTop, (viewport.height - estimatedHeight) / 2), |
| 82 | }; |
| 83 | } |
| 84 | |
| 85 | function getModalPositionResetKey({ |
| 86 | isOpen, |
no test coverage detected