@types/react 19.2.17 → 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: Fri, 05 Jun 2026 20:10:10 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.
@@ -1959,7 +1966,16 @@ declare namespace React {
1959
1966
  | FulfilledReactPromise<T>
1960
1967
  | RejectedReactPromise<T>;
1961
1968
 
1962
- export type Usable<T> = ReactPromise<T> | Context<T>;
1969
+ /**
1970
+ * A registry of renderer-specific {@link Usable} types.
1971
+ *
1972
+ * Renderers (e.g. `react-dom`) augment this interface via `declare module "react"`,
1973
+ * adding an entry keyed by a renderer-specific string whose type becomes a valid
1974
+ * argument to {@link use}. Only renderers should augment this interface.
1975
+ */
1976
+ export interface RendererUsable<T> {}
1977
+
1978
+ export type Usable<T> = ReactPromise<T> | Context<T> | RendererUsable<T>[keyof RendererUsable<T>];
1963
1979
 
1964
1980
  export function use<T>(usable: Usable<T>): T;
1965
1981
 
@@ -2005,6 +2021,85 @@ declare namespace React {
2005
2021
  */
2006
2022
  export const Activity: ExoticComponent<ActivityProps>;
2007
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
+
2008
2103
  /**
2009
2104
  * Warning: Only available in development builds.
2010
2105
  *
@@ -2166,8 +2261,7 @@ declare namespace React {
2166
2261
  }
2167
2262
 
2168
2263
  interface SubmitEvent<T = Element> extends SyntheticEvent<T, NativeSubmitEvent> {
2169
- // `submitter` is available in react@canary
2170
- // submitter: HTMLElement | null;
2264
+ submitter: HTMLElement | null;
2171
2265
  // SubmitEvents are always targetted at HTMLFormElements.
2172
2266
  target: EventTarget & HTMLFormElement;
2173
2267
  }
react/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@types/react",
3
- "version": "19.2.17",
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": "f6d087e89b6a483b6ea2519d4f16498227ceb3260f6a6414fed750badc869721",
209
- "typeScriptVersion": "5.3"
208
+ "typesPublisherContentHash": "86ea5f223efc88fcaa71962f0f031a623142285e331499ee981e201dc8d2a77e",
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.
@@ -1958,7 +1965,16 @@ declare namespace React {
1958
1965
  | FulfilledReactPromise<T>
1959
1966
  | RejectedReactPromise<T>;
1960
1967
 
1961
- export type Usable<T> = ReactPromise<T> | Context<T>;
1968
+ /**
1969
+ * A registry of renderer-specific {@link Usable} types.
1970
+ *
1971
+ * Renderers (e.g. `react-dom`) augment this interface via `declare module "react"`,
1972
+ * adding an entry keyed by a renderer-specific string whose type becomes a valid
1973
+ * argument to {@link use}. Only renderers should augment this interface.
1974
+ */
1975
+ export interface RendererUsable<T> {}
1976
+
1977
+ export type Usable<T> = ReactPromise<T> | Context<T> | RendererUsable<T>[keyof RendererUsable<T>];
1962
1978
 
1963
1979
  export function use<T>(usable: Usable<T>): T;
1964
1980
 
@@ -2004,6 +2020,85 @@ declare namespace React {
2004
2020
  */
2005
2021
  export const Activity: ExoticComponent<ActivityProps>;
2006
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
+
2007
2102
  /**
2008
2103
  * Warning: Only available in development builds.
2009
2104
  *
@@ -2165,8 +2260,7 @@ declare namespace React {
2165
2260
  }
2166
2261
 
2167
2262
  interface SubmitEvent<T = Element> extends SyntheticEvent<T, NativeSubmitEvent> {
2168
- // `submitter` is available in react@canary
2169
- // submitter: HTMLElement | null;
2263
+ submitter: HTMLElement | null;
2170
2264
  // SubmitEvents are always targetted at HTMLFormElements.
2171
2265
  target: EventTarget & HTMLFormElement;
2172
2266
  }