1- import React , { useEffect } from 'react'
1+ import React , { useEffect , useRef } from 'react'
22import type { ResponsiveValue } from '../hooks/useResponsiveValue'
33import { isResponsiveValue } from '../hooks/useResponsiveValue'
44import Heading from '../Heading'
@@ -10,7 +10,7 @@ import {getResponsiveAttributes} from '../internal/utils/getResponsiveAttributes
1010import type { ForwardRefComponent as PolymorphicForwardRefComponent } from '../utils/polymorphic'
1111import { areAllValuesTheSame , haveRegularAndWideSameValue } from '../utils/getBreakpointDeclarations'
1212import { warning } from '../utils/warning'
13- import { useProvidedRefOrCreate } from '../hooks'
13+ import { useMergedRefs } from '../hooks'
1414import type { AriaRole , FCWithSlotMarker } from '../utils/types'
1515import { clsx } from 'clsx'
1616
@@ -49,7 +49,8 @@ export type PageHeaderProps = {
4949
5050const Root = React . forwardRef < HTMLDivElement , React . PropsWithChildren < PageHeaderProps > > (
5151 ( { children, className, as : BaseComponent = 'div' , 'aria-label' : ariaLabel , role, hasBorder} , forwardedRef ) => {
52- const rootRef = useProvidedRefOrCreate < HTMLDivElement > ( forwardedRef as React . RefObject < HTMLDivElement > )
52+ const rootRef = useRef < HTMLDivElement > ( null )
53+ const mergedRef = useMergedRefs ( rootRef , forwardedRef )
5354
5455 const isInteractive = ( element : HTMLElement ) => {
5556 return (
@@ -105,7 +106,7 @@ const Root = React.forwardRef<HTMLDivElement, React.PropsWithChildren<PageHeader
105106
106107 return (
107108 < BaseComponent
108- ref = { rootRef }
109+ ref = { mergedRef }
109110 className = { clsx ( classes . PageHeader , className ) }
110111 data-has-border = { hasBorder ? 'true' : undefined }
111112 aria-label = { ariaLabel }
@@ -205,12 +206,10 @@ export type TitleAreaProps = {
205206
206207const TitleArea = React . forwardRef < HTMLDivElement , React . PropsWithChildren < TitleAreaProps > > (
207208 ( { children, className, hidden = false , variant = 'medium' } , forwardedRef ) => {
208- const titleAreaRef = useProvidedRefOrCreate < HTMLDivElement > ( forwardedRef as React . RefObject < HTMLDivElement > )
209209 return (
210210 < div
211211 className = { clsx ( classes . TitleArea , className ) }
212- // @ts -expect-error it needs a non nullable ref
213- ref = { titleAreaRef }
212+ ref = { forwardedRef }
214213 data-component = "TitleArea"
215214 { ...getResponsiveAttributes ( 'size-variant' , variant ) }
216215 { ...getHiddenDataAttributes ( hidden ) }
0 commit comments