@office-iss/react-native-win32 0.83.0-preview.1 → 0.84.0-preview.2

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.
Files changed (193) hide show
  1. package/.flowconfig +2 -2
  2. package/CHANGELOG.json +57 -6
  3. package/CHANGELOG.md +30 -5
  4. package/IntegrationTests/AccessibilityManagerTest.js +10 -7
  5. package/IntegrationTests/ImageCachePolicyTest.js +8 -8
  6. package/IntegrationTests/IntegrationTestsApp.js +3 -3
  7. package/IntegrationTests/LayoutEventsTest.js +1 -1
  8. package/IntegrationTests/TimersTest.js +1 -1
  9. package/IntegrationTests/WebSocketTest.js +1 -1
  10. package/Libraries/Animated/AnimatedEvent.js +2 -2
  11. package/Libraries/Animated/animations/Animation.js +1 -3
  12. package/Libraries/Animated/createAnimatedComponent.js +8 -5
  13. package/Libraries/Animated/nodes/AnimatedColor.js +1 -1
  14. package/Libraries/Animated/nodes/AnimatedInterpolation.js +40 -4
  15. package/Libraries/Animated/nodes/AnimatedNode.js +3 -3
  16. package/Libraries/Animated/nodes/AnimatedObject.js +16 -11
  17. package/Libraries/Animated/nodes/AnimatedProps.js +43 -12
  18. package/Libraries/Animated/nodes/AnimatedStyle.js +12 -12
  19. package/Libraries/Animated/nodes/AnimatedValue.js +6 -3
  20. package/Libraries/Animated/nodes/AnimatedValueXY.js +1 -1
  21. package/Libraries/BatchedBridge/MessageQueue.js +24 -22
  22. package/Libraries/Blob/URL.js +34 -3
  23. package/Libraries/Blob/URLSearchParams.js +1 -0
  24. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +6 -0
  25. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +6 -1
  26. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js +8 -1
  27. package/Libraries/Components/Button.js +2 -5
  28. package/Libraries/Components/Button.win32.js +2 -5
  29. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +1 -1
  30. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes.js +4 -4
  31. package/Libraries/Components/Keyboard/Keyboard.js +2 -2
  32. package/Libraries/Components/Pressable/Pressable.js +8 -8
  33. package/Libraries/Components/Pressable/Pressable.win32.js +14 -13
  34. package/Libraries/Components/TextInput/TextInput.flow.js +13 -13
  35. package/Libraries/Components/TextInput/TextInput.flow.win32.js +13 -13
  36. package/Libraries/Components/TextInput/TextInput.js +33 -34
  37. package/Libraries/Components/TextInput/TextInput.win32.js +39 -39
  38. package/Libraries/Components/Touchable/PooledClass.js +2 -2
  39. package/Libraries/Components/Touchable/TouchableBounce.js +3 -3
  40. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -1
  41. package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js +1 -1
  42. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +9 -9
  43. package/Libraries/Components/View/View.win32.js +5 -5
  44. package/Libraries/Components/View/ViewPropTypes.js +16 -6
  45. package/Libraries/Components/View/ViewPropTypes.win32.js +20 -10
  46. package/Libraries/Core/Devtools/loadBundleFromServer.js +6 -3
  47. package/Libraries/Core/Devtools/loadBundleFromServer.win32.js +6 -3
  48. package/Libraries/Core/Devtools/symbolicateStackTrace.js +1 -1
  49. package/Libraries/Core/ExceptionsManager.js +3 -3
  50. package/Libraries/Core/RawEventEmitter.js +1 -1
  51. package/Libraries/Core/ReactFiberErrorDialog.js +1 -1
  52. package/Libraries/Core/ReactNativeVersion.js +3 -3
  53. package/Libraries/Core/setUpDeveloperTools.js +1 -1
  54. package/Libraries/Core/setUpErrorHandling.js +1 -1
  55. package/Libraries/EventEmitter/NativeEventEmitter.js +2 -2
  56. package/Libraries/Image/Image.android.js +2 -2
  57. package/Libraries/Image/Image.ios.js +2 -2
  58. package/Libraries/Image/Image.win32.js +1 -1
  59. package/Libraries/Image/ImageProps.js +1 -1
  60. package/Libraries/Image/ImageTypes.flow.js +2 -2
  61. package/Libraries/Interaction/InteractionManager.js +3 -3
  62. package/Libraries/Interaction/PanResponder.js +1 -1
  63. package/Libraries/LayoutAnimation/LayoutAnimation.js +1 -1
  64. package/Libraries/Linking/Linking.js +1 -1
  65. package/Libraries/Lists/FlatList.js +2 -2
  66. package/Libraries/LogBox/Data/LogBoxData.js +31 -4
  67. package/Libraries/LogBox/Data/LogBoxLog.js +2 -2
  68. package/Libraries/LogBox/Data/LogBoxSymbolication.js +1 -1
  69. package/Libraries/LogBox/Data/parseLogBoxLog.js +5 -5
  70. package/Libraries/LogBox/LogBox.js +7 -7
  71. package/Libraries/NativeComponent/BaseViewConfig.android.js +12 -0
  72. package/Libraries/NativeComponent/StaticViewConfigValidator.js +4 -4
  73. package/Libraries/NativeComponent/ViewConfigIgnore.js +1 -1
  74. package/Libraries/Network/RCTNetworking.android.js +3 -3
  75. package/Libraries/Network/RCTNetworking.ios.js +2 -2
  76. package/Libraries/Network/RCTNetworking.js.flow +2 -2
  77. package/Libraries/Network/RCTNetworking.win32.js +2 -2
  78. package/Libraries/Pressability/Pressability.js +9 -9
  79. package/Libraries/Pressability/Pressability.win32.js +17 -16
  80. package/Libraries/ReactNative/AppRegistry.flow.js +1 -1
  81. package/Libraries/ReactNative/BridgelessUIManager.js +1 -1
  82. package/Libraries/ReactNative/FabricUIManager.js +1 -1
  83. package/Libraries/ReactNative/PaperUIManager.js +1 -1
  84. package/Libraries/ReactNative/PaperUIManager.win32.js +1 -1
  85. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +1 -1
  86. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstanceUtils.js +2 -2
  87. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +1 -1
  88. package/Libraries/ReactNative/RendererImplementation.js +1 -1
  89. package/Libraries/ReactNative/getNativeComponentAttributes.js +1 -1
  90. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -2
  91. package/Libraries/Renderer/implementations/ReactFabric-dev.js +3 -3
  92. package/Libraries/Renderer/implementations/ReactFabric-prod.js +3 -3
  93. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3 -3
  94. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +11 -4
  95. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +11 -4
  96. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +11 -4
  97. package/Libraries/Renderer/shims/ReactFabric.js +3 -1
  98. package/Libraries/Renderer/shims/ReactFeatureFlags.js +3 -1
  99. package/Libraries/Renderer/shims/ReactNative.js +2 -2
  100. package/Libraries/Renderer/shims/ReactNativeTypes.js +3 -1
  101. package/Libraries/Renderer/shims/ReactNativeTypes.win32.js +3 -1
  102. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +3 -1
  103. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +3 -1
  104. package/Libraries/Settings/Settings.ios.js +1 -1
  105. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +2 -2
  106. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
  107. package/Libraries/StyleSheet/PlatformColorValueTypes.js.flow +4 -2
  108. package/Libraries/StyleSheet/StyleSheetExports.js +1 -1
  109. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +99 -4
  110. package/Libraries/StyleSheet/StyleSheetTypes.js +6 -8
  111. package/Libraries/StyleSheet/processFilter.js +1 -1
  112. package/Libraries/Text/Text.js +46 -6
  113. package/Libraries/Text/Text.win32.js +46 -6
  114. package/Libraries/Text/TextNativeComponent.js +1 -1
  115. package/Libraries/Text/TextNativeComponent.win32.js +1 -1
  116. package/Libraries/Text/TextProps.js +7 -7
  117. package/Libraries/Text/TextProps.win32.js +7 -7
  118. package/Libraries/Types/CodegenTypes.js +1 -1
  119. package/Libraries/Types/CoreEventTypes.js +31 -0
  120. package/Libraries/Types/CoreEventTypes.win32.js +30 -13
  121. package/Libraries/Types/ReactDevToolsTypes.js +2 -2
  122. package/Libraries/Utilities/Appearance.js +2 -2
  123. package/Libraries/Utilities/DevLoadingView.js +8 -1
  124. package/Libraries/Utilities/DevSettings.js +3 -3
  125. package/Libraries/Utilities/HMRClient.js +4 -3
  126. package/Libraries/Utilities/RCTLog.js +3 -3
  127. package/Libraries/Utilities/ReactNativeTestTools.js +1 -1
  128. package/Libraries/Utilities/SceneTracker.js +1 -1
  129. package/Libraries/Utilities/codegenNativeCommands.js +1 -1
  130. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +3 -3
  131. package/Libraries/Utilities/logError.js +1 -1
  132. package/Libraries/Utilities/stringifySafe.js +7 -7
  133. package/Libraries/Utilities/useRefEffect.js +1 -1
  134. package/Libraries/WebSocket/WebSocketInterceptor.js +3 -3
  135. package/Libraries/promiseRejectionTrackingOptions.js +8 -8
  136. package/Libraries/vendor/core/ErrorUtils.js +10 -10
  137. package/Libraries/vendor/emitter/EventEmitter.js +6 -6
  138. package/flow/HermesInternalType.js +6 -6
  139. package/flow/bom.js.flow +35 -28
  140. package/flow/cssom.js.flow +3 -3
  141. package/flow/dom.js.flow +34 -33
  142. package/index.js +3 -0
  143. package/index.win32.js +3 -0
  144. package/index.win32.js.flow +8 -0
  145. package/jest/mock.js +2 -2
  146. package/jest/mockComponent.js +1 -1
  147. package/jest/setup.js +1 -1
  148. package/overrides.json +23 -23
  149. package/package.json +19 -18
  150. package/src/private/animated/NativeAnimatedHelper.js +130 -125
  151. package/src/private/animated/NativeAnimatedHelper.win32.js +130 -125
  152. package/src/private/animated/NativeAnimatedValidation.js +7 -4
  153. package/src/private/animated/createAnimatedPropsHook.js +13 -5
  154. package/src/private/animated/createAnimatedPropsMemoHook.js +10 -10
  155. package/src/private/components/virtualview/VirtualView.js +16 -9
  156. package/src/private/components/virtualview/logger/VirtualViewLogger.js +21 -0
  157. package/src/private/components/virtualview/logger/VirtualViewLoggerTypes.js +24 -0
  158. package/src/private/devsupport/devmenu/elementinspector/ElementProperties.js +1 -1
  159. package/src/private/devsupport/devmenu/elementinspector/Inspector.js +6 -25
  160. package/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js +1 -27
  161. package/src/private/devsupport/devmenu/elementinspector/XHRInterceptor.js +3 -2
  162. package/src/private/featureflags/ReactNativeFeatureFlags.js +63 -42
  163. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +3 -3
  164. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +12 -9
  165. package/src/private/renderer/errorhandling/ErrorHandlers.js +7 -4
  166. package/src/private/specs_DEPRECATED/modules/NativeAccessibilityManager.js +1 -1
  167. package/src/private/specs_DEPRECATED/modules/NativeAnimatedModule.js +4 -0
  168. package/src/private/specs_DEPRECATED/modules/NativeDevLoadingView.js +1 -0
  169. package/src/private/webapis/dom/events/CustomEvent.js +3 -3
  170. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentElementInstanceHandle.js +1 -1
  171. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +1 -1
  172. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +29 -29
  173. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +1 -1
  174. package/src/private/webapis/dom/oldstylecollections/NodeList.js +2 -2
  175. package/src/private/webapis/geometry/DOMRectReadOnly.js +1 -1
  176. package/src/private/webapis/html/events/MessageEvent.js +3 -3
  177. package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +3 -3
  178. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +53 -5
  179. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +2 -2
  180. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +4 -4
  181. package/src/private/webapis/microtasks/specs/NativeMicrotasks.js +1 -1
  182. package/src/private/webapis/mutationobserver/MutationObserver.js +1 -1
  183. package/src/private/webapis/mutationobserver/MutationRecord.js +1 -1
  184. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +4 -4
  185. package/src/private/webapis/performance/Performance.js +1 -1
  186. package/src/private/webapis/performance/UserTiming.js +1 -1
  187. package/src/private/webapis/performance/specs/NativePerformance.js +3 -3
  188. package/src/private/webapis/structuredClone/structuredClone.js +3 -3
  189. package/src/types/globals.d.ts +30 -1
  190. package/src-win/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +6 -0
  191. package/src-win/index.win32.js.flow +8 -0
  192. package/src/private/devsupport/devmenu/elementinspector/NetworkOverlay.js +0 -628
  193. package/src/private/devsupport/devmenu/perfmonitor/PerformanceOverlay.js +0 -66
@@ -52,25 +52,25 @@ export interface Spec extends TurboModule {
52
52
  */
53
53
 
54
54
  +compareDocumentPosition: (
55
- nativeNodeReference: mixed /* NativeNodeReference */,
56
- otherNativeNodeReference: mixed /* NativeNodeReference */,
55
+ nativeNodeReference: unknown /* NativeNodeReference */,
56
+ otherNativeNodeReference: unknown /* NativeNodeReference */,
57
57
  ) => number;
58
58
 
59
59
  +getChildNodes: (
60
- nativeNodeReference: mixed /* NativeNodeReference */,
61
- ) => $ReadOnlyArray<mixed> /* $ReadOnlyArray<InstanceHandle> */;
60
+ nativeNodeReference: unknown /* NativeNodeReference */,
61
+ ) => $ReadOnlyArray<unknown> /* $ReadOnlyArray<InstanceHandle> */;
62
62
 
63
63
  +getElementById?: (
64
- nativeNodeReference: mixed /* NativeNodeReference */,
64
+ nativeNodeReference: unknown /* NativeNodeReference */,
65
65
  id: string,
66
- ) => mixed /* ?InstanceHandle */;
66
+ ) => unknown /* ?InstanceHandle */;
67
67
 
68
68
  +getParentNode: (
69
- nativeNodeReference: mixed /* NativeNodeReference */,
70
- ) => mixed /* ?InstanceHandle */;
69
+ nativeNodeReference: unknown /* NativeNodeReference */,
70
+ ) => unknown /* ?InstanceHandle */;
71
71
 
72
72
  +isConnected: (
73
- nativeNodeReference: mixed /* NativeNodeReference */,
73
+ nativeNodeReference: unknown /* NativeNodeReference */,
74
74
  ) => boolean;
75
75
 
76
76
  /*
@@ -78,46 +78,46 @@ export interface Spec extends TurboModule {
78
78
  */
79
79
 
80
80
  +getBorderWidth: (
81
- nativeElementReference: mixed /* NativeElementReference */,
81
+ nativeElementReference: unknown /* NativeElementReference */,
82
82
  ) => $ReadOnlyArray<number> /* [topWidth: number, rightWidth: number, bottomWidth: number, leftWidth: number] */;
83
83
 
84
84
  +getBoundingClientRect: (
85
- nativeElementReference: mixed /* NativeElementReference */,
85
+ nativeElementReference: unknown /* NativeElementReference */,
86
86
  includeTransform: boolean,
87
87
  ) => $ReadOnlyArray<number> /* [x: number, y: number, width: number, height: number] */;
88
88
 
89
89
  +getInnerSize: (
90
- nativeElementReference: mixed /* NativeElementReference */,
90
+ nativeElementReference: unknown /* NativeElementReference */,
91
91
  ) => $ReadOnlyArray<number> /* [width: number, height: number] */;
92
92
 
93
93
  +getScrollPosition: (
94
- nativeElementReference: mixed /* NativeElementReference */,
94
+ nativeElementReference: unknown /* NativeElementReference */,
95
95
  ) => $ReadOnlyArray<number> /* [scrollLeft: number, scrollTop: number] */;
96
96
 
97
97
  +getScrollSize: (
98
- nativeElementReference: mixed /* NativeElementReference */,
98
+ nativeElementReference: unknown /* NativeElementReference */,
99
99
  ) => $ReadOnlyArray<number> /* [scrollWidth: number, scrollHeight: number] */;
100
100
 
101
101
  +getTagName: (
102
- nativeElementReference: mixed /* NativeElementReference */,
102
+ nativeElementReference: unknown /* NativeElementReference */,
103
103
  ) => string;
104
104
 
105
105
  +getTextContent: (
106
- nativeElementReference: mixed /* NativeElementReference */,
106
+ nativeElementReference: unknown /* NativeElementReference */,
107
107
  ) => string;
108
108
 
109
109
  +hasPointerCapture: (
110
- nativeElementReference: mixed /* NativeElementReference */,
110
+ nativeElementReference: unknown /* NativeElementReference */,
111
111
  pointerId: number,
112
112
  ) => boolean;
113
113
 
114
114
  +releasePointerCapture: (
115
- nativeElementReference: mixed /* NativeElementReference */,
115
+ nativeElementReference: unknown /* NativeElementReference */,
116
116
  pointerId: number,
117
117
  ) => void;
118
118
 
119
119
  +setPointerCapture: (
120
- nativeElementReference: mixed /* NativeElementReference */,
120
+ nativeElementReference: unknown /* NativeElementReference */,
121
121
  pointerId: number,
122
122
  ) => void;
123
123
 
@@ -126,8 +126,8 @@ export interface Spec extends TurboModule {
126
126
  */
127
127
 
128
128
  +getOffset: (
129
- nativeElementReference: mixed /* NativeElementReference */,
130
- ) => $ReadOnlyArray<mixed> /* [offsetParent: ?InstanceHandle, top: number, left: number] */;
129
+ nativeElementReference: unknown /* NativeElementReference */,
130
+ ) => $ReadOnlyArray<unknown> /* [offsetParent: ?InstanceHandle, top: number, left: number] */;
131
131
 
132
132
  /*
133
133
  * Special methods to handle the root node.
@@ -135,26 +135,26 @@ export interface Spec extends TurboModule {
135
135
 
136
136
  +linkRootNode?: (
137
137
  rootTag: number /* RootTag */,
138
- instanceHandle: mixed /* InstanceHandle */,
139
- ) => mixed /* ?NativeElementReference */;
138
+ instanceHandle: unknown /* InstanceHandle */,
139
+ ) => unknown /* ?NativeElementReference */;
140
140
 
141
141
  /**
142
142
  * Legacy layout APIs (for `ReactNativeElement`).
143
143
  */
144
144
 
145
145
  +measure: (
146
- nativeElementReference: mixed,
146
+ nativeElementReference: unknown,
147
147
  callback: MeasureOnSuccessCallback,
148
148
  ) => void;
149
149
 
150
150
  +measureInWindow: (
151
- nativeElementReference: mixed,
151
+ nativeElementReference: unknown,
152
152
  callback: MeasureInWindowOnSuccessCallback,
153
153
  ) => void;
154
154
 
155
155
  +measureLayout: (
156
- nativeElementReference: mixed,
157
- relativeNode: mixed,
156
+ nativeElementReference: unknown,
157
+ relativeNode: unknown,
158
158
  onFail: () => void,
159
159
  onSuccess: MeasureLayoutOnSuccessCallback,
160
160
  ) => void;
@@ -164,8 +164,8 @@ export interface Spec extends TurboModule {
164
164
  */
165
165
 
166
166
  +setNativeProps: (
167
- nativeElementReference: mixed,
168
- updatePayload: mixed,
167
+ nativeElementReference: unknown,
168
+ updatePayload: unknown,
169
169
  ) => void;
170
170
  }
171
171
 
@@ -18,7 +18,7 @@ import {setPlatformObject} from '../../webidl/PlatformObjects';
18
18
  // IMPORTANT: The type definition for this module is defined in `HTMLCollection.js.flow`
19
19
  // because Flow only supports indexers in classes in declaration files.
20
20
 
21
- const REUSABLE_PROPERTY_DESCRIPTOR: {...PropertyDescriptor<mixed>, ...} = {
21
+ const REUSABLE_PROPERTY_DESCRIPTOR: {...PropertyDescriptor<unknown>, ...} = {
22
22
  value: {},
23
23
  enumerable: true,
24
24
  configurable: false,
@@ -22,7 +22,7 @@ import {setPlatformObject} from '../../webidl/PlatformObjects';
22
22
  // IMPORTANT: The Flow type definition for this module is defined in `NodeList.js.flow`
23
23
  // because Flow only supports indexers in classes in declaration files.
24
24
 
25
- const REUSABLE_PROPERTY_DESCRIPTOR: {...PropertyDescriptor<mixed>, ...} = {
25
+ const REUSABLE_PROPERTY_DESCRIPTOR: {...PropertyDescriptor<unknown>, ...} = {
26
26
  value: {},
27
27
  writable: false,
28
28
  };
@@ -66,7 +66,7 @@ export default class NodeList<T> implements Iterable<T>, ArrayLike<T> {
66
66
  }
67
67
 
68
68
  forEach<ThisType>(
69
- callbackFn: (value: T, index: number, array: NodeList<T>) => mixed,
69
+ callbackFn: (value: T, index: number, array: NodeList<T>) => unknown,
70
70
  thisArg?: ThisType,
71
71
  ): void {
72
72
  // assigning to the interface allows us to access the indexer property in a
@@ -25,7 +25,7 @@ export interface DOMRectInit {
25
25
  height?: ?number;
26
26
  }
27
27
 
28
- function castToNumber(value: mixed): number {
28
+ function castToNumber(value: unknown): number {
29
29
  return value ? Number(value) : 0;
30
30
  }
31
31
 
@@ -20,7 +20,7 @@ import type {EventInit} from '../../dom/events/Event';
20
20
  import Event from '../../dom/events/Event';
21
21
 
22
22
  export interface MessageEventInit extends EventInit {
23
- +data?: mixed;
23
+ +data?: unknown;
24
24
  +origin?: string;
25
25
  +lastEventId?: string;
26
26
  // Unsupported
@@ -30,7 +30,7 @@ export interface MessageEventInit extends EventInit {
30
30
  }
31
31
 
32
32
  export default class MessageEvent extends Event {
33
- _data: mixed;
33
+ _data: unknown;
34
34
  _origin: string;
35
35
  _lastEventId: string;
36
36
 
@@ -42,7 +42,7 @@ export default class MessageEvent extends Event {
42
42
  this._lastEventId = String(options?.lastEventId ?? '');
43
43
  }
44
44
 
45
- get data(): mixed {
45
+ get data(): unknown {
46
46
  return this._data;
47
47
  }
48
48
 
@@ -12,7 +12,7 @@ import type {TurboModule} from '../../../../../Libraries/TurboModule/RCTExport';
12
12
 
13
13
  import * as TurboModuleRegistry from '../../../../../Libraries/TurboModule/TurboModuleRegistry';
14
14
 
15
- export opaque type IdleCallbackID = mixed;
15
+ export opaque type IdleCallbackID = unknown;
16
16
 
17
17
  export type RequestIdleCallbackOptions = {
18
18
  timeout?: number,
@@ -20,12 +20,12 @@ export type RequestIdleCallbackOptions = {
20
20
 
21
21
  export type IdleDeadline = {
22
22
  didTimeout: boolean,
23
- timeRemaining: () => mixed,
23
+ timeRemaining: () => unknown,
24
24
  };
25
25
 
26
26
  export interface Spec extends TurboModule {
27
27
  +requestIdleCallback: (
28
- callback: (idleDeadline: IdleDeadline) => mixed,
28
+ callback: (idleDeadline: IdleDeadline) => unknown,
29
29
  options?: RequestIdleCallbackOptions,
30
30
  ) => IdleCallbackID;
31
31
  +cancelIdleCallback: (handle: IdleCallbackID) => void;
@@ -20,7 +20,7 @@ import * as IntersectionObserverManager from './internals/IntersectionObserverMa
20
20
  export type IntersectionObserverCallback = (
21
21
  entries: Array<IntersectionObserverEntry>,
22
22
  observer: IntersectionObserver,
23
- ) => mixed;
23
+ ) => unknown;
24
24
 
25
25
  export interface IntersectionObserverInit {
26
26
  root?: ?ReactNativeElement;
@@ -94,6 +94,24 @@ export default class IntersectionObserver {
94
94
  );
95
95
  }
96
96
 
97
+ if (options != null && 'delay' in options) {
98
+ throw new Error(
99
+ "Failed to construct 'IntersectionObserver': The 'delay' option is not supported.",
100
+ );
101
+ }
102
+
103
+ if (options != null && 'scrollMargin' in options) {
104
+ throw new Error(
105
+ "Failed to construct 'IntersectionObserver': The 'scrollMargin' option is not supported.",
106
+ );
107
+ }
108
+
109
+ if (options != null && 'trackVisibility' in options) {
110
+ throw new Error(
111
+ "Failed to construct 'IntersectionObserver': The 'trackVisibility' option is not supported.",
112
+ );
113
+ }
114
+
97
115
  this._callback = callback;
98
116
 
99
117
  this._rootThresholds = normalizeRootThreshold(options?.rnRootThreshold);
@@ -152,6 +170,36 @@ export default class IntersectionObserver {
152
170
  return this._rootThresholds;
153
171
  }
154
172
 
173
+ /**
174
+ * The `delay` option is not supported.
175
+ * @throws {Error} Always throws an error indicating this property is not supported.
176
+ */
177
+ get delay(): number {
178
+ throw new Error(
179
+ "Failed to read the 'delay' property from 'IntersectionObserver': This property is not supported.",
180
+ );
181
+ }
182
+
183
+ /**
184
+ * The `scrollMargin` option is not supported.
185
+ * @throws {Error} Always throws an error indicating this property is not supported.
186
+ */
187
+ get scrollMargin(): string {
188
+ throw new Error(
189
+ "Failed to read the 'scrollMargin' property from 'IntersectionObserver': This property is not supported.",
190
+ );
191
+ }
192
+
193
+ /**
194
+ * The `trackVisibility` option is not supported.
195
+ * @throws {Error} Always throws an error indicating this property is not supported.
196
+ */
197
+ get trackVisibility(): boolean {
198
+ throw new Error(
199
+ "Failed to read the 'trackVisibility' property from 'IntersectionObserver': This property is not supported.",
200
+ );
201
+ }
202
+
155
203
  /**
156
204
  * Adds an element to the set of target elements being watched by the
157
205
  * `IntersectionObserver`.
@@ -267,7 +315,7 @@ setPlatformObject(IntersectionObserver);
267
315
  * normalizeThresholds([], true); // → []
268
316
  */
269
317
  function normalizeThreshold(
270
- threshold: mixed,
318
+ threshold: unknown,
271
319
  defaultEmpty: boolean = false,
272
320
  ): $ReadOnlyArray<number> {
273
321
  if (Array.isArray(threshold)) {
@@ -305,7 +353,7 @@ function normalizeThreshold(
305
353
  * normalizeRootThresholds([null, null]); // → null
306
354
  */
307
355
  function normalizeRootThreshold(
308
- rootThreshold: mixed,
356
+ rootThreshold: unknown,
309
357
  ): null | $ReadOnlyArray<number> {
310
358
  if (Array.isArray(rootThreshold)) {
311
359
  const normalizedArr = rootThreshold
@@ -320,7 +368,7 @@ function normalizeRootThreshold(
320
368
  }
321
369
 
322
370
  function normalizeThresholdValue(
323
- threshold: mixed,
371
+ threshold: unknown,
324
372
  property: string,
325
373
  ): null | number {
326
374
  if (threshold == null) {
@@ -351,7 +399,7 @@ function normalizeThresholdValue(
351
399
  * Per W3C spec, rootMargin must be specified in pixels or percent.
352
400
  * This implementation validates the basic format.
353
401
  */
354
- function normalizeRootMargin(rootMargin: mixed): string {
402
+ function normalizeRootMargin(rootMargin: unknown): string {
355
403
  if (rootMargin == null || rootMargin === '') {
356
404
  return '0px 0px 0px 0px';
357
405
  }
@@ -53,7 +53,7 @@ const instanceHandleToTargetMap: WeakMap<interface {}, ReactNativeElement> =
53
53
  new WeakMap();
54
54
 
55
55
  function getTargetFromInstanceHandle(
56
- instanceHandle: mixed,
56
+ instanceHandle: unknown,
57
57
  ): ?ReactNativeElement {
58
58
  // $FlowExpectedError[incompatible-type] instanceHandle is typed as mixed but we know it's an object and we need it to be to use it as a key in a WeakMap.
59
59
  const key: interface {} = instanceHandle;
@@ -61,7 +61,7 @@ function getTargetFromInstanceHandle(
61
61
  }
62
62
 
63
63
  function setTargetForInstanceHandle(
64
- instanceHandle: mixed,
64
+ instanceHandle: unknown,
65
65
  target: ReactNativeElement,
66
66
  ): void {
67
67
  // $FlowExpectedError[incompatible-type] instanceHandle is typed as mixed but we know it's an object and we need it to be to use it as a key in a WeakMap.
@@ -14,7 +14,7 @@ import * as TurboModuleRegistry from '../../../../../Libraries/TurboModule/Turbo
14
14
 
15
15
  export type NativeIntersectionObserverEntry = {
16
16
  intersectionObserverId: number,
17
- targetInstanceHandle: mixed,
17
+ targetInstanceHandle: unknown,
18
18
  targetRect: $ReadOnlyArray<number>, // It's actually a tuple with x, y, width and height
19
19
  rootRect: $ReadOnlyArray<number>, // It's actually a tuple with x, y, width and height
20
20
  // TODO(T209328432) - Remove optionality of intersectionRect when native changes are released
@@ -25,14 +25,14 @@ export type NativeIntersectionObserverEntry = {
25
25
 
26
26
  export type NativeIntersectionObserverObserveOptions = {
27
27
  intersectionObserverId: number,
28
- rootShadowNode?: ?mixed,
29
- targetShadowNode: mixed,
28
+ rootShadowNode?: ?unknown,
29
+ targetShadowNode: unknown,
30
30
  thresholds: $ReadOnlyArray<number>,
31
31
  rootThresholds?: ?$ReadOnlyArray<number>,
32
32
  rootMargin?: ?string,
33
33
  };
34
34
 
35
- export opaque type NativeIntersectionObserverToken = mixed;
35
+ export opaque type NativeIntersectionObserverToken = unknown;
36
36
 
37
37
  export interface Spec extends TurboModule {
38
38
  +observeV2?: (
@@ -13,7 +13,7 @@ import type {TurboModule} from '../../../../../Libraries/TurboModule/RCTExport';
13
13
  import * as TurboModuleRegistry from '../../../../../Libraries/TurboModule/TurboModuleRegistry';
14
14
 
15
15
  export interface Spec extends TurboModule {
16
- +queueMicrotask: (callback: () => mixed) => void;
16
+ +queueMicrotask: (callback: () => unknown) => void;
17
17
  }
18
18
 
19
19
  export default (TurboModuleRegistry.getEnforcing<Spec>(
@@ -20,7 +20,7 @@ import * as MutationObserverManager from './internals/MutationObserverManager';
20
20
  export type MutationObserverCallback = (
21
21
  mutationRecords: $ReadOnlyArray<MutationRecord>,
22
22
  observer: MutationObserver,
23
- ) => mixed;
23
+ ) => unknown;
24
24
 
25
25
  export interface MutationObserverInit {
26
26
  +subtree?: boolean;
@@ -55,7 +55,7 @@ export default class MutationRecord {
55
55
  return null;
56
56
  }
57
57
 
58
- get oldValue(): mixed | null {
58
+ get oldValue(): unknown | null {
59
59
  return null;
60
60
  }
61
61
 
@@ -15,10 +15,10 @@ import * as TurboModuleRegistry from '../../../../../Libraries/TurboModule/Turbo
15
15
  export type MutationObserverId = number;
16
16
 
17
17
  // These types are not supported by the codegen.
18
- type ShadowNode = mixed;
19
- type InstanceHandle = mixed;
20
- type ReactNativeElement = mixed;
21
- type ReadOnlyNode = mixed;
18
+ type ShadowNode = unknown;
19
+ type InstanceHandle = unknown;
20
+ type ReactNativeElement = unknown;
21
+ type ReadOnlyNode = unknown;
22
22
 
23
23
  export type NativeMutationRecord = {
24
24
  mutationObserverId: MutationObserverId,
@@ -240,7 +240,7 @@ export default class Performance {
240
240
  let resolvedMeasureName: string;
241
241
  let resolvedStartTime: number;
242
242
  let resolvedDuration: number;
243
- let resolvedDetail: mixed;
243
+ let resolvedDetail: unknown;
244
244
 
245
245
  if (measureName === undefined) {
246
246
  throw new TypeError(
@@ -22,7 +22,7 @@ import {getCurrentTimeStamp} from './internals/Utilities';
22
22
  import {PerformanceEntry} from './PerformanceEntry';
23
23
 
24
24
  export type DetailType =
25
- | mixed
25
+ | unknown
26
26
  // This will effectively ignored by Flow (mixed | anything = mixed)
27
27
  // but we'll use it as documentation for how to use the extensibility API.
28
28
  | {devtools?: ExtensionMarkerPayload | ExtensionTrackEntryPayload, ...};
@@ -42,7 +42,7 @@ export type RawPerformanceEntry = {
42
42
  decodedBodySize?: number,
43
43
  };
44
44
 
45
- export opaque type OpaqueNativeObserverHandle = mixed;
45
+ export opaque type OpaqueNativeObserverHandle = unknown;
46
46
 
47
47
  export type NativeBatchedObserverCallback = () => void;
48
48
  export type NativePerformanceMarkResult = number;
@@ -59,12 +59,12 @@ export interface Spec extends TurboModule {
59
59
  +now: () => number;
60
60
  +timeOrigin?: () => number;
61
61
 
62
- +reportMark: (name: string, startTime: number, entry: mixed) => void;
62
+ +reportMark: (name: string, startTime: number, entry: unknown) => void;
63
63
  +reportMeasure: (
64
64
  name: string,
65
65
  startTime: number,
66
66
  duration: number,
67
- entry: mixed,
67
+ entry: unknown,
68
68
  ) => void;
69
69
  +getMarkTime: (name: string) => ?number;
70
70
  +clearMarks: (entryName?: string) => void;
@@ -33,7 +33,7 @@ const ObjectPrototype = Object.prototype;
33
33
  // and avoid allocating a new one in every call to `structuredClone`.
34
34
  // This is safe because we don't invoke user code in `structuredClone`, so at
35
35
  // any given point we only have one memory object alive anyway.
36
- const memory: Map<mixed, mixed> = new Map();
36
+ const memory: Map<unknown, unknown> = new Map();
37
37
 
38
38
  function structuredCloneInternal<T>(value: T): T {
39
39
  // Handles `null` and `undefined`.
@@ -105,7 +105,7 @@ function structuredCloneInternal<T>(value: T): T {
105
105
  }
106
106
 
107
107
  if (value instanceof Map) {
108
- const result = new Map<mixed, mixed>();
108
+ const result = new Map<unknown, unknown>();
109
109
  memory.set(value, result);
110
110
 
111
111
  for (const [innerKey, innerValue] of value) {
@@ -120,7 +120,7 @@ function structuredCloneInternal<T>(value: T): T {
120
120
  }
121
121
 
122
122
  if (value instanceof Set) {
123
- const result = new Set<mixed>();
123
+ const result = new Set<unknown>();
124
124
  memory.set(value, result);
125
125
 
126
126
  for (const innerValue of value) {
@@ -461,8 +461,18 @@ declare global {
461
461
  | 'text';
462
462
 
463
463
  interface URL {
464
- href: string;
464
+ readonly hash: string;
465
+ readonly host: string;
466
+ readonly hostname: string;
467
+ readonly href: string;
468
+ readonly origin: string;
469
+ readonly password: string;
470
+ readonly pathname: string;
471
+ readonly port: string;
472
+ readonly protocol: string;
473
+ search: string;
465
474
  readonly searchParams: URLSearchParams;
475
+ readonly username: string;
466
476
 
467
477
  toJSON(): string;
468
478
  toString(): string;
@@ -479,8 +489,27 @@ declare global {
479
489
  * Based on definitions of lib.dom and lib.dom.iterable
480
490
  */
481
491
  interface URLSearchParams {
492
+ /**
493
+ * Returns the number of search parameter entries.
494
+ */
495
+ readonly size: number;
496
+
482
497
  append(key: string, value: string): void;
498
+ delete(name: string): void;
499
+ get(name: string): string | null;
500
+ getAll(name: string): string[];
501
+ has(name: string): boolean;
502
+ set(name: string, value: string): void;
503
+ sort(): void;
483
504
  toString(): string;
505
+ forEach(
506
+ callbackfn: (value: string, key: string, parent: URLSearchParams) => void,
507
+ thisArg?: any,
508
+ ): void;
509
+
510
+ keys(): IterableIterator<string>;
511
+ values(): IterableIterator<string>;
512
+ entries(): IterableIterator<[string, string]>;
484
513
 
485
514
  [Symbol.iterator](): IterableIterator<[string, string]>;
486
515
  }
@@ -150,12 +150,18 @@ export interface AccessibilityInfoStatic {
150
150
  * - `announcement`: The string announced by the screen reader.
151
151
  * - `options`: An object that configures the reading options.
152
152
  * - `queue`: The announcement will be queued behind existing announcements. iOS only.
153
+ * - `priority`: The priority of the announcement. Possible values: 'low' | 'default' | 'high'.
154
+ * High priority announcements will interrupt any ongoing speech and cannot be interrupted.
155
+ * Default priority announcements will interrupt any ongoing speech but can be interrupted.
156
+ * Low priority announcements will not interrupt ongoing speech and can be interrupted.
157
+ * (iOS only).
153
158
  * - `nativeID`: The nativeID of the element to send the announcement from. win32 only.
154
159
  */
155
160
  announceForAccessibilityWithOptions(
156
161
  announcement: string,
157
162
  options: {
158
163
  queue?: boolean | undefined;
164
+ priority?: 'low' | 'default' | 'high' | undefined;
159
165
  nativeID?: string | undefined; // win32
160
166
  },
161
167
  ): void;
@@ -412,6 +412,11 @@ export * as TurboModuleRegistry from './Libraries/TurboModule/TurboModuleRegistr
412
412
  export {default as UIManager} from './Libraries/ReactNative/UIManager';
413
413
  export {unstable_batchedUpdates} from './Libraries/ReactNative/RendererProxy';
414
414
  export {default as useAnimatedValue} from './Libraries/Animated/useAnimatedValue';
415
+ export type {
416
+ PressabilityConfig,
417
+ EventHandlers as PressabilityEventHandlers,
418
+ } from './Libraries/Pressability/Pressability';
419
+ export {default as usePressability} from './Libraries/Pressability/usePressability';
415
420
  export {default as useColorScheme} from './Libraries/Utilities/useColorScheme';
416
421
  export {default as useWindowDimensions} from './Libraries/Utilities/useWindowDimensions';
417
422
  export {default as UTFSequence} from './Libraries/UTFSequence';
@@ -424,6 +429,9 @@ export type {
424
429
  BlurEvent,
425
430
  FocusEvent,
426
431
  GestureResponderEvent,
432
+ KeyDownEvent,
433
+ KeyEvent,
434
+ KeyUpEvent,
427
435
  LayoutChangeEvent,
428
436
  LayoutRectangle,
429
437
  MouseEvent,