From 9d68bf595548412e9890f84ded78178e2ebedfa7 Mon Sep 17 00:00:00 2001 From: Niklas Mischkulnig Date: Tue, 29 Sep 2020 12:37:56 +0200 Subject: [PATCH 01/13] Update react-transition-group --- .../@react-spectrum/overlays/package.json | 2 +- yarn.lock | 20 ++++++++++++++++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/packages/@react-spectrum/overlays/package.json b/packages/@react-spectrum/overlays/package.json index 25a08650fb1..51509d0975c 100644 --- a/packages/@react-spectrum/overlays/package.json +++ b/packages/@react-spectrum/overlays/package.json @@ -38,7 +38,7 @@ "@react-stately/overlays": "^3.1.1", "@react-types/overlays": "^3.2.1", "@react-types/shared": "^3.2.1", - "react-transition-group": "^2.2.0" + "react-transition-group": "^4.4.1" }, "devDependencies": { "@adobe/spectrum-css-temp": "^3.0.0-alpha.1" diff --git a/yarn.lock b/yarn.lock index 77c1d231726..09d7aff0ebe 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1402,7 +1402,7 @@ core-js-pure "^3.0.0" regenerator-runtime "^0.13.4" -"@babel/runtime@7.9.0", "@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.11.2", "@babel/runtime@^7.3.1", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.2", "@babel/runtime@^7.4.4", "@babel/runtime@^7.5.0", "@babel/runtime@^7.5.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.2", "@babel/runtime@^7.6.3", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.4", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": +"@babel/runtime@7.9.0", "@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.11.2", "@babel/runtime@^7.3.1", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.2", "@babel/runtime@^7.4.4", "@babel/runtime@^7.5.0", "@babel/runtime@^7.5.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.2", "@babel/runtime@^7.6.3", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.4", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": version "7.9.0" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.9.0.tgz#337eda67401f5b066a6f205a3113d4ac18ba495b" integrity sha512-cTIudHnzuWLS56ik4DnRnqqNf8MkdUzV4iFFI1h7Jo9xvrpQROYaAnaSd2mHLQAzzZAPfATynX5ord6YlNYNMA== @@ -8955,6 +8955,14 @@ dom-helpers@^3.2.1, dom-helpers@^3.3.1, dom-helpers@^3.4.0: dependencies: "@babel/runtime" "^7.1.2" +dom-helpers@^5.0.1: + version "5.2.0" + resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.0.tgz#57fd054c5f8f34c52a3eeffdb7e7e93cd357d95b" + integrity sha512-Ru5o9+V8CpunKnz5LGgWXkmrH/20cGKwcHwS4m73zIvs54CN9epEmT/HLqFJW3kXpakAFkEdzgy1hzlJe3E4OQ== + dependencies: + "@babel/runtime" "^7.8.7" + csstype "^3.0.2" + dom-serializer@0: version "0.2.2" resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" @@ -19017,6 +19025,16 @@ react-transition-group@^2.2.0, react-transition-group@^2.2.1: prop-types "^15.6.2" react-lifecycles-compat "^3.0.4" +react-transition-group@^4.4.1: + version "4.4.1" + resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.1.tgz#63868f9325a38ea5ee9535d828327f85773345c9" + integrity sha512-Djqr7OQ2aPUiYurhPalTrVy9ddmFCCzwhqQmtN+J3+3DzLO209Fdr70QrN8Z3DsglWql6iY1lDWAfpFiBtuKGw== + dependencies: + "@babel/runtime" "^7.5.5" + dom-helpers "^5.0.1" + loose-envify "^1.4.0" + prop-types "^15.6.2" + react@^16.7.0, "react@^16.8.0 || ^17.0.0-rc.1": version "16.13.1" resolved "https://registry.yarnpkg.com/react/-/react-16.13.1.tgz#2e818822f1a9743122c063d6410d85c1e3afe48e" From a9b68742d85bd3db15f25a4b8807a4a01308d6cd Mon Sep 17 00:00:00 2001 From: Niklas Mischkulnig Date: Tue, 29 Sep 2020 13:16:44 +0200 Subject: [PATCH 02/13] Pass nodeRef into Transition --- packages/@react-spectrum/overlays/src/Modal.tsx | 8 +++++--- packages/@react-spectrum/overlays/src/Overlay.tsx | 5 +++-- packages/@react-spectrum/overlays/src/Popover.tsx | 2 +- packages/@react-spectrum/overlays/src/Tray.tsx | 6 ++++-- packages/@react-spectrum/overlays/src/Underlay.tsx | 7 +++++-- packages/@react-types/overlays/src/index.d.ts | 11 ++++++----- 6 files changed, 24 insertions(+), 15 deletions(-) diff --git a/packages/@react-spectrum/overlays/src/Modal.tsx b/packages/@react-spectrum/overlays/src/Modal.tsx index f6453ae58b5..b99876f1f62 100644 --- a/packages/@react-spectrum/overlays/src/Modal.tsx +++ b/packages/@react-spectrum/overlays/src/Modal.tsx @@ -17,7 +17,7 @@ import {ModalProps} from '@react-types/overlays'; import modalStyles from '@adobe/spectrum-css-temp/components/modal/vars.css'; import {Overlay} from './Overlay'; import overrideStyles from './overlays.css'; -import React, {forwardRef, HTMLAttributes, ReactNode, RefObject} from 'react'; +import React, {forwardRef, HTMLAttributes, ReactNode, RefObject, useRef} from 'react'; import {Underlay} from './Underlay'; import {useModal, useOverlay, usePreventScroll} from '@react-aria/overlays'; import {useViewportSize} from '@react-spectrum/utils'; @@ -36,9 +36,11 @@ function Modal(props: ModalProps, ref: DOMRef) { let domRef = useDOMRef(ref); let {styleProps} = useStyleProps(props); + let underlayRef = useRef(null); + return ( - - + + ) { - let {children, isOpen, container, onEnter, onEntering, onEntered, onExit, onExiting, onExited} = props; + let {children, isOpen, container, onEnter, onEntering, onEntered, onExit, onExiting, onExited, nodeRef} = props; let [exited, setExited] = useState(!isOpen); let handleEntered = useCallback(() => { @@ -52,7 +52,8 @@ function Overlay(props: OverlayProps, ref: DOMRef) { onExited={handleExited} onEnter={onEnter} onEntering={onEntering} - onEntered={handleEntered}> + onEntered={handleEntered} + nodeRef={nodeRef}> {children} diff --git a/packages/@react-spectrum/overlays/src/Popover.tsx b/packages/@react-spectrum/overlays/src/Popover.tsx index 4f32405f90c..e9becfe8e57 100644 --- a/packages/@react-spectrum/overlays/src/Popover.tsx +++ b/packages/@react-spectrum/overlays/src/Popover.tsx @@ -51,7 +51,7 @@ function Popover(props: PopoverProps, ref: DOMRef) { let {styleProps} = useStyleProps(props); return ( - + ) { let domRef = useDOMRef(ref); let {styleProps} = useStyleProps(props); + let underlayRef = useRef(null); + return ( - - + + ) { return ( -
+
); } + +const _Underlay = React.forwardRef(Underlay); +export {_Underlay as Underlay}; diff --git a/packages/@react-types/overlays/src/index.d.ts b/packages/@react-types/overlays/src/index.d.ts index 9646f40b25f..a4c412ab580 100644 --- a/packages/@react-types/overlays/src/index.d.ts +++ b/packages/@react-types/overlays/src/index.d.ts @@ -10,7 +10,7 @@ * governing permissions and limitations under the License. */ -import {HTMLAttributes, ReactElement, ReactNode} from 'react'; +import React, {HTMLAttributes, ReactElement, ReactNode} from 'react'; import {StyleProps} from '@react-types/shared'; export type Placement = 'bottom' | 'bottom left' | 'bottom right' | 'bottom start' | 'bottom end' | @@ -71,10 +71,11 @@ export interface OverlayProps { onEntered?: () => void, onExit?: () => void, onExiting?: () => void, - onExited?: () => void + onExited?: () => void, + nodeRef: React.MutableRefObject } -export interface ModalProps extends StyleProps, OverlayProps { +export interface ModalProps extends StyleProps, Omit { children: ReactElement, isOpen?: boolean, onClose?: () => void, @@ -82,7 +83,7 @@ export interface ModalProps extends StyleProps, OverlayProps { isDismissable?: boolean } -export interface PopoverProps extends StyleProps, OverlayProps { +export interface PopoverProps extends StyleProps, Omit { children: ReactNode, placement?: PlacementAxis, arrowProps?: HTMLAttributes, @@ -92,7 +93,7 @@ export interface PopoverProps extends StyleProps, OverlayProps { shouldCloseOnBlur?: boolean } -export interface TrayProps extends StyleProps, OverlayProps { +export interface TrayProps extends StyleProps, Omit { children: ReactElement, isOpen?: boolean, onClose?: () => void, From 577d2c5dd4a752902450036b36ebd73f6ba4a722 Mon Sep 17 00:00:00 2001 From: Niklas Mischkulnig Date: Tue, 29 Sep 2020 16:31:32 +0200 Subject: [PATCH 03/13] WIP --- .../tooltip/src/TooltipTrigger.tsx | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/packages/@react-spectrum/tooltip/src/TooltipTrigger.tsx b/packages/@react-spectrum/tooltip/src/TooltipTrigger.tsx index 5a6ce4d16d7..2220f601663 100644 --- a/packages/@react-spectrum/tooltip/src/TooltipTrigger.tsx +++ b/packages/@react-spectrum/tooltip/src/TooltipTrigger.tsx @@ -15,6 +15,7 @@ import {Overlay} from '@react-spectrum/overlays'; import React, {ReactElement, useRef} from 'react'; import {SpectrumTooltipTriggerProps} from '@react-types/tooltip'; import {TooltipContext} from './context'; +import {unwrapDOMRef} from '@react-spectrum/utils'; import {useOverlayPosition} from '@react-aria/overlays'; import {useTooltipTrigger} from '@react-aria/tooltip'; import {useTooltipTriggerState} from '@react-stately/tooltip'; @@ -30,8 +31,19 @@ function TooltipTrigger(props: SpectrumTooltipTriggerProps) { offset = DEFAULT_OFFSET } = props; + let tooltipRef = useRef(); let [trigger, tooltip] = React.Children.toArray(children); + // @ts-ignore + let tooltipWithRef = React.cloneElement(tooltip, {ref: node => { + tooltipRef.current = node; + // @ts-ignore + if (tooltip.ref) { + // @ts-ignore + tooltip.ref.current = node; + } + }}); + let state = useTooltipTriggerState(props); let tooltipTriggerRef = useRef(); @@ -63,8 +75,9 @@ function TooltipTrigger(props: SpectrumTooltipTriggerProps) { arrowProps, ...tooltipProps }}> - - {tooltip} + {/* @ts-ignore */} + + {tooltipWithRef} From aae65b1663cf83b38aa06b35efd06d94d1508b1e Mon Sep 17 00:00:00 2001 From: Rob Snow Date: Fri, 6 Nov 2020 14:27:53 -0800 Subject: [PATCH 04/13] Removed too many deps --- packages/@react-spectrum/overlays/package.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/@react-spectrum/overlays/package.json b/packages/@react-spectrum/overlays/package.json index 9ff6c181a8b..c4369e8b5bf 100644 --- a/packages/@react-spectrum/overlays/package.json +++ b/packages/@react-spectrum/overlays/package.json @@ -36,6 +36,8 @@ "@react-aria/utils": "^3.4.0", "@react-spectrum/utils": "^3.4.0", "@react-stately/overlays": "^3.1.1", + "@react-types/overlays": "^3.2.1", + "@react-types/shared": "^3.2.1", "react-transition-group": "^4.4.1" }, "devDependencies": { From 40487752d8b8168ad04d759b359bbaffafc3f157 Mon Sep 17 00:00:00 2001 From: Rob Snow Date: Fri, 6 Nov 2020 14:28:44 -0800 Subject: [PATCH 05/13] and merged a bad number --- packages/@react-spectrum/overlays/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/@react-spectrum/overlays/package.json b/packages/@react-spectrum/overlays/package.json index c4369e8b5bf..6bc53853aad 100644 --- a/packages/@react-spectrum/overlays/package.json +++ b/packages/@react-spectrum/overlays/package.json @@ -36,8 +36,8 @@ "@react-aria/utils": "^3.4.0", "@react-spectrum/utils": "^3.4.0", "@react-stately/overlays": "^3.1.1", - "@react-types/overlays": "^3.2.1", - "@react-types/shared": "^3.2.1", + "@react-types/overlays": "^3.3.0", + "@react-types/shared": "^3.3.0", "react-transition-group": "^4.4.1" }, "devDependencies": { From 9c7216ae7b13a2c2d0aad3d25afbeb74f04107ba Mon Sep 17 00:00:00 2001 From: Rob Snow Date: Fri, 6 Nov 2020 15:11:31 -0800 Subject: [PATCH 06/13] fix docs build --- packages/@react-spectrum/overlays/src/Underlay.tsx | 4 ++-- packages/@react-types/overlays/src/index.d.ts | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/@react-spectrum/overlays/src/Underlay.tsx b/packages/@react-spectrum/overlays/src/Underlay.tsx index cfd71db43d4..a4da2922e47 100644 --- a/packages/@react-spectrum/overlays/src/Underlay.tsx +++ b/packages/@react-spectrum/overlays/src/Underlay.tsx @@ -11,14 +11,14 @@ */ import {classNames} from '@react-spectrum/utils'; -import React from 'react'; +import React, {Ref} from 'react'; import underlayStyles from '@adobe/spectrum-css-temp/components/underlay/vars.css'; interface UnderlayProps { isOpen?: boolean } -function Underlay({isOpen}: UnderlayProps, ref: React.Ref) { +function Underlay({isOpen}: UnderlayProps, ref: Ref) { return (
); diff --git a/packages/@react-types/overlays/src/index.d.ts b/packages/@react-types/overlays/src/index.d.ts index a4c412ab580..95d0e0f347e 100644 --- a/packages/@react-types/overlays/src/index.d.ts +++ b/packages/@react-types/overlays/src/index.d.ts @@ -10,7 +10,7 @@ * governing permissions and limitations under the License. */ -import React, {HTMLAttributes, ReactElement, ReactNode} from 'react'; +import {HTMLAttributes, MutableRefObject, ReactElement, ReactNode} from 'react'; import {StyleProps} from '@react-types/shared'; export type Placement = 'bottom' | 'bottom left' | 'bottom right' | 'bottom start' | 'bottom end' | @@ -72,7 +72,7 @@ export interface OverlayProps { onExit?: () => void, onExiting?: () => void, onExited?: () => void, - nodeRef: React.MutableRefObject + nodeRef: MutableRefObject } export interface ModalProps extends StyleProps, Omit { From a115f3145b4b9ea8270f831fe59aa5a6a7b2ebe0 Mon Sep 17 00:00:00 2001 From: Rob Snow Date: Tue, 17 Nov 2020 15:23:43 -0800 Subject: [PATCH 07/13] Remove a few ignores and explain the last remaining one --- .../tooltip/src/TooltipTrigger.tsx | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/packages/@react-spectrum/tooltip/src/TooltipTrigger.tsx b/packages/@react-spectrum/tooltip/src/TooltipTrigger.tsx index 2220f601663..22c9012e0c4 100644 --- a/packages/@react-spectrum/tooltip/src/TooltipTrigger.tsx +++ b/packages/@react-spectrum/tooltip/src/TooltipTrigger.tsx @@ -32,17 +32,21 @@ function TooltipTrigger(props: SpectrumTooltipTriggerProps) { } = props; let tooltipRef = useRef(); - let [trigger, tooltip] = React.Children.toArray(children); - // @ts-ignore - let tooltipWithRef = React.cloneElement(tooltip, {ref: node => { - tooltipRef.current = node; - // @ts-ignore - if (tooltip.ref) { - // @ts-ignore - tooltip.ref.current = node; + let [trigger, tooltip] = React.Children.toArray(children) as [ReactElement, ReactElement]; + + // this does mean that we can't have some element wrapping the Tooltip + // we'd need to do it through context if we wanted to allow for that + let tooltipWithRef = React.cloneElement(tooltip, { + ref: node => { + tooltipRef.current = node; + // @ts-ignore react forwardRef doesn't get typed quite right, so we ignore these two warnings about accessing ref + if (tooltip.ref) { + // @ts-ignore + tooltip.ref.current = node; + } } - }}); + }); let state = useTooltipTriggerState(props); @@ -75,7 +79,6 @@ function TooltipTrigger(props: SpectrumTooltipTriggerProps) { arrowProps, ...tooltipProps }}> - {/* @ts-ignore */} {tooltipWithRef} From 53f15fef490174f6d0321f714a5e1c6c198b8cb3 Mon Sep 17 00:00:00 2001 From: danni Date: Fri, 4 Jun 2021 16:57:53 -0700 Subject: [PATCH 08/13] remove tooltip change for now --- .../tooltip/src/TooltipTrigger.tsx | 21 +++---------------- yarn.lock | 9 +------- 2 files changed, 4 insertions(+), 26 deletions(-) diff --git a/packages/@react-spectrum/tooltip/src/TooltipTrigger.tsx b/packages/@react-spectrum/tooltip/src/TooltipTrigger.tsx index 18f2a89f6cf..42b1579d268 100644 --- a/packages/@react-spectrum/tooltip/src/TooltipTrigger.tsx +++ b/packages/@react-spectrum/tooltip/src/TooltipTrigger.tsx @@ -32,22 +32,7 @@ function TooltipTrigger(props: SpectrumTooltipTriggerProps) { trigger: triggerAction } = props; - let tooltipRef = useRef(); - - let [trigger, tooltip] = React.Children.toArray(children) as [ReactElement, ReactElement]; - - // this does mean that we can't have some element wrapping the Tooltip - // we'd need to do it through context if we wanted to allow for that - let tooltipWithRef = React.cloneElement(tooltip, { - ref: node => { - tooltipRef.current = node; - // @ts-ignore react forwardRef doesn't get typed quite right, so we ignore these two warnings about accessing ref - if (tooltip.ref) { - // @ts-ignore - tooltip.ref.current = node; - } - } - }); + let [trigger, tooltip] = React.Children.toArray(children); let state = useTooltipTriggerState(props); @@ -82,8 +67,8 @@ function TooltipTrigger(props: SpectrumTooltipTriggerProps) { arrowProps, ...tooltipProps }}> - - {tooltipWithRef} + + {tooltip} diff --git a/yarn.lock b/yarn.lock index 6ec55714c75..77179cb58e1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1878,17 +1878,10 @@ core-js-pure "^3.0.0" regenerator-runtime "^0.13.4" -<<<<<<< HEAD -"@babel/runtime@7.9.0", "@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.11.2", "@babel/runtime@^7.3.1", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.2", "@babel/runtime@^7.4.4", "@babel/runtime@^7.5.0", "@babel/runtime@^7.5.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.2", "@babel/runtime@^7.6.3", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.4", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.9.0.tgz#337eda67401f5b066a6f205a3113d4ac18ba495b" - integrity sha512-cTIudHnzuWLS56ik4DnRnqqNf8MkdUzV4iFFI1h7Jo9xvrpQROYaAnaSd2mHLQAzzZAPfATynX5ord6YlNYNMA== -======= -"@babel/runtime@7.12.5", "@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.5", "@babel/runtime@^7.3.1", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.4", "@babel/runtime@^7.5.0", "@babel/runtime@^7.5.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.2", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": +"@babel/runtime@7.12.5", "@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.5", "@babel/runtime@^7.3.1", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.4", "@babel/runtime@^7.5.0", "@babel/runtime@^7.5.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.2", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": version "7.12.5" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.5.tgz#410e7e487441e1b360c29be715d870d9b985882e" integrity sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg== ->>>>>>> main dependencies: regenerator-runtime "^0.13.4" From 67f06ce6632d26f2216c8fdaaf93c80a30aef530 Mon Sep 17 00:00:00 2001 From: Danni Date: Fri, 4 Jun 2021 17:23:31 -0700 Subject: [PATCH 09/13] add strictmode to stories for testing --- .storybook/preview.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.storybook/preview.js b/.storybook/preview.js index 5357d1c3ae5..580fde7af3f 100644 --- a/.storybook/preview.js +++ b/.storybook/preview.js @@ -20,7 +20,9 @@ export const parameters = { export const decorators = [ story => ( - {story()} + + {story()} + ), withProviderSwitcher From 1447216c0b9a73bb15593254b72011b975db5770 Mon Sep 17 00:00:00 2001 From: Danni Date: Fri, 4 Jun 2021 17:29:54 -0700 Subject: [PATCH 10/13] I am a linter --- packages/@react-spectrum/tooltip/src/TooltipTrigger.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/@react-spectrum/tooltip/src/TooltipTrigger.tsx b/packages/@react-spectrum/tooltip/src/TooltipTrigger.tsx index 42b1579d268..f69b2f6d9e3 100644 --- a/packages/@react-spectrum/tooltip/src/TooltipTrigger.tsx +++ b/packages/@react-spectrum/tooltip/src/TooltipTrigger.tsx @@ -15,7 +15,6 @@ import {Overlay} from '@react-spectrum/overlays'; import React, {ReactElement, useRef} from 'react'; import {SpectrumTooltipTriggerProps} from '@react-types/tooltip'; import {TooltipContext} from './context'; -import {unwrapDOMRef} from '@react-spectrum/utils'; import {useOverlayPosition} from '@react-aria/overlays'; import {useTooltipTrigger} from '@react-aria/tooltip'; import {useTooltipTriggerState} from '@react-stately/tooltip'; From 76138ea4ee608af9ed5a58cecfb5246170ba1d57 Mon Sep 17 00:00:00 2001 From: Danni Date: Wed, 11 Aug 2021 16:23:54 -0700 Subject: [PATCH 11/13] fix tooltip refs --- .../@react-aria/tooltip/src/useTooltipTrigger.ts | 12 +++++------- .../@react-spectrum/tooltip/src/TooltipTrigger.tsx | 2 +- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/packages/@react-aria/tooltip/src/useTooltipTrigger.ts b/packages/@react-aria/tooltip/src/useTooltipTrigger.ts index e9e6e4769bb..473eda125b8 100644 --- a/packages/@react-aria/tooltip/src/useTooltipTrigger.ts +++ b/packages/@react-aria/tooltip/src/useTooltipTrigger.ts @@ -60,12 +60,10 @@ export function useTooltipTrigger(props: TooltipTriggerProps, state: TooltipTrig useEffect(() => { let onKeyDown = (e) => { - if (ref && ref.current) { - // Escape after clicking something can give it keyboard focus - // dismiss tooltip on esc key press - if (e.key === 'Escape') { - state.close(true); - } + // Escape after clicking something can give it keyboard focus + // dismiss tooltip on esc key press + if (e.key === 'Escape') { + state.close(true); } }; if (state.isOpen) { @@ -74,7 +72,7 @@ export function useTooltipTrigger(props: TooltipTriggerProps, state: TooltipTrig document.removeEventListener('keydown', onKeyDown, true); }; } - }, [ref, state]); + }, [state]); let onHoverStart = () => { if (trigger === 'focus') { diff --git a/packages/@react-spectrum/tooltip/src/TooltipTrigger.tsx b/packages/@react-spectrum/tooltip/src/TooltipTrigger.tsx index f69b2f6d9e3..023884a6ca8 100644 --- a/packages/@react-spectrum/tooltip/src/TooltipTrigger.tsx +++ b/packages/@react-spectrum/tooltip/src/TooltipTrigger.tsx @@ -66,7 +66,7 @@ function TooltipTrigger(props: SpectrumTooltipTriggerProps) { arrowProps, ...tooltipProps }}> - + {tooltip} From 8aee473ee059cb2c212df21ce0d7aefdc1b9f110 Mon Sep 17 00:00:00 2001 From: danni Date: Wed, 11 Aug 2021 19:15:35 -0700 Subject: [PATCH 12/13] yarn lock updates --- yarn.lock | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/yarn.lock b/yarn.lock index 0739159ed2a..97607b60a0a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1878,7 +1878,7 @@ core-js-pure "^3.0.0" regenerator-runtime "^0.13.4" -"@babel/runtime@7.12.5", "@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.5", "@babel/runtime@^7.3.1", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.4", "@babel/runtime@^7.5.0", "@babel/runtime@^7.5.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.2", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": +"@babel/runtime@7.12.5", "@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.5", "@babel/runtime@^7.3.1", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.4", "@babel/runtime@^7.5.0", "@babel/runtime@^7.5.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.2", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": version "7.12.5" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.5.tgz#410e7e487441e1b360c29be715d870d9b985882e" integrity sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg== @@ -9034,9 +9034,9 @@ csstype@^2.5.7: integrity sha512-xz39Sb4+OaTsULgUERcCk+TJj8ylkL4aSVDQiX/ksxbELSqwkgt4d4RD7fovIdgJGSuNYqwZEiVjYY5l0ask+Q== csstype@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.3.tgz#2b410bbeba38ba9633353aff34b05d9755d065f8" - integrity sha512-jPl+wbWPOWJ7SXsWyqGRk3lGecbar0Cb0OvZF/r/ZU011R4YqiRehgkQ9p4eQfo9DSDLqLL3wHwfxeJiuIsNag== + version "3.0.8" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.8.tgz#d2266a792729fb227cd216fb572f43728e1ad340" + integrity sha512-jXKhWqXPmlUeoQnF/EhTtTl4C9SnrxSH/jZUih3jmO6lBKr99rP3/+FmrMj4EFpOXzMtXHAZkd3x0E6h6Fgflw== currently-unhandled@^0.4.1: version "0.4.1" @@ -9514,9 +9514,9 @@ dom-helpers@^3.2.1, dom-helpers@^3.3.1, dom-helpers@^3.4.0: "@babel/runtime" "^7.1.2" dom-helpers@^5.0.1: - version "5.2.0" - resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.0.tgz#57fd054c5f8f34c52a3eeffdb7e7e93cd357d95b" - integrity sha512-Ru5o9+V8CpunKnz5LGgWXkmrH/20cGKwcHwS4m73zIvs54CN9epEmT/HLqFJW3kXpakAFkEdzgy1hzlJe3E4OQ== + version "5.2.1" + resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.1.tgz#d9400536b2bf8225ad98fe052e029451ac40e902" + integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA== dependencies: "@babel/runtime" "^7.8.7" csstype "^3.0.2" @@ -19260,9 +19260,9 @@ react-transition-group@^2.2.0, react-transition-group@^2.2.1: react-lifecycles-compat "^3.0.4" react-transition-group@^4.4.1: - version "4.4.1" - resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.1.tgz#63868f9325a38ea5ee9535d828327f85773345c9" - integrity sha512-Djqr7OQ2aPUiYurhPalTrVy9ddmFCCzwhqQmtN+J3+3DzLO209Fdr70QrN8Z3DsglWql6iY1lDWAfpFiBtuKGw== + version "4.4.2" + resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.2.tgz#8b59a56f09ced7b55cbd53c36768b922890d5470" + integrity sha512-/RNYfRAMlZwDSr6z4zNKV6xu53/e2BuaBbGhbyYIXTrmgu/bGHzmqOs7mJSJBHy9Ud+ApHx3QjrkKSp1pxvlFg== dependencies: "@babel/runtime" "^7.5.5" dom-helpers "^5.0.1" @@ -19565,9 +19565,9 @@ regenerator-runtime@^0.11.0: integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== regenerator-runtime@^0.13.4: - version "0.13.5" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz#d878a1d094b4306d10b9096484b33ebd55e26697" - integrity sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA== + version "0.13.9" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" + integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== regenerator-runtime@^0.13.7: version "0.13.7" From a6486ef37a170c9bf175953cf7e1e7cb73c9fff3 Mon Sep 17 00:00:00 2001 From: danni Date: Wed, 11 Aug 2021 19:28:12 -0700 Subject: [PATCH 13/13] revert change --- .../@react-aria/tooltip/src/useTooltipTrigger.ts | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/packages/@react-aria/tooltip/src/useTooltipTrigger.ts b/packages/@react-aria/tooltip/src/useTooltipTrigger.ts index 473eda125b8..e9e6e4769bb 100644 --- a/packages/@react-aria/tooltip/src/useTooltipTrigger.ts +++ b/packages/@react-aria/tooltip/src/useTooltipTrigger.ts @@ -60,10 +60,12 @@ export function useTooltipTrigger(props: TooltipTriggerProps, state: TooltipTrig useEffect(() => { let onKeyDown = (e) => { - // Escape after clicking something can give it keyboard focus - // dismiss tooltip on esc key press - if (e.key === 'Escape') { - state.close(true); + if (ref && ref.current) { + // Escape after clicking something can give it keyboard focus + // dismiss tooltip on esc key press + if (e.key === 'Escape') { + state.close(true); + } } }; if (state.isOpen) { @@ -72,7 +74,7 @@ export function useTooltipTrigger(props: TooltipTriggerProps, state: TooltipTrig document.removeEventListener('keydown', onKeyDown, true); }; } - }, [state]); + }, [ref, state]); let onHoverStart = () => { if (trigger === 'focus') {