@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
@@ -0,0 +1,18 @@
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 {OpaqueColorValue} from './StyleSheet';
11
+
12
+ /**
13
+ * Select native platform color
14
+ * The color must match the string that exists on the native platform
15
+ *
16
+ * @see https://reactnative.dev/docs/platformcolor#example
17
+ */
18
+ export function PlatformColor(...colors: string[]): OpaqueColorValue;
@@ -8,8 +8,8 @@
8
8
  * @flow strict-local
9
9
  */
10
10
 
11
- import type {ColorValue} from './StyleSheet';
12
11
  import type {ProcessedColorValue} from './processColor';
12
+ import type {ColorValue} from './StyleSheet';
13
13
 
14
14
  export opaque type NativeColorValue = {
15
15
  semantic?: Array<string>,
@@ -0,0 +1,25 @@
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
+ type DynamicColorIOSTuple = {
13
+ light: ColorValue;
14
+ dark: ColorValue;
15
+ highContrastLight?: ColorValue | undefined;
16
+ highContrastDark?: ColorValue | undefined;
17
+ };
18
+
19
+ /**
20
+ * Specify color to display depending on the current system appearance settings
21
+ *
22
+ * @param tuple Colors you want to use for "light mode" and "dark mode"
23
+ * @platform ios
24
+ */
25
+ export function DynamicColorIOS(tuple: DynamicColorIOSTuple): OpaqueColorValue;
@@ -9,6 +9,7 @@
9
9
  */
10
10
 
11
11
  import type {ColorValue} from './StyleSheet';
12
+
12
13
  import {DynamicColorIOSPrivate} from './PlatformColorValueTypes';
13
14
 
14
15
  export type DynamicColorIOSTuple = {
@@ -0,0 +1,156 @@
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 {ImageStyle, TextStyle, ViewStyle} from './StyleSheetTypes';
11
+
12
+ export interface StyleSheetProperties {
13
+ hairlineWidth: number;
14
+ flatten<T extends string>(style: T): T;
15
+ }
16
+
17
+ type Falsy = undefined | null | false;
18
+ interface RecursiveArray<T>
19
+ extends Array<T | ReadonlyArray<T> | RecursiveArray<T>> {}
20
+ /** Keep a brand of 'T' so that calls to `StyleSheet.flatten` can take `RegisteredStyle<T>` and return `T`. */
21
+ type RegisteredStyle<T> = number & {__registeredStyleBrand: T};
22
+ export type StyleProp<T> =
23
+ | T
24
+ | RegisteredStyle<T>
25
+ | RecursiveArray<T | RegisteredStyle<T> | Falsy>
26
+ | Falsy;
27
+
28
+ type OpaqueColorValue = symbol & {__TYPE__: 'Color'};
29
+ export type ColorValue = string | OpaqueColorValue;
30
+
31
+ export namespace StyleSheet {
32
+ type NamedStyles<T> = {[P in keyof T]: ViewStyle | TextStyle | ImageStyle};
33
+
34
+ /**
35
+ * Creates a StyleSheet style reference from the given object.
36
+ */
37
+ export function create<T extends NamedStyles<T> | NamedStyles<any>>(
38
+ styles: T | NamedStyles<T>,
39
+ ): T;
40
+
41
+ /**
42
+ * Flattens an array of style objects, into one aggregated style object.
43
+ * Alternatively, this method can be used to lookup IDs, returned by
44
+ * StyleSheet.register.
45
+ *
46
+ * > **NOTE**: Exercise caution as abusing this can tax you in terms of
47
+ * > optimizations.
48
+ * >
49
+ * > IDs enable optimizations through the bridge and memory in general. Referring
50
+ * > to style objects directly will deprive you of these optimizations.
51
+ *
52
+ * Example:
53
+ * ```
54
+ * const styles = StyleSheet.create({
55
+ * listItem: {
56
+ * flex: 1,
57
+ * fontSize: 16,
58
+ * color: 'white'
59
+ * },
60
+ * selectedListItem: {
61
+ * color: 'green'
62
+ * }
63
+ * });
64
+ *
65
+ * StyleSheet.flatten([styles.listItem, styles.selectedListItem])
66
+ * // returns { flex: 1, fontSize: 16, color: 'green' }
67
+ * ```
68
+ * Alternative use:
69
+ * ```
70
+ * StyleSheet.flatten(styles.listItem);
71
+ * // return { flex: 1, fontSize: 16, color: 'white' }
72
+ * // Simply styles.listItem would return its ID (number)
73
+ * ```
74
+ * This method internally uses `StyleSheetRegistry.getStyleByID(style)`
75
+ * to resolve style objects represented by IDs. Thus, an array of style
76
+ * objects (instances of StyleSheet.create), are individually resolved to,
77
+ * their respective objects, merged as one and then returned. This also explains
78
+ * the alternative use.
79
+ */
80
+ export function flatten<T>(
81
+ style?: StyleProp<T>,
82
+ ): T extends (infer U)[] ? U : T;
83
+
84
+ /**
85
+ * Combines two styles such that style2 will override any styles in style1.
86
+ * If either style is falsy, the other one is returned without allocating
87
+ * an array, saving allocations and maintaining reference equality for
88
+ * PureComponent checks.
89
+ */
90
+ export function compose<T>(
91
+ style1: StyleProp<T> | Array<StyleProp<T>>,
92
+ style2: StyleProp<T> | Array<StyleProp<T>>,
93
+ ): StyleProp<T>;
94
+
95
+ /**
96
+ * WARNING: EXPERIMENTAL. Breaking changes will probably happen a lot and will
97
+ * not be reliably announced. The whole thing might be deleted, who knows? Use
98
+ * at your own risk.
99
+ *
100
+ * Sets a function to use to pre-process a style property value. This is used
101
+ * internally to process color and transform values. You should not use this
102
+ * unless you really know what you are doing and have exhausted other options.
103
+ */
104
+ export function setStyleAttributePreprocessor(
105
+ property: string,
106
+ process: (nextProp: any) => any,
107
+ ): void;
108
+
109
+ /**
110
+ * This is defined as the width of a thin line on the platform. It can be
111
+ * used as the thickness of a border or division between two elements.
112
+ * Example:
113
+ * ```
114
+ * {
115
+ * borderBottomColor: '#bbb',
116
+ * borderBottomWidth: StyleSheet.hairlineWidth
117
+ * }
118
+ * ```
119
+ *
120
+ * This constant will always be a round number of pixels (so a line defined
121
+ * by it look crisp) and will try to match the standard width of a thin line
122
+ * on the underlying platform. However, you should not rely on it being a
123
+ * constant size, because on different platforms and screen densities its
124
+ * value may be calculated differently.
125
+ */
126
+ export const hairlineWidth: number;
127
+
128
+ interface AbsoluteFillStyle {
129
+ position: 'absolute';
130
+ left: 0;
131
+ right: 0;
132
+ top: 0;
133
+ bottom: 0;
134
+ }
135
+
136
+ /**
137
+ * Sometimes you may want `absoluteFill` but with a couple tweaks - `absoluteFillObject` can be
138
+ * used to create a customized entry in a `StyleSheet`, e.g.:
139
+ *
140
+ * const styles = StyleSheet.create({
141
+ * wrapper: {
142
+ * ...StyleSheet.absoluteFillObject,
143
+ * top: 10,
144
+ * backgroundColor: 'transparent',
145
+ * },
146
+ * });
147
+ */
148
+ export const absoluteFillObject: AbsoluteFillStyle;
149
+
150
+ /**
151
+ * A very common pattern is to create overlays with position absolute and zero positioning,
152
+ * so `absoluteFill` can be used for convenience and to reduce duplication of these repeated
153
+ * styles.
154
+ */
155
+ export const absoluteFill: RegisteredStyle<AbsoluteFillStyle>;
156
+ }
@@ -10,24 +10,23 @@
10
10
 
11
11
  'use strict';
12
12
 
13
- const PixelRatio = require('../Utilities/PixelRatio');
14
- const ReactNativeStyleAttributes = require('../Components/View/ReactNativeStyleAttributes');
15
-
16
- const flatten = require('./flattenStyle');
17
-
18
13
  import type {
19
14
  ____ColorValue_Internal,
20
- ____Styles_Internal,
21
15
  ____DangerouslyImpreciseStyle_Internal,
22
16
  ____DangerouslyImpreciseStyleProp_Internal,
23
- ____ViewStyle_Internal,
24
- ____ViewStyleProp_Internal,
25
- ____TextStyle_Internal,
26
- ____TextStyleProp_Internal,
27
17
  ____ImageStyle_Internal,
28
18
  ____ImageStyleProp_Internal,
19
+ ____Styles_Internal,
20
+ ____TextStyle_Internal,
21
+ ____TextStyleProp_Internal,
22
+ ____ViewStyle_Internal,
23
+ ____ViewStyleProp_Internal,
29
24
  } from './StyleSheetTypes';
30
25
 
26
+ const ReactNativeStyleAttributes = require('../Components/View/ReactNativeStyleAttributes');
27
+ const PixelRatio = require('../Utilities/PixelRatio');
28
+ const flatten = require('./flattenStyle');
29
+
31
30
  /**
32
31
  * This type should be used as the type for anything that is a color. It is
33
32
  * most useful when using DynamicColorIOS which can be a string or a dynamic
@@ -347,7 +346,12 @@ module.exports = {
347
346
  return;
348
347
  }
349
348
 
350
- if (__DEV__ && typeof value.process === 'function') {
349
+ if (
350
+ __DEV__ &&
351
+ typeof value.process === 'function' &&
352
+ typeof ReactNativeStyleAttributes[property]?.process === 'function' &&
353
+ value.process !== ReactNativeStyleAttributes[property]?.process
354
+ ) {
351
355
  console.warn(`Overwriting ${property} style attribute preprocessor`);
352
356
  }
353
357
 
@@ -10,25 +10,24 @@
10
10
 
11
11
  'use strict';
12
12
 
13
- const PixelRatio = require('../Utilities/PixelRatio');
14
- const ReactNativeStyleAttributes = require('../Components/View/ReactNativeStyleAttributes');
15
- const Platform = require('../Utilities/Platform'); // [Win32]
16
-
17
- const flatten = require('./flattenStyle');
18
-
19
13
  import type {
20
14
  ____ColorValue_Internal,
21
- ____Styles_Internal,
22
15
  ____DangerouslyImpreciseStyle_Internal,
23
16
  ____DangerouslyImpreciseStyleProp_Internal,
24
- ____ViewStyle_Internal,
25
- ____ViewStyleProp_Internal,
26
- ____TextStyle_Internal,
27
- ____TextStyleProp_Internal,
28
17
  ____ImageStyle_Internal,
29
18
  ____ImageStyleProp_Internal,
19
+ ____Styles_Internal,
20
+ ____TextStyle_Internal,
21
+ ____TextStyleProp_Internal,
22
+ ____ViewStyle_Internal,
23
+ ____ViewStyleProp_Internal,
30
24
  } from './StyleSheetTypes';
31
25
 
26
+ const ReactNativeStyleAttributes = require('../Components/View/ReactNativeStyleAttributes');
27
+ const PixelRatio = require('../Utilities/PixelRatio');
28
+ const Platform = require('../Utilities/Platform'); // [Win32]
29
+ const flatten = require('./flattenStyle');
30
+
32
31
  /**
33
32
  * This type should be used as the type for anything that is a color. It is
34
33
  * most useful when using DynamicColorIOS which can be a string or a dynamic
@@ -349,7 +348,12 @@ module.exports = {
349
348
  return;
350
349
  }
351
350
 
352
- if (__DEV__ && typeof value.process === 'function') {
351
+ if (
352
+ __DEV__ &&
353
+ typeof value.process === 'function' &&
354
+ typeof ReactNativeStyleAttributes[property]?.process === 'function' &&
355
+ value.process !== ReactNativeStyleAttributes[property]?.process
356
+ ) {
353
357
  console.warn(`Overwriting ${property} style attribute preprocessor`);
354
358
  }
355
359
 
@@ -0,0 +1,332 @@
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 {ImageResizeMode} from '../Image/ImageResizeMode';
11
+ import {ColorValue} from './StyleSheet';
12
+
13
+ type FlexAlignType =
14
+ | 'flex-start'
15
+ | 'flex-end'
16
+ | 'center'
17
+ | 'stretch'
18
+ | 'baseline';
19
+
20
+ /**
21
+ * Flex Prop Types
22
+ * @see https://reactnative.dev/docs/flexbox
23
+ * @see https://reactnative.dev/docs/layout-props
24
+ */
25
+ export interface FlexStyle {
26
+ alignContent?:
27
+ | 'flex-start'
28
+ | 'flex-end'
29
+ | 'center'
30
+ | 'stretch'
31
+ | 'space-between'
32
+ | 'space-around'
33
+ | undefined;
34
+ alignItems?: FlexAlignType | undefined;
35
+ alignSelf?: 'auto' | FlexAlignType | undefined;
36
+ aspectRatio?: number | string | undefined;
37
+ borderBottomWidth?: number | undefined;
38
+ borderEndWidth?: number | string | undefined;
39
+ borderLeftWidth?: number | undefined;
40
+ borderRightWidth?: number | undefined;
41
+ borderStartWidth?: number | string | undefined;
42
+ borderTopWidth?: number | undefined;
43
+ borderWidth?: number | undefined;
44
+ bottom?: number | string | undefined;
45
+ display?: 'none' | 'flex' | undefined;
46
+ end?: number | string | undefined;
47
+ flex?: number | undefined;
48
+ flexBasis?: number | string | undefined;
49
+ flexDirection?:
50
+ | 'row'
51
+ | 'column'
52
+ | 'row-reverse'
53
+ | 'column-reverse'
54
+ | undefined;
55
+ rowGap?: number | undefined;
56
+ gap?: number | undefined;
57
+ columnGap?: number | undefined;
58
+ flexGrow?: number | undefined;
59
+ flexShrink?: number | undefined;
60
+ flexWrap?: 'wrap' | 'nowrap' | 'wrap-reverse' | undefined;
61
+ height?: number | string | undefined;
62
+ justifyContent?:
63
+ | 'flex-start'
64
+ | 'flex-end'
65
+ | 'center'
66
+ | 'space-between'
67
+ | 'space-around'
68
+ | 'space-evenly'
69
+ | undefined;
70
+ left?: number | string | undefined;
71
+ margin?: number | string | undefined;
72
+ marginBottom?: number | string | undefined;
73
+ marginEnd?: number | string | undefined;
74
+ marginHorizontal?: number | string | undefined;
75
+ marginLeft?: number | string | undefined;
76
+ marginRight?: number | string | undefined;
77
+ marginStart?: number | string | undefined;
78
+ marginTop?: number | string | undefined;
79
+ marginVertical?: number | string | undefined;
80
+ maxHeight?: number | string | undefined;
81
+ maxWidth?: number | string | undefined;
82
+ minHeight?: number | string | undefined;
83
+ minWidth?: number | string | undefined;
84
+ overflow?: 'visible' | 'hidden' | 'scroll' | undefined;
85
+ padding?: number | string | undefined;
86
+ paddingBottom?: number | string | undefined;
87
+ paddingEnd?: number | string | undefined;
88
+ paddingHorizontal?: number | string | undefined;
89
+ paddingLeft?: number | string | undefined;
90
+ paddingRight?: number | string | undefined;
91
+ paddingStart?: number | string | undefined;
92
+ paddingTop?: number | string | undefined;
93
+ paddingVertical?: number | string | undefined;
94
+ position?: 'absolute' | 'relative' | undefined;
95
+ right?: number | string | undefined;
96
+ start?: number | string | undefined;
97
+ top?: number | string | undefined;
98
+ width?: number | string | undefined;
99
+ zIndex?: number | undefined;
100
+
101
+ /**
102
+ * @platform ios
103
+ */
104
+ direction?: 'inherit' | 'ltr' | 'rtl' | undefined;
105
+ }
106
+
107
+ export interface ShadowStyleIOS {
108
+ shadowColor?: ColorValue | undefined;
109
+ shadowOffset?: {width: number; height: number} | undefined;
110
+ shadowOpacity?: number | undefined;
111
+ shadowRadius?: number | undefined;
112
+ }
113
+
114
+ interface PerpectiveTransform {
115
+ perspective: number;
116
+ }
117
+
118
+ interface RotateTransform {
119
+ rotate: string;
120
+ }
121
+
122
+ interface RotateXTransform {
123
+ rotateX: string;
124
+ }
125
+
126
+ interface RotateYTransform {
127
+ rotateY: string;
128
+ }
129
+
130
+ interface RotateZTransform {
131
+ rotateZ: string;
132
+ }
133
+
134
+ interface ScaleTransform {
135
+ scale: number;
136
+ }
137
+
138
+ interface ScaleXTransform {
139
+ scaleX: number;
140
+ }
141
+
142
+ interface ScaleYTransform {
143
+ scaleY: number;
144
+ }
145
+
146
+ interface TranslateXTransform {
147
+ translateX: number;
148
+ }
149
+
150
+ interface TranslateYTransform {
151
+ translateY: number;
152
+ }
153
+
154
+ interface SkewXTransform {
155
+ skewX: string;
156
+ }
157
+
158
+ interface SkewYTransform {
159
+ skewY: string;
160
+ }
161
+
162
+ interface MatrixTransform {
163
+ matrix: number[];
164
+ }
165
+
166
+ export interface TransformsStyle {
167
+ transform?:
168
+ | (
169
+ | PerpectiveTransform
170
+ | RotateTransform
171
+ | RotateXTransform
172
+ | RotateYTransform
173
+ | RotateZTransform
174
+ | ScaleTransform
175
+ | ScaleXTransform
176
+ | ScaleYTransform
177
+ | TranslateXTransform
178
+ | TranslateYTransform
179
+ | SkewXTransform
180
+ | SkewYTransform
181
+ | MatrixTransform
182
+ )[]
183
+ | undefined;
184
+ /**
185
+ * @deprecated Use matrix in transform prop instead.
186
+ */
187
+ transformMatrix?: Array<number> | undefined;
188
+ /**
189
+ * @deprecated Use rotate in transform prop instead.
190
+ */
191
+ rotation?: number | undefined;
192
+ /**
193
+ * @deprecated Use scaleX in transform prop instead.
194
+ */
195
+ scaleX?: number | undefined;
196
+ /**
197
+ * @deprecated Use scaleY in transform prop instead.
198
+ */
199
+ scaleY?: number | undefined;
200
+ /**
201
+ * @deprecated Use translateX in transform prop instead.
202
+ */
203
+ translateX?: number | undefined;
204
+ /**
205
+ * @deprecated Use translateY in transform prop instead.
206
+ */
207
+ translateY?: number | undefined;
208
+ }
209
+
210
+ /**
211
+ * @see https://reactnative.dev/docs/view#style
212
+ */
213
+ export interface ViewStyle extends FlexStyle, ShadowStyleIOS, TransformsStyle {
214
+ backfaceVisibility?: 'visible' | 'hidden' | undefined;
215
+ backgroundColor?: ColorValue | undefined;
216
+ borderBottomColor?: ColorValue | undefined;
217
+ borderBottomEndRadius?: number | undefined;
218
+ borderBottomLeftRadius?: number | undefined;
219
+ borderBottomRightRadius?: number | undefined;
220
+ borderBottomStartRadius?: number | undefined;
221
+ borderBottomWidth?: number | undefined;
222
+ borderColor?: ColorValue | undefined;
223
+ borderEndColor?: ColorValue | undefined;
224
+ borderLeftColor?: ColorValue | undefined;
225
+ borderLeftWidth?: number | undefined;
226
+ borderRadius?: number | undefined;
227
+ borderRightColor?: ColorValue | undefined;
228
+ borderRightWidth?: number | undefined;
229
+ borderStartColor?: ColorValue | undefined;
230
+ borderStyle?: 'solid' | 'dotted' | 'dashed' | undefined;
231
+ borderTopColor?: ColorValue | undefined;
232
+ borderTopEndRadius?: number | undefined;
233
+ borderTopLeftRadius?: number | undefined;
234
+ borderTopRightRadius?: number | undefined;
235
+ borderTopStartRadius?: number | undefined;
236
+ borderTopWidth?: number | undefined;
237
+ borderWidth?: number | undefined;
238
+ opacity?: number | undefined;
239
+ testID?: string | undefined;
240
+ /**
241
+ * Sets the elevation of a view, using Android's underlying
242
+ * [elevation API](https://developer.android.com/training/material/shadows-clipping.html#Elevation).
243
+ * This adds a drop shadow to the item and affects z-order for overlapping views.
244
+ * Only supported on Android 5.0+, has no effect on earlier versions.
245
+ *
246
+ * @platform android
247
+ */
248
+ elevation?: number | undefined;
249
+ }
250
+
251
+ export type FontVariant =
252
+ | 'small-caps'
253
+ | 'oldstyle-nums'
254
+ | 'lining-nums'
255
+ | 'tabular-nums'
256
+ | 'proportional-nums';
257
+ export interface TextStyleIOS extends ViewStyle {
258
+ fontVariant?: FontVariant[] | undefined;
259
+ letterSpacing?: number | undefined;
260
+ textDecorationColor?: ColorValue | undefined;
261
+ textDecorationStyle?: 'solid' | 'double' | 'dotted' | 'dashed' | undefined;
262
+ writingDirection?: 'auto' | 'ltr' | 'rtl' | undefined;
263
+ }
264
+
265
+ export interface TextStyleAndroid extends ViewStyle {
266
+ textAlignVertical?: 'auto' | 'top' | 'bottom' | 'center' | undefined;
267
+ verticalAlign?: 'auto' | 'top' | 'bottom' | 'middle' | undefined;
268
+ includeFontPadding?: boolean | undefined;
269
+ }
270
+
271
+ // @see https://reactnative.dev/docs/text#style
272
+ export interface TextStyle extends TextStyleIOS, TextStyleAndroid, ViewStyle {
273
+ color?: ColorValue | undefined;
274
+ fontFamily?: string | undefined;
275
+ fontSize?: number | undefined;
276
+ fontStyle?: 'normal' | 'italic' | undefined;
277
+ /**
278
+ * Specifies font weight. The values 'normal' and 'bold' are supported
279
+ * for most fonts. Not all fonts have a variant for each of the numeric
280
+ * values, in that case the closest one is chosen.
281
+ */
282
+ fontWeight?:
283
+ | 'normal'
284
+ | 'bold'
285
+ | '100'
286
+ | '200'
287
+ | '300'
288
+ | '400'
289
+ | '500'
290
+ | '600'
291
+ | '700'
292
+ | '800'
293
+ | '900'
294
+ | undefined;
295
+ letterSpacing?: number | undefined;
296
+ lineHeight?: number | undefined;
297
+ textAlign?: 'auto' | 'left' | 'right' | 'center' | 'justify' | undefined;
298
+ textDecorationLine?:
299
+ | 'none'
300
+ | 'underline'
301
+ | 'line-through'
302
+ | 'underline line-through'
303
+ | undefined;
304
+ textDecorationStyle?: 'solid' | 'double' | 'dotted' | 'dashed' | undefined;
305
+ textDecorationColor?: ColorValue | undefined;
306
+ textShadowColor?: ColorValue | undefined;
307
+ textShadowOffset?: {width: number; height: number} | undefined;
308
+ textShadowRadius?: number | undefined;
309
+ textTransform?: 'none' | 'capitalize' | 'uppercase' | 'lowercase' | undefined;
310
+ testID?: string | undefined;
311
+ }
312
+
313
+ /**
314
+ * Image style
315
+ * @see https://reactnative.dev/docs/image#style
316
+ */
317
+ export interface ImageStyle extends FlexStyle, ShadowStyleIOS, TransformsStyle {
318
+ resizeMode?: ImageResizeMode | undefined;
319
+ backfaceVisibility?: 'visible' | 'hidden' | undefined;
320
+ borderBottomLeftRadius?: number | undefined;
321
+ borderBottomRightRadius?: number | undefined;
322
+ backgroundColor?: ColorValue | undefined;
323
+ borderColor?: ColorValue | undefined;
324
+ borderWidth?: number | undefined;
325
+ borderRadius?: number | undefined;
326
+ borderTopLeftRadius?: number | undefined;
327
+ borderTopRightRadius?: number | undefined;
328
+ overflow?: 'visible' | 'hidden' | undefined;
329
+ overlayColor?: ColorValue | undefined;
330
+ tintColor?: ColorValue | undefined;
331
+ opacity?: number | undefined;
332
+ }