@office-iss/react-native-win32 0.0.0-canary.283 → 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 +40 -1
  3. package/CHANGELOG.md +20 -8
  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
@@ -26,71 +26,71 @@ import * as React from 'react';
26
26
  type ReactRefSetter<T> = {current: null | T, ...} | ((ref: null | T) => mixed);
27
27
 
28
28
  export type ChangeEvent = SyntheticEvent<
29
- $ReadOnly<{|
29
+ $ReadOnly<{
30
30
  eventCount: number,
31
31
  target: number,
32
32
  text: string,
33
- |}>,
33
+ }>,
34
34
  >;
35
35
 
36
36
  export type TextInputEvent = SyntheticEvent<
37
- $ReadOnly<{|
37
+ $ReadOnly<{
38
38
  eventCount: number,
39
39
  previousText: string,
40
- range: $ReadOnly<{|
40
+ range: $ReadOnly<{
41
41
  start: number,
42
42
  end: number,
43
- |}>,
43
+ }>,
44
44
  target: number,
45
45
  text: string,
46
- |}>,
46
+ }>,
47
47
  >;
48
48
 
49
49
  export type ContentSizeChangeEvent = SyntheticEvent<
50
- $ReadOnly<{|
50
+ $ReadOnly<{
51
51
  target: number,
52
- contentSize: $ReadOnly<{|
52
+ contentSize: $ReadOnly<{
53
53
  width: number,
54
54
  height: number,
55
- |}>,
56
- |}>,
55
+ }>,
56
+ }>,
57
57
  >;
58
58
 
59
59
  type TargetEvent = SyntheticEvent<
60
- $ReadOnly<{|
60
+ $ReadOnly<{
61
61
  target: number,
62
- |}>,
62
+ }>,
63
63
  >;
64
64
 
65
65
  export type BlurEvent = TargetEvent;
66
66
  export type FocusEvent = TargetEvent;
67
67
 
68
- type Selection = $ReadOnly<{|
68
+ type Selection = $ReadOnly<{
69
69
  start: number,
70
70
  end: number,
71
- |}>;
71
+ }>;
72
72
 
73
73
  export type SelectionChangeEvent = SyntheticEvent<
74
- $ReadOnly<{|
74
+ $ReadOnly<{
75
75
  selection: Selection,
76
76
  target: number,
77
- |}>,
77
+ }>,
78
78
  >;
79
79
 
80
80
  export type KeyPressEvent = SyntheticEvent<
81
- $ReadOnly<{|
81
+ $ReadOnly<{
82
82
  key: string,
83
83
  target?: ?number,
84
84
  eventCount?: ?number,
85
- |}>,
85
+ }>,
86
86
  >;
87
87
 
88
88
  export type EditingEvent = SyntheticEvent<
89
- $ReadOnly<{|
89
+ $ReadOnly<{
90
90
  eventCount: number,
91
91
  text: string,
92
92
  target: number,
93
- |}>,
93
+ }>,
94
94
  >;
95
95
 
96
96
  type DataDetectorTypesType =
@@ -215,7 +215,7 @@ export type enterKeyHintType =
215
215
 
216
216
  type PasswordRules = string;
217
217
 
218
- type IOSProps = $ReadOnly<{|
218
+ type IOSProps = $ReadOnly<{
219
219
  /**
220
220
  * If true, the keyboard shortcuts (undo/redo and copy buttons) are disabled. The default value is false.
221
221
  * @platform ios
@@ -350,9 +350,9 @@ type IOSProps = $ReadOnly<{|
350
350
  * @platform ios
351
351
  */
352
352
  smartInsertDelete?: ?boolean,
353
- |}>;
353
+ }>;
354
354
 
355
- type AndroidProps = $ReadOnly<{|
355
+ type AndroidProps = $ReadOnly<{
356
356
  /**
357
357
  * When provided it will set the color of the cursor (or "caret") in the component.
358
358
  * Unlike the behavior of `selectionColor` the cursor color will be set independently
@@ -444,10 +444,10 @@ type AndroidProps = $ReadOnly<{|
444
444
  * @platform android
445
445
  */
446
446
  underlineColorAndroid?: ?ColorValue,
447
- |}>;
447
+ }>;
448
448
 
449
- export type Props = $ReadOnly<{|
450
- ...$Diff<ViewProps, $ReadOnly<{|style: ?ViewStyleProp|}>>,
449
+ export type Props = $ReadOnly<{
450
+ ...$Diff<ViewProps, $ReadOnly<{style: ?ViewStyleProp}>>,
451
451
  ...IOSProps,
452
452
  ...AndroidProps,
453
453
 
@@ -900,10 +900,10 @@ export type Props = $ReadOnly<{|
900
900
  * The start and end of the text input's selection. Set start and end to
901
901
  * the same value to position the cursor.
902
902
  */
903
- selection?: ?$ReadOnly<{|
903
+ selection?: ?$ReadOnly<{
904
904
  start: number,
905
905
  end?: ?number,
906
- |}>,
906
+ }>,
907
907
 
908
908
  /**
909
909
  * The highlight and cursor color of the text input.
@@ -978,14 +978,14 @@ export type Props = $ReadOnly<{|
978
978
  * unwanted edits without flicker.
979
979
  */
980
980
  value?: ?Stringish,
981
- |}>;
981
+ }>;
982
982
 
983
- type ImperativeMethods = $ReadOnly<{|
983
+ type ImperativeMethods = $ReadOnly<{
984
984
  clear: () => void,
985
985
  isFocused: () => boolean,
986
986
  getNativeRef: () => ?HostInstance,
987
987
  setSelection: (start: number, end: number) => void,
988
- |}>;
988
+ }>;
989
989
 
990
990
  /**
991
991
  * A foundational component for inputting text into the app via a
@@ -1103,13 +1103,13 @@ type InternalTextInput = component(
1103
1103
  ...Props
1104
1104
  );
1105
1105
 
1106
- export type TextInputComponentStatics = $ReadOnly<{|
1107
- State: $ReadOnly<{|
1106
+ export type TextInputComponentStatics = $ReadOnly<{
1107
+ State: $ReadOnly<{
1108
1108
  currentlyFocusedInput: () => ?HostInstance,
1109
1109
  currentlyFocusedField: () => ?number,
1110
1110
  focusTextInput: (textField: ?HostInstance) => void,
1111
1111
  blurTextInput: (textField: ?HostInstance) => void,
1112
- |}>,
1113
- |}>;
1112
+ }>,
1113
+ }>;
1114
1114
 
1115
1115
  export type TextInputType = InternalTextInput & TextInputComponentStatics;
@@ -67,71 +67,71 @@ if (Platform.OS === 'android') {
67
67
  }
68
68
 
69
69
  export type ChangeEvent = SyntheticEvent<
70
- $ReadOnly<{|
70
+ $ReadOnly<{
71
71
  eventCount: number,
72
72
  target: number,
73
73
  text: string,
74
- |}>,
74
+ }>,
75
75
  >;
76
76
 
77
77
  export type TextInputEvent = SyntheticEvent<
78
- $ReadOnly<{|
78
+ $ReadOnly<{
79
79
  eventCount: number,
80
80
  previousText: string,
81
- range: $ReadOnly<{|
81
+ range: $ReadOnly<{
82
82
  start: number,
83
83
  end: number,
84
- |}>,
84
+ }>,
85
85
  target: number,
86
86
  text: string,
87
- |}>,
87
+ }>,
88
88
  >;
89
89
 
90
90
  export type ContentSizeChangeEvent = SyntheticEvent<
91
- $ReadOnly<{|
91
+ $ReadOnly<{
92
92
  target: number,
93
- contentSize: $ReadOnly<{|
93
+ contentSize: $ReadOnly<{
94
94
  width: number,
95
95
  height: number,
96
- |}>,
97
- |}>,
96
+ }>,
97
+ }>,
98
98
  >;
99
99
 
100
100
  type TargetEvent = SyntheticEvent<
101
- $ReadOnly<{|
101
+ $ReadOnly<{
102
102
  target: number,
103
- |}>,
103
+ }>,
104
104
  >;
105
105
 
106
106
  export type BlurEvent = TargetEvent;
107
107
  export type FocusEvent = TargetEvent;
108
108
 
109
- type Selection = $ReadOnly<{|
109
+ type Selection = $ReadOnly<{
110
110
  start: number,
111
111
  end: number,
112
- |}>;
112
+ }>;
113
113
 
114
114
  export type SelectionChangeEvent = SyntheticEvent<
115
- $ReadOnly<{|
115
+ $ReadOnly<{
116
116
  selection: Selection,
117
117
  target: number,
118
- |}>,
118
+ }>,
119
119
  >;
120
120
 
121
121
  export type KeyPressEvent = SyntheticEvent<
122
- $ReadOnly<{|
122
+ $ReadOnly<{
123
123
  key: string,
124
124
  target?: ?number,
125
125
  eventCount?: ?number,
126
- |}>,
126
+ }>,
127
127
  >;
128
128
 
129
129
  export type EditingEvent = SyntheticEvent<
130
- $ReadOnly<{|
130
+ $ReadOnly<{
131
131
  eventCount: number,
132
132
  text: string,
133
133
  target: number,
134
- |}>,
134
+ }>,
135
135
  >;
136
136
 
137
137
  type DataDetectorTypesType =
@@ -259,7 +259,7 @@ export type enterKeyHintType =
259
259
 
260
260
  type PasswordRules = string;
261
261
 
262
- type IOSProps = $ReadOnly<{|
262
+ type IOSProps = $ReadOnly<{
263
263
  /**
264
264
  * If true, the keyboard shortcuts (undo/redo and copy buttons) are disabled. The default value is false.
265
265
  * @platform ios
@@ -397,9 +397,9 @@ type IOSProps = $ReadOnly<{|
397
397
  * @platform ios
398
398
  */
399
399
  smartInsertDelete?: ?boolean,
400
- |}>;
400
+ }>;
401
401
 
402
- type AndroidProps = $ReadOnly<{|
402
+ type AndroidProps = $ReadOnly<{
403
403
  /**
404
404
  * When provided it will set the color of the cursor (or "caret") in the component.
405
405
  * Unlike the behavior of `selectionColor` the cursor color will be set independently
@@ -483,10 +483,10 @@ type AndroidProps = $ReadOnly<{|
483
483
  * @platform android
484
484
  */
485
485
  underlineColorAndroid?: ?ColorValue,
486
- |}>;
486
+ }>;
487
487
 
488
- export type Props = $ReadOnly<{|
489
- ...$Diff<ViewProps, $ReadOnly<{|style: ?ViewStyleProp|}>>,
488
+ export type Props = $ReadOnly<{
489
+ ...$Diff<ViewProps, $ReadOnly<{style: ?ViewStyleProp}>>,
490
490
  ...IOSProps,
491
491
  ...AndroidProps,
492
492
 
@@ -903,10 +903,10 @@ export type Props = $ReadOnly<{|
903
903
  * The start and end of the text input's selection. Set start and end to
904
904
  * the same value to position the cursor.
905
905
  */
906
- selection?: ?$ReadOnly<{|
906
+ selection?: ?$ReadOnly<{
907
907
  start: number,
908
908
  end?: ?number,
909
- |}>,
909
+ }>,
910
910
 
911
911
  /**
912
912
  * The highlight and cursor color of the text input.
@@ -987,7 +987,7 @@ export type Props = $ReadOnly<{|
987
987
  * unwanted edits without flicker.
988
988
  */
989
989
  value?: ?Stringish,
990
- |}>;
990
+ }>;
991
991
 
992
992
  type ViewCommands = $NonMaybeType<
993
993
  | typeof AndroidTextInputCommands
@@ -995,10 +995,10 @@ type ViewCommands = $NonMaybeType<
995
995
  | typeof RCTSinglelineTextInputNativeCommands,
996
996
  >;
997
997
 
998
- type LastNativeSelection = {|
998
+ type LastNativeSelection = {
999
999
  selection: Selection,
1000
1000
  mostRecentEventCount: number,
1001
- |};
1001
+ };
1002
1002
 
1003
1003
  const emptyFunctionThatReturnsTrue = () => true;
1004
1004
 
@@ -1874,14 +1874,14 @@ ExportedForwardRef.State = {
1874
1874
  blurTextInput: TextInputState.blurTextInput,
1875
1875
  };
1876
1876
 
1877
- export type TextInputComponentStatics = $ReadOnly<{|
1878
- State: $ReadOnly<{|
1877
+ export type TextInputComponentStatics = $ReadOnly<{
1878
+ State: $ReadOnly<{
1879
1879
  currentlyFocusedInput: typeof TextInputState.currentlyFocusedInput,
1880
1880
  currentlyFocusedField: typeof TextInputState.currentlyFocusedField,
1881
1881
  focusTextInput: typeof TextInputState.focusTextInput,
1882
1882
  blurTextInput: typeof TextInputState.blurTextInput,
1883
- |}>,
1884
- |}>;
1883
+ }>,
1884
+ }>;
1885
1885
 
1886
1886
  const styles = StyleSheet.create({
1887
1887
  multilineDefault: {
@@ -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
  ));