Skip to content

Commit 08b8cfe

Browse files
authored
Revert changes to Dialog
1 parent 44e6850 commit 08b8cfe

1 file changed

Lines changed: 6 additions & 4 deletions

File tree

packages/react/src/Dialog/Dialog.tsx

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
import React, {useCallback, useEffect, useRef, useState, type SyntheticEvent} from 'react'
22
import type {ButtonProps} from '../Button'
33
import {Button, IconButton} from '../Button'
4-
import {useMergedRefs, useOnEscapePress} from '../hooks'
4+
import {useOnEscapePress, useProvidedRefOrCreate} from '../hooks'
55
import {useFocusTrap} from '../hooks/useFocusTrap'
66
import {XIcon} from '@primer/octicons-react'
77
import {useFocusZone} from '../hooks/useFocusZone'
88
import {FocusKeys} from '@primer/behaviors'
99
import Portal from '../Portal'
10+
import {useMergedRefs} from '../hooks/useMergedRefs'
1011
import {useId} from '../hooks/useId'
1112
import {ScrollableRegion} from '../ScrollableRegion'
1213
import type {ResponsiveValue} from '../hooks/useResponsiveValue'
@@ -461,8 +462,8 @@ const Footer = React.forwardRef<HTMLDivElement, StyledFooterProps>(function Foot
461462
Footer.displayName = 'Dialog.Footer'
462463

463464
const Buttons: React.FC<React.PropsWithChildren<{buttons: DialogButtonProps[]}>> = ({buttons}) => {
464-
const autoFocusRef = useRef<HTMLButtonElement>(null)
465-
const mergedRef = useMergedRefs(autoFocusRef, buttons.find(button => button.autoFocus)?.ref)
465+
// TODO: Convert to `useMergedRefs`
466+
const autoFocusRef = useProvidedRefOrCreate<HTMLButtonElement>(buttons.find(button => button.autoFocus)?.ref)
466467
let autoFocusCount = 0
467468
const [hasRendered, setHasRendered] = useState(0)
468469
useEffect(() => {
@@ -484,7 +485,8 @@ const Buttons: React.FC<React.PropsWithChildren<{buttons: DialogButtonProps[]}>>
484485
{...buttonProps}
485486
// 'normal' value is equivalent to 'default', this is used for backwards compatibility
486487
variant={buttonType === 'normal' ? 'default' : buttonType}
487-
ref={autoFocus && autoFocusCount === 0 ? (autoFocusCount++, mergedRef) : null}
488+
// @ts-expect-error it needs a non nullable ref
489+
ref={autoFocus && autoFocusCount === 0 ? (autoFocusCount++, autoFocusRef) : null}
488490
>
489491
{content}
490492
</Button>

0 commit comments

Comments
 (0)