소스 검색

fix: color picker keyboard handling not working (#6464)

David Luzar 2 년 전
부모
커밋
034113772d
1개의 변경된 파일7개의 추가작업 그리고 1개의 파일을 삭제
  1. 7 1
      src/components/Popover.tsx

+ 7 - 1
src/components/Popover.tsx

@@ -36,7 +36,13 @@ export const Popover = ({
       return;
     }
 
-    container.focus();
+    // focus popover only if the caller didn't focus on something else nested
+    // within the popover, which should take precedence. Fixes cases
+    // like color picker listening to keydown events on containers nested
+    // in the popover.
+    if (!container.contains(document.activeElement)) {
+      container.focus();
+    }
 
     const handleKeyDown = (event: KeyboardEvent) => {
       if (event.key === KEYS.TAB) {