@office-iss/react-native-win32 0.0.0-canary.282 → 0.0.0-canary.284

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 (244) hide show
  1. package/.flowconfig +1 -1
  2. package/CHANGELOG.json +79 -1
  3. package/CHANGELOG.md +28 -4
  4. package/IntegrationTests/AccessibilityManagerTest.js +17 -12
  5. package/IntegrationTests/AppEventsTest.js +47 -32
  6. package/IntegrationTests/GlobalEvalWithSourceUrlTest.js +10 -14
  7. package/IntegrationTests/ImageCachePolicyTest.js +64 -81
  8. package/IntegrationTests/ImageSnapshotTest.js +17 -20
  9. package/IntegrationTests/IntegrationTestHarnessTest.js +34 -52
  10. package/IntegrationTests/IntegrationTestsApp.js +11 -6
  11. package/IntegrationTests/LayoutEventsTest.js +1 -1
  12. package/IntegrationTests/LoggingTestModule.js +2 -1
  13. package/IntegrationTests/PromiseTest.js +51 -43
  14. package/IntegrationTests/SimpleSnapshotTest.js +19 -24
  15. package/IntegrationTests/SyncMethodTest.js +9 -13
  16. package/IntegrationTests/TimersTest.js +3 -3
  17. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +3 -3
  18. package/Libraries/Alert/Alert.js +1 -1
  19. package/Libraries/Alert/Alert.win32.js +1 -1
  20. package/Libraries/Alert/RCTAlertManager.android.js +1 -1
  21. package/Libraries/Alert/RCTAlertManager.ios.js +1 -1
  22. package/Libraries/Animated/AnimatedMock.js +1 -1
  23. package/Libraries/Animated/AnimatedWeb.js +27 -9
  24. package/Libraries/Animated/nodes/AnimatedValue.js +35 -13
  25. package/Libraries/Animated/useAnimatedProps.js +47 -85
  26. package/Libraries/AppState/AppState.js +1 -1
  27. package/Libraries/BatchedBridge/BatchedBridge.js +4 -2
  28. package/Libraries/BatchedBridge/MessageQueue.js +2 -2
  29. package/Libraries/BatchedBridge/NativeModules.js +4 -3
  30. package/Libraries/Blob/Blob.js +4 -4
  31. package/Libraries/Blob/BlobManager.js +3 -2
  32. package/Libraries/Blob/BlobRegistry.js +3 -9
  33. package/Libraries/Blob/File.js +3 -2
  34. package/Libraries/Blob/FileReader.js +1 -1
  35. package/Libraries/BugReporting/BugReporting.js +2 -2
  36. package/Libraries/BugReporting/dumpReactTree.js +2 -2
  37. package/Libraries/BugReporting/getReactData.js +1 -1
  38. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +1 -1
  39. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.ios.js +1 -1
  40. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.win32.js +1 -1
  41. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +5 -5
  42. package/Libraries/Components/Button.js +2 -2
  43. package/Libraries/Components/Button.win32.js +2 -2
  44. package/Libraries/Components/Clipboard/Clipboard.js +1 -1
  45. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +7 -7
  46. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +1 -2
  47. package/Libraries/Components/Keyboard/Keyboard.js +9 -9
  48. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +4 -4
  49. package/Libraries/Components/Pressable/Pressable.js +4 -4
  50. package/Libraries/Components/Pressable/Pressable.win32.js +4 -4
  51. package/Libraries/Components/Pressable/useAndroidRippleForView.js +9 -9
  52. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +10 -11
  53. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +1 -1
  54. package/Libraries/Components/RefreshControl/RefreshControl.js +9 -9
  55. package/Libraries/Components/ScrollView/ScrollView.js +32 -26
  56. package/Libraries/Components/ScrollView/ScrollViewCommands.js +2 -2
  57. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +2 -2
  58. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
  59. package/Libraries/Components/ScrollView/processDecelerationRate.js +1 -1
  60. package/Libraries/Components/Sound/SoundManager.js +1 -1
  61. package/Libraries/Components/StaticRenderer.js +4 -4
  62. package/Libraries/Components/StatusBar/StatusBar.js +33 -18
  63. package/Libraries/Components/Switch/Switch.js +6 -6
  64. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +31 -31
  65. package/Libraries/Components/TextInput/InputAccessoryView.js +2 -2
  66. package/Libraries/Components/TextInput/TextInput.flow.js +35 -35
  67. package/Libraries/Components/TextInput/TextInput.js +35 -35
  68. package/Libraries/Components/TextInput/TextInput.win32.js +35 -35
  69. package/Libraries/Components/TextInput/TextInputNativeCommands.js +1 -1
  70. package/Libraries/Components/ToastAndroid/ToastAndroid.d.ts +68 -6
  71. package/Libraries/Components/Touchable/TouchableBounce.js +5 -5
  72. package/Libraries/Components/Touchable/TouchableHighlight.js +11 -11
  73. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +14 -14
  74. package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js +6 -6
  75. package/Libraries/Components/Touchable/TouchableOpacity.js +6 -6
  76. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +2 -2
  77. package/Libraries/Components/UnimplementedViews/UnimplementedView.js +9 -1
  78. package/Libraries/Components/View/ViewAccessibility.js +2 -2
  79. package/Libraries/Components/View/ViewAccessibility.win32.js +2 -2
  80. package/Libraries/Components/View/ViewPropTypes.js +22 -22
  81. package/Libraries/Components/View/ViewPropTypes.win32.js +22 -22
  82. package/Libraries/Core/RawEventEmitter.js +2 -2
  83. package/Libraries/Core/ReactNativeVersion.js +3 -5
  84. package/Libraries/Core/Timers/JSTimers.js +3 -3
  85. package/Libraries/Core/polyfillPromise.js +1 -1
  86. package/Libraries/Core/registerCallableModule.js +1 -1
  87. package/Libraries/Core/setUpAlert.js +1 -1
  88. package/Libraries/Core/setUpDeveloperTools.js +0 -2
  89. package/Libraries/Core/setUpErrorHandling.js +6 -1
  90. package/Libraries/Core/setUpReactDevTools.js +1 -1
  91. package/Libraries/Core/setUpTimers.js +35 -56
  92. package/Libraries/Core/setUpXHR.js +5 -5
  93. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +2 -1
  94. package/Libraries/Events/CustomEvent.js +2 -2
  95. package/Libraries/Image/AssetRegistry.js +6 -1
  96. package/Libraries/Image/AssetSourceResolver.js +2 -2
  97. package/Libraries/Image/ImageProps.js +17 -17
  98. package/Libraries/Image/nativeImageSource.js +2 -2
  99. package/Libraries/Inspector/ElementProperties.js +4 -3
  100. package/Libraries/Inspector/Inspector.js +1 -1
  101. package/Libraries/Inspector/Inspector.win32.js +1 -1
  102. package/Libraries/Inspector/InspectorOverlay.js +4 -3
  103. package/Libraries/Inspector/InspectorOverlay.win32.js +3 -3
  104. package/Libraries/Inspector/InspectorPanel.js +6 -6
  105. package/Libraries/Inspector/NetworkOverlay.js +6 -5
  106. package/Libraries/Inspector/PerformanceOverlay.js +2 -1
  107. package/Libraries/Inspector/resolveBoxStyle.js +2 -2
  108. package/Libraries/Interaction/InteractionManager.js +3 -2
  109. package/Libraries/Interaction/PanResponder.js +6 -6
  110. package/Libraries/Interaction/TouchHistoryMath.js +26 -0
  111. package/Libraries/JSInspector/NetworkAgent.js +2 -1
  112. package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -2
  113. package/Libraries/Linking/Linking.js +0 -1
  114. package/Libraries/Lists/FlatList.js +9 -10
  115. package/Libraries/Lists/SectionList.js +7 -9
  116. package/Libraries/Lists/SectionListModern.js +6 -6
  117. package/Libraries/LogBox/Data/LogBoxData.js +14 -14
  118. package/Libraries/LogBox/Data/LogBoxLog.js +51 -29
  119. package/Libraries/LogBox/Data/parseLogBoxLog.js +10 -10
  120. package/Libraries/LogBox/LogBox.js +13 -1
  121. package/Libraries/LogBox/LogBoxInspectorContainer.js +3 -3
  122. package/Libraries/LogBox/LogBoxNotificationContainer.js +3 -3
  123. package/Libraries/LogBox/UI/LogBoxButton.js +4 -4
  124. package/Libraries/LogBox/UI/LogBoxInspectorBody.js +8 -2
  125. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +50 -31
  126. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.win32.js +50 -31
  127. package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +2 -2
  128. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +2 -2
  129. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.win32.js +2 -2
  130. package/Libraries/LogBox/UI/LogBoxInspectorSection.js +2 -2
  131. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +2 -2
  132. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +2 -2
  133. package/Libraries/Modal/Modal.js +7 -7
  134. package/Libraries/Network/XMLHttpRequest.js +1 -1
  135. package/Libraries/Network/convertRequestBody.js +3 -1
  136. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +4 -4
  137. package/Libraries/Pressability/Pressability.js +10 -10
  138. package/Libraries/Pressability/Pressability.win32.js +10 -10
  139. package/Libraries/Pressability/PressabilityDebug.js +2 -2
  140. package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +2 -2
  141. package/Libraries/Promise.js +2 -2
  142. package/Libraries/ReactNative/AppContainer.js +2 -2
  143. package/Libraries/ReactNative/BridgelessUIManager.js +3 -8
  144. package/Libraries/ReactNative/I18nManager.js +3 -2
  145. package/Libraries/ReactNative/PaperUIManager.js +1 -1
  146. package/Libraries/ReactNative/PaperUIManager.win32.js +1 -1
  147. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +2 -2
  148. package/Libraries/ReactNative/ReactNativeRuntimeDiagnostics.js +2 -2
  149. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +3 -2
  150. package/Libraries/StyleSheet/Rect.js +2 -2
  151. package/Libraries/StyleSheet/StyleSheet.js +1 -1
  152. package/Libraries/StyleSheet/StyleSheet.win32.js +1 -1
  153. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +1 -1
  154. package/Libraries/StyleSheet/private/_TransformStyle.js +18 -18
  155. package/Libraries/StyleSheet/processBackgroundImage.js +138 -136
  156. package/Libraries/Text/TextAncestor.js +1 -2
  157. package/Libraries/TurboModule/TurboModuleRegistry.js +1 -1
  158. package/Libraries/Types/CodegenTypes.js +2 -1
  159. package/Libraries/Types/CoreEventTypes.js +40 -40
  160. package/Libraries/Types/CoreEventTypes.win32.js +40 -40
  161. package/Libraries/UTFSequence.js +2 -2
  162. package/Libraries/Utilities/BackHandler.android.js +2 -2
  163. package/Libraries/Utilities/BackHandler.ios.js +2 -2
  164. package/Libraries/Utilities/BackHandler.win32.js +2 -2
  165. package/Libraries/Utilities/HMRClient.js +2 -2
  166. package/Libraries/Utilities/Platform.android.js +4 -4
  167. package/Libraries/Utilities/Platform.flow.js +8 -8
  168. package/Libraries/Utilities/Platform.flow.win32.js +8 -8
  169. package/Libraries/Utilities/Platform.ios.js +4 -4
  170. package/Libraries/Utilities/Platform.win32.js +2 -2
  171. package/Libraries/Utilities/ReactNativeTestTools.js +3 -2
  172. package/Libraries/Utilities/codegenNativeCommands.js +2 -2
  173. package/Libraries/Utilities/codegenNativeComponent.js +2 -2
  174. package/Libraries/Utilities/differ/deepDiffer.js +3 -3
  175. package/Libraries/Utilities/stringifySafe.js +2 -2
  176. package/Libraries/Vibration/Vibration.js +1 -1
  177. package/Libraries/WebSocket/WebSocketEvent.js +1 -1
  178. package/Libraries/YellowBox/YellowBoxDeprecated.js +4 -3
  179. package/Libraries/vendor/core/ErrorUtils.js +1 -1
  180. package/flow/jest.js +14 -14
  181. package/index.js +16 -13
  182. package/index.win32.js +16 -13
  183. package/jest/setup.js +214 -197
  184. package/overrides.json +26 -26
  185. package/package.json +16 -16
  186. package/src/private/featureflags/ReactNativeFeatureFlags.js +11 -30
  187. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +3 -2
  188. package/src/private/specs/components/ActivityIndicatorViewNativeComponent.js +2 -2
  189. package/src/private/specs/components/AndroidDrawerLayoutNativeComponent.js +6 -6
  190. package/src/private/specs/components/AndroidHorizontalScrollContentViewNativeComponent.js +2 -2
  191. package/src/private/specs/components/AndroidSwipeRefreshLayoutNativeComponent.js +2 -2
  192. package/src/private/specs/components/AndroidSwitchNativeComponent.js +4 -4
  193. package/src/private/specs/components/DebuggingOverlayNativeComponent.js +2 -2
  194. package/src/private/specs/components/ProgressBarAndroidNativeComponent.js +2 -2
  195. package/src/private/specs/components/PullToRefreshViewNativeComponent.js +2 -2
  196. package/src/private/specs/components/RCTInputAccessoryViewNativeComponent.js +2 -2
  197. package/src/private/specs/components/RCTModalHostViewNativeComponent.js +4 -4
  198. package/src/private/specs/components/RCTSafeAreaViewNativeComponent.js +2 -2
  199. package/src/private/specs/components/SwitchNativeComponent.js +4 -4
  200. package/src/private/specs/components/UnimplementedNativeViewNativeComponent.js +2 -2
  201. package/src/private/specs/modules/NativeAccessibilityManager.js +2 -2
  202. package/src/private/specs/modules/NativeActionSheetManager.js +7 -7
  203. package/src/private/specs/modules/NativeAlertManager.js +2 -2
  204. package/src/private/specs/modules/NativeAnimatedModule.js +2 -2
  205. package/src/private/specs/modules/NativeAnimatedTurboModule.js +2 -2
  206. package/src/private/specs/modules/NativeAppState.js +3 -3
  207. package/src/private/specs/modules/NativeBlobModule.js +1 -1
  208. package/src/private/specs/modules/NativeClipboard.js +1 -1
  209. package/src/private/specs/modules/NativeDeviceInfo.js +8 -8
  210. package/src/private/specs/modules/NativeDialogManagerAndroid.js +4 -4
  211. package/src/private/specs/modules/NativeExceptionsManager.js +2 -2
  212. package/src/private/specs/modules/NativeFantom.js +6 -0
  213. package/src/private/specs/modules/NativeFrameRateLogger.js +1 -1
  214. package/src/private/specs/modules/NativeI18nManager.js +2 -2
  215. package/src/private/specs/modules/NativeImageEditor.js +9 -9
  216. package/src/private/specs/modules/NativeImageLoaderAndroid.js +1 -1
  217. package/src/private/specs/modules/NativeImageLoaderIOS.js +1 -1
  218. package/src/private/specs/modules/NativeImageLoaderWin32.js +1 -1
  219. package/src/private/specs/modules/NativeImageStoreAndroid.js +1 -1
  220. package/src/private/specs/modules/NativeImageStoreIOS.js +3 -3
  221. package/src/private/specs/modules/NativeNetworkingIOS.js +2 -2
  222. package/src/private/specs/modules/NativePlatformConstantsAndroid.js +4 -4
  223. package/src/private/specs/modules/NativePlatformConstantsIOS.js +4 -4
  224. package/src/private/specs/modules/NativePlatformConstantsWin.js +5 -10
  225. package/src/private/specs/modules/NativePushNotificationManagerIOS.js +7 -7
  226. package/src/private/specs/modules/NativeSampleTurboModule.js +2 -2
  227. package/src/private/specs/modules/NativeSettingsManager.js +2 -2
  228. package/src/private/specs/modules/NativeShareModule.js +3 -3
  229. package/src/private/specs/modules/NativeSourceCode.js +2 -2
  230. package/src/private/specs/modules/NativeStatusBarManagerAndroid.js +4 -4
  231. package/src/private/specs/modules/NativeStatusBarManagerIOS.js +6 -6
  232. package/src/private/specs/modules/NativeToastAndroid.js +2 -2
  233. package/src/private/specs/modules/NativeVibration.js +1 -1
  234. package/src/private/specs/modules/NativeWebSocketModule.js +1 -1
  235. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +2 -2
  236. package/src/private/webapis/intersectionobserver/{IntersectionObserverManager.js → internals/IntersectionObserverManager.js} +9 -9
  237. package/src/private/webapis/mutationobserver/MutationObserver.js +2 -2
  238. package/src/private/webapis/mutationobserver/{MutationObserverManager.js → internals/MutationObserverManager.js} +8 -8
  239. package/src/private/webapis/performance/EventTiming.js +1 -1
  240. package/src/private/webapis/performance/Performance.js +3 -3
  241. package/src/private/webapis/performance/PerformanceObserver.js +2 -2
  242. package/src/private/webapis/performance/{RawPerformanceEntry.js → internals/RawPerformanceEntry.js} +6 -6
  243. package/src/private/webapis/performance/{Utilities.js → internals/Utilities.js} +1 -1
  244. package/src/private/webapis/performance/specs/__mocks__/NativePerformanceMock.js +1 -1
@@ -78,71 +78,71 @@ else if (Platform.OS === 'win32') {
78
78
  // Windows]
79
79
 
80
80
  export type ChangeEvent = SyntheticEvent<
81
- $ReadOnly<{|
81
+ $ReadOnly<{
82
82
  eventCount: number,
83
83
  target: number,
84
84
  text: string,
85
- |}>,
85
+ }>,
86
86
  >;
87
87
 
88
88
  export type TextInputEvent = SyntheticEvent<
89
- $ReadOnly<{|
89
+ $ReadOnly<{
90
90
  eventCount: number,
91
91
  previousText: string,
92
- range: $ReadOnly<{|
92
+ range: $ReadOnly<{
93
93
  start: number,
94
94
  end: number,
95
- |}>,
95
+ }>,
96
96
  target: number,
97
97
  text: string,
98
- |}>,
98
+ }>,
99
99
  >;
100
100
 
101
101
  export type ContentSizeChangeEvent = SyntheticEvent<
102
- $ReadOnly<{|
102
+ $ReadOnly<{
103
103
  target: number,
104
- contentSize: $ReadOnly<{|
104
+ contentSize: $ReadOnly<{
105
105
  width: number,
106
106
  height: number,
107
- |}>,
108
- |}>,
107
+ }>,
108
+ }>,
109
109
  >;
110
110
 
111
111
  type TargetEvent = SyntheticEvent<
112
- $ReadOnly<{|
112
+ $ReadOnly<{
113
113
  target: number,
114
- |}>,
114
+ }>,
115
115
  >;
116
116
 
117
117
  export type BlurEvent = TargetEvent;
118
118
  export type FocusEvent = TargetEvent;
119
119
 
120
- type Selection = $ReadOnly<{|
120
+ type Selection = $ReadOnly<{
121
121
  start: number,
122
122
  end: number,
123
- |}>;
123
+ }>;
124
124
 
125
125
  export type SelectionChangeEvent = SyntheticEvent<
126
- $ReadOnly<{|
126
+ $ReadOnly<{
127
127
  selection: Selection,
128
128
  target: number,
129
- |}>,
129
+ }>,
130
130
  >;
131
131
 
132
132
  export type KeyPressEvent = SyntheticEvent<
133
- $ReadOnly<{|
133
+ $ReadOnly<{
134
134
  key: string,
135
135
  target?: ?number,
136
136
  eventCount?: ?number,
137
- |}>,
137
+ }>,
138
138
  >;
139
139
 
140
140
  export type EditingEvent = SyntheticEvent<
141
- $ReadOnly<{|
141
+ $ReadOnly<{
142
142
  eventCount: number,
143
143
  text: string,
144
144
  target: number,
145
- |}>,
145
+ }>,
146
146
  >;
147
147
 
148
148
  type DataDetectorTypesType =
@@ -270,7 +270,7 @@ export type enterKeyHintType =
270
270
 
271
271
  type PasswordRules = string;
272
272
 
273
- type IOSProps = $ReadOnly<{|
273
+ type IOSProps = $ReadOnly<{
274
274
  /**
275
275
  * If true, the keyboard shortcuts (undo/redo and copy buttons) are disabled. The default value is false.
276
276
  * @platform ios
@@ -405,9 +405,9 @@ type IOSProps = $ReadOnly<{|
405
405
  * @platform ios
406
406
  */
407
407
  smartInsertDelete?: ?boolean,
408
- |}>;
408
+ }>;
409
409
 
410
- type AndroidProps = $ReadOnly<{|
410
+ type AndroidProps = $ReadOnly<{
411
411
  /**
412
412
  * When provided it will set the color of the cursor (or "caret") in the component.
413
413
  * Unlike the behavior of `selectionColor` the cursor color will be set independently
@@ -491,7 +491,7 @@ type AndroidProps = $ReadOnly<{|
491
491
  * @platform android
492
492
  */
493
493
  underlineColorAndroid?: ?ColorValue,
494
- |}>;
494
+ }>;
495
495
 
496
496
  // [Windows
497
497
 
@@ -519,8 +519,8 @@ type WindowsProps = $ReadOnly<{|
519
519
 
520
520
  // Windows]
521
521
 
522
- export type Props = $ReadOnly<{|
523
- ...$Diff<ViewProps, $ReadOnly<{|style: ?ViewStyleProp|}>>,
522
+ export type Props = $ReadOnly<{
523
+ ...$Diff<ViewProps, $ReadOnly<{style: ?ViewStyleProp}>>,
524
524
  ...IOSProps,
525
525
  ...AndroidProps,
526
526
  ...WindowsProps, // [Windows]
@@ -946,10 +946,10 @@ export type Props = $ReadOnly<{|
946
946
  * The start and end of the text input's selection. Set start and end to
947
947
  * the same value to position the cursor.
948
948
  */
949
- selection?: ?$ReadOnly<{|
949
+ selection?: ?$ReadOnly<{
950
950
  start: number,
951
951
  end?: ?number,
952
- |}>,
952
+ }>,
953
953
 
954
954
  /**
955
955
  * The highlight and cursor color of the text input.
@@ -1030,7 +1030,7 @@ export type Props = $ReadOnly<{|
1030
1030
  * unwanted edits without flicker.
1031
1031
  */
1032
1032
  value?: ?Stringish,
1033
- |}>;
1033
+ }>;
1034
1034
 
1035
1035
  type ViewCommands = $NonMaybeType<
1036
1036
  | typeof AndroidTextInputCommands
@@ -1038,10 +1038,10 @@ type ViewCommands = $NonMaybeType<
1038
1038
  | typeof RCTSinglelineTextInputNativeCommands,
1039
1039
  >;
1040
1040
 
1041
- type LastNativeSelection = {|
1041
+ type LastNativeSelection = {
1042
1042
  selection: Selection,
1043
1043
  mostRecentEventCount: number,
1044
- |};
1044
+ };
1045
1045
 
1046
1046
  const emptyFunctionThatReturnsTrue = () => true;
1047
1047
 
@@ -2014,14 +2014,14 @@ ExportedForwardRef.State = {
2014
2014
  blurTextInput: TextInputState.blurTextInput,
2015
2015
  };
2016
2016
 
2017
- export type TextInputComponentStatics = $ReadOnly<{|
2018
- State: $ReadOnly<{|
2017
+ export type TextInputComponentStatics = $ReadOnly<{
2018
+ State: $ReadOnly<{
2019
2019
  currentlyFocusedInput: typeof TextInputState.currentlyFocusedInput,
2020
2020
  currentlyFocusedField: typeof TextInputState.currentlyFocusedField,
2021
2021
  focusTextInput: typeof TextInputState.focusTextInput,
2022
2022
  blurTextInput: typeof TextInputState.blurTextInput,
2023
- |}>,
2024
- |}>;
2023
+ }>,
2024
+ }>;
2025
2025
 
2026
2026
  const styles = StyleSheet.create({
2027
2027
  multilineDefault: {
@@ -24,6 +24,6 @@ export interface TextInputNativeCommands<T> {
24
24
  ) => void;
25
25
  }
26
26
 
27
- const supportedCommands = ['focus', 'blur', 'setTextAndSelection'];
27
+ const supportedCommands = ['focus', 'blur', 'setTextAndSelection'] as string[];
28
28
 
29
29
  export default supportedCommands;
@@ -16,17 +16,51 @@
16
16
  *
17
17
  * There is also a function `showWithGravity` to specify the layout gravity. May be
18
18
  * ToastAndroid.TOP, ToastAndroid.BOTTOM, ToastAndroid.CENTER
19
+ *
20
+ * **Note**: Starting from Android API level 30 (Android R) or higher, for apps targeting
21
+ * that API level, setting toast gravity is a no-op for text toasts.
22
+ * This means that in many cases `TOP`, `BOTTOM`, `CENTER`, or offsets may not have
23
+ * any visible effect on actual toast positioning.
24
+ *
25
+ * Reference: https://developer.android.com/reference/android/widget/Toast#setGravity(int,%20int,%20int)
19
26
  */
20
27
  export interface ToastAndroidStatic {
21
28
  /**
22
- * String message: A string with the text to toast
23
- * int duration: The duration of the toast.
24
- * May be ToastAndroid.SHORT or ToastAndroid.LONG
29
+ * Display a toast message for a specified duration.
30
+ *
31
+ * @param message A string with the text to toast.
32
+ * @param duration The duration of the toast–either ToastAndroid.SHORT or ToastAndroid.LONG
25
33
  */
26
34
  show(message: string, duration: number): void;
27
- /** `gravity` may be ToastAndroid.TOP, ToastAndroid.BOTTOM, ToastAndroid.CENTER */
35
+
36
+ /**
37
+ * Display a toast message for a specified duration with a given gravity.
38
+ *
39
+ * @param message A string with the text to display in the toast.
40
+ * @param duration The duration of the toast.
41
+ * May be `ToastAndroid.SHORT` or `ToastAndroid.LONG`.
42
+ * @param gravity Positioning on the screen, e.g.,
43
+ * `ToastAndroid.TOP`, `ToastAndroid.BOTTOM`, or `ToastAndroid.CENTER`.
44
+ *
45
+ * **Note**: On Android R (API 30) or later (when targeting API 30+), this setting may
46
+ * not have any effect on text toast placement due to `setGravity` becoming a no-op.
47
+ */
28
48
  showWithGravity(message: string, duration: number, gravity: number): void;
29
49
 
50
+ /**
51
+ * Display a toast message for a specified duration with a given gravity and custom offsets.
52
+ *
53
+ * @param message A string with the text to display in the toast.
54
+ * @param duration The duration of the toast.
55
+ * May be `ToastAndroid.SHORT` or `ToastAndroid.LONG`.
56
+ * @param gravity Positioning on the screen, e.g.,
57
+ * `ToastAndroid.TOP`, `ToastAndroid.BOTTOM`, or `ToastAndroid.CENTER`.
58
+ * @param xOffset Horizontal offset from the given gravity.
59
+ * @param yOffset Vertical offset from the given gravity.
60
+ *
61
+ * **Note**: On Android R (API 30) or later (when targeting API 30+), setting gravity
62
+ * and offsets may not visibly affect the placement of text toasts.
63
+ */
30
64
  showWithGravityAndOffset(
31
65
  message: string,
32
66
  duration: number,
@@ -34,12 +68,40 @@ export interface ToastAndroidStatic {
34
68
  xOffset: number,
35
69
  yOffset: number,
36
70
  ): void;
37
- // Toast duration constants
71
+
72
+ /**
73
+ * Indicates a short duration on the screen.
74
+ *
75
+ * Value: 2000 milliseconds (2 seconds).
76
+ */
38
77
  SHORT: number;
78
+
79
+ /**
80
+ * Indicates a long duration on the screen.
81
+ *
82
+ * Value: 3500 milliseconds (3.5 seconds).
83
+ */
39
84
  LONG: number;
40
- // Toast gravity constants
85
+
86
+ /**
87
+ * Indicates that the toast message should appear at the top of the screen.
88
+ *
89
+ * **Note**: On Android R or later, this may not have any visible effect.
90
+ */
41
91
  TOP: number;
92
+
93
+ /**
94
+ * Indicates that the toast message should appear at the bottom of the screen.
95
+ *
96
+ * **Note**: On Android R or later, this may not have any visible effect.
97
+ */
42
98
  BOTTOM: number;
99
+
100
+ /**
101
+ * Indicates that the toast message should appear at the center of the screen.
102
+ *
103
+ * **Note**: On Android R or later, this may not have any visible effect.
104
+ */
43
105
  CENTER: number;
44
106
  }
45
107
 
@@ -19,7 +19,7 @@ import {PressabilityDebugView} from '../../Pressability/PressabilityDebug';
19
19
  import Platform from '../../Utilities/Platform';
20
20
  import * as React from 'react';
21
21
 
22
- type Props = $ReadOnly<{|
22
+ type Props = $ReadOnly<{
23
23
  ...React.ElementConfig<TouchableWithoutFeedback>,
24
24
 
25
25
  onPressAnimationComplete?: ?() => void,
@@ -29,12 +29,12 @@ type Props = $ReadOnly<{|
29
29
  style?: ?ViewStyleProp,
30
30
 
31
31
  hostRef: React.RefSetter<React.ElementRef<typeof Animated.View>>,
32
- |}>;
32
+ }>;
33
33
 
34
- type State = $ReadOnly<{|
34
+ type State = $ReadOnly<{
35
35
  pressability: Pressability,
36
36
  scale: Animated.Value,
37
- |}>;
37
+ }>;
38
38
 
39
39
  class TouchableBounce extends React.Component<Props, State> {
40
40
  state: State = {
@@ -218,5 +218,5 @@ module.exports = (React.forwardRef((props, hostRef) => (
218
218
  <TouchableBounce {...props} hostRef={hostRef} />
219
219
  )): component(
220
220
  ref: React.RefSetter<mixed>,
221
- ...props: $ReadOnly<$Diff<Props, {|hostRef: mixed|}>>
221
+ ...props: $ReadOnly<$Diff<Props, {hostRef: mixed}>>
222
222
  ));
@@ -20,19 +20,19 @@ import StyleSheet, {type ViewStyleProp} from '../../StyleSheet/StyleSheet';
20
20
  import Platform from '../../Utilities/Platform';
21
21
  import * as React from 'react';
22
22
 
23
- type AndroidProps = $ReadOnly<{|
23
+ type AndroidProps = $ReadOnly<{
24
24
  nextFocusDown?: ?number,
25
25
  nextFocusForward?: ?number,
26
26
  nextFocusLeft?: ?number,
27
27
  nextFocusRight?: ?number,
28
28
  nextFocusUp?: ?number,
29
- |}>;
29
+ }>;
30
30
 
31
- type IOSProps = $ReadOnly<{|
31
+ type IOSProps = $ReadOnly<{
32
32
  hasTVPreferredFocus?: ?boolean,
33
- |}>;
33
+ }>;
34
34
 
35
- type Props = $ReadOnly<{|
35
+ type Props = $ReadOnly<{
36
36
  ...React.ElementConfig<TouchableWithoutFeedback>,
37
37
  ...AndroidProps,
38
38
  ...IOSProps,
@@ -45,17 +45,17 @@ type Props = $ReadOnly<{|
45
45
  testOnly_pressed?: ?boolean,
46
46
 
47
47
  hostRef: React.RefSetter<React.ElementRef<typeof View>>,
48
- |}>;
48
+ }>;
49
49
 
50
- type ExtraStyles = $ReadOnly<{|
50
+ type ExtraStyles = $ReadOnly<{
51
51
  child: ViewStyleProp,
52
52
  underlay: ViewStyleProp,
53
- |}>;
53
+ }>;
54
54
 
55
- type State = $ReadOnly<{|
55
+ type State = $ReadOnly<{
56
56
  pressability: Pressability,
57
57
  extraStyles: ?ExtraStyles,
58
- |}>;
58
+ }>;
59
59
 
60
60
  /**
61
61
  * A wrapper for making views respond properly to touches.
@@ -383,7 +383,7 @@ class TouchableHighlight extends React.Component<Props, State> {
383
383
 
384
384
  const Touchable: component(
385
385
  ref: React.RefSetter<React.ElementRef<typeof View>>,
386
- ...props: $ReadOnly<$Diff<Props, {|+hostRef: mixed|}>>
386
+ ...props: $ReadOnly<$Diff<Props, {+hostRef: mixed}>>
387
387
  ) = React.forwardRef((props, hostRef) => (
388
388
  <TouchableHighlight {...props} hostRef={hostRef} />
389
389
  ));
@@ -23,7 +23,7 @@ import {Commands} from '../View/ViewNativeComponent';
23
23
  import invariant from 'invariant';
24
24
  import * as React from 'react';
25
25
 
26
- type Props = $ReadOnly<{|
26
+ type Props = $ReadOnly<{
27
27
  ...React.ElementConfig<TouchableWithoutFeedback>,
28
28
 
29
29
  /**
@@ -33,19 +33,19 @@ type Props = $ReadOnly<{|
33
33
  * methods to generate that dictionary.
34
34
  */
35
35
  background?: ?(
36
- | $ReadOnly<{|
36
+ | $ReadOnly<{
37
37
  type: 'ThemeAttrAndroid',
38
38
  attribute:
39
39
  | 'selectableItemBackground'
40
40
  | 'selectableItemBackgroundBorderless',
41
41
  rippleRadius: ?number,
42
- |}>
43
- | $ReadOnly<{|
42
+ }>
43
+ | $ReadOnly<{
44
44
  type: 'RippleAndroid',
45
45
  color: ?number,
46
46
  borderless: boolean,
47
47
  rippleRadius: ?number,
48
- |}>
48
+ }>
49
49
  ),
50
50
 
51
51
  /**
@@ -89,22 +89,22 @@ type Props = $ReadOnly<{|
89
89
  * versions, this will fallback to background.
90
90
  */
91
91
  useForeground?: ?boolean,
92
- |}>;
92
+ }>;
93
93
 
94
- type State = $ReadOnly<{|
94
+ type State = $ReadOnly<{
95
95
  pressability: Pressability,
96
- |}>;
96
+ }>;
97
97
 
98
98
  class TouchableNativeFeedback extends React.Component<Props, State> {
99
99
  /**
100
100
  * Creates a value for the `background` prop that uses the Android theme's
101
101
  * default background for selectable elements.
102
102
  */
103
- static SelectableBackground: (rippleRadius: ?number) => $ReadOnly<{|
103
+ static SelectableBackground: (rippleRadius: ?number) => $ReadOnly<{
104
104
  attribute: 'selectableItemBackground',
105
105
  type: 'ThemeAttrAndroid',
106
106
  rippleRadius: ?number,
107
- |}> = (rippleRadius: ?number) => ({
107
+ }> = (rippleRadius: ?number) => ({
108
108
  type: 'ThemeAttrAndroid',
109
109
  attribute: 'selectableItemBackground',
110
110
  rippleRadius,
@@ -114,11 +114,11 @@ class TouchableNativeFeedback extends React.Component<Props, State> {
114
114
  * Creates a value for the `background` prop that uses the Android theme's
115
115
  * default background for borderless selectable elements. Requires API 21+.
116
116
  */
117
- static SelectableBackgroundBorderless: (rippleRadius: ?number) => $ReadOnly<{|
117
+ static SelectableBackgroundBorderless: (rippleRadius: ?number) => $ReadOnly<{
118
118
  attribute: 'selectableItemBackgroundBorderless',
119
119
  type: 'ThemeAttrAndroid',
120
120
  rippleRadius: ?number,
121
- |}> = (rippleRadius: ?number) => ({
121
+ }> = (rippleRadius: ?number) => ({
122
122
  type: 'ThemeAttrAndroid',
123
123
  attribute: 'selectableItemBackgroundBorderless',
124
124
  rippleRadius,
@@ -133,12 +133,12 @@ class TouchableNativeFeedback extends React.Component<Props, State> {
133
133
  color: string,
134
134
  borderless: boolean,
135
135
  rippleRadius: ?number,
136
- ) => $ReadOnly<{|
136
+ ) => $ReadOnly<{
137
137
  borderless: boolean,
138
138
  color: ?number,
139
139
  rippleRadius: ?number,
140
140
  type: 'RippleAndroid',
141
- |}> = (color: string, borderless: boolean, rippleRadius: ?number) => {
141
+ }> = (color: string, borderless: boolean, rippleRadius: ?number) => {
142
142
  const processedColor = processColor(color);
143
143
  invariant(
144
144
  processedColor == null || typeof processedColor === 'number',
@@ -12,7 +12,7 @@ import * as React from 'react';
12
12
  import requireNativeComponent from '../../ReactNative/requireNativeComponent';
13
13
  import typeof TouchableWithoutFeedback from './TouchableWithoutFeedback';
14
14
 
15
- type Props = $ReadOnly<{|
15
+ type Props = $ReadOnly<{
16
16
  ...React.ElementConfig<TouchableWithoutFeedback>,
17
17
 
18
18
  /**
@@ -22,19 +22,19 @@ type Props = $ReadOnly<{|
22
22
  * methods to generate that dictionary.
23
23
  */
24
24
  background?: ?(
25
- | $ReadOnly<{|
25
+ | $ReadOnly<{
26
26
  type: 'ThemeAttrAndroid',
27
27
  attribute:
28
28
  | 'selectableItemBackground'
29
29
  | 'selectableItemBackgroundBorderless',
30
30
  rippleRadius: ?number,
31
- |}>
32
- | $ReadOnly<{|
31
+ }>
32
+ | $ReadOnly<{
33
33
  type: 'RippleAndroid',
34
34
  color: ?number,
35
35
  borderless: boolean,
36
36
  rippleRadius: ?number,
37
- |}>
37
+ }>
38
38
  ),
39
39
 
40
40
  /**
@@ -80,7 +80,7 @@ type Props = $ReadOnly<{|
80
80
  useForeground?: ?boolean,
81
81
 
82
82
  tooltip?: string, // Win32
83
- |}>;
83
+ }>;
84
84
 
85
85
  const RCTTouchableNativeFeedback = requireNativeComponent<Props>(
86
86
  'RCTTouchableNativeFeedback',
@@ -21,16 +21,16 @@ import flattenStyle from '../../StyleSheet/flattenStyle';
21
21
  import Platform from '../../Utilities/Platform';
22
22
  import * as React from 'react';
23
23
 
24
- type TVProps = $ReadOnly<{|
24
+ type TVProps = $ReadOnly<{
25
25
  hasTVPreferredFocus?: ?boolean,
26
26
  nextFocusDown?: ?number,
27
27
  nextFocusForward?: ?number,
28
28
  nextFocusLeft?: ?number,
29
29
  nextFocusRight?: ?number,
30
30
  nextFocusUp?: ?number,
31
- |}>;
31
+ }>;
32
32
 
33
- type Props = $ReadOnly<{|
33
+ type Props = $ReadOnly<{
34
34
  ...React.ElementConfig<TouchableWithoutFeedback>,
35
35
  ...TVProps,
36
36
 
@@ -38,12 +38,12 @@ type Props = $ReadOnly<{|
38
38
  style?: ?ViewStyleProp,
39
39
 
40
40
  hostRef?: ?React.RefSetter<React.ElementRef<typeof Animated.View>>,
41
- |}>;
41
+ }>;
42
42
 
43
- type State = $ReadOnly<{|
43
+ type State = $ReadOnly<{
44
44
  anim: Animated.Value,
45
45
  pressability: Pressability,
46
- |}>;
46
+ }>;
47
47
 
48
48
  /**
49
49
  * A wrapper for making views respond properly to touches.
@@ -29,7 +29,7 @@ import usePressability from '../../Pressability/usePressability';
29
29
  import * as React from 'react';
30
30
  import {useMemo} from 'react';
31
31
 
32
- type Props = $ReadOnly<{|
32
+ type Props = $ReadOnly<{
33
33
  accessibilityActions?: ?$ReadOnlyArray<AccessibilityActionInfo>,
34
34
  accessibilityElementsHidden?: ?boolean,
35
35
  accessibilityHint?: ?Stringish,
@@ -82,7 +82,7 @@ type Props = $ReadOnly<{|
82
82
  rejectResponderTermination?: ?boolean,
83
83
  testID?: ?string,
84
84
  touchSoundDisabled?: ?boolean,
85
- |}>;
85
+ }>;
86
86
 
87
87
  const PASSTHROUGH_PROPS = [
88
88
  'accessibilityActions',
@@ -9,14 +9,22 @@
9
9
  */
10
10
 
11
11
  'use strict';
12
+ import type {ViewStyleProp} from '../../StyleSheet/StyleSheet';
13
+
12
14
  import StyleSheet from '../../StyleSheet/StyleSheet';
13
15
  import * as React from 'react';
14
16
 
17
+ type Props = $ReadOnly<{
18
+ style?: ?ViewStyleProp,
19
+ children?: React.Node,
20
+ ...
21
+ }>;
22
+
15
23
  /**
16
24
  * Common implementation for a simple stubbed view. Simply applies the view's styles to the inner
17
25
  * View component and renders its children.
18
26
  */
19
- class UnimplementedView extends React.Component<$FlowFixMeProps> {
27
+ class UnimplementedView extends React.Component<Props> {
20
28
  render(): React.Node {
21
29
  // Workaround require cycle from requireNativeComponent
22
30
  const View = require('../View/View');
@@ -144,7 +144,7 @@ export type AccessibilityState = {
144
144
  ...
145
145
  };
146
146
 
147
- export type AccessibilityValue = $ReadOnly<{|
147
+ export type AccessibilityValue = $ReadOnly<{
148
148
  /**
149
149
  * The minimum value of this component's range. (should be an integer)
150
150
  */
@@ -164,4 +164,4 @@ export type AccessibilityValue = $ReadOnly<{|
164
164
  * A textual description of this component's value. (will override minimum, current, and maximum if set)
165
165
  */
166
166
  text?: Stringish,
167
- |}>;
167
+ }>;
@@ -157,7 +157,7 @@ export type AccessibilityState = {
157
157
  ...
158
158
  };
159
159
 
160
- export type AccessibilityValue = $ReadOnly<{|
160
+ export type AccessibilityValue = $ReadOnly<{
161
161
  /**
162
162
  * The minimum value of this component's range. (should be an integer)
163
163
  */
@@ -177,4 +177,4 @@ export type AccessibilityValue = $ReadOnly<{|
177
177
  * A textual description of this component's value. (will override minimum, current, and maximum if set)
178
178
  */
179
179
  text?: Stringish,
180
- |}>;
180
+ }>;