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

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 (77) hide show
  1. package/.flowconfig +1 -1
  2. package/CHANGELOG.json +31 -1
  3. package/CHANGELOG.md +20 -4
  4. package/Libraries/Animated/AnimatedEvent.js +1 -1
  5. package/Libraries/Animated/animations/Animation.js +1 -1
  6. package/Libraries/Animated/nodes/AnimatedColor.js +1 -1
  7. package/Libraries/Animated/nodes/AnimatedInterpolation.js +1 -1
  8. package/Libraries/Animated/nodes/AnimatedProps.js +1 -1
  9. package/Libraries/Animated/nodes/AnimatedTransform.js +1 -1
  10. package/Libraries/Animated/nodes/AnimatedValue.js +1 -1
  11. package/Libraries/Animated/useAnimatedProps.js +3 -3
  12. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +4 -4
  13. package/Libraries/Components/Button.js +3 -0
  14. package/Libraries/Components/Button.win32.js +3 -0
  15. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +5 -0
  16. package/Libraries/Components/Pressable/Pressable.js +4 -4
  17. package/Libraries/Components/Pressable/Pressable.win32.js +4 -4
  18. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +9 -6
  19. package/Libraries/Components/SafeAreaView/SafeAreaView.js +4 -4
  20. package/Libraries/Components/SafeAreaView/SafeAreaView.win32.js +4 -4
  21. package/Libraries/Components/ScrollView/ScrollView.js +5 -5
  22. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +6 -6
  23. package/Libraries/Components/TextInput/TextInput.d.ts +4 -0
  24. package/Libraries/Components/TextInput/TextInput.flow.js +2 -0
  25. package/Libraries/Components/TextInput/TextInput.js +6 -4
  26. package/Libraries/Components/TextInput/TextInput.win32.js +6 -4
  27. package/Libraries/Components/Touchable/TouchableBounce.js +4 -1
  28. package/Libraries/Components/Touchable/TouchableHighlight.js +4 -4
  29. package/Libraries/Components/Touchable/TouchableOpacity.js +4 -4
  30. package/Libraries/Components/View/View.js +4 -4
  31. package/Libraries/Components/View/View.win32.js +4 -4
  32. package/Libraries/Components/View/ViewNativeComponent.js +3 -88
  33. package/Libraries/Core/ExceptionsManager.js +3 -2
  34. package/Libraries/Core/ReactNativeVersion.js +1 -1
  35. package/Libraries/Core/setUpReactDevTools.js +74 -1
  36. package/Libraries/Core/setUpTimers.js +21 -10
  37. package/Libraries/Debugging/DebuggingOverlay.js +4 -5
  38. package/Libraries/Image/Image.android.js +1 -3
  39. package/Libraries/Image/Image.ios.js +0 -2
  40. package/Libraries/Image/Image.win32.js +0 -2
  41. package/Libraries/Image/ImageProps.js +4 -4
  42. package/Libraries/Image/ImageTypes.flow.js +11 -9
  43. package/Libraries/Inspector/Inspector.js +1 -0
  44. package/Libraries/Inspector/Inspector.win32.js +1 -0
  45. package/Libraries/LogBox/LogBox.js +18 -5
  46. package/Libraries/LogBox/LogBoxNotificationContainer.js +1 -1
  47. package/Libraries/Modal/Modal.js +3 -0
  48. package/Libraries/NativeComponent/BaseViewConfig.android.js +65 -0
  49. package/Libraries/ReactNative/AppRegistry.js +1 -1
  50. package/Libraries/Renderer/shims/ReactNativeTypes.js +1 -9
  51. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +1 -1
  52. package/Libraries/StyleSheet/StyleSheetTypes.js +1 -1
  53. package/Libraries/Text/Text.js +1 -4
  54. package/Libraries/Text/Text.win32.js +1 -4
  55. package/Libraries/Utilities/FocusManager.win32.js +1 -1
  56. package/Libraries/Utilities/Platform.flow.win32.js +1 -0
  57. package/Libraries/Utilities/useMergeRefs.js +26 -7
  58. package/Libraries/promiseRejectionTrackingOptions.js +1 -1
  59. package/index.js +1 -1
  60. package/index.win32.js +1 -1
  61. package/jest/setup.js +1 -0
  62. package/overrides.json +13 -14
  63. package/package.json +14 -14
  64. package/src/private/animated/NativeAnimatedHelper.js +4 -4
  65. package/src/private/animated/NativeAnimatedHelper.win32.js +4 -4
  66. package/src/private/animated/useAnimatedPropsMemo.js +0 -1
  67. package/src/private/components/SafeAreaView_INTERNAL_DO_NOT_USE.js +2 -1
  68. package/src/private/components/VScrollViewNativeComponents.js +4 -5
  69. package/src/private/featureflags/ReactNativeFeatureFlags.js +12 -12
  70. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +3 -3
  71. package/src/private/fusebox/specs/NativeReactDevToolsRuntimeSettingsModule.js +34 -0
  72. package/src/private/specs/modules/NativeAppearance.js +4 -10
  73. package/src/private/webapis/performance/EventTiming.js +1 -1
  74. package/src/private/webapis/performance/Performance.js +36 -15
  75. package/src/private/webapis/performance/PerformanceObserver.js +2 -2
  76. package/src/private/webapis/performance/specs/NativePerformance.js +18 -2
  77. package/src/private/webapis/performance/specs/__mocks__/NativePerformanceMock.js +32 -12
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.250.0
package/CHANGELOG.json CHANGED
@@ -2,7 +2,37 @@
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": "Sat, 23 Nov 2024 06:22:13 GMT",
6
+ "version": "0.0.0-canary.273",
7
+ "tag": "@office-iss/react-native-win32_v0.0.0-canary.273",
8
+ "comments": {
9
+ "prerelease": [
10
+ {
11
+ "author": "yajurgrover24@gmail.com",
12
+ "package": "@office-iss/react-native-win32",
13
+ "commit": "8be39042bf044cb756904b4750f10cb0725bb36b",
14
+ "comment": "Integrate 10/20"
15
+ }
16
+ ]
17
+ }
18
+ },
19
+ {
20
+ "date": "Fri, 15 Nov 2024 06:22:29 GMT",
21
+ "version": "0.0.0-canary.272",
22
+ "tag": "@office-iss/react-native-win32_v0.0.0-canary.272",
23
+ "comments": {
24
+ "prerelease": [
25
+ {
26
+ "author": "yajurgrover24@gmail.com",
27
+ "package": "@office-iss/react-native-win32",
28
+ "commit": "9576b188ef25b0ed64643cd9bb3f411e790a1862",
29
+ "comment": "test integrate 10/15"
30
+ }
31
+ ]
32
+ }
33
+ },
34
+ {
35
+ "date": "Thu, 07 Nov 2024 06:24:18 GMT",
6
36
  "version": "0.0.0-canary.271",
7
37
  "tag": "@office-iss/react-native-win32_v0.0.0-canary.271",
8
38
  "comments": {
package/CHANGELOG.md CHANGED
@@ -1,17 +1,33 @@
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 Sat, 23 Nov 2024 06:22:13 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.273
8
8
 
9
- Thu, 07 Nov 2024 06:23:26 GMT
9
+ Sat, 23 Nov 2024 06:22:13 GMT
10
10
 
11
11
  ### Changes
12
12
 
13
- - Integrate 10/10 (yajurgrover24@gmail.com)
13
+ - Integrate 10/20 (yajurgrover24@gmail.com)
14
14
 
15
+ ## 0.0.0-canary.272
16
+
17
+ Fri, 15 Nov 2024 06:22:29 GMT
18
+
19
+ ### Changes
20
+
21
+ - test integrate 10/15 (yajurgrover24@gmail.com)
22
+
23
+ ## 0.0.0-canary.271
24
+
25
+ Thu, 07 Nov 2024 06:24:18 GMT
26
+
27
+ ### Changes
28
+
29
+ - Integrate 10/10 (yajurgrover24@gmail.com)
30
+
15
31
  ## 0.0.0-canary.270
16
32
 
17
33
  Sat, 02 Nov 2024 05:28:14 GMT
@@ -12,8 +12,8 @@
12
12
 
13
13
  import type {PlatformConfig} from './AnimatedPlatformConfig';
14
14
 
15
- import {findNodeHandle} from '../ReactNative/RendererProxy';
16
15
  import NativeAnimatedHelper from '../../src/private/animated/NativeAnimatedHelper';
16
+ import {findNodeHandle} from '../ReactNative/RendererProxy';
17
17
  import AnimatedValue from './nodes/AnimatedValue';
18
18
  import AnimatedValueXY from './nodes/AnimatedValueXY';
19
19
  import invariant from 'invariant';
@@ -12,8 +12,8 @@ import type {PlatformConfig} from '../AnimatedPlatformConfig';
12
12
  import type AnimatedNode from '../nodes/AnimatedNode';
13
13
  import type AnimatedValue from '../nodes/AnimatedValue';
14
14
 
15
- import * as ReactNativeFeatureFlags from '../../../src/private/featureflags/ReactNativeFeatureFlags';
16
15
  import NativeAnimatedHelper from '../../../src/private/animated/NativeAnimatedHelper';
16
+ import * as ReactNativeFeatureFlags from '../../../src/private/featureflags/ReactNativeFeatureFlags';
17
17
  import AnimatedProps from '../nodes/AnimatedProps';
18
18
 
19
19
  export type EndResult = {finished: boolean, value?: number, ...};
@@ -15,9 +15,9 @@ import type {ColorValue} from '../../StyleSheet/StyleSheet';
15
15
  import type {NativeColorValue} from '../../StyleSheet/StyleSheetTypes';
16
16
  import type {PlatformConfig} from '../AnimatedPlatformConfig';
17
17
 
18
+ import NativeAnimatedHelper from '../../../src/private/animated/NativeAnimatedHelper';
18
19
  import normalizeColor from '../../StyleSheet/normalizeColor';
19
20
  import {processColorObject} from '../../StyleSheet/PlatformColorValueTypes';
20
- import NativeAnimatedHelper from '../../../src/private/animated/NativeAnimatedHelper';
21
21
  import AnimatedValue, {flushValue} from './AnimatedValue';
22
22
  import AnimatedWithChildren from './AnimatedWithChildren';
23
23
 
@@ -15,11 +15,11 @@
15
15
  import type {PlatformConfig} from '../AnimatedPlatformConfig';
16
16
  import type AnimatedNode from './AnimatedNode';
17
17
 
18
+ import NativeAnimatedHelper from '../../../src/private/animated/NativeAnimatedHelper';
18
19
  import {validateInterpolation} from '../../../src/private/animated/NativeAnimatedValidation';
19
20
  import normalizeColor from '../../StyleSheet/normalizeColor';
20
21
  import processColor from '../../StyleSheet/processColor';
21
22
  import Easing from '../Easing';
22
- import NativeAnimatedHelper from '../../../src/private/animated/NativeAnimatedHelper';
23
23
  import AnimatedWithChildren from './AnimatedWithChildren';
24
24
  import invariant from 'invariant';
25
25
 
@@ -11,9 +11,9 @@
11
11
  import type {PlatformConfig} from '../AnimatedPlatformConfig';
12
12
  import type {AnimatedStyleAllowlist} from './AnimatedStyle';
13
13
 
14
+ import NativeAnimatedHelper from '../../../src/private/animated/NativeAnimatedHelper';
14
15
  import {findNodeHandle} from '../../ReactNative/RendererProxy';
15
16
  import {AnimatedEvent} from '../AnimatedEvent';
16
- import NativeAnimatedHelper from '../../../src/private/animated/NativeAnimatedHelper';
17
17
  import AnimatedNode from './AnimatedNode';
18
18
  import AnimatedObject from './AnimatedObject';
19
19
  import AnimatedStyle from './AnimatedStyle';
@@ -12,8 +12,8 @@
12
12
 
13
13
  import type {PlatformConfig} from '../AnimatedPlatformConfig';
14
14
 
15
- import {validateTransform} from '../../../src/private/animated/NativeAnimatedValidation';
16
15
  import NativeAnimatedHelper from '../../../src/private/animated/NativeAnimatedHelper';
16
+ import {validateTransform} from '../../../src/private/animated/NativeAnimatedValidation';
17
17
  import AnimatedNode from './AnimatedNode';
18
18
  import AnimatedWithChildren from './AnimatedWithChildren';
19
19
 
@@ -15,8 +15,8 @@ import type {InterpolationConfigType} from './AnimatedInterpolation';
15
15
  import type AnimatedNode from './AnimatedNode';
16
16
  import type AnimatedTracking from './AnimatedTracking';
17
17
 
18
- import InteractionManager from '../../Interaction/InteractionManager';
19
18
  import NativeAnimatedHelper from '../../../src/private/animated/NativeAnimatedHelper';
19
+ import InteractionManager from '../../Interaction/InteractionManager';
20
20
  import AnimatedInterpolation from './AnimatedInterpolation';
21
21
  import AnimatedWithChildren from './AnimatedWithChildren';
22
22
 
@@ -8,14 +8,15 @@
8
8
  * @format
9
9
  */
10
10
 
11
- import type {AnimatedPropsAllowlist} from './nodes/AnimatedProps';
12
11
  import type {EventSubscription} from '../EventEmitter/NativeEventEmitter';
12
+ import type {AnimatedPropsAllowlist} from './nodes/AnimatedProps';
13
13
 
14
+ import NativeAnimatedHelper from '../../src/private/animated/NativeAnimatedHelper';
15
+ import {useAnimatedPropsMemo} from '../../src/private/animated/useAnimatedPropsMemo';
14
16
  import * as ReactNativeFeatureFlags from '../../src/private/featureflags/ReactNativeFeatureFlags';
15
17
  import {isPublicInstance as isFabricPublicInstance} from '../ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstanceUtils';
16
18
  import useRefEffect from '../Utilities/useRefEffect';
17
19
  import {AnimatedEvent} from './AnimatedEvent';
18
- import NativeAnimatedHelper from '../../src/private/animated/NativeAnimatedHelper';
19
20
  import AnimatedNode from './nodes/AnimatedNode';
20
21
  import AnimatedProps from './nodes/AnimatedProps';
21
22
  import AnimatedValue from './nodes/AnimatedValue';
@@ -28,7 +29,6 @@ import {
28
29
  useReducer,
29
30
  useRef,
30
31
  } from 'react';
31
- import {useAnimatedPropsMemo} from '../../src/private/animated/useAnimatedPropsMemo';
32
32
 
33
33
  type ReducedProps<TProps> = {
34
34
  ...TProps,
@@ -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}>
@@ -191,6 +191,11 @@ class KeyboardAvoidingView extends React.Component<Props, State> {
191
191
  }
192
192
 
193
193
  componentDidMount(): void {
194
+ if (!Keyboard.isVisible()) {
195
+ this._keyboardEvent = null;
196
+ this._setBottom(0);
197
+ }
198
+
194
199
  if (Platform.OS === 'ios') {
195
200
  this._subscriptions = [
196
201
  Keyboard.addListener('keyboardWillChangeFrame', this._onKeyboardChange),
@@ -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,
@@ -65,8 +65,8 @@ const ScrollViewStickyHeaderWithForwardedRef: React.AbstractComponent<
65
65
  ref.setNextHeaderY = setNextHeaderLayoutY;
66
66
  setIsFabric(isFabricPublicInstance(ref));
67
67
  }, []);
68
- const ref: (React.ElementRef<typeof Animated.View> | null) => void =
69
- // $FlowFixMe[incompatible-type] - Ref is mutated by `callbackRef`.
68
+ const ref: React.RefSetter<React.ElementRef<typeof Animated.View>> =
69
+ // $FlowFixMe[prop-missing] - Instance is mutated to have `setNextHeaderY`.
70
70
  useMergeRefs<Instance>(callbackRef, forwardedRef);
71
71
 
72
72
  const offset = useMemo(
@@ -255,6 +255,8 @@ export interface TextInputIOSProps {
255
255
  * - `'birthdateDay'` (iOS 17+)
256
256
  * - `'birthdateMonth'` (iOS 17+)
257
257
  * - `'birthdateYear'` (iOS 17+)
258
+ * - `'cellularEID'` (iOS 17.4+)
259
+ * - `'cellularIMEI'` (iOS 17.4+)
258
260
  * - `'dateTime'` (iOS 15+)
259
261
  * - `'flightNumber'` (iOS 15+)
260
262
  * - `'shipmentTrackingNumber'` (iOS 15+)
@@ -302,6 +304,8 @@ export interface TextInputIOSProps {
302
304
  | 'birthdateDay'
303
305
  | 'birthdateMonth'
304
306
  | 'birthdateYear'
307
+ | 'cellularEID'
308
+ | 'cellularIMEI'
305
309
  | 'dateTime'
306
310
  | 'flightNumber'
307
311
  | 'shipmentTrackingNumber'
@@ -198,6 +198,8 @@ export type TextContentType =
198
198
  | 'birthdateDay'
199
199
  | 'birthdateMonth'
200
200
  | 'birthdateYear'
201
+ | 'cellularEID'
202
+ | 'cellularIMEI'
201
203
  | 'dateTime'
202
204
  | 'flightNumber'
203
205
  | 'shipmentTrackingNumber';
@@ -239,6 +239,8 @@ export type TextContentType =
239
239
  | 'birthdateDay'
240
240
  | 'birthdateMonth'
241
241
  | 'birthdateYear'
242
+ | 'cellularEID'
243
+ | 'cellularIMEI'
242
244
  | 'dateTime'
243
245
  | 'flightNumber'
244
246
  | 'shipmentTrackingNumber';
@@ -1787,11 +1789,11 @@ const autoCompleteWebToTextContentTypeMap = {
1787
1789
  username: 'username',
1788
1790
  };
1789
1791
 
1790
- const ExportedForwardRef: React.AbstractComponent<
1791
- React.ElementConfig<typeof InternalTextInput>,
1792
- TextInputInstance,
1792
+ const ExportedForwardRef: component(
1793
+ ref: React.RefSetter<TextInputInstance>,
1794
+ ...props: React.ElementConfig<typeof InternalTextInput>
1793
1795
  // $FlowFixMe[incompatible-call]
1794
- > = React.forwardRef(function TextInput(
1796
+ ) = React.forwardRef(function TextInput(
1795
1797
  {
1796
1798
  allowFontScaling = true,
1797
1799
  rejectResponderTermination = true,
@@ -250,6 +250,8 @@ export type TextContentType =
250
250
  | 'birthdateDay'
251
251
  | 'birthdateMonth'
252
252
  | 'birthdateYear'
253
+ | 'cellularEID'
254
+ | 'cellularIMEI'
253
255
  | 'dateTime'
254
256
  | 'flightNumber'
255
257
  | 'shipmentTrackingNumber';
@@ -1927,11 +1929,11 @@ const autoCompleteWebToTextContentTypeMap = {
1927
1929
  username: 'username',
1928
1930
  };
1929
1931
 
1930
- const ExportedForwardRef: React.AbstractComponent<
1931
- React.ElementConfig<typeof InternalTextInput>,
1932
- TextInputInstance,
1932
+ const ExportedForwardRef: component(
1933
+ ref: React.RefSetter<TextInputInstance>,
1934
+ ...props: React.ElementConfig<typeof InternalTextInput>
1933
1935
  // $FlowFixMe[incompatible-call]
1934
- > = React.forwardRef(function TextInput(
1936
+ ) = React.forwardRef(function TextInput(
1935
1937
  {
1936
1938
  allowFontScaling = true,
1937
1939
  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
@@ -11,101 +11,16 @@
11
11
  import type {
12
12
  HostComponent,
13
13
  HostInstance,
14
- PartialViewConfig,
15
14
  } from '../../Renderer/shims/ReactNativeTypes';
16
15
 
17
16
  import * as NativeComponentRegistry from '../../NativeComponent/NativeComponentRegistry';
18
17
  import codegenNativeCommands from '../../Utilities/codegenNativeCommands';
19
- import Platform from '../../Utilities/Platform';
20
18
  import {type ViewProps as Props} from './ViewPropTypes';
21
19
 
22
- export const __INTERNAL_VIEW_CONFIG: PartialViewConfig =
23
- Platform.OS === 'android'
24
- ? {
25
- uiViewClassName: 'RCTView',
26
- validAttributes: {
27
- // ReactClippingViewManager @ReactProps
28
- removeClippedSubviews: true,
29
-
30
- // ReactViewManager @ReactProps
31
- accessible: true,
32
- hasTVPreferredFocus: true,
33
- nextFocusDown: true,
34
- nextFocusForward: true,
35
- nextFocusLeft: true,
36
- nextFocusRight: true,
37
- nextFocusUp: true,
38
-
39
- borderRadius: true,
40
- borderTopLeftRadius: true,
41
- borderTopRightRadius: true,
42
- borderBottomRightRadius: true,
43
- borderBottomLeftRadius: true,
44
- borderTopStartRadius: true,
45
- borderTopEndRadius: true,
46
- borderBottomStartRadius: true,
47
- borderBottomEndRadius: true,
48
- borderEndEndRadius: true,
49
- borderEndStartRadius: true,
50
- borderStartEndRadius: true,
51
- borderStartStartRadius: true,
52
- borderStyle: true,
53
- hitSlop: true,
54
- pointerEvents: true,
55
- nativeBackgroundAndroid: true,
56
- nativeForegroundAndroid: true,
57
- needsOffscreenAlphaCompositing: true,
58
-
59
- borderWidth: true,
60
- borderLeftWidth: true,
61
- borderRightWidth: true,
62
- borderTopWidth: true,
63
- borderBottomWidth: true,
64
- borderStartWidth: true,
65
- borderEndWidth: true,
66
-
67
- borderColor: {
68
- process: require('../../StyleSheet/processColor').default,
69
- },
70
- borderLeftColor: {
71
- process: require('../../StyleSheet/processColor').default,
72
- },
73
- borderRightColor: {
74
- process: require('../../StyleSheet/processColor').default,
75
- },
76
- borderTopColor: {
77
- process: require('../../StyleSheet/processColor').default,
78
- },
79
- borderBottomColor: {
80
- process: require('../../StyleSheet/processColor').default,
81
- },
82
- borderStartColor: {
83
- process: require('../../StyleSheet/processColor').default,
84
- },
85
- borderEndColor: {
86
- process: require('../../StyleSheet/processColor').default,
87
- },
88
- borderBlockColor: {
89
- process: require('../../StyleSheet/processColor').default,
90
- },
91
- borderBlockEndColor: {
92
- process: require('../../StyleSheet/processColor').default,
93
- },
94
- borderBlockStartColor: {
95
- process: require('../../StyleSheet/processColor').default,
96
- },
97
- focusable: true,
98
- overflow: true,
99
- backfaceVisibility: true,
100
- experimental_layoutConformance: true,
101
- },
102
- }
103
- : {
104
- uiViewClassName: 'RCTView',
105
- };
106
-
107
20
  const ViewNativeComponent: HostComponent<Props> =
108
- NativeComponentRegistry.get<Props>('RCTView', () => __INTERNAL_VIEW_CONFIG);
21
+ NativeComponentRegistry.get<Props>('RCTView', () => ({
22
+ uiViewClassName: 'RCTView',
23
+ }));
109
24
 
110
25
  interface NativeCommands {
111
26
  +hotspotUpdate: (viewRef: HostInstance, x: number, y: number) => void;