@office-iss/react-native-win32 0.69.0 → 0.70.0-preview.1

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 (154) hide show
  1. package/.eslintrc.js +0 -1
  2. package/.flowconfig +5 -1
  3. package/CHANGELOG.json +194 -32
  4. package/CHANGELOG.md +79 -19
  5. package/IntegrationTests/AsyncStorageTest.js +20 -4
  6. package/IntegrationTests/BUCK +2 -2
  7. package/IntegrationTests/LayoutEventsTest.js +4 -1
  8. package/IntegrationTests/{launchWebSocketServer.command → launchWebSocketServer.sh} +3 -9
  9. package/Libraries/Alert/Alert.js +18 -4
  10. package/Libraries/Alert/Alert.win32.js +2 -0
  11. package/Libraries/Alert/NativeAlertManager.js +1 -0
  12. package/Libraries/Animated/Animated.js +2 -2
  13. package/Libraries/Animated/AnimatedEvent.js +7 -4
  14. package/Libraries/Animated/AnimatedImplementation.js +17 -3
  15. package/Libraries/Animated/AnimatedMock.js +7 -2
  16. package/Libraries/Animated/NativeAnimatedHelper.js +220 -95
  17. package/Libraries/Animated/NativeAnimatedModule.js +3 -0
  18. package/Libraries/Animated/NativeAnimatedTurboModule.js +3 -0
  19. package/Libraries/Animated/animations/SpringAnimation.js +3 -3
  20. package/Libraries/Animated/animations/TimingAnimation.js +3 -3
  21. package/Libraries/Animated/createAnimatedComponent.js +8 -1
  22. package/Libraries/Animated/nodes/AnimatedAddition.js +3 -1
  23. package/Libraries/Animated/nodes/AnimatedColor.js +50 -29
  24. package/Libraries/Animated/nodes/AnimatedDiffClamp.js +3 -1
  25. package/Libraries/Animated/nodes/AnimatedDivision.js +3 -1
  26. package/Libraries/Animated/nodes/AnimatedInterpolation.js +22 -21
  27. package/Libraries/Animated/nodes/AnimatedModulo.js +3 -1
  28. package/Libraries/Animated/nodes/AnimatedMultiplication.js +3 -2
  29. package/Libraries/Animated/nodes/AnimatedProps.js +20 -12
  30. package/Libraries/Animated/nodes/AnimatedStyle.js +19 -16
  31. package/Libraries/Animated/nodes/AnimatedSubtraction.js +3 -1
  32. package/Libraries/Animated/nodes/AnimatedTransform.js +5 -5
  33. package/Libraries/Animated/nodes/AnimatedValue.js +14 -5
  34. package/Libraries/Animated/nodes/AnimatedValueXY.js +28 -1
  35. package/Libraries/Animated/useAnimatedProps.js +1 -0
  36. package/Libraries/AppState/AppState.js +0 -32
  37. package/Libraries/BatchedBridge/MessageQueue.js +21 -15
  38. package/Libraries/BatchedBridge/NativeModules.js +3 -4
  39. package/Libraries/Blob/FileReader.js +0 -6
  40. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +0 -20
  41. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js +0 -20
  42. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +4 -0
  43. package/Libraries/Components/Keyboard/Keyboard.js +0 -11
  44. package/Libraries/Components/Pressable/Pressable.js +2 -0
  45. package/Libraries/Components/Pressable/Pressable.win32.js +2 -0
  46. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +1 -3
  47. package/Libraries/Components/SafeAreaView/SafeAreaView.js +3 -30
  48. package/Libraries/Components/SafeAreaView/SafeAreaView.win32.js +4 -32
  49. package/Libraries/Components/ScrollView/ScrollView.js +13 -11
  50. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +5 -3
  51. package/Libraries/Components/StatusBar/StatusBar.js +10 -7
  52. package/Libraries/Components/TextInput/InputAccessoryView.js +14 -13
  53. package/Libraries/Components/TextInput/TextInput.js +12 -2
  54. package/Libraries/Components/Touchable/PooledClass.js +16 -4
  55. package/Libraries/Components/Touchable/Touchable.js +50 -1
  56. package/Libraries/Components/Touchable/Touchable.win32.js +972 -0
  57. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +6 -2
  58. package/Libraries/Components/View/ReactNativeStyleAttributes.js +0 -7
  59. package/Libraries/Components/View/ViewPropTypes.js +3 -8
  60. package/Libraries/Components/View/ViewPropTypes.win32.js +3 -8
  61. package/Libraries/Core/ExceptionsManager.js +2 -0
  62. package/Libraries/Core/ReactNativeVersion.js +2 -2
  63. package/Libraries/Core/Timers/JSTimers.js +2 -2
  64. package/Libraries/Core/polyfillPromise.js +0 -32
  65. package/Libraries/Core/setUpBatchedBridge.js +5 -1
  66. package/Libraries/Core/setUpPerformance.js +1 -1
  67. package/Libraries/EventEmitter/NativeEventEmitter.js +0 -13
  68. package/Libraries/Image/AssetSourceResolver.js +2 -2
  69. package/Libraries/Image/Image.android.js +5 -3
  70. package/Libraries/Image/Image.ios.js +6 -3
  71. package/Libraries/Image/Image.win32.js +6 -3
  72. package/Libraries/Image/ImageSource.js +7 -5
  73. package/Libraries/Inspector/ElementBox.js +2 -2
  74. package/Libraries/Inspector/NetworkOverlay.js +13 -8
  75. package/Libraries/Interaction/PanResponder.js +16 -14
  76. package/Libraries/Linking/Linking.js +0 -11
  77. package/Libraries/Lists/FlatList.js +3 -2
  78. package/Libraries/Lists/SectionList.js +2 -0
  79. package/Libraries/Lists/ViewabilityHelper.js +7 -3
  80. package/Libraries/Lists/VirtualizeUtils.js +33 -20
  81. package/Libraries/Lists/VirtualizedList.js +93 -47
  82. package/Libraries/Lists/VirtualizedListContext.js +1 -0
  83. package/Libraries/Lists/VirtualizedSectionList.js +14 -9
  84. package/Libraries/Lists/__tests__/VirtualizeUtils-test.js +19 -18
  85. package/Libraries/Lists/__tests__/VirtualizedList-test.js +10 -6
  86. package/Libraries/LogBox/Data/LogBoxData.js +1 -1
  87. package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
  88. package/Libraries/LogBox/LogBox.js +3 -1
  89. package/Libraries/LogBox/UI/AnsiHighlight.js +2 -0
  90. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +3 -0
  91. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +0 -3
  92. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +8 -3
  93. package/Libraries/NativeComponent/BaseViewConfig.android.js +9 -18
  94. package/Libraries/NativeComponent/BaseViewConfig.ios.js +26 -12
  95. package/Libraries/NativeComponent/BaseViewConfig.win32.js +26 -12
  96. package/Libraries/Network/XMLHttpRequest.js +9 -11
  97. package/Libraries/Performance/PureComponentDebug.js +1 -0
  98. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +9 -1
  99. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +16 -0
  100. package/Libraries/Pressability/Pressability.js +26 -16
  101. package/Libraries/Pressability/Pressability.win32.js +26 -16
  102. package/Libraries/Promise.js +0 -1
  103. package/Libraries/ReactNative/AppRegistry.js +16 -13
  104. package/Libraries/ReactNative/BridgelessUIManager.js +2 -0
  105. package/Libraries/ReactNative/PaperUIManager.js +9 -9
  106. package/Libraries/ReactNative/PaperUIManager.win32.js +7 -8
  107. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +12 -0
  108. package/Libraries/ReactNative/ReactNativeRuntimeDiagnostics.js +68 -0
  109. package/Libraries/ReactNative/getNativeComponentAttributes.js +6 -7
  110. package/Libraries/ReactNative/renderApplication.js +1 -1
  111. package/Libraries/Renderer/implementations/ReactFabric-dev.js +4443 -3615
  112. package/Libraries/Renderer/implementations/ReactFabric-prod.js +1496 -1170
  113. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +1694 -1356
  114. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +4439 -3588
  115. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +1583 -1249
  116. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +1719 -1372
  117. package/Libraries/Storage/AsyncStorage.js +7 -1
  118. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +8 -0
  119. package/Libraries/StyleSheet/flattenStyle.js +1 -1
  120. package/Libraries/StyleSheet/processTransform.js +2 -0
  121. package/Libraries/StyleSheet/splitLayoutProps.js +2 -0
  122. package/Libraries/Text/Text.js +15 -7
  123. package/Libraries/Types/CoreEventTypes.js +137 -11
  124. package/Libraries/Types/CoreEventTypes.win32.js +147 -22
  125. package/Libraries/Utilities/Dimensions.js +0 -13
  126. package/Libraries/Utilities/Dimensions.win32.js +0 -9
  127. package/Libraries/Utilities/HMRClient.js +3 -3
  128. package/Libraries/Utilities/Platform.ios.js +0 -7
  129. package/Libraries/Utilities/ReactNativeTestTools.js +3 -1
  130. package/Libraries/Utilities/codegenNativeCommands.js +11 -2
  131. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +2 -0
  132. package/Libraries/Utilities/stringifySafe.js +3 -1
  133. package/Libraries/Utilities/truncate.js +1 -1
  134. package/Libraries/Utilities/verifyComponentAttributeEquivalence.js +2 -2
  135. package/Libraries/Vibration/Vibration.js +1 -1
  136. package/Libraries/WebSocket/WebSocket.js +1 -0
  137. package/Libraries/vendor/emitter/EventEmitter.js +105 -12
  138. package/Libraries/vendor/emitter/__flowtests__/EventEmitter-flowtest.js +73 -117
  139. package/flow/JSITimerInternalType.js +30 -0
  140. package/jest/assetFileTransformer.js +3 -2
  141. package/jest/setup.js +4 -0
  142. package/jest.config.js +0 -1
  143. package/overrides.json +23 -16
  144. package/package.json +23 -24
  145. package/rntypes/index.d.ts +0 -1
  146. package/src/rntypes/index.d.ts +0 -1
  147. package/Libraries/vendor/emitter/EventSubscription.js +0 -19
  148. package/Libraries/vendor/emitter/_EmitterSubscription.js +0 -62
  149. package/Libraries/vendor/emitter/_EventEmitter.js +0 -184
  150. package/Libraries/vendor/emitter/_EventSubscription.js +0 -45
  151. package/Libraries/vendor/emitter/_EventSubscriptionVendor.js +0 -108
  152. package/jest/preprocessor.js +0 -40
  153. package/jest/preprocessor_DO_NOT_USE.js +0 -122
  154. package/src/Libraries/Lists/__tests__/__snapshots__/VirtualizeUtils-test.js.snap +0 -3
@@ -99,10 +99,10 @@ const bubblingEventTypes = {
99
99
  bubbled: 'onPointerDown',
100
100
  },
101
101
  },
102
- topPointerMove2: {
102
+ topPointerMove: {
103
103
  phasedRegistrationNames: {
104
- captured: 'onPointerMove2Capture',
105
- bubbled: 'onPointerMove2',
104
+ captured: 'onPointerMoveCapture',
105
+ bubbled: 'onPointerMove',
106
106
  },
107
107
  },
108
108
  topPointerUp: {
@@ -111,20 +111,32 @@ const bubblingEventTypes = {
111
111
  bubbled: 'onPointerUp',
112
112
  },
113
113
  },
114
- topPointerEnter2: {
114
+ topPointerEnter: {
115
115
  phasedRegistrationNames: {
116
- captured: 'onPointerEnter2Capture',
117
- bubbled: 'onPointerEnter2',
116
+ captured: 'onPointerEnterCapture',
117
+ bubbled: 'onPointerEnter',
118
118
  skipBubbling: true,
119
119
  },
120
120
  },
121
- topPointerLeave2: {
121
+ topPointerLeave: {
122
122
  phasedRegistrationNames: {
123
- captured: 'onPointerLeave2Capture',
124
- bubbled: 'onPointerLeave2',
123
+ captured: 'onPointerLeaveCapture',
124
+ bubbled: 'onPointerLeave',
125
125
  skipBubbling: true,
126
126
  },
127
127
  },
128
+ topPointerOver: {
129
+ phasedRegistrationNames: {
130
+ captured: 'onPointerOverCapture',
131
+ bubbled: 'onPointerOver',
132
+ },
133
+ },
134
+ topPointerOut: {
135
+ phasedRegistrationNames: {
136
+ captured: 'onPointerOutCapture',
137
+ bubbled: 'onPointerOut',
138
+ },
139
+ },
128
140
  };
129
141
 
130
142
  const directEventTypes = {
@@ -312,9 +324,11 @@ const validAttributesForEventProps = ConditionallyIgnoredEventHandlers({
312
324
  onPointerUp: true,
313
325
  onPointerDown: true,
314
326
  onPointerCancel: true,
315
- onPointerEnter2: true,
316
- onPointerMove2: true,
317
- onPointerLeave2: true,
327
+ onPointerEnter: true,
328
+ onPointerMove: true,
329
+ onPointerLeave: true,
330
+ onPointerOver: true,
331
+ onPointerOut: true,
318
332
  });
319
333
 
320
334
  /**
@@ -99,10 +99,10 @@ const bubblingEventTypes = {
99
99
  bubbled: 'onPointerDown',
100
100
  },
101
101
  },
102
- topPointerMove2: {
102
+ topPointerMove: {
103
103
  phasedRegistrationNames: {
104
- captured: 'onPointerMove2Capture',
105
- bubbled: 'onPointerMove2',
104
+ captured: 'onPointerMoveCapture',
105
+ bubbled: 'onPointerMove',
106
106
  },
107
107
  },
108
108
  topPointerUp: {
@@ -111,20 +111,32 @@ const bubblingEventTypes = {
111
111
  bubbled: 'onPointerUp',
112
112
  },
113
113
  },
114
- topPointerEnter2: {
114
+ topPointerEnter: {
115
115
  phasedRegistrationNames: {
116
- captured: 'onPointerEnter2Capture',
117
- bubbled: 'onPointerEnter2',
116
+ captured: 'onPointerEnterCapture',
117
+ bubbled: 'onPointerEnter',
118
118
  skipBubbling: true,
119
119
  },
120
120
  },
121
- topPointerLeave2: {
121
+ topPointerLeave: {
122
122
  phasedRegistrationNames: {
123
- captured: 'onPointerLeave2Capture',
124
- bubbled: 'onPointerLeave2',
123
+ captured: 'onPointerLeaveCapture',
124
+ bubbled: 'onPointerLeave',
125
125
  skipBubbling: true,
126
126
  },
127
127
  },
128
+ topPointerOver: {
129
+ phasedRegistrationNames: {
130
+ captured: 'onPointerOverCapture',
131
+ bubbled: 'onPointerOver',
132
+ },
133
+ },
134
+ topPointerOut: {
135
+ phasedRegistrationNames: {
136
+ captured: 'onPointerOutCapture',
137
+ bubbled: 'onPointerOut',
138
+ },
139
+ },
128
140
  };
129
141
 
130
142
  const directEventTypes = {
@@ -312,9 +324,11 @@ const validAttributesForEventProps = ConditionallyIgnoredEventHandlers({
312
324
  onPointerUp: true,
313
325
  onPointerDown: true,
314
326
  onPointerCancel: true,
315
- onPointerEnter2: true,
316
- onPointerMove2: true,
317
- onPointerLeave2: true,
327
+ onPointerEnter: true,
328
+ onPointerMove: true,
329
+ onPointerLeave: true,
330
+ onPointerOver: true,
331
+ onPointerOut: true,
318
332
  });
319
333
 
320
334
  /**
@@ -10,16 +10,15 @@
10
10
 
11
11
  'use strict';
12
12
 
13
- import {type EventSubscription} from '../vendor/emitter/EventEmitter';
14
-
15
13
  import type {IPerformanceLogger} from '../Utilities/createPerformanceLogger';
16
14
 
15
+ import {type EventSubscription} from '../vendor/emitter/EventEmitter';
16
+
17
17
  const BlobManager = require('../Blob/BlobManager');
18
- const EventTarget = require('event-target-shim');
19
18
  const GlobalPerformanceLogger = require('../Utilities/GlobalPerformanceLogger');
20
19
  const RCTNetworking = require('./RCTNetworking');
21
-
22
20
  const base64 = require('base64-js');
21
+ const EventTarget = require('event-target-shim');
23
22
  const invariant = require('invariant');
24
23
 
25
24
  const DEBUG_NETWORK_SEND_DELAY: false = false; // Set to a number of milliseconds when debugging
@@ -625,13 +624,12 @@ class XMLHttpRequest extends (EventTarget(...XHR_EVENTS): any) {
625
624
  setResponseHeaders(responseHeaders: ?Object): void {
626
625
  this.responseHeaders = responseHeaders || null;
627
626
  const headers = responseHeaders || {};
628
- this._lowerCaseResponseHeaders = Object.keys(headers).reduce(
629
- (lcaseHeaders, headerName) => {
630
- lcaseHeaders[headerName.toLowerCase()] = headers[headerName];
631
- return lcaseHeaders;
632
- },
633
- {},
634
- );
627
+ this._lowerCaseResponseHeaders = Object.keys(headers).reduce<{
628
+ [string]: any,
629
+ }>((lcaseHeaders, headerName) => {
630
+ lcaseHeaders[headerName.toLowerCase()] = headers[headerName];
631
+ return lcaseHeaders;
632
+ }, {});
635
633
  }
636
634
 
637
635
  setReadyState(newState: number): void {
@@ -61,6 +61,7 @@ class PureComponentDebug<
61
61
  }
62
62
  }
63
63
  for (const key in this.state) {
64
+ // $FlowFixMe[incompatible-use]
64
65
  if (this.state[key] !== (nextState || {})[key]) {
65
66
  ret = true;
66
67
  console.warn('PureComponentDebug: different state values', tag, key);
@@ -32,15 +32,21 @@ export type PermissionType =
32
32
  | 'android.permission.READ_CALL_LOG'
33
33
  | 'android.permission.WRITE_CALL_LOG'
34
34
  | 'com.android.voicemail.permission.ADD_VOICEMAIL'
35
+ | 'com.android.voicemail.permission.READ_VOICEMAIL'
36
+ | 'com.android.voicemail.permission.WRITE_VOICEMAIL'
35
37
  | 'android.permission.USE_SIP'
36
38
  | 'android.permission.PROCESS_OUTGOING_CALLS'
37
39
  | 'android.permission.BODY_SENSORS'
40
+ | 'android.permission.BODY_SENSORS_BACKGROUND'
38
41
  | 'android.permission.SEND_SMS'
39
42
  | 'android.permission.RECEIVE_SMS'
40
43
  | 'android.permission.READ_SMS'
41
44
  | 'android.permission.RECEIVE_WAP_PUSH'
42
45
  | 'android.permission.RECEIVE_MMS'
43
46
  | 'android.permission.READ_EXTERNAL_STORAGE'
47
+ | 'android.permission.READ_MEDIA_IMAGES',
48
+ | 'android.permission.READ_MEDIA_VIDEO',
49
+ | 'android.permission.READ_MEDIA_AUDIO',
44
50
  | 'android.permission.WRITE_EXTERNAL_STORAGE'
45
51
  | 'android.permission.BLUETOOTH_CONNECT'
46
52
  | 'android.permission.BLUETOOTH_SCAN'
@@ -50,7 +56,9 @@ export type PermissionType =
50
56
  | 'android.permission.ACTIVITY_RECOGNITION'
51
57
  | 'android.permission.ANSWER_PHONE_CALLS'
52
58
  | 'android.permission.READ_PHONE_NUMBERS'
53
- | 'android.permission.UWB_RANGING';
59
+ | 'android.permission.UWB_RANGING'
60
+ | 'android.permission.POST_NOTIFICATIONS'
61
+ | 'android.permission.NEARBY_WIFI_DEVICES';
54
62
  */
55
63
 
56
64
  export interface Spec extends TurboModule {
@@ -49,15 +49,21 @@ const PERMISSIONS = Object.freeze({
49
49
  READ_CALL_LOG: 'android.permission.READ_CALL_LOG',
50
50
  WRITE_CALL_LOG: 'android.permission.WRITE_CALL_LOG',
51
51
  ADD_VOICEMAIL: 'com.android.voicemail.permission.ADD_VOICEMAIL',
52
+ READ_VOICEMAIL: 'com.android.voicemail.permission.READ_VOICEMAIL',
53
+ WRITE_VOICEMAIL: 'com.android.voicemail.permission.WRITE_VOICEMAIL',
52
54
  USE_SIP: 'android.permission.USE_SIP',
53
55
  PROCESS_OUTGOING_CALLS: 'android.permission.PROCESS_OUTGOING_CALLS',
54
56
  BODY_SENSORS: 'android.permission.BODY_SENSORS',
57
+ BODY_SENSORS_BACKGROUND: 'android.permission.BODY_SENSORS_BACKGROUND',
55
58
  SEND_SMS: 'android.permission.SEND_SMS',
56
59
  RECEIVE_SMS: 'android.permission.RECEIVE_SMS',
57
60
  READ_SMS: 'android.permission.READ_SMS',
58
61
  RECEIVE_WAP_PUSH: 'android.permission.RECEIVE_WAP_PUSH',
59
62
  RECEIVE_MMS: 'android.permission.RECEIVE_MMS',
60
63
  READ_EXTERNAL_STORAGE: 'android.permission.READ_EXTERNAL_STORAGE',
64
+ READ_MEDIA_IMAGES: 'android.permission.READ_MEDIA_IMAGES',
65
+ READ_MEDIA_VIDEO: 'android.permission.READ_MEDIA_VIDEO',
66
+ READ_MEDIA_AUDIO: 'android.permission.READ_MEDIA_AUDIO',
61
67
  WRITE_EXTERNAL_STORAGE: 'android.permission.WRITE_EXTERNAL_STORAGE',
62
68
  BLUETOOTH_CONNECT: 'android.permission.BLUETOOTH_CONNECT',
63
69
  BLUETOOTH_SCAN: 'android.permission.BLUETOOTH_SCAN',
@@ -68,6 +74,8 @@ const PERMISSIONS = Object.freeze({
68
74
  ANSWER_PHONE_CALLS: 'android.permission.ANSWER_PHONE_CALLS',
69
75
  READ_PHONE_NUMBERS: 'android.permission.READ_PHONE_NUMBERS',
70
76
  UWB_RANGING: 'android.permission.UWB_RANGING',
77
+ POST_NOTIFICATION: 'android.permission.POST_NOTIFICATIONS',
78
+ NEARBY_WIFI_DEVICES: 'android.permission.NEARBY_WIFI_DEVICES',
71
79
  });
72
80
 
73
81
  /**
@@ -85,19 +93,27 @@ class PermissionsAndroid {
85
93
  ACCESS_MEDIA_LOCATION: string,
86
94
  ACTIVITY_RECOGNITION: string,
87
95
  ADD_VOICEMAIL: string,
96
+ READ_VOICEMAIL: string,
97
+ WRITE_VOICEMAIL: string,
88
98
  ANSWER_PHONE_CALLS: string,
89
99
  BLUETOOTH_ADVERTISE: string,
90
100
  BLUETOOTH_CONNECT: string,
91
101
  BLUETOOTH_SCAN: string,
92
102
  BODY_SENSORS: string,
103
+ BODY_SENSORS_BACKGROUND: string,
93
104
  CALL_PHONE: string,
94
105
  CAMERA: string,
95
106
  GET_ACCOUNTS: string,
107
+ NEARBY_WIFI_DEVICES: string,
108
+ POST_NOTIFICATION: string,
96
109
  PROCESS_OUTGOING_CALLS: string,
97
110
  READ_CALENDAR: string,
98
111
  READ_CALL_LOG: string,
99
112
  READ_CONTACTS: string,
100
113
  READ_EXTERNAL_STORAGE: string,
114
+ READ_MEDIA_IMAGES: string,
115
+ READ_MEDIA_VIDEO: string,
116
+ READ_MEDIA_AUDIO: string,
101
117
  READ_PHONE_NUMBERS: string,
102
118
  READ_PHONE_STATE: string,
103
119
  READ_SMS: string,
@@ -160,8 +160,8 @@ export type EventHandlers = $ReadOnly<{|
160
160
  onFocus: (event: FocusEvent) => void,
161
161
  onMouseEnter?: (event: MouseEvent) => void,
162
162
  onMouseLeave?: (event: MouseEvent) => void,
163
- onPointerEnter2?: (event: PointerEvent) => void,
164
- onPointerLeave2?: (event: PointerEvent) => void,
163
+ onPointerEnter?: (event: PointerEvent) => void,
164
+ onPointerLeave?: (event: PointerEvent) => void,
165
165
  onResponderGrant: (event: PressEvent) => void,
166
166
  onResponderMove: (event: PressEvent) => void,
167
167
  onResponderRelease: (event: PressEvent) => void,
@@ -255,20 +255,20 @@ const Transitions = Object.freeze({
255
255
  },
256
256
  });
257
257
 
258
- const isActiveSignal = signal =>
258
+ const isActiveSignal = (signal: TouchState) =>
259
259
  signal === 'RESPONDER_ACTIVE_PRESS_IN' ||
260
260
  signal === 'RESPONDER_ACTIVE_LONG_PRESS_IN';
261
261
 
262
- const isActivationSignal = signal =>
262
+ const isActivationSignal = (signal: TouchState) =>
263
263
  signal === 'RESPONDER_ACTIVE_PRESS_OUT' ||
264
264
  signal === 'RESPONDER_ACTIVE_PRESS_IN';
265
265
 
266
- const isPressInSignal = signal =>
266
+ const isPressInSignal = (signal: TouchState) =>
267
267
  signal === 'RESPONDER_INACTIVE_PRESS_IN' ||
268
268
  signal === 'RESPONDER_ACTIVE_PRESS_IN' ||
269
269
  signal === 'RESPONDER_ACTIVE_LONG_PRESS_IN';
270
270
 
271
- const isTerminalSignal = signal =>
271
+ const isTerminalSignal = (signal: TouchSignal) =>
272
272
  signal === 'RESPONDER_TERMINATED' || signal === 'RESPONDER_RELEASE';
273
273
 
274
274
  const DEFAULT_LONG_PRESS_DELAY_MS = 500;
@@ -557,12 +557,12 @@ export default class Pressability {
557
557
  ReactNativeFeatureFlags.shouldPressibilityUseW3CPointerEventsForHover()
558
558
  ) {
559
559
  const hoverPointerEvents = {
560
- onPointerEnter2: undefined,
561
- onPointerLeave2: undefined,
560
+ onPointerEnter: undefined,
561
+ onPointerLeave: undefined,
562
562
  };
563
563
  const {onHoverIn, onHoverOut} = this._config;
564
564
  if (onHoverIn != null) {
565
- hoverPointerEvents.onPointerEnter2 = (event: PointerEvent) => {
565
+ hoverPointerEvents.onPointerEnter = (event: PointerEvent) => {
566
566
  this._isHovered = true;
567
567
  this._cancelHoverOutDelayTimeout();
568
568
  if (onHoverIn != null) {
@@ -579,7 +579,7 @@ export default class Pressability {
579
579
  };
580
580
  }
581
581
  if (onHoverOut != null) {
582
- hoverPointerEvents.onPointerLeave2 = (event: PointerEvent) => {
582
+ hoverPointerEvents.onPointerLeave = (event: PointerEvent) => {
583
583
  if (this._isHovered) {
584
584
  this._isHovered = false;
585
585
  this._cancelHoverInDelayTimeout();
@@ -808,7 +808,14 @@ export default class Pressability {
808
808
  }
809
809
  }
810
810
 
811
- _measureCallback = (left, top, width, height, pageX, pageY) => {
811
+ _measureCallback = (
812
+ left: number,
813
+ top: number,
814
+ width: number,
815
+ height: number,
816
+ pageX: number,
817
+ pageY: number,
818
+ ) => {
812
819
  if (!left && !top && !width && !height && !pageX && !pageY) {
813
820
  return;
814
821
  }
@@ -918,7 +925,11 @@ export default class Pressability {
918
925
  }
919
926
  }
920
927
 
921
- function normalizeDelay(delay: ?number, min = 0, fallback = 0): number {
928
+ function normalizeDelay(
929
+ delay: ?number,
930
+ min: number = 0,
931
+ fallback: number = 0,
932
+ ): number {
922
933
  return Math.max(min, delay ?? fallback);
923
934
  }
924
935
 
@@ -935,16 +946,15 @@ const getTouchFromPressEvent = (event: PressEvent) => {
935
946
  };
936
947
 
937
948
  function convertPointerEventToMouseEvent(input: PointerEvent): MouseEvent {
938
- const {touchHistory: _, ...synthEvent} = input;
939
- const {clientX, clientY, timestamp} = input.nativeEvent;
949
+ const {clientX, clientY} = input.nativeEvent;
940
950
  return {
941
- ...synthEvent,
951
+ ...input,
942
952
  nativeEvent: {
943
953
  clientX,
944
954
  clientY,
945
955
  pageX: clientX,
946
956
  pageY: clientY,
947
- timestamp,
957
+ timestamp: input.timeStamp,
948
958
  },
949
959
  };
950
960
  }
@@ -187,8 +187,8 @@ export type EventHandlers = $ReadOnly<{|
187
187
  onFocus: (event: FocusEvent) => void,
188
188
  onMouseEnter?: (event: MouseEvent) => void,
189
189
  onMouseLeave?: (event: MouseEvent) => void,
190
- onPointerEnter2?: (event: PointerEvent) => void,
191
- onPointerLeave2?: (event: PointerEvent) => void,
190
+ onPointerEnter?: (event: PointerEvent) => void,
191
+ onPointerLeave?: (event: PointerEvent) => void,
192
192
  onResponderGrant: (event: PressEvent) => void,
193
193
  onResponderMove: (event: PressEvent) => void,
194
194
  onResponderRelease: (event: PressEvent) => void,
@@ -286,20 +286,20 @@ const Transitions = Object.freeze({
286
286
  },
287
287
  });
288
288
 
289
- const isActiveSignal = signal =>
289
+ const isActiveSignal = (signal: TouchState) =>
290
290
  signal === 'RESPONDER_ACTIVE_PRESS_IN' ||
291
291
  signal === 'RESPONDER_ACTIVE_LONG_PRESS_IN';
292
292
 
293
- const isActivationSignal = signal =>
293
+ const isActivationSignal = (signal: TouchState) =>
294
294
  signal === 'RESPONDER_ACTIVE_PRESS_OUT' ||
295
295
  signal === 'RESPONDER_ACTIVE_PRESS_IN';
296
296
 
297
- const isPressInSignal = signal =>
297
+ const isPressInSignal = (signal: TouchState) =>
298
298
  signal === 'RESPONDER_INACTIVE_PRESS_IN' ||
299
299
  signal === 'RESPONDER_ACTIVE_PRESS_IN' ||
300
300
  signal === 'RESPONDER_ACTIVE_LONG_PRESS_IN';
301
301
 
302
- const isTerminalSignal = signal =>
302
+ const isTerminalSignal = (signal: TouchSignal) =>
303
303
  signal === 'RESPONDER_TERMINATED' || signal === 'RESPONDER_RELEASE';
304
304
 
305
305
  const DEFAULT_LONG_PRESS_DELAY_MS = 500;
@@ -625,12 +625,12 @@ export default class Pressability {
625
625
  ReactNativeFeatureFlags.shouldPressibilityUseW3CPointerEventsForHover()
626
626
  ) {
627
627
  const hoverPointerEvents = {
628
- onPointerEnter2: undefined,
629
- onPointerLeave2: undefined,
628
+ onPointerEnter: undefined,
629
+ onPointerLeave: undefined,
630
630
  };
631
631
  const {onHoverIn, onHoverOut} = this._config;
632
632
  if (onHoverIn != null) {
633
- hoverPointerEvents.onPointerEnter2 = (event: PointerEvent) => {
633
+ hoverPointerEvents.onPointerEnter = (event: PointerEvent) => {
634
634
  this._isHovered = true;
635
635
  this._cancelHoverOutDelayTimeout();
636
636
  if (onHoverIn != null) {
@@ -647,7 +647,7 @@ export default class Pressability {
647
647
  };
648
648
  }
649
649
  if (onHoverOut != null) {
650
- hoverPointerEvents.onPointerLeave2 = (event: PointerEvent) => {
650
+ hoverPointerEvents.onPointerLeave = (event: PointerEvent) => {
651
651
  if (this._isHovered) {
652
652
  this._isHovered = false;
653
653
  this._cancelHoverInDelayTimeout();
@@ -891,7 +891,14 @@ export default class Pressability {
891
891
  }
892
892
  }
893
893
 
894
- _measureCallback = (left, top, width, height, pageX, pageY) => {
894
+ _measureCallback = (
895
+ left: number,
896
+ top: number,
897
+ width: number,
898
+ height: number,
899
+ pageX: number,
900
+ pageY: number,
901
+ ) => {
895
902
  if (!left && !top && !width && !height && !pageX && !pageY) {
896
903
  return;
897
904
  }
@@ -1001,7 +1008,11 @@ export default class Pressability {
1001
1008
  }
1002
1009
  }
1003
1010
 
1004
- function normalizeDelay(delay: ?number, min = 0, fallback = 0): number {
1011
+ function normalizeDelay(
1012
+ delay: ?number,
1013
+ min: number = 0,
1014
+ fallback: number = 0,
1015
+ ): number {
1005
1016
  return Math.max(min, delay ?? fallback);
1006
1017
  }
1007
1018
 
@@ -1018,8 +1029,7 @@ const getTouchFromPressEvent = (event: PressEvent) => {
1018
1029
  };
1019
1030
 
1020
1031
  function convertPointerEventToMouseEvent(input: PointerEvent): MouseEvent {
1021
- const {touchHistory: _, ...synthEvent} = input;
1022
- const {clientX, clientY, timestamp} = input.nativeEvent;
1032
+ const {clientX, clientY} = input.nativeEvent;
1023
1033
  // [Windows
1024
1034
  const {
1025
1035
  pointerType,
@@ -1036,13 +1046,13 @@ function convertPointerEventToMouseEvent(input: PointerEvent): MouseEvent {
1036
1046
  } = input.nativeEvent;
1037
1047
  // Windows]
1038
1048
  return {
1039
- ...synthEvent,
1049
+ ...input,
1040
1050
  nativeEvent: {
1041
1051
  clientX,
1042
1052
  clientY,
1043
1053
  pageX: clientX,
1044
1054
  pageY: clientY,
1045
- timestamp,
1055
+ timestamp: input.timeStamp,
1046
1056
  // [Windows
1047
1057
  target:
1048
1058
  input.nativeEvent.target ??
@@ -12,7 +12,6 @@
12
12
 
13
13
  const Promise = require('promise/setimmediate/es6-extensions');
14
14
 
15
- require('promise/setimmediate/done');
16
15
  require('promise/setimmediate/finally');
17
16
 
18
17
  if (__DEV__) {
@@ -338,19 +338,22 @@ const AppRegistry = {
338
338
  },
339
339
  };
340
340
 
341
- BatchedBridge.registerCallableModule('AppRegistry', AppRegistry);
342
-
343
- if (__DEV__) {
344
- const LogBoxInspector = require('../LogBox/LogBoxInspectorContainer').default;
345
- AppRegistry.registerComponent('LogBox', () => LogBoxInspector);
346
- } else {
347
- AppRegistry.registerComponent(
348
- 'LogBox',
349
- () =>
350
- function NoOp() {
351
- return null;
352
- },
353
- );
341
+ if (!(global.RN$Bridgeless === true)) {
342
+ BatchedBridge.registerCallableModule('AppRegistry', AppRegistry);
343
+
344
+ if (__DEV__) {
345
+ const LogBoxInspector =
346
+ require('../LogBox/LogBoxInspectorContainer').default;
347
+ AppRegistry.registerComponent('LogBox', () => LogBoxInspector);
348
+ } else {
349
+ AppRegistry.registerComponent(
350
+ 'LogBox',
351
+ () =>
352
+ function NoOp() {
353
+ return null;
354
+ },
355
+ );
356
+ }
354
357
  }
355
358
 
356
359
  module.exports = AppRegistry;
@@ -146,6 +146,8 @@ module.exports = {
146
146
  errorMessageForMethod('setLayoutAnimationEnabledExperimental'),
147
147
  );
148
148
  },
149
+ // Please use AccessibilityInfo.sendAccessibilityEvent_unstable instead.
150
+ // See SetAccessibilityFocusExample in AccessibilityExample.js for a migration example.
149
151
  sendAccessibilityEvent: (reactTag: ?number, eventType: number): void =>
150
152
  console.error(errorMessageForMethod('sendAccessibilityEvent')),
151
153
  showPopupMenu: (
@@ -8,16 +8,16 @@
8
8
  * @format
9
9
  */
10
10
 
11
+ import type {RootTag} from 'react-native/Libraries/Types/RootTagTypes';
12
+
13
+ import NativeUIManager from './NativeUIManager';
14
+
11
15
  const NativeModules = require('../BatchedBridge/NativeModules');
16
+ const defineLazyObjectProperty = require('../Utilities/defineLazyObjectProperty');
12
17
  const Platform = require('../Utilities/Platform');
13
18
  const UIManagerProperties = require('./UIManagerProperties');
14
19
 
15
- const defineLazyObjectProperty = require('../Utilities/defineLazyObjectProperty');
16
-
17
- import NativeUIManager from './NativeUIManager';
18
- import type {RootTag} from 'react-native/Libraries/Types/RootTagTypes';
19
-
20
- const viewManagerConfigs = {};
20
+ const viewManagerConfigs: {[string]: any | null} = {};
21
21
 
22
22
  const triedLoadingConfig = new Set();
23
23
 
@@ -114,14 +114,14 @@ const UIManagerJS = {
114
114
  // $FlowFixMe[prop-missing]
115
115
  NativeUIManager.getViewManagerConfig = UIManagerJS.getViewManagerConfig;
116
116
 
117
- function lazifyViewManagerConfig(viewName) {
117
+ function lazifyViewManagerConfig(viewName: string) {
118
118
  const viewConfig = getConstants()[viewName];
119
119
  viewManagerConfigs[viewName] = viewConfig;
120
120
  if (viewConfig.Manager) {
121
121
  defineLazyObjectProperty(viewConfig, 'Constants', {
122
122
  get: () => {
123
123
  const viewManager = NativeModules[viewConfig.Manager];
124
- const constants = {};
124
+ const constants: {[string]: mixed} = {};
125
125
  viewManager &&
126
126
  Object.keys(viewManager).forEach(key => {
127
127
  const value = viewManager[key];
@@ -135,7 +135,7 @@ function lazifyViewManagerConfig(viewName) {
135
135
  defineLazyObjectProperty(viewConfig, 'Commands', {
136
136
  get: () => {
137
137
  const viewManager = NativeModules[viewConfig.Manager];
138
- const commands = {};
138
+ const commands: {[string]: number} = {};
139
139
  let index = 0;
140
140
  viewManager &&
141
141
  Object.keys(viewManager).forEach(key => {
@@ -9,15 +9,14 @@
9
9
  */
10
10
 
11
11
  const NativeModules = require('../BatchedBridge/NativeModules');
12
+ const defineLazyObjectProperty = require('../Utilities/defineLazyObjectProperty');
12
13
  const Platform = require('../Utilities/Platform');
13
14
  const UIManagerProperties = require('./UIManagerProperties');
14
15
 
15
- const defineLazyObjectProperty = require('../Utilities/defineLazyObjectProperty');
16
-
17
16
  import NativeUIManager from './NativeUIManager';
18
17
  // import type {RootTag} from 'react-native/Libraries/Types/RootTagTypes'; [Windows]
19
18
 
20
- const viewManagerConfigs = {};
19
+ const viewManagerConfigs: {[string]: any | null} = {};
21
20
 
22
21
  const triedLoadingConfig = new Set();
23
22
 
@@ -97,7 +96,7 @@ UIManagerJS.getConstants = getConstants;
97
96
  // },
98
97
  // $FlowFixMe
99
98
  UIManagerJS.getViewManagerConfig = getViewManagerConfig;
100
-
99
+ // $FlowFixMe
101
100
  UIManagerJS.hasViewManagerConfig = (viewManagerName: string) =>
102
101
  getViewManagerConfig(viewManagerName) != null;
103
102
 
@@ -114,14 +113,14 @@ if (!global.nativeCallSyncHook)
114
113
  // $FlowFixMe
115
114
  NativeUIManager.getViewManagerConfig = UIManagerJS.getViewManagerConfig;
116
115
 
117
- function lazifyViewManagerConfig(viewName) {
116
+ function lazifyViewManagerConfig(viewName: string) {
118
117
  const viewConfig = getConstants()[viewName];
119
118
  viewManagerConfigs[viewName] = viewConfig;
120
119
  if (viewConfig.Manager) {
121
120
  defineLazyObjectProperty(viewConfig, 'Constants', {
122
121
  get: () => {
123
122
  const viewManager = NativeModules[viewConfig.Manager];
124
- const constants = {};
123
+ const constants: {[string]: mixed} = {};
125
124
  viewManager &&
126
125
  Object.keys(viewManager).forEach(key => {
127
126
  const value = viewManager[key];
@@ -135,7 +134,7 @@ function lazifyViewManagerConfig(viewName) {
135
134
  defineLazyObjectProperty(viewConfig, 'Commands', {
136
135
  get: () => {
137
136
  const viewManager = NativeModules[viewConfig.Manager];
138
- const commands = {};
137
+ const commands: {[string]: number} = {};
139
138
  let index = 0;
140
139
  viewManager &&
141
140
  Object.keys(viewManager).forEach(key => {
@@ -179,7 +178,7 @@ if (!global.nativeCallSyncHook) {
179
178
  `Accessing view manager configs directly off UIManager via UIManager['${viewManagerName}'] ` +
180
179
  `is no longer supported. Use UIManager.getViewManagerConfig('${viewManagerName}') instead.`,
181
180
  );
182
-
181
+ // $FlowFixMe
183
182
  return UIManagerJS.getViewManagerConfig(viewManagerName);
184
183
  },
185
184
  });