react-native 0.87.0-rc.0 → 0.87.0-rc.1

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.
@@ -0,0 +1,214 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @format
8
+ */
9
+
10
+ // ----------------------------------------------------------------------------
11
+ // Types entry point for react-native/unstable-internals-do-not-use.
12
+ //
13
+ // IMPORTANT: Keep this file in sync with unstable-internals-do-not-use.js.
14
+ // ----------------------------------------------------------------------------
15
+
16
+ import type * as React from 'react';
17
+
18
+ // #region AppContainer
19
+
20
+ interface AppContainerProps {
21
+ children?: React.ReactNode | undefined;
22
+ rootTag: number;
23
+ initialProps?: object | undefined;
24
+ WrapperComponent?: React.ComponentType<any> | null | undefined;
25
+ rootViewStyle?: unknown | undefined;
26
+ internal_excludeLogBox?: boolean | undefined;
27
+ internal_excludeInspector?: boolean | undefined;
28
+ }
29
+
30
+ /** Root component that wraps and mounts a React Native app tree. */
31
+ export const AppContainer: React.ComponentType<AppContainerProps>;
32
+
33
+ // #endregion
34
+ // #region AssetSourceResolver
35
+
36
+ interface ResolvedAssetSource {
37
+ readonly __packager_asset: boolean;
38
+ readonly width: number | null | undefined;
39
+ readonly height: number | null | undefined;
40
+ readonly uri: string;
41
+ readonly scale: number;
42
+ }
43
+
44
+ /** Resolves a packager asset descriptor to a loadable source for the current platform. */
45
+ export class AssetSourceResolver {
46
+ serverUrl: string | null | undefined;
47
+ jsbundleUrl: string | null | undefined;
48
+ asset: unknown;
49
+ constructor(
50
+ serverUrl: string | null | undefined,
51
+ jsbundleUrl: string | null | undefined,
52
+ asset: unknown,
53
+ );
54
+ isLoadedFromServer(): boolean;
55
+ isLoadedFromFileSystem(): boolean;
56
+ defaultAsset(): ResolvedAssetSource;
57
+ getAssetUsingResolver(resolver: 'android' | 'generic'): ResolvedAssetSource;
58
+ assetServerURL(): ResolvedAssetSource;
59
+ scaledAssetPath(): ResolvedAssetSource;
60
+ scaledAssetURLNearBundle(): ResolvedAssetSource;
61
+ resourceIdentifierWithoutScale(): ResolvedAssetSource;
62
+ drawableFolderInBundle(): ResolvedAssetSource;
63
+ fromSource(source: string): ResolvedAssetSource;
64
+ static pickScale(scales: number[], deviceScale?: number): number;
65
+ }
66
+
67
+ // #endregion
68
+ // #region customDirectEventTypes
69
+
70
+ /** Registry mapping custom direct (non-bubbling) event names to their registration names. */
71
+ export const customDirectEventTypes: {
72
+ [eventName: string]: Readonly<{
73
+ registrationName: string;
74
+ }>;
75
+ };
76
+
77
+ // #endregion
78
+ // #region DevLoadingView
79
+
80
+ /** Dev-only overlay banner showing bundle load, refresh, and error status. */
81
+ export const DevLoadingView: {
82
+ showMessage(
83
+ message: string,
84
+ type: 'load' | 'refresh' | 'error',
85
+ options?: {dismissButton?: boolean | undefined},
86
+ ): void;
87
+ hide(): void;
88
+ };
89
+
90
+ // #endregion
91
+ // #region getDevServer
92
+
93
+ interface DevServerInfo {
94
+ url: string;
95
+ fullBundleUrl: string | null;
96
+ bundleLoadedFromServer: boolean;
97
+ }
98
+
99
+ /** Returns information about the running dev server. */
100
+ export function getDevServer(): DevServerInfo;
101
+
102
+ // #endregion
103
+ // #region HMRClient
104
+
105
+ /** Client that receives Fast Refresh updates and applies them at runtime. */
106
+ export class HMRClient {
107
+ enable(): void;
108
+ disable(): void;
109
+ registerBundle(requestUrl: string): void;
110
+ log(
111
+ level:
112
+ | 'trace'
113
+ | 'info'
114
+ | 'warn'
115
+ | 'error'
116
+ | 'log'
117
+ | 'group'
118
+ | 'groupCollapsed'
119
+ | 'groupEnd'
120
+ | 'debug',
121
+ data: ReadonlyArray<unknown>,
122
+ ): void;
123
+ setup(
124
+ platform: string,
125
+ bundleEntry: string,
126
+ host: string,
127
+ port: number | string,
128
+ isEnabled: boolean,
129
+ scheme?: string,
130
+ ): void;
131
+ }
132
+
133
+ // #endregion
134
+ // #region NativeExceptionsManager
135
+
136
+ interface StackFrame {
137
+ column: number | null;
138
+ file: string | null;
139
+ lineNumber: number | null;
140
+ methodName: string;
141
+ collapse?: boolean | undefined;
142
+ }
143
+
144
+ interface ExceptionData {
145
+ message: string;
146
+ originalMessage: string | null;
147
+ name: string | null;
148
+ componentStack: string | null;
149
+ stack: StackFrame[];
150
+ id: number;
151
+ isFatal: boolean;
152
+ extraData?: object | undefined;
153
+ }
154
+
155
+ /** Reports JS exceptions to native and manages RedBox. */
156
+ export const NativeExceptionsManager: {
157
+ reportFatalException(
158
+ message: string,
159
+ stack: StackFrame[],
160
+ exceptionId: number,
161
+ ): void;
162
+ reportSoftException(
163
+ message: string,
164
+ stack: StackFrame[],
165
+ exceptionId: number,
166
+ ): void;
167
+ dismissRedbox(): void;
168
+ reportException(data: ExceptionData): void;
169
+ };
170
+
171
+ // #endregion
172
+ // #region NativeRedBox
173
+
174
+ interface NativeRedBoxSpec {
175
+ setExtraData(extraData: object, forIdentifier: string): void;
176
+ dismiss(): void;
177
+ }
178
+
179
+ /** Native module for the RedBox error overlay; null when unavailable. */
180
+ export const NativeRedBox: NativeRedBoxSpec | null;
181
+
182
+ // #endregion
183
+ // #region NativeSourceCode
184
+
185
+ interface SourceCodeConstants {
186
+ scriptURL: string;
187
+ }
188
+
189
+ /** Native module exposing source-code constants such as the bundle scriptURL. */
190
+ export const NativeSourceCode: {
191
+ getConstants(): SourceCodeConstants;
192
+ };
193
+
194
+ // #endregion
195
+ // #region PressabilityDebugView
196
+
197
+ type Rect = Readonly<{
198
+ bottom?: number | null | undefined;
199
+ left?: number | null | undefined;
200
+ right?: number | null | undefined;
201
+ top?: number | null | undefined;
202
+ }>;
203
+
204
+ type RectOrSize = Rect | number;
205
+
206
+ interface PressabilityDebugViewProps {
207
+ color: unknown;
208
+ hitSlop: RectOrSize | null | undefined;
209
+ }
210
+
211
+ /** Debug overlay that visualizes press targets when enabled via the Inspector. */
212
+ export const PressabilityDebugView: React.ComponentType<PressabilityDebugViewProps>;
213
+
214
+ // #endregion
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @noflow
8
+ * @format
9
+ */
10
+
11
+ 'use strict';
12
+ 'use client';
13
+
14
+ // ----------------------------------------------------------------------------
15
+ // react-native/unstable-internals-do-not-use
16
+ //
17
+ // UNSTABLE WITH NO SEMVER GUARANTEES.
18
+ // SHOULD NOT BE DEPENDED ON BY NEW CODE.
19
+ //
20
+ // This is a secondary entry point for frameworks and libraries that depend on
21
+ // specific React Native internals, serving as a compatibility bridge.
22
+ //
23
+ // Consuming codebases must opt in via tsconfig.json:
24
+ // "customConditions": ["react-native-unstable-internals"]
25
+ //
26
+ // Having this entry point:
27
+ // - Maintains a known list of which React Native internals are in use.
28
+ // - Enables us to relocate supporting files more freely.
29
+ // - Gives us time to decide on the future of these APIs (independent from
30
+ // removal of the Strict API opt out).
31
+ //
32
+ // The long term future of these exports is to formalize/delete them where
33
+ // appropriate, and collapse this entry point.
34
+ //
35
+ // Replaces RFC0985
36
+ // https://github.com/react-native-community/discussions-and-proposals/pull/985
37
+ // where we reviewed internal APIs used in the ecosystem.
38
+ //
39
+ // IMPORTANT: Keep this file in sync with unstable-internals-do-not-use.d.ts.
40
+ // ----------------------------------------------------------------------------
41
+
42
+ // eslint-disable-next-line @react-native/monorepo/no-commonjs-exports
43
+ module.exports = {
44
+ get AppContainer() {
45
+ return require('../Libraries/ReactNative/AppContainer').default;
46
+ },
47
+ get AssetSourceResolver() {
48
+ return require('../Libraries/Image/AssetSourceResolver').default;
49
+ },
50
+ get customDirectEventTypes() {
51
+ return require('../Libraries/Renderer/shims/ReactNativeViewConfigRegistry')
52
+ .customDirectEventTypes;
53
+ },
54
+ get DevLoadingView() {
55
+ return require('../Libraries/Utilities/DevLoadingView').default;
56
+ },
57
+ get getDevServer() {
58
+ return require('../Libraries/Core/Devtools/getDevServer').default;
59
+ },
60
+ get HMRClient() {
61
+ return require('../Libraries/Utilities/HMRClient').default;
62
+ },
63
+ get NativeExceptionsManager() {
64
+ return require('../Libraries/Core/NativeExceptionsManager').default;
65
+ },
66
+ get NativeRedBox() {
67
+ return require('../Libraries/NativeModules/specs/NativeRedBox').default;
68
+ },
69
+ get NativeSourceCode() {
70
+ return require('../Libraries/NativeModules/specs/NativeSourceCode').default;
71
+ },
72
+ get PressabilityDebugView() {
73
+ return require('../Libraries/Pressability/PressabilityDebug')
74
+ .PressabilityDebugView;
75
+ },
76
+ };
@@ -4,29 +4,14 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @generated SignedSource<<01b91d7159f100a845fa121b57f3218d>>
7
+ * @generated SignedSource<<449bbe3a2d07ab8a97f94597606ba139>>
8
8
  *
9
9
  * This file was translated from Flow by scripts/js-api/build-types/index.js.
10
10
  * Original file: packages/react-native/Libraries/ReactPrivate/ReactNativePrivateInterface.js.flow
11
11
  */
12
12
 
13
- import type { createPublicTextInstance as $$IMPORT_TYPEOF_1$$ } from "../ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance";
14
- type createPublicTextInstanceT = typeof $$IMPORT_TYPEOF_1$$;
15
- export type { PublicRootInstance } from "../ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance";
16
- export type PublicTextInstance = ReturnType<createPublicTextInstanceT>;
17
- export { default as BatchedBridge } from "../BatchedBridge/BatchedBridge";
18
- export { default as ExceptionsManager } from "../Core/ExceptionsManager";
19
- export { default as Platform } from "../Utilities/Platform";
20
- export { default as RCTEventEmitter } from "../EventEmitter/RCTEventEmitter";
21
- export * as ReactNativeViewConfigRegistry from "../Renderer/shims/ReactNativeViewConfigRegistry";
22
- export { default as TextInputState } from "../Components/TextInput/TextInputState";
23
- export { default as UIManager } from "../ReactNative/UIManager";
24
- export { default as deepDiffer } from "../Utilities/differ/deepDiffer";
25
- export { default as deepFreezeAndThrowOnMutationInDev } from "../Utilities/deepFreezeAndThrowOnMutationInDev";
26
- export { default as flattenStyle } from "../StyleSheet/flattenStyle";
27
- export { default as ReactFiberErrorDialog } from "../Core/ReactFiberErrorDialog";
28
- export { default as legacySendAccessibilityEvent } from "../Components/AccessibilityInfo/legacySendAccessibilityEvent";
29
- export { default as RawEventEmitter } from "../Core/RawEventEmitter";
30
- export { default as CustomEvent } from "../../src/private/webapis/dom/events/CustomEvent";
31
- export { create as createAttributePayload, diff as diffAttributePayloads } from "../ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload";
32
- export { createPublicRootInstance, createPublicInstance, createPublicTextInstance, getNativeTagFromPublicInstance, getNodeFromPublicInstance, getInternalInstanceHandleFromPublicInstance } from "../ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance";
13
+ /**
14
+ * @deprecated Since 0.88. Use 'react-native/react-private-interface' instead.
15
+ */
16
+ export type * from "../../src/react-private-interface";
17
+ export * from "../../src/react-private-interface";
@@ -4,7 +4,7 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @generated SignedSource<<19fa05080365a8e46925f6d0ab8127a8>>
7
+ * @generated SignedSource<<e97e3c47b4192fcbc62a9957d6f5f6e8>>
8
8
  *
9
9
  * This file was translated from Flow by scripts/js-api/build-types/index.js.
10
10
  * Original file: packages/react-native/index.js.flow
@@ -59,7 +59,6 @@ export { NativeText as unstable_NativeText } from "./Libraries/Text/TextNativeCo
59
59
  export { default as unstable_TextAncestorContext } from "./Libraries/Text/TextAncestorContext";
60
60
  export type { AutoCapitalize, EnterKeyHintTypeOptions, KeyboardTypeOptions, InputModeOptions, TextContentType, TextInputAndroidProps, TextInputInstance, TextInputIOSProps, TextInputProps, TextInputBlurEvent, TextInputChangeEvent, TextInputContentSizeChangeEvent, TextInputEndEditingEvent, TextInputFocusEvent, TextInputKeyPressEvent, TextInputSelectionChangeEvent, TextInputSubmitEditingEvent, ReturnKeyTypeOptions, SubmitBehavior } from "./Libraries/Components/TextInput/TextInput";
61
61
  export { default as TextInput } from "./Libraries/Components/TextInput/TextInput";
62
- export { default as Touchable } from "./Libraries/Components/Touchable/Touchable";
63
62
  export type { TouchableHighlightInstance, TouchableHighlightProps } from "./Libraries/Components/Touchable/TouchableHighlight";
64
63
  export { default as TouchableHighlight } from "./Libraries/Components/Touchable/TouchableHighlight";
65
64
  export type { TouchableNativeFeedbackInstance, TouchableNativeFeedbackProps } from "./Libraries/Components/Touchable/TouchableNativeFeedback";
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @generated SignedSource<<1028d478babdabc71e24ec4ba8a83745>>
8
+ *
9
+ * This file was translated from Flow by scripts/js-api/build-types/index.js.
10
+ * Original file: packages/react-native/src/private/renderer/events/dispatchNativeEvent.js
11
+ */
12
+
13
+ import type EventTarget from "../../webapis/dom/events/EventTarget";
14
+ /**
15
+ * Dispatches a native event through the EventTarget-based dispatch system.
16
+ * This handles:
17
+ * 1. Responder negotiation (touch handling, grant/release lifecycle)
18
+ * 2. Normal event dispatch via dispatchTrustedEvent (capture/bubble phases)
19
+ *
20
+ * Called from the React renderer's dispatchEvent when
21
+ * enableNativeEventTargetEventDispatching is enabled.
22
+ */
23
+ declare function dispatchNativeEvent(target: EventTarget, type: string, payload: {
24
+ [$$Key$$: string]: unknown;
25
+ }): void;
26
+ export default dispatchNativeEvent;
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @generated SignedSource<<43644da4b4f4c04a0f152e538ac03b9e>>
8
+ *
9
+ * This file was translated from Flow by scripts/js-api/build-types/index.js.
10
+ * Original file: packages/react-native/src/react-private-interface.js.flow
11
+ */
12
+
13
+ import type { createPublicTextInstance as $$IMPORT_TYPEOF_1$$ } from "../Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance";
14
+ type createPublicTextInstanceT = typeof $$IMPORT_TYPEOF_1$$;
15
+ export type { PublicRootInstance } from "../Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance";
16
+ export type PublicTextInstance = ReturnType<createPublicTextInstanceT>;
17
+ export { default as BatchedBridge } from "../Libraries/BatchedBridge/BatchedBridge";
18
+ export { default as ExceptionsManager } from "../Libraries/Core/ExceptionsManager";
19
+ export { default as Platform } from "../Libraries/Utilities/Platform";
20
+ export { default as RCTEventEmitter } from "../Libraries/EventEmitter/RCTEventEmitter";
21
+ export * as ReactNativeViewConfigRegistry from "../Libraries/Renderer/shims/ReactNativeViewConfigRegistry";
22
+ export { default as TextInputState } from "../Libraries/Components/TextInput/TextInputState";
23
+ export { default as UIManager } from "../Libraries/ReactNative/UIManager";
24
+ export { default as deepDiffer } from "../Libraries/Utilities/differ/deepDiffer";
25
+ export { default as deepFreezeAndThrowOnMutationInDev } from "../Libraries/Utilities/deepFreezeAndThrowOnMutationInDev";
26
+ export { default as flattenStyle } from "../Libraries/StyleSheet/flattenStyle";
27
+ export { default as ReactFiberErrorDialog } from "../Libraries/Core/ReactFiberErrorDialog";
28
+ export { default as legacySendAccessibilityEvent } from "../Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent";
29
+ export { default as RawEventEmitter } from "../Libraries/Core/RawEventEmitter";
30
+ export { default as CustomEvent } from "./private/webapis/dom/events/CustomEvent";
31
+ export { create as createAttributePayload, diff as diffAttributePayloads } from "../Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload";
32
+ export { createPublicRootInstance, createPublicInstance, createPublicTextInstance, getNativeTagFromPublicInstance, getNodeFromPublicInstance, getInternalInstanceHandleFromPublicInstance } from "../Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance";
33
+ export { default as dispatchNativeEvent } from "./private/renderer/events/dispatchNativeEvent";
package/jest-preset.js DELETED
@@ -1,26 +0,0 @@
1
- /**
2
- * Copyright (c) Meta Platforms, Inc. and affiliates.
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- *
7
- * @noflow
8
- * @format
9
- */
10
-
11
- 'use strict';
12
-
13
- try {
14
- module.exports = require('@react-native/jest-preset');
15
- } catch (error) {
16
- if (error.code === 'MODULE_NOT_FOUND') {
17
- throw new Error(
18
- `The React Native Jest preset has moved to a separate package.
19
- To migrate, please install "@react-native/jest-preset" and update your
20
- jest.config.js to reference:
21
- preset: '@react-native/jest-preset'`,
22
- );
23
- } else {
24
- throw error;
25
- }
26
- }
@@ -1,13 +0,0 @@
1
- /**
2
- * Copyright (c) Meta Platforms, Inc. and affiliates.
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- *
7
- * @flow strict-local
8
- * @format
9
- */
10
-
11
- 'use strict';
12
-
13
- module.exports = require('@react-native/js-polyfills');
@@ -1,17 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "module": "commonjs",
4
- "lib": ["es6"],
5
- "strict": false,
6
- "noImplicitAny": true,
7
- "noImplicitThis": true,
8
- "strictFunctionTypes": true,
9
- "strictNullChecks": true,
10
- "types": [],
11
- "jsx": "react",
12
- "noEmit": true,
13
- "forceConsistentCasingInFileNames": true,
14
- "paths": {"react-native": ["."]}
15
- },
16
- "include": ["**/*.d.ts", "../__typetests__/**/*"]
17
- }