@office-iss/react-native-win32 0.71.4 → 0.72.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 (323) hide show
  1. package/.flowconfig +15 -3
  2. package/CHANGELOG.json +310 -40
  3. package/CHANGELOG.md +145 -23
  4. package/IntegrationTests/IntegrationTestHarnessTest.js +1 -0
  5. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +1 -1
  6. package/Libraries/Alert/Alert.d.ts +4 -4
  7. package/Libraries/Alert/Alert.win32.js +1 -0
  8. package/Libraries/Animated/Animated.d.ts +17 -6
  9. package/Libraries/Animated/NativeAnimatedHelper.js +18 -6
  10. package/Libraries/Animated/NativeAnimatedHelper.win32.js +606 -0
  11. package/Libraries/Animated/bezier.js +1 -1
  12. package/Libraries/Animated/components/AnimatedFlatList.js +8 -3
  13. package/Libraries/Animated/components/AnimatedScrollView.js +4 -1
  14. package/Libraries/Animated/components/AnimatedSectionList.js +12 -3
  15. package/Libraries/Animated/createAnimatedComponent.js +26 -239
  16. package/Libraries/Animated/nodes/AnimatedColor.js +47 -80
  17. package/Libraries/Animated/nodes/AnimatedInterpolation.js +167 -121
  18. package/Libraries/Animated/nodes/AnimatedNode.js +3 -5
  19. package/Libraries/Animated/nodes/AnimatedProps.js +7 -6
  20. package/Libraries/Animated/nodes/AnimatedStyle.js +42 -8
  21. package/Libraries/Animated/nodes/AnimatedTransform.js +1 -1
  22. package/Libraries/Animated/nodes/AnimatedValue.js +8 -12
  23. package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -1
  24. package/Libraries/Animated/useAnimatedProps.js +7 -10
  25. package/Libraries/BatchedBridge/MessageQueue.js +2 -1
  26. package/Libraries/BatchedBridge/NativeModules.d.ts +1 -1
  27. package/Libraries/BatchedBridge/NativeModules.js +1 -0
  28. package/Libraries/Blob/Blob.js +4 -0
  29. package/Libraries/Blob/FileReader.js +30 -2
  30. package/Libraries/Blob/URL.js +3 -1
  31. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +2 -2
  32. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +2 -3
  33. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js +2 -3
  34. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +6 -4
  35. package/Libraries/Components/Button.js +3 -2
  36. package/Libraries/Components/Button.win32.js +451 -0
  37. package/Libraries/Components/Clipboard/Clipboard.js +1 -1
  38. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +4 -0
  39. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -0
  40. package/Libraries/Components/Pressable/Pressable.d.ts +1 -1
  41. package/Libraries/Components/Pressable/Pressable.js +1 -1
  42. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -0
  43. package/Libraries/Components/SafeAreaView/SafeAreaView.js +1 -2
  44. package/Libraries/Components/SafeAreaView/SafeAreaView.win32.js +1 -2
  45. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +12 -6
  46. package/Libraries/Components/ScrollView/ScrollView.d.ts +2 -2
  47. package/Libraries/Components/ScrollView/ScrollView.js +149 -91
  48. package/Libraries/Components/ScrollView/ScrollView.win32.js +1939 -0
  49. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +16 -6
  50. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +5 -7
  51. package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +1 -1
  52. package/Libraries/Components/StatusBar/StatusBar.js +3 -0
  53. package/Libraries/Components/Switch/Switch.js +3 -1
  54. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +21 -11
  55. package/Libraries/Components/TextInput/InputAccessoryView.d.ts +1 -1
  56. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +11 -5
  57. package/Libraries/Components/TextInput/TextInput.Types.win32.d.ts +51 -0
  58. package/Libraries/Components/TextInput/TextInput.Types.win32.js +3 -0
  59. package/Libraries/Components/TextInput/TextInput.Types.win32.js.map +1 -0
  60. package/Libraries/Components/TextInput/TextInput.d.ts +15 -5
  61. package/Libraries/Components/TextInput/TextInput.flow.js +1 -1
  62. package/Libraries/Components/TextInput/TextInput.js +130 -103
  63. package/Libraries/Components/TextInput/TextInput.win32.js +202 -890
  64. package/Libraries/Components/Touchable/Touchable.d.ts +1 -1
  65. package/Libraries/Components/Touchable/Touchable.flow.js +30 -4
  66. package/Libraries/Components/Touchable/Touchable.js +6 -3
  67. package/Libraries/Components/Touchable/Touchable.win32.js +6 -3
  68. package/Libraries/Components/Touchable/TouchableHighlight.js +1 -1
  69. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +2 -2
  70. package/Libraries/Components/Touchable/TouchableOpacity.js +3 -0
  71. package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +1 -1
  72. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +2 -2
  73. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlay.js +189 -0
  74. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlayNativeComponent.js +43 -0
  75. package/Libraries/Components/View/ReactNativeStyleAttributes.js +26 -0
  76. package/Libraries/Components/View/View.js +71 -45
  77. package/Libraries/Components/View/View.win32.js +38 -16
  78. package/Libraries/Components/View/ViewAccessibility.d.ts +6 -6
  79. package/Libraries/Components/View/ViewAccessibility.js +10 -1
  80. package/Libraries/Components/View/ViewAccessibility.win32.d.ts +5 -5
  81. package/Libraries/Components/View/ViewNativeComponent.js +32 -8
  82. package/Libraries/Components/View/ViewPropTypes.d.ts +1 -1
  83. package/Libraries/Components/View/ViewPropTypes.js +1 -1
  84. package/Libraries/Components/View/ViewPropTypes.win32.d.ts +1 -1
  85. package/Libraries/Components/View/ViewPropTypes.win32.js +1 -1
  86. package/Libraries/Core/Devtools/openFileInEditor.js +1 -0
  87. package/Libraries/Core/Devtools/openURLInBrowser.js +1 -0
  88. package/Libraries/Core/Devtools/parseErrorStack.js +2 -2
  89. package/Libraries/Core/Devtools/parseHermesStack.js +54 -34
  90. package/Libraries/Core/ExceptionsManager.js +2 -2
  91. package/Libraries/Core/InitializeCore.js +2 -1
  92. package/Libraries/Core/ReactNativeVersion.js +3 -3
  93. package/Libraries/Core/ReactNativeVersionCheck.js +1 -9
  94. package/Libraries/Core/ReactNativeVersionCheck.win32.js +1 -9
  95. package/Libraries/Core/Timers/JSTimers.js +1 -1
  96. package/Libraries/Core/Timers/immediateShim.js +1 -0
  97. package/Libraries/Core/Timers/queueMicrotask.js +1 -1
  98. package/Libraries/Core/setUpAlert.js +1 -1
  99. package/Libraries/Core/setUpDOM.js +18 -0
  100. package/Libraries/Core/setUpDeveloperTools.js +1 -1
  101. package/Libraries/Core/setUpGlobals.js +5 -2
  102. package/Libraries/Core/setUpNavigator.js +6 -5
  103. package/Libraries/Core/setUpPerformance.js +23 -13
  104. package/Libraries/Core/setUpReactDevTools.js +2 -0
  105. package/Libraries/Core/setUpSegmentFetcher.js +0 -41
  106. package/Libraries/Core/setUpTimers.js +2 -2
  107. package/Libraries/DOM/Geometry/DOMRect.js +82 -0
  108. package/Libraries/DOM/Geometry/DOMRectReadOnly.js +188 -0
  109. package/Libraries/DOM/Nodes/ReactNativeElement.js +75 -0
  110. package/Libraries/DOM/Nodes/ReadOnlyElement.js +89 -0
  111. package/Libraries/DOM/Nodes/ReadOnlyNode.js +167 -0
  112. package/Libraries/DOM/OldStyleCollections/ArrayLikeUtils.js +46 -0
  113. package/Libraries/DOM/OldStyleCollections/DOMRectList.js +76 -0
  114. package/Libraries/DOM/OldStyleCollections/HTMLCollection.js +82 -0
  115. package/Libraries/DOM/OldStyleCollections/NodeList.js +104 -0
  116. package/Libraries/DevToolsSettings/DevToolsSettingsManager.android.js +35 -0
  117. package/Libraries/DevToolsSettings/DevToolsSettingsManager.d.ts +20 -0
  118. package/Libraries/DevToolsSettings/DevToolsSettingsManager.ios.js +49 -0
  119. package/Libraries/DevToolsSettings/DevToolsSettingsManager.win32.js +35 -0
  120. package/Libraries/{Utilities/NativeDevSplitBundleLoader.js → DevToolsSettings/NativeDevToolsSettingsManager.js} +7 -2
  121. package/Libraries/EventEmitter/NativeEventEmitter.d.ts +1 -2
  122. package/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +1 -2
  123. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +9 -1
  124. package/Libraries/Events/EventPolyfill.js +1 -1
  125. package/Libraries/Image/AssetRegistry.js +1 -1
  126. package/Libraries/Image/AssetSourceResolver.js +3 -3
  127. package/Libraries/Image/Image.android.js +4 -1
  128. package/Libraries/Image/Image.d.ts +63 -2
  129. package/Libraries/Image/Image.ios.js +3 -0
  130. package/Libraries/Image/Image.win32.js +3 -0
  131. package/Libraries/Image/ImageBackground.js +1 -0
  132. package/Libraries/Image/ImageProps.js +1 -1
  133. package/Libraries/Image/ImageViewNativeComponent.js +4 -4
  134. package/Libraries/Image/RelativeImageStub.js +1 -1
  135. package/Libraries/Image/TextInlineImageNativeComponent.js +1 -1
  136. package/Libraries/Image/resolveAssetSource.js +1 -1
  137. package/Libraries/Inspector/DevtoolsOverlay.js +29 -19
  138. package/Libraries/Inspector/ElementBox.js +4 -1
  139. package/Libraries/Inspector/Inspector.js +5 -6
  140. package/Libraries/Inspector/Inspector.win32.js +7 -6
  141. package/Libraries/Inspector/InspectorOverlay.js +3 -3
  142. package/Libraries/Inspector/InspectorOverlay.win32.js +2 -1
  143. package/Libraries/Inspector/NetworkOverlay.js +1 -1
  144. package/Libraries/Interaction/JSEventLoopWatchdog.js +1 -1
  145. package/Libraries/Interaction/PanResponder.js +5 -6
  146. package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -1
  147. package/Libraries/Linking/Linking.js +1 -4
  148. package/Libraries/Lists/FillRateHelper.js +4 -238
  149. package/Libraries/Lists/FlatList.d.ts +15 -22
  150. package/Libraries/Lists/FlatList.js +9 -6
  151. package/Libraries/Lists/SectionList.d.ts +10 -6
  152. package/Libraries/Lists/SectionList.js +5 -3
  153. package/Libraries/Lists/SectionListModern.js +3 -3
  154. package/Libraries/Lists/ViewabilityHelper.js +8 -344
  155. package/Libraries/Lists/VirtualizeUtils.js +4 -244
  156. package/Libraries/Lists/VirtualizedList.js +10 -1867
  157. package/Libraries/Lists/VirtualizedListContext.js +6 -104
  158. package/Libraries/Lists/VirtualizedSectionList.js +9 -602
  159. package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +1 -0
  160. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
  161. package/Libraries/LogBox/Data/LogBoxData.js +1 -1
  162. package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
  163. package/Libraries/LogBox/LogBox.js +1 -1
  164. package/Libraries/LogBox/UI/LogBoxInspector.js +1 -3
  165. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.win32.js +168 -0
  166. package/Libraries/LogBox/UI/LogBoxInspectorHeader.win32.js +3 -0
  167. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.win32.js +193 -0
  168. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +1 -0
  169. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +2 -2
  170. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.win32.js +7 -3
  171. package/Libraries/LogBox/UI/LogBoxMessage.js +87 -5
  172. package/Libraries/LogBox/UI/LogBoxNotification.js +5 -7
  173. package/Libraries/Modal/Modal.js +2 -2
  174. package/Libraries/NativeComponent/BaseViewConfig.android.js +32 -12
  175. package/Libraries/NativeComponent/BaseViewConfig.ios.js +43 -19
  176. package/Libraries/NativeComponent/BaseViewConfig.win32.js +43 -19
  177. package/Libraries/NativeComponent/NativeComponentRegistryUnstable.js +4 -1
  178. package/Libraries/NativeComponent/ViewConfig.js +1 -0
  179. package/Libraries/NativeComponent/ViewConfigIgnore.js +1 -4
  180. package/Libraries/Network/RCTNetworking.android.js +2 -2
  181. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  182. package/Libraries/Network/RCTNetworking.win32.js +1 -1
  183. package/Libraries/Network/XMLHttpRequest.js +1 -1
  184. package/Libraries/Pressability/Pressability.js +11 -5
  185. package/Libraries/Pressability/Pressability.win32.js +9 -3
  186. package/Libraries/ReactNative/AppContainer.js +7 -1
  187. package/Libraries/ReactNative/AppRegistry.d.ts +1 -1
  188. package/Libraries/ReactNative/AppRegistry.js +10 -13
  189. package/Libraries/ReactNative/FabricUIManager.js +24 -8
  190. package/Libraries/ReactNative/NativeUIManager.js +5 -5
  191. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +10 -10
  192. package/Libraries/ReactNative/UIManager.js +142 -1
  193. package/Libraries/ReactNative/getCachedComponentWithDebugName.js +5 -5
  194. package/Libraries/ReactNative/getNativeComponentAttributes.js +1 -1
  195. package/Libraries/ReactNative/requireNativeComponent.d.ts +1 -1
  196. package/Libraries/ReactNative/requireNativeComponent.js +1 -1
  197. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -0
  198. package/Libraries/Renderer/implementations/ReactFabric-dev.js +26 -3
  199. package/Libraries/Renderer/implementations/ReactFabric-prod.js +13 -1
  200. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +13 -1
  201. package/Libraries/Renderer/public/ReactFabricPublicInstanceUtils.js +38 -0
  202. package/Libraries/Renderer/shims/ReactNativeTypes.js +38 -20
  203. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +7 -7
  204. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
  205. package/Libraries/Share/Share.js +1 -1
  206. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
  207. package/Libraries/StyleSheet/StyleSheet.js +1 -1
  208. package/Libraries/StyleSheet/StyleSheet.win32.js +1 -1
  209. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +115 -76
  210. package/Libraries/StyleSheet/StyleSheetTypes.js +188 -33
  211. package/Libraries/StyleSheet/flattenStyle.js +2 -0
  212. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  213. package/Libraries/StyleSheet/processColor.js +1 -1
  214. package/Libraries/Text/Text.d.ts +12 -2
  215. package/Libraries/Text/Text.js +50 -41
  216. package/Libraries/Text/TextProps.js +3 -4
  217. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +6 -0
  218. package/Libraries/Types/CodegenTypes.js +1 -0
  219. package/Libraries/UTFSequence.js +3 -1
  220. package/Libraries/Utilities/Appearance.d.ts +10 -0
  221. package/Libraries/Utilities/Appearance.js +13 -0
  222. package/Libraries/Utilities/Dimensions.js +1 -1
  223. package/Libraries/Utilities/Dimensions.win32.js +1 -1
  224. package/Libraries/Utilities/GlobalPerformanceLogger.js +12 -1
  225. package/Libraries/Utilities/HMRClient.js +16 -10
  226. package/Libraries/Utilities/{createPerformanceLogger.d.ts → IPerformanceLogger.d.ts} +4 -4
  227. package/Libraries/Utilities/IPerformanceLogger.js +49 -0
  228. package/Libraries/Utilities/LoadingView.android.js +28 -11
  229. package/Libraries/Utilities/NativeAppearance.js +1 -0
  230. package/Libraries/Utilities/NativePlatformConstantsWin.js +1 -1
  231. package/Libraries/Utilities/PixelRatio.js +2 -2
  232. package/Libraries/Utilities/Platform.win32.js +1 -1
  233. package/Libraries/Utilities/ReactNativeTestTools.js +1 -1
  234. package/Libraries/Utilities/__mocks__/PixelRatio.js +1 -1
  235. package/Libraries/Utilities/codegenNativeCommands.js +2 -0
  236. package/Libraries/Utilities/createPerformanceLogger.js +55 -43
  237. package/Libraries/Utilities/stringifySafe.js +2 -7
  238. package/Libraries/Utilities/useColorScheme.js +1 -1
  239. package/Libraries/Utilities/useWindowDimensions.js +3 -3
  240. package/Libraries/WebPerformance/EventCounts.js +78 -0
  241. package/Libraries/WebPerformance/MemoryInfo.js +54 -0
  242. package/Libraries/WebPerformance/NativePerformance.js +38 -0
  243. package/Libraries/WebPerformance/NativePerformanceObserver.js +22 -7
  244. package/Libraries/WebPerformance/Performance.js +312 -0
  245. package/Libraries/WebPerformance/PerformanceEntry.js +45 -0
  246. package/Libraries/WebPerformance/PerformanceEventTiming.js +38 -0
  247. package/Libraries/WebPerformance/PerformanceObserver.js +196 -101
  248. package/Libraries/WebPerformance/RawPerformanceEntry.js +87 -0
  249. package/Libraries/WebPerformance/ReactNativeStartupTiming.js +65 -0
  250. package/Libraries/WebPerformance/__mocks__/NativePerformance.js +65 -0
  251. package/Libraries/WebPerformance/__mocks__/NativePerformanceObserver.js +101 -0
  252. package/Libraries/YellowBox/YellowBoxDeprecated.js +1 -1
  253. package/Libraries/vendor/core/ErrorUtils.js +1 -1
  254. package/Libraries/vendor/emitter/EventEmitter.d.ts +2 -2
  255. package/Libraries/vendor/emitter/EventEmitter.js +9 -1
  256. package/flow/global.js +29 -4
  257. package/flow/jest.js +258 -164
  258. package/index.js +56 -42
  259. package/index.win32.js +56 -42
  260. package/interface.js +1 -1
  261. package/jest/local-setup.js +33 -0
  262. package/jest/mockComponent.js +4 -2
  263. package/jest/mockNativeComponent.js +1 -1
  264. package/jest/mockScrollView.js +2 -1
  265. package/jest/react-native-env.js +1 -3
  266. package/jest/setup.js +11 -8
  267. package/overrides.json +115 -85
  268. package/package.json +38 -28
  269. package/rn-get-polyfills.js +1 -1
  270. package/src/Libraries/Components/TextInput/TextInput.Types.win32.ts +68 -0
  271. package/src/Libraries/Components/View/ViewAccessibility.win32.d.ts +5 -5
  272. package/src/Libraries/Components/View/ViewPropTypes.win32.d.ts +1 -1
  273. package/types/index.d.ts +2 -6
  274. package/types/modules/Codegen.d.ts +4 -4
  275. package/types/modules/globals.d.ts +27 -25
  276. package/types/public/DeprecatedPropertiesAlias.d.ts +0 -20
  277. package/types/public/ReactNativeRenderer.d.ts +2 -7
  278. package/Libraries/Animated/createAnimatedComponentInjection.js +0 -48
  279. package/Libraries/Animated/createAnimatedComponent_EXPERIMENTAL.js +0 -48
  280. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.flow.js +0 -208
  281. package/Libraries/Components/ActivityIndicator/ActivityIndicator.flow.js +0 -58
  282. package/Libraries/Components/DatePicker/DatePickerIOS.android.js +0 -47
  283. package/Libraries/Components/DatePicker/DatePickerIOS.d.ts +0 -92
  284. package/Libraries/Components/DatePicker/DatePickerIOS.flow.android.js +0 -14
  285. package/Libraries/Components/DatePicker/DatePickerIOS.flow.ios.js +0 -113
  286. package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +0 -242
  287. package/Libraries/Components/DatePicker/DatePickerIOS.win32.js +0 -47
  288. package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +0 -60
  289. package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +0 -26
  290. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +0 -45
  291. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.d.ts +0 -62
  292. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +0 -75
  293. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.win32.js +0 -45
  294. package/Libraries/Components/ProgressViewIOS/RCTProgressViewNativeComponent.js +0 -33
  295. package/Libraries/Components/SafeAreaView/SafeAreaView.flow.js +0 -19
  296. package/Libraries/Components/Slider/Slider.d.ts +0 -132
  297. package/Libraries/Components/Slider/Slider.js +0 -282
  298. package/Libraries/Components/Slider/SliderNativeComponent.js +0 -56
  299. package/Libraries/Components/TextInput/Win32TextInputNativeComponent.js +0 -23
  300. package/Libraries/Interaction/Batchinator.js +0 -76
  301. package/Libraries/Interaction/BridgeSpyStallHandler.js +0 -63
  302. package/Libraries/Interaction/InteractionStallDebugger.js +0 -23
  303. package/Libraries/Interaction/PanResponder.flow.js +0 -257
  304. package/Libraries/Lists/CellRenderMask.js +0 -155
  305. package/Libraries/Lists/ChildListCollection.js +0 -72
  306. package/Libraries/Lists/StateSafePureComponent.js +0 -85
  307. package/Libraries/Lists/VirtualizedList.d.ts +0 -347
  308. package/Libraries/Lists/VirtualizedListCellRenderer.js +0 -259
  309. package/Libraries/Lists/VirtualizedListProps.js +0 -279
  310. package/Libraries/Performance/PureComponentDebug.js +0 -74
  311. package/Libraries/Reliability/UserFlow.js +0 -158
  312. package/Libraries/Renderer/implementations/ReactNativeRenderer.d.ts +0 -149
  313. package/Libraries/Renderer/shims/ReactNativeTypes.d.ts +0 -141
  314. package/Libraries/Utilities/MatrixMath.js +0 -748
  315. package/Libraries/Utilities/buildStyleInterpolator.js +0 -209
  316. package/Libraries/Utilities/clamp.js +0 -23
  317. package/Libraries/Utilities/deprecatedPropType.js +0 -36
  318. package/Libraries/Utilities/groupByEveryN.js +0 -51
  319. package/Libraries/Utilities/mergeIntoFast.js +0 -26
  320. package/Libraries/Utilities/setAndForwardRef.js +0 -71
  321. package/Libraries/Utilities/truncate.js +0 -51
  322. package/flow/JSITimerInternalType.js +0 -30
  323. package/flow/use-sync-external-store.js +0 -19
@@ -0,0 +1,168 @@
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
+ * @flow strict-local
8
+ * @format
9
+ */
10
+
11
+ import type {CodeFrame} from '../Data/parseLogBoxLog';
12
+
13
+ import ScrollView from '../../Components/ScrollView/ScrollView';
14
+ import View from '../../Components/View/View';
15
+ import openFileInEditor from '../../Core/Devtools/openFileInEditor';
16
+ import StyleSheet from '../../StyleSheet/StyleSheet';
17
+ import Text from '../../Text/Text';
18
+ import Platform from '../../Utilities/Platform';
19
+ import * as LogBoxData from '../Data/LogBoxData';
20
+ import AnsiHighlight from './AnsiHighlight';
21
+ import LogBoxButton from './LogBoxButton';
22
+ import LogBoxInspectorSection from './LogBoxInspectorSection';
23
+ import * as LogBoxStyle from './LogBoxStyle';
24
+ import * as React from 'react';
25
+ type Props = $ReadOnly<{|
26
+ codeFrame: ?CodeFrame,
27
+ |}>;
28
+
29
+ function LogBoxInspectorCodeFrame(props: Props): React.Node {
30
+ const codeFrame = props.codeFrame;
31
+ if (codeFrame == null) {
32
+ return null;
33
+ }
34
+
35
+ function getFileName() {
36
+ // $FlowFixMe[incompatible-use]
37
+ const matches = /[^/]*$/.exec(codeFrame.fileName);
38
+ if (matches && matches.length > 0) {
39
+ return matches[0];
40
+ }
41
+
42
+ // $FlowFixMe[incompatible-use]
43
+ return codeFrame.fileName;
44
+ }
45
+
46
+ function getLocation() {
47
+ // $FlowFixMe[incompatible-use]
48
+ const location = codeFrame.location;
49
+ if (location != null) {
50
+ return ` (${location.row}:${
51
+ location.column + 1 /* Code frame columns are zero indexed */
52
+ })`;
53
+ }
54
+
55
+ return null;
56
+ }
57
+
58
+ return (
59
+ <LogBoxInspectorSection heading="Source" action={<AppInfo />}>
60
+ <View style={styles.box}>
61
+ <View style={styles.frame}>
62
+ <ScrollView horizontal>
63
+ <AnsiHighlight style={styles.content} text={codeFrame.content} />
64
+ </ScrollView>
65
+ </View>
66
+ <LogBoxButton
67
+ backgroundColor={{
68
+ default: 'transparent',
69
+ pressed: LogBoxStyle.getBackgroundDarkColor(1),
70
+ }}
71
+ style={styles.button}
72
+ onPress={() => {
73
+ openFileInEditor(codeFrame.fileName, codeFrame.location?.row ?? 0);
74
+ }}>
75
+ <Text style={styles.fileText}>
76
+ {getFileName()}
77
+ {getLocation()}
78
+ </Text>
79
+ </LogBoxButton>
80
+ </View>
81
+ </LogBoxInspectorSection>
82
+ );
83
+ }
84
+
85
+ function AppInfo() {
86
+ const appInfo = LogBoxData.getAppInfo();
87
+ if (appInfo == null) {
88
+ return null;
89
+ }
90
+
91
+ return (
92
+ <LogBoxButton
93
+ backgroundColor={{
94
+ default: 'transparent',
95
+ pressed: appInfo.onPress
96
+ ? LogBoxStyle.getBackgroundColor(1)
97
+ : 'transparent',
98
+ }}
99
+ style={appInfoStyles.buildButton}
100
+ onPress={appInfo.onPress}>
101
+ <Text style={appInfoStyles.text}>
102
+ {appInfo.appVersion} ({appInfo.engine})
103
+ </Text>
104
+ </LogBoxButton>
105
+ );
106
+ }
107
+
108
+ const appInfoStyles = StyleSheet.create({
109
+ text: {
110
+ color: LogBoxStyle.getTextColor(0.4),
111
+ fontSize: 12,
112
+ lineHeight: 12,
113
+ },
114
+ buildButton: {
115
+ flex: 0,
116
+ flexGrow: 0,
117
+ paddingVertical: 4,
118
+ paddingHorizontal: 5,
119
+ borderRadius: 5,
120
+ marginRight: -8,
121
+ },
122
+ });
123
+
124
+ const styles = StyleSheet.create({
125
+ box: {
126
+ backgroundColor: LogBoxStyle.getBackgroundColor(),
127
+ marginLeft: 10,
128
+ marginRight: 10,
129
+ marginTop: 5,
130
+ borderRadius: 3,
131
+ },
132
+ frame: {
133
+ padding: 10,
134
+ borderBottomColor: LogBoxStyle.getTextColor(0.1),
135
+ borderBottomWidth: 1,
136
+ },
137
+ button: {
138
+ paddingTop: 10,
139
+ paddingBottom: 10,
140
+ },
141
+ content: {
142
+ color: LogBoxStyle.getTextColor(1),
143
+ fontSize: 12,
144
+ includeFontPadding: false,
145
+ lineHeight: 20,
146
+ // $FlowFixMe[underconstrained-implicit-instantiation]
147
+ fontFamily: Platform.select({
148
+ android: 'monospace',
149
+ ios: 'Menlo',
150
+ win32: 'Consolas',
151
+ }),
152
+ },
153
+ fileText: {
154
+ color: LogBoxStyle.getTextColor(0.5),
155
+ textAlign: 'center',
156
+ flex: 1,
157
+ fontSize: 12,
158
+ includeFontPadding: false,
159
+ lineHeight: 16,
160
+ fontFamily: Platform.select({
161
+ android: 'monospace',
162
+ ios: 'Menlo',
163
+ win32: 'Consolas', // Win32
164
+ }),
165
+ },
166
+ });
167
+
168
+ export default LogBoxInspectorCodeFrame;
@@ -152,6 +152,9 @@ const styles = StyleSheet.create({
152
152
  height: Platform.select({
153
153
  android: 48,
154
154
  ios: 44,
155
+ // [Win32
156
+ win32: 48,
157
+ // Win32]
155
158
  }),
156
159
  },
157
160
  title: {
@@ -0,0 +1,193 @@
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
+ * @flow strict-local
8
+ * @format
9
+ */
10
+
11
+ import type LogBoxLog from '../Data/LogBoxLog';
12
+
13
+ import View from '../../Components/View/View';
14
+ import openFileInEditor from '../../Core/Devtools/openFileInEditor';
15
+ import StyleSheet from '../../StyleSheet/StyleSheet';
16
+ import Text from '../../Text/Text';
17
+ import Platform from '../../Utilities/Platform';
18
+ import LogBoxButton from './LogBoxButton';
19
+ import LogBoxInspectorSection from './LogBoxInspectorSection';
20
+ import * as LogBoxStyle from './LogBoxStyle';
21
+ import * as React from 'react';
22
+
23
+ type Props = $ReadOnly<{|
24
+ log: LogBoxLog,
25
+ |}>;
26
+
27
+ const BEFORE_SLASH_RE = /^(.*)[\\/]/;
28
+
29
+ // Taken from React https://github.com/facebook/react/blob/206d61f72214e8ae5b935f0bf8628491cb7f0797/packages/react-devtools-shared/src/backend/describeComponentFrame.js#L27-L41
30
+ function getPrettyFileName(path: string) {
31
+ let fileName = path.replace(BEFORE_SLASH_RE, '');
32
+
33
+ // In DEV, include code for a common special case:
34
+ // prefer "folder/index.js" instead of just "index.js".
35
+ if (/^index\./.test(fileName)) {
36
+ const match = path.match(BEFORE_SLASH_RE);
37
+ if (match) {
38
+ const pathBeforeSlash = match[1];
39
+ if (pathBeforeSlash) {
40
+ const folderName = pathBeforeSlash.replace(BEFORE_SLASH_RE, '');
41
+ // Note the below string contains a zero width space after the "/" character.
42
+ // This is to prevent browsers like Chrome from formatting the file name as a link.
43
+ // (Since this is a source link, it would not work to open the source file anyway.)
44
+ fileName = folderName + '/​' + fileName;
45
+ }
46
+ }
47
+ }
48
+
49
+ return fileName;
50
+ }
51
+ function LogBoxInspectorReactFrames(props: Props): React.Node {
52
+ const [collapsed, setCollapsed] = React.useState(true);
53
+ if (props.log.componentStack == null || props.log.componentStack.length < 1) {
54
+ return null;
55
+ }
56
+
57
+ function getStackList() {
58
+ if (collapsed) {
59
+ return props.log.componentStack.slice(0, 3);
60
+ } else {
61
+ return props.log.componentStack;
62
+ }
63
+ }
64
+
65
+ function getCollapseMessage() {
66
+ if (props.log.componentStack.length <= 3) {
67
+ return;
68
+ }
69
+
70
+ const count = props.log.componentStack.length - 3;
71
+ if (collapsed) {
72
+ return `See ${count} more components`;
73
+ } else {
74
+ return `Collapse ${count} components`;
75
+ }
76
+ }
77
+
78
+ return (
79
+ <LogBoxInspectorSection heading="Component Stack">
80
+ {getStackList().map((frame, index) => (
81
+ <View
82
+ // Unfortunately we don't have a unique identifier for stack traces.
83
+ key={index}
84
+ style={componentStyles.frameContainer}>
85
+ <LogBoxButton
86
+ backgroundColor={{
87
+ default: 'transparent',
88
+ pressed: LogBoxStyle.getBackgroundColor(1),
89
+ }}
90
+ onPress={
91
+ // Older versions of DevTools do not provide full path.
92
+ // This will not work on Windows, remove check once the
93
+ // DevTools return the full file path.
94
+ frame.fileName.startsWith('/')
95
+ ? () =>
96
+ openFileInEditor(frame.fileName, frame.location?.row ?? 1)
97
+ : null
98
+ }
99
+ style={componentStyles.frame}>
100
+ <View style={componentStyles.component}>
101
+ <Text style={componentStyles.frameName}>
102
+ <Text style={componentStyles.bracket}>{'<'}</Text>
103
+ {frame.content}
104
+ <Text style={componentStyles.bracket}>{' />'}</Text>
105
+ </Text>
106
+ </View>
107
+ <Text style={componentStyles.frameLocation}>
108
+ {getPrettyFileName(frame.fileName)}
109
+ {frame.location ? `:${frame.location.row}` : ''}
110
+ </Text>
111
+ </LogBoxButton>
112
+ </View>
113
+ ))}
114
+ <View style={componentStyles.collapseContainer}>
115
+ <LogBoxButton
116
+ backgroundColor={{
117
+ default: 'transparent',
118
+ pressed: LogBoxStyle.getBackgroundColor(1),
119
+ }}
120
+ onPress={() => setCollapsed(!collapsed)}
121
+ style={componentStyles.collapseButton}>
122
+ <Text style={componentStyles.collapse}>{getCollapseMessage()}</Text>
123
+ </LogBoxButton>
124
+ </View>
125
+ </LogBoxInspectorSection>
126
+ );
127
+ }
128
+
129
+ const componentStyles = StyleSheet.create({
130
+ collapseContainer: {
131
+ marginLeft: 15,
132
+ flexDirection: 'row',
133
+ },
134
+ collapseButton: {
135
+ borderRadius: 5,
136
+ },
137
+ collapse: {
138
+ color: LogBoxStyle.getTextColor(0.7),
139
+ fontSize: 12,
140
+ fontWeight: '300',
141
+ lineHeight: 20,
142
+ marginTop: 0,
143
+ paddingVertical: 5,
144
+ paddingHorizontal: 10,
145
+ },
146
+ frameContainer: {
147
+ flexDirection: 'row',
148
+ paddingHorizontal: 15,
149
+ },
150
+ frame: {
151
+ flex: 1,
152
+ paddingVertical: 4,
153
+ paddingHorizontal: 10,
154
+ borderRadius: 5,
155
+ },
156
+ component: {
157
+ flexDirection: 'row',
158
+ paddingRight: 10,
159
+ },
160
+ frameName: {
161
+ fontFamily: Platform.select({
162
+ android: 'monospace',
163
+ ios: 'Menlo',
164
+ win32: 'Consolas', // Win32
165
+ }),
166
+ color: LogBoxStyle.getTextColor(1),
167
+ fontSize: 14,
168
+ includeFontPadding: false,
169
+ lineHeight: 18,
170
+ },
171
+ bracket: {
172
+ fontFamily: Platform.select({
173
+ android: 'monospace',
174
+ ios: 'Menlo',
175
+ win32: 'Consolas', // Win32
176
+ }),
177
+ color: LogBoxStyle.getTextColor(0.4),
178
+ fontSize: 14,
179
+ fontWeight: '500',
180
+ includeFontPadding: false,
181
+ lineHeight: 18,
182
+ },
183
+ frameLocation: {
184
+ color: LogBoxStyle.getTextColor(0.7),
185
+ fontSize: 12,
186
+ fontWeight: '300',
187
+ includeFontPadding: false,
188
+ lineHeight: 16,
189
+ paddingLeft: 10,
190
+ },
191
+ });
192
+
193
+ export default LogBoxInspectorReactFrames;
@@ -41,6 +41,7 @@ function LogBoxInspectorSourceMapStatus(props: Props): React.Node {
41
41
  useNativeDriver: true,
42
42
  }),
43
43
  );
44
+ // $FlowFixMe[incompatible-call]
44
45
  setState({
45
46
  animation,
46
47
  rotate: animated.interpolate({
@@ -19,10 +19,10 @@ import LogBoxButton from './LogBoxButton';
19
19
  import * as LogBoxStyle from './LogBoxStyle';
20
20
  import * as React from 'react';
21
21
 
22
- type Props = $ReadOnly<{|
22
+ type Props = $ReadOnly<{
23
23
  frame: StackFrame,
24
24
  onPress?: ?(event: PressEvent) => void,
25
- |}>;
25
+ }>;
26
26
 
27
27
  function LogBoxInspectorStackFrame(props: Props): React.Node {
28
28
  const {frame, onPress} = props;
@@ -19,10 +19,10 @@ import LogBoxButton from './LogBoxButton';
19
19
  import * as LogBoxStyle from './LogBoxStyle';
20
20
  import * as React from 'react';
21
21
 
22
- type Props = $ReadOnly<{|
22
+ type Props = $ReadOnly<{
23
23
  frame: StackFrame,
24
24
  onPress?: ?(event: PressEvent) => void,
25
- |}>;
25
+ }>;
26
26
 
27
27
  function LogBoxInspectorStackFrame(props: Props): React.Node {
28
28
  const {frame, onPress} = props;
@@ -88,7 +88,11 @@ const styles = StyleSheet.create({
88
88
  includeFontPadding: false,
89
89
  lineHeight: 18,
90
90
  fontWeight: '400',
91
- fontFamily: Platform.select({android: 'monospace', ios: 'Menlo'}),
91
+ fontFamily: Platform.select({
92
+ android: 'monospace',
93
+ ios: 'Menlo',
94
+ win32: 'Consolas',
95
+ }),
92
96
  },
93
97
  location: {
94
98
  color: LogBoxStyle.getTextColor(0.8),
@@ -11,6 +11,8 @@
11
11
  import type {TextStyleProp} from '../../StyleSheet/StyleSheet';
12
12
  import type {Message} from '../Data/parseLogBoxLog';
13
13
 
14
+ import Linking from '../../Linking/Linking';
15
+ import StyleSheet from '../../StyleSheet/StyleSheet';
14
16
  import Text from '../../Text/Text';
15
17
  import * as React from 'react';
16
18
 
@@ -22,6 +24,82 @@ type Props = {
22
24
  ...
23
25
  };
24
26
 
27
+ type Range = {
28
+ lowerBound: number,
29
+ upperBound: number,
30
+ };
31
+
32
+ function getLinkRanges(string: string): $ReadOnlyArray<Range> {
33
+ const regex = /https?:\/\/[^\s$.?#].[^\s]*/gi;
34
+ const matches = [];
35
+
36
+ let regexResult: RegExp$matchResult | null;
37
+ while ((regexResult = regex.exec(string)) !== null) {
38
+ if (regexResult != null) {
39
+ matches.push({
40
+ lowerBound: regexResult.index,
41
+ upperBound: regex.lastIndex,
42
+ });
43
+ }
44
+ }
45
+
46
+ return matches;
47
+ }
48
+
49
+ function TappableLinks(props: {
50
+ content: string,
51
+ style: void | TextStyleProp,
52
+ }): React.Node {
53
+ const matches = getLinkRanges(props.content);
54
+
55
+ if (matches.length === 0) {
56
+ // No URLs detected. Just return the content.
57
+ return <Text style={props.style}>{props.content}</Text>;
58
+ }
59
+
60
+ // URLs were detected. Construct array of Text nodes.
61
+
62
+ let fragments: Array<React.Node> = [];
63
+ let indexCounter = 0;
64
+ let startIndex = 0;
65
+
66
+ for (const linkRange of matches) {
67
+ if (startIndex < linkRange.lowerBound) {
68
+ const text = props.content.substring(startIndex, linkRange.lowerBound);
69
+ fragments.push(<Text key={++indexCounter}>{text}</Text>);
70
+ }
71
+
72
+ const link = props.content.substring(
73
+ linkRange.lowerBound,
74
+ linkRange.upperBound,
75
+ );
76
+ fragments.push(
77
+ <Text
78
+ onPress={() => {
79
+ // $FlowFixMe[unused-promise]
80
+ Linking.openURL(link);
81
+ }}
82
+ key={++indexCounter}
83
+ style={styles.linkText}>
84
+ {link}
85
+ </Text>,
86
+ );
87
+
88
+ startIndex = linkRange.upperBound;
89
+ }
90
+
91
+ if (startIndex < props.content.length) {
92
+ const text = props.content.substring(startIndex);
93
+ fragments.push(
94
+ <Text key={++indexCounter} style={props.style}>
95
+ {text}
96
+ </Text>,
97
+ );
98
+ }
99
+
100
+ return <Text style={props.style}>{fragments}</Text>;
101
+ }
102
+
25
103
  const cleanContent = (content: string) =>
26
104
  content.replace(/^(TransformError |Warning: (Warning: )?|Error: )/g, '');
27
105
 
@@ -49,9 +127,7 @@ function LogBoxMessage(props: Props): React.Node {
49
127
 
50
128
  if (length < maxLength) {
51
129
  elements.push(
52
- <Text key={key} style={style}>
53
- {cleanMessage}
54
- </Text>,
130
+ <TappableLinks content={cleanMessage} key={key} style={style} />,
55
131
  );
56
132
  }
57
133
 
@@ -70,12 +146,12 @@ function LogBoxMessage(props: Props): React.Node {
70
146
  createUnderLength(key, prevPart);
71
147
  }
72
148
 
73
- const substititionPart = content.substr(
149
+ const substitutionPart = content.substr(
74
150
  substitution.offset,
75
151
  substitution.length,
76
152
  );
77
153
 
78
- createUnderLength(key + '.5', substititionPart, substitutionStyle);
154
+ createUnderLength(key + '.5', substitutionPart, substitutionStyle);
79
155
  return substitution.offset + substitution.length;
80
156
  }, 0);
81
157
 
@@ -87,4 +163,10 @@ function LogBoxMessage(props: Props): React.Node {
87
163
  return <>{elements}</>;
88
164
  }
89
165
 
166
+ const styles = StyleSheet.create({
167
+ linkText: {
168
+ textDecorationLine: 'underline',
169
+ },
170
+ });
171
+
90
172
  export default LogBoxMessage;
@@ -21,13 +21,13 @@ import LogBoxMessage from './LogBoxMessage';
21
21
  import * as LogBoxStyle from './LogBoxStyle';
22
22
  import * as React from 'react';
23
23
 
24
- type Props = $ReadOnly<{|
24
+ type Props = $ReadOnly<{
25
25
  log: LogBoxLog,
26
26
  totalLogCount: number,
27
27
  level: 'warn' | 'error',
28
28
  onPressOpen: () => void,
29
29
  onPressDismiss: () => void,
30
- |}>;
30
+ }>;
31
31
 
32
32
  function LogBoxLogNotification(props: Props): React.Node {
33
33
  const {totalLogCount, level, log} = props;
@@ -56,9 +56,7 @@ function LogBoxLogNotification(props: Props): React.Node {
56
56
  );
57
57
  }
58
58
 
59
- function CountBadge(
60
- props: $TEMPORARY$object<{count: number, level: 'error' | 'warn'}>,
61
- ) {
59
+ function CountBadge(props: {count: number, level: 'error' | 'warn'}) {
62
60
  return (
63
61
  <View style={countStyles.outside}>
64
62
  {/* $FlowFixMe[incompatible-type] (>=0.114.0) This suppression was added
@@ -73,7 +71,7 @@ function CountBadge(
73
71
  );
74
72
  }
75
73
 
76
- function Message(props: $TEMPORARY$object<{message: MessageType}>) {
74
+ function Message(props: {message: MessageType}) {
77
75
  return (
78
76
  <View style={messageStyles.container}>
79
77
  <Text numberOfLines={1} style={messageStyles.text}>
@@ -89,7 +87,7 @@ function Message(props: $TEMPORARY$object<{message: MessageType}>) {
89
87
  );
90
88
  }
91
89
 
92
- function DismissButton(props: $TEMPORARY$object<{onPress: () => void}>) {
90
+ function DismissButton(props: {onPress: () => void}) {
93
91
  return (
94
92
  <View style={dismissStyles.container}>
95
93
  <LogBoxButton
@@ -13,11 +13,11 @@ import type {RootTag} from '../ReactNative/RootTag';
13
13
  import type {DirectEventHandler} from '../Types/CodegenTypes';
14
14
 
15
15
  import NativeEventEmitter from '../EventEmitter/NativeEventEmitter';
16
- import {VirtualizedListContextResetter} from '../Lists/VirtualizedListContext.js';
17
16
  import {type EventSubscription} from '../vendor/emitter/EventEmitter';
18
17
  import ModalInjection from './ModalInjection';
19
18
  import NativeModalManager from './NativeModalManager';
20
19
  import RCTModalHostView from './RCTModalHostViewNativeComponent';
20
+ import {VirtualizedListContextResetter} from '@react-native/virtualized-lists';
21
21
 
22
22
  const ScrollView = require('../Components/ScrollView/ScrollView');
23
23
  const View = require('../Components/View/View');
@@ -91,7 +91,7 @@ export type Props = $ReadOnly<{|
91
91
  * The `statusBarTranslucent` prop determines whether your modal should go under
92
92
  * the system statusbar.
93
93
  *
94
- * See https://reactnative.dev/docs/modal#transparent
94
+ * See https://reactnative.dev/docs/modal.html#statusbartranslucent-android
95
95
  */
96
96
  statusBarTranslucent?: ?boolean,
97
97
 
@@ -160,11 +160,11 @@ const directEventTypes = {
160
160
 
161
161
  const validAttributesForNonEventProps = {
162
162
  // @ReactProps from BaseViewManager
163
- backgroundColor: {process: require('../StyleSheet/processColor')},
163
+ backgroundColor: {process: require('../StyleSheet/processColor').default},
164
164
  transform: true,
165
165
  opacity: true,
166
166
  elevation: true,
167
- shadowColor: {process: require('../StyleSheet/processColor')},
167
+ shadowColor: {process: require('../StyleSheet/processColor').default},
168
168
  zIndex: true,
169
169
  renderToHardwareTextureAndroid: true,
170
170
  testID: true,
@@ -212,24 +212,36 @@ const validAttributesForNonEventProps = {
212
212
  display: true,
213
213
 
214
214
  margin: true,
215
- marginVertical: true,
216
- marginHorizontal: true,
217
- marginStart: true,
218
- marginEnd: true,
219
- marginTop: true,
215
+ marginBlock: true,
216
+ marginBlockEnd: true,
217
+ marginBlockStart: true,
220
218
  marginBottom: true,
219
+ marginEnd: true,
220
+ marginHorizontal: true,
221
+ marginInline: true,
222
+ marginInlineEnd: true,
223
+ marginInlineStart: true,
221
224
  marginLeft: true,
222
225
  marginRight: true,
226
+ marginStart: true,
227
+ marginTop: true,
228
+ marginVertical: true,
223
229
 
224
230
  padding: true,
225
- paddingVertical: true,
226
- paddingHorizontal: true,
227
- paddingStart: true,
228
- paddingEnd: true,
229
- paddingTop: true,
231
+ paddingBlock: true,
232
+ paddingBlockEnd: true,
233
+ paddingBlockStart: true,
230
234
  paddingBottom: true,
235
+ paddingEnd: true,
236
+ paddingHorizontal: true,
237
+ paddingInline: true,
238
+ paddingInlineEnd: true,
239
+ paddingInlineStart: true,
231
240
  paddingLeft: true,
232
241
  paddingRight: true,
242
+ paddingStart: true,
243
+ paddingTop: true,
244
+ paddingVertical: true,
233
245
 
234
246
  borderWidth: true,
235
247
  borderStartWidth: true,
@@ -246,6 +258,14 @@ const validAttributesForNonEventProps = {
246
258
  top: true,
247
259
  bottom: true,
248
260
 
261
+ inset: true,
262
+ insetBlock: true,
263
+ insetBlockEnd: true,
264
+ insetBlockStart: true,
265
+ insetInline: true,
266
+ insetInlineEnd: true,
267
+ insetInlineStart: true,
268
+
249
269
  position: true,
250
270
 
251
271
  style: ReactNativeStyleAttributes,