From 3c15598c267949ce4b18fed653840441646e67aa Mon Sep 17 00:00:00 2001 From: jduthon Date: Fri, 2 Feb 2024 11:58:39 +0100 Subject: [PATCH] ts: improve preact compat types adding a few missing @types/react used by styled-components --- compat/src/index.d.ts | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/compat/src/index.d.ts b/compat/src/index.d.ts index 028542607c..80a930d024 100644 --- a/compat/src/index.d.ts +++ b/compat/src/index.d.ts @@ -47,6 +47,7 @@ declare namespace React { export import Component = preact.Component; export import FunctionComponent = preact.FunctionComponent; export import ComponentType = preact.ComponentType; + export import ComponentClass = preact.ComponentClass; export import FC = preact.FunctionComponent; export import createContext = preact.createContext; export import createRef = preact.createRef; @@ -55,6 +56,8 @@ declare namespace React { export import cloneElement = preact.cloneElement; export import ComponentProps = preact.ComponentProps; export import ReactNode = preact.ComponentChild; + export import ReactElement = preact.VNode; + export import Consumer = preact.Consumer; // Suspense export import Suspense = _Suspense.Suspense; @@ -169,6 +172,12 @@ declare namespace React { | MutableRefObject | null; + export type ComponentPropsWithRef< + C extends ComponentType | keyof JSXInternal.IntrinsicElements + > = C extends (new(props: infer P) => Component) + ? PropsWithoutRef

& RefAttributes> + : ComponentProps; + export function flushSync(fn: () => R): R; export function flushSync(fn: (a: A) => R, a: A): R;