Skip to content

Commit 9d1730b

Browse files
authored
Make scroll lock div work on a document context it belongs to (#5347)
* Make scroll lock div work on a document context it belongs to * Changeset update
1 parent 011a9d9 commit 9d1730b

File tree

2 files changed

+13
-3
lines changed

2 files changed

+13
-3
lines changed

.changeset/nasty-turkeys-rescue.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'react-select': patch
3+
---
4+
5+
Make scroll lock div work on a document context it belongs to

packages/react-select/src/internal/ScrollManager.tsx

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/** @jsx jsx */
22
import { jsx } from '@emotion/react';
3-
import { Fragment, ReactElement, RefCallback } from 'react';
3+
import { Fragment, ReactElement, RefCallback, MouseEvent } from 'react';
44
import useScrollCapture from './useScrollCapture';
55
import useScrollLock from './useScrollLock';
66

@@ -14,8 +14,13 @@ interface Props {
1414
readonly onTopLeave?: (event: WheelEvent | TouchEvent) => void;
1515
}
1616

17-
const blurSelectInput = () =>
18-
document.activeElement && (document.activeElement as HTMLElement).blur();
17+
const blurSelectInput = (event: MouseEvent<HTMLDivElement>) => {
18+
const element = event.target as HTMLDivElement;
19+
return (
20+
element.ownerDocument.activeElement &&
21+
(element.ownerDocument.activeElement as HTMLElement).blur()
22+
);
23+
};
1924

2025
export default function ScrollManager({
2126
children,

0 commit comments

Comments
 (0)