@types/react 19.2.18 → 19.3.0

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 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: Thu, 30 Jul 2026 21:50:54 GMT
11
+ * Last updated: Wed, 09 Sep 2026 18:05:03 GMT
12
12
  * Dependencies: [csstype](https://npmjs.com/package/csstype)
13
13
 
14
14
  # Credits
react/canary.d.ts CHANGED
@@ -30,100 +30,6 @@ export {};
30
30
  declare const UNDEFINED_VOID_ONLY: unique symbol;
31
31
  type VoidOrUndefinedOnly = void | { [UNDEFINED_VOID_ONLY]: never };
32
32
 
33
- type NativeSubmitEvent = SubmitEvent;
34
-
35
33
  declare module "." {
36
34
  export function unstable_useCacheRefresh(): () => void;
37
-
38
- // @enableViewTransition
39
- export interface ViewTransitionInstance {
40
- /**
41
- * The {@link ViewTransitionProps name} that was used in the corresponding {@link ViewTransition} component or `"auto"` if the `name` prop was omitted.
42
- */
43
- name: string;
44
- }
45
-
46
- export type ViewTransitionClassPerType = Record<"default" | (string & {}), "none" | "auto" | (string & {})>;
47
- export type ViewTransitionClass = ViewTransitionClassPerType | ViewTransitionClassPerType[string];
48
-
49
- export interface ViewTransitionProps {
50
- children?: ReactNode | undefined;
51
- /**
52
- * Assigns the {@link https://developer.chrome.com/blog/view-transitions-update-io24#view-transition-class `view-transition-class`} class to the underlying DOM node.
53
- */
54
- default?: ViewTransitionClass | undefined;
55
- /**
56
- * Combined with {@link className} if this `<ViewTransition>` or its parent Component is mounted and there's no other with the same name being deleted.
57
- * `"none"` is a special value that deactivates the view transition name under that condition.
58
- */
59
- enter?: ViewTransitionClass | undefined;
60
- /**
61
- * Combined with {@link className} if this `<ViewTransition>` or its parent Component is unmounted and there's no other with the same name being deleted.
62
- * `"none"` is a special value that deactivates the view transition name under that condition.
63
- */
64
- exit?: ViewTransitionClass | undefined;
65
- /**
66
- * "auto" will automatically assign a view-transition-name to the inner DOM node.
67
- * That way you can add a View Transition to a Component without controlling its DOM nodes styling otherwise.
68
- *
69
- * A difference between this and the browser's built-in view-transition-name: auto is that switching the DOM nodes within the `<ViewTransition>` component preserves the same name so this example cross-fades between the DOM nodes instead of causing an exit and enter.
70
- * @default "auto"
71
- */
72
- name?: "auto" | (string & {}) | undefined;
73
- /**
74
- * The `<ViewTransition>` or its parent Component is mounted and there's no other `<ViewTransition>` with the same name being deleted.
75
- */
76
- onEnter?: (instance: ViewTransitionInstance, types: Array<string>) => void | (() => void);
77
- /**
78
- * The `<ViewTransition>` or its parent Component is unmounted and there's no other `<ViewTransition>` with the same name being deleted.
79
- */
80
- onExit?: (instance: ViewTransitionInstance, types: Array<string>) => void | (() => void);
81
- /**
82
- * This `<ViewTransition>` is being mounted and another `<ViewTransition>` instance with the same name is being unmounted elsewhere.
83
- */
84
- onShare?: (instance: ViewTransitionInstance, types: Array<string>) => void | (() => void);
85
- /**
86
- * The content of `<ViewTransition>` has changed either due to DOM mutations or because an inner child `<ViewTransition>` has resized.
87
- */
88
- onUpdate?: (instance: ViewTransitionInstance, types: Array<string>) => void | (() => void);
89
- ref?: Ref<ViewTransitionInstance> | undefined;
90
- /**
91
- * Combined with {@link className} if this `<ViewTransition>` is being mounted and another instance with the same name is being unmounted elsewhere.
92
- * `"none"` is a special value that deactivates the view transition name under that condition.
93
- */
94
- share?: ViewTransitionClass | undefined;
95
- /**
96
- * Combined with {@link className} if the content of this `<ViewTransition>` has changed either due to DOM mutations or because an inner child has resized.
97
- * `"none"` is a special value that deactivates the view transition name under that condition.
98
- */
99
- update?: ViewTransitionClass | undefined;
100
- }
101
-
102
- /**
103
- * Opt-in for using {@link https://developer.mozilla.org/en-US/docs/Web/API/View_Transition_API View Transitions} in React.
104
- * View Transitions only trigger for async updates like {@link startTransition}, {@link useDeferredValue}, Actions or <{@link Suspense}> revealing from fallback to content.
105
- * Synchronous updates provide an opt-out but also guarantee that they commit immediately which View Transitions can't.
106
- *
107
- * @see {@link https://react.dev/reference/react/ViewTransition `<ViewTransition>` reference documentation}
108
- */
109
- export const ViewTransition: ExoticComponent<ViewTransitionProps>;
110
-
111
- /**
112
- * @see {@link https://react.dev/reference/react/addTransitionType `addTransitionType` reference documentation}
113
- */
114
- export function addTransitionType(type: string): void;
115
-
116
- // @enableFragmentRefs
117
- export interface FragmentInstance {}
118
-
119
- export interface FragmentProps {
120
- ref?: Ref<FragmentInstance> | undefined;
121
- }
122
-
123
- interface SubmitEvent<T = Element> extends SyntheticEvent<T, NativeSubmitEvent> {
124
- /**
125
- * Only available in react@canary
126
- */
127
- submitter: HTMLElement | null;
128
- }
129
35
  }
react/index.d.ts CHANGED
@@ -732,8 +732,15 @@ declare namespace React {
732
732
  toArray(children: ReactNode | ReactNode[]): Array<Exclude<ReactNode, boolean | null | undefined>>;
733
733
  };
734
734
 
735
+ /**
736
+ * The value of a ref on a `<Fragment>`.
737
+ * Empty by default; renderers (e.g. `react-dom`) augment this interface via `declare module "react"`.
738
+ */
739
+ export interface FragmentInstance {}
740
+
735
741
  export interface FragmentProps {
736
742
  children?: React.ReactNode;
743
+ ref?: Ref<FragmentInstance> | undefined;
737
744
  }
738
745
  /**
739
746
  * Lets you group elements without a wrapper node.
@@ -2014,6 +2021,85 @@ declare namespace React {
2014
2021
  */
2015
2022
  export const Activity: ExoticComponent<ActivityProps>;
2016
2023
 
2024
+ export interface ViewTransitionInstance {
2025
+ /**
2026
+ * The {@link ViewTransitionProps name} that was used in the corresponding {@link ViewTransition} component or `"auto"` if the `name` prop was omitted.
2027
+ */
2028
+ name: string;
2029
+ }
2030
+
2031
+ export type ViewTransitionClassPerType = Record<"default" | (string & {}), "none" | "auto" | (string & {})>;
2032
+ export type ViewTransitionClass = ViewTransitionClassPerType | ViewTransitionClassPerType[string];
2033
+
2034
+ export interface ViewTransitionProps {
2035
+ children?: ReactNode | undefined;
2036
+ /**
2037
+ * Assigns the {@link https://developer.chrome.com/blog/view-transitions-update-io24#view-transition-class `view-transition-class`} class to the underlying DOM node.
2038
+ */
2039
+ default?: ViewTransitionClass | undefined;
2040
+ /**
2041
+ * Combined with {@link className} if this `<ViewTransition>` or its parent Component is mounted and there's no other with the same name being deleted.
2042
+ * `"none"` is a special value that deactivates the view transition name under that condition.
2043
+ */
2044
+ enter?: ViewTransitionClass | undefined;
2045
+ /**
2046
+ * Combined with {@link className} if this `<ViewTransition>` or its parent Component is unmounted and there's no other with the same name being deleted.
2047
+ * `"none"` is a special value that deactivates the view transition name under that condition.
2048
+ */
2049
+ exit?: ViewTransitionClass | undefined;
2050
+ /**
2051
+ * "auto" will automatically assign a view-transition-name to the inner DOM node.
2052
+ * That way you can add a View Transition to a Component without controlling its DOM nodes styling otherwise.
2053
+ *
2054
+ * A difference between this and the browser's built-in view-transition-name: auto is that switching the DOM nodes within the `<ViewTransition>` component preserves the same name so this example cross-fades between the DOM nodes instead of causing an exit and enter.
2055
+ * @default "auto"
2056
+ */
2057
+ name?: "auto" | (string & {}) | undefined;
2058
+ /**
2059
+ * The `<ViewTransition>` or its parent Component is mounted and there's no other `<ViewTransition>` with the same name being deleted.
2060
+ */
2061
+ onEnter?: (instance: ViewTransitionInstance, types: Array<string>) => void | (() => void);
2062
+ /**
2063
+ * The `<ViewTransition>` or its parent Component is unmounted and there's no other with the same name being deleted.
2064
+ */
2065
+ onExit?: (instance: ViewTransitionInstance, types: Array<string>) => void | (() => void);
2066
+ /**
2067
+ * This `<ViewTransition>` is being mounted and another `<ViewTransition>` instance with the same name is being unmounted elsewhere.
2068
+ */
2069
+ onShare?: (instance: ViewTransitionInstance, types: Array<string>) => void | (() => void);
2070
+ /**
2071
+ * The content of `<ViewTransition>` has changed either due to DOM mutations or because an inner child `<ViewTransition>` has resized.
2072
+ */
2073
+ onUpdate?: (instance: ViewTransitionInstance, types: Array<string>) => void | (() => void);
2074
+ ref?: Ref<ViewTransitionInstance> | undefined;
2075
+ /**
2076
+ * Combined with {@link className} if this `<ViewTransition>` is being mounted and another instance with the same name is being unmounted elsewhere.
2077
+ * `"none"` is a special value that deactivates the view transition name under that condition.
2078
+ */
2079
+ share?: ViewTransitionClass | undefined;
2080
+ /**
2081
+ * Combined with {@link className} if the content of this `<ViewTransition>` has changed either due to DOM mutations or because an inner child has resized.
2082
+ * `"none"` is a special value that deactivates the view transition name under that condition.
2083
+ */
2084
+ update?: ViewTransitionClass | undefined;
2085
+ }
2086
+
2087
+ /**
2088
+ * Opt-in for using {@link https://developer.mozilla.org/en-US/docs/Web/API/View_Transition_API View Transitions} in React.
2089
+ * View Transitions only trigger for async updates like {@link startTransition}, {@link useDeferredValue}, Actions or <{@link Suspense}> revealing from fallback to content.
2090
+ * Synchronous updates provide an opt-out but also guarantee that they commit immediately which View Transitions can't.
2091
+ *
2092
+ * @see {@link https://react.dev/reference/react/ViewTransition `<ViewTransition>` reference documentation}
2093
+ * @version 19.3.0
2094
+ */
2095
+ export const ViewTransition: ExoticComponent<ViewTransitionProps>;
2096
+
2097
+ /**
2098
+ * @see {@link https://react.dev/reference/react/addTransitionType `addTransitionType` reference documentation}
2099
+ * @version 19.3.0
2100
+ */
2101
+ export function addTransitionType(type: string): void;
2102
+
2017
2103
  /**
2018
2104
  * Warning: Only available in development builds.
2019
2105
  *
@@ -2175,8 +2261,7 @@ declare namespace React {
2175
2261
  }
2176
2262
 
2177
2263
  interface SubmitEvent<T = Element> extends SyntheticEvent<T, NativeSubmitEvent> {
2178
- // `submitter` is available in react@canary
2179
- // submitter: HTMLElement | null;
2264
+ submitter: HTMLElement | null;
2180
2265
  // SubmitEvents are always targetted at HTMLFormElements.
2181
2266
  target: EventTarget & HTMLFormElement;
2182
2267
  }
react/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@types/react",
3
- "version": "19.2.18",
3
+ "version": "19.3.0",
4
4
  "description": "TypeScript definitions for react",
5
5
  "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react",
6
6
  "license": "MIT",
@@ -205,6 +205,6 @@
205
205
  "csstype": "^3.2.2"
206
206
  },
207
207
  "peerDependencies": {},
208
- "typesPublisherContentHash": "7694d96d924f28718f57b029b2c1a3dd61c406fa6ac1ef2619887840a17bfc33",
208
+ "typesPublisherContentHash": "86ea5f223efc88fcaa71962f0f031a623142285e331499ee981e201dc8d2a77e",
209
209
  "typeScriptVersion": "5.6"
210
210
  }
react/ts5.0/canary.d.ts CHANGED
@@ -30,100 +30,6 @@ export {};
30
30
  declare const UNDEFINED_VOID_ONLY: unique symbol;
31
31
  type VoidOrUndefinedOnly = void | { [UNDEFINED_VOID_ONLY]: never };
32
32
 
33
- type NativeSubmitEvent = SubmitEvent;
34
-
35
33
  declare module "." {
36
34
  export function unstable_useCacheRefresh(): () => void;
37
-
38
- // @enableViewTransition
39
- export interface ViewTransitionInstance {
40
- /**
41
- * The {@link ViewTransitionProps name} that was used in the corresponding {@link ViewTransition} component or `"auto"` if the `name` prop was omitted.
42
- */
43
- name: string;
44
- }
45
-
46
- export type ViewTransitionClassPerType = Record<"default" | (string & {}), "none" | "auto" | (string & {})>;
47
- export type ViewTransitionClass = ViewTransitionClassPerType | ViewTransitionClassPerType[string];
48
-
49
- export interface ViewTransitionProps {
50
- children?: ReactNode | undefined;
51
- /**
52
- * Assigns the {@link https://developer.chrome.com/blog/view-transitions-update-io24#view-transition-class `view-transition-class`} class to the underlying DOM node.
53
- */
54
- default?: ViewTransitionClass | undefined;
55
- /**
56
- * Combined with {@link className} if this `<ViewTransition>` or its parent Component is mounted and there's no other with the same name being deleted.
57
- * `"none"` is a special value that deactivates the view transition name under that condition.
58
- */
59
- enter?: ViewTransitionClass | undefined;
60
- /**
61
- * Combined with {@link className} if this `<ViewTransition>` or its parent Component is unmounted and there's no other with the same name being deleted.
62
- * `"none"` is a special value that deactivates the view transition name under that condition.
63
- */
64
- exit?: ViewTransitionClass | undefined;
65
- /**
66
- * "auto" will automatically assign a view-transition-name to the inner DOM node.
67
- * That way you can add a View Transition to a Component without controlling its DOM nodes styling otherwise.
68
- *
69
- * A difference between this and the browser's built-in view-transition-name: auto is that switching the DOM nodes within the `<ViewTransition>` component preserves the same name so this example cross-fades between the DOM nodes instead of causing an exit and enter.
70
- * @default "auto"
71
- */
72
- name?: "auto" | (string & {}) | undefined;
73
- /**
74
- * The `<ViewTransition>` or its parent Component is mounted and there's no other `<ViewTransition>` with the same name being deleted.
75
- */
76
- onEnter?: (instance: ViewTransitionInstance, types: Array<string>) => void | (() => void);
77
- /**
78
- * The `<ViewTransition>` or its parent Component is unmounted and there's no other `<ViewTransition>` with the same name being deleted.
79
- */
80
- onExit?: (instance: ViewTransitionInstance, types: Array<string>) => void | (() => void);
81
- /**
82
- * This `<ViewTransition>` is being mounted and another `<ViewTransition>` instance with the same name is being unmounted elsewhere.
83
- */
84
- onShare?: (instance: ViewTransitionInstance, types: Array<string>) => void | (() => void);
85
- /**
86
- * The content of `<ViewTransition>` has changed either due to DOM mutations or because an inner child `<ViewTransition>` has resized.
87
- */
88
- onUpdate?: (instance: ViewTransitionInstance, types: Array<string>) => void | (() => void);
89
- ref?: Ref<ViewTransitionInstance> | undefined;
90
- /**
91
- * Combined with {@link className} if this `<ViewTransition>` is being mounted and another instance with the same name is being unmounted elsewhere.
92
- * `"none"` is a special value that deactivates the view transition name under that condition.
93
- */
94
- share?: ViewTransitionClass | undefined;
95
- /**
96
- * Combined with {@link className} if the content of this `<ViewTransition>` has changed either due to DOM mutations or because an inner child has resized.
97
- * `"none"` is a special value that deactivates the view transition name under that condition.
98
- */
99
- update?: ViewTransitionClass | undefined;
100
- }
101
-
102
- /**
103
- * Opt-in for using {@link https://developer.mozilla.org/en-US/docs/Web/API/View_Transition_API View Transitions} in React.
104
- * View Transitions only trigger for async updates like {@link startTransition}, {@link useDeferredValue}, Actions or <{@link Suspense}> revealing from fallback to content.
105
- * Synchronous updates provide an opt-out but also guarantee that they commit immediately which View Transitions can't.
106
- *
107
- * @see {@link https://react.dev/reference/react/ViewTransition `<ViewTransition>` reference documentation}
108
- */
109
- export const ViewTransition: ExoticComponent<ViewTransitionProps>;
110
-
111
- /**
112
- * @see {@link https://react.dev/reference/react/addTransitionType `addTransitionType` reference documentation}
113
- */
114
- export function addTransitionType(type: string): void;
115
-
116
- // @enableFragmentRefs
117
- export interface FragmentInstance {}
118
-
119
- export interface FragmentProps {
120
- ref?: Ref<FragmentInstance> | undefined;
121
- }
122
-
123
- interface SubmitEvent<T = Element> extends SyntheticEvent<T, NativeSubmitEvent> {
124
- /**
125
- * Only available in react@canary
126
- */
127
- submitter: HTMLElement | null;
128
- }
129
35
  }
react/ts5.0/index.d.ts CHANGED
@@ -733,8 +733,15 @@ declare namespace React {
733
733
  toArray(children: ReactNode | ReactNode[]): Array<Exclude<ReactNode, boolean | null | undefined>>;
734
734
  };
735
735
 
736
+ /**
737
+ * The value of a ref on a `<Fragment>`.
738
+ * Empty by default; renderers (e.g. `react-dom`) augment this interface via `declare module "react"`.
739
+ */
740
+ export interface FragmentInstance {}
741
+
736
742
  export interface FragmentProps {
737
743
  children?: React.ReactNode;
744
+ ref?: Ref<FragmentInstance> | undefined;
738
745
  }
739
746
  /**
740
747
  * Lets you group elements without a wrapper node.
@@ -2013,6 +2020,85 @@ declare namespace React {
2013
2020
  */
2014
2021
  export const Activity: ExoticComponent<ActivityProps>;
2015
2022
 
2023
+ export interface ViewTransitionInstance {
2024
+ /**
2025
+ * The {@link ViewTransitionProps name} that was used in the corresponding {@link ViewTransition} component or `"auto"` if the `name` prop was omitted.
2026
+ */
2027
+ name: string;
2028
+ }
2029
+
2030
+ export type ViewTransitionClassPerType = Record<"default" | (string & {}), "none" | "auto" | (string & {})>;
2031
+ export type ViewTransitionClass = ViewTransitionClassPerType | ViewTransitionClassPerType[string];
2032
+
2033
+ export interface ViewTransitionProps {
2034
+ children?: ReactNode | undefined;
2035
+ /**
2036
+ * Assigns the {@link https://developer.chrome.com/blog/view-transitions-update-io24#view-transition-class `view-transition-class`} class to the underlying DOM node.
2037
+ */
2038
+ default?: ViewTransitionClass | undefined;
2039
+ /**
2040
+ * Combined with {@link className} if this `<ViewTransition>` or its parent Component is mounted and there's no other with the same name being deleted.
2041
+ * `"none"` is a special value that deactivates the view transition name under that condition.
2042
+ */
2043
+ enter?: ViewTransitionClass | undefined;
2044
+ /**
2045
+ * Combined with {@link className} if this `<ViewTransition>` or its parent Component is unmounted and there's no other with the same name being deleted.
2046
+ * `"none"` is a special value that deactivates the view transition name under that condition.
2047
+ */
2048
+ exit?: ViewTransitionClass | undefined;
2049
+ /**
2050
+ * "auto" will automatically assign a view-transition-name to the inner DOM node.
2051
+ * That way you can add a View Transition to a Component without controlling its DOM nodes styling otherwise.
2052
+ *
2053
+ * A difference between this and the browser's built-in view-transition-name: auto is that switching the DOM nodes within the `<ViewTransition>` component preserves the same name so this example cross-fades between the DOM nodes instead of causing an exit and enter.
2054
+ * @default "auto"
2055
+ */
2056
+ name?: "auto" | (string & {}) | undefined;
2057
+ /**
2058
+ * The `<ViewTransition>` or its parent Component is mounted and there's no other `<ViewTransition>` with the same name being deleted.
2059
+ */
2060
+ onEnter?: (instance: ViewTransitionInstance, types: Array<string>) => void | (() => void);
2061
+ /**
2062
+ * The `<ViewTransition>` or its parent Component is unmounted and there's no other with the same name being deleted.
2063
+ */
2064
+ onExit?: (instance: ViewTransitionInstance, types: Array<string>) => void | (() => void);
2065
+ /**
2066
+ * This `<ViewTransition>` is being mounted and another `<ViewTransition>` instance with the same name is being unmounted elsewhere.
2067
+ */
2068
+ onShare?: (instance: ViewTransitionInstance, types: Array<string>) => void | (() => void);
2069
+ /**
2070
+ * The content of `<ViewTransition>` has changed either due to DOM mutations or because an inner child `<ViewTransition>` has resized.
2071
+ */
2072
+ onUpdate?: (instance: ViewTransitionInstance, types: Array<string>) => void | (() => void);
2073
+ ref?: Ref<ViewTransitionInstance> | undefined;
2074
+ /**
2075
+ * Combined with {@link className} if this `<ViewTransition>` is being mounted and another instance with the same name is being unmounted elsewhere.
2076
+ * `"none"` is a special value that deactivates the view transition name under that condition.
2077
+ */
2078
+ share?: ViewTransitionClass | undefined;
2079
+ /**
2080
+ * Combined with {@link className} if the content of this `<ViewTransition>` has changed either due to DOM mutations or because an inner child has resized.
2081
+ * `"none"` is a special value that deactivates the view transition name under that condition.
2082
+ */
2083
+ update?: ViewTransitionClass | undefined;
2084
+ }
2085
+
2086
+ /**
2087
+ * Opt-in for using {@link https://developer.mozilla.org/en-US/docs/Web/API/View_Transition_API View Transitions} in React.
2088
+ * View Transitions only trigger for async updates like {@link startTransition}, {@link useDeferredValue}, Actions or <{@link Suspense}> revealing from fallback to content.
2089
+ * Synchronous updates provide an opt-out but also guarantee that they commit immediately which View Transitions can't.
2090
+ *
2091
+ * @see {@link https://react.dev/reference/react/ViewTransition `<ViewTransition>` reference documentation}
2092
+ * @version 19.3.0
2093
+ */
2094
+ export const ViewTransition: ExoticComponent<ViewTransitionProps>;
2095
+
2096
+ /**
2097
+ * @see {@link https://react.dev/reference/react/addTransitionType `addTransitionType` reference documentation}
2098
+ * @version 19.3.0
2099
+ */
2100
+ export function addTransitionType(type: string): void;
2101
+
2016
2102
  /**
2017
2103
  * Warning: Only available in development builds.
2018
2104
  *
@@ -2174,8 +2260,7 @@ declare namespace React {
2174
2260
  }
2175
2261
 
2176
2262
  interface SubmitEvent<T = Element> extends SyntheticEvent<T, NativeSubmitEvent> {
2177
- // `submitter` is available in react@canary
2178
- // submitter: HTMLElement | null;
2263
+ submitter: HTMLElement | null;
2179
2264
  // SubmitEvents are always targetted at HTMLFormElements.
2180
2265
  target: EventTarget & HTMLFormElement;
2181
2266
  }