@office-iss/react-native-win32 0.70.2 → 0.71.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 (559) hide show
  1. package/.eslintignore +1 -0
  2. package/.eslintrc.js +2 -0
  3. package/.flowconfig +3 -6
  4. package/CHANGELOG.json +281 -43
  5. package/CHANGELOG.md +105 -24
  6. package/IntegrationTests/AccessibilityManagerTest.js +1 -1
  7. package/IntegrationTests/AppEventsTest.js +0 -1
  8. package/IntegrationTests/BUCK +0 -1
  9. package/IntegrationTests/GlobalEvalWithSourceUrlTest.js +1 -1
  10. package/IntegrationTests/ImageSnapshotTest.js +1 -1
  11. package/IntegrationTests/IntegrationTestsApp.js +2 -3
  12. package/IntegrationTests/SimpleSnapshotTest.js +1 -1
  13. package/IntegrationTests/SyncMethodTest.js +1 -1
  14. package/IntegrationTests/TimersTest.js +4 -4
  15. package/IntegrationTests/WebSocketTest.js +3 -3
  16. package/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +80 -0
  17. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +4 -3
  18. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +1 -0
  19. package/Libraries/Alert/Alert.d.ts +90 -0
  20. package/Libraries/Alert/Alert.js +7 -1
  21. package/Libraries/Alert/Alert.win32.js +1 -0
  22. package/Libraries/Alert/NativeAlertManager.js +2 -0
  23. package/Libraries/Alert/RCTAlertManager.ios.js +2 -1
  24. package/Libraries/Animated/Animated.d.ts +587 -0
  25. package/Libraries/Animated/Animated.js +13 -11
  26. package/Libraries/Animated/AnimatedEvent.js +12 -17
  27. package/Libraries/Animated/AnimatedImplementation.js +21 -23
  28. package/Libraries/Animated/AnimatedMock.js +11 -13
  29. package/Libraries/Animated/AnimatedWeb.js +2 -2
  30. package/Libraries/Animated/Easing.d.ts +37 -0
  31. package/Libraries/Animated/Easing.js +2 -2
  32. package/Libraries/Animated/NativeAnimatedHelper.js +32 -22
  33. package/Libraries/Animated/NativeAnimatedModule.js +1 -0
  34. package/Libraries/Animated/NativeAnimatedTurboModule.js +1 -0
  35. package/Libraries/Animated/SpringConfig.js +2 -7
  36. package/Libraries/Animated/animations/Animation.js +3 -4
  37. package/Libraries/Animated/animations/DecayAnimation.js +5 -8
  38. package/Libraries/Animated/animations/SpringAnimation.js +9 -14
  39. package/Libraries/Animated/animations/TimingAnimation.js +9 -13
  40. package/Libraries/Animated/bezier.js +2 -2
  41. package/Libraries/Animated/components/AnimatedFlatList.js +5 -6
  42. package/Libraries/Animated/components/AnimatedImage.js +5 -6
  43. package/Libraries/Animated/components/AnimatedScrollView.js +110 -14
  44. package/Libraries/Animated/components/AnimatedSectionList.js +4 -5
  45. package/Libraries/Animated/components/AnimatedText.js +5 -6
  46. package/Libraries/Animated/components/AnimatedView.js +5 -6
  47. package/Libraries/Animated/createAnimatedComponent.js +13 -20
  48. package/Libraries/Animated/createAnimatedComponent_EXPERIMENTAL.js +2 -2
  49. package/Libraries/Animated/nodes/AnimatedAddition.js +6 -8
  50. package/Libraries/Animated/nodes/AnimatedColor.js +7 -7
  51. package/Libraries/Animated/nodes/AnimatedDiffClamp.js +6 -8
  52. package/Libraries/Animated/nodes/AnimatedDivision.js +7 -9
  53. package/Libraries/Animated/nodes/AnimatedInterpolation.js +7 -10
  54. package/Libraries/Animated/nodes/AnimatedModulo.js +6 -8
  55. package/Libraries/Animated/nodes/AnimatedMultiplication.js +7 -9
  56. package/Libraries/Animated/nodes/AnimatedNode.js +10 -8
  57. package/Libraries/Animated/nodes/AnimatedProps.js +12 -30
  58. package/Libraries/Animated/nodes/AnimatedStyle.js +12 -22
  59. package/Libraries/Animated/nodes/AnimatedSubtraction.js +7 -9
  60. package/Libraries/Animated/nodes/AnimatedTracking.js +8 -12
  61. package/Libraries/Animated/nodes/AnimatedTransform.js +38 -31
  62. package/Libraries/Animated/nodes/AnimatedValue.js +9 -10
  63. package/Libraries/Animated/nodes/AnimatedValueXY.js +4 -7
  64. package/Libraries/Animated/nodes/AnimatedWithChildren.js +4 -5
  65. package/Libraries/Animated/useAnimatedProps.js +8 -16
  66. package/Libraries/Animated/useAnimatedValue.d.ts +15 -0
  67. package/Libraries/Animated/useAnimatedValue.js +25 -0
  68. package/Libraries/AppState/AppState.d.ts +58 -0
  69. package/Libraries/AppState/AppState.js +3 -7
  70. package/Libraries/AppState/NativeAppState.js +1 -0
  71. package/Libraries/BatchedBridge/MessageQueue.js +9 -5
  72. package/Libraries/BatchedBridge/NativeModules.d.ts +25 -0
  73. package/Libraries/BatchedBridge/NativeModules.js +1 -0
  74. package/Libraries/Blob/BlobManager.js +5 -3
  75. package/Libraries/Blob/File.js +2 -3
  76. package/Libraries/Blob/FileReader.js +6 -5
  77. package/Libraries/Blob/NativeBlobModule.js +1 -0
  78. package/Libraries/Blob/NativeFileReaderModule.js +1 -0
  79. package/Libraries/Blob/URL.js +11 -9
  80. package/Libraries/BugReporting/NativeBugReporting.js +1 -0
  81. package/Libraries/BugReporting/getReactData.js +1 -1
  82. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +128 -0
  83. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.flow.js +208 -0
  84. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +40 -8
  85. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js +40 -8
  86. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +1 -0
  87. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +5 -0
  88. package/Libraries/Components/ActivityIndicator/ActivityIndicator.d.ts +86 -0
  89. package/Libraries/Components/ActivityIndicator/ActivityIndicator.flow.js +58 -0
  90. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +7 -8
  91. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +2 -3
  92. package/Libraries/Components/Button.d.ts +42 -0
  93. package/Libraries/Components/Button.flow.js +265 -0
  94. package/Libraries/Components/Button.js +62 -18
  95. package/Libraries/Components/Clipboard/Clipboard.d.ts +28 -0
  96. package/Libraries/Components/Clipboard/NativeClipboard.js +1 -0
  97. package/Libraries/Components/DatePicker/DatePickerIOS.android.js +4 -2
  98. package/Libraries/Components/DatePicker/DatePickerIOS.d.ts +92 -0
  99. package/Libraries/Components/{MaskedView/MaskedViewIOS.android.js → DatePicker/DatePickerIOS.flow.android.js} +3 -2
  100. package/Libraries/Components/DatePicker/DatePickerIOS.flow.ios.js +113 -0
  101. package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +8 -7
  102. package/Libraries/Components/DatePicker/DatePickerIOS.win32.js +4 -2
  103. package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +7 -6
  104. package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +1 -0
  105. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +9 -8
  106. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +13 -14
  107. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.d.ts +141 -0
  108. package/Libraries/Components/Keyboard/Keyboard.d.ts +109 -0
  109. package/Libraries/Components/Keyboard/Keyboard.js +35 -8
  110. package/Libraries/Components/Keyboard/KeyboardAvoidingView.d.ts +46 -0
  111. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +35 -15
  112. package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +1 -0
  113. package/Libraries/Components/Pressable/Pressable.d.ts +167 -0
  114. package/Libraries/Components/Pressable/Pressable.js +73 -15
  115. package/Libraries/Components/Pressable/Pressable.win32.js +77 -19
  116. package/Libraries/Components/Pressable/useAndroidRippleForView.js +6 -3
  117. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +3 -3
  118. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.d.ts +83 -0
  119. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +2 -2
  120. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +1 -1
  121. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.d.ts +62 -0
  122. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +4 -4
  123. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.win32.js +1 -1
  124. package/Libraries/Components/ProgressViewIOS/RCTProgressViewNativeComponent.js +2 -2
  125. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +5 -6
  126. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +4 -4
  127. package/Libraries/Components/RefreshControl/RefreshControl.d.ts +87 -0
  128. package/Libraries/Components/RefreshControl/RefreshControl.js +4 -3
  129. package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +2 -3
  130. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +1 -1
  131. package/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +24 -0
  132. package/Libraries/Components/SafeAreaView/SafeAreaView.flow.js +19 -0
  133. package/Libraries/Components/SafeAreaView/SafeAreaView.js +5 -4
  134. package/Libraries/Components/SafeAreaView/SafeAreaView.win32.js +5 -4
  135. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -1
  136. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +2 -1
  137. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +2 -1
  138. package/Libraries/Components/ScrollView/ScrollView.d.ts +911 -0
  139. package/Libraries/Components/ScrollView/ScrollView.js +87 -52
  140. package/Libraries/Components/ScrollView/ScrollViewCommands.js +3 -3
  141. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +2 -1
  142. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +3 -3
  143. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +243 -269
  144. package/Libraries/Components/Slider/Slider.d.ts +132 -0
  145. package/Libraries/Components/Slider/Slider.js +9 -9
  146. package/Libraries/Components/Slider/SliderNativeComponent.js +4 -5
  147. package/Libraries/Components/Sound/NativeSoundManager.js +1 -0
  148. package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +1 -0
  149. package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +1 -0
  150. package/Libraries/Components/StatusBar/StatusBar.d.ts +138 -0
  151. package/Libraries/Components/StatusBar/StatusBar.js +7 -7
  152. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +10 -10
  153. package/Libraries/Components/Switch/Switch.d.ts +115 -0
  154. package/Libraries/Components/Switch/Switch.js +7 -7
  155. package/Libraries/Components/Switch/SwitchNativeComponent.js +9 -4
  156. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +40 -12
  157. package/Libraries/Components/TextInput/InputAccessoryView.d.ts +34 -0
  158. package/Libraries/Components/TextInput/InputAccessoryView.js +3 -4
  159. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +1 -1
  160. package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +3 -2
  161. package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +3 -2
  162. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +3 -1
  163. package/Libraries/Components/TextInput/TextInput.d.ts +840 -0
  164. package/Libraries/Components/TextInput/TextInput.flow.js +1057 -0
  165. package/Libraries/Components/TextInput/TextInput.js +344 -38
  166. package/Libraries/Components/TextInput/TextInput.win32.d.ts +1 -1
  167. package/Libraries/Components/TextInput/TextInput.win32.js +1 -1
  168. package/Libraries/Components/TextInput/TextInput.win32.js.map +1 -1
  169. package/Libraries/Components/TextInput/TextInputNativeCommands.js +2 -2
  170. package/Libraries/Components/TextInput/TextInputState.js +22 -5
  171. package/Libraries/Components/TextInput/TextInputState.win32.js +24 -5
  172. package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +1 -0
  173. package/Libraries/Components/ToastAndroid/ToastAndroid.d.ts +47 -0
  174. package/Libraries/Components/Touchable/Tests/TouchableWin32Test.js.map +1 -1
  175. package/Libraries/Components/Touchable/Touchable.d.ts +90 -0
  176. package/Libraries/Components/Touchable/Touchable.flow.js +258 -0
  177. package/Libraries/Components/Touchable/Touchable.js +12 -12
  178. package/Libraries/Components/Touchable/Touchable.win32.js +12 -12
  179. package/Libraries/Components/Touchable/TouchableBounce.js +44 -10
  180. package/Libraries/Components/Touchable/TouchableHighlight.d.ts +68 -0
  181. package/Libraries/Components/Touchable/TouchableHighlight.js +32 -9
  182. package/Libraries/Components/Touchable/TouchableNativeFeedback.d.ts +114 -0
  183. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +54 -20
  184. package/Libraries/Components/Touchable/TouchableOpacity.d.ts +109 -0
  185. package/Libraries/Components/Touchable/TouchableOpacity.js +54 -16
  186. package/Libraries/Components/Touchable/TouchableWin32.Props.d.ts +2 -1
  187. package/Libraries/Components/Touchable/TouchableWin32.Props.js.map +1 -1
  188. package/Libraries/Components/Touchable/TouchableWin32.js +0 -1
  189. package/Libraries/Components/Touchable/TouchableWin32.js.map +1 -1
  190. package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +143 -0
  191. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +64 -10
  192. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +1 -1
  193. package/Libraries/Components/UnimplementedViews/UnimplementedView.js +1 -1
  194. package/Libraries/Components/View/ReactNativeStyleAttributes.js +13 -2
  195. package/Libraries/Components/View/ReactNativeViewAttributes.win32.js +1 -0
  196. package/Libraries/Components/View/View.d.ts +29 -0
  197. package/Libraries/Components/View/View.js +91 -8
  198. package/Libraries/Components/View/View.win32.js +176 -89
  199. package/Libraries/Components/View/ViewAccessibility.d.ts +360 -0
  200. package/Libraries/Components/View/ViewAccessibility.js +70 -1
  201. package/Libraries/Components/View/ViewNativeComponent.js +3 -3
  202. package/Libraries/Components/View/ViewPropTypes.d.ts +245 -0
  203. package/Libraries/Components/View/ViewPropTypes.js +105 -13
  204. package/Libraries/Components/View/ViewPropTypes.win32.js +105 -13
  205. package/Libraries/Components/View/ViewWin32.Props.d.ts +6 -1
  206. package/Libraries/Components/View/ViewWin32.Props.js.map +1 -1
  207. package/Libraries/Core/Devtools/openFileInEditor.js +3 -0
  208. package/Libraries/Core/Devtools/parseErrorStack.js +1 -1
  209. package/Libraries/Core/Devtools/symbolicateStackTrace.js +2 -2
  210. package/Libraries/Core/ExceptionsManager.js +8 -0
  211. package/Libraries/Core/ExtendedError.js +11 -8
  212. package/Libraries/Core/InitializeCore.js +2 -1
  213. package/Libraries/Core/NativeExceptionsManager.js +3 -4
  214. package/Libraries/Core/RawEventEmitter.js +2 -1
  215. package/Libraries/Core/ReactFiberErrorDialog.js +2 -2
  216. package/Libraries/Core/ReactNativeVersion.js +2 -2
  217. package/Libraries/Core/ReactNativeVersionCheck.js +1 -0
  218. package/Libraries/Core/ReactNativeVersionCheck.win32.js +1 -0
  219. package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +1 -0
  220. package/Libraries/Core/Timers/JSTimers.js +13 -11
  221. package/Libraries/Core/Timers/NativeTiming.js +1 -0
  222. package/Libraries/Core/setUpBatchedBridge.js +1 -5
  223. package/Libraries/Core/setUpDeveloperTools.js +4 -6
  224. package/Libraries/Core/setUpReactDevTools.js +4 -1
  225. package/Libraries/Core/setUpRegeneratorRuntime.js +1 -1
  226. package/Libraries/Core/setUpTimers.js +1 -1
  227. package/Libraries/EventEmitter/NativeEventEmitter.d.ts +70 -0
  228. package/Libraries/EventEmitter/NativeEventEmitter.js +1 -0
  229. package/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +30 -0
  230. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +2 -1
  231. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.d.ts +32 -0
  232. package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +1 -0
  233. package/Libraries/Events/EventPolyfill.js +1 -1
  234. package/Libraries/HeapCapture/NativeJSCHeapCapture.js +1 -0
  235. package/Libraries/Image/AssetSourceResolver.js +4 -6
  236. package/Libraries/Image/Image.android.js +63 -45
  237. package/Libraries/Image/Image.d.ts +322 -0
  238. package/Libraries/Image/Image.flow.js +64 -0
  239. package/Libraries/Image/Image.ios.js +55 -28
  240. package/Libraries/Image/Image.win32.js +54 -25
  241. package/Libraries/Image/ImageBackground.js +18 -7
  242. package/Libraries/Image/ImageInjection.js +2 -1
  243. package/Libraries/Image/ImageProps.js +88 -5
  244. package/Libraries/Image/ImageResizeMode.d.ts +49 -0
  245. package/Libraries/Image/ImageSource.d.ts +76 -0
  246. package/Libraries/Image/ImageSourceUtils.js +80 -0
  247. package/Libraries/Image/ImageUtils.js +21 -0
  248. package/Libraries/Image/ImageViewNativeComponent.js +8 -5
  249. package/Libraries/Image/NativeImageEditor.js +1 -0
  250. package/Libraries/Image/NativeImageLoaderAndroid.js +1 -0
  251. package/Libraries/Image/NativeImageLoaderIOS.js +1 -0
  252. package/Libraries/Image/NativeImageLoaderWin32.js +1 -0
  253. package/Libraries/Image/NativeImageStoreAndroid.js +1 -0
  254. package/Libraries/Image/NativeImageStoreIOS.js +1 -0
  255. package/Libraries/Image/TextInlineImageNativeComponent.js +4 -3
  256. package/Libraries/Image/nativeImageSource.js +2 -2
  257. package/Libraries/Image/resolveAssetSource.js +5 -5
  258. package/Libraries/Inspector/BorderBox.js +1 -1
  259. package/Libraries/Inspector/BoxInspector.js +3 -4
  260. package/Libraries/Inspector/DevtoolsOverlay.js +213 -0
  261. package/Libraries/Inspector/ElementBox.js +4 -5
  262. package/Libraries/Inspector/ElementProperties.js +10 -11
  263. package/Libraries/Inspector/Inspector.js +22 -108
  264. package/Libraries/Inspector/Inspector.win32.js +23 -109
  265. package/Libraries/Inspector/InspectorOverlay.js +5 -5
  266. package/Libraries/Inspector/InspectorOverlay.win32.js +5 -5
  267. package/Libraries/Inspector/InspectorPanel.js +12 -10
  268. package/Libraries/Inspector/NetworkOverlay.js +7 -3
  269. package/Libraries/Inspector/PerformanceOverlay.js +3 -3
  270. package/Libraries/Inspector/StyleInspector.js +2 -2
  271. package/Libraries/Inspector/getInspectorDataForViewAtPoint.js +71 -0
  272. package/Libraries/Interaction/BridgeSpyStallHandler.js +1 -1
  273. package/Libraries/Interaction/InteractionManager.d.ts +74 -0
  274. package/Libraries/Interaction/InteractionManager.js +8 -8
  275. package/Libraries/Interaction/NativeFrameRateLogger.js +1 -0
  276. package/Libraries/Interaction/PanResponder.d.ts +202 -0
  277. package/Libraries/Interaction/PanResponder.flow.js +257 -0
  278. package/Libraries/Interaction/PanResponder.js +4 -3
  279. package/Libraries/JSInspector/JSInspector.js +0 -3
  280. package/Libraries/JSInspector/NetworkAgent.js +3 -3
  281. package/Libraries/LayoutAnimation/LayoutAnimation.d.ts +84 -0
  282. package/Libraries/LayoutAnimation/LayoutAnimation.js +4 -3
  283. package/Libraries/Linking/Linking.d.ts +61 -0
  284. package/Libraries/Linking/Linking.js +3 -2
  285. package/Libraries/Linking/NativeIntentAndroid.js +1 -0
  286. package/Libraries/Linking/NativeLinkingManager.js +1 -0
  287. package/Libraries/Lists/CellRenderMask.js +13 -3
  288. package/Libraries/Lists/ChildListCollection.js +72 -0
  289. package/Libraries/Lists/FillRateHelper.js +28 -17
  290. package/Libraries/Lists/FlatList.d.ts +292 -0
  291. package/Libraries/Lists/FlatList.js +70 -70
  292. package/Libraries/Lists/SectionList.d.ts +300 -0
  293. package/Libraries/Lists/SectionList.js +5 -5
  294. package/Libraries/Lists/SectionListModern.js +6 -6
  295. package/Libraries/Lists/StateSafePureComponent.js +85 -0
  296. package/Libraries/Lists/ViewabilityHelper.js +33 -12
  297. package/Libraries/Lists/VirtualizeUtils.js +17 -13
  298. package/Libraries/Lists/VirtualizedList.d.ts +317 -0
  299. package/Libraries/Lists/VirtualizedList.js +548 -890
  300. package/Libraries/Lists/VirtualizedListCellRenderer.js +259 -0
  301. package/Libraries/Lists/VirtualizedListContext.js +7 -48
  302. package/Libraries/Lists/VirtualizedListProps.js +279 -0
  303. package/Libraries/Lists/VirtualizedSectionList.js +6 -3
  304. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
  305. package/Libraries/LogBox/Data/LogBoxData.js +9 -8
  306. package/Libraries/LogBox/Data/LogBoxLog.js +5 -5
  307. package/Libraries/LogBox/Data/LogBoxSymbolication.js +4 -4
  308. package/Libraries/LogBox/Data/parseLogBoxLog.js +5 -3
  309. package/Libraries/LogBox/LogBox.d.ts +28 -0
  310. package/Libraries/LogBox/LogBox.js +11 -11
  311. package/Libraries/LogBox/LogBoxInspectorContainer.js +5 -3
  312. package/Libraries/LogBox/LogBoxNotificationContainer.js +2 -2
  313. package/Libraries/LogBox/UI/AnsiHighlight.js +5 -3
  314. package/Libraries/LogBox/UI/LogBoxButton.js +6 -5
  315. package/Libraries/LogBox/UI/LogBoxInspector.js +6 -6
  316. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +9 -8
  317. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +3 -3
  318. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +7 -6
  319. package/Libraries/LogBox/UI/LogBoxInspectorHeader.win32.js +6 -5
  320. package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +6 -5
  321. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +7 -6
  322. package/Libraries/LogBox/UI/LogBoxInspectorSection.js +2 -2
  323. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +3 -3
  324. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +5 -5
  325. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.win32.js +5 -5
  326. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +5 -5
  327. package/Libraries/LogBox/UI/LogBoxMessage.js +3 -3
  328. package/Libraries/LogBox/UI/LogBoxNotification.js +6 -5
  329. package/Libraries/Modal/Modal.d.ts +104 -0
  330. package/Libraries/Modal/Modal.js +14 -14
  331. package/Libraries/Modal/NativeModalManager.js +1 -0
  332. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +3 -3
  333. package/Libraries/NativeComponent/BaseViewConfig.android.js +27 -2
  334. package/Libraries/NativeComponent/BaseViewConfig.ios.js +8 -3
  335. package/Libraries/NativeComponent/BaseViewConfig.win32.js +8 -3
  336. package/Libraries/NativeComponent/NativeComponentRegistry.js +5 -4
  337. package/Libraries/NativeComponent/PlatformBaseViewConfig.js +1 -0
  338. package/Libraries/NativeComponent/StaticViewConfigValidator.js +1 -1
  339. package/Libraries/NativeComponent/ViewConfig.js +1 -0
  340. package/Libraries/NativeModules/specs/NativeAnimationsDebugModule.js +1 -0
  341. package/Libraries/NativeModules/specs/NativeDevMenu.js +1 -0
  342. package/Libraries/NativeModules/specs/NativeDevSettings.js +1 -0
  343. package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +1 -0
  344. package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +1 -0
  345. package/Libraries/NativeModules/specs/NativeLogBox.js +3 -2
  346. package/Libraries/NativeModules/specs/NativeRedBox.js +1 -0
  347. package/Libraries/NativeModules/specs/NativeSourceCode.js +1 -0
  348. package/Libraries/Network/NativeNetworkingAndroid.js +1 -0
  349. package/Libraries/Network/NativeNetworkingIOS.js +1 -0
  350. package/Libraries/Network/RCTNetworking.android.js +4 -3
  351. package/Libraries/Network/RCTNetworking.ios.js +3 -2
  352. package/Libraries/Network/RCTNetworking.win32.js +1 -0
  353. package/Libraries/Network/convertRequestBody.js +1 -2
  354. package/Libraries/NewAppScreen/components/DebugInstructions.js +4 -1
  355. package/Libraries/NewAppScreen/components/Header.js +6 -2
  356. package/Libraries/NewAppScreen/components/HermesBadge.js +6 -2
  357. package/Libraries/NewAppScreen/components/LearnMoreLinks.js +8 -9
  358. package/Libraries/NewAppScreen/components/ReloadInstructions.js +4 -1
  359. package/Libraries/NewAppScreen/index.js +1 -1
  360. package/Libraries/Performance/NativeJSCSamplingProfiler.js +1 -0
  361. package/Libraries/Performance/QuickPerformanceLogger.js +34 -10
  362. package/Libraries/Performance/Systrace.d.ts +66 -0
  363. package/Libraries/Performance/Systrace.js +110 -195
  364. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +1 -0
  365. package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +115 -0
  366. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +5 -4
  367. package/Libraries/Pressability/Pressability.js +12 -10
  368. package/Libraries/Pressability/Pressability.win32.js +9 -7
  369. package/Libraries/Pressability/PressabilityDebug.js +2 -2
  370. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +1 -0
  371. package/Libraries/PushNotificationIOS/PushNotificationIOS.d.ts +275 -0
  372. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +19 -14
  373. package/Libraries/ReactNative/AppContainer.js +17 -7
  374. package/Libraries/ReactNative/AppRegistry.d.ts +68 -0
  375. package/Libraries/ReactNative/AppRegistry.js +11 -14
  376. package/Libraries/ReactNative/BridgelessUIManager.js +4 -3
  377. package/Libraries/ReactNative/FabricUIManager.js +3 -3
  378. package/Libraries/ReactNative/I18nManager.d.ts +25 -0
  379. package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +1 -0
  380. package/Libraries/ReactNative/NativeI18nManager.js +1 -0
  381. package/Libraries/ReactNative/NativeUIManager.js +1 -0
  382. package/Libraries/ReactNative/PaperUIManager.js +2 -2
  383. package/Libraries/ReactNative/PaperUIManager.win32.js +1 -1
  384. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +9 -0
  385. package/Libraries/ReactNative/RendererImplementation.js +112 -0
  386. package/Libraries/ReactNative/RendererProxy.d.ts +20 -0
  387. package/Libraries/ReactNative/RendererProxy.js +26 -0
  388. package/Libraries/ReactNative/RootTag.js +0 -1
  389. package/Libraries/ReactNative/UIManager.d.ts +157 -0
  390. package/Libraries/ReactNative/UIManager.js +1 -1
  391. package/Libraries/ReactNative/getCachedComponentWithDebugName.js +1 -0
  392. package/Libraries/ReactNative/renderApplication.js +38 -20
  393. package/Libraries/ReactNative/requireNativeComponent.d.ts +23 -0
  394. package/Libraries/ReactNative/requireNativeComponent.js +2 -2
  395. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +10 -9
  396. package/Libraries/Renderer/implementations/ReactFabric-dev.js +312 -217
  397. package/Libraries/Renderer/implementations/ReactFabric-prod.js +212 -177
  398. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +248 -213
  399. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +311 -218
  400. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +226 -196
  401. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +262 -232
  402. package/Libraries/Renderer/implementations/ReactNativeRenderer.d.ts +149 -0
  403. package/Libraries/Renderer/shims/ReactFabric.js +2 -2
  404. package/Libraries/Renderer/shims/ReactFeatureFlags.js +2 -2
  405. package/Libraries/Renderer/shims/ReactNative.js +2 -2
  406. package/Libraries/Renderer/shims/ReactNativeTypes.d.ts +141 -0
  407. package/Libraries/Renderer/shims/ReactNativeTypes.js +23 -22
  408. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +8 -8
  409. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
  410. package/Libraries/Settings/NativeSettingsManager.js +1 -0
  411. package/Libraries/Settings/Settings.d.ts +18 -0
  412. package/Libraries/Share/NativeShareModule.js +1 -0
  413. package/Libraries/Share/Share.d.ts +80 -0
  414. package/Libraries/Share/Share.js +7 -5
  415. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +1 -1
  416. package/Libraries/StyleSheet/PlatformColorValueTypes.d.ts +18 -0
  417. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
  418. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.d.ts +25 -0
  419. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -0
  420. package/Libraries/StyleSheet/StyleSheet.d.ts +156 -0
  421. package/Libraries/StyleSheet/StyleSheet.js +15 -11
  422. package/Libraries/StyleSheet/StyleSheet.win32.js +16 -12
  423. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +332 -0
  424. package/Libraries/StyleSheet/StyleSheetTypes.js +101 -24
  425. package/Libraries/StyleSheet/__flowtests__/StyleSheet-flowtest.js +2 -2
  426. package/Libraries/StyleSheet/normalizeColor.js +3 -3
  427. package/Libraries/StyleSheet/private/_TransformStyle.js +26 -24
  428. package/Libraries/StyleSheet/processAspectRatio.js +53 -0
  429. package/Libraries/StyleSheet/processColor.d.ts +16 -0
  430. package/Libraries/StyleSheet/processColor.js +3 -4
  431. package/Libraries/StyleSheet/processColorArray.js +1 -0
  432. package/Libraries/StyleSheet/processFontVariant.js +30 -0
  433. package/Libraries/StyleSheet/processTransform.js +114 -105
  434. package/Libraries/StyleSheet/splitLayoutProps.js +5 -0
  435. package/Libraries/Text/Text.d.ts +209 -0
  436. package/Libraries/Text/Text.js +94 -12
  437. package/Libraries/Text/TextNativeComponent.js +49 -41
  438. package/Libraries/Text/TextNativeComponent.win32.js +67 -48
  439. package/Libraries/Text/TextProps.js +64 -7
  440. package/Libraries/{Components/MaskedView/MaskedViewIOS.win32.js → TurboModule/RCTExport.d.ts} +3 -4
  441. package/Libraries/TurboModule/TurboModuleRegistry.d.ts +15 -0
  442. package/Libraries/TurboModule/TurboModuleRegistry.js +3 -1
  443. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +1 -0
  444. package/Libraries/Types/CoreEventTypes.d.ts +263 -0
  445. package/Libraries/Types/CoreEventTypes.js +2 -1
  446. package/Libraries/Types/CoreEventTypes.win32.js +2 -1
  447. package/Libraries/Utilities/AcessibilityMapping.js +154 -0
  448. package/Libraries/Utilities/Appearance.d.ts +43 -0
  449. package/Libraries/Utilities/Appearance.js +3 -3
  450. package/Libraries/Utilities/BackHandler.android.js +3 -5
  451. package/Libraries/Utilities/BackHandler.d.ts +38 -0
  452. package/Libraries/Utilities/BackHandler.win32.js +3 -5
  453. package/Libraries/Utilities/DevSettings.d.ts +32 -0
  454. package/Libraries/Utilities/DevSettings.js +4 -2
  455. package/Libraries/Utilities/Dimensions.d.ts +79 -0
  456. package/Libraries/Utilities/Dimensions.js +2 -2
  457. package/Libraries/Utilities/Dimensions.win32.js +2 -2
  458. package/Libraries/Utilities/GlobalPerformanceLogger.js +2 -1
  459. package/Libraries/Utilities/HMRClient.js +23 -8
  460. package/Libraries/Utilities/LoadingView.ios.js +1 -1
  461. package/Libraries/Utilities/NativeAppearance.js +1 -0
  462. package/Libraries/Utilities/NativeDevLoadingView.js +1 -0
  463. package/Libraries/Utilities/NativeDevSplitBundleLoader.js +1 -0
  464. package/Libraries/Utilities/NativeDeviceInfo.js +1 -0
  465. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +1 -0
  466. package/Libraries/Utilities/NativePlatformConstantsIOS.js +1 -0
  467. package/Libraries/Utilities/NativePlatformConstantsWin.js +1 -0
  468. package/Libraries/Utilities/PerformanceLoggerContext.js +3 -2
  469. package/Libraries/Utilities/PixelRatio.d.ts +64 -0
  470. package/Libraries/Utilities/Platform.android.js +11 -5
  471. package/Libraries/Utilities/Platform.d.ts +102 -0
  472. package/Libraries/Utilities/Platform.ios.js +12 -5
  473. package/Libraries/Utilities/Platform.win32.js +11 -5
  474. package/Libraries/Utilities/PolyfillFunctions.js +1 -1
  475. package/Libraries/Utilities/ReactNativeTestTools.js +9 -15
  476. package/Libraries/Utilities/codegenNativeCommands.js +1 -10
  477. package/Libraries/Utilities/codegenNativeComponent.js +4 -1
  478. package/Libraries/Utilities/createPerformanceLogger.js +7 -8
  479. package/Libraries/Utilities/differ/deepDiffer.js +1 -1
  480. package/Libraries/Utilities/groupByEveryN.js +1 -1
  481. package/Libraries/Utilities/stringifySafe.js +3 -1
  482. package/Libraries/Utilities/useColorScheme.js +3 -2
  483. package/Libraries/Utilities/useRefEffect.js +1 -1
  484. package/Libraries/Vibration/NativeVibration.js +1 -0
  485. package/Libraries/Vibration/Vibration.d.ts +43 -0
  486. package/Libraries/Vibration/Vibration.js +1 -0
  487. package/Libraries/WebPerformance/NativePerformanceObserver.js +41 -0
  488. package/Libraries/WebPerformance/PerformanceObserver.js +223 -0
  489. package/Libraries/WebSocket/NativeWebSocketModule.js +1 -0
  490. package/Libraries/WebSocket/WebSocket.js +11 -3
  491. package/Libraries/WebSocket/WebSocketInterceptor.js +1 -1
  492. package/Libraries/YellowBox/YellowBoxDeprecated.d.ts +19 -0
  493. package/Libraries/YellowBox/YellowBoxDeprecated.js +2 -3
  494. package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +2 -1
  495. package/Libraries/__tests__/ButtonWin32-test.js +16 -0
  496. package/Libraries/platform-types.d.ts +25 -0
  497. package/Libraries/vendor/core/ErrorUtils.d.ts +15 -0
  498. package/Libraries/vendor/emitter/EventEmitter.d.ts +164 -0
  499. package/babel.config.js +3 -0
  500. package/flow/jest.js +2 -2
  501. package/flow-typed/npm/{react-dom_v16.x.x.js → react-dom_v17.x.x.js} +58 -31
  502. package/flow-typed/npm/yargs_v17.x.x.js +341 -0
  503. package/index.js +89 -55
  504. package/index.win32.js +89 -55
  505. package/interface.js +8 -0
  506. package/jest/react-native-env.js +18 -0
  507. package/jest/renderer.js +2 -2
  508. package/jest/setup.js +7 -9
  509. package/jest.config.js +9 -2
  510. package/overrides.json +40 -101
  511. package/package.json +34 -33
  512. package/src/Libraries/Components/TextInput/TextInput.win32.tsx +2 -1
  513. package/src/Libraries/Components/Touchable/Tests/TouchableWin32Test.tsx +2 -2
  514. package/src/Libraries/Components/Touchable/TouchableWin32.Props.tsx +2 -1
  515. package/src/Libraries/Components/Touchable/TouchableWin32.tsx +1 -1
  516. package/src/Libraries/Components/View/ViewWin32.Props.ts +10 -1
  517. package/src/Libraries/__tests__/__snapshots__/ButtonWin32-test.js.snap +22 -0
  518. package/src/Libraries/platform-types.d.ts +25 -0
  519. package/types/index.d.ts +215 -0
  520. package/IntegrationTests/AsyncStorageTest.js +0 -261
  521. package/Libraries/Components/MaskedView/MaskedViewIOS.ios.js +0 -93
  522. package/Libraries/Components/MaskedView/RCTMaskedViewNativeComponent.js +0 -21
  523. package/Libraries/Core/setUpSystrace.js +0 -21
  524. package/Libraries/Image/ImagePickerIOS.js +0 -103
  525. package/Libraries/Image/NativeImagePickerIOS.js +0 -38
  526. package/Libraries/Lists/VirtualizedList.win32.js +0 -9
  527. package/Libraries/Lists/__tests__/CellRenderMask-test.js +0 -179
  528. package/Libraries/Lists/__tests__/FillRateHelper-test.js +0 -120
  529. package/Libraries/Lists/__tests__/FlatList-test.js +0 -155
  530. package/Libraries/Lists/__tests__/SectionList-test.js +0 -109
  531. package/Libraries/Lists/__tests__/ViewabilityHelper-test.js +0 -440
  532. package/Libraries/Lists/__tests__/VirtualizeUtils-test.js +0 -91
  533. package/Libraries/Lists/__tests__/VirtualizedList-test.js +0 -1587
  534. package/Libraries/Lists/__tests__/VirtualizedSectionList-test.js +0 -269
  535. package/Libraries/Storage/AsyncStorage.js +0 -385
  536. package/Libraries/Storage/NativeAsyncLocalStorage.js +0 -44
  537. package/Libraries/Storage/NativeAsyncSQLiteDBStorage.js +0 -44
  538. package/Libraries/Utilities/JSDevSupportModule.js +0 -37
  539. package/Libraries/Utilities/NativeJSDevSupport.js +0 -23
  540. package/rntypes/BatchedBridge.d.ts +0 -23
  541. package/rntypes/Devtools.d.ts +0 -20
  542. package/rntypes/LaunchScreen.d.ts +0 -9
  543. package/rntypes/globals.d.ts +0 -497
  544. package/rntypes/index.d.ts +0 -9754
  545. package/rntypes/legacy-properties.d.ts +0 -238
  546. package/src/Libraries/Lists/__tests__/__snapshots__/FlatList-test.js.snap +0 -427
  547. package/src/Libraries/Lists/__tests__/__snapshots__/SectionList-test.js.snap +0 -391
  548. package/src/Libraries/Lists/__tests__/__snapshots__/VirtualizedList-test.js.snap +0 -4565
  549. package/src/Libraries/Lists/__tests__/__snapshots__/VirtualizedSectionList-test.js.snap +0 -1153
  550. package/src/rntypes/BatchedBridge.d.ts +0 -23
  551. package/src/rntypes/Devtools.d.ts +0 -20
  552. package/src/rntypes/LaunchScreen.d.ts +0 -9
  553. package/src/rntypes/globals.d.ts +0 -497
  554. package/src/rntypes/index.d.ts +0 -9754
  555. package/src/rntypes/legacy-properties.d.ts +0 -238
  556. package/src/typings-index.ts +0 -37
  557. package/typings-index.d.ts +0 -23
  558. package/typings-index.js +0 -47
  559. package/typings-index.js.map +0 -1
@@ -10,12 +10,18 @@
10
10
 
11
11
  'use strict';
12
12
 
13
- const AnimatedNode = require('../Animated/nodes/AnimatedNode');
14
-
13
+ import type AnimatedNode from '../Animated/nodes/AnimatedNode';
15
14
  import type {NativeColorValue} from './PlatformColorValueTypes';
15
+ import type {
16
+ ____DangerouslyImpreciseStyle_InternalOverrides,
17
+ ____ImageStyle_InternalOverrides,
18
+ ____ShadowStyle_InternalOverrides,
19
+ ____TextStyle_InternalOverrides,
20
+ ____ViewStyle_InternalOverrides,
21
+ } from './private/_StyleSheetTypesOverrides';
22
+ import type {____TransformStyle_Internal} from './private/_TransformStyle';
16
23
 
17
24
  export type ____ColorValue_Internal = null | string | number | NativeColorValue;
18
-
19
25
  export type ColorArrayValue = null | $ReadOnlyArray<____ColorValue_Internal>;
20
26
  export type PointValue = {
21
27
  x: number,
@@ -29,16 +35,6 @@ export type EdgeInsetsValue = {
29
35
  };
30
36
  export type DimensionValue = null | number | string | AnimatedNode;
31
37
 
32
- import type {
33
- ____DangerouslyImpreciseStyle_InternalOverrides,
34
- ____ImageStyle_InternalOverrides,
35
- ____ShadowStyle_InternalOverrides,
36
- ____TextStyle_InternalOverrides,
37
- ____ViewStyle_InternalOverrides,
38
- } from './private/_StyleSheetTypesOverrides';
39
-
40
- import type {____TransformStyle_Internal} from './private/_TransformStyle';
41
-
42
38
  /**
43
39
  * React Native's layout system is based on Flexbox and is powered both
44
40
  * on iOS and Android by an open source project called `Yoga`:
@@ -446,8 +442,7 @@ type ____LayoutStyle_Internal = $ReadOnly<{
446
442
  flexBasis?: number | string,
447
443
 
448
444
  /**
449
- * Aspect ratio control the size of the undefined dimension of a node. Aspect ratio is a
450
- * non-standard property only available in react native and not CSS.
445
+ * Aspect ratio control the size of the undefined dimension of a node.
451
446
  *
452
447
  * - On a node with a set width/height aspect ratio control the size of the unset dimension
453
448
  * - On a node with a set flex basis aspect ratio controls the size of the node in the cross axis
@@ -457,8 +452,13 @@ type ____LayoutStyle_Internal = $ReadOnly<{
457
452
  * - On a node with flex grow/shrink aspect ratio controls the size of the node in the cross axis
458
453
  * if unset
459
454
  * - Aspect ratio takes min/max dimensions into account
455
+ *
456
+ * Supports a number or a ratio, e.g.:
457
+ * - aspectRatio: '1 / 1'
458
+ * - aspectRatio: '1'
459
+ * - aspectRatio: '1'
460
460
  */
461
- aspectRatio?: number,
461
+ aspectRatio?: number | string,
462
462
 
463
463
  /** `zIndex` controls which components display on top of others.
464
464
  * Normally, you don't use `zIndex`. Components render according to
@@ -518,6 +518,19 @@ export type ____ShadowStyle_InternalCore = $ReadOnly<{
518
518
  * @platform ios
519
519
  */
520
520
  shadowRadius?: number,
521
+
522
+ /**
523
+ * In React Native, gap works the same way it does in CSS.
524
+ * If there are two or more children in a container, they will be separated from each other
525
+ * by the value of the gap - but the children will not be separated from the edges of their parent container.
526
+ * For horizontal gaps, use columnGap, for vertical gaps, use rowGap, and to apply both at the same time, it's gap.
527
+ * When align-content or justify-content are set to space-between or space-around, the separation
528
+ * between children may be larger than the gap value.
529
+ * See https://developer.mozilla.org/en-US/docs/Web/CSS/gap for more details.
530
+ */
531
+ rowGap?: number,
532
+ columnGap?: number,
533
+ gap?: number,
521
534
  }>;
522
535
 
523
536
  export type ____ShadowStyle_Internal = $ReadOnly<{
@@ -532,6 +545,7 @@ export type ____ViewStyle_InternalCore = $ReadOnly<{
532
545
  backfaceVisibility?: 'visible' | 'hidden',
533
546
  backgroundColor?: ____ColorValue_Internal,
534
547
  borderColor?: ____ColorValue_Internal,
548
+ borderCurve?: 'circular' | 'continuous',
535
549
  borderBottomColor?: ____ColorValue_Internal,
536
550
  borderEndColor?: ____ColorValue_Internal,
537
551
  borderLeftColor?: ____ColorValue_Internal,
@@ -557,6 +571,7 @@ export type ____ViewStyle_InternalCore = $ReadOnly<{
557
571
  borderTopWidth?: number | AnimatedNode,
558
572
  opacity?: number | AnimatedNode,
559
573
  elevation?: number,
574
+ pointerEvents?: 'auto' | 'none' | 'box-none' | 'box-only',
560
575
  }>;
561
576
 
562
577
  export type ____ViewStyle_Internal = $ReadOnly<{
@@ -564,6 +579,23 @@ export type ____ViewStyle_Internal = $ReadOnly<{
564
579
  ...____ViewStyle_InternalOverrides,
565
580
  }>;
566
581
 
582
+ export type FontStyleType = {
583
+ fontFamily: string,
584
+ fontWeight: ____FontWeight_Internal,
585
+ };
586
+
587
+ export type FontStyleMap = {
588
+ ultraLight: FontStyleType,
589
+ thin: FontStyleType,
590
+ light: FontStyleType,
591
+ regular: FontStyleType,
592
+ medium: FontStyleType,
593
+ semibold: FontStyleType,
594
+ bold: FontStyleType,
595
+ heavy: FontStyleType,
596
+ black: FontStyleType,
597
+ };
598
+
567
599
  export type ____FontWeight_Internal =
568
600
  | 'normal'
569
601
  | 'bold'
@@ -575,7 +607,54 @@ export type ____FontWeight_Internal =
575
607
  | '600'
576
608
  | '700'
577
609
  | '800'
578
- | '900';
610
+ | '900'
611
+ | 100
612
+ | 200
613
+ | 300
614
+ | 400
615
+ | 500
616
+ | 600
617
+ | 700
618
+ | 800
619
+ | 900
620
+ | 'ultralight'
621
+ | 'thin'
622
+ | 'light'
623
+ | 'medium'
624
+ | 'regular'
625
+ | 'semibold'
626
+ | 'condensedBold'
627
+ | 'condensed'
628
+ | 'heavy'
629
+ | 'black';
630
+
631
+ export type ____FontVariantArray_Internal = $ReadOnlyArray<
632
+ | 'small-caps'
633
+ | 'oldstyle-nums'
634
+ | 'lining-nums'
635
+ | 'tabular-nums'
636
+ | 'proportional-nums'
637
+ | 'stylistic-one'
638
+ | 'stylistic-two'
639
+ | 'stylistic-three'
640
+ | 'stylistic-four'
641
+ | 'stylistic-five'
642
+ | 'stylistic-six'
643
+ | 'stylistic-seven'
644
+ | 'stylistic-eight'
645
+ | 'stylistic-nine'
646
+ | 'stylistic-ten'
647
+ | 'stylistic-eleven'
648
+ | 'stylistic-twelve'
649
+ | 'stylistic-thirteen'
650
+ | 'stylistic-fourteen'
651
+ | 'stylistic-fifteen'
652
+ | 'stylistic-sixteen'
653
+ | 'stylistic-seventeen'
654
+ | 'stylistic-eighteen'
655
+ | 'stylistic-nineteen'
656
+ | 'stylistic-twenty',
657
+ >;
579
658
 
580
659
  export type ____TextStyle_InternalCore = $ReadOnly<{
581
660
  ...$Exact<____ViewStyle_Internal>,
@@ -584,13 +663,7 @@ export type ____TextStyle_InternalCore = $ReadOnly<{
584
663
  fontSize?: number,
585
664
  fontStyle?: 'normal' | 'italic',
586
665
  fontWeight?: ____FontWeight_Internal,
587
- fontVariant?: $ReadOnlyArray<
588
- | 'small-caps'
589
- | 'oldstyle-nums'
590
- | 'lining-nums'
591
- | 'tabular-nums'
592
- | 'proportional-nums',
593
- >,
666
+ fontVariant?: ____FontVariantArray_Internal | string,
594
667
  textShadowOffset?: $ReadOnly<{
595
668
  width: number,
596
669
  height: number,
@@ -610,6 +683,8 @@ export type ____TextStyle_InternalCore = $ReadOnly<{
610
683
  textDecorationStyle?: 'solid' | 'double' | 'dotted' | 'dashed',
611
684
  textDecorationColor?: ____ColorValue_Internal,
612
685
  textTransform?: 'none' | 'capitalize' | 'uppercase' | 'lowercase',
686
+ userSelect?: 'auto' | 'text' | 'none' | 'contain' | 'all',
687
+ verticalAlign?: 'auto' | 'top' | 'bottom' | 'middle',
613
688
  writingDirection?: 'auto' | 'ltr' | 'rtl',
614
689
  }>;
615
690
 
@@ -621,6 +696,7 @@ export type ____TextStyle_Internal = $ReadOnly<{
621
696
  export type ____ImageStyle_InternalCore = $ReadOnly<{
622
697
  ...$Exact<____ViewStyle_Internal>,
623
698
  resizeMode?: 'contain' | 'cover' | 'stretch' | 'center' | 'repeat',
699
+ objectFit?: 'cover' | 'contain' | 'fill' | 'scale-down',
624
700
  tintColor?: ____ColorValue_Internal,
625
701
  overlayColor?: string,
626
702
  }>;
@@ -633,6 +709,7 @@ export type ____ImageStyle_Internal = $ReadOnly<{
633
709
  export type ____DangerouslyImpreciseStyle_InternalCore = $ReadOnly<{
634
710
  ...$Exact<____TextStyle_Internal>,
635
711
  resizeMode?: 'contain' | 'cover' | 'stretch' | 'center' | 'repeat',
712
+ objectFit?: 'cover' | 'contain' | 'fill' | 'scale-down',
636
713
  tintColor?: ____ColorValue_Internal,
637
714
  overlayColor?: string,
638
715
  }>;
@@ -10,9 +10,9 @@
10
10
 
11
11
  'use strict';
12
12
 
13
- const StyleSheet = require('../StyleSheet');
14
-
15
13
  import type {ImageStyleProp, TextStyleProp} from '../StyleSheet';
14
+
15
+ const StyleSheet = require('../StyleSheet');
16
16
  const imageStyle = {tintColor: 'rgb(0, 0, 0)'};
17
17
  const textStyle = {color: 'rgb(0, 0, 0)'};
18
18
 
@@ -10,10 +10,10 @@
10
10
 
11
11
  /* eslint no-bitwise: 0 */
12
12
 
13
- import _normalizeColor from '@react-native/normalize-color';
14
-
15
- import type {ColorValue} from './StyleSheet';
16
13
  import type {ProcessedColorValue} from './processColor';
14
+ import type {ColorValue} from './StyleSheet';
15
+
16
+ import _normalizeColor from '@react-native/normalize-color';
17
17
 
18
18
  function normalizeColor(
19
19
  color: ?(ColorValue | ProcessedColorValue),
@@ -8,7 +8,7 @@
8
8
  * @format
9
9
  */
10
10
 
11
- const AnimatedNode = require('../../Animated/nodes/AnimatedNode');
11
+ import type AnimatedNode from '../../Animated/nodes/AnimatedNode';
12
12
 
13
13
  export type ____TransformStyle_Internal = $ReadOnly<{|
14
14
  /**
@@ -27,27 +27,29 @@ export type ____TransformStyle_Internal = $ReadOnly<{|
27
27
  *
28
28
  * `transform([{ skewX: '45deg' }])`
29
29
  */
30
- transform?: $ReadOnlyArray<
31
- | {|+perspective: number | AnimatedNode|}
32
- | {|+rotate: string | AnimatedNode|}
33
- | {|+rotateX: string | AnimatedNode|}
34
- | {|+rotateY: string | AnimatedNode|}
35
- | {|+rotateZ: string | AnimatedNode|}
36
- | {|+scale: number | AnimatedNode|}
37
- | {|+scaleX: number | AnimatedNode|}
38
- | {|+scaleY: number | AnimatedNode|}
39
- | {|+translateX: number | AnimatedNode|}
40
- | {|+translateY: number | AnimatedNode|}
41
- | {|
42
- +translate:
43
- | [number | AnimatedNode, number | AnimatedNode]
44
- | AnimatedNode,
45
- |}
46
- | {|+skewX: string|}
47
- | {|+skewY: string|}
48
- // TODO: what is the actual type it expects?
49
- | {|
50
- +matrix: $ReadOnlyArray<number | AnimatedNode> | AnimatedNode,
51
- |},
52
- >,
30
+ transform?:
31
+ | $ReadOnlyArray<
32
+ | {|+perspective: number | AnimatedNode|}
33
+ | {|+rotate: string | AnimatedNode|}
34
+ | {|+rotateX: string | AnimatedNode|}
35
+ | {|+rotateY: string | AnimatedNode|}
36
+ | {|+rotateZ: string | AnimatedNode|}
37
+ | {|+scale: number | AnimatedNode|}
38
+ | {|+scaleX: number | AnimatedNode|}
39
+ | {|+scaleY: number | AnimatedNode|}
40
+ | {|+translateX: number | AnimatedNode|}
41
+ | {|+translateY: number | AnimatedNode|}
42
+ | {|
43
+ +translate:
44
+ | [number | AnimatedNode, number | AnimatedNode]
45
+ | AnimatedNode,
46
+ |}
47
+ | {|+skewX: string|}
48
+ | {|+skewY: string|}
49
+ // TODO: what is the actual type it expects?
50
+ | {|
51
+ +matrix: $ReadOnlyArray<number | AnimatedNode> | AnimatedNode,
52
+ |},
53
+ >
54
+ | string,
53
55
  |}>;
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @format
8
+ * @flow
9
+ */
10
+
11
+ 'use strict';
12
+
13
+ const invariant = require('invariant');
14
+
15
+ function processAspectRatio(aspectRatio: number | string): ?number {
16
+ if (typeof aspectRatio === 'number') {
17
+ return aspectRatio;
18
+ }
19
+
20
+ const matches = aspectRatio.split('/').map(s => s.trim());
21
+
22
+ if (matches.includes('auto')) {
23
+ if (__DEV__) {
24
+ invariant(
25
+ matches.length,
26
+ 'aspectRatio does not support `auto <ratio>`. You passed: %s',
27
+ aspectRatio,
28
+ );
29
+ }
30
+ return;
31
+ }
32
+
33
+ const hasNonNumericValues = matches.some(n => Number.isNaN(Number(n)));
34
+ if (__DEV__) {
35
+ invariant(
36
+ !hasNonNumericValues && (matches.length === 1 || matches.length === 2),
37
+ 'aspectRatio must either be a number, a ratio or `auto`. You passed: %s',
38
+ aspectRatio,
39
+ );
40
+ }
41
+
42
+ if (hasNonNumericValues) {
43
+ return;
44
+ }
45
+
46
+ if (matches.length === 2) {
47
+ return Number(matches[0]) / Number(matches[1]);
48
+ }
49
+
50
+ return Number(matches[0]);
51
+ }
52
+
53
+ module.exports = processAspectRatio;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @format
8
+ */
9
+
10
+ import {ColorValue, OpaqueColorValue} from './StyleSheet';
11
+
12
+ export type ProcessedColorValue = number | OpaqueColorValue;
13
+
14
+ export function processColor(
15
+ color?: number | ColorValue,
16
+ ): ProcessedColorValue | null | undefined;
@@ -10,13 +10,12 @@
10
10
 
11
11
  'use strict';
12
12
 
13
- const Platform = require('../Utilities/Platform');
13
+ import type {NativeColorValue} from './PlatformColorValueTypes';
14
+ import type {ColorValue} from './StyleSheet';
14
15
 
16
+ const Platform = require('../Utilities/Platform');
15
17
  const normalizeColor = require('./normalizeColor');
16
18
 
17
- import type {ColorValue} from './StyleSheet';
18
- import type {NativeColorValue} from './PlatformColorValueTypes';
19
-
20
19
  export type ProcessedColorValue = number | NativeColorValue;
21
20
 
22
21
  /* eslint no-bitwise: 0 */
@@ -11,6 +11,7 @@
11
11
  'use strict';
12
12
 
13
13
  import type {ColorValue} from './StyleSheet';
14
+
14
15
  import processColor, {type ProcessedColorValue} from './processColor';
15
16
 
16
17
  const TRANSPARENT = 0; // rgba(0, 0, 0, 0)
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @format
8
+ * @flow
9
+ */
10
+
11
+ 'use strict';
12
+
13
+ import type {____FontVariantArray_Internal} from './StyleSheetTypes';
14
+
15
+ function processFontVariant(
16
+ fontVariant: ____FontVariantArray_Internal | string,
17
+ ): ?____FontVariantArray_Internal {
18
+ if (Array.isArray(fontVariant)) {
19
+ return fontVariant;
20
+ }
21
+
22
+ // $FlowFixMe[incompatible-type]
23
+ const match: ?____FontVariantArray_Internal = fontVariant
24
+ .split(' ')
25
+ .filter(Boolean);
26
+
27
+ return match;
28
+ }
29
+
30
+ module.exports = processFontVariant;
@@ -10,11 +10,8 @@
10
10
 
11
11
  'use strict';
12
12
 
13
- const MatrixMath = require('../Utilities/MatrixMath');
14
- const Platform = require('../Utilities/Platform');
15
-
16
- const invariant = require('invariant');
17
13
  const stringifySafe = require('../Utilities/stringifySafe').default;
14
+ const invariant = require('invariant');
18
15
 
19
16
  /**
20
17
  * Generate a transform matrix based on the provided transforms, and use that
@@ -25,118 +22,130 @@ const stringifySafe = require('../Utilities/stringifySafe').default;
25
22
  * interface to native code.
26
23
  */
27
24
  function processTransform(
28
- transform: Array<Object>,
25
+ transform: Array<Object> | string,
29
26
  ): Array<Object> | Array<number> {
27
+ if (typeof transform === 'string') {
28
+ const regex = new RegExp(/(\w+)\(([^)]+)\)/g);
29
+ let transformArray: Array<Object> = [];
30
+ let matches;
31
+
32
+ while ((matches = regex.exec(transform))) {
33
+ const {key, value} = _getKeyAndValueFromCSSTransform(
34
+ matches[1],
35
+ matches[2],
36
+ );
37
+
38
+ if (value !== undefined) {
39
+ transformArray.push({[key]: value});
40
+ }
41
+ }
42
+ transform = transformArray;
43
+ }
44
+
30
45
  if (__DEV__) {
31
46
  _validateTransforms(transform);
32
47
  }
33
48
 
34
- // Android & iOS implementations of transform property accept the list of
35
- // transform properties as opposed to a transform Matrix. This is necessary
36
- // to control transform property updates completely on the native thread.
37
- if (Platform.OS === 'android' || Platform.OS === 'ios') {
38
- return transform;
39
- }
49
+ return transform;
50
+ }
51
+
52
+ const _getKeyAndValueFromCSSTransform: (
53
+ key:
54
+ | string
55
+ | $TEMPORARY$string<'matrix'>
56
+ | $TEMPORARY$string<'perspective'>
57
+ | $TEMPORARY$string<'rotate'>
58
+ | $TEMPORARY$string<'rotateX'>
59
+ | $TEMPORARY$string<'rotateY'>
60
+ | $TEMPORARY$string<'rotateZ'>
61
+ | $TEMPORARY$string<'scale'>
62
+ | $TEMPORARY$string<'scaleX'>
63
+ | $TEMPORARY$string<'scaleY'>
64
+ | $TEMPORARY$string<'skewX'>
65
+ | $TEMPORARY$string<'skewY'>
66
+ | $TEMPORARY$string<'translate'>
67
+ | $TEMPORARY$string<'translate3d'>
68
+ | $TEMPORARY$string<'translateX'>
69
+ | $TEMPORARY$string<'translateY'>,
70
+ args: string,
71
+ ) => {key: string, value?: number[] | number | string} = (key, args) => {
72
+ const argsWithUnitsRegex = new RegExp(/([+-]?\d+(\.\d+)?)([a-zA-Z]+)?/g);
40
73
 
41
- const result = MatrixMath.createIdentityMatrix();
74
+ switch (key) {
75
+ case 'matrix':
76
+ return {key, value: args.match(/[+-]?\d+(\.\d+)?/g)?.map(Number)};
77
+ case 'translate':
78
+ case 'translate3d':
79
+ const parsedArgs = [];
80
+ let missingUnitOfMeasurement = false;
42
81
 
43
- transform.forEach(transformation => {
44
- const key = Object.keys(transformation)[0];
45
- const value = transformation[key];
82
+ let matches;
83
+ while ((matches = argsWithUnitsRegex.exec(args))) {
84
+ const value = Number(matches[1]);
85
+ const unitOfMeasurement = matches[3];
46
86
 
47
- switch (key) {
48
- case 'matrix':
49
- MatrixMath.multiplyInto(result, result, value);
50
- break;
51
- case 'perspective':
52
- _multiplyTransform(result, MatrixMath.reusePerspectiveCommand, [value]);
53
- break;
54
- case 'rotateX':
55
- _multiplyTransform(result, MatrixMath.reuseRotateXCommand, [
56
- _convertToRadians(value),
57
- ]);
58
- break;
59
- case 'rotateY':
60
- _multiplyTransform(result, MatrixMath.reuseRotateYCommand, [
61
- _convertToRadians(value),
62
- ]);
63
- break;
64
- case 'rotate':
65
- case 'rotateZ':
66
- _multiplyTransform(result, MatrixMath.reuseRotateZCommand, [
67
- _convertToRadians(value),
68
- ]);
69
- break;
70
- case 'scale':
71
- _multiplyTransform(result, MatrixMath.reuseScaleCommand, [value]);
72
- break;
73
- case 'scaleX':
74
- _multiplyTransform(result, MatrixMath.reuseScaleXCommand, [value]);
75
- break;
76
- case 'scaleY':
77
- _multiplyTransform(result, MatrixMath.reuseScaleYCommand, [value]);
78
- break;
79
- case 'translate':
80
- _multiplyTransform(result, MatrixMath.reuseTranslate3dCommand, [
81
- value[0],
82
- value[1],
83
- value[2] || 0,
84
- ]);
85
- break;
86
- case 'translateX':
87
- _multiplyTransform(result, MatrixMath.reuseTranslate2dCommand, [
88
- value,
89
- 0,
90
- ]);
91
- break;
92
- case 'translateY':
93
- _multiplyTransform(result, MatrixMath.reuseTranslate2dCommand, [
94
- 0,
95
- value,
96
- ]);
97
- break;
98
- case 'skewX':
99
- _multiplyTransform(result, MatrixMath.reuseSkewXCommand, [
100
- _convertToRadians(value),
101
- ]);
102
- break;
103
- case 'skewY':
104
- _multiplyTransform(result, MatrixMath.reuseSkewYCommand, [
105
- _convertToRadians(value),
106
- ]);
107
- break;
108
- default:
109
- throw new Error('Invalid transform name: ' + key);
110
- }
111
- });
87
+ if (value !== 0 && !unitOfMeasurement) {
88
+ missingUnitOfMeasurement = true;
89
+ }
112
90
 
113
- return result;
114
- }
91
+ parsedArgs.push(value);
92
+ }
115
93
 
116
- /**
117
- * Performs a destructive operation on a transform matrix.
118
- */
119
- /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
120
- * Flow's LTI update could not be added via codemod */
121
- function _multiplyTransform(
122
- result: Array<number>,
123
- matrixMathFunction: Function,
124
- args: Array<number>,
125
- ): void {
126
- const matrixToApply = MatrixMath.createIdentityMatrix();
127
- const argsWithIdentity = [matrixToApply].concat(args);
128
- matrixMathFunction.apply(this, argsWithIdentity);
129
- MatrixMath.multiplyInto(result, result, matrixToApply);
130
- }
94
+ if (__DEV__) {
95
+ invariant(
96
+ !missingUnitOfMeasurement,
97
+ `Transform with key ${key} must have units unless the provided value is 0, found %s`,
98
+ `${key}(${args})`,
99
+ );
131
100
 
132
- /**
133
- * Parses a string like '0.5rad' or '60deg' into radians expressed in a float.
134
- * Note that validation on the string is done in `_validateTransform()`.
135
- */
136
- function _convertToRadians(value: string): number {
137
- const floatValue = parseFloat(value);
138
- return value.indexOf('rad') > -1 ? floatValue : (floatValue * Math.PI) / 180;
139
- }
101
+ if (key === 'translate') {
102
+ invariant(
103
+ parsedArgs?.length === 1 || parsedArgs?.length === 2,
104
+ 'Transform with key translate must be an string with 1 or 2 parameters, found %s: %s',
105
+ parsedArgs?.length,
106
+ `${key}(${args})`,
107
+ );
108
+ } else {
109
+ invariant(
110
+ parsedArgs?.length === 3,
111
+ 'Transform with key translate3d must be an string with 3 parameters, found %s: %s',
112
+ parsedArgs?.length,
113
+ `${key}(${args})`,
114
+ );
115
+ }
116
+ }
117
+
118
+ if (parsedArgs?.length === 1) {
119
+ parsedArgs.push(0);
120
+ }
121
+
122
+ return {key: 'translate', value: parsedArgs};
123
+ case 'translateX':
124
+ case 'translateY':
125
+ case 'perspective':
126
+ const argMatches = argsWithUnitsRegex.exec(args);
127
+
128
+ if (!argMatches?.length) {
129
+ return {key, value: undefined};
130
+ }
131
+
132
+ const value = Number(argMatches[1]);
133
+ const unitOfMeasurement = argMatches[3];
134
+
135
+ if (__DEV__) {
136
+ invariant(
137
+ value === 0 || unitOfMeasurement,
138
+ `Transform with key ${key} must have units unless the provided value is 0, found %s`,
139
+ `${key}(${args})`,
140
+ );
141
+ }
142
+
143
+ return {key, value};
144
+
145
+ default:
146
+ return {key, value: !isNaN(args) ? Number(args) : args};
147
+ }
148
+ };
140
149
 
141
150
  function _validateTransforms(transform: Array<Object>): void {
142
151
  transform.forEach(transformation => {