From 3270f41214af02545c41b8fe1b124dd94ba0f87f Mon Sep 17 00:00:00 2001 From: Alec Larson <1925840+aleclarson@users.noreply.github.com> Date: Thu, 5 Jun 2025 19:07:50 -0400 Subject: [PATCH] fix(types): ensure `forwardRef` overrides the default ref type --- compat/src/index.d.ts | 2 +- src/index-5.d.ts | 6 +++--- src/index.d.ts | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/compat/src/index.d.ts b/compat/src/index.d.ts index 5e7a1b6141..7305d0266e 100644 --- a/compat/src/index.d.ts +++ b/compat/src/index.d.ts @@ -265,7 +265,7 @@ declare namespace React { export function forwardRef( fn: ForwardRefRenderFunction - ): preact.FunctionalComponent & { ref?: preact.Ref }>; + ): preact.FunctionalComponent, R>; export type PropsWithoutRef

= Omit; diff --git a/src/index-5.d.ts b/src/index-5.d.ts index 6c7431cb00..4c3fe6898f 100644 --- a/src/index-5.d.ts +++ b/src/index-5.d.ts @@ -86,12 +86,12 @@ export type ComponentProps< ? JSXInternal.IntrinsicElements[C] : {}; -export interface FunctionComponent

{ - (props: RenderableProps

, context?: any): VNode | null; +export interface FunctionComponent

{ + (props: RenderableProps, context?: any): VNode | null; displayName?: string; defaultProps?: Partial

| undefined; } -export interface FunctionalComponent

extends FunctionComponent

{} +export interface FunctionalComponent

extends FunctionComponent {} export interface ComponentClass

{ new (props: P, context?: any): Component; diff --git a/src/index.d.ts b/src/index.d.ts index 379bbebaaf..29fdda787f 100644 --- a/src/index.d.ts +++ b/src/index.d.ts @@ -86,12 +86,12 @@ export type ComponentProps< ? JSXInternal.IntrinsicElements[C] : {}; -export interface FunctionComponent

{ - (props: RenderableProps

, context?: any): ComponentChildren; +export interface FunctionComponent

{ + (props: RenderableProps, context?: any): ComponentChildren; displayName?: string; defaultProps?: Partial

| undefined; } -export interface FunctionalComponent

extends FunctionComponent

{} +export interface FunctionalComponent

extends FunctionComponent {} export interface ComponentClass

{ new (props: P, context?: any): Component;