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

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 (36) hide show
  1. package/.flowconfig +1 -1
  2. package/CHANGELOG.json +16 -1
  3. package/CHANGELOG.md +12 -4
  4. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +4 -4
  5. package/Libraries/Components/Button.js +3 -0
  6. package/Libraries/Components/Button.win32.js +3 -0
  7. package/Libraries/Components/Pressable/Pressable.js +4 -4
  8. package/Libraries/Components/Pressable/Pressable.win32.js +4 -4
  9. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +9 -6
  10. package/Libraries/Components/SafeAreaView/SafeAreaView.js +4 -4
  11. package/Libraries/Components/SafeAreaView/SafeAreaView.win32.js +4 -4
  12. package/Libraries/Components/ScrollView/ScrollView.js +5 -5
  13. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +4 -4
  14. package/Libraries/Components/TextInput/TextInput.js +4 -4
  15. package/Libraries/Components/TextInput/TextInput.win32.js +4 -4
  16. package/Libraries/Components/Touchable/TouchableBounce.js +4 -1
  17. package/Libraries/Components/Touchable/TouchableHighlight.js +4 -4
  18. package/Libraries/Components/Touchable/TouchableOpacity.js +4 -4
  19. package/Libraries/Components/View/View.js +4 -4
  20. package/Libraries/Components/View/View.win32.js +4 -4
  21. package/Libraries/Core/ExceptionsManager.js +3 -2
  22. package/Libraries/Core/ReactNativeVersion.js +1 -1
  23. package/Libraries/Debugging/DebuggingOverlay.js +4 -5
  24. package/Libraries/Image/ImageProps.js +4 -4
  25. package/Libraries/Image/ImageTypes.flow.js +11 -9
  26. package/Libraries/LogBox/LogBox.js +18 -5
  27. package/Libraries/Text/Text.js +1 -4
  28. package/Libraries/Text/Text.win32.js +1 -4
  29. package/Libraries/Utilities/Platform.flow.win32.js +1 -0
  30. package/Libraries/promiseRejectionTrackingOptions.js +1 -1
  31. package/overrides.json +8 -9
  32. package/package.json +12 -12
  33. package/src/private/components/VScrollViewNativeComponents.js +4 -5
  34. package/src/private/featureflags/ReactNativeFeatureFlags.js +2 -2
  35. package/src/private/fusebox/specs/NativeReactDevToolsRuntimeSettingsModule.js +34 -0
  36. package/src/private/specs/modules/NativeAppearance.js +4 -10
package/.flowconfig CHANGED
@@ -160,4 +160,4 @@ untyped-import
160
160
  untyped-type-import
161
161
 
162
162
  [version]
163
- ^0.247.1
163
+ ^0.248.1
package/CHANGELOG.json CHANGED
@@ -2,7 +2,22 @@
2
2
  "name": "@office-iss/react-native-win32",
3
3
  "entries": [
4
4
  {
5
- "date": "Thu, 07 Nov 2024 06:23:26 GMT",
5
+ "date": "Fri, 15 Nov 2024 06:21:36 GMT",
6
+ "version": "0.0.0-canary.272",
7
+ "tag": "@office-iss/react-native-win32_v0.0.0-canary.272",
8
+ "comments": {
9
+ "prerelease": [
10
+ {
11
+ "author": "yajurgrover24@gmail.com",
12
+ "package": "@office-iss/react-native-win32",
13
+ "commit": "9576b188ef25b0ed64643cd9bb3f411e790a1862",
14
+ "comment": "test integrate 10/15"
15
+ }
16
+ ]
17
+ }
18
+ },
19
+ {
20
+ "date": "Thu, 07 Nov 2024 06:24:18 GMT",
6
21
  "version": "0.0.0-canary.271",
7
22
  "tag": "@office-iss/react-native-win32_v0.0.0-canary.271",
8
23
  "comments": {
package/CHANGELOG.md CHANGED
@@ -1,17 +1,25 @@
1
1
  # Change Log - @office-iss/react-native-win32
2
2
 
3
- <!-- This log was last generated on Thu, 07 Nov 2024 06:23:26 GMT and should not be manually modified. -->
3
+ <!-- This log was last generated on Fri, 15 Nov 2024 06:21:36 GMT and should not be manually modified. -->
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
- ## 0.0.0-canary.271
7
+ ## 0.0.0-canary.272
8
8
 
9
- Thu, 07 Nov 2024 06:23:26 GMT
9
+ Fri, 15 Nov 2024 06:21:36 GMT
10
10
 
11
11
  ### Changes
12
12
 
13
- - Integrate 10/10 (yajurgrover24@gmail.com)
13
+ - test integrate 10/15 (yajurgrover24@gmail.com)
14
14
 
15
+ ## 0.0.0-canary.271
16
+
17
+ Thu, 07 Nov 2024 06:24:18 GMT
18
+
19
+ ### Changes
20
+
21
+ - Integrate 10/10 (yajurgrover24@gmail.com)
22
+
15
23
  ## 0.0.0-canary.270
16
24
 
17
25
  Sat, 02 Nov 2024 05:28:14 GMT
@@ -153,10 +153,10 @@ const ActivityIndicator = (
153
153
  ```
154
154
  */
155
155
 
156
- const ActivityIndicatorWithRef: React.AbstractComponent<
157
- Props,
158
- HostComponent<mixed>,
159
- > = React.forwardRef(ActivityIndicator);
156
+ const ActivityIndicatorWithRef: component(
157
+ ref: React.RefSetter<HostComponent<mixed>>,
158
+ ...props: Props
159
+ ) = React.forwardRef(ActivityIndicator);
160
160
  ActivityIndicatorWithRef.displayName = 'ActivityIndicator';
161
161
 
162
162
  const styles = StyleSheet.create({
@@ -381,6 +381,9 @@ const Button: component(
381
381
  disabled={disabled}
382
382
  onPress={onPress}
383
383
  touchSoundDisabled={touchSoundDisabled}
384
+ // $FlowFixMe[incompatible-exact]
385
+ // $FlowFixMe[prop-missing]
386
+ // $FlowFixMe[incompatible-type-arg]
384
387
  ref={ref}>
385
388
  <View style={buttonStyles}>
386
389
  <Text style={textStyles} disabled={disabled}>
@@ -392,6 +392,9 @@ const Button: component(
392
392
  disabled={disabled}
393
393
  onPress={onPress}
394
394
  touchSoundDisabled={touchSoundDisabled}
395
+ // $FlowFixMe[incompatible-exact]
396
+ // $FlowFixMe[prop-missing]
397
+ // $FlowFixMe[incompatible-type-arg]
395
398
  ref={ref}>
396
399
  <View style={buttonStyles}>
397
400
  <Text style={textStyles} disabled={disabled}>
@@ -363,7 +363,7 @@ function usePressState(forcePressed: boolean): [boolean, (boolean) => void] {
363
363
  const MemoedPressable = React.memo(React.forwardRef(Pressable));
364
364
  MemoedPressable.displayName = 'Pressable';
365
365
 
366
- export default (MemoedPressable: React.AbstractComponent<
367
- Props,
368
- React.ElementRef<typeof View>,
369
- >);
366
+ export default (MemoedPressable: component(
367
+ ref: React.RefSetter<React.ElementRef<typeof View>>,
368
+ ...props: Props
369
+ ));
@@ -431,7 +431,7 @@ function usePressState(forcePressed: boolean): [boolean, (boolean) => void] {
431
431
  const MemoedPressable = React.memo(React.forwardRef(Pressable));
432
432
  MemoedPressable.displayName = 'Pressable';
433
433
 
434
- export default (MemoedPressable: React.AbstractComponent<
435
- Props,
436
- React.ElementRef<typeof View>,
437
- >);
434
+ export default (MemoedPressable: component(
435
+ ref: React.RefSetter<React.ElementRef<typeof View>>,
436
+ ...props: Props
437
+ ));
@@ -78,7 +78,12 @@ export type ProgressBarAndroidProps = $ReadOnly<{|
78
78
  * },
79
79
  * ```
80
80
  */
81
- const ProgressBarAndroid = (
81
+ const ProgressBarAndroidWithForwardedRef: component(
82
+ ref: React.RefSetter<
83
+ React.ElementRef<typeof ProgressBarAndroidNativeComponent>,
84
+ >,
85
+ ...props: ProgressBarAndroidProps
86
+ ) = React.forwardRef(function ProgressBarAndroid(
82
87
  {
83
88
  // $FlowFixMe[incompatible-type]
84
89
  styleAttr = 'Normal',
@@ -89,7 +94,7 @@ const ProgressBarAndroid = (
89
94
  forwardedRef: ?React.RefSetter<
90
95
  React.ElementRef<typeof ProgressBarAndroidNativeComponent>,
91
96
  >,
92
- ) => {
97
+ ) {
93
98
  return (
94
99
  <ProgressBarAndroidNativeComponent
95
100
  styleAttr={styleAttr}
@@ -99,12 +104,10 @@ const ProgressBarAndroid = (
99
104
  ref={forwardedRef}
100
105
  />
101
106
  );
102
- };
103
-
104
- const ProgressBarAndroidToExport = React.forwardRef(ProgressBarAndroid);
107
+ });
105
108
 
106
109
  module.exports =
107
110
  /* $FlowFixMe(>=0.89.0 site=react_native_android_fb) This comment suppresses an
108
111
  * error found when Flow v0.89 was deployed. To see the error, delete this
109
112
  * comment and run Flow. */
110
- (ProgressBarAndroidToExport: typeof ProgressBarAndroidNativeComponent);
113
+ (ProgressBarAndroidWithForwardedRef: typeof ProgressBarAndroidNativeComponent);
@@ -23,10 +23,10 @@ import * as React from 'react';
23
23
  * limitation of the screen, such as rounded corners or camera notches (aka
24
24
  * sensor housing area on iPhone X).
25
25
  */
26
- const exported: React.AbstractComponent<
27
- ViewProps,
28
- React.ElementRef<typeof View>,
29
- > = Platform.select({
26
+ const exported: component(
27
+ ref: React.RefSetter<React.ElementRef<typeof View>>,
28
+ ...props: ViewProps
29
+ ) = Platform.select({
30
30
  ios: require('./RCTSafeAreaViewNativeComponent').default,
31
31
  default: View,
32
32
  });
@@ -23,10 +23,10 @@ import * as React from 'react';
23
23
  * limitation of the screen, such as rounded corners or camera notches (aka
24
24
  * sensor housing area on iPhone X).
25
25
  */
26
- const exported: React.AbstractComponent<
27
- ViewProps,
28
- React.ElementRef<typeof View>,
29
- > = Platform.select({
26
+ const exported: component(
27
+ ref: React.RefSetter<React.ElementRef<typeof View>>,
28
+ ...props: ViewProps
29
+ ) = Platform.select({
30
30
  ios: require('./RCTSafeAreaViewNativeComponent').default,
31
31
  default: View,
32
32
  });
@@ -1935,7 +1935,10 @@ function createRefForwarder<TNativeInstance, TPublicInstance>(
1935
1935
  // NOTE: This wrapper component is necessary because `ScrollView` is a class
1936
1936
  // component and we need to map `ref` to a differently named prop. This can be
1937
1937
  // removed when `ScrollView` is a functional component.
1938
- const Wrapper = React.forwardRef(function Wrapper(
1938
+ const Wrapper: component(
1939
+ ref: React.RefSetter<PublicScrollViewInstance>,
1940
+ ...props: Props
1941
+ ) = React.forwardRef(function Wrapper(
1939
1942
  props: Props,
1940
1943
  ref: ?React.RefSetter<PublicScrollViewInstance>,
1941
1944
  ): React.Node {
@@ -1949,8 +1952,5 @@ Wrapper.displayName = 'ScrollView';
1949
1952
  // $FlowExpectedError[prop-missing]
1950
1953
  Wrapper.Context = ScrollViewContext;
1951
1954
 
1952
- module.exports = ((Wrapper: $FlowFixMe): React.AbstractComponent<
1953
- React.ElementConfig<typeof ScrollView>,
1954
- PublicScrollViewInstance,
1955
- > &
1955
+ module.exports = ((Wrapper: $FlowFixMe): typeof Wrapper &
1956
1956
  ScrollViewComponentStatics);
@@ -38,10 +38,10 @@ type Instance = {
38
38
  ...
39
39
  };
40
40
 
41
- const ScrollViewStickyHeaderWithForwardedRef: React.AbstractComponent<
42
- Props,
43
- Instance,
44
- > = React.forwardRef(function ScrollViewStickyHeader(props, forwardedRef) {
41
+ const ScrollViewStickyHeaderWithForwardedRef: component(
42
+ ref: React.RefSetter<Instance>,
43
+ ...props: Props
44
+ ) = React.forwardRef(function ScrollViewStickyHeader(props, forwardedRef) {
45
45
  const {
46
46
  inverted,
47
47
  scrollViewHeight,
@@ -1787,11 +1787,11 @@ const autoCompleteWebToTextContentTypeMap = {
1787
1787
  username: 'username',
1788
1788
  };
1789
1789
 
1790
- const ExportedForwardRef: React.AbstractComponent<
1791
- React.ElementConfig<typeof InternalTextInput>,
1792
- TextInputInstance,
1790
+ const ExportedForwardRef: component(
1791
+ ref: React.RefSetter<TextInputInstance>,
1792
+ ...props: React.ElementConfig<typeof InternalTextInput>
1793
1793
  // $FlowFixMe[incompatible-call]
1794
- > = React.forwardRef(function TextInput(
1794
+ ) = React.forwardRef(function TextInput(
1795
1795
  {
1796
1796
  allowFontScaling = true,
1797
1797
  rejectResponderTermination = true,
@@ -1927,11 +1927,11 @@ const autoCompleteWebToTextContentTypeMap = {
1927
1927
  username: 'username',
1928
1928
  };
1929
1929
 
1930
- const ExportedForwardRef: React.AbstractComponent<
1931
- React.ElementConfig<typeof InternalTextInput>,
1932
- TextInputInstance,
1930
+ const ExportedForwardRef: component(
1931
+ ref: React.RefSetter<TextInputInstance>,
1932
+ ...props: React.ElementConfig<typeof InternalTextInput>
1933
1933
  // $FlowFixMe[incompatible-call]
1934
- > = React.forwardRef(function TextInput(
1934
+ ) = React.forwardRef(function TextInput(
1935
1935
  {
1936
1936
  allowFontScaling = true,
1937
1937
  rejectResponderTermination = true,
@@ -215,4 +215,7 @@ class TouchableBounce extends React.Component<Props, State> {
215
215
 
216
216
  module.exports = (React.forwardRef((props, hostRef) => (
217
217
  <TouchableBounce {...props} hostRef={hostRef} />
218
- )): React.AbstractComponent<$ReadOnly<$Diff<Props, {|hostRef: mixed|}>>>);
218
+ )): component(
219
+ ref: React.RefSetter<mixed>,
220
+ ...props: $ReadOnly<$Diff<Props, {|hostRef: mixed|}>>
221
+ ));
@@ -381,10 +381,10 @@ class TouchableHighlight extends React.Component<Props, State> {
381
381
  }
382
382
  }
383
383
 
384
- const Touchable: React.AbstractComponent<
385
- $ReadOnly<$Diff<Props, {|+hostRef: mixed|}>>,
386
- React.ElementRef<typeof View>,
387
- > = React.forwardRef((props, hostRef) => (
384
+ const Touchable: component(
385
+ ref: React.RefSetter<React.ElementRef<typeof View>>,
386
+ ...props: $ReadOnly<$Diff<Props, {|+hostRef: mixed|}>>
387
+ ) = React.forwardRef((props, hostRef) => (
388
388
  <TouchableHighlight {...props} hostRef={hostRef} />
389
389
  ));
390
390
 
@@ -326,10 +326,10 @@ class TouchableOpacity extends React.Component<Props, State> {
326
326
  }
327
327
  }
328
328
 
329
- const Touchable: React.AbstractComponent<
330
- Props,
331
- React.ElementRef<typeof Animated.View>,
332
- > = React.forwardRef((props, ref) => (
329
+ const Touchable: component(
330
+ ref: React.RefSetter<React.ElementRef<typeof Animated.View>>,
331
+ ...props: Props
332
+ ) = React.forwardRef((props, ref) => (
333
333
  <TouchableOpacity {...props} hostRef={ref} />
334
334
  ));
335
335
 
@@ -23,10 +23,10 @@ export type Props = ViewProps;
23
23
  *
24
24
  * @see https://reactnative.dev/docs/view
25
25
  */
26
- const View: React.AbstractComponent<
27
- ViewProps,
28
- React.ElementRef<typeof ViewNativeComponent>,
29
- > = React.forwardRef(
26
+ const View: component(
27
+ ref: React.RefSetter<React.ElementRef<typeof ViewNativeComponent>>,
28
+ ...props: ViewProps
29
+ ) = React.forwardRef(
30
30
  (
31
31
  {
32
32
  accessibilityElementsHidden,
@@ -27,10 +27,10 @@ export type Props = ViewProps;
27
27
  *
28
28
  * @see https://reactnative.dev/docs/view
29
29
  */
30
- const View: React.AbstractComponent<
31
- ViewProps,
32
- React.ElementRef<typeof ViewNativeComponent>,
33
- > = React.forwardRef(
30
+ const View: component(
31
+ ref: React.RefSetter<React.ElementRef<typeof ViewNativeComponent>>,
32
+ ...props: ViewProps
33
+ ) = React.forwardRef(
34
34
  (
35
35
  {
36
36
  accessibilityControls, // Win32
@@ -22,10 +22,11 @@ type ExceptionDecorator = ExceptionData => ExceptionData;
22
22
  let userExceptionDecorator: ?ExceptionDecorator;
23
23
  let inUserExceptionDecorator = false;
24
24
 
25
- // This Symbol is used to decorate an ExtendedError with extra data in select usecases.
25
+ // This string is used to decorate an ExtendedError with extra data in select usecases.
26
26
  // Note that data passed using this method should be strictly contained,
27
27
  // as data that's not serializable/too large may cause issues with passing the error to the native code.
28
- const decoratedExtraDataKey: symbol = Symbol('decoratedExtraDataKey');
28
+ // TODO(T204185517): We should use a Symbol for this, but jsi through jsc doesn't support it yet.
29
+ const decoratedExtraDataKey = 'RN$ErrorExtraDataKey';
29
30
 
30
31
  /**
31
32
  * Allows the app to add information to the exception report before it is sent
@@ -17,7 +17,7 @@ const version: $ReadOnly<{
17
17
  major: 0,
18
18
  minor: 77,
19
19
  patch: 0,
20
- prerelease: 'nightly-20241010-0d6908f4e',
20
+ prerelease: 'nightly-20241015-3485e9ed8',
21
21
  };
22
22
 
23
23
  module.exports = {version};
@@ -102,10 +102,9 @@ const styles = StyleSheet.create({
102
102
  },
103
103
  });
104
104
 
105
- const DebuggingOverlayWithForwardedRef: React.AbstractComponent<
106
- {},
107
- DebuggingOverlayHandle,
108
- React.Node,
109
- > = React.forwardRef(DebuggingOverlay);
105
+ const DebuggingOverlayWithForwardedRef: component(
106
+ ref: React.RefSetter<DebuggingOverlayHandle>,
107
+ ...props: {}
108
+ ) = React.forwardRef(DebuggingOverlay);
110
109
 
111
110
  export default DebuggingOverlayWithForwardedRef;
@@ -20,7 +20,7 @@ import type {
20
20
  import type {LayoutEvent, SyntheticEvent} from '../Types/CoreEventTypes';
21
21
  import typeof Image from './Image';
22
22
  import type {ImageSource} from './ImageSource';
23
- import type {Node, Ref} from 'react';
23
+ import type {ElementRef, Node, RefSetter} from 'react';
24
24
 
25
25
  export type ImageLoadEvent = SyntheticEvent<
26
26
  $ReadOnly<{|
@@ -77,7 +77,7 @@ type AndroidImageProps = $ReadOnly<{|
77
77
  resizeMultiplier?: ?number,
78
78
  |}>;
79
79
 
80
- export type ImageProps = {|
80
+ export type ImageProps = $ReadOnly<{|
81
81
  ...$Diff<ViewProps, $ReadOnly<{|style: ?ViewStyleProp|}>>,
82
82
  ...IOSImageProps,
83
83
  ...AndroidImageProps,
@@ -266,7 +266,7 @@ export type ImageProps = {|
266
266
  */
267
267
  srcSet?: ?string,
268
268
  children?: empty,
269
- |};
269
+ |}>;
270
270
 
271
271
  export type ImageBackgroundProps = $ReadOnly<{|
272
272
  ...ImageProps,
@@ -291,5 +291,5 @@ export type ImageBackgroundProps = $ReadOnly<{|
291
291
  *
292
292
  * See https://reactnative.dev/docs/imagebackground#imageref
293
293
  */
294
- imageRef?: Ref<Image>,
294
+ imageRef?: RefSetter<ElementRef<Image>>,
295
295
  |}>;
@@ -56,18 +56,20 @@ type ImageComponentStaticsAndroid = $ReadOnly<{
56
56
  abortPrefetch(requestId: number): void,
57
57
  }>;
58
58
 
59
- export type AbstractImageAndroid = React.AbstractComponent<
60
- ImagePropsType,
61
- | React.ElementRef<TextInlineImageNativeComponent>
62
- | React.ElementRef<ImageViewNativeComponent>,
63
- >;
59
+ export type AbstractImageAndroid = component(
60
+ ref: React.RefSetter<
61
+ | React.ElementRef<TextInlineImageNativeComponent>
62
+ | React.ElementRef<ImageViewNativeComponent>,
63
+ >,
64
+ ...props: ImagePropsType
65
+ );
64
66
 
65
67
  export type ImageAndroid = AbstractImageAndroid & ImageComponentStaticsAndroid;
66
68
 
67
- export type AbstractImageIOS = React.AbstractComponent<
68
- ImagePropsType,
69
- React.ElementRef<ImageViewNativeComponent>,
70
- >;
69
+ export type AbstractImageIOS = component(
70
+ ref: React.RefSetter<React.ElementRef<ImageViewNativeComponent>>,
71
+ ...props: ImagePropsType
72
+ );
71
73
 
72
74
  export type ImageIOS = AbstractImageIOS & ImageComponentStaticsIOS;
73
75
 
@@ -52,6 +52,17 @@ if (__DEV__) {
52
52
 
53
53
  isLogBoxInstalled = true;
54
54
 
55
+ if (global.RN$registerExceptionListener != null) {
56
+ global.RN$registerExceptionListener(
57
+ (error: ExtendedExceptionData & {preventDefault: () => mixed}) => {
58
+ if (!error.isFatal) {
59
+ error.preventDefault();
60
+ addException(error);
61
+ }
62
+ },
63
+ );
64
+ }
65
+
55
66
  // Trigger lazy initialization of module.
56
67
  require('../NativeModules/specs/NativeLogBox');
57
68
 
@@ -122,13 +133,15 @@ if (__DEV__) {
122
133
  }
123
134
  },
124
135
 
125
- addException(error: ExtendedExceptionData): void {
126
- if (isLogBoxInstalled) {
127
- LogBoxData.addException(error);
128
- }
129
- },
136
+ addException,
130
137
  };
131
138
 
139
+ function addException(error: ExtendedExceptionData): void {
140
+ if (isLogBoxInstalled) {
141
+ LogBoxData.addException(error);
142
+ }
143
+ }
144
+
132
145
  const isRCTLogAdviceWarning = (...args: Array<mixed>) => {
133
146
  // RCTLogAdvice is a native logging function designed to show users
134
147
  // a message in the console, but not show it to them in Logbox.
@@ -115,7 +115,7 @@ const Text: component(
115
115
 
116
116
  // TODO: Move this processing to the view configuration.
117
117
  const _selectionColor =
118
- selectionColor == null ? null : processColor(selectionColor);
118
+ selectionColor != null ? processColor(selectionColor) : undefined;
119
119
 
120
120
  let _style = style;
121
121
  if (__DEV__) {
@@ -208,8 +208,6 @@ const Text: component(
208
208
  {...restProps}
209
209
  accessibilityLabel={_accessibilityLabel}
210
210
  accessibilityState={_accessibilityState}
211
- isHighlighted={false}
212
- isPressable={false}
213
211
  nativeID={_nativeID}
214
212
  numberOfLines={_numberOfLines}
215
213
  ref={forwardedRef}
@@ -288,7 +286,6 @@ const Text: component(
288
286
  allowFontScaling={allowFontScaling !== false}
289
287
  disabled={_disabled}
290
288
  ellipsizeMode={ellipsizeMode ?? 'tail'}
291
- isHighlighted={false}
292
289
  nativeID={_nativeID}
293
290
  numberOfLines={_numberOfLines}
294
291
  ref={forwardedRef}
@@ -143,7 +143,7 @@ const Text: component(
143
143
 
144
144
  // TODO: Move this processing to the view configuration.
145
145
  const _selectionColor =
146
- selectionColor == null ? null : processColor(selectionColor);
146
+ selectionColor != null ? processColor(selectionColor) : undefined;
147
147
 
148
148
  let _style = style;
149
149
  if (__DEV__) {
@@ -248,8 +248,6 @@ const Text: component(
248
248
  accessibilityLevel={_accessibilityLevel} // Win32
249
249
  accessibilityPositionInSet={_accessibilityPositionInSet} // Win32
250
250
  accessibilitySetSize={_accessibilitySetSize} // Win32
251
- isHighlighted={false}
252
- isPressable={false}
253
251
  nativeID={_nativeID}
254
252
  numberOfLines={_numberOfLines}
255
253
  ref={forwardedRef}
@@ -328,7 +326,6 @@ const Text: component(
328
326
  allowFontScaling={allowFontScaling !== false}
329
327
  disabled={_disabled}
330
328
  ellipsizeMode={ellipsizeMode ?? 'tail'}
331
- isHighlighted={false}
332
329
  nativeID={_nativeID}
333
330
  numberOfLines={_numberOfLines}
334
331
  ref={forwardedRef}
@@ -91,6 +91,7 @@ type AndroidPlatform = {
91
91
 
92
92
  type Win32Platform = {
93
93
  __constants: null,
94
+ // $FlowFixMe[cannot-resolve-name]
94
95
  OS: $TEMPORARY$string<'win32'>,
95
96
  // $FlowFixMe[unsafe-getters-setters]
96
97
  get Version(): number,
@@ -36,7 +36,7 @@ let rejectionTrackingOptions: $NonMaybeType<Parameters<enable>[0]> = {
36
36
  }
37
37
  // It could although this object is not a standard error, it still has stack information to unwind
38
38
  // $FlowFixMe ignore types just check if stack is there
39
- if (rejection.stack && typeof rejection.stack === 'string') {
39
+ if (rejection?.stack && typeof rejection.stack === 'string') {
40
40
  stack = rejection.stack;
41
41
  }
42
42
  }
package/overrides.json CHANGED
@@ -7,13 +7,13 @@
7
7
  "**/__snapshots__/**",
8
8
  "src-win/rntypes/**"
9
9
  ],
10
- "baseVersion": "0.77.0-nightly-20241010-0d6908f4e",
10
+ "baseVersion": "0.77.0-nightly-20241015-3485e9ed8",
11
11
  "overrides": [
12
12
  {
13
13
  "type": "derived",
14
14
  "file": ".flowconfig",
15
15
  "baseFile": ".flowconfig",
16
- "baseHash": "0ef50a705dc56608e4a8bd11d3b0d3daedfc0012"
16
+ "baseHash": "fa800520804222b3f944f7ffbb6a82f5ad89dc76"
17
17
  },
18
18
  {
19
19
  "type": "derived",
@@ -60,7 +60,7 @@
60
60
  "type": "derived",
61
61
  "file": "src-win/Libraries/Components/Button.win32.js",
62
62
  "baseFile": "packages/react-native/Libraries/Components/Button.js",
63
- "baseHash": "e76f9ba2b411e43dbca14b7ce52bb429c8cab52d"
63
+ "baseHash": "e1464525e6950f773370855ccbe60217ef638613"
64
64
  },
65
65
  {
66
66
  "type": "platform",
@@ -85,7 +85,7 @@
85
85
  "type": "patch",
86
86
  "file": "src-win/Libraries/Components/Pressable/Pressable.win32.js",
87
87
  "baseFile": "packages/react-native/Libraries/Components/Pressable/Pressable.js",
88
- "baseHash": "77ec40a2f6a75280b170fe839813d8712c90fbfb",
88
+ "baseHash": "5f8baef36e1cbba73ff2c21b0ccbf310d125b334",
89
89
  "issue": 6240
90
90
  },
91
91
  {
@@ -99,7 +99,7 @@
99
99
  "type": "copy",
100
100
  "file": "src-win/Libraries/Components/SafeAreaView/SafeAreaView.win32.js",
101
101
  "baseFile": "packages/react-native/Libraries/Components/SafeAreaView/SafeAreaView.js",
102
- "baseHash": "ae5845b576484b3600e395d3b1ee03223530b8f7"
102
+ "baseHash": "e1372371cf14c8abd4fb5f2328513596f6553497"
103
103
  },
104
104
  {
105
105
  "type": "platform",
@@ -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": "82f76803236afa08c99beb8545a2a7fa4940b653"
112
+ "baseHash": "d7364ef8dd1c0bc25cc189d135e846522b02b3a7"
113
113
  },
114
114
  {
115
115
  "type": "patch",
@@ -173,7 +173,7 @@
173
173
  "type": "patch",
174
174
  "file": "src-win/Libraries/Components/View/View.win32.js",
175
175
  "baseFile": "packages/react-native/Libraries/Components/View/View.js",
176
- "baseHash": "1905f72f4d202d466ea7d8ed4b36df0845f2c310"
176
+ "baseHash": "85d97fc0638ce73353898f67d0f891a86ee83f3f"
177
177
  },
178
178
  {
179
179
  "type": "derived",
@@ -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": "b4810991f6c983f1f155327e8bca865cf771ae84"
429
+ "baseHash": "64cdf1c520112ead78e348bc306c208f212ac3c5"
430
430
  },
431
431
  {
432
432
  "type": "derived",
@@ -510,7 +510,6 @@
510
510
  "type": "copy",
511
511
  "file": "src-win/src/private/debugging/ReactDevToolsSettingsManager.win32.js",
512
512
  "baseFile": "packages/react-native/src/private/debugging/ReactDevToolsSettingsManager.android.js",
513
- "baseVersion": "0.77.0-nightly-20241001-223e98cc4",
514
513
  "baseHash": "df41b76dc3d2df9455fae588748261d7b0a22d01"
515
514
  },
516
515
  {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@office-iss/react-native-win32",
3
- "version": "0.0.0-canary.271",
3
+ "version": "0.0.0-canary.272",
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-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",
33
+ "@react-native/assets-registry": "0.77.0-nightly-20241015-3485e9ed8",
34
+ "@react-native/codegen": "0.77.0-nightly-20241015-3485e9ed8",
35
+ "@react-native/community-cli-plugin": "0.77.0-nightly-20241015-3485e9ed8",
36
+ "@react-native/gradle-plugin": "0.77.0-nightly-20241015-3485e9ed8",
37
+ "@react-native/js-polyfills": "0.77.0-nightly-20241015-3485e9ed8",
38
+ "@react-native/normalize-colors": "0.77.0-nightly-20241015-3485e9ed8",
39
+ "@react-native/virtualized-lists": "0.77.0-nightly-20241015-3485e9ed8",
40
40
  "abort-controller": "^3.0.0",
41
41
  "anser": "^1.4.9",
42
42
  "ansi-regex": "^5.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.2",
57
- "metro-source-map": "^0.81.0-alpha.2",
56
+ "metro-runtime": "^0.81.0",
57
+ "metro-source-map": "^0.81.0",
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-20241010-0d6908f4e",
93
+ "react-native": "0.77.0-nightly-20241015-3485e9ed8",
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-20241010-0d6908f4e"
100
+ "react-native": "0.77.0-nightly-20241015-3485e9ed8"
101
101
  },
102
102
  "beachball": {
103
103
  "defaultNpmTag": "canary",
@@ -23,11 +23,10 @@ import * as React from 'react';
23
23
  import {forwardRef} from 'react';
24
24
 
25
25
  // TODO: After upgrading to React 19, remove `forwardRef` from this component.
26
- export const VScrollViewNativeComponent: React.AbstractComponent<
27
- ScrollViewNativeProps,
28
- TScrollViewNativeImperativeHandle,
29
- // $FlowExpectedError[incompatible-type] - Flow cannot model imperative handles, yet.
30
- > = forwardRef(function VScrollViewNativeComponent(
26
+ export const VScrollViewNativeComponent: component(
27
+ ref: React.RefSetter<TScrollViewNativeImperativeHandle>,
28
+ ...props: ScrollViewNativeProps
29
+ ) = forwardRef(function VScrollViewNativeComponent(
31
30
  props: ScrollViewNativeProps,
32
31
  ref: ?React.RefSetter<TScrollViewNativeImperativeHandle | null>,
33
32
  ): React.Node {
@@ -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<<75865f1371182e1ed3bce0f8f367faeb>>
7
+ * @generated SignedSource<<1ef57002084a2e38a69b43b7d4d557a9>>
8
8
  * @flow strict
9
9
  */
10
10
 
@@ -373,7 +373,7 @@ export const useOptimizedEventBatchingOnAndroid: Getter<boolean> = createNativeF
373
373
  /**
374
374
  * When enabled, cloning shadow nodes within react native will update the reference held by the current JS fiber tree.
375
375
  */
376
- export const useRuntimeShadowNodeReferenceUpdate: Getter<boolean> = createNativeFlagGetter('useRuntimeShadowNodeReferenceUpdate', true);
376
+ export const useRuntimeShadowNodeReferenceUpdate: Getter<boolean> = createNativeFlagGetter('useRuntimeShadowNodeReferenceUpdate', false);
377
377
  /**
378
378
  * In Bridgeless mode, should legacy NativeModules use the TurboModule system?
379
379
  */
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @flow strict-local
8
+ * @format
9
+ * @oncall react_native
10
+ */
11
+
12
+ import type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';
13
+
14
+ import * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboModuleRegistry';
15
+
16
+ export type ReloadAndProfileConfig = {
17
+ shouldReloadAndProfile: boolean,
18
+ recordChangeDescriptions: boolean,
19
+ };
20
+
21
+ // Linter doesn't speak Flow's `Partial` type
22
+ export type PartialReloadAndProfileConfig = {
23
+ shouldReloadAndProfile?: boolean,
24
+ recordChangeDescriptions?: boolean,
25
+ };
26
+
27
+ export interface Spec extends TurboModule {
28
+ +setReloadAndProfileConfig: (config: PartialReloadAndProfileConfig) => void;
29
+ +getReloadAndProfileConfig: () => ReloadAndProfileConfig;
30
+ }
31
+
32
+ export default (TurboModuleRegistry.get<Spec>(
33
+ 'ReactDevToolsRuntimeSettingsModule',
34
+ ): ?Spec);
@@ -12,21 +12,15 @@ import type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';
12
12
 
13
13
  import * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboModuleRegistry';
14
14
 
15
- export type ColorSchemeName = 'light' | 'dark';
15
+ export type ColorSchemeName = 'light' | 'dark' | 'unspecified';
16
16
 
17
17
  export type AppearancePreferences = {
18
- // TODO: (hramos) T52919652 Use ?ColorSchemeName once codegen supports union
19
- // types.
20
- /* 'light' | 'dark' */
21
- colorScheme?: ?string,
18
+ colorScheme?: ?ColorSchemeName,
22
19
  };
23
20
 
24
21
  export interface Spec extends TurboModule {
25
- // TODO: (hramos) T52919652 Use ?ColorSchemeName once codegen supports union
26
- // types.
27
- /* 'light' | 'dark' */
28
- +getColorScheme: () => ?string;
29
- +setColorScheme: (colorScheme: string) => void;
22
+ +getColorScheme: () => ?ColorSchemeName;
23
+ +setColorScheme: (colorScheme: ColorSchemeName) => void;
30
24
 
31
25
  // RCTEventEmitter
32
26
  +addListener: (eventName: string) => void;