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

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 (78) hide show
  1. package/.flowconfig +5 -1
  2. package/CHANGELOG.json +16 -1
  3. package/CHANGELOG.md +12 -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/Components/AccessibilityInfo/AccessibilityInfo.js +16 -2
  10. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js +21 -2
  11. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +0 -1
  12. package/Libraries/Components/ScrollView/ScrollView.js +35 -74
  13. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +0 -2
  14. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +0 -1
  15. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +1 -0
  16. package/Libraries/Components/TextInput/TextInput.flow.js +6 -0
  17. package/Libraries/Components/TextInput/TextInput.js +7 -1
  18. package/Libraries/Components/TextInput/TextInput.win32.js +7 -1
  19. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -2
  20. package/Libraries/Components/View/ViewPropTypes.d.ts +7 -0
  21. package/Libraries/Core/ExceptionsManager.js +1 -4
  22. package/Libraries/Core/ReactNativeVersion.js +1 -1
  23. package/Libraries/Core/setUpErrorHandling.js +20 -18
  24. package/Libraries/Core/setUpTimers.js +4 -12
  25. package/Libraries/Image/Image.d.ts +2 -0
  26. package/Libraries/Image/ImageProps.js +2 -1
  27. package/Libraries/Image/ImageResizeMode.d.ts +8 -1
  28. package/Libraries/Image/ImageResizeMode.js +4 -1
  29. package/Libraries/Image/ImageSource.d.ts +0 -2
  30. package/Libraries/Image/ImageSource.js +0 -2
  31. package/Libraries/Image/ImageUtils.js +6 -3
  32. package/Libraries/Inspector/Inspector.win32.js +1 -1
  33. package/Libraries/Interaction/InteractionManager.js +6 -1
  34. package/Libraries/Interaction/InteractionManagerStub.js +176 -0
  35. package/Libraries/Lists/FlatList.js +2 -2
  36. package/Libraries/LogBox/LogBox.js +1 -1
  37. package/Libraries/LogBox/UI/AnsiHighlight.js +26 -17
  38. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +6 -1
  39. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.win32.js +6 -1
  40. package/Libraries/Modal/Modal.d.ts +5 -0
  41. package/Libraries/Modal/Modal.js +17 -0
  42. package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +49 -2
  43. package/Libraries/Pressability/usePressability.js +4 -1
  44. package/Libraries/ReactNative/AppRegistry.js +0 -6
  45. package/Libraries/ReactNative/RendererImplementation.js +12 -12
  46. package/Libraries/ReactNative/renderApplication.js +3 -4
  47. package/Libraries/ReactNative/requireNativeComponent.js +2 -1
  48. package/Libraries/Renderer/implementations/ReactFabric-dev.js +26149 -15434
  49. package/Libraries/Renderer/implementations/ReactFabric-prod.js +1630 -2675
  50. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +1691 -2954
  51. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +27069 -16192
  52. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +1657 -2714
  53. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +1733 -2980
  54. package/Libraries/Renderer/shims/ReactFabric.js +3 -3
  55. package/Libraries/Renderer/shims/ReactFeatureFlags.js +2 -2
  56. package/Libraries/Renderer/shims/ReactNative.js +3 -3
  57. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
  58. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +7 -1
  59. package/Libraries/StyleSheet/StyleSheetTypes.js +5 -4
  60. package/Libraries/Utilities/BackHandler.android.js +6 -18
  61. package/Libraries/Utilities/BackHandler.d.ts +0 -4
  62. package/Libraries/Utilities/BackHandler.ios.js +0 -7
  63. package/Libraries/Utilities/BackHandler.win32.js +6 -18
  64. package/Libraries/Utilities/__mocks__/BackHandler.js +3 -8
  65. package/overrides.json +8 -8
  66. package/package.json +13 -13
  67. package/src/private/components/HScrollViewNativeComponents.js +1 -26
  68. package/src/private/components/VScrollViewNativeComponents.js +2 -24
  69. package/src/private/featureflags/ReactNativeFeatureFlags.js +18 -38
  70. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +2 -6
  71. package/src/private/specs/components/RCTModalHostViewNativeComponent.js +8 -0
  72. package/src/private/specs/modules/NativeAccessibilityInfo.js +6 -0
  73. package/src/private/specs/modules/NativeAccessibilityInfoWin32.js +6 -0
  74. package/src/private/specs/modules/NativeActionSheetManager.js +2 -0
  75. package/src-win/Libraries/Components/View/ViewPropTypes.d.ts +7 -0
  76. package/Libraries/ReactNative/ReactFabricInternals.js +0 -17
  77. package/src/private/components/useSyncOnScroll.js +0 -48
  78. package/types/experimental.d.ts +0 -59
@@ -7,7 +7,7 @@
7
7
  * @noformat
8
8
  * @nolint
9
9
  * @flow
10
- * @generated SignedSource<<bb39e39880fecbf572b5f8e7c2a95c5d>>
10
+ * @generated SignedSource<<cf323fc5ca893bab5669c7d321660412>>
11
11
  */
12
12
 
13
13
  'use strict';
@@ -16,7 +16,7 @@ import {BatchedBridge} from 'react-native/Libraries/ReactPrivate/ReactNativePriv
16
16
 
17
17
  import type {ReactFabricType} from './ReactNativeTypes';
18
18
 
19
- let ReactFabric;
19
+ let ReactFabric: ReactFabricType;
20
20
 
21
21
  if (__DEV__) {
22
22
  ReactFabric = require('../implementations/ReactFabric-dev');
@@ -30,4 +30,4 @@ if (global.RN$Bridgeless !== true) {
30
30
  BatchedBridge.registerCallableModule('ReactFabric', ReactFabric);
31
31
  }
32
32
 
33
- module.exports = (ReactFabric: ReactFabricType);
33
+ export default ReactFabric;
@@ -7,7 +7,7 @@
7
7
  * @noformat
8
8
  * @nolint
9
9
  * @flow strict-local
10
- * @generated SignedSource<<b1b5e34e426103a69612278fd5c9f77c>>
10
+ * @generated SignedSource<<908f5fb85384725318e261f40e49d9a6>>
11
11
  */
12
12
 
13
13
  'use strict';
@@ -16,4 +16,4 @@ const ReactFeatureFlags = {
16
16
  debugRenderPhaseSideEffects: false,
17
17
  };
18
18
 
19
- module.exports = ReactFeatureFlags;
19
+ export default ReactFeatureFlags;
@@ -7,13 +7,13 @@
7
7
  * @noformat
8
8
  * @nolint
9
9
  * @flow
10
- * @generated SignedSource<<475c7d864efc2948c6125ddb8a38a4fc>>
10
+ * @generated SignedSource<<8f46fdc9267fcc4fdc9e76842fe24066>>
11
11
  */
12
12
  'use strict';
13
13
 
14
14
  import type {ReactNativeType} from './ReactNativeTypes';
15
15
 
16
- let ReactNative;
16
+ let ReactNative: ReactNativeType;
17
17
 
18
18
  if (__DEV__) {
19
19
  ReactNative = require('../implementations/ReactNativeRenderer-dev');
@@ -21,4 +21,4 @@ if (__DEV__) {
21
21
  ReactNative = require('../implementations/ReactNativeRenderer-prod');
22
22
  }
23
23
 
24
- module.exports = (ReactNative: ReactNativeType);
24
+ export default ReactNative;
@@ -7,7 +7,7 @@
7
7
  * @noformat
8
8
  * @nolint
9
9
  * @flow strict-local
10
- * @generated SignedSource<<62e766b69d440dab0a2d249f0cea38e0>>
10
+ * @generated SignedSource<<52163887de05f1cff05388145cf85b3b>>
11
11
  */
12
12
 
13
13
  'use strict';
@@ -32,4 +32,4 @@ const createReactNativeComponentClass = function (
32
32
  return register(name, callback);
33
33
  };
34
34
 
35
- module.exports = createReactNativeComponentClass;
35
+ export default createReactNativeComponentClass;
@@ -434,6 +434,12 @@ export interface ViewStyle extends FlexStyle, ShadowStyleIOS, TransformsStyle {
434
434
  cursor?: CursorValue | undefined;
435
435
  boxShadow?: ReadonlyArray<BoxShadowValue> | string | undefined;
436
436
  filter?: ReadonlyArray<FilterFunction> | string | undefined;
437
+
438
+ mixBlendMode?: BlendMode | undefined;
439
+ experimental_backgroundImage?:
440
+ | ReadonlyArray<GradientValue>
441
+ | string
442
+ | undefined;
437
443
  }
438
444
 
439
445
  export type FontVariant =
@@ -562,6 +568,6 @@ export interface ImageStyle extends FlexStyle, ShadowStyleIOS, TransformsStyle {
562
568
  overlayColor?: ColorValue | undefined;
563
569
  tintColor?: ColorValue | undefined;
564
570
  opacity?: AnimatableNumericValue | undefined;
565
- objectFit?: 'cover' | 'contain' | 'fill' | 'scale-down' | undefined;
571
+ objectFit?: 'cover' | 'contain' | 'fill' | 'scale-down' | 'none' | undefined;
566
572
  cursor?: CursorValue | undefined;
567
573
  }
@@ -11,6 +11,7 @@
11
11
  'use strict';
12
12
 
13
13
  import type AnimatedNode from '../Animated/nodes/AnimatedNode';
14
+ import type {ImageResizeMode} from './../Image/ImageResizeMode';
14
15
  import type {
15
16
  ____DangerouslyImpreciseStyle_InternalOverrides,
16
17
  ____ImageStyle_InternalOverrides,
@@ -941,8 +942,8 @@ export type ____TextStyle_Internal = $ReadOnly<{
941
942
 
942
943
  export type ____ImageStyle_InternalCore = $ReadOnly<{
943
944
  ...$Exact<____ViewStyle_Internal>,
944
- resizeMode?: 'contain' | 'cover' | 'stretch' | 'center' | 'repeat',
945
- objectFit?: 'cover' | 'contain' | 'fill' | 'scale-down',
945
+ resizeMode?: ImageResizeMode,
946
+ objectFit?: 'cover' | 'contain' | 'fill' | 'scale-down' | 'none',
946
947
  tintColor?: ____ColorValue_Internal,
947
948
  overlayColor?: string,
948
949
  }>;
@@ -954,8 +955,8 @@ export type ____ImageStyle_Internal = $ReadOnly<{
954
955
 
955
956
  export type ____DangerouslyImpreciseStyle_InternalCore = $ReadOnly<{
956
957
  ...$Exact<____TextStyle_Internal>,
957
- resizeMode?: 'contain' | 'cover' | 'stretch' | 'center' | 'repeat',
958
- objectFit?: 'cover' | 'contain' | 'fill' | 'scale-down',
958
+ resizeMode?: ImageResizeMode,
959
+ objectFit?: 'cover' | 'contain' | 'fill' | 'scale-down' | 'none',
959
960
  tintColor?: ____ColorValue_Internal,
960
961
  overlayColor?: string,
961
962
  }>;
@@ -59,10 +59,6 @@ type TBackHandler = {|
59
59
  eventName: BackPressEventName,
60
60
  handler: () => ?boolean,
61
61
  ) => {remove: () => void, ...},
62
- +removeEventListener: (
63
- eventName: BackPressEventName,
64
- handler: () => ?boolean,
65
- ) => void,
66
62
  |};
67
63
  const BackHandler: TBackHandler = {
68
64
  exitApp: function (): void {
@@ -86,22 +82,14 @@ const BackHandler: TBackHandler = {
86
82
  _backPressSubscriptions.push(handler);
87
83
  }
88
84
  return {
89
- remove: (): void => BackHandler.removeEventListener(eventName, handler),
85
+ remove: (): void => {
86
+ const index = _backPressSubscriptions.indexOf(handler);
87
+ if (index !== -1) {
88
+ _backPressSubscriptions.splice(index, 1);
89
+ }
90
+ },
90
91
  };
91
92
  },
92
-
93
- /**
94
- * Removes the event handler.
95
- */
96
- removeEventListener: function (
97
- eventName: BackPressEventName,
98
- handler: () => ?boolean,
99
- ): void {
100
- const index = _backPressSubscriptions.indexOf(handler);
101
- if (index !== -1) {
102
- _backPressSubscriptions.splice(index, 1);
103
- }
104
- },
105
93
  };
106
94
 
107
95
  module.exports = BackHandler;
@@ -28,10 +28,6 @@ export interface BackHandlerStatic {
28
28
  eventName: BackPressEventName,
29
29
  handler: () => boolean | null | undefined,
30
30
  ): NativeEventSubscription;
31
- removeEventListener(
32
- eventName: BackPressEventName,
33
- handler: () => boolean | null | undefined,
34
- ): void;
35
31
  }
36
32
 
37
33
  export const BackHandler: BackHandlerStatic;
@@ -10,8 +10,6 @@
10
10
 
11
11
  'use strict';
12
12
 
13
- module.exports = require('../Components/UnimplementedViews/UnimplementedView');
14
-
15
13
  type BackPressEventName = 'backPress' | 'hardwareBackPress';
16
14
 
17
15
  function emptyFunction(): void {}
@@ -22,10 +20,6 @@ type TBackHandler = {|
22
20
  eventName: BackPressEventName,
23
21
  handler: () => ?boolean,
24
22
  ) => {remove: () => void, ...},
25
- +removeEventListener: (
26
- eventName: BackPressEventName,
27
- handler: () => ?boolean,
28
- ) => void,
29
23
  |};
30
24
 
31
25
  let BackHandler: TBackHandler = {
@@ -35,7 +29,6 @@ let BackHandler: TBackHandler = {
35
29
  remove: emptyFunction,
36
30
  };
37
31
  },
38
- removeEventListener(_eventName: BackPressEventName, _handler: Function) {},
39
32
  };
40
33
 
41
34
  module.exports = BackHandler;
@@ -59,10 +59,6 @@ type TBackHandler = {|
59
59
  eventName: BackPressEventName,
60
60
  handler: () => ?boolean,
61
61
  ) => {remove: () => void, ...},
62
- +removeEventListener: (
63
- eventName: BackPressEventName,
64
- handler: () => ?boolean,
65
- ) => void,
66
62
  |};
67
63
  const BackHandler: TBackHandler = {
68
64
  exitApp: function (): void {
@@ -86,22 +82,14 @@ const BackHandler: TBackHandler = {
86
82
  _backPressSubscriptions.push(handler);
87
83
  }
88
84
  return {
89
- remove: (): void => BackHandler.removeEventListener(eventName, handler),
85
+ remove: (): void => {
86
+ const index = _backPressSubscriptions.indexOf(handler);
87
+ if (index !== -1) {
88
+ _backPressSubscriptions.splice(index, 1);
89
+ }
90
+ },
90
91
  };
91
92
  },
92
-
93
- /**
94
- * Removes the event handler.
95
- */
96
- removeEventListener: function (
97
- eventName: BackPressEventName,
98
- handler: () => ?boolean,
99
- ): void {
100
- const index = _backPressSubscriptions.indexOf(handler);
101
- if (index !== -1) {
102
- _backPressSubscriptions.splice(index, 1);
103
- }
104
- },
105
93
  };
106
94
 
107
95
  module.exports = BackHandler;
@@ -20,17 +20,12 @@ const BackHandler = {
20
20
  ): {remove: () => void} {
21
21
  _backPressSubscriptions.add(handler);
22
22
  return {
23
- remove: () => BackHandler.removeEventListener(eventName, handler),
23
+ remove: () => {
24
+ _backPressSubscriptions.delete(handler);
25
+ },
24
26
  };
25
27
  },
26
28
 
27
- removeEventListener: function (
28
- eventName: BackPressEventName,
29
- handler: () => ?boolean,
30
- ): void {
31
- _backPressSubscriptions.delete(handler);
32
- },
33
-
34
29
  mockPressBack: function () {
35
30
  let invokeDefault = true;
36
31
  const subscriptions = [..._backPressSubscriptions].reverse();
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-20241118-3986eefed",
11
11
  "overrides": [
12
12
  {
13
13
  "type": "derived",
14
14
  "file": ".flowconfig",
15
15
  "baseFile": ".flowconfig",
16
- "baseHash": "16d33187350d986e6c2fd343ff06f8f1c6f64ebf"
16
+ "baseHash": "afa414432bb8dae6ce606a148b74f85fcef8a59d"
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,7 +191,7 @@
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",
@@ -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.275",
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": "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-20241118-3986eefed",
34
+ "@react-native/codegen": "0.77.0-nightly-20241118-3986eefed",
35
+ "@react-native/community-cli-plugin": "0.77.0-nightly-20241118-3986eefed",
36
+ "@react-native/gradle-plugin": "0.77.0-nightly-20241118-3986eefed",
37
+ "@react-native/js-polyfills": "0.77.0-nightly-20241118-3986eefed",
38
+ "@react-native/normalize-colors": "0.77.0-nightly-20241118-3986eefed",
39
+ "@react-native/virtualized-lists": "0.77.0-nightly-20241118-3986eefed",
40
40
  "abort-controller": "^3.0.0",
41
41
  "anser": "^1.4.9",
42
42
  "ansi-regex": "^5.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-20241118-3986eefed",
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-20241118-3986eefed"
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;