Skip to content

Commit 272f653

Browse files
committed
fix: only handle blur event for resizing viewport on iOS
1 parent ef3ff3d commit 272f653

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

packages/@react-aria/utils/src/useViewportSize.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import {useEffect, useState} from 'react';
1414
import {useIsSSR} from '@react-aria/ssr';
1515
import {willOpenKeyboard} from './keyboard';
16+
import { isIOS } from './platform';
1617

1718
interface ViewportSize {
1819
width: number,
@@ -66,7 +67,9 @@ export function useViewportSize(): ViewportSize {
6667
}
6768
};
6869

69-
window.addEventListener('blur', onBlur, true);
70+
if (isIOS()) {
71+
window.addEventListener('blur', onBlur, true);
72+
}
7073

7174
if (!visualViewport) {
7275
window.addEventListener('resize', onResize);
@@ -76,7 +79,9 @@ export function useViewportSize(): ViewportSize {
7679

7780
return () => {
7881
cancelAnimationFrame(frame);
79-
window.removeEventListener('blur', onBlur, true);
82+
if (isIOS()) {
83+
window.removeEventListener('blur', onBlur, true);
84+
}
8085
if (!visualViewport) {
8186
window.removeEventListener('resize', onResize);
8287
} else {

0 commit comments

Comments
 (0)