@office-iss/react-native-win32 0.0.0-canary.290 → 0.0.0-canary.292

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 (128) hide show
  1. package/.flowconfig +1 -1
  2. package/CHANGELOG.json +31 -1
  3. package/CHANGELOG.md +20 -4
  4. package/Libraries/Alert/RCTAlertManager.js +17 -0
  5. package/Libraries/Animated/AnimatedEvent.js +4 -3
  6. package/Libraries/Animated/AnimatedExports.js.flow +2 -0
  7. package/Libraries/Animated/AnimatedImplementation.js +2 -2
  8. package/Libraries/Animated/components/AnimatedScrollView.js +48 -43
  9. package/Libraries/Animated/nodes/AnimatedValue.js +2 -1
  10. package/Libraries/BatchedBridge/MessageQueue.js +2 -2
  11. package/Libraries/Blob/FileReader.js +219 -8
  12. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.js +17 -0
  13. package/Libraries/Components/Button.js +1 -1
  14. package/Libraries/Components/Button.win32.js +1 -1
  15. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +1 -3
  16. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.ios.js +15 -0
  17. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +6 -66
  18. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js.flow +18 -0
  19. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidFallback.js +71 -0
  20. package/Libraries/Components/Keyboard/Keyboard.js +4 -2
  21. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +6 -3
  22. package/Libraries/Components/Pressable/Pressable.js +2 -0
  23. package/Libraries/Components/Pressable/Pressable.win32.js +2 -0
  24. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +12 -2
  25. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
  26. package/Libraries/Components/ScrollView/ScrollView.js +128 -116
  27. package/Libraries/Components/StaticRenderer.js +1 -1
  28. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +1 -1
  29. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +1 -4
  30. package/Libraries/Components/TextInput/TextInput.flow.js +35 -43
  31. package/Libraries/Components/TextInput/TextInput.flow.win32.js +1184 -0
  32. package/Libraries/Components/TextInput/TextInput.js +65 -1005
  33. package/Libraries/Components/TextInput/TextInput.win32.js +67 -1037
  34. package/Libraries/Components/ToastAndroid/ToastAndroid.ios.js +13 -0
  35. package/Libraries/Components/ToastAndroid/ToastAndroid.js +4 -32
  36. package/Libraries/Components/ToastAndroid/ToastAndroid.js.flow +109 -0
  37. package/Libraries/Components/ToastAndroid/ToastAndroid.win32.js +4 -32
  38. package/Libraries/Components/ToastAndroid/ToastAndroidFallback.js +45 -0
  39. package/Libraries/Components/Touchable/Touchable.js +5 -5
  40. package/Libraries/Components/Touchable/Touchable.win32.js +5 -5
  41. package/Libraries/Components/Touchable/TouchableBounce.js +12 -6
  42. package/Libraries/Components/Touchable/TouchableHighlight.js +9 -6
  43. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +4 -4
  44. package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js +4 -4
  45. package/Libraries/Components/Touchable/TouchableOpacity.js +11 -5
  46. package/Libraries/Components/View/ViewAccessibility.js +7 -0
  47. package/Libraries/Components/View/ViewAccessibility.win32.js +7 -0
  48. package/Libraries/Components/View/ViewPropTypes.js +1 -1
  49. package/Libraries/Components/View/ViewPropTypes.win32.js +1 -1
  50. package/Libraries/Core/ReactNativeVersion.js +1 -1
  51. package/Libraries/EventEmitter/NativeEventEmitter.js +4 -1
  52. package/Libraries/Image/Image.js +17 -0
  53. package/Libraries/Image/Image.js.flow +2 -2
  54. package/Libraries/Image/ImageInjection.js +1 -1
  55. package/Libraries/Image/ImageProps.js +5 -4
  56. package/Libraries/Image/ImageTypes.flow.js +1 -1
  57. package/Libraries/Lists/FlatList.js +1 -1
  58. package/Libraries/Lists/SectionList.js +1 -1
  59. package/Libraries/Lists/SectionListModern.js +2 -1
  60. package/Libraries/LogBox/LogBoxNotificationContainer.js +1 -1
  61. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.win32.js +140 -0
  62. package/Libraries/Modal/Modal.js +3 -3
  63. package/Libraries/NativeComponent/BaseViewConfig.js +17 -0
  64. package/Libraries/NativeComponent/PlatformBaseViewConfig.js +2 -2
  65. package/Libraries/Network/RCTNetworking.js +17 -0
  66. package/Libraries/Network/XMLHttpRequest.js +781 -10
  67. package/Libraries/NewAppScreen/components/DebugInstructions.js +1 -1
  68. package/Libraries/NewAppScreen/components/Header.js +1 -1
  69. package/Libraries/NewAppScreen/components/HermesBadge.js +1 -1
  70. package/Libraries/NewAppScreen/components/LearnMoreLinks.js +3 -3
  71. package/Libraries/NewAppScreen/components/ReloadInstructions.js +1 -1
  72. package/Libraries/Performance/Systrace.js +7 -7
  73. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +2 -2
  74. package/Libraries/Settings/Settings.js +13 -19
  75. package/Libraries/Settings/Settings.win32.js +19 -20
  76. package/Libraries/Settings/SettingsFallback.js +33 -0
  77. package/Libraries/StyleSheet/PlatformColorValueTypes.js +15 -0
  78. package/Libraries/StyleSheet/Rect.js +1 -0
  79. package/Libraries/StyleSheet/StyleSheet.js.flow +3 -3
  80. package/Libraries/StyleSheet/StyleSheetTypes.js +28 -30
  81. package/Libraries/StyleSheet/flattenStyle.js +7 -1
  82. package/Libraries/Text/Text.js +3 -3
  83. package/Libraries/Text/Text.win32.js +3 -3
  84. package/Libraries/Text/TextProps.js +1 -1
  85. package/Libraries/Text/TextProps.win32.js +1 -1
  86. package/Libraries/Utilities/Appearance.js +2 -0
  87. package/Libraries/Utilities/BackHandler.js +17 -0
  88. package/Libraries/Utilities/Platform.js +17 -0
  89. package/Libraries/Utilities/PlatformTypes.js +2 -0
  90. package/Libraries/Utilities/ReactNativeTestTools.js +1 -1
  91. package/Libraries/WebSocket/WebSocket.js +313 -8
  92. package/flow/global.js +0 -2
  93. package/index.win32.js +5 -5
  94. package/overrides.json +29 -17
  95. package/package.json +12 -12
  96. package/src/private/animated/NativeAnimatedHelper.js +1 -1
  97. package/src/private/animated/NativeAnimatedHelper.win32.js +1 -1
  98. package/src/private/animated/createAnimatedPropsHook.js +2 -27
  99. package/src/private/components/{SafeAreaView_INTERNAL_DO_NOT_USE.js → safeareaview/SafeAreaView_INTERNAL_DO_NOT_USE.js} +6 -6
  100. package/src/private/components/{HScrollViewNativeComponents.js → scrollview/HScrollViewNativeComponents.js} +8 -8
  101. package/src/private/components/scrollview/VScrollViewNativeComponents.js +25 -0
  102. package/src/private/featureflags/ReactNativeFeatureFlags.js +21 -32
  103. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +5 -6
  104. package/src/private/inspector/BorderBox.js +1 -1
  105. package/src/private/inspector/BoxInspector.js +1 -1
  106. package/src/private/inspector/ElementBox.js +1 -1
  107. package/src/private/inspector/ElementProperties.js +1 -1
  108. package/src/private/inspector/Inspector.js +2 -2
  109. package/src/private/inspector/InspectorOverlay.js +1 -1
  110. package/src/private/inspector/InspectorPanel.js +1 -1
  111. package/src/private/inspector/NetworkOverlay.js +1 -1
  112. package/src/private/inspector/PerformanceOverlay.js +1 -1
  113. package/src/private/inspector/StyleInspector.js +1 -1
  114. package/src/private/types/HostComponent.js +1 -1
  115. package/src/private/types/HostInstance.js +10 -2
  116. package/src/private/webapis/performance/Performance.js +1 -3
  117. package/Libraries/Blob/FileReader_new.js +0 -231
  118. package/Libraries/Blob/FileReader_old.js +0 -186
  119. package/Libraries/Events/CustomEvent.js +0 -32
  120. package/Libraries/Events/EventPolyfill.js +0 -239
  121. package/Libraries/Network/XMLHttpRequest_new.js +0 -794
  122. package/Libraries/Network/XMLHttpRequest_old.js +0 -701
  123. package/Libraries/WebSocket/WebSocketEvent.js +0 -30
  124. package/Libraries/WebSocket/WebSocket_new.js +0 -325
  125. package/Libraries/WebSocket/WebSocket_old.js +0 -297
  126. package/Libraries/WebSocket/__mocks__/event-target-shim.js +0 -27
  127. package/src/private/components/VScrollViewNativeComponents.js +0 -25
  128. package/src/types/third_party/event-target-shim.d.ts +0 -392
@@ -8,13 +8,318 @@
8
8
  * @flow
9
9
  */
10
10
 
11
- import typeof WebSocket from './WebSocket_old';
11
+ import type {EventCallback} from '../../src/private/webapis/dom/events/EventTarget';
12
+ import type {BlobData} from '../Blob/BlobTypes';
13
+ import type {EventSubscription} from '../vendor/emitter/EventEmitter';
12
14
 
13
- // Use a global instead of a flag from ReactNativeFeatureFlags because this will
14
- // be read before apps have a chance to set overrides.
15
- const useBuiltInEventTarget = global.RN$useBuiltInEventTarget?.();
15
+ import Event from '../../src/private/webapis/dom/events/Event';
16
+ import {
17
+ getEventHandlerAttribute,
18
+ setEventHandlerAttribute,
19
+ } from '../../src/private/webapis/dom/events/EventHandlerAttributes';
20
+ import EventTarget from '../../src/private/webapis/dom/events/EventTarget';
21
+ import MessageEvent from '../../src/private/webapis/html/events/MessageEvent';
22
+ import CloseEvent from '../../src/private/webapis/websockets/events/CloseEvent';
23
+ import Blob from '../Blob/Blob';
24
+ import BlobManager from '../Blob/BlobManager';
25
+ import NativeEventEmitter from '../EventEmitter/NativeEventEmitter';
26
+ import binaryToBase64 from '../Utilities/binaryToBase64';
27
+ import Platform from '../Utilities/Platform';
28
+ import NativeWebSocketModule from './NativeWebSocketModule';
29
+ import base64 from 'base64-js';
30
+ import invariant from 'invariant';
16
31
 
17
- export default (useBuiltInEventTarget
18
- ? // $FlowExpectedError[incompatible-cast]
19
- require('./WebSocket_new').default
20
- : require('./WebSocket_old').default) as WebSocket;
32
+ type ArrayBufferView =
33
+ | Int8Array
34
+ | Uint8Array
35
+ | Uint8ClampedArray
36
+ | Int16Array
37
+ | Uint16Array
38
+ | Int32Array
39
+ | Uint32Array
40
+ | Float32Array
41
+ | Float64Array
42
+ | DataView;
43
+
44
+ type BinaryType = 'blob' | 'arraybuffer';
45
+
46
+ const CONNECTING = 0;
47
+ const OPEN = 1;
48
+ const CLOSING = 2;
49
+ const CLOSED = 3;
50
+
51
+ const CLOSE_NORMAL = 1000;
52
+
53
+ // Abnormal closure where no code is provided in a control frame
54
+ // https://www.rfc-editor.org/rfc/rfc6455.html#section-7.1.5
55
+ const CLOSE_ABNORMAL = 1006;
56
+
57
+ let nextWebSocketId = 0;
58
+
59
+ type WebSocketEventDefinitions = {
60
+ websocketOpen: [{id: number, protocol: string}],
61
+ websocketClosed: [{id: number, code: number, reason: string}],
62
+ websocketMessage: [
63
+ | {type: 'binary', id: number, data: string}
64
+ | {type: 'text', id: number, data: string}
65
+ | {type: 'blob', id: number, data: BlobData},
66
+ ],
67
+ websocketFailed: [{id: number, message: string}],
68
+ };
69
+
70
+ /**
71
+ * Browser-compatible WebSockets implementation.
72
+ *
73
+ * See https://developer.mozilla.org/en-US/docs/Web/API/WebSocket
74
+ * See https://github.com/websockets/ws
75
+ */
76
+ class WebSocket extends EventTarget {
77
+ static CONNECTING: number = CONNECTING;
78
+ static OPEN: number = OPEN;
79
+ static CLOSING: number = CLOSING;
80
+ static CLOSED: number = CLOSED;
81
+
82
+ CONNECTING: number = CONNECTING;
83
+ OPEN: number = OPEN;
84
+ CLOSING: number = CLOSING;
85
+ CLOSED: number = CLOSED;
86
+
87
+ _socketId: number;
88
+ _eventEmitter: NativeEventEmitter<WebSocketEventDefinitions>;
89
+ _subscriptions: Array<EventSubscription>;
90
+ _binaryType: ?BinaryType;
91
+
92
+ bufferedAmount: number;
93
+ extension: ?string;
94
+ protocol: ?string;
95
+ readyState: number = CONNECTING;
96
+ url: ?string;
97
+
98
+ constructor(
99
+ url: string,
100
+ protocols: ?string | ?Array<string>,
101
+ options: ?{headers?: {origin?: string, ...}, ...},
102
+ ) {
103
+ super();
104
+ this.url = url;
105
+ if (typeof protocols === 'string') {
106
+ protocols = [protocols];
107
+ }
108
+
109
+ const {headers = {}, ...unrecognized} = options || {};
110
+
111
+ // Preserve deprecated backwards compatibility for the 'origin' option
112
+ // $FlowFixMe[prop-missing]
113
+ if (unrecognized && typeof unrecognized.origin === 'string') {
114
+ console.warn(
115
+ 'Specifying `origin` as a WebSocket connection option is deprecated. Include it under `headers` instead.',
116
+ );
117
+ /* $FlowFixMe[prop-missing] (>=0.54.0 site=react_native_fb,react_native_
118
+ * oss) This comment suppresses an error found when Flow v0.54 was
119
+ * deployed. To see the error delete this comment and run Flow. */
120
+ headers.origin = unrecognized.origin;
121
+ /* $FlowFixMe[prop-missing] (>=0.54.0 site=react_native_fb,react_native_
122
+ * oss) This comment suppresses an error found when Flow v0.54 was
123
+ * deployed. To see the error delete this comment and run Flow. */
124
+ delete unrecognized.origin;
125
+ }
126
+
127
+ // Warn about and discard anything else
128
+ if (Object.keys(unrecognized).length > 0) {
129
+ console.warn(
130
+ 'Unrecognized WebSocket connection option(s) `' +
131
+ Object.keys(unrecognized).join('`, `') +
132
+ '`. ' +
133
+ 'Did you mean to put these under `headers`?',
134
+ );
135
+ }
136
+
137
+ if (!Array.isArray(protocols)) {
138
+ protocols = null;
139
+ }
140
+
141
+ this._eventEmitter = new NativeEventEmitter(
142
+ // T88715063: NativeEventEmitter only used this parameter on iOS. Now it uses it on all platforms, so this code was modified automatically to preserve its behavior
143
+ // If you want to use the native module on other platforms, please remove this condition and test its behavior
144
+ Platform.OS !== 'ios' ? null : NativeWebSocketModule,
145
+ );
146
+ this._socketId = nextWebSocketId++;
147
+ this._registerEvents();
148
+ NativeWebSocketModule.connect(url, protocols, {headers}, this._socketId);
149
+ }
150
+
151
+ get binaryType(): ?BinaryType {
152
+ return this._binaryType;
153
+ }
154
+
155
+ set binaryType(binaryType: BinaryType): void {
156
+ if (binaryType !== 'blob' && binaryType !== 'arraybuffer') {
157
+ throw new Error("binaryType must be either 'blob' or 'arraybuffer'");
158
+ }
159
+ if (this._binaryType === 'blob' || binaryType === 'blob') {
160
+ invariant(
161
+ BlobManager.isAvailable,
162
+ 'Native module BlobModule is required for blob support',
163
+ );
164
+ if (binaryType === 'blob') {
165
+ BlobManager.addWebSocketHandler(this._socketId);
166
+ } else {
167
+ BlobManager.removeWebSocketHandler(this._socketId);
168
+ }
169
+ }
170
+ this._binaryType = binaryType;
171
+ }
172
+
173
+ close(code?: number, reason?: string): void {
174
+ if (this.readyState === this.CLOSING || this.readyState === this.CLOSED) {
175
+ return;
176
+ }
177
+
178
+ this.readyState = this.CLOSING;
179
+ this._close(code, reason);
180
+ }
181
+
182
+ send(data: string | ArrayBuffer | ArrayBufferView | Blob): void {
183
+ if (this.readyState === this.CONNECTING) {
184
+ throw new Error('INVALID_STATE_ERR');
185
+ }
186
+
187
+ if (data instanceof Blob) {
188
+ invariant(
189
+ BlobManager.isAvailable,
190
+ 'Native module BlobModule is required for blob support',
191
+ );
192
+ BlobManager.sendOverSocket(data, this._socketId);
193
+ return;
194
+ }
195
+
196
+ if (typeof data === 'string') {
197
+ NativeWebSocketModule.send(data, this._socketId);
198
+ return;
199
+ }
200
+
201
+ if (data instanceof ArrayBuffer || ArrayBuffer.isView(data)) {
202
+ NativeWebSocketModule.sendBinary(binaryToBase64(data), this._socketId);
203
+ return;
204
+ }
205
+
206
+ throw new Error('Unsupported data type');
207
+ }
208
+
209
+ ping(): void {
210
+ if (this.readyState === this.CONNECTING) {
211
+ throw new Error('INVALID_STATE_ERR');
212
+ }
213
+
214
+ NativeWebSocketModule.ping(this._socketId);
215
+ }
216
+
217
+ _close(code?: number, reason?: string): void {
218
+ // See https://developer.mozilla.org/en-US/docs/Web/API/CloseEvent
219
+ const statusCode = typeof code === 'number' ? code : CLOSE_NORMAL;
220
+ const closeReason = typeof reason === 'string' ? reason : '';
221
+ NativeWebSocketModule.close(statusCode, closeReason, this._socketId);
222
+
223
+ if (BlobManager.isAvailable && this._binaryType === 'blob') {
224
+ BlobManager.removeWebSocketHandler(this._socketId);
225
+ }
226
+ }
227
+
228
+ _unregisterEvents(): void {
229
+ this._subscriptions.forEach(e => e.remove());
230
+ this._subscriptions = [];
231
+ }
232
+
233
+ _registerEvents(): void {
234
+ this._subscriptions = [
235
+ this._eventEmitter.addListener('websocketMessage', ev => {
236
+ if (ev.id !== this._socketId) {
237
+ return;
238
+ }
239
+ let data: Blob | BlobData | ArrayBuffer | string = ev.data;
240
+ switch (ev.type) {
241
+ case 'binary':
242
+ data = base64.toByteArray(ev.data).buffer;
243
+ break;
244
+ case 'blob':
245
+ data = BlobManager.createFromOptions(ev.data);
246
+ break;
247
+ }
248
+ this.dispatchEvent(new MessageEvent('message', {data}));
249
+ }),
250
+ this._eventEmitter.addListener('websocketOpen', ev => {
251
+ if (ev.id !== this._socketId) {
252
+ return;
253
+ }
254
+ this.readyState = this.OPEN;
255
+ this.protocol = ev.protocol;
256
+ this.dispatchEvent(new Event('open'));
257
+ }),
258
+ this._eventEmitter.addListener('websocketClosed', ev => {
259
+ if (ev.id !== this._socketId) {
260
+ return;
261
+ }
262
+ this.readyState = this.CLOSED;
263
+ this.dispatchEvent(
264
+ new CloseEvent('close', {
265
+ code: ev.code,
266
+ reason: ev.reason,
267
+ // TODO: missing `wasClean` (exposed on iOS as `clean` but missing on Android)
268
+ }),
269
+ );
270
+ this._unregisterEvents();
271
+ this.close();
272
+ }),
273
+ this._eventEmitter.addListener('websocketFailed', ev => {
274
+ if (ev.id !== this._socketId) {
275
+ return;
276
+ }
277
+ this.readyState = this.CLOSED;
278
+ this.dispatchEvent(new Event('error'));
279
+ this.dispatchEvent(
280
+ new CloseEvent('close', {
281
+ code: CLOSE_ABNORMAL,
282
+ reason: ev.message,
283
+ // TODO: Expose `wasClean`
284
+ }),
285
+ );
286
+ this._unregisterEvents();
287
+ this.close();
288
+ }),
289
+ ];
290
+ }
291
+
292
+ get onclose(): EventCallback | null {
293
+ return getEventHandlerAttribute(this, 'close');
294
+ }
295
+
296
+ set onclose(listener: ?EventCallback) {
297
+ setEventHandlerAttribute(this, 'close', listener);
298
+ }
299
+
300
+ get onerror(): EventCallback | null {
301
+ return getEventHandlerAttribute(this, 'error');
302
+ }
303
+
304
+ set onerror(listener: ?EventCallback) {
305
+ setEventHandlerAttribute(this, 'error', listener);
306
+ }
307
+
308
+ get onmessage(): EventCallback | null {
309
+ return getEventHandlerAttribute(this, 'message');
310
+ }
311
+
312
+ set onmessage(listener: ?EventCallback) {
313
+ setEventHandlerAttribute(this, 'message', listener);
314
+ }
315
+
316
+ get onopen(): EventCallback | null {
317
+ return getEventHandlerAttribute(this, 'open');
318
+ }
319
+
320
+ set onopen(listener: ?EventCallback) {
321
+ setEventHandlerAttribute(this, 'open', listener);
322
+ }
323
+ }
324
+
325
+ export default WebSocket;
package/flow/global.js CHANGED
@@ -86,5 +86,3 @@ declare var global: {
86
86
  // Undeclared properties are implicitly `any`.
87
87
  [string | symbol]: any,
88
88
  };
89
-
90
- type $PropertyType<T, K> = T[K];
package/index.win32.js CHANGED
@@ -26,6 +26,9 @@ import typeof FocusManager from './Libraries/Utilities/FocusManager';
26
26
  import typeof NativeModules from './Libraries/BatchedBridge/NativeModules';
27
27
  import typeof codegenNativeCommands from './Libraries/Utilities/codegenNativeCommands';
28
28
  import typeof codegenNativeComponent from './Libraries/Utilities/codegenNativeComponent';
29
+ import {findNodeHandle} from './Libraries/ReactNative/RendererProxy';
30
+ import {unstable_batchedUpdates} from './Libraries/ReactNative/RendererProxy';
31
+
29
32
  // Components
30
33
  import typeof AccessibilityInfo from './Libraries/Components/AccessibilityInfo/AccessibilityInfo';
31
34
  import typeof ActivityIndicator from './Libraries/Components/ActivityIndicator/ActivityIndicator';
@@ -283,7 +286,7 @@ module.exports = {
283
286
  get Easing(): Easing {
284
287
  return require('./Libraries/Animated/Easing').default;
285
288
  },
286
- get findNodeHandle(): $PropertyType<ReactNative, 'findNodeHandle'> {
289
+ get findNodeHandle(): typeof findNodeHandle {
287
290
  return require('./Libraries/ReactNative/RendererProxy').findNodeHandle;
288
291
  },
289
292
  get FocusManager(): FocusManager {
@@ -389,10 +392,7 @@ module.exports = {
389
392
  get UIManager(): UIManager {
390
393
  return require('./Libraries/ReactNative/UIManager').default;
391
394
  },
392
- get unstable_batchedUpdates(): $PropertyType<
393
- ReactNative,
394
- 'unstable_batchedUpdates',
395
- > {
395
+ get unstable_batchedUpdates(): typeof unstable_batchedUpdates {
396
396
  return require('./Libraries/ReactNative/RendererProxy')
397
397
  .unstable_batchedUpdates;
398
398
  },
package/overrides.json CHANGED
@@ -7,13 +7,13 @@
7
7
  "**/__snapshots__/**",
8
8
  "src-win/rntypes/**"
9
9
  ],
10
- "baseVersion": "0.80.0-nightly-20250331-398ac1f71",
10
+ "baseVersion": "0.80.0-nightly-20250414-70cdf12c4",
11
11
  "overrides": [
12
12
  {
13
13
  "type": "derived",
14
14
  "file": ".flowconfig",
15
15
  "baseFile": ".flowconfig",
16
- "baseHash": "5b774dab8f68093cccdd7609b16bde8546765414"
16
+ "baseHash": "635f6473853a94bd7de26e582a2a03c6869344ea"
17
17
  },
18
18
  {
19
19
  "type": "derived",
@@ -60,7 +60,7 @@
60
60
  "type": "derived",
61
61
  "file": "src-win/Libraries/Components/Button.win32.js",
62
62
  "baseFile": "packages/react-native/Libraries/Components/Button.js",
63
- "baseHash": "c61bda5775588b9dd85622f691b89e6b3e3a9fc8"
63
+ "baseHash": "4e77e13aa5774e813fbd874a13a920ea12e3ed91"
64
64
  },
65
65
  {
66
66
  "type": "platform",
@@ -74,7 +74,7 @@
74
74
  "type": "copy",
75
75
  "file": "src-win/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js",
76
76
  "baseFile": "packages/react-native/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js",
77
- "baseHash": "8909ad50924f46afa7cabb15cf9cf4ade7021a90",
77
+ "baseHash": "fe92a96a2bfd0e92b99b2803ce133c7a3cf2b022",
78
78
  "issue": 14290
79
79
  },
80
80
  {
@@ -85,14 +85,14 @@
85
85
  "type": "patch",
86
86
  "file": "src-win/Libraries/Components/Pressable/Pressable.win32.js",
87
87
  "baseFile": "packages/react-native/Libraries/Components/Pressable/Pressable.js",
88
- "baseHash": "09575f26ef614b81330d27d6cb950580774e3c1f",
88
+ "baseHash": "47e088807b206707cec6b17359c4d3017e61aaea",
89
89
  "issue": 6240
90
90
  },
91
91
  {
92
92
  "type": "patch",
93
93
  "file": "src-win/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js",
94
94
  "baseFile": "packages/react-native/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js",
95
- "baseHash": "454f8b04bd6203c70b48aa6ec26e1c05dee42124"
95
+ "baseHash": "c96925930d9664306a8aef8b4102c43055ea03be"
96
96
  },
97
97
  {
98
98
  "type": "copy",
@@ -104,11 +104,17 @@
104
104
  "type": "platform",
105
105
  "file": "src-win/Libraries/Components/TextInput/Tests/TextInputTest.tsx"
106
106
  },
107
+ {
108
+ "type": "derived",
109
+ "file": "src-win/Libraries/Components/TextInput/TextInput.flow.win32.js",
110
+ "baseFile": "packages/react-native/Libraries/Components/TextInput/TextInput.flow.js",
111
+ "baseHash": "de4c9224bac0ba920b41573b8d3c27b332a843de"
112
+ },
107
113
  {
108
114
  "type": "derived",
109
115
  "file": "src-win/Libraries/Components/TextInput/TextInput.win32.js",
110
116
  "baseFile": "packages/react-native/Libraries/Components/TextInput/TextInput.js",
111
- "baseHash": "b4e722883e25dfa4864a1285b577c5adfc90ce9d"
117
+ "baseHash": "32d0f756ca2cbd454a5c2d8aa18f3b1ea1d20557"
112
118
  },
113
119
  {
114
120
  "type": "patch",
@@ -124,7 +130,7 @@
124
130
  "type": "copy",
125
131
  "file": "src-win/Libraries/Components/ToastAndroid/ToastAndroid.win32.js",
126
132
  "baseFile": "packages/react-native/Libraries/Components/ToastAndroid/ToastAndroid.js",
127
- "baseHash": "4948464c2ad124338c1ce6ac68b6b2f01af28876",
133
+ "baseHash": "a623c5a09b665a36e84e7fc943bd619c8ca3cc14",
128
134
  "issue": 4378
129
135
  },
130
136
  {
@@ -135,7 +141,7 @@
135
141
  "type": "patch",
136
142
  "file": "src-win/Libraries/Components/Touchable/Touchable.win32.js",
137
143
  "baseFile": "packages/react-native/Libraries/Components/Touchable/Touchable.js",
138
- "baseHash": "5e13ce3ef1cfeb38a1a9695c3013617527c21175"
144
+ "baseHash": "2f7db68acd47af643bc0625d31d199332d519871"
139
145
  },
140
146
  {
141
147
  "type": "derived",
@@ -147,7 +153,7 @@
147
153
  "type": "derived",
148
154
  "file": "src-win/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js",
149
155
  "baseFile": "packages/react-native/Libraries/Components/Touchable/TouchableNativeFeedback.js",
150
- "baseHash": "2f2263f5e6c7a2bd827b065db20d1ba632561774"
156
+ "baseHash": "8706705c1f8d3dd5390ea631ce5ae60e300ae50d"
151
157
  },
152
158
  {
153
159
  "type": "platform",
@@ -183,7 +189,7 @@
183
189
  "type": "derived",
184
190
  "file": "src-win/Libraries/Components/View/ViewAccessibility.win32.js",
185
191
  "baseFile": "packages/react-native/Libraries/Components/View/ViewAccessibility.js",
186
- "baseHash": "c057d139f953c09d6f1021d5842840873e878db8"
192
+ "baseHash": "c30dab3926869e84edafebd485e78637d69ccd61"
187
193
  },
188
194
  {
189
195
  "type": "derived",
@@ -195,7 +201,7 @@
195
201
  "type": "patch",
196
202
  "file": "src-win/Libraries/Components/View/ViewPropTypes.win32.js",
197
203
  "baseFile": "packages/react-native/Libraries/Components/View/ViewPropTypes.js",
198
- "baseHash": "714722715a4562ef22a7f630e45781e80506a6bd",
204
+ "baseHash": "ec1ffd005b6631e6af027731b087a7620fbf5cf5",
199
205
  "issue": 6240
200
206
  },
201
207
  {
@@ -299,6 +305,12 @@
299
305
  "baseFile": "packages/react-native/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js",
300
306
  "baseHash": "3a3d7da499937cce35c9bd17a11f10b2eeac04cc"
301
307
  },
308
+ {
309
+ "type": "derived",
310
+ "file": "src-win/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.win32.js",
311
+ "baseFile": "packages/react-native/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js",
312
+ "baseHash": "b355418205aa52cf33fb7e4d521b26083eada49d"
313
+ },
302
314
  {
303
315
  "type": "derived",
304
316
  "file": "src-win/Libraries/LogBox/UI/LogBoxInspectorStackFrame.win32.js",
@@ -382,7 +394,7 @@
382
394
  "type": "derived",
383
395
  "file": "src-win/Libraries/Settings/Settings.win32.js",
384
396
  "baseFile": "packages/react-native/Libraries/Settings/Settings.js",
385
- "baseHash": "a089870c24dfac3fd1d5ca28e7dbebd22da73b9a"
397
+ "baseHash": "84da45c9a1bf8cec6d5044433f3c10e7298381d7"
386
398
  },
387
399
  {
388
400
  "type": "platform",
@@ -406,7 +418,7 @@
406
418
  "type": "derived",
407
419
  "file": "src-win/Libraries/Text/Text.win32.js",
408
420
  "baseFile": "packages/react-native/Libraries/Text/Text.js",
409
- "baseHash": "3e4c3fe47759433ac3604a33fef65c7578556b29"
421
+ "baseHash": "1f802db19830e468b84640fc5c7740a11e154250"
410
422
  },
411
423
  {
412
424
  "type": "derived",
@@ -419,7 +431,7 @@
419
431
  "type": "derived",
420
432
  "file": "src-win/Libraries/Text/TextProps.win32.js",
421
433
  "baseFile": "packages/react-native/Libraries/Text/TextProps.js",
422
- "baseHash": "1646b5a9467049adeb7d9e070913ab327214b04d"
434
+ "baseHash": "d31f973c14140792d9d28d208fca15d092a8a4e2"
423
435
  },
424
436
  {
425
437
  "type": "patch",
@@ -465,7 +477,7 @@
465
477
  "type": "patch",
466
478
  "file": "src-win/Libraries/Utilities/PlatformTypes.js",
467
479
  "baseFile": "packages/react-native/Libraries/Utilities/PlatformTypes.js",
468
- "baseHash": "323895a47d9a31a5502843aae5aa833d225abb08",
480
+ "baseHash": "0bd36210528f74f9081d858c9ab64ead92c54950",
469
481
  "issue": 14686
470
482
  },
471
483
  {
@@ -478,7 +490,7 @@
478
490
  "type": "patch",
479
491
  "file": "src-win/src/private/animated/NativeAnimatedHelper.win32.js",
480
492
  "baseFile": "packages/react-native/src/private/animated/NativeAnimatedHelper.js",
481
- "baseHash": "f07ba42819770210251c4c38db4399b7c07d96e8",
493
+ "baseHash": "3247a8e436a7beeda45ce7d77343229b5204cbfc",
482
494
  "issue": 11041
483
495
  },
484
496
  {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@office-iss/react-native-win32",
3
- "version": "0.0.0-canary.290",
3
+ "version": "0.0.0-canary.292",
4
4
  "description": "Implementation of react native on top of Office's Win32 platform.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -30,13 +30,13 @@
30
30
  "@react-native-community/cli-platform-android": "17.0.0",
31
31
  "@react-native-community/cli-platform-ios": "17.0.0",
32
32
  "@react-native/assets": "1.0.0",
33
- "@react-native/assets-registry": "0.80.0-nightly-20250331-398ac1f71",
34
- "@react-native/codegen": "0.80.0-nightly-20250331-398ac1f71",
35
- "@react-native/community-cli-plugin": "0.80.0-nightly-20250331-398ac1f71",
36
- "@react-native/gradle-plugin": "0.80.0-nightly-20250331-398ac1f71",
37
- "@react-native/js-polyfills": "0.80.0-nightly-20250331-398ac1f71",
38
- "@react-native/normalize-colors": "0.80.0-nightly-20250331-398ac1f71",
39
- "@react-native/virtualized-lists": "0.80.0-nightly-20250331-398ac1f71",
33
+ "@react-native/assets-registry": "0.80.0-nightly-20250414-70cdf12c4",
34
+ "@react-native/codegen": "0.80.0-nightly-20250414-70cdf12c4",
35
+ "@react-native/community-cli-plugin": "0.80.0-nightly-20250414-70cdf12c4",
36
+ "@react-native/gradle-plugin": "0.80.0-nightly-20250414-70cdf12c4",
37
+ "@react-native/js-polyfills": "0.80.0-nightly-20250414-70cdf12c4",
38
+ "@react-native/normalize-colors": "0.80.0-nightly-20250414-70cdf12c4",
39
+ "@react-native/virtualized-lists": "0.80.0-nightly-20250414-70cdf12c4",
40
40
  "abort-controller": "^3.0.0",
41
41
  "anser": "^1.4.9",
42
42
  "ansi-regex": "^5.0.0",
@@ -72,7 +72,7 @@
72
72
  "devDependencies": {
73
73
  "@babel/core": "^7.25.2",
74
74
  "@babel/eslint-parser": "^7.25.1",
75
- "@react-native/metro-config": "0.80.0-nightly-20250331-398ac1f71",
75
+ "@react-native/metro-config": "0.80.0-nightly-20250414-70cdf12c4",
76
76
  "@rnw-scripts/babel-react-native-config": "0.0.0",
77
77
  "@rnw-scripts/eslint-config": "1.2.36",
78
78
  "@rnw-scripts/jest-out-of-tree-snapshot-resolver": "^1.1.40",
@@ -83,19 +83,19 @@
83
83
  "@types/prop-types": "15.7.1",
84
84
  "@types/react": "^19.0.0",
85
85
  "eslint": "^8.19.0",
86
- "flow-bin": "^0.261.2",
86
+ "flow-bin": "^0.267.0",
87
87
  "jscodeshift": "^0.14.0",
88
88
  "just-scripts": "^1.3.3",
89
89
  "prettier": "2.8.8",
90
90
  "react": "19.0.0",
91
- "react-native": "0.80.0-nightly-20250331-398ac1f71",
91
+ "react-native": "0.80.0-nightly-20250414-70cdf12c4",
92
92
  "react-native-platform-override": "^1.9.55",
93
93
  "typescript": "5.0.4"
94
94
  },
95
95
  "peerDependencies": {
96
96
  "@types/react": "^19.0.0",
97
97
  "react": "^19.0.0",
98
- "react-native": "0.80.0-nightly-20250331-398ac1f71"
98
+ "react-native": "0.80.0-nightly-20250414-70cdf12c4"
99
99
  },
100
100
  "beachball": {
101
101
  "defaultNpmTag": "canary",
@@ -384,7 +384,7 @@ function assertNativeAnimatedModule(): void {
384
384
  let _warnedMissingNativeAnimated = false;
385
385
 
386
386
  function shouldUseNativeDriver(
387
- config: $ReadOnly<{...AnimationConfig, ...}> | EventConfig,
387
+ config: $ReadOnly<{...AnimationConfig, ...}> | EventConfig<mixed>,
388
388
  ): boolean {
389
389
  if (config.useNativeDriver == null) {
390
390
  console.warn(
@@ -387,7 +387,7 @@ function assertNativeAnimatedModule(): void {
387
387
  let _warnedMissingNativeAnimated = false;
388
388
 
389
389
  function shouldUseNativeDriver(
390
- config: $ReadOnly<{...AnimationConfig, ...}> | EventConfig,
390
+ config: $ReadOnly<{...AnimationConfig, ...}> | EventConfig<mixed>,
391
391
  ): boolean {
392
392
  if (config.useNativeDriver == null) {
393
393
  console.warn(