@office-iss/react-native-win32 0.0.0-canary.270 → 0.0.0-canary.271

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 (96) hide show
  1. package/CHANGELOG.json +16 -1
  2. package/CHANGELOG.md +12 -4
  3. package/Libraries/Animated/animations/Animation.js +63 -24
  4. package/Libraries/Animated/animations/DecayAnimation.js +26 -38
  5. package/Libraries/Animated/animations/SpringAnimation.js +33 -39
  6. package/Libraries/Animated/animations/TimingAnimation.js +34 -42
  7. package/Libraries/Animated/createAnimatedComponent.js +46 -32
  8. package/Libraries/Animated/nodes/AnimatedProps.js +16 -10
  9. package/Libraries/Animated/nodes/AnimatedStyle.js +4 -0
  10. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +19 -3
  11. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +61 -3
  12. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js +61 -3
  13. package/Libraries/Components/Button.js +6 -4
  14. package/Libraries/Components/Button.win32.js +9 -4
  15. package/Libraries/Components/ScrollView/ScrollView.js +5 -5
  16. package/Libraries/Components/Switch/Switch.js +8 -6
  17. package/Libraries/Components/TextInput/TextInput.d.ts +4 -4
  18. package/Libraries/Components/TextInput/TextInput.flow.js +7 -10
  19. package/Libraries/Components/TextInput/TextInput.js +7 -7
  20. package/Libraries/Components/TextInput/TextInput.win32.js +7 -7
  21. package/Libraries/Components/TextInput/TextInputState.js +11 -13
  22. package/Libraries/Components/TextInput/TextInputState.win32.js +13 -16
  23. package/Libraries/Components/View/ReactNativeStyleAttributes.js +1 -0
  24. package/Libraries/Components/View/ViewNativeComponent.js +3 -10
  25. package/Libraries/Core/ReactNativeVersion.js +1 -1
  26. package/Libraries/Core/setUpBatchedBridge.js +1 -10
  27. package/Libraries/Core/setUpReactDevTools.js +3 -3
  28. package/Libraries/Core/setUpSegmentFetcher.js +1 -0
  29. package/Libraries/Core/setUpTimers.js +8 -8
  30. package/Libraries/Image/ImageBackground.js +2 -5
  31. package/Libraries/Image/ImageProps.js +1 -1
  32. package/Libraries/Image/ImageViewNativeComponent.js +2 -2
  33. package/Libraries/Inspector/ReactDevToolsOverlay.js +0 -1
  34. package/Libraries/Inspector/getInspectorDataForViewAtPoint.js +3 -5
  35. package/Libraries/JSInspector/NetworkAgent.js +1 -1
  36. package/Libraries/Lists/FlatList.d.ts +1 -2
  37. package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +2 -2
  38. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
  39. package/Libraries/LogBox/Data/LogBoxData.js +1 -1
  40. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +1 -1
  41. package/Libraries/LogBox/UI/LogBoxMessage.js +2 -2
  42. package/Libraries/NativeComponent/BaseViewConfig.android.js +1 -0
  43. package/Libraries/NativeComponent/BaseViewConfig.ios.js +1 -0
  44. package/Libraries/NativeComponent/BaseViewConfig.win32.js +1 -0
  45. package/Libraries/Network/XMLHttpRequest.js +26 -1
  46. package/Libraries/Pressability/HoverState.js +2 -0
  47. package/Libraries/Pressability/HoverState.win32.js +2 -0
  48. package/Libraries/Pressability/Pressability.js +2 -3
  49. package/Libraries/Pressability/Pressability.win32.js +2 -3
  50. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +2 -3
  51. package/Libraries/ReactNative/RendererImplementation.js +4 -3
  52. package/Libraries/Renderer/shims/ReactNativeTypes.js +13 -18
  53. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +1 -0
  54. package/Libraries/StyleSheet/StyleSheetTypes.js +13 -0
  55. package/Libraries/StyleSheet/processTransform.js +3 -34
  56. package/Libraries/Text/Text.js +251 -249
  57. package/Libraries/Text/Text.win32.js +285 -295
  58. package/Libraries/Types/CoreEventTypes.d.ts +3 -10
  59. package/Libraries/Types/CoreEventTypes.js +4 -6
  60. package/Libraries/Types/CoreEventTypes.win32.js +4 -6
  61. package/Libraries/Utilities/Platform.flow.js +2 -2
  62. package/Libraries/Utilities/Platform.flow.win32.js +2 -2
  63. package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +5 -4
  64. package/index.js +5 -2
  65. package/index.win32.js +5 -2
  66. package/jest/setup.js +30 -0
  67. package/overrides.json +18 -17
  68. package/package.json +13 -13
  69. package/src/private/animated/NativeAnimatedHelper.js +2 -4
  70. package/src/private/animated/NativeAnimatedHelper.win32.js +2 -3
  71. package/src/private/components/HScrollViewNativeComponents.js +4 -5
  72. package/src/private/{fusebox → debugging}/setUpFuseboxReactDevToolsDispatcher.js +6 -0
  73. package/src/private/featureflags/ReactNativeFeatureFlags.js +14 -23
  74. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +2 -5
  75. package/src/private/specs/modules/NativeAccessibilityInfo.js +3 -0
  76. package/src/private/specs/modules/NativeAccessibilityInfoWin32.js +3 -0
  77. package/src/private/specs/modules/NativeAccessibilityManager.js +4 -0
  78. package/src/private/webapis/dom/nodes/ReactNativeElement.js +2 -3
  79. package/src/private/webapis/performance/EventTiming.js +13 -8
  80. package/src/private/webapis/performance/Performance.js +30 -40
  81. package/src/private/webapis/performance/PerformanceEntry.js +2 -5
  82. package/src/private/webapis/performance/PerformanceObserver.js +20 -32
  83. package/src/private/webapis/performance/RawPerformanceEntry.js +1 -1
  84. package/src/private/webapis/performance/UserTiming.js +6 -2
  85. package/src/private/webapis/performance/Utilities.js +0 -7
  86. package/src/private/webapis/performance/specs/NativePerformance.js +53 -0
  87. package/src/private/webapis/performance/specs/__mocks__/NativePerformanceMock.js +247 -0
  88. package/src-win/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +19 -3
  89. package/types/public/ReactNativeTypes.d.ts +4 -4
  90. package/src/private/webapis/performance/specs/NativePerformanceObserver.js +0 -69
  91. package/src/private/webapis/performance/specs/__mocks__/NativePerformance.js +0 -69
  92. package/src/private/webapis/performance/specs/__mocks__/NativePerformanceObserver.js +0 -154
  93. /package/src/private/{fusebox → debugging}/FuseboxSessionObserver.js +0 -0
  94. /package/src/private/{reactdevtools → debugging}/ReactDevToolsSettingsManager.android.js +0 -0
  95. /package/src/private/{reactdevtools → debugging}/ReactDevToolsSettingsManager.ios.js +0 -0
  96. /package/src/private/{reactdevtools → debugging}/ReactDevToolsSettingsManager.win32.js +0 -0
@@ -8,7 +8,7 @@
8
8
  */
9
9
 
10
10
  import type * as React from 'react';
11
- import {HostComponent} from '../../types/public/ReactNativeTypes';
11
+ import {HostInstance} from '../../types/public/ReactNativeTypes';
12
12
 
13
13
  export interface LayoutRectangle {
14
14
  x: number;
@@ -41,11 +41,7 @@ export interface TextLayoutEventData extends TargetedEvent {
41
41
 
42
42
  // Similar to React.SyntheticEvent except for nativeEvent
43
43
  export interface NativeSyntheticEvent<T>
44
- extends React.BaseSyntheticEvent<
45
- T,
46
- React.ElementRef<HostComponent<unknown>>,
47
- React.ElementRef<HostComponent<unknown>>
48
- > {}
44
+ extends React.BaseSyntheticEvent<T, HostInstance, HostInstance> {}
49
45
 
50
46
  export interface NativeTouchEvent {
51
47
  /**
@@ -173,10 +169,7 @@ export interface NativeMouseEvent extends NativeUIEvent {
173
169
  /**
174
170
  * The secondary target for the event, if there is one.
175
171
  */
176
- readonly relatedTarget:
177
- | null
178
- | number
179
- | React.ElementRef<HostComponent<unknown>>;
172
+ readonly relatedTarget: null | number | HostInstance;
180
173
  // offset is proposed: https://drafts.csswg.org/cssom-view/#extensions-to-the-mouseevent-interface
181
174
  /**
182
175
  * The X coordinate of the mouse pointer between that event and the padding edge of the target node
@@ -8,14 +8,12 @@
8
8
  * @format
9
9
  */
10
10
 
11
- import type {HostComponent} from '../Renderer/shims/ReactNativeTypes';
12
-
13
- import * as React from 'react';
11
+ import type {HostInstance} from '../Renderer/shims/ReactNativeTypes';
14
12
 
15
13
  export type SyntheticEvent<+T> = $ReadOnly<{|
16
14
  bubbles: ?boolean,
17
15
  cancelable: ?boolean,
18
- currentTarget: number | React.ElementRef<HostComponent<mixed>>,
16
+ currentTarget: number | HostInstance,
19
17
  defaultPrevented: ?boolean,
20
18
  dispatchConfig: $ReadOnly<{|
21
19
  registrationName: string,
@@ -28,7 +26,7 @@ export type SyntheticEvent<+T> = $ReadOnly<{|
28
26
  isTrusted: ?boolean,
29
27
  nativeEvent: T,
30
28
  persist: () => void,
31
- target: ?number | React.ElementRef<HostComponent<mixed>>,
29
+ target: ?number | HostInstance,
32
30
  timeStamp: number,
33
31
  type: ?string,
34
32
  |}>;
@@ -157,7 +155,7 @@ export interface NativeMouseEvent extends NativeUIEvent {
157
155
  /**
158
156
  * The secondary target for the event, if there is one.
159
157
  */
160
- +relatedTarget: null | number | React.ElementRef<HostComponent<mixed>>;
158
+ +relatedTarget: null | number | HostInstance;
161
159
  // offset is proposed: https://drafts.csswg.org/cssom-view/#extensions-to-the-mouseevent-interface
162
160
  /**
163
161
  * The X coordinate of the mouse pointer between that event and the padding edge of the target node
@@ -8,14 +8,12 @@
8
8
  * @format
9
9
  */
10
10
 
11
- import type {HostComponent} from '../Renderer/shims/ReactNativeTypes';
12
-
13
- import * as React from 'react';
11
+ import type {HostInstance} from '../Renderer/shims/ReactNativeTypes';
14
12
 
15
13
  export type SyntheticEvent<+T> = $ReadOnly<{|
16
14
  bubbles: ?boolean,
17
15
  cancelable: ?boolean,
18
- currentTarget: number | React.ElementRef<HostComponent<mixed>>,
16
+ currentTarget: number | HostInstance,
19
17
  defaultPrevented: ?boolean,
20
18
  dispatchConfig: $ReadOnly<{|
21
19
  registrationName: string,
@@ -28,7 +26,7 @@ export type SyntheticEvent<+T> = $ReadOnly<{|
28
26
  isTrusted: ?boolean,
29
27
  nativeEvent: T,
30
28
  persist: () => void,
31
- target: ?number | React.ElementRef<HostComponent<mixed>>,
29
+ target: ?number | HostInstance,
32
30
  timeStamp: number,
33
31
  type: ?string,
34
32
  |}>;
@@ -157,7 +155,7 @@ export interface NativeMouseEvent extends NativeUIEvent {
157
155
  /**
158
156
  * The secondary target for the event, if there is one.
159
157
  */
160
- +relatedTarget: null | number | React.ElementRef<HostComponent<mixed>>;
158
+ +relatedTarget: null | number | HostInstance;
161
159
  // offset is proposed: https://drafts.csswg.org/cssom-view/#extensions-to-the-mouseevent-interface
162
160
  /**
163
161
  * The X coordinate of the mouse pointer between that event and the padding edge of the target node
@@ -18,7 +18,7 @@ export type PlatformSelectSpec<T> = {
18
18
 
19
19
  type IOSPlatform = {
20
20
  __constants: null,
21
- OS: $TEMPORARY$string<'ios'>,
21
+ OS: 'ios',
22
22
  // $FlowFixMe[unsafe-getters-setters]
23
23
  get Version(): string,
24
24
  // $FlowFixMe[unsafe-getters-setters]
@@ -54,7 +54,7 @@ type IOSPlatform = {
54
54
 
55
55
  type AndroidPlatform = {
56
56
  __constants: null,
57
- OS: $TEMPORARY$string<'android'>,
57
+ OS: 'android',
58
58
  // $FlowFixMe[unsafe-getters-setters]
59
59
  get Version(): number,
60
60
  // $FlowFixMe[unsafe-getters-setters]
@@ -19,7 +19,7 @@ export type PlatformSelectSpec<T> = {
19
19
 
20
20
  type IOSPlatform = {
21
21
  __constants: null,
22
- OS: $TEMPORARY$string<'ios'>,
22
+ OS: 'ios',
23
23
  // $FlowFixMe[unsafe-getters-setters]
24
24
  get Version(): number,
25
25
  // $FlowFixMe[unsafe-getters-setters]
@@ -55,7 +55,7 @@ type IOSPlatform = {
55
55
 
56
56
  type AndroidPlatform = {
57
57
  __constants: null,
58
- OS: $TEMPORARY$string<'android'>,
58
+ OS: 'android',
59
59
  // $FlowFixMe[unsafe-getters-setters]
60
60
  get Version(): number,
61
61
  // $FlowFixMe[unsafe-getters-setters]
@@ -8,13 +8,14 @@
8
8
  * @format
9
9
  */
10
10
 
11
- import type {HostComponent} from '../Renderer/shims/ReactNativeTypes';
11
+ import type {
12
+ HostComponent,
13
+ HostInstance,
14
+ } from '../Renderer/shims/ReactNativeTypes';
12
15
 
13
16
  import * as React from 'react';
14
17
 
15
- function takesHostComponentInstance(
16
- instance: React.ElementRef<HostComponent<mixed>> | null,
17
- ): void {}
18
+ function takesHostComponentInstance(instance: HostInstance | null): void {}
18
19
 
19
20
  const MyHostComponent = (('Host': any): HostComponent<mixed>);
20
21
 
package/index.js CHANGED
@@ -71,7 +71,10 @@ import typeof I18nManager from './Libraries/ReactNative/I18nManager';
71
71
  import typeof {RootTagContext} from './Libraries/ReactNative/RootTag';
72
72
  import typeof UIManager from './Libraries/ReactNative/UIManager';
73
73
  import typeof ReactNative from './Libraries/Renderer/shims/ReactNative';
74
- import type {HostComponent as _HostComponentInternal} from './Libraries/Renderer/shims/ReactNativeTypes';
74
+ import type {
75
+ HostComponent,
76
+ HostInstance,
77
+ } from './Libraries/Renderer/shims/ReactNativeTypes';
75
78
  import typeof Settings from './Libraries/Settings/Settings';
76
79
  import typeof Share from './Libraries/Share/Share';
77
80
  import typeof {PlatformColor} from './Libraries/StyleSheet/PlatformColorValueTypes';
@@ -98,7 +101,7 @@ import typeof YellowBox from './Libraries/YellowBox/YellowBoxDeprecated';
98
101
  const warnOnce = require('./Libraries/Utilities/warnOnce');
99
102
  const invariant = require('invariant');
100
103
 
101
- export type HostComponent<T> = _HostComponentInternal<T>;
104
+ export type {HostComponent, HostInstance};
102
105
 
103
106
  module.exports = {
104
107
  get registerCallableModule(): RegisterCallableModule {
package/index.win32.js CHANGED
@@ -71,7 +71,10 @@ import typeof I18nManager from './Libraries/ReactNative/I18nManager';
71
71
  import typeof {RootTagContext} from './Libraries/ReactNative/RootTag';
72
72
  import typeof UIManager from './Libraries/ReactNative/UIManager';
73
73
  import typeof ReactNative from './Libraries/Renderer/shims/ReactNative';
74
- import type {HostComponent as _HostComponentInternal} from './Libraries/Renderer/shims/ReactNativeTypes';
74
+ import type {
75
+ HostComponent,
76
+ HostInstance,
77
+ } from './Libraries/Renderer/shims/ReactNativeTypes';
75
78
  import typeof Settings from './Libraries/Settings/Settings';
76
79
  import typeof Share from './Libraries/Share/Share';
77
80
  import typeof {PlatformColor} from './Libraries/StyleSheet/PlatformColorValueTypes';
@@ -101,7 +104,7 @@ const invariant = require('invariant');
101
104
  // Windows types
102
105
  import typeof {ColorGradientWin32} from './Libraries/StyleSheet/PlatformColorValueTypesWin32';
103
106
 
104
- export type HostComponent<T> = _HostComponentInternal<T>;
107
+ export type {HostComponent, HostInstance};
105
108
 
106
109
  module.exports = {
107
110
  // Components
package/jest/setup.js CHANGED
@@ -151,6 +151,8 @@ jest
151
151
  isGrayscaleEnabled: jest.fn(() => Promise.resolve(false)),
152
152
  isInvertColorsEnabled: jest.fn(() => Promise.resolve(false)),
153
153
  isReduceMotionEnabled: jest.fn(() => Promise.resolve(false)),
154
+ isHighTextContrastEnabled: jest.fn(() => Promise.resolve(false)),
155
+ isDarkerSystemColorsEnabled: jest.fn(() => Promise.resolve(false)),
154
156
  prefersCrossFadeTransitions: jest.fn(() => Promise.resolve(false)),
155
157
  isReduceTransparencyEnabled: jest.fn(() => Promise.resolve(false)),
156
158
  isScreenReaderEnabled: jest.fn(() => Promise.resolve(false)),
@@ -279,6 +281,34 @@ jest
279
281
  addListener: jest.fn(),
280
282
  removeListeners: jest.fn(),
281
283
  },
284
+ NativeAnimatedModule: {
285
+ createAnimatedNode: jest.fn(),
286
+ updateAnimatedNodeConfig: jest.fn(),
287
+ getValue: jest.fn(),
288
+ startListeningToAnimatedNodeValue: jest.fn(),
289
+ stopListeningToAnimatedNodeValue: jest.fn(),
290
+ connectAnimatedNodes: jest.fn(),
291
+ disconnectAnimatedNodes: jest.fn(),
292
+ startAnimatingNode: jest.fn(
293
+ (animationId, nodeTag, config, endCallback) => {
294
+ setTimeout(() => endCallback({finished: true}), 16);
295
+ },
296
+ ),
297
+ stopAnimation: jest.fn(),
298
+ setAnimatedNodeValue: jest.fn(),
299
+ setAnimatedNodeOffset: jest.fn(),
300
+ flattenAnimatedNodeOffset: jest.fn(),
301
+ extractAnimatedNodeOffset: jest.fn(),
302
+ connectAnimatedNodeToView: jest.fn(),
303
+ disconnectAnimatedNodeFromView: jest.fn(),
304
+ restoreDefaultValues: jest.fn(),
305
+ dropAnimatedNode: jest.fn(),
306
+ addAnimatedEventToView: jest.fn(),
307
+ removeAnimatedEventFromView: jest.fn(),
308
+ addListener: jest.fn(),
309
+ removeListener: jest.fn(),
310
+ removeListeners: jest.fn(),
311
+ },
282
312
  Networking: {
283
313
  sendRequest: jest.fn(),
284
314
  abortRequest: jest.fn(),
package/overrides.json CHANGED
@@ -7,7 +7,7 @@
7
7
  "**/__snapshots__/**",
8
8
  "src-win/rntypes/**"
9
9
  ],
10
- "baseVersion": "0.77.0-nightly-20241001-223e98cc4",
10
+ "baseVersion": "0.77.0-nightly-20241010-0d6908f4e",
11
11
  "overrides": [
12
12
  {
13
13
  "type": "derived",
@@ -19,7 +19,7 @@
19
19
  "type": "derived",
20
20
  "file": "src-win/index.win32.js",
21
21
  "baseFile": "packages/react-native/index.js",
22
- "baseHash": "70b04f859a60e3752e6937b9fc294ffee30e6366"
22
+ "baseHash": "ad455e241e35ebd718a6304f3de9d04c1f9e4f2b"
23
23
  },
24
24
  {
25
25
  "type": "platform",
@@ -35,13 +35,13 @@
35
35
  "type": "derived",
36
36
  "file": "src-win/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts",
37
37
  "baseFile": "packages/react-native/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts",
38
- "baseHash": "f55fda723b8dc0f9836f2fa4a4a766ed45c71c00"
38
+ "baseHash": "30a3c7351c6a466e2ed95e9b416907ac677d71ca"
39
39
  },
40
40
  {
41
41
  "type": "derived",
42
42
  "file": "src-win/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js",
43
43
  "baseFile": "packages/react-native/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js",
44
- "baseHash": "163927cc271b53109f06eaf5fc6d30a9af8cb27e"
44
+ "baseHash": "af6ef360caf09cee7b488a3fa7439f749216c51c"
45
45
  },
46
46
  {
47
47
  "type": "copy",
@@ -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": "b59e0b119a7a930e835ff3eefa780e757a97b31f"
63
+ "baseHash": "e76f9ba2b411e43dbca14b7ce52bb429c8cab52d"
64
64
  },
65
65
  {
66
66
  "type": "platform",
@@ -109,13 +109,13 @@
109
109
  "type": "derived",
110
110
  "file": "src-win/Libraries/Components/TextInput/TextInput.win32.js",
111
111
  "baseFile": "packages/react-native/Libraries/Components/TextInput/TextInput.js",
112
- "baseHash": "19224f9b870df6e0c82d8da36f1f7b22bdd6b596"
112
+ "baseHash": "82f76803236afa08c99beb8545a2a7fa4940b653"
113
113
  },
114
114
  {
115
115
  "type": "patch",
116
116
  "file": "src-win/Libraries/Components/TextInput/TextInputState.win32.js",
117
117
  "baseFile": "packages/react-native/Libraries/Components/TextInput/TextInputState.js",
118
- "baseHash": "60655baaca427e1c7c1b8884833b848335c4033b"
118
+ "baseHash": "7a12ca2e17da0a0f487af5a27c120ef59b2ab9ef"
119
119
  },
120
120
  {
121
121
  "type": "platform",
@@ -331,7 +331,7 @@
331
331
  "type": "derived",
332
332
  "file": "src-win/Libraries/NativeComponent/BaseViewConfig.win32.js",
333
333
  "baseFile": "packages/react-native/Libraries/NativeComponent/BaseViewConfig.ios.js",
334
- "baseHash": "af602af3c3acc6521f5535f2fe14bfe08cf1b5e9"
334
+ "baseHash": "51ae58fc739dc6c0679dc888550c2af41787b959"
335
335
  },
336
336
  {
337
337
  "type": "copy",
@@ -360,14 +360,14 @@
360
360
  "type": "patch",
361
361
  "file": "src-win/Libraries/Pressability/HoverState.win32.js",
362
362
  "baseFile": "packages/react-native/Libraries/Pressability/HoverState.js",
363
- "baseHash": "50800642b413cb469ced8d1d6b32ee0e249f4d1e",
363
+ "baseHash": "8a97880597ea72d61464d07d1a082582320e7234",
364
364
  "issue": 6240
365
365
  },
366
366
  {
367
367
  "type": "patch",
368
368
  "file": "src-win/Libraries/Pressability/Pressability.win32.js",
369
369
  "baseFile": "packages/react-native/Libraries/Pressability/Pressability.js",
370
- "baseHash": "8e70142f3acab570d188c617a1811da11b6e9da4",
370
+ "baseHash": "3be9533787a90b2fae462faee1bb8b692d025c31",
371
371
  "issue": 6240
372
372
  },
373
373
  {
@@ -426,7 +426,7 @@
426
426
  "type": "derived",
427
427
  "file": "src-win/Libraries/Text/Text.win32.js",
428
428
  "baseFile": "packages/react-native/Libraries/Text/Text.js",
429
- "baseHash": "8ad2e56ba09c1b5428d50cfd71972c60502ed2e2"
429
+ "baseHash": "b4810991f6c983f1f155327e8bca865cf771ae84"
430
430
  },
431
431
  {
432
432
  "type": "derived",
@@ -445,7 +445,7 @@
445
445
  "type": "patch",
446
446
  "file": "src-win/Libraries/Types/CoreEventTypes.win32.js",
447
447
  "baseFile": "packages/react-native/Libraries/Types/CoreEventTypes.js",
448
- "baseHash": "7fe2b87cf49f4674d731d07f0883bab2f5cfc356",
448
+ "baseHash": "87532a8f108dad9c3ae07b911dd7344e7c244c20",
449
449
  "issue": 6240
450
450
  },
451
451
  {
@@ -485,7 +485,7 @@
485
485
  "type": "derived",
486
486
  "file": "src-win/Libraries/Utilities/Platform.flow.win32.js",
487
487
  "baseFile": "packages/react-native/Libraries/Utilities/Platform.flow.js",
488
- "baseHash": "f38efa527b9426ae0178bb2336be2e93af0392ba"
488
+ "baseHash": "ae1dbc0afd40655cb18e00eecf21b7ca5db538f2"
489
489
  },
490
490
  {
491
491
  "type": "derived",
@@ -503,20 +503,21 @@
503
503
  "type": "patch",
504
504
  "file": "src-win/src/private/animated/NativeAnimatedHelper.win32.js",
505
505
  "baseFile": "packages/react-native/src/private/animated/NativeAnimatedHelper.js",
506
- "baseHash": "bc63f57b28f1e98755101f650a2c15b6aa263abf",
506
+ "baseHash": "96fb410d7d408c49297f9f99a760f954264bce91",
507
507
  "issue": 11041
508
508
  },
509
509
  {
510
510
  "type": "copy",
511
- "file": "src-win/src/private/reactdevtools/ReactDevToolsSettingsManager.win32.js",
512
- "baseFile": "packages/react-native/src/private/reactdevtools/ReactDevToolsSettingsManager.android.js",
511
+ "file": "src-win/src/private/debugging/ReactDevToolsSettingsManager.win32.js",
512
+ "baseFile": "packages/react-native/src/private/debugging/ReactDevToolsSettingsManager.android.js",
513
+ "baseVersion": "0.77.0-nightly-20241001-223e98cc4",
513
514
  "baseHash": "df41b76dc3d2df9455fae588748261d7b0a22d01"
514
515
  },
515
516
  {
516
517
  "type": "derived",
517
518
  "file": "src-win/src/private/specs/modules/NativeAccessibilityInfoWin32.js",
518
519
  "baseFile": "packages/react-native/src/private/specs/modules/NativeAccessibilityInfo.js",
519
- "baseHash": "3c15b48f632de6b939697ae114734cc54e003027"
520
+ "baseHash": "f719796211617b9fd439f74622757e2af5288281"
520
521
  },
521
522
  {
522
523
  "type": "derived",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@office-iss/react-native-win32",
3
- "version": "0.0.0-canary.270",
3
+ "version": "0.0.0-canary.271",
4
4
  "description": "Implementation of react native on top of Office's Win32 platform.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -30,19 +30,19 @@
30
30
  "@react-native-community/cli-platform-android": "15.0.0-alpha.2",
31
31
  "@react-native-community/cli-platform-ios": "15.0.0-alpha.2",
32
32
  "@react-native/assets": "1.0.0",
33
- "@react-native/assets-registry": "0.77.0-nightly-20241001-223e98cc4",
34
- "@react-native/codegen": "0.77.0-nightly-20241001-223e98cc4",
35
- "@react-native/community-cli-plugin": "0.77.0-nightly-20241001-223e98cc4",
36
- "@react-native/gradle-plugin": "0.77.0-nightly-20241001-223e98cc4",
37
- "@react-native/js-polyfills": "0.77.0-nightly-20241001-223e98cc4",
38
- "@react-native/normalize-colors": "0.77.0-nightly-20241001-223e98cc4",
39
- "@react-native/virtualized-lists": "0.77.0-nightly-20241001-223e98cc4",
33
+ "@react-native/assets-registry": "0.77.0-nightly-20241010-0d6908f4e",
34
+ "@react-native/codegen": "0.77.0-nightly-20241010-0d6908f4e",
35
+ "@react-native/community-cli-plugin": "0.77.0-nightly-20241010-0d6908f4e",
36
+ "@react-native/gradle-plugin": "0.77.0-nightly-20241010-0d6908f4e",
37
+ "@react-native/js-polyfills": "0.77.0-nightly-20241010-0d6908f4e",
38
+ "@react-native/normalize-colors": "0.77.0-nightly-20241010-0d6908f4e",
39
+ "@react-native/virtualized-lists": "0.77.0-nightly-20241010-0d6908f4e",
40
40
  "abort-controller": "^3.0.0",
41
41
  "anser": "^1.4.9",
42
42
  "ansi-regex": "^5.0.0",
43
43
  "art": "^0.10.0",
44
44
  "babel-jest": "^29.7.0",
45
- "babel-plugin-syntax-hermes-parser": "^0.23.1",
45
+ "babel-plugin-syntax-hermes-parser": "0.24.0",
46
46
  "base64-js": "^1.5.1",
47
47
  "chalk": "^4.0.0",
48
48
  "commander": "^12.0.0",
@@ -53,8 +53,8 @@
53
53
  "jest-environment-node": "^29.6.3",
54
54
  "jsc-android": "^250231.0.0",
55
55
  "memoize-one": "^5.0.0",
56
- "metro-runtime": "^0.81.0-alpha.0",
57
- "metro-source-map": "^0.81.0-alpha.0",
56
+ "metro-runtime": "^0.81.0-alpha.2",
57
+ "metro-source-map": "^0.81.0-alpha.2",
58
58
  "mkdirp": "^0.5.1",
59
59
  "nullthrows": "^1.1.1",
60
60
  "pretty-format": "^29.7.0",
@@ -90,14 +90,14 @@
90
90
  "just-scripts": "^1.3.3",
91
91
  "prettier": "2.8.8",
92
92
  "react": "19.0.0-rc-fb9a90fa48-20240614",
93
- "react-native": "0.77.0-nightly-20241001-223e98cc4",
93
+ "react-native": "0.77.0-nightly-20241010-0d6908f4e",
94
94
  "react-native-platform-override": "^1.9.49",
95
95
  "typescript": "5.0.4"
96
96
  },
97
97
  "peerDependencies": {
98
98
  "@types/react": "^18.2.6",
99
99
  "react": "^19.0.0-rc-fb9a90fa48-20240614",
100
- "react-native": "0.77.0-nightly-20241001-223e98cc4"
100
+ "react-native": "0.77.0-nightly-20241010-0d6908f4e"
101
101
  },
102
102
  "beachball": {
103
103
  "defaultNpmTag": "canary",
@@ -175,9 +175,8 @@ const API = {
175
175
 
176
176
  flushQueue: (isSingleOpBatching
177
177
  ? (): void => {
178
- // TODO: (T136971132)
179
178
  invariant(
180
- NativeAnimatedModule || process.env.NODE_ENV === 'test',
179
+ NativeAnimatedModule,
181
180
  'Native animated module is not available',
182
181
  );
183
182
  flushQueueImmediate = null;
@@ -197,9 +196,8 @@ const API = {
197
196
  singleOpQueue.length = 0;
198
197
  }
199
198
  : (): void => {
200
- // TODO: (T136971132)
201
199
  invariant(
202
- NativeAnimatedModule || process.env.NODE_ENV === 'test',
200
+ NativeAnimatedModule,
203
201
  'Native animated module is not available',
204
202
  );
205
203
  flushQueueImmediate = null;
@@ -178,7 +178,7 @@ const API = {
178
178
  /* [Windows #11041
179
179
  // TODO: (T136971132)
180
180
  invariant(
181
- NativeAnimatedModule || process.env.NODE_ENV === 'test',
181
+ NativeAnimatedModule,
182
182
  'Native animated module is not available',
183
183
  );
184
184
  Windows] */
@@ -199,9 +199,8 @@ const API = {
199
199
  singleOpQueue.length = 0;
200
200
  }
201
201
  : (): void => {
202
- // TODO: (T136971132)
203
202
  invariant(
204
- NativeAnimatedModule || process.env.NODE_ENV === 'test',
203
+ NativeAnimatedModule,
205
204
  'Native animated module is not available',
206
205
  );
207
206
  flushQueueImmediate = null;
@@ -29,11 +29,10 @@ const HScrollViewNativeComponentForPlatform =
29
29
  : ScrollViewNativeComponent;
30
30
 
31
31
  // TODO: After upgrading to React 19, remove `forwardRef` from this component.
32
- export const HScrollViewNativeComponent: React.AbstractComponent<
33
- ScrollViewNativeProps,
34
- TScrollViewNativeImperativeHandle,
35
- // $FlowExpectedError[incompatible-type] - Flow cannot model imperative handles, yet.
36
- > = forwardRef(function HScrollViewNativeComponent(
32
+ export const HScrollViewNativeComponent: component(
33
+ ref: React.RefSetter<TScrollViewNativeImperativeHandle>,
34
+ ...ScrollViewNativeProps
35
+ ) = forwardRef(function HScrollViewNativeComponent(
37
36
  props: ScrollViewNativeProps,
38
37
  ref: ?React.RefSetter<TScrollViewNativeImperativeHandle | null>,
39
38
  ): React.Node {
@@ -62,6 +62,12 @@ export class Domain {
62
62
  }
63
63
  }
64
64
 
65
+ /**
66
+ * Globally bound object providing a hook for React DevTools runtime API calls
67
+ * over CDP.
68
+ *
69
+ * @see {@link ./__docs__/FuseboxReactDevToolsDispatcher.excalidraw-embedded.png}
70
+ */
65
71
  class FuseboxReactDevToolsDispatcher {
66
72
  static #domainNameToDomainMap: Map<DomainName, Domain> = new Map();
67
73
 
@@ -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<<e161b67cb919ad7e2e67ddcb3c501adb>>
7
+ * @generated SignedSource<<75865f1371182e1ed3bce0f8f367faeb>>
8
8
  * @flow strict
9
9
  */
10
10
 
@@ -36,6 +36,7 @@ export type ReactNativeFeatureFlagsJsOnly = {
36
36
  enableAnimatedPropsMemo: Getter<boolean>,
37
37
  enableOptimisedVirtualizedCells: Getter<boolean>,
38
38
  isLayoutAnimationEnabled: Getter<boolean>,
39
+ scheduleAnimatedEndCallbackInMicrotask: Getter<boolean>,
39
40
  shouldSkipStateUpdatesForLoopingAnimations: Getter<boolean>,
40
41
  shouldUseAnimatedObjectForTransform: Getter<boolean>,
41
42
  shouldUseRemoveClippedSubviewsAsDefaultOnIOS: Getter<boolean>,
@@ -53,10 +54,8 @@ export type ReactNativeFeatureFlags = {
53
54
  allowRecursiveCommitsWithSynchronousMountOnAndroid: Getter<boolean>,
54
55
  batchRenderingUpdatesInEventLoop: Getter<boolean>,
55
56
  completeReactInstanceCreationOnBgThreadOnAndroid: Getter<boolean>,
56
- destroyFabricSurfacesInReactInstanceManager: Getter<boolean>,
57
57
  enableAlignItemsBaselineOnFabricIOS: Getter<boolean>,
58
58
  enableAndroidLineHeightCentering: Getter<boolean>,
59
- enableBackgroundStyleApplicator: Getter<boolean>,
60
59
  enableBridgelessArchitecture: Getter<boolean>,
61
60
  enableCleanTextInputYogaNode: Getter<boolean>,
62
61
  enableDeletionOfUnmountedViews: Getter<boolean>,
@@ -67,6 +66,7 @@ export type ReactNativeFeatureFlags = {
67
66
  enableFabricRendererExclusively: Getter<boolean>,
68
67
  enableGranularShadowTreeStateReconciliation: Getter<boolean>,
69
68
  enableIOSViewClipToPaddingBox: Getter<boolean>,
69
+ enableLayoutAnimationsOnAndroid: Getter<boolean>,
70
70
  enableLayoutAnimationsOnIOS: Getter<boolean>,
71
71
  enableLongTaskAPI: Getter<boolean>,
72
72
  enableMicrotasks: Getter<boolean>,
@@ -94,11 +94,9 @@ export type ReactNativeFeatureFlags = {
94
94
  useImmediateExecutorInAndroidBridgeless: Getter<boolean>,
95
95
  useModernRuntimeScheduler: Getter<boolean>,
96
96
  useNativeViewConfigsInBridgelessMode: Getter<boolean>,
97
- useNewReactImageViewBackgroundDrawing: Getter<boolean>,
98
97
  useOptimisedViewPreallocationOnAndroid: Getter<boolean>,
99
98
  useOptimizedEventBatchingOnAndroid: Getter<boolean>,
100
99
  useRuntimeShadowNodeReferenceUpdate: Getter<boolean>,
101
- useRuntimeShadowNodeReferenceUpdateOnLayout: Getter<boolean>,
102
100
  useTurboModuleInterop: Getter<boolean>,
103
101
  useTurboModules: Getter<boolean>,
104
102
  }
@@ -148,6 +146,11 @@ export const enableOptimisedVirtualizedCells: Getter<boolean> = createJavaScript
148
146
  */
149
147
  export const isLayoutAnimationEnabled: Getter<boolean> = createJavaScriptFlagGetter('isLayoutAnimationEnabled', true);
150
148
 
149
+ /**
150
+ * Changes the completion callback supplied via `Animation#start` to be scheduled in a microtask instead of synchronously executed.
151
+ */
152
+ export const scheduleAnimatedEndCallbackInMicrotask: Getter<boolean> = createJavaScriptFlagGetter('scheduleAnimatedEndCallbackInMicrotask', false);
153
+
151
154
  /**
152
155
  * If the animation is within Animated.loop, we do not send state updates to React.
153
156
  */
@@ -199,10 +202,6 @@ export const batchRenderingUpdatesInEventLoop: Getter<boolean> = createNativeFla
199
202
  * Do not wait for a main-thread dispatch to complete init to start executing work on the JS thread on Android
200
203
  */
201
204
  export const completeReactInstanceCreationOnBgThreadOnAndroid: Getter<boolean> = createNativeFlagGetter('completeReactInstanceCreationOnBgThreadOnAndroid', false);
202
- /**
203
- * When enabled, ReactInstanceManager will clean up Fabric surfaces on destroy().
204
- */
205
- export const destroyFabricSurfacesInReactInstanceManager: Getter<boolean> = createNativeFlagGetter('destroyFabricSurfacesInReactInstanceManager', false);
206
205
  /**
207
206
  * Kill-switch to turn off support for aling-items:baseline on Fabric iOS.
208
207
  */
@@ -211,10 +210,6 @@ export const enableAlignItemsBaselineOnFabricIOS: Getter<boolean> = createNative
211
210
  * When enabled, custom line height calculation will be centered from top to bottom.
212
211
  */
213
212
  export const enableAndroidLineHeightCentering: Getter<boolean> = createNativeFlagGetter('enableAndroidLineHeightCentering', false);
214
- /**
215
- * Use BackgroundStyleApplicator in place of other background/border drawing code
216
- */
217
- export const enableBackgroundStyleApplicator: Getter<boolean> = createNativeFlagGetter('enableBackgroundStyleApplicator', true);
218
213
  /**
219
214
  * Feature flag to enable the new bridgeless architecture. Note: Enabling this will force enable the following flags: `useTurboModules` & `enableFabricRenderer.
220
215
  */
@@ -255,6 +250,10 @@ export const enableGranularShadowTreeStateReconciliation: Getter<boolean> = crea
255
250
  * iOS Views will clip to their padding box vs border box
256
251
  */
257
252
  export const enableIOSViewClipToPaddingBox: Getter<boolean> = createNativeFlagGetter('enableIOSViewClipToPaddingBox', false);
253
+ /**
254
+ * When enabled, LayoutAnimations API will animate state changes on Android.
255
+ */
256
+ export const enableLayoutAnimationsOnAndroid: Getter<boolean> = createNativeFlagGetter('enableLayoutAnimationsOnAndroid', false);
258
257
  /**
259
258
  * When enabled, LayoutAnimations API will animate state changes on iOS.
260
259
  */
@@ -342,7 +341,7 @@ export const removeNestedCallsToDispatchMountItemsOnAndroid: Getter<boolean> = c
342
341
  /**
343
342
  * Propagate layout direction to Android views.
344
343
  */
345
- export const setAndroidLayoutDirection: Getter<boolean> = createNativeFlagGetter('setAndroidLayoutDirection', false);
344
+ export const setAndroidLayoutDirection: Getter<boolean> = createNativeFlagGetter('setAndroidLayoutDirection', true);
346
345
  /**
347
346
  * Enables storing js caller stack when creating promise in native module. This is useful in case of Promise rejection and tracing the cause.
348
347
  */
@@ -363,10 +362,6 @@ export const useModernRuntimeScheduler: Getter<boolean> = createNativeFlagGetter
363
362
  * When enabled, the native view configs are used in bridgeless mode.
364
363
  */
365
364
  export const useNativeViewConfigsInBridgelessMode: Getter<boolean> = createNativeFlagGetter('useNativeViewConfigsInBridgelessMode', false);
366
- /**
367
- * Use shared background drawing code for ReactImageView instead of using Fresco to manipulate the bitmap
368
- */
369
- export const useNewReactImageViewBackgroundDrawing: Getter<boolean> = createNativeFlagGetter('useNewReactImageViewBackgroundDrawing', false);
370
365
  /**
371
366
  * Moves more of the work in view preallocation to the main thread to free up JS thread.
372
367
  */
@@ -378,11 +373,7 @@ export const useOptimizedEventBatchingOnAndroid: Getter<boolean> = createNativeF
378
373
  /**
379
374
  * When enabled, cloning shadow nodes within react native will update the reference held by the current JS fiber tree.
380
375
  */
381
- export const useRuntimeShadowNodeReferenceUpdate: Getter<boolean> = createNativeFlagGetter('useRuntimeShadowNodeReferenceUpdate', false);
382
- /**
383
- * When enabled, cloning shadow nodes during layout will update the reference held by the current JS fiber tree.
384
- */
385
- export const useRuntimeShadowNodeReferenceUpdateOnLayout: Getter<boolean> = createNativeFlagGetter('useRuntimeShadowNodeReferenceUpdateOnLayout', false);
376
+ export const useRuntimeShadowNodeReferenceUpdate: Getter<boolean> = createNativeFlagGetter('useRuntimeShadowNodeReferenceUpdate', true);
386
377
  /**
387
378
  * In Bridgeless mode, should legacy NativeModules use the TurboModule system?
388
379
  */