@office-iss/react-native-win32 0.0.0-canary.274 → 0.0.0-canary.276

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/.flowconfig +5 -1
  2. package/CHANGELOG.json +31 -1
  3. package/CHANGELOG.md +20 -4
  4. package/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +1 -0
  5. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +13 -0
  6. package/Libraries/Animated/animations/Animation.js +1 -5
  7. package/Libraries/Animated/components/AnimatedFlatList.js +1 -1
  8. package/Libraries/Animated/components/AnimatedSectionList.js +3 -1
  9. package/Libraries/Animated/useAnimatedProps.js +2 -14
  10. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +16 -2
  11. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js +21 -2
  12. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +2 -0
  13. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +0 -1
  14. package/Libraries/Components/ScrollView/ScrollView.js +35 -74
  15. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +0 -2
  16. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +0 -1
  17. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +1 -0
  18. package/Libraries/Components/TextInput/TextInput.flow.js +6 -0
  19. package/Libraries/Components/TextInput/TextInput.js +7 -1
  20. package/Libraries/Components/TextInput/TextInput.win32.js +7 -1
  21. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -2
  22. package/Libraries/Components/View/ViewPropTypes.d.ts +7 -0
  23. package/Libraries/Components/View/ViewPropTypes.js +0 -3
  24. package/Libraries/Components/View/ViewPropTypes.win32.js +0 -3
  25. package/Libraries/Core/ExceptionsManager.js +7 -4
  26. package/Libraries/Core/ReactNativeVersion.js +1 -1
  27. package/Libraries/Core/setUpErrorHandling.js +20 -18
  28. package/Libraries/Core/setUpTimers.js +4 -12
  29. package/Libraries/Image/Image.android.js +0 -2
  30. package/Libraries/Image/Image.d.ts +2 -0
  31. package/Libraries/Image/ImageProps.js +2 -1
  32. package/Libraries/Image/ImageResizeMode.d.ts +8 -1
  33. package/Libraries/Image/ImageResizeMode.js +4 -1
  34. package/Libraries/Image/ImageSource.d.ts +0 -2
  35. package/Libraries/Image/ImageSource.js +0 -2
  36. package/Libraries/Image/ImageUtils.js +6 -3
  37. package/Libraries/Image/ImageViewNativeComponent.js +3 -1
  38. package/Libraries/Inspector/Inspector.win32.js +1 -1
  39. package/Libraries/Interaction/InteractionManager.js +6 -1
  40. package/Libraries/Interaction/InteractionManagerStub.js +176 -0
  41. package/Libraries/Lists/FlatList.js +2 -2
  42. package/Libraries/LogBox/LogBox.js +1 -1
  43. package/Libraries/LogBox/UI/AnsiHighlight.js +26 -17
  44. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +6 -1
  45. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.win32.js +6 -1
  46. package/Libraries/Modal/Modal.d.ts +5 -0
  47. package/Libraries/Modal/Modal.js +17 -0
  48. package/Libraries/NewAppScreen/components/HermesBadge.js +1 -1
  49. package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +49 -2
  50. package/Libraries/Pressability/usePressability.js +4 -1
  51. package/Libraries/ReactNative/AppRegistry.js +0 -6
  52. package/Libraries/ReactNative/RendererImplementation.js +12 -12
  53. package/Libraries/ReactNative/renderApplication.js +3 -4
  54. package/Libraries/ReactNative/requireNativeComponent.js +2 -1
  55. package/Libraries/Renderer/implementations/ReactFabric-dev.js +26149 -15434
  56. package/Libraries/Renderer/implementations/ReactFabric-prod.js +1630 -2675
  57. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +1691 -2954
  58. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +27069 -16192
  59. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +1657 -2714
  60. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +1733 -2980
  61. package/Libraries/Renderer/shims/ReactFabric.js +3 -3
  62. package/Libraries/Renderer/shims/ReactFeatureFlags.js +2 -2
  63. package/Libraries/Renderer/shims/ReactNative.js +3 -3
  64. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
  65. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +7 -1
  66. package/Libraries/StyleSheet/StyleSheetTypes.js +5 -4
  67. package/Libraries/StyleSheet/processBackgroundImage.js +87 -110
  68. package/Libraries/TurboModule/TurboModuleRegistry.js +5 -5
  69. package/Libraries/Utilities/Appearance.js +3 -1
  70. package/Libraries/Utilities/BackHandler.android.js +6 -18
  71. package/Libraries/Utilities/BackHandler.d.ts +0 -4
  72. package/Libraries/Utilities/BackHandler.ios.js +0 -7
  73. package/Libraries/Utilities/BackHandler.win32.js +6 -18
  74. package/Libraries/Utilities/__mocks__/BackHandler.js +3 -8
  75. package/jest/setup.js +5 -1
  76. package/overrides.json +9 -9
  77. package/package.json +14 -14
  78. package/src/private/components/HScrollViewNativeComponents.js +1 -26
  79. package/src/private/components/VScrollViewNativeComponents.js +2 -24
  80. package/src/private/featureflags/ReactNativeFeatureFlags.js +24 -55
  81. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +2 -7
  82. package/src/private/setup/setUpDOM.js +14 -6
  83. package/src/private/setup/setUpMutationObserver.js +5 -0
  84. package/src/private/specs/components/RCTModalHostViewNativeComponent.js +8 -0
  85. package/src/private/specs/modules/NativeAccessibilityInfo.js +6 -0
  86. package/src/private/specs/modules/NativeAccessibilityInfoWin32.js +6 -0
  87. package/src/private/specs/modules/NativeActionSheetManager.js +2 -0
  88. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +96 -11
  89. package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +26 -0
  90. package/src/private/webapis/intersectionobserver/IntersectionObserverManager.js +1 -0
  91. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +1 -0
  92. package/src/private/webapis/intersectionobserver/specs/__mocks__/NativeIntersectionObserver.js +9 -0
  93. package/src-win/Libraries/Components/View/ViewPropTypes.d.ts +7 -0
  94. package/Libraries/ReactNative/ReactFabricInternals.js +0 -17
  95. package/src/private/components/useSyncOnScroll.js +0 -48
  96. package/types/experimental.d.ts +0 -59
package/overrides.json CHANGED
@@ -7,13 +7,13 @@
7
7
  "**/__snapshots__/**",
8
8
  "src-win/rntypes/**"
9
9
  ],
10
- "baseVersion": "0.77.0-nightly-20241031-3a01a0c9c",
10
+ "baseVersion": "0.77.0-nightly-20241125-4cffff35e",
11
11
  "overrides": [
12
12
  {
13
13
  "type": "derived",
14
14
  "file": ".flowconfig",
15
15
  "baseFile": ".flowconfig",
16
- "baseHash": "16d33187350d986e6c2fd343ff06f8f1c6f64ebf"
16
+ "baseHash": "168a2b4bcf33aba4727eb608902b17b4eb74c95d"
17
17
  },
18
18
  {
19
19
  "type": "derived",
@@ -41,7 +41,7 @@
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": "af6ef360caf09cee7b488a3fa7439f749216c51c"
44
+ "baseHash": "e91ae4454ae1301d97a60755ecc863bf738542e3"
45
45
  },
46
46
  {
47
47
  "type": "copy",
@@ -109,7 +109,7 @@
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": "87f676e0bfd031b3dd8c79cf78b64af3c525b151"
112
+ "baseHash": "1f9adcb7ca64fa536372ed28b7af5e03b05458ac"
113
113
  },
114
114
  {
115
115
  "type": "patch",
@@ -191,13 +191,13 @@
191
191
  "type": "derived",
192
192
  "file": "src-win/Libraries/Components/View/ViewPropTypes.d.ts",
193
193
  "baseFile": "packages/react-native/Libraries/Components/View/ViewPropTypes.d.ts",
194
- "baseHash": "8e33800dfdd3b50e26c3331abb8b4682c091602f"
194
+ "baseHash": "050f28e7caeef2e52717a7c43c6964612eb75ee9"
195
195
  },
196
196
  {
197
197
  "type": "patch",
198
198
  "file": "src-win/Libraries/Components/View/ViewPropTypes.win32.js",
199
199
  "baseFile": "packages/react-native/Libraries/Components/View/ViewPropTypes.js",
200
- "baseHash": "a742b26e4c96fdefb07779e40bc58cd1cc872675",
200
+ "baseHash": "994aead3d5ab49e6bd34a497094a4bc131a8bdb1",
201
201
  "issue": 6240
202
202
  },
203
203
  {
@@ -298,7 +298,7 @@
298
298
  "type": "derived",
299
299
  "file": "src-win/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.win32.js",
300
300
  "baseFile": "packages/react-native/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js",
301
- "baseHash": "dff994bb88b8c91090c381c871e6dc83d2511004"
301
+ "baseHash": "c4ffa785bf199918400e4f569849b73187f4b3cc"
302
302
  },
303
303
  {
304
304
  "type": "patch",
@@ -452,7 +452,7 @@
452
452
  "type": "copy",
453
453
  "file": "src-win/Libraries/Utilities/BackHandler.win32.js",
454
454
  "baseFile": "packages/react-native/Libraries/Utilities/BackHandler.android.js",
455
- "baseHash": "796868f6764037baf433afd88053bb51f3194ddc",
455
+ "baseHash": "b5972a6f2b9da718f57eb7dd9f20b4d67164c980",
456
456
  "issue": 4629
457
457
  },
458
458
  {
@@ -516,7 +516,7 @@
516
516
  "type": "derived",
517
517
  "file": "src-win/src/private/specs/modules/NativeAccessibilityInfoWin32.js",
518
518
  "baseFile": "packages/react-native/src/private/specs/modules/NativeAccessibilityInfo.js",
519
- "baseHash": "f719796211617b9fd439f74622757e2af5288281"
519
+ "baseHash": "82fc086f675dec489e485c3aabaabe1225ef5f36"
520
520
  },
521
521
  {
522
522
  "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.274",
3
+ "version": "0.0.0-canary.276",
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-20241031-3a01a0c9c",
34
- "@react-native/codegen": "0.77.0-nightly-20241031-3a01a0c9c",
35
- "@react-native/community-cli-plugin": "0.77.0-nightly-20241031-3a01a0c9c",
36
- "@react-native/gradle-plugin": "0.77.0-nightly-20241031-3a01a0c9c",
37
- "@react-native/js-polyfills": "0.77.0-nightly-20241031-3a01a0c9c",
38
- "@react-native/normalize-colors": "0.77.0-nightly-20241031-3a01a0c9c",
39
- "@react-native/virtualized-lists": "0.77.0-nightly-20241031-3a01a0c9c",
33
+ "@react-native/assets-registry": "0.77.0-nightly-20241125-4cffff35e",
34
+ "@react-native/codegen": "0.77.0-nightly-20241125-4cffff35e",
35
+ "@react-native/community-cli-plugin": "0.77.0-nightly-20241125-4cffff35e",
36
+ "@react-native/gradle-plugin": "0.77.0-nightly-20241125-4cffff35e",
37
+ "@react-native/js-polyfills": "0.77.0-nightly-20241125-4cffff35e",
38
+ "@react-native/normalize-colors": "0.77.0-nightly-20241125-4cffff35e",
39
+ "@react-native/virtualized-lists": "0.77.0-nightly-20241125-4cffff35e",
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.24.0",
45
+ "babel-plugin-syntax-hermes-parser": "0.25.1",
46
46
  "base64-js": "^1.5.1",
47
47
  "chalk": "^4.0.0",
48
48
  "commander": "^12.0.0",
@@ -64,7 +64,7 @@
64
64
  "react-refresh": "^0.14.0",
65
65
  "react-shallow-renderer": "^16.15.0",
66
66
  "regenerator-runtime": "^0.13.2",
67
- "scheduler": "0.25.0-rc-fb9a90fa48-20240614",
67
+ "scheduler": "0.24.0-canary-efb381bbf-20230505",
68
68
  "semver": "^7.1.3",
69
69
  "stacktrace-parser": "^0.1.10",
70
70
  "whatwg-fetch": "^3.0.0",
@@ -89,15 +89,15 @@
89
89
  "jscodeshift": "^0.14.0",
90
90
  "just-scripts": "^1.3.3",
91
91
  "prettier": "2.8.8",
92
- "react": "19.0.0-rc-fb9a90fa48-20240614",
93
- "react-native": "0.77.0-nightly-20241031-3a01a0c9c",
92
+ "react": "18.3.1",
93
+ "react-native": "0.77.0-nightly-20241125-4cffff35e",
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
- "react": "^19.0.0-rc-fb9a90fa48-20240614",
100
- "react-native": "0.77.0-nightly-20241031-3a01a0c9c"
99
+ "react": "^18.2.0",
100
+ "react-native": "0.77.0-nightly-20241125-4cffff35e"
101
101
  },
102
102
  "beachball": {
103
103
  "defaultNpmTag": "canary",
@@ -12,43 +12,18 @@
12
12
  import type {ScrollViewNativeProps} from '../../../Libraries/Components/ScrollView/ScrollViewNativeComponentType';
13
13
  import type {ViewProps} from '../../../Libraries/Components/View/ViewPropTypes';
14
14
  import type {HostComponent} from '../../../Libraries/Renderer/shims/ReactNativeTypes';
15
- import type {TScrollViewNativeImperativeHandle} from './useSyncOnScroll';
16
15
 
17
16
  import AndroidHorizontalScrollViewNativeComponent from '../../../Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent';
18
17
  import ScrollContentViewNativeComponent from '../../../Libraries/Components/ScrollView/ScrollContentViewNativeComponent';
19
18
  import ScrollViewNativeComponent from '../../../Libraries/Components/ScrollView/ScrollViewNativeComponent';
20
19
  import Platform from '../../../Libraries/Utilities/Platform';
21
20
  import AndroidHorizontalScrollContentViewNativeComponent from '../specs/components/AndroidHorizontalScrollContentViewNativeComponent';
22
- import useSyncOnScroll from './useSyncOnScroll';
23
- import * as React from 'react';
24
- import {forwardRef} from 'react';
25
21
 
26
- const HScrollViewNativeComponentForPlatform =
22
+ export const HScrollViewNativeComponent: HostComponent<ScrollViewNativeProps> =
27
23
  Platform.OS === 'android'
28
24
  ? AndroidHorizontalScrollViewNativeComponent
29
25
  : ScrollViewNativeComponent;
30
26
 
31
- // TODO: After upgrading to React 19, remove `forwardRef` from this component.
32
- export const HScrollViewNativeComponent: component(
33
- ref: React.RefSetter<TScrollViewNativeImperativeHandle>,
34
- ...ScrollViewNativeProps
35
- ) = forwardRef(function HScrollViewNativeComponent(
36
- props: ScrollViewNativeProps,
37
- ref: ?React.RefSetter<TScrollViewNativeImperativeHandle | null>,
38
- ): React.Node {
39
- const [componentRef, enableSyncOnScroll] = useSyncOnScroll(ref);
40
- // NOTE: When `useSyncOnScroll` triggers an update, `props` will not have
41
- // changed. Notably, `props.children` will be the same, allowing React to
42
- // bail out during reconciliation.
43
- return (
44
- <HScrollViewNativeComponentForPlatform
45
- {...props}
46
- ref={componentRef}
47
- enableSyncOnScroll={enableSyncOnScroll}
48
- />
49
- );
50
- });
51
-
52
27
  export const HScrollContentViewNativeComponent: HostComponent<ViewProps> =
53
28
  Platform.OS === 'android'
54
29
  ? AndroidHorizontalScrollContentViewNativeComponent
@@ -12,36 +12,14 @@
12
12
  import type {ScrollViewNativeProps} from '../../../Libraries/Components/ScrollView/ScrollViewNativeComponentType';
13
13
  import type {ViewProps} from '../../../Libraries/Components/View/ViewPropTypes';
14
14
  import type {HostComponent} from '../../../Libraries/Renderer/shims/ReactNativeTypes';
15
- import type {TScrollViewNativeImperativeHandle} from './useSyncOnScroll';
16
15
 
17
16
  import ScrollContentViewNativeComponent from '../../../Libraries/Components/ScrollView/ScrollContentViewNativeComponent';
18
17
  import ScrollViewNativeComponent from '../../../Libraries/Components/ScrollView/ScrollViewNativeComponent';
19
18
  import View from '../../../Libraries/Components/View/View';
20
19
  import Platform from '../../../Libraries/Utilities/Platform';
21
- import useSyncOnScroll from './useSyncOnScroll';
22
- import * as React from 'react';
23
- import {forwardRef} from 'react';
24
20
 
25
- // TODO: After upgrading to React 19, remove `forwardRef` from this component.
26
- export const VScrollViewNativeComponent: component(
27
- ref: React.RefSetter<TScrollViewNativeImperativeHandle>,
28
- ...props: ScrollViewNativeProps
29
- ) = forwardRef(function VScrollViewNativeComponent(
30
- props: ScrollViewNativeProps,
31
- ref: ?React.RefSetter<TScrollViewNativeImperativeHandle | null>,
32
- ): React.Node {
33
- const [componentRef, enableSyncOnScroll] = useSyncOnScroll(ref);
34
- // NOTE: When `useSyncOnScroll` triggers an update, `props` will not have
35
- // changed. Notably, `props.children` will be the same, allowing React to
36
- // bail out during reconciliation.
37
- return (
38
- <ScrollViewNativeComponent
39
- {...props}
40
- ref={componentRef}
41
- enableSyncOnScroll={enableSyncOnScroll}
42
- />
43
- );
44
- });
21
+ export const VScrollViewNativeComponent: HostComponent<ScrollViewNativeProps> =
22
+ ScrollViewNativeComponent;
45
23
 
46
24
  export const VScrollContentViewNativeComponent: HostComponent<ViewProps> =
47
25
  Platform.OS === 'android' ? View : ScrollContentViewNativeComponent;
@@ -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<<27ae96c2bc3459bd89e52063a8ed9490>>
7
+ * @generated SignedSource<<83b5798ee1c7a28fffbf110e19641d69>>
8
8
  * @flow strict
9
9
  */
10
10
 
@@ -30,18 +30,17 @@ export type ReactNativeFeatureFlagsJsOnly = {
30
30
  jsOnlyTestFlag: Getter<boolean>,
31
31
  animatedShouldDebounceQueueFlush: Getter<boolean>,
32
32
  animatedShouldUseSingleOp: Getter<boolean>,
33
+ disableInteractionManager: Getter<boolean>,
34
+ disableInteractionManagerInBatchinator: Getter<boolean>,
33
35
  enableAccessToHostTreeInFabric: Getter<boolean>,
34
36
  enableAnimatedAllowlist: Getter<boolean>,
35
37
  enableAnimatedClearImmediateFix: Getter<boolean>,
36
38
  enableAnimatedPropsMemo: Getter<boolean>,
37
- enableOptimisedVirtualizedCells: Getter<boolean>,
38
39
  isLayoutAnimationEnabled: Getter<boolean>,
39
- scheduleAnimatedEndCallbackInMicrotask: Getter<boolean>,
40
40
  shouldSkipStateUpdatesForLoopingAnimations: Getter<boolean>,
41
41
  shouldUseAnimatedObjectForTransform: Getter<boolean>,
42
42
  shouldUseRemoveClippedSubviewsAsDefaultOnIOS: Getter<boolean>,
43
43
  shouldUseSetNativePropsInFabric: Getter<boolean>,
44
- shouldUseSetNativePropsInNativeAnimationsInFabric: Getter<boolean>,
45
44
  useInsertionEffectsForAnimations: Getter<boolean>,
46
45
  useRefsForTextInputState: Getter<boolean>,
47
46
  };
@@ -52,8 +51,6 @@ export type ReactNativeFeatureFlags = {
52
51
  ...ReactNativeFeatureFlagsJsOnly,
53
52
  commonTestFlag: Getter<boolean>,
54
53
  commonTestFlagWithoutNativeImplementation: Getter<boolean>,
55
- allowRecursiveCommitsWithSynchronousMountOnAndroid: Getter<boolean>,
56
- batchRenderingUpdatesInEventLoop: Getter<boolean>,
57
54
  completeReactInstanceCreationOnBgThreadOnAndroid: Getter<boolean>,
58
55
  disableEventLoopOnBridgeless: Getter<boolean>,
59
56
  disableMountItemReorderingAndroid: Getter<boolean>,
@@ -67,12 +64,12 @@ export type ReactNativeFeatureFlags = {
67
64
  enableFabricLogs: Getter<boolean>,
68
65
  enableFabricRenderer: Getter<boolean>,
69
66
  enableFabricRendererExclusively: Getter<boolean>,
67
+ enableFixForViewCommandRace: Getter<boolean>,
70
68
  enableGranularShadowTreeStateReconciliation: Getter<boolean>,
71
69
  enableIOSViewClipToPaddingBox: Getter<boolean>,
72
70
  enableLayoutAnimationsOnAndroid: Getter<boolean>,
73
71
  enableLayoutAnimationsOnIOS: Getter<boolean>,
74
72
  enableLongTaskAPI: Getter<boolean>,
75
- enableMicrotasks: Getter<boolean>,
76
73
  enableNewBackgroundAndBorderDrawables: Getter<boolean>,
77
74
  enablePreciseSchedulingForPremountItemsOnAndroid: Getter<boolean>,
78
75
  enablePropsUpdateReconciliationAndroid: Getter<boolean>,
@@ -83,18 +80,15 @@ export type ReactNativeFeatureFlags = {
83
80
  excludeYogaFromRawProps: Getter<boolean>,
84
81
  fixMappingOfEventPrioritiesBetweenFabricAndReact: Getter<boolean>,
85
82
  fixMountingCoordinatorReportedPendingTransactionsOnAndroid: Getter<boolean>,
86
- forceBatchingMountItemsOnAndroid: Getter<boolean>,
87
83
  fuseboxEnabledDebug: Getter<boolean>,
88
84
  fuseboxEnabledRelease: Getter<boolean>,
89
85
  initEagerTurboModulesOnNativeModulesQueueAndroid: Getter<boolean>,
90
86
  lazyAnimationCallbacks: Getter<boolean>,
91
87
  loadVectorDrawablesOnImages: Getter<boolean>,
92
- setAndroidLayoutDirection: Getter<boolean>,
93
88
  traceTurboModulePromiseRejectionsOnAndroid: Getter<boolean>,
94
89
  useAlwaysAvailableJSErrorHandling: Getter<boolean>,
95
90
  useFabricInterop: Getter<boolean>,
96
91
  useImmediateExecutorInAndroidBridgeless: Getter<boolean>,
97
- useModernRuntimeScheduler: Getter<boolean>,
98
92
  useNativeViewConfigsInBridgelessMode: Getter<boolean>,
99
93
  useOptimisedViewPreallocationOnAndroid: Getter<boolean>,
100
94
  useOptimizedEventBatchingOnAndroid: Getter<boolean>,
@@ -118,6 +112,16 @@ export const animatedShouldDebounceQueueFlush: Getter<boolean> = createJavaScrip
118
112
  */
119
113
  export const animatedShouldUseSingleOp: Getter<boolean> = createJavaScriptFlagGetter('animatedShouldUseSingleOp', false);
120
114
 
115
+ /**
116
+ * Disables InteractionManager and replaces its scheduler with `setImmediate`.
117
+ */
118
+ export const disableInteractionManager: Getter<boolean> = createJavaScriptFlagGetter('disableInteractionManager', false);
119
+
120
+ /**
121
+ * Skips InteractionManager in `Batchinator` and invokes callbacks synchronously.
122
+ */
123
+ export const disableInteractionManagerInBatchinator: Getter<boolean> = createJavaScriptFlagGetter('disableInteractionManagerInBatchinator', false);
124
+
121
125
  /**
122
126
  * Enables access to the host tree in Fabric using DOM-compatible APIs.
123
127
  */
@@ -126,7 +130,7 @@ export const enableAccessToHostTreeInFabric: Getter<boolean> = createJavaScriptF
126
130
  /**
127
131
  * Enables Animated to skip non-allowlisted props and styles.
128
132
  */
129
- export const enableAnimatedAllowlist: Getter<boolean> = createJavaScriptFlagGetter('enableAnimatedAllowlist', false);
133
+ export const enableAnimatedAllowlist: Getter<boolean> = createJavaScriptFlagGetter('enableAnimatedAllowlist', true);
130
134
 
131
135
  /**
132
136
  * Enables an experimental to use the proper clearIntermediate instead of calling the wrong clearTimeout and canceling another timer.
@@ -136,23 +140,13 @@ export const enableAnimatedClearImmediateFix: Getter<boolean> = createJavaScript
136
140
  /**
137
141
  * Enables Animated to analyze props to minimize invalidating `AnimatedProps`.
138
142
  */
139
- export const enableAnimatedPropsMemo: Getter<boolean> = createJavaScriptFlagGetter('enableAnimatedPropsMemo', false);
140
-
141
- /**
142
- * Removing unnecessary rerenders Virtualized cells after any rerenders of Virualized list. Works with strict=true option
143
- */
144
- export const enableOptimisedVirtualizedCells: Getter<boolean> = createJavaScriptFlagGetter('enableOptimisedVirtualizedCells', false);
143
+ export const enableAnimatedPropsMemo: Getter<boolean> = createJavaScriptFlagGetter('enableAnimatedPropsMemo', true);
145
144
 
146
145
  /**
147
146
  * Function used to enable / disabled Layout Animations in React Native.
148
147
  */
149
148
  export const isLayoutAnimationEnabled: Getter<boolean> = createJavaScriptFlagGetter('isLayoutAnimationEnabled', true);
150
149
 
151
- /**
152
- * Changes the completion callback supplied via `Animation#start` to be scheduled in a microtask instead of synchronously executed.
153
- */
154
- export const scheduleAnimatedEndCallbackInMicrotask: Getter<boolean> = createJavaScriptFlagGetter('scheduleAnimatedEndCallbackInMicrotask', false);
155
-
156
150
  /**
157
151
  * If the animation is within Animated.loop, we do not send state updates to React.
158
152
  */
@@ -173,15 +167,10 @@ export const shouldUseRemoveClippedSubviewsAsDefaultOnIOS: Getter<boolean> = cre
173
167
  */
174
168
  export const shouldUseSetNativePropsInFabric: Getter<boolean> = createJavaScriptFlagGetter('shouldUseSetNativePropsInFabric', true);
175
169
 
176
- /**
177
- * Enables use of setNativeProps in Native driven animations in Fabric.
178
- */
179
- export const shouldUseSetNativePropsInNativeAnimationsInFabric: Getter<boolean> = createJavaScriptFlagGetter('shouldUseSetNativePropsInNativeAnimationsInFabric', false);
180
-
181
170
  /**
182
171
  * Changes construction of the animation graph to `useInsertionEffect` instead of `useLayoutEffect`.
183
172
  */
184
- export const useInsertionEffectsForAnimations: Getter<boolean> = createJavaScriptFlagGetter('useInsertionEffectsForAnimations', false);
173
+ export const useInsertionEffectsForAnimations: Getter<boolean> = createJavaScriptFlagGetter('useInsertionEffectsForAnimations', true);
185
174
 
186
175
  /**
187
176
  * Enable a variant of TextInput that moves some state to refs to avoid unnecessary re-renders
@@ -196,18 +185,10 @@ export const commonTestFlag: Getter<boolean> = createNativeFlagGetter('commonTes
196
185
  * Common flag for testing (without native implementation). Do NOT modify.
197
186
  */
198
187
  export const commonTestFlagWithoutNativeImplementation: Getter<boolean> = createNativeFlagGetter('commonTestFlagWithoutNativeImplementation', false);
199
- /**
200
- * Adds support for recursively processing commits that mount synchronously (Android only).
201
- */
202
- export const allowRecursiveCommitsWithSynchronousMountOnAndroid: Getter<boolean> = createNativeFlagGetter('allowRecursiveCommitsWithSynchronousMountOnAndroid', false);
203
- /**
204
- * When enabled, the RuntimeScheduler processing the event loop will batch all rendering updates and dispatch them together at the end of each iteration of the loop.
205
- */
206
- export const batchRenderingUpdatesInEventLoop: Getter<boolean> = createNativeFlagGetter('batchRenderingUpdatesInEventLoop', false);
207
188
  /**
208
189
  * Do not wait for a main-thread dispatch to complete init to start executing work on the JS thread on Android
209
190
  */
210
- export const completeReactInstanceCreationOnBgThreadOnAndroid: Getter<boolean> = createNativeFlagGetter('completeReactInstanceCreationOnBgThreadOnAndroid', false);
191
+ export const completeReactInstanceCreationOnBgThreadOnAndroid: Getter<boolean> = createNativeFlagGetter('completeReactInstanceCreationOnBgThreadOnAndroid', true);
211
192
  /**
212
193
  * The bridgeless architecture enables the event loop by default. This feature flag allows us to force disabling it in specific instances.
213
194
  */
@@ -256,6 +237,10 @@ export const enableFabricRenderer: Getter<boolean> = createNativeFlagGetter('ena
256
237
  * When the app is completely migrated to Fabric, set this flag to true to disable parts of Paper infrastructure that are not needed anymore but consume memory and CPU. Specifically, UIViewOperationQueue and EventDispatcherImpl will no longer work as they will not subscribe to ReactChoreographer for updates.
257
238
  */
258
239
  export const enableFabricRendererExclusively: Getter<boolean> = createNativeFlagGetter('enableFabricRendererExclusively', false);
240
+ /**
241
+ * Synchronise the view command dispatching with mounting of new transaction
242
+ */
243
+ export const enableFixForViewCommandRace: Getter<boolean> = createNativeFlagGetter('enableFixForViewCommandRace', false);
259
244
  /**
260
245
  * When enabled, the renderer would only fail commits when they propagate state and the last commit that updated state changed before committing.
261
246
  */
@@ -276,10 +261,6 @@ export const enableLayoutAnimationsOnIOS: Getter<boolean> = createNativeFlagGett
276
261
  * Enables the reporting of long tasks through `PerformanceObserver`. Only works if the event loop is enabled.
277
262
  */
278
263
  export const enableLongTaskAPI: Getter<boolean> = createNativeFlagGetter('enableLongTaskAPI', false);
279
- /**
280
- * Enables the use of microtasks in Hermes (scheduling) and RuntimeScheduler (execution).
281
- */
282
- export const enableMicrotasks: Getter<boolean> = createNativeFlagGetter('enableMicrotasks', false);
283
264
  /**
284
265
  * Use BackgroundDrawable and BorderDrawable instead of CSSBackgroundDrawable
285
266
  */
@@ -320,10 +301,6 @@ export const fixMappingOfEventPrioritiesBetweenFabricAndReact: Getter<boolean> =
320
301
  * Fixes a limitation on Android where the mounting coordinator would report there are no pending transactions but some of them were actually not processed due to the use of the push model.
321
302
  */
322
303
  export const fixMountingCoordinatorReportedPendingTransactionsOnAndroid: Getter<boolean> = createNativeFlagGetter('fixMountingCoordinatorReportedPendingTransactionsOnAndroid', false);
323
- /**
324
- * Forces the mounting layer on Android to always batch mount items instead of dispatching them immediately. This might fix some crashes related to synchronous state updates, where some views dispatch state updates during mount.
325
- */
326
- export const forceBatchingMountItemsOnAndroid: Getter<boolean> = createNativeFlagGetter('forceBatchingMountItemsOnAndroid', false);
327
304
  /**
328
305
  * Flag determining if the React Native DevTools (Fusebox) CDP backend should be enabled in debug builds. This flag is global and should not be changed across React Host lifetimes.
329
306
  */
@@ -335,7 +312,7 @@ export const fuseboxEnabledRelease: Getter<boolean> = createNativeFlagGetter('fu
335
312
  /**
336
313
  * Construct modules that requires eager init on the dedicate native modules thread
337
314
  */
338
- export const initEagerTurboModulesOnNativeModulesQueueAndroid: Getter<boolean> = createNativeFlagGetter('initEagerTurboModulesOnNativeModulesQueueAndroid', false);
315
+ export const initEagerTurboModulesOnNativeModulesQueueAndroid: Getter<boolean> = createNativeFlagGetter('initEagerTurboModulesOnNativeModulesQueueAndroid', true);
339
316
  /**
340
317
  * Only enqueue Choreographer calls if there is an ongoing animation, instead of enqueueing every frame.
341
318
  */
@@ -344,10 +321,6 @@ export const lazyAnimationCallbacks: Getter<boolean> = createNativeFlagGetter('l
344
321
  * Adds support for loading vector drawable assets in the Image component (only on Android)
345
322
  */
346
323
  export const loadVectorDrawablesOnImages: Getter<boolean> = createNativeFlagGetter('loadVectorDrawablesOnImages', false);
347
- /**
348
- * Propagate layout direction to Android views.
349
- */
350
- export const setAndroidLayoutDirection: Getter<boolean> = createNativeFlagGetter('setAndroidLayoutDirection', true);
351
324
  /**
352
325
  * Enables storing js caller stack when creating promise in native module. This is useful in case of Promise rejection and tracing the cause.
353
326
  */
@@ -363,11 +336,7 @@ export const useFabricInterop: Getter<boolean> = createNativeFlagGetter('useFabr
363
336
  /**
364
337
  * Invoke callbacks immediately on the ReactInstance rather than going through a background thread for synchronization
365
338
  */
366
- export const useImmediateExecutorInAndroidBridgeless: Getter<boolean> = createNativeFlagGetter('useImmediateExecutorInAndroidBridgeless', false);
367
- /**
368
- * When enabled, it uses the modern fork of RuntimeScheduler that allows scheduling tasks with priorities from any thread.
369
- */
370
- export const useModernRuntimeScheduler: Getter<boolean> = createNativeFlagGetter('useModernRuntimeScheduler', false);
339
+ export const useImmediateExecutorInAndroidBridgeless: Getter<boolean> = createNativeFlagGetter('useImmediateExecutorInAndroidBridgeless', true);
371
340
  /**
372
341
  * When enabled, the native view configs are used in bridgeless mode.
373
342
  */
@@ -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<<d4297e2a804f238f538463d3d9af480a>>
7
+ * @generated SignedSource<<4caaf5dbaa68614ce53c8aecbd512df8>>
8
8
  * @flow strict
9
9
  */
10
10
 
@@ -25,8 +25,6 @@ import * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboMod
25
25
  export interface Spec extends TurboModule {
26
26
  +commonTestFlag?: () => boolean;
27
27
  +commonTestFlagWithoutNativeImplementation?: () => boolean;
28
- +allowRecursiveCommitsWithSynchronousMountOnAndroid?: () => boolean;
29
- +batchRenderingUpdatesInEventLoop?: () => boolean;
30
28
  +completeReactInstanceCreationOnBgThreadOnAndroid?: () => boolean;
31
29
  +disableEventLoopOnBridgeless?: () => boolean;
32
30
  +disableMountItemReorderingAndroid?: () => boolean;
@@ -40,12 +38,12 @@ export interface Spec extends TurboModule {
40
38
  +enableFabricLogs?: () => boolean;
41
39
  +enableFabricRenderer?: () => boolean;
42
40
  +enableFabricRendererExclusively?: () => boolean;
41
+ +enableFixForViewCommandRace?: () => boolean;
43
42
  +enableGranularShadowTreeStateReconciliation?: () => boolean;
44
43
  +enableIOSViewClipToPaddingBox?: () => boolean;
45
44
  +enableLayoutAnimationsOnAndroid?: () => boolean;
46
45
  +enableLayoutAnimationsOnIOS?: () => boolean;
47
46
  +enableLongTaskAPI?: () => boolean;
48
- +enableMicrotasks?: () => boolean;
49
47
  +enableNewBackgroundAndBorderDrawables?: () => boolean;
50
48
  +enablePreciseSchedulingForPremountItemsOnAndroid?: () => boolean;
51
49
  +enablePropsUpdateReconciliationAndroid?: () => boolean;
@@ -56,18 +54,15 @@ export interface Spec extends TurboModule {
56
54
  +excludeYogaFromRawProps?: () => boolean;
57
55
  +fixMappingOfEventPrioritiesBetweenFabricAndReact?: () => boolean;
58
56
  +fixMountingCoordinatorReportedPendingTransactionsOnAndroid?: () => boolean;
59
- +forceBatchingMountItemsOnAndroid?: () => boolean;
60
57
  +fuseboxEnabledDebug?: () => boolean;
61
58
  +fuseboxEnabledRelease?: () => boolean;
62
59
  +initEagerTurboModulesOnNativeModulesQueueAndroid?: () => boolean;
63
60
  +lazyAnimationCallbacks?: () => boolean;
64
61
  +loadVectorDrawablesOnImages?: () => boolean;
65
- +setAndroidLayoutDirection?: () => boolean;
66
62
  +traceTurboModulePromiseRejectionsOnAndroid?: () => boolean;
67
63
  +useAlwaysAvailableJSErrorHandling?: () => boolean;
68
64
  +useFabricInterop?: () => boolean;
69
65
  +useImmediateExecutorInAndroidBridgeless?: () => boolean;
70
- +useModernRuntimeScheduler?: () => boolean;
71
66
  +useNativeViewConfigsInBridgelessMode?: () => boolean;
72
67
  +useOptimisedViewPreallocationOnAndroid?: () => boolean;
73
68
  +useOptimizedEventBatchingOnAndroid?: () => boolean;
@@ -8,8 +8,7 @@
8
8
  * @format
9
9
  */
10
10
 
11
- import DOMRect from '../webapis/dom/geometry/DOMRect';
12
- import DOMRectReadOnly from '../webapis/dom/geometry/DOMRectReadOnly';
11
+ import {polyfillGlobal} from '../../../Libraries/Utilities/PolyfillFunctions';
13
12
 
14
13
  let initialized = false;
15
14
 
@@ -20,9 +19,18 @@ export default function setUpDOM() {
20
19
 
21
20
  initialized = true;
22
21
 
23
- // $FlowExpectedError[cannot-write] The global isn't writable anywhere but here, where we define it
24
- global.DOMRect = DOMRect;
22
+ polyfillGlobal(
23
+ 'DOMRect',
24
+ () => require('../webapis/dom/geometry/DOMRect').default,
25
+ );
25
26
 
26
- // $FlowExpectedError[cannot-write] The global isn't writable anywhere but here, where we define it
27
- global.DOMRectReadOnly = DOMRectReadOnly;
27
+ polyfillGlobal(
28
+ 'DOMRectReadOnly',
29
+ () => require('../webapis/dom/geometry/DOMRectReadOnly').default,
30
+ );
31
+
32
+ polyfillGlobal(
33
+ 'NodeList',
34
+ () => require('../webapis/dom/oldstylecollections/NodeList').default,
35
+ );
28
36
  }
@@ -23,4 +23,9 @@ export default function setUpMutationObserver() {
23
23
  'MutationObserver',
24
24
  () => require('../webapis/mutationobserver/MutationObserver').default,
25
25
  );
26
+
27
+ polyfillGlobal(
28
+ 'MutationRecord',
29
+ () => require('../webapis/mutationobserver/MutationRecord').default,
30
+ );
26
31
  }
@@ -58,6 +58,14 @@ type NativeProps = $ReadOnly<{|
58
58
  */
59
59
  statusBarTranslucent?: WithDefault<boolean, false>,
60
60
 
61
+ /**
62
+ * The `navigationBarTranslucent` prop determines whether your modal should go under
63
+ * the system navigationbar.
64
+ *
65
+ * See https://reactnative.dev/docs/modal#navigationBarTranslucent
66
+ */
67
+ navigationBarTranslucent?: WithDefault<boolean, false>,
68
+
61
69
  /**
62
70
  * The `hardwareAccelerated` prop controls whether to force hardware
63
71
  * acceleration for the underlying window.
@@ -16,6 +16,9 @@ export interface Spec extends TurboModule {
16
16
  +isReduceMotionEnabled: (
17
17
  onSuccess: (isReduceMotionEnabled: boolean) => void,
18
18
  ) => void;
19
+ +isInvertColorsEnabled?: (
20
+ onSuccess: (isInvertColorsEnabled: boolean) => void,
21
+ ) => void;
19
22
  +isHighTextContrastEnabled?: (
20
23
  onSuccess: (isHighTextContrastEnabled: boolean) => void,
21
24
  ) => void;
@@ -31,6 +34,9 @@ export interface Spec extends TurboModule {
31
34
  mSec: number,
32
35
  onSuccess: (recommendedTimeoutMillis: number) => void,
33
36
  ) => void;
37
+ +isGrayscaleEnabled?: (
38
+ onSuccess: (isGrayscaleEnabled: boolean) => void,
39
+ ) => void;
34
40
  }
35
41
 
36
42
  export default (TurboModuleRegistry.get<Spec>('AccessibilityInfo'): ?Spec);
@@ -16,6 +16,9 @@ export interface Spec extends TurboModule {
16
16
  +isReduceMotionEnabled: (
17
17
  onSuccess: (isReduceMotionEnabled: boolean) => void,
18
18
  ) => void;
19
+ +isInvertColorsEnabled?: (
20
+ onSuccess: (isInvertColorsEnabled: boolean) => void,
21
+ ) => void;
19
22
  +isHighTextContrastEnabled?: (
20
23
  onSuccess: (isHighTextContrastEnabled: boolean) => void,
21
24
  ) => void;
@@ -37,6 +40,9 @@ export interface Spec extends TurboModule {
37
40
  mSec: number,
38
41
  onSuccess: (recommendedTimeoutMillis: number) => void,
39
42
  ) => void;
43
+ +isGrayscaleEnabled?: (
44
+ onSuccess: (isGrayscaleEnabled: boolean) => void,
45
+ ) => void;
40
46
  }
41
47
 
42
48
  export default (TurboModuleRegistry.get<Spec>('AccessibilityInfo'): ?Spec);
@@ -24,6 +24,7 @@ export interface Spec extends TurboModule {
24
24
  +anchor?: ?number,
25
25
  +tintColor?: ?number,
26
26
  +cancelButtonTintColor?: ?number,
27
+ +disabledButtonTintColor?: ?number,
27
28
  +userInterfaceStyle?: ?string,
28
29
  +disabledButtonIndices?: Array<number>,
29
30
  |},
@@ -37,6 +38,7 @@ export interface Spec extends TurboModule {
37
38
  +anchor?: ?number,
38
39
  +tintColor?: ?number,
39
40
  +cancelButtonTintColor?: ?number,
41
+ +disabledButtonTintColor?: ?number,
40
42
  +excludedActivityTypes?: ?Array<string>,
41
43
  +userInterfaceStyle?: ?string,
42
44
  |},