From 79ffe90124c28da35be263d01d032328b7c5b42e Mon Sep 17 00:00:00 2001 From: Blake Vandercar Date: Thu, 19 Sep 2024 17:00:51 -0600 Subject: [PATCH 1/6] remove overlay outer tabIndex --- .../core/src/components/overlay/overlay.tsx | 19 ++++++------------- .../core/src/components/overlay2/overlay2.tsx | 1 - 2 files changed, 6 insertions(+), 14 deletions(-) diff --git a/packages/core/src/components/overlay/overlay.tsx b/packages/core/src/components/overlay/overlay.tsx index 4efe4df06a..a0cf4a279a 100644 --- a/packages/core/src/components/overlay/overlay.tsx +++ b/packages/core/src/components/overlay/overlay.tsx @@ -27,7 +27,7 @@ import { CSSTransition, TransitionGroup } from "react-transition-group"; import { AbstractPureComponent, Classes } from "../../common"; import { DISPLAYNAME_PREFIX, type HTMLDivProps } from "../../common/props"; -import { getActiveElement, isFunction } from "../../common/utils"; +import { getActiveElement, isFunction, isReactElement } from "../../common/utils"; import { Portal } from "../portal/portal"; import type { OverlayProps } from "./overlayProps"; @@ -215,18 +215,11 @@ export class Overlay extends AbstractPureComponent { } // decorate the child with a few injected props - const tabIndex = this.props.enforceFocus || this.props.autoFocus ? 0 : undefined; - const decoratedChild = - typeof child === "object" ? ( - React.cloneElement(child as React.ReactElement, { - className: classNames((child as React.ReactElement).props.className, Classes.OVERLAY_CONTENT), - tabIndex, - }) - ) : ( - - {child} - - ); + const decoratedChild = isReactElement(child) ? ( + React.cloneElement(child, { className: classNames(child.props.className, Classes.OVERLAY_CONTENT) }) + ) : ( + {child} + ); const { onOpening, onOpened, onClosing, transitionDuration, transitionName } = this.props; diff --git a/packages/core/src/components/overlay2/overlay2.tsx b/packages/core/src/components/overlay2/overlay2.tsx index 260b184302..5d10a08d38 100644 --- a/packages/core/src/components/overlay2/overlay2.tsx +++ b/packages/core/src/components/overlay2/overlay2.tsx @@ -393,7 +393,6 @@ export const Overlay2 = React.forwardRef((props, // IMPORTANT: only inject our ref if the user didn't specify childRef or childRefs already. Otherwise, // we risk clobbering the user's ref (which we cannot inspect here while cloning/decorating the child). ref: userChildRef === undefined ? localChildRef : undefined, - tabIndex: enforceFocus || autoFocus ? 0 : undefined, }); const resolvedChildRef = userChildRef ?? localChildRef; From 25e47edb48582e5f3db7226d5984fd071267e6ce Mon Sep 17 00:00:00 2001 From: Blake Vandercar Date: Thu, 19 Sep 2024 17:07:38 -0600 Subject: [PATCH 2/6] ws --- packages/core/src/components/overlay2/overlay2.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/src/components/overlay2/overlay2.tsx b/packages/core/src/components/overlay2/overlay2.tsx index 5d10a08d38..2a9d71aefc 100644 --- a/packages/core/src/components/overlay2/overlay2.tsx +++ b/packages/core/src/components/overlay2/overlay2.tsx @@ -134,7 +134,7 @@ export const Overlay2 = React.forwardRef((props, return; } - // Overlay2 is guaranteed to be mounted here + // Overlay2 is guaranteed to be mounted here const isFocusOutsideModal = !container.contains(activeElement); if (isFocusOutsideModal) { getRef(startFocusTrapElement)?.focus({ preventScroll: true }); From 5a6e58b2e6045c00511b1407443bac2d3dff3bf0 Mon Sep 17 00:00:00 2001 From: Blake Vandercar Date: Thu, 19 Sep 2024 17:07:49 -0600 Subject: [PATCH 3/6] ws --- packages/core/src/components/overlay2/overlay2.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/src/components/overlay2/overlay2.tsx b/packages/core/src/components/overlay2/overlay2.tsx index 2a9d71aefc..5d10a08d38 100644 --- a/packages/core/src/components/overlay2/overlay2.tsx +++ b/packages/core/src/components/overlay2/overlay2.tsx @@ -134,7 +134,7 @@ export const Overlay2 = React.forwardRef((props, return; } - // Overlay2 is guaranteed to be mounted here + // Overlay2 is guaranteed to be mounted here const isFocusOutsideModal = !container.contains(activeElement); if (isFocusOutsideModal) { getRef(startFocusTrapElement)?.focus({ preventScroll: true }); From 9f8aa577726fdd5bd462efe91e2117c952d1878b Mon Sep 17 00:00:00 2001 From: Blake Vandercar Date: Thu, 19 Sep 2024 17:09:57 -0600 Subject: [PATCH 4/6] ws --- packages/core/src/components/overlay2/overlay2.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/src/components/overlay2/overlay2.tsx b/packages/core/src/components/overlay2/overlay2.tsx index 5d10a08d38..c99db27f31 100644 --- a/packages/core/src/components/overlay2/overlay2.tsx +++ b/packages/core/src/components/overlay2/overlay2.tsx @@ -143,7 +143,7 @@ export const Overlay2 = React.forwardRef((props, }); }, []); - /** Unique ID for this overlay in the global stack */ + /** Unique ID for this overlay in the global st ack */ const id = useOverlay2ID(); // N.B. use `null` here and not simply `undefined` because `useImperativeHandle` will set `null` on unmount, From 9ae29829c538b6cb2ccdcd1e1c5ed3a6432a04a3 Mon Sep 17 00:00:00 2001 From: Blake Vandercar Date: Thu, 19 Sep 2024 17:10:05 -0600 Subject: [PATCH 5/6] ws --- packages/core/src/components/overlay2/overlay2.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/src/components/overlay2/overlay2.tsx b/packages/core/src/components/overlay2/overlay2.tsx index c99db27f31..5d10a08d38 100644 --- a/packages/core/src/components/overlay2/overlay2.tsx +++ b/packages/core/src/components/overlay2/overlay2.tsx @@ -143,7 +143,7 @@ export const Overlay2 = React.forwardRef((props, }); }, []); - /** Unique ID for this overlay in the global st ack */ + /** Unique ID for this overlay in the global stack */ const id = useOverlay2ID(); // N.B. use `null` here and not simply `undefined` because `useImperativeHandle` will set `null` on unmount, From c50c5d1577b9f6ed92f557064fd3ad60a9d6fca7 Mon Sep 17 00:00:00 2001 From: Blake Vandercar Date: Thu, 19 Sep 2024 21:58:51 -0600 Subject: [PATCH 6/6] remove unused deps --- packages/core/src/components/overlay2/overlay2.tsx | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/core/src/components/overlay2/overlay2.tsx b/packages/core/src/components/overlay2/overlay2.tsx index 5d10a08d38..3546087452 100644 --- a/packages/core/src/components/overlay2/overlay2.tsx +++ b/packages/core/src/components/overlay2/overlay2.tsx @@ -415,8 +415,6 @@ export const Overlay2 = React.forwardRef((props, ); }, [ - autoFocus, - enforceFocus, getUserChildRef, handleTransitionAddEnd, handleTransitionExited,