diff --git a/packages/shared/components/drop-down/DropDown.tsx b/packages/shared/components/drop-down/DropDown.tsx index 767d243c0d..9acff7a8d9 100644 --- a/packages/shared/components/drop-down/DropDown.tsx +++ b/packages/shared/components/drop-down/DropDown.tsx @@ -37,6 +37,7 @@ import { Row } from "./sub-components/Row"; import { DropDownProps } from "./DropDown.types"; import { DEFAULT_PARENT_HEIGHT } from "./DropDown.constants"; +import { isIOS, isMobile } from "react-device-detect"; const DropDown = ({ directionY = "bottom", @@ -284,12 +285,25 @@ const DropDown = ({ }; window.addEventListener("resize", documentResizeListener.current); + + if (isIOS && isMobile) + window.visualViewport?.addEventListener( + "resize", + documentResizeListener.current, + ); } }, [checkPosition, checkPositionPortal, isDefaultMode, open]); const unbindDocumentResizeListener = React.useCallback(() => { if (documentResizeListener.current) { window.removeEventListener("resize", documentResizeListener.current); + + if (isIOS && isMobile) + window.visualViewport?.removeEventListener( + "resize", + documentResizeListener.current, + ); + documentResizeListener.current = null; } }, []);