@types/react 19.2.2 → 19.2.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- react/README.md +1 -1
- react/canary.d.ts +4 -4
- react/experimental.d.ts +38 -5
- react/global.d.ts +1 -0
- react/index.d.ts +82 -21
- react/package.json +3 -3
- react/ts5.0/canary.d.ts +4 -4
- react/ts5.0/experimental.d.ts +38 -5
- react/ts5.0/global.d.ts +1 -0
- react/ts5.0/index.d.ts +79 -21
react/README.md
CHANGED
|
@@ -8,7 +8,7 @@ This package contains type definitions for react (https://react.dev/).
|
|
|
8
8
|
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react.
|
|
9
9
|
|
|
10
10
|
### Additional Details
|
|
11
|
-
* Last updated: Tue,
|
|
11
|
+
* Last updated: Tue, 27 Jan 2026 12:02:23 GMT
|
|
12
12
|
* Dependencies: [csstype](https://npmjs.com/package/csstype)
|
|
13
13
|
|
|
14
14
|
# Credits
|
react/canary.d.ts
CHANGED
|
@@ -71,19 +71,19 @@ declare module "." {
|
|
|
71
71
|
/**
|
|
72
72
|
* The `<ViewTransition>` or its parent Component is mounted and there's no other `<ViewTransition>` with the same name being deleted.
|
|
73
73
|
*/
|
|
74
|
-
onEnter?: (instance: ViewTransitionInstance, types: Array<string>) => void;
|
|
74
|
+
onEnter?: (instance: ViewTransitionInstance, types: Array<string>) => void | (() => void);
|
|
75
75
|
/**
|
|
76
76
|
* The `<ViewTransition>` or its parent Component is unmounted and there's no other `<ViewTransition>` with the same name being deleted.
|
|
77
77
|
*/
|
|
78
|
-
onExit?: (instance: ViewTransitionInstance, types: Array<string>) => void;
|
|
78
|
+
onExit?: (instance: ViewTransitionInstance, types: Array<string>) => void | (() => void);
|
|
79
79
|
/**
|
|
80
80
|
* This `<ViewTransition>` is being mounted and another `<ViewTransition>` instance with the same name is being unmounted elsewhere.
|
|
81
81
|
*/
|
|
82
|
-
onShare?: (instance: ViewTransitionInstance, types: Array<string>) => void;
|
|
82
|
+
onShare?: (instance: ViewTransitionInstance, types: Array<string>) => void | (() => void);
|
|
83
83
|
/**
|
|
84
84
|
* The content of `<ViewTransition>` has changed either due to DOM mutations or because an inner child `<ViewTransition>` has resized.
|
|
85
85
|
*/
|
|
86
|
-
onUpdate?: (instance: ViewTransitionInstance, types: Array<string>) => void;
|
|
86
|
+
onUpdate?: (instance: ViewTransitionInstance, types: Array<string>) => void | (() => void);
|
|
87
87
|
ref?: Ref<ViewTransitionInstance> | undefined;
|
|
88
88
|
/**
|
|
89
89
|
* Combined with {@link className} if this `<ViewTransition>` is being mounted and another instance with the same name is being unmounted elsewhere.
|
react/experimental.d.ts
CHANGED
|
@@ -43,12 +43,13 @@ type VoidOrUndefinedOnly = void | { [UNDEFINED_VOID_ONLY]: never };
|
|
|
43
43
|
|
|
44
44
|
declare module "." {
|
|
45
45
|
export interface SuspenseProps {
|
|
46
|
+
// @enableCPUSuspense
|
|
46
47
|
/**
|
|
47
48
|
* The presence of this prop indicates that the content is computationally expensive to render.
|
|
48
49
|
* In other words, the tree is CPU bound and not I/O bound (e.g. due to fetching data).
|
|
49
50
|
* @see {@link https://github.com/facebook/react/pull/19936}
|
|
50
51
|
*/
|
|
51
|
-
|
|
52
|
+
defer?: boolean | undefined;
|
|
52
53
|
}
|
|
53
54
|
|
|
54
55
|
export type SuspenseListRevealOrder = "forwards" | "backwards" | "together" | "independent";
|
|
@@ -68,17 +69,19 @@ declare module "." {
|
|
|
68
69
|
children: Iterable<ReactElement> | AsyncIterable<ReactElement>;
|
|
69
70
|
/**
|
|
70
71
|
* Defines the order in which the `SuspenseList` children should be revealed.
|
|
72
|
+
* @default "forwards"
|
|
71
73
|
*/
|
|
72
|
-
revealOrder
|
|
74
|
+
revealOrder?: "forwards" | "backwards" | "unstable_legacy-backwards" | undefined;
|
|
73
75
|
/**
|
|
74
76
|
* Dictates how unloaded items in a SuspenseList is shown.
|
|
75
77
|
*
|
|
76
|
-
* - By default, `SuspenseList` will show all fallbacks in the list.
|
|
77
78
|
* - `collapsed` shows only the next fallback in the list.
|
|
78
79
|
* - `hidden` doesn't show any unloaded items.
|
|
79
80
|
* - `visible` shows all fallbacks in the list.
|
|
81
|
+
*
|
|
82
|
+
* @default "hidden"
|
|
80
83
|
*/
|
|
81
|
-
tail
|
|
84
|
+
tail?: SuspenseListTailMode | undefined;
|
|
82
85
|
}
|
|
83
86
|
|
|
84
87
|
interface NonDirectionalSuspenseListProps extends SuspenseListCommonProps {
|
|
@@ -86,7 +89,7 @@ declare module "." {
|
|
|
86
89
|
/**
|
|
87
90
|
* Defines the order in which the `SuspenseList` children should be revealed.
|
|
88
91
|
*/
|
|
89
|
-
revealOrder: Exclude<SuspenseListRevealOrder, DirectionalSuspenseListProps["revealOrder"]
|
|
92
|
+
revealOrder: Exclude<SuspenseListRevealOrder, DirectionalSuspenseListProps["revealOrder"]>;
|
|
90
93
|
/**
|
|
91
94
|
* The tail property is invalid when not using the `forwards` or `backwards` reveal orders.
|
|
92
95
|
*/
|
|
@@ -126,6 +129,9 @@ declare module "." {
|
|
|
126
129
|
rangeStart?: number | undefined;
|
|
127
130
|
rangeEnd?: number | undefined;
|
|
128
131
|
}
|
|
132
|
+
export type GestureOptionsRequired = {
|
|
133
|
+
[P in keyof GestureOptions]-?: NonNullable<GestureOptions[P]>;
|
|
134
|
+
};
|
|
129
135
|
/** */
|
|
130
136
|
export function unstable_startGestureTransition(
|
|
131
137
|
provider: GestureProvider,
|
|
@@ -133,6 +139,33 @@ declare module "." {
|
|
|
133
139
|
options?: GestureOptions,
|
|
134
140
|
): () => void;
|
|
135
141
|
|
|
142
|
+
interface ViewTransitionProps {
|
|
143
|
+
onGestureEnter?: (
|
|
144
|
+
timeline: GestureProvider,
|
|
145
|
+
options: GestureOptionsRequired,
|
|
146
|
+
instance: ViewTransitionInstance,
|
|
147
|
+
types: Array<string>,
|
|
148
|
+
) => void | (() => void);
|
|
149
|
+
onGestureExit?: (
|
|
150
|
+
timeline: GestureProvider,
|
|
151
|
+
options: GestureOptionsRequired,
|
|
152
|
+
instance: ViewTransitionInstance,
|
|
153
|
+
types: Array<string>,
|
|
154
|
+
) => void | (() => void);
|
|
155
|
+
onGestureShare?: (
|
|
156
|
+
timeline: GestureProvider,
|
|
157
|
+
options: GestureOptionsRequired,
|
|
158
|
+
instance: ViewTransitionInstance,
|
|
159
|
+
types: Array<string>,
|
|
160
|
+
) => void | (() => void);
|
|
161
|
+
onGestureUpdate?: (
|
|
162
|
+
timeline: GestureProvider,
|
|
163
|
+
options: GestureOptionsRequired,
|
|
164
|
+
instance: ViewTransitionInstance,
|
|
165
|
+
types: Array<string>,
|
|
166
|
+
) => void | (() => void);
|
|
167
|
+
}
|
|
168
|
+
|
|
136
169
|
// @enableSrcObject
|
|
137
170
|
interface DO_NOT_USE_OR_YOU_WILL_BE_FIRED_EXPERIMENTAL_IMG_SRC_TYPES {
|
|
138
171
|
srcObject: Blob;
|
react/global.d.ts
CHANGED
|
@@ -18,6 +18,7 @@ interface KeyboardEvent extends Event {}
|
|
|
18
18
|
interface MouseEvent extends Event {}
|
|
19
19
|
interface TouchEvent extends Event {}
|
|
20
20
|
interface PointerEvent extends Event {}
|
|
21
|
+
interface SubmitEvent extends Event {}
|
|
21
22
|
interface ToggleEvent extends Event {}
|
|
22
23
|
interface TransitionEvent extends Event {}
|
|
23
24
|
interface UIEvent extends Event {}
|
react/index.d.ts
CHANGED
|
@@ -16,6 +16,7 @@ type NativeKeyboardEvent = KeyboardEvent;
|
|
|
16
16
|
type NativeMouseEvent = MouseEvent;
|
|
17
17
|
type NativeTouchEvent = TouchEvent;
|
|
18
18
|
type NativePointerEvent = PointerEvent;
|
|
19
|
+
type NativeSubmitEvent = SubmitEvent;
|
|
19
20
|
type NativeToggleEvent = ToggleEvent;
|
|
20
21
|
type NativeTransitionEvent = TransitionEvent;
|
|
21
22
|
type NativeUIEvent = UIEvent;
|
|
@@ -1926,7 +1927,31 @@ declare namespace React {
|
|
|
1926
1927
|
reducer: (state: State, action: Action) => State,
|
|
1927
1928
|
): [State, (action: Action) => void];
|
|
1928
1929
|
|
|
1929
|
-
|
|
1930
|
+
interface UntrackedReactPromise<T> extends PromiseLike<T> {
|
|
1931
|
+
status?: void;
|
|
1932
|
+
}
|
|
1933
|
+
|
|
1934
|
+
export interface PendingReactPromise<T> extends PromiseLike<T> {
|
|
1935
|
+
status: "pending";
|
|
1936
|
+
}
|
|
1937
|
+
|
|
1938
|
+
export interface FulfilledReactPromise<T> extends PromiseLike<T> {
|
|
1939
|
+
status: "fulfilled";
|
|
1940
|
+
value: T;
|
|
1941
|
+
}
|
|
1942
|
+
|
|
1943
|
+
export interface RejectedReactPromise<T> extends PromiseLike<T> {
|
|
1944
|
+
status: "rejected";
|
|
1945
|
+
reason: unknown;
|
|
1946
|
+
}
|
|
1947
|
+
|
|
1948
|
+
export type ReactPromise<T> =
|
|
1949
|
+
| UntrackedReactPromise<T>
|
|
1950
|
+
| PendingReactPromise<T>
|
|
1951
|
+
| FulfilledReactPromise<T>
|
|
1952
|
+
| RejectedReactPromise<T>;
|
|
1953
|
+
|
|
1954
|
+
export type Usable<T> = ReactPromise<T> | Context<T>;
|
|
1930
1955
|
|
|
1931
1956
|
export function use<T>(usable: Usable<T>): T;
|
|
1932
1957
|
|
|
@@ -2041,15 +2066,28 @@ declare namespace React {
|
|
|
2041
2066
|
target: EventTarget & Target;
|
|
2042
2067
|
}
|
|
2043
2068
|
|
|
2069
|
+
/**
|
|
2070
|
+
* @deprecated FormEvent doesn't actually exist.
|
|
2071
|
+
* You probably meant to use {@link ChangeEvent}, {@link InputEvent}, {@link SubmitEvent}, or just {@link SyntheticEvent} instead
|
|
2072
|
+
* depending on the event type.
|
|
2073
|
+
*/
|
|
2044
2074
|
interface FormEvent<T = Element> extends SyntheticEvent<T> {
|
|
2045
2075
|
}
|
|
2046
2076
|
|
|
2047
2077
|
interface InvalidEvent<T = Element> extends SyntheticEvent<T> {
|
|
2048
|
-
target: EventTarget & T;
|
|
2049
2078
|
}
|
|
2050
2079
|
|
|
2051
|
-
|
|
2052
|
-
|
|
2080
|
+
/**
|
|
2081
|
+
* change events bubble in React so their target is generally unknown.
|
|
2082
|
+
* Only for form elements we know their target type because form events can't
|
|
2083
|
+
* be nested.
|
|
2084
|
+
* This type exists purely to narrow `target` for form elements. It doesn't
|
|
2085
|
+
* reflect a DOM event. Change events are just fired as standard {@link SyntheticEvent}.
|
|
2086
|
+
*/
|
|
2087
|
+
interface ChangeEvent<CurrentTarget = Element, Target = Element> extends SyntheticEvent<CurrentTarget> {
|
|
2088
|
+
// TODO: This is wrong for change event handlers on arbitrary. Should
|
|
2089
|
+
// be EventTarget & Target, but kept for backward compatibility until React 20.
|
|
2090
|
+
target: EventTarget & CurrentTarget;
|
|
2053
2091
|
}
|
|
2054
2092
|
|
|
2055
2093
|
interface InputEvent<T = Element> extends SyntheticEvent<T, NativeInputEvent> {
|
|
@@ -2119,6 +2157,13 @@ declare namespace React {
|
|
|
2119
2157
|
shiftKey: boolean;
|
|
2120
2158
|
}
|
|
2121
2159
|
|
|
2160
|
+
interface SubmitEvent<T = Element> extends SyntheticEvent<T, NativeSubmitEvent> {
|
|
2161
|
+
// Currently not exposed by Reat
|
|
2162
|
+
// submitter: HTMLElement | null;
|
|
2163
|
+
// SubmitEvents are always targetted at HTMLFormElements.
|
|
2164
|
+
target: EventTarget & HTMLFormElement;
|
|
2165
|
+
}
|
|
2166
|
+
|
|
2122
2167
|
interface TouchEvent<T = Element> extends UIEvent<T, NativeTouchEvent> {
|
|
2123
2168
|
altKey: boolean;
|
|
2124
2169
|
changedTouches: TouchList;
|
|
@@ -2174,11 +2219,19 @@ declare namespace React {
|
|
|
2174
2219
|
type CompositionEventHandler<T = Element> = EventHandler<CompositionEvent<T>>;
|
|
2175
2220
|
type DragEventHandler<T = Element> = EventHandler<DragEvent<T>>;
|
|
2176
2221
|
type FocusEventHandler<T = Element> = EventHandler<FocusEvent<T>>;
|
|
2222
|
+
/**
|
|
2223
|
+
* @deprecated FormEventHandler doesn't actually exist.
|
|
2224
|
+
* You probably meant to use {@link ChangeEventHandler}, {@link InputEventHandler}, {@link SubmitEventHandler}, or just {@link EventHandler} instead
|
|
2225
|
+
* depending on the event type.
|
|
2226
|
+
*/
|
|
2177
2227
|
type FormEventHandler<T = Element> = EventHandler<FormEvent<T>>;
|
|
2178
|
-
type ChangeEventHandler<
|
|
2228
|
+
type ChangeEventHandler<CurrentTarget = Element, Target = Element> = EventHandler<
|
|
2229
|
+
ChangeEvent<CurrentTarget, Target>
|
|
2230
|
+
>;
|
|
2179
2231
|
type InputEventHandler<T = Element> = EventHandler<InputEvent<T>>;
|
|
2180
2232
|
type KeyboardEventHandler<T = Element> = EventHandler<KeyboardEvent<T>>;
|
|
2181
2233
|
type MouseEventHandler<T = Element> = EventHandler<MouseEvent<T>>;
|
|
2234
|
+
type SubmitEventHandler<T = Element> = EventHandler<SubmitEvent<T>>;
|
|
2182
2235
|
type TouchEventHandler<T = Element> = EventHandler<TouchEvent<T>>;
|
|
2183
2236
|
type PointerEventHandler<T = Element> = EventHandler<PointerEvent<T>>;
|
|
2184
2237
|
type UIEventHandler<T = Element> = EventHandler<UIEvent<T>>;
|
|
@@ -2232,19 +2285,19 @@ declare namespace React {
|
|
|
2232
2285
|
onBlur?: FocusEventHandler<T> | undefined;
|
|
2233
2286
|
onBlurCapture?: FocusEventHandler<T> | undefined;
|
|
2234
2287
|
|
|
2235
|
-
//
|
|
2236
|
-
onChange?:
|
|
2237
|
-
onChangeCapture?:
|
|
2288
|
+
// form related Events
|
|
2289
|
+
onChange?: ChangeEventHandler<T> | undefined;
|
|
2290
|
+
onChangeCapture?: ChangeEventHandler<T> | undefined;
|
|
2238
2291
|
onBeforeInput?: InputEventHandler<T> | undefined;
|
|
2239
|
-
onBeforeInputCapture?:
|
|
2240
|
-
onInput?:
|
|
2241
|
-
onInputCapture?:
|
|
2242
|
-
onReset?:
|
|
2243
|
-
onResetCapture?:
|
|
2244
|
-
onSubmit?:
|
|
2245
|
-
onSubmitCapture?:
|
|
2246
|
-
onInvalid?:
|
|
2247
|
-
onInvalidCapture?:
|
|
2292
|
+
onBeforeInputCapture?: InputEventHandler<T> | undefined;
|
|
2293
|
+
onInput?: InputEventHandler<T> | undefined;
|
|
2294
|
+
onInputCapture?: InputEventHandler<T> | undefined;
|
|
2295
|
+
onReset?: ReactEventHandler<T> | undefined;
|
|
2296
|
+
onResetCapture?: ReactEventHandler<T> | undefined;
|
|
2297
|
+
onSubmit?: SubmitEventHandler<T> | undefined;
|
|
2298
|
+
onSubmitCapture?: SubmitEventHandler<T> | undefined;
|
|
2299
|
+
onInvalid?: ReactEventHandler<T> | undefined;
|
|
2300
|
+
onInvalidCapture?: ReactEventHandler<T> | undefined;
|
|
2248
2301
|
|
|
2249
2302
|
// Image Events
|
|
2250
2303
|
onLoad?: ReactEventHandler<T> | undefined;
|
|
@@ -3251,7 +3304,9 @@ declare namespace React {
|
|
|
3251
3304
|
value?: string | readonly string[] | number | undefined;
|
|
3252
3305
|
width?: number | string | undefined;
|
|
3253
3306
|
|
|
3254
|
-
|
|
3307
|
+
// No other element dispatching change events can be nested in a <input>
|
|
3308
|
+
// so we know the target will be a HTMLInputElement.
|
|
3309
|
+
onChange?: ChangeEventHandler<T, HTMLInputElement> | undefined;
|
|
3255
3310
|
}
|
|
3256
3311
|
|
|
3257
3312
|
interface KeygenHTMLAttributes<T> extends HTMLAttributes<T> {
|
|
@@ -3416,7 +3471,9 @@ declare namespace React {
|
|
|
3416
3471
|
required?: boolean | undefined;
|
|
3417
3472
|
size?: number | undefined;
|
|
3418
3473
|
value?: string | readonly string[] | number | undefined;
|
|
3419
|
-
|
|
3474
|
+
// No other element dispatching change events can be nested in a <select>
|
|
3475
|
+
// so we know the target will be a HTMLSelectElement.
|
|
3476
|
+
onChange?: ChangeEventHandler<T, HTMLSelectElement> | undefined;
|
|
3420
3477
|
}
|
|
3421
3478
|
|
|
3422
3479
|
interface SourceHTMLAttributes<T> extends HTMLAttributes<T> {
|
|
@@ -3468,7 +3525,9 @@ declare namespace React {
|
|
|
3468
3525
|
value?: string | readonly string[] | number | undefined;
|
|
3469
3526
|
wrap?: string | undefined;
|
|
3470
3527
|
|
|
3471
|
-
|
|
3528
|
+
// No other element dispatching change events can be nested in a <textare>
|
|
3529
|
+
// so we know the target will be a HTMLTextAreaElement.
|
|
3530
|
+
onChange?: ChangeEventHandler<T, HTMLTextAreaElement> | undefined;
|
|
3472
3531
|
}
|
|
3473
3532
|
|
|
3474
3533
|
interface TdHTMLAttributes<T> extends HTMLAttributes<T> {
|
|
@@ -3540,6 +3599,9 @@ declare namespace React {
|
|
|
3540
3599
|
method?: string | undefined;
|
|
3541
3600
|
min?: number | string | undefined;
|
|
3542
3601
|
name?: string | undefined;
|
|
3602
|
+
nonce?: string | undefined;
|
|
3603
|
+
part?: string | undefined;
|
|
3604
|
+
slot?: string | undefined;
|
|
3543
3605
|
style?: CSSProperties | undefined;
|
|
3544
3606
|
target?: string | undefined;
|
|
3545
3607
|
type?: string | undefined;
|
|
@@ -4057,7 +4119,6 @@ declare namespace React {
|
|
|
4057
4119
|
* Captures which component contained the exception, and its ancestors.
|
|
4058
4120
|
*/
|
|
4059
4121
|
componentStack?: string | null;
|
|
4060
|
-
digest?: string | null;
|
|
4061
4122
|
}
|
|
4062
4123
|
|
|
4063
4124
|
// Keep in sync with JSX namespace in ./jsx-runtime.d.ts and ./jsx-dev-runtime.d.ts
|
react/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@types/react",
|
|
3
|
-
"version": "19.2.
|
|
3
|
+
"version": "19.2.10",
|
|
4
4
|
"description": "TypeScript definitions for react",
|
|
5
5
|
"homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react",
|
|
6
6
|
"license": "MIT",
|
|
@@ -202,9 +202,9 @@
|
|
|
202
202
|
},
|
|
203
203
|
"scripts": {},
|
|
204
204
|
"dependencies": {
|
|
205
|
-
"csstype": "^3.
|
|
205
|
+
"csstype": "^3.2.2"
|
|
206
206
|
},
|
|
207
207
|
"peerDependencies": {},
|
|
208
|
-
"typesPublisherContentHash": "
|
|
208
|
+
"typesPublisherContentHash": "c1bacedf82d12682fbaf19b2e74fd83bbeea9f1592d6885e013c8c1379ce22e8",
|
|
209
209
|
"typeScriptVersion": "5.2"
|
|
210
210
|
}
|
react/ts5.0/canary.d.ts
CHANGED
|
@@ -71,19 +71,19 @@ declare module "." {
|
|
|
71
71
|
/**
|
|
72
72
|
* The `<ViewTransition>` or its parent Component is mounted and there's no other `<ViewTransition>` with the same name being deleted.
|
|
73
73
|
*/
|
|
74
|
-
onEnter?: (instance: ViewTransitionInstance, types: Array<string>) => void;
|
|
74
|
+
onEnter?: (instance: ViewTransitionInstance, types: Array<string>) => void | (() => void);
|
|
75
75
|
/**
|
|
76
76
|
* The `<ViewTransition>` or its parent Component is unmounted and there's no other `<ViewTransition>` with the same name being deleted.
|
|
77
77
|
*/
|
|
78
|
-
onExit?: (instance: ViewTransitionInstance, types: Array<string>) => void;
|
|
78
|
+
onExit?: (instance: ViewTransitionInstance, types: Array<string>) => void | (() => void);
|
|
79
79
|
/**
|
|
80
80
|
* This `<ViewTransition>` is being mounted and another `<ViewTransition>` instance with the same name is being unmounted elsewhere.
|
|
81
81
|
*/
|
|
82
|
-
onShare?: (instance: ViewTransitionInstance, types: Array<string>) => void;
|
|
82
|
+
onShare?: (instance: ViewTransitionInstance, types: Array<string>) => void | (() => void);
|
|
83
83
|
/**
|
|
84
84
|
* The content of `<ViewTransition>` has changed either due to DOM mutations or because an inner child `<ViewTransition>` has resized.
|
|
85
85
|
*/
|
|
86
|
-
onUpdate?: (instance: ViewTransitionInstance, types: Array<string>) => void;
|
|
86
|
+
onUpdate?: (instance: ViewTransitionInstance, types: Array<string>) => void | (() => void);
|
|
87
87
|
ref?: Ref<ViewTransitionInstance> | undefined;
|
|
88
88
|
/**
|
|
89
89
|
* Combined with {@link className} if this `<ViewTransition>` is being mounted and another instance with the same name is being unmounted elsewhere.
|
react/ts5.0/experimental.d.ts
CHANGED
|
@@ -43,12 +43,13 @@ type VoidOrUndefinedOnly = void | { [UNDEFINED_VOID_ONLY]: never };
|
|
|
43
43
|
|
|
44
44
|
declare module "." {
|
|
45
45
|
export interface SuspenseProps {
|
|
46
|
+
// @enableCPUSuspense
|
|
46
47
|
/**
|
|
47
48
|
* The presence of this prop indicates that the content is computationally expensive to render.
|
|
48
49
|
* In other words, the tree is CPU bound and not I/O bound (e.g. due to fetching data).
|
|
49
50
|
* @see {@link https://github.com/facebook/react/pull/19936}
|
|
50
51
|
*/
|
|
51
|
-
|
|
52
|
+
defer?: boolean | undefined;
|
|
52
53
|
}
|
|
53
54
|
|
|
54
55
|
export type SuspenseListRevealOrder = "forwards" | "backwards" | "together" | "independent";
|
|
@@ -68,17 +69,19 @@ declare module "." {
|
|
|
68
69
|
children: Iterable<ReactElement> | AsyncIterable<ReactElement>;
|
|
69
70
|
/**
|
|
70
71
|
* Defines the order in which the `SuspenseList` children should be revealed.
|
|
72
|
+
* @default "forwards"
|
|
71
73
|
*/
|
|
72
|
-
revealOrder
|
|
74
|
+
revealOrder?: "forwards" | "backwards" | "unstable_legacy-backwards" | undefined;
|
|
73
75
|
/**
|
|
74
76
|
* Dictates how unloaded items in a SuspenseList is shown.
|
|
75
77
|
*
|
|
76
|
-
* - By default, `SuspenseList` will show all fallbacks in the list.
|
|
77
78
|
* - `collapsed` shows only the next fallback in the list.
|
|
78
79
|
* - `hidden` doesn't show any unloaded items.
|
|
79
80
|
* - `visible` shows all fallbacks in the list.
|
|
81
|
+
*
|
|
82
|
+
* @default "hidden"
|
|
80
83
|
*/
|
|
81
|
-
tail
|
|
84
|
+
tail?: SuspenseListTailMode | undefined;
|
|
82
85
|
}
|
|
83
86
|
|
|
84
87
|
interface NonDirectionalSuspenseListProps extends SuspenseListCommonProps {
|
|
@@ -86,7 +89,7 @@ declare module "." {
|
|
|
86
89
|
/**
|
|
87
90
|
* Defines the order in which the `SuspenseList` children should be revealed.
|
|
88
91
|
*/
|
|
89
|
-
revealOrder: Exclude<SuspenseListRevealOrder, DirectionalSuspenseListProps["revealOrder"]
|
|
92
|
+
revealOrder: Exclude<SuspenseListRevealOrder, DirectionalSuspenseListProps["revealOrder"]>;
|
|
90
93
|
/**
|
|
91
94
|
* The tail property is invalid when not using the `forwards` or `backwards` reveal orders.
|
|
92
95
|
*/
|
|
@@ -126,6 +129,9 @@ declare module "." {
|
|
|
126
129
|
rangeStart?: number | undefined;
|
|
127
130
|
rangeEnd?: number | undefined;
|
|
128
131
|
}
|
|
132
|
+
export type GestureOptionsRequired = {
|
|
133
|
+
[P in keyof GestureOptions]-?: NonNullable<GestureOptions[P]>;
|
|
134
|
+
};
|
|
129
135
|
/** */
|
|
130
136
|
export function unstable_startGestureTransition(
|
|
131
137
|
provider: GestureProvider,
|
|
@@ -133,6 +139,33 @@ declare module "." {
|
|
|
133
139
|
options?: GestureOptions,
|
|
134
140
|
): () => void;
|
|
135
141
|
|
|
142
|
+
interface ViewTransitionProps {
|
|
143
|
+
onGestureEnter?: (
|
|
144
|
+
timeline: GestureProvider,
|
|
145
|
+
options: GestureOptionsRequired,
|
|
146
|
+
instance: ViewTransitionInstance,
|
|
147
|
+
types: Array<string>,
|
|
148
|
+
) => void | (() => void);
|
|
149
|
+
onGestureExit?: (
|
|
150
|
+
timeline: GestureProvider,
|
|
151
|
+
options: GestureOptionsRequired,
|
|
152
|
+
instance: ViewTransitionInstance,
|
|
153
|
+
types: Array<string>,
|
|
154
|
+
) => void | (() => void);
|
|
155
|
+
onGestureShare?: (
|
|
156
|
+
timeline: GestureProvider,
|
|
157
|
+
options: GestureOptionsRequired,
|
|
158
|
+
instance: ViewTransitionInstance,
|
|
159
|
+
types: Array<string>,
|
|
160
|
+
) => void | (() => void);
|
|
161
|
+
onGestureUpdate?: (
|
|
162
|
+
timeline: GestureProvider,
|
|
163
|
+
options: GestureOptionsRequired,
|
|
164
|
+
instance: ViewTransitionInstance,
|
|
165
|
+
types: Array<string>,
|
|
166
|
+
) => void | (() => void);
|
|
167
|
+
}
|
|
168
|
+
|
|
136
169
|
// @enableSrcObject
|
|
137
170
|
interface DO_NOT_USE_OR_YOU_WILL_BE_FIRED_EXPERIMENTAL_IMG_SRC_TYPES {
|
|
138
171
|
srcObject: Blob;
|
react/ts5.0/global.d.ts
CHANGED
|
@@ -18,6 +18,7 @@ interface KeyboardEvent extends Event {}
|
|
|
18
18
|
interface MouseEvent extends Event {}
|
|
19
19
|
interface TouchEvent extends Event {}
|
|
20
20
|
interface PointerEvent extends Event {}
|
|
21
|
+
interface SubmitEvent extends Event {}
|
|
21
22
|
interface ToggleEvent extends Event {}
|
|
22
23
|
interface TransitionEvent extends Event {}
|
|
23
24
|
interface UIEvent extends Event {}
|
react/ts5.0/index.d.ts
CHANGED
|
@@ -16,6 +16,7 @@ type NativeKeyboardEvent = KeyboardEvent;
|
|
|
16
16
|
type NativeMouseEvent = MouseEvent;
|
|
17
17
|
type NativeTouchEvent = TouchEvent;
|
|
18
18
|
type NativePointerEvent = PointerEvent;
|
|
19
|
+
type NativeSubmitEvent = SubmitEvent;
|
|
19
20
|
type NativeToggleEvent = ToggleEvent;
|
|
20
21
|
type NativeTransitionEvent = TransitionEvent;
|
|
21
22
|
type NativeUIEvent = UIEvent;
|
|
@@ -1925,7 +1926,31 @@ declare namespace React {
|
|
|
1925
1926
|
reducer: (state: State, action: Action) => State,
|
|
1926
1927
|
): [State, (action: Action) => void];
|
|
1927
1928
|
|
|
1928
|
-
|
|
1929
|
+
interface UntrackedReactPromise<T> extends PromiseLike<T> {
|
|
1930
|
+
status?: void;
|
|
1931
|
+
}
|
|
1932
|
+
|
|
1933
|
+
export interface PendingReactPromise<T> extends PromiseLike<T> {
|
|
1934
|
+
status: "pending";
|
|
1935
|
+
}
|
|
1936
|
+
|
|
1937
|
+
export interface FulfilledReactPromise<T> extends PromiseLike<T> {
|
|
1938
|
+
status: "fulfilled";
|
|
1939
|
+
value: T;
|
|
1940
|
+
}
|
|
1941
|
+
|
|
1942
|
+
export interface RejectedReactPromise<T> extends PromiseLike<T> {
|
|
1943
|
+
status: "rejected";
|
|
1944
|
+
reason: unknown;
|
|
1945
|
+
}
|
|
1946
|
+
|
|
1947
|
+
export type ReactPromise<T> =
|
|
1948
|
+
| UntrackedReactPromise<T>
|
|
1949
|
+
| PendingReactPromise<T>
|
|
1950
|
+
| FulfilledReactPromise<T>
|
|
1951
|
+
| RejectedReactPromise<T>;
|
|
1952
|
+
|
|
1953
|
+
export type Usable<T> = ReactPromise<T> | Context<T>;
|
|
1929
1954
|
|
|
1930
1955
|
export function use<T>(usable: Usable<T>): T;
|
|
1931
1956
|
|
|
@@ -2040,15 +2065,28 @@ declare namespace React {
|
|
|
2040
2065
|
target: EventTarget & Target;
|
|
2041
2066
|
}
|
|
2042
2067
|
|
|
2068
|
+
/**
|
|
2069
|
+
* @deprecated FormEvent doesn't actually exist.
|
|
2070
|
+
* You probably meant to use {@link ChangeEvent}, {@link InputEvent}, {@link SubmitEvent}, or just {@link SyntheticEvent} instead
|
|
2071
|
+
* depending on the event type.
|
|
2072
|
+
*/
|
|
2043
2073
|
interface FormEvent<T = Element> extends SyntheticEvent<T> {
|
|
2044
2074
|
}
|
|
2045
2075
|
|
|
2046
2076
|
interface InvalidEvent<T = Element> extends SyntheticEvent<T> {
|
|
2047
|
-
target: EventTarget & T;
|
|
2048
2077
|
}
|
|
2049
2078
|
|
|
2050
|
-
|
|
2051
|
-
|
|
2079
|
+
/**
|
|
2080
|
+
* change events bubble in React so their target is generally unknown.
|
|
2081
|
+
* Only for form elements we know their target type because form events can't
|
|
2082
|
+
* be nested.
|
|
2083
|
+
* This type exists purely to narrow `target` for form elements. It doesn't
|
|
2084
|
+
* reflect a DOM event. React fires change events as {@link SyntheticEvent}.
|
|
2085
|
+
*/
|
|
2086
|
+
interface ChangeEvent<CurrentTarget = Element, Target = Element> extends SyntheticEvent<CurrentTarget> {
|
|
2087
|
+
// TODO: This is wrong for change event handlers on arbitrary. Should
|
|
2088
|
+
// be EventTarget & Target, but kept for backward compatibility until React 20.
|
|
2089
|
+
target: EventTarget & CurrentTarget;
|
|
2052
2090
|
}
|
|
2053
2091
|
|
|
2054
2092
|
interface InputEvent<T = Element> extends SyntheticEvent<T, NativeInputEvent> {
|
|
@@ -2118,6 +2156,13 @@ declare namespace React {
|
|
|
2118
2156
|
shiftKey: boolean;
|
|
2119
2157
|
}
|
|
2120
2158
|
|
|
2159
|
+
interface SubmitEvent<T = Element> extends SyntheticEvent<T, NativeSubmitEvent> {
|
|
2160
|
+
// Currently not exposed by Reat
|
|
2161
|
+
// submitter: HTMLElement | null;
|
|
2162
|
+
// SubmitEvents are always targetted at HTMLFormElements.
|
|
2163
|
+
target: EventTarget & HTMLFormElement;
|
|
2164
|
+
}
|
|
2165
|
+
|
|
2121
2166
|
interface TouchEvent<T = Element> extends UIEvent<T, NativeTouchEvent> {
|
|
2122
2167
|
altKey: boolean;
|
|
2123
2168
|
changedTouches: TouchList;
|
|
@@ -2173,11 +2218,19 @@ declare namespace React {
|
|
|
2173
2218
|
type CompositionEventHandler<T = Element> = EventHandler<CompositionEvent<T>>;
|
|
2174
2219
|
type DragEventHandler<T = Element> = EventHandler<DragEvent<T>>;
|
|
2175
2220
|
type FocusEventHandler<T = Element> = EventHandler<FocusEvent<T>>;
|
|
2221
|
+
/**
|
|
2222
|
+
* @deprecated FormEventHandler doesn't actually exist.
|
|
2223
|
+
* You probably meant to use {@link ChangeEventHandler}, {@link InputEventHandler}, {@link SubmitEventHandler}, or just {@link EventHandler} instead
|
|
2224
|
+
* depending on the event type.
|
|
2225
|
+
*/
|
|
2176
2226
|
type FormEventHandler<T = Element> = EventHandler<FormEvent<T>>;
|
|
2177
|
-
type ChangeEventHandler<
|
|
2227
|
+
type ChangeEventHandler<CurrentTarget = Element, Target = Element> = EventHandler<
|
|
2228
|
+
ChangeEvent<CurrentTarget, Target>
|
|
2229
|
+
>;
|
|
2178
2230
|
type InputEventHandler<T = Element> = EventHandler<InputEvent<T>>;
|
|
2179
2231
|
type KeyboardEventHandler<T = Element> = EventHandler<KeyboardEvent<T>>;
|
|
2180
2232
|
type MouseEventHandler<T = Element> = EventHandler<MouseEvent<T>>;
|
|
2233
|
+
type SubmitEventHandler<T = Element> = EventHandler<SubmitEvent<T>>;
|
|
2181
2234
|
type TouchEventHandler<T = Element> = EventHandler<TouchEvent<T>>;
|
|
2182
2235
|
type PointerEventHandler<T = Element> = EventHandler<PointerEvent<T>>;
|
|
2183
2236
|
type UIEventHandler<T = Element> = EventHandler<UIEvent<T>>;
|
|
@@ -2231,19 +2284,19 @@ declare namespace React {
|
|
|
2231
2284
|
onBlur?: FocusEventHandler<T> | undefined;
|
|
2232
2285
|
onBlurCapture?: FocusEventHandler<T> | undefined;
|
|
2233
2286
|
|
|
2234
|
-
//
|
|
2235
|
-
onChange?:
|
|
2236
|
-
onChangeCapture?:
|
|
2287
|
+
// form related Events
|
|
2288
|
+
onChange?: ChangeEventHandler<T> | undefined;
|
|
2289
|
+
onChangeCapture?: ChangeEventHandler<T> | undefined;
|
|
2237
2290
|
onBeforeInput?: InputEventHandler<T> | undefined;
|
|
2238
|
-
onBeforeInputCapture?:
|
|
2239
|
-
onInput?:
|
|
2240
|
-
onInputCapture?:
|
|
2241
|
-
onReset?:
|
|
2242
|
-
onResetCapture?:
|
|
2243
|
-
onSubmit?:
|
|
2244
|
-
onSubmitCapture?:
|
|
2245
|
-
onInvalid?:
|
|
2246
|
-
onInvalidCapture?:
|
|
2291
|
+
onBeforeInputCapture?: InputEventHandler<T> | undefined;
|
|
2292
|
+
onInput?: InputEventHandler<T> | undefined;
|
|
2293
|
+
onInputCapture?: InputEventHandler<T> | undefined;
|
|
2294
|
+
onReset?: ReactEventHandler<T> | undefined;
|
|
2295
|
+
onResetCapture?: ReactEventHandler<T> | undefined;
|
|
2296
|
+
onSubmit?: SubmitEventHandler<T> | undefined;
|
|
2297
|
+
onSubmitCapture?: SubmitEventHandler<T> | undefined;
|
|
2298
|
+
onInvalid?: ReactEventHandler<T> | undefined;
|
|
2299
|
+
onInvalidCapture?: ReactEventHandler<T> | undefined;
|
|
2247
2300
|
|
|
2248
2301
|
// Image Events
|
|
2249
2302
|
onLoad?: ReactEventHandler<T> | undefined;
|
|
@@ -3250,7 +3303,9 @@ declare namespace React {
|
|
|
3250
3303
|
value?: string | readonly string[] | number | undefined;
|
|
3251
3304
|
width?: number | string | undefined;
|
|
3252
3305
|
|
|
3253
|
-
|
|
3306
|
+
// No other element dispatching change events can be nested in a <input>
|
|
3307
|
+
// so we know the target will be a HTMLInputElement.
|
|
3308
|
+
onChange?: ChangeEventHandler<T, HTMLInputElement> | undefined;
|
|
3254
3309
|
}
|
|
3255
3310
|
|
|
3256
3311
|
interface KeygenHTMLAttributes<T> extends HTMLAttributes<T> {
|
|
@@ -3415,7 +3470,9 @@ declare namespace React {
|
|
|
3415
3470
|
required?: boolean | undefined;
|
|
3416
3471
|
size?: number | undefined;
|
|
3417
3472
|
value?: string | readonly string[] | number | undefined;
|
|
3418
|
-
|
|
3473
|
+
// No other element dispatching change events can be nested in a <select>
|
|
3474
|
+
// so we know the target will be a HTMLSelectElement.
|
|
3475
|
+
onChange?: ChangeEventHandler<T, HTMLSelectElement> | undefined;
|
|
3419
3476
|
}
|
|
3420
3477
|
|
|
3421
3478
|
interface SourceHTMLAttributes<T> extends HTMLAttributes<T> {
|
|
@@ -3467,7 +3524,9 @@ declare namespace React {
|
|
|
3467
3524
|
value?: string | readonly string[] | number | undefined;
|
|
3468
3525
|
wrap?: string | undefined;
|
|
3469
3526
|
|
|
3470
|
-
|
|
3527
|
+
// No other element dispatching change events can be nested in a <textarea>
|
|
3528
|
+
// so we know the target will be a HTMLTextAreaElement.
|
|
3529
|
+
onChange?: ChangeEventHandler<T, HTMLTextAreaElement> | undefined;
|
|
3471
3530
|
}
|
|
3472
3531
|
|
|
3473
3532
|
interface TdHTMLAttributes<T> extends HTMLAttributes<T> {
|
|
@@ -4056,7 +4115,6 @@ declare namespace React {
|
|
|
4056
4115
|
* Captures which component contained the exception, and its ancestors.
|
|
4057
4116
|
*/
|
|
4058
4117
|
componentStack?: string | null;
|
|
4059
|
-
digest?: string | null;
|
|
4060
4118
|
}
|
|
4061
4119
|
|
|
4062
4120
|
// Keep in sync with JSX namespace in ./jsx-runtime.d.ts and ./jsx-dev-runtime.d.ts
|