@office-iss/react-native-win32 0.72.6 → 0.73.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 (272) hide show
  1. package/.flowconfig +15 -4
  2. package/CHANGELOG.json +531 -87
  3. package/CHANGELOG.md +213 -48
  4. package/IntegrationTests/PromiseTest.js +1 -0
  5. package/IntegrationTests/websocket_integration_test_server.js +1 -1
  6. package/Libraries/Animated/Animated.js +1 -1
  7. package/Libraries/Animated/AnimatedImplementation.js +1 -1
  8. package/Libraries/Animated/NativeAnimatedHelper.js +14 -10
  9. package/Libraries/Animated/NativeAnimatedHelper.win32.js +16 -12
  10. package/Libraries/Animated/NativeAnimatedModule.js +6 -2
  11. package/Libraries/Animated/NativeAnimatedTurboModule.js +7 -4
  12. package/Libraries/Animated/animations/Animation.js +57 -3
  13. package/Libraries/Animated/animations/DecayAnimation.js +9 -0
  14. package/Libraries/Animated/animations/SpringAnimation.js +8 -0
  15. package/Libraries/Animated/animations/TimingAnimation.js +8 -0
  16. package/Libraries/Animated/components/AnimatedFlatList.js +2 -1
  17. package/Libraries/Animated/components/AnimatedScrollView.js +2 -0
  18. package/Libraries/Animated/components/AnimatedSectionList.js +2 -1
  19. package/Libraries/Animated/createAnimatedComponent.js +1 -0
  20. package/Libraries/Animated/nodes/AnimatedColor.js +1 -1
  21. package/Libraries/Animated/nodes/AnimatedObject.js +146 -0
  22. package/Libraries/Animated/nodes/AnimatedProps.js +19 -7
  23. package/Libraries/Animated/nodes/AnimatedStyle.js +29 -55
  24. package/Libraries/Animated/nodes/AnimatedValueXY.js +3 -17
  25. package/Libraries/Animated/shouldUseTurboAnimatedModule.js +17 -0
  26. package/Libraries/Animated/useAnimatedProps.js +9 -10
  27. package/Libraries/AppState/AppState.d.ts +1 -1
  28. package/Libraries/AppState/NativeAppState.js +8 -4
  29. package/Libraries/BatchedBridge/MessageQueue.js +45 -36
  30. package/Libraries/Blob/Blob.js +6 -2
  31. package/Libraries/Blob/BlobManager.js +9 -10
  32. package/Libraries/Blob/BlobRegistry.js +14 -9
  33. package/Libraries/Blob/File.js +1 -1
  34. package/Libraries/Blob/FileReader.js +1 -2
  35. package/Libraries/Components/Button/ButtonWin32.Props.d.ts +1 -1
  36. package/Libraries/Components/Button/ButtonWin32.Props.js.map +1 -1
  37. package/Libraries/Components/Button/ButtonWin32.d.ts +1 -1
  38. package/Libraries/Components/Button/ButtonWin32.js +1 -4
  39. package/Libraries/Components/Button/ButtonWin32.js.map +1 -1
  40. package/Libraries/Components/Clipboard/Clipboard.d.ts +4 -4
  41. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +3 -1
  42. package/Libraries/Components/EnterString.win32.d.ts +1 -1
  43. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +26 -6
  44. package/Libraries/Components/Pressable/Pressable.js +3 -2
  45. package/Libraries/Components/Pressable/Pressable.win32.js +4 -3
  46. package/Libraries/Components/Pressable/useAndroidRippleForView.js +1 -1
  47. package/Libraries/Components/SafeAreaView/SafeAreaView.js +7 -7
  48. package/Libraries/Components/SafeAreaView/SafeAreaView.win32.js +7 -8
  49. package/Libraries/Components/ScrollView/ScrollView.js +3 -1
  50. package/Libraries/Components/ScrollView/ScrollView.win32.js +3 -1
  51. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +39 -46
  52. package/Libraries/Components/Switch/Switch.js +1 -0
  53. package/Libraries/Components/Text/TextWin32.d.ts +1 -1
  54. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +1 -0
  55. package/Libraries/Components/TextInput/TextInput.d.ts +49 -7
  56. package/Libraries/Components/TextInput/TextInput.flow.js +43 -10
  57. package/Libraries/Components/TextInput/TextInput.js +62 -10
  58. package/Libraries/Components/TextInput/TextInput.win32.js +953 -206
  59. package/Libraries/Components/TextInput/Win32TextInputNativeComponent.js +23 -0
  60. package/Libraries/Components/ToastAndroid/{ToastAndroid.ios.js → ToastAndroid.js} +9 -1
  61. package/Libraries/Components/ToastAndroid/ToastAndroid.win32.js +9 -1
  62. package/Libraries/Components/Touchable/Tests/TouchableWin32Test.js +2 -2
  63. package/Libraries/Components/Touchable/Tests/TouchableWin32Test.js.map +1 -1
  64. package/Libraries/Components/Touchable/TouchableBounce.js +1 -1
  65. package/Libraries/Components/Touchable/TouchableHighlight.js +1 -1
  66. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -1
  67. package/Libraries/Components/Touchable/TouchableOpacity.js +4 -1
  68. package/Libraries/Components/Touchable/TouchableWin32.d.ts +1 -1
  69. package/Libraries/Components/Touchable/TouchableWin32.js.map +1 -1
  70. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -0
  71. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlay.js +16 -6
  72. package/Libraries/Components/View/ReactNativeStyleAttributes.js +9 -0
  73. package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -0
  74. package/Libraries/Components/View/ReactNativeViewAttributes.win32.js +1 -0
  75. package/Libraries/Components/View/View.js +46 -32
  76. package/Libraries/Components/View/View.win32.js +37 -6
  77. package/Libraries/Components/View/ViewAccessibility.d.ts +8 -2
  78. package/Libraries/Components/View/ViewNativeComponent.js +1 -0
  79. package/Libraries/Components/View/ViewPropTypes.js +18 -3
  80. package/Libraries/Components/View/ViewPropTypes.win32.js +30 -4
  81. package/Libraries/Components/View/ViewWin32.js +3 -2
  82. package/Libraries/Core/Devtools/loadBundleFromServer.js +152 -0
  83. package/Libraries/Core/Devtools/symbolicateStackTrace.js +2 -1
  84. package/Libraries/Core/ExceptionsManager.js +16 -7
  85. package/Libraries/Core/ExtendedError.js +12 -0
  86. package/Libraries/Core/ReactNativeVersion.js +3 -3
  87. package/Libraries/Core/ReactNativeVersionCheck.js +0 -2
  88. package/Libraries/Core/ReactNativeVersionCheck.win32.js +0 -2
  89. package/Libraries/Core/__mocks__/NativeExceptionsManager.js +20 -0
  90. package/Libraries/Core/setUpDeveloperTools.js +5 -1
  91. package/Libraries/Core/setUpIntersectionObserver.js +16 -0
  92. package/Libraries/{Components/ProgressBarAndroid/ProgressBarAndroid.ios.js → Core/setUpMutationObserver.js} +6 -2
  93. package/Libraries/Core/setUpPerformance.js +6 -13
  94. package/Libraries/Core/setUpPerformanceObserver.js +16 -0
  95. package/Libraries/Core/setUpRegeneratorRuntime.js +4 -2
  96. package/Libraries/DOM/Nodes/ReactNativeElement.js +135 -18
  97. package/Libraries/DOM/Nodes/ReadOnlyCharacterData.js +72 -0
  98. package/Libraries/DOM/Nodes/ReadOnlyElement.js +209 -21
  99. package/Libraries/DOM/Nodes/ReadOnlyNode.js +206 -17
  100. package/Libraries/DOM/Nodes/ReadOnlyText.js +30 -0
  101. package/Libraries/DOM/Nodes/Utilities/Traversal.js +54 -0
  102. package/Libraries/EventEmitter/NativeEventEmitter.d.ts +0 -6
  103. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +15 -4
  104. package/Libraries/Image/Image.android.js +8 -2
  105. package/Libraries/Image/Image.d.ts +1 -1
  106. package/Libraries/Image/Image.ios.js +4 -1
  107. package/Libraries/Image/Image.win32.js +6 -3
  108. package/Libraries/Image/ImageBackground.js +3 -0
  109. package/Libraries/Image/resolveAssetSource.win32.js +1 -1
  110. package/Libraries/Inspector/DevtoolsOverlay.js +6 -3
  111. package/Libraries/Inspector/NetworkOverlay.js +2 -2
  112. package/Libraries/Interaction/JSEventLoopWatchdog.js +1 -5
  113. package/Libraries/Interaction/PanResponder.js +1 -4
  114. package/Libraries/IntersectionObserver/IntersectionObserver.js +252 -0
  115. package/Libraries/IntersectionObserver/IntersectionObserverEntry.js +140 -0
  116. package/Libraries/IntersectionObserver/IntersectionObserverManager.js +221 -0
  117. package/Libraries/IntersectionObserver/NativeIntersectionObserver.js +41 -0
  118. package/Libraries/IntersectionObserver/__mocks__/NativeIntersectionObserver.js +162 -0
  119. package/Libraries/LayoutAnimation/LayoutAnimation.js +1 -1
  120. package/Libraries/Lists/FlatList.d.ts +2 -1
  121. package/Libraries/Lists/FlatList.js +15 -5
  122. package/Libraries/Lists/SectionList.js +4 -0
  123. package/Libraries/LogBox/Data/LogBoxLog.js +4 -1
  124. package/Libraries/LogBox/Data/LogBoxSymbolication.js +5 -2
  125. package/Libraries/LogBox/Data/parseLogBoxLog.js +57 -20
  126. package/Libraries/LogBox/UI/AnsiHighlight.js +1 -1
  127. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +24 -31
  128. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +1 -1
  129. package/Libraries/LogBox/UI/LogBoxMessage.js +4 -7
  130. package/Libraries/MutationObserver/MutationObserver.js +184 -0
  131. package/Libraries/MutationObserver/MutationObserverManager.js +218 -0
  132. package/Libraries/MutationObserver/MutationRecord.js +82 -0
  133. package/Libraries/MutationObserver/NativeMutationObserver.js +58 -0
  134. package/Libraries/MutationObserver/__mocks__/NativeMutationObserver.js +327 -0
  135. package/Libraries/NativeComponent/BaseViewConfig.android.js +18 -3
  136. package/Libraries/NativeComponent/BaseViewConfig.ios.js +33 -0
  137. package/Libraries/NativeComponent/BaseViewConfig.win32.js +33 -0
  138. package/Libraries/NativeComponent/NativeComponentRegistry.js +3 -5
  139. package/Libraries/NativeModules/specs/NativeSourceCode.js +6 -6
  140. package/Libraries/Network/RCTNetworking.android.js +2 -1
  141. package/Libraries/Network/XMLHttpRequest.js +1 -1
  142. package/Libraries/NewAppScreen/components/DebugInstructions.js +4 -4
  143. package/Libraries/NewAppScreen/components/LearnMoreLinks.js +9 -2
  144. package/Libraries/Performance/QuickPerformanceLogger.js +1 -1
  145. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +1 -0
  146. package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +1 -0
  147. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +3 -1
  148. package/Libraries/Pressability/Pressability.js +28 -3
  149. package/Libraries/Pressability/Pressability.win32.js +30 -5
  150. package/Libraries/ReactNative/AppContainer.js +2 -3
  151. package/Libraries/ReactNative/AppRegistry.d.ts +0 -5
  152. package/Libraries/ReactNative/AppRegistry.js +66 -53
  153. package/Libraries/ReactNative/BridgelessUIManager.js +38 -9
  154. package/Libraries/ReactNative/FabricUIManager.js +143 -34
  155. package/Libraries/ReactNative/I18nManager.js +5 -11
  156. package/Libraries/ReactNative/NativeI18nManager.js +7 -5
  157. package/Libraries/ReactNative/PaperUIManager.win32.js +2 -2
  158. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +151 -0
  159. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +81 -0
  160. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +492 -0
  161. package/Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps.js +32 -0
  162. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +19 -3
  163. package/Libraries/ReactNative/UIManager.js +8 -0
  164. package/Libraries/ReactNative/__mocks__/FabricUIManager.js +648 -0
  165. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +38 -2
  166. package/Libraries/Renderer/implementations/ReactFabric-dev.js +27 -27
  167. package/Libraries/Renderer/implementations/ReactFabric-prod.js +3 -3
  168. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3 -3
  169. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +27 -27
  170. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +3 -3
  171. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +3 -3
  172. package/Libraries/Renderer/shims/ReactFabric.js +5 -6
  173. package/Libraries/Renderer/shims/ReactFeatureFlags.js +2 -3
  174. package/Libraries/Renderer/shims/ReactNative.js +2 -3
  175. package/Libraries/Renderer/shims/ReactNativeTypes.js +35 -17
  176. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +3 -3
  177. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -3
  178. package/Libraries/Settings/{Settings.android.js → Settings.js} +4 -4
  179. package/Libraries/Share/Share.d.ts +3 -9
  180. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +9 -4
  181. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +28 -13
  182. package/Libraries/StyleSheet/PlatformColorValueTypes.win32.js +14 -4
  183. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -1
  184. package/Libraries/StyleSheet/PlatformColorValueTypesWin32.d.ts +1 -1
  185. package/Libraries/StyleSheet/StyleSheet.d.ts +10 -1
  186. package/Libraries/StyleSheet/StyleSheet.js +3 -0
  187. package/Libraries/StyleSheet/StyleSheet.win32.js +3 -0
  188. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +31 -17
  189. package/Libraries/StyleSheet/StyleSheetTypes.js +90 -6
  190. package/Libraries/StyleSheet/flattenStyle.js +4 -0
  191. package/Libraries/StyleSheet/private/_TransformStyle.js +16 -2
  192. package/Libraries/StyleSheet/processColor.js +1 -2
  193. package/Libraries/StyleSheet/processTransformOrigin.js +136 -0
  194. package/Libraries/StyleSheet/splitLayoutProps.js +1 -0
  195. package/Libraries/Text/Text.d.ts +5 -5
  196. package/Libraries/Text/Text.js +17 -10
  197. package/Libraries/Text/Text.win32.js +354 -0
  198. package/Libraries/Text/TextProps.win32.js +281 -0
  199. package/Libraries/TurboModule/TurboModuleRegistry.js +47 -7
  200. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +6 -0
  201. package/Libraries/Types/CoreEventTypes.d.ts +5 -2
  202. package/Libraries/Utilities/GlobalPerformanceLogger.js +2 -12
  203. package/Libraries/Utilities/NativeDeviceInfo.js +8 -9
  204. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +23 -18
  205. package/Libraries/Utilities/NativePlatformConstantsIOS.js +16 -13
  206. package/Libraries/Utilities/NativePlatformConstantsWin.js +13 -10
  207. package/Libraries/Utilities/PerformanceLoggerContext.js +1 -1
  208. package/Libraries/Utilities/Platform.android.js +12 -8
  209. package/Libraries/Utilities/Platform.d.ts +1 -0
  210. package/Libraries/Utilities/Platform.flow.js +84 -0
  211. package/Libraries/Utilities/Platform.flow.win32.js +111 -0
  212. package/Libraries/Utilities/Platform.ios.js +12 -8
  213. package/Libraries/Utilities/Platform.win32.js +12 -8
  214. package/Libraries/Utilities/PolyfillFunctions.js +1 -1
  215. package/Libraries/Utilities/ReactNativeTestTools.js +1 -2
  216. package/Libraries/Utilities/SceneTracker.js +1 -1
  217. package/Libraries/Utilities/createPerformanceLogger.js +63 -32
  218. package/Libraries/Utilities/useColorScheme.js +7 -8
  219. package/Libraries/WebPerformance/MemoryInfo.js +1 -1
  220. package/Libraries/WebPerformance/NativePerformance.js +3 -8
  221. package/Libraries/WebPerformance/NativePerformanceObserver.js +4 -0
  222. package/Libraries/WebPerformance/Performance.js +42 -15
  223. package/Libraries/WebPerformance/PerformanceEntry.js +14 -6
  224. package/Libraries/WebPerformance/PerformanceEventTiming.js +18 -1
  225. package/Libraries/WebPerformance/ReactNativeStartupTiming.js +40 -14
  226. package/Libraries/WebPerformance/__mocks__/NativePerformance.js +4 -2
  227. package/Libraries/WebPerformance/__mocks__/NativePerformanceObserver.js +21 -3
  228. package/Libraries/promiseRejectionTrackingOptions.js +1 -3
  229. package/Libraries/vendor/emitter/EventEmitter.js +20 -18
  230. package/flow/global.js +1 -3
  231. package/flow/jest.js +5 -1
  232. package/{Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.ios.js → jest/ReactNativeInternalFeatureFlagsMock.js} +2 -1
  233. package/jest/__tests__/setup-test.js +18 -0
  234. package/jest/mockModal.js +6 -4
  235. package/jest/setup.js +61 -30
  236. package/jest.config.js +1 -1
  237. package/just-task.js +1 -0
  238. package/overrides.json +51 -46
  239. package/package.json +35 -33
  240. package/src/Libraries/Components/Button/ButtonWin32.Props.ts +1 -1
  241. package/src/Libraries/Components/Button/ButtonWin32.tsx +0 -2
  242. package/src/Libraries/Components/Touchable/Tests/TouchableWin32Test.tsx +2 -2
  243. package/src/Libraries/Components/Touchable/TouchableWin32.tsx +1 -1
  244. package/src/Libraries/Components/View/ViewAccessibility.d.ts +8 -2
  245. package/src/Libraries/StyleSheet/PlatformColorValueTypesWin32.d.ts +1 -1
  246. package/types/experimental.d.ts +44 -0
  247. package/types/index.d.ts +2 -1
  248. package/types/modules/Devtools.d.ts +1 -0
  249. package/types/modules/globals.d.ts +16 -1
  250. package/IntegrationTests/BUCK +0 -32
  251. package/IntegrationTests/PropertiesUpdateTest.js +0 -29
  252. package/IntegrationTests/RCTRootViewIntegrationTestApp.js +0 -86
  253. package/IntegrationTests/ReactContentSizeUpdateTest.js +0 -89
  254. package/IntegrationTests/SizeFlexibilityUpdateTest.js +0 -106
  255. package/Libraries/Components/TextInput/TextInput.Types.win32.d.ts +0 -51
  256. package/Libraries/Components/TextInput/TextInput.Types.win32.js +0 -3
  257. package/Libraries/Components/TextInput/TextInput.Types.win32.js.map +0 -1
  258. package/Libraries/Utilities/AcessibilityMapping.js +0 -154
  259. package/Libraries/Utilities/AcessibilityMapping.win32.js +0 -156
  260. package/Libraries/Utilities/NativeDevSplitBundleLoader.js +0 -19
  261. package/Libraries/Utilities/useColorScheme.win32.js +0 -26
  262. package/flow/use-sync-external-store.js +0 -20
  263. package/flow-typed/npm/base64-js_v1.x.x.js +0 -12
  264. package/flow-typed/npm/glob_v7.x.x.js +0 -79
  265. package/flow-typed/npm/pretty-format_v26.x.x.js +0 -49
  266. package/flow-typed/npm/promise_v8.x.x.js +0 -30
  267. package/flow-typed/npm/react-dom_v17.x.x.js +0 -139
  268. package/flow-typed/npm/react-test-renderer_v16.x.x.js +0 -79
  269. package/flow-typed/npm/stacktrace-parser_v0.1.x.js +0 -17
  270. package/flow-typed/npm/yargs_v17.x.x.js +0 -341
  271. package/src/Libraries/Components/TextInput/TextInput.Types.win32.ts +0 -68
  272. /package/Libraries/{Renderer/public → ReactNative/ReactFabricPublicInstance}/ReactFabricPublicInstanceUtils.js +0 -0
package/CHANGELOG.md CHANGED
@@ -1,118 +1,283 @@
1
1
  # Change Log - @office-iss/react-native-win32
2
2
 
3
- This log was last generated on Mon, 09 Oct 2023 15:13:04 GMT and should not be manually modified.
3
+ This log was last generated on Tue, 17 Oct 2023 22:25:59 GMT and should not be manually modified.
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
- ## 0.72.6
7
+ ## 0.73.0-preview.1
8
8
 
9
- Mon, 09 Oct 2023 15:13:04 GMT
9
+ Tue, 17 Oct 2023 22:25:59 GMT
10
10
 
11
- ### Patches
11
+ ### Changes
12
12
 
13
- - Have RCTNetworking.win32 fork RCTNetworking.ios (#12199) (julio.rocha@microsoft.com)
13
+ - Promote 0.73 to preview (tatianakapos@microsoft.com)
14
14
 
15
- ## 0.72.5
15
+ ## 0.0.0-canary.218
16
16
 
17
- Wed, 27 Sep 2023 21:02:34 GMT
17
+ Thu, 12 Oct 2023 05:15:53 GMT
18
18
 
19
- ### Patches
19
+ ### Changes
20
20
 
21
- - Bump react-native dependency to 0.72.5 (30809111+acoates-ms@users.noreply.github.com)
21
+ - Integrate 9/25 (yajurgrover24@gmail.com)
22
+ - Bump @rnw-scripts/eslint-config to v1.2.3
23
+ - Bump @rnw-scripts/jest-out-of-tree-snapshot-resolver to v1.1.6
24
+ - Bump @rnw-scripts/just-task to v2.3.17
25
+ - Bump react-native-platform-override to v1.9.16
22
26
 
23
- ## 0.72.4
27
+ ## 0.0.0-canary.217
24
28
 
25
- Mon, 11 Sep 2023 15:14:55 GMT
29
+ Fri, 06 Oct 2023 05:13:51 GMT
26
30
 
27
- ### Patches
31
+ ### Changes
32
+
33
+ - Integrate 9/20 (34109996+chiaramooney@users.noreply.github.com)
34
+
35
+ ## 0.0.0-canary.216
36
+
37
+ Tue, 03 Oct 2023 05:13:16 GMT
38
+
39
+ ### Changes
40
+
41
+ - Have RCTNetworking.win32 fork RCTNetworking.ios (julio.rocha@microsoft.com)
42
+
43
+ ## 0.0.0-canary.215
44
+
45
+ Wed, 20 Sep 2023 05:17:49 GMT
46
+
47
+ ### Changes
48
+
49
+ - Integrate 8/11 (34109996+chiaramooney@users.noreply.github.com)
50
+ - Bump @rnw-scripts/just-task to v2.3.16
51
+ - Bump react-native-platform-override to v1.9.15
52
+
53
+ ## 0.0.0-canary.214
54
+
55
+ Sat, 09 Sep 2023 05:12:55 GMT
56
+
57
+ ### Changes
28
58
 
29
59
  - Webpack assets do not prefix paths with /, which causes a lost char in asset path (30809111+acoates-ms@users.noreply.github.com)
30
60
 
31
- ## 0.72.3
61
+ ## 0.0.0-canary.213
32
62
 
33
- Mon, 28 Aug 2023 15:14:10 GMT
63
+ Tue, 29 Aug 2023 05:13:35 GMT
34
64
 
35
- ### Patches
65
+ ### Changes
66
+
67
+ - Integrate RN Nightly Build 7/28 (yajurgrover@microsoft.com)
68
+
69
+ ## 0.0.0-canary.212
70
+
71
+ Sat, 26 Aug 2023 05:15:06 GMT
72
+
73
+ ### Changes
36
74
 
37
- - fix a11yState and add support for aria-required and -multiselectable (krsiler@microsoft.com)
38
75
  - Remove flow usage from saveAssetPlugin codeflow (30809111+acoates-ms@users.noreply.github.com)
39
76
 
40
- ## 0.72.2
77
+ ## 0.0.0-canary.211
41
78
 
42
- Mon, 14 Aug 2023 15:18:19 GMT
79
+ Thu, 24 Aug 2023 05:14:48 GMT
43
80
 
44
- ### Patches
81
+ ### Changes
82
+
83
+ - fix a11yState and add support for aria-required and -multiselectable (krsiler@microsoft.com)
84
+
85
+ ## 0.0.0-canary.210
86
+
87
+ Fri, 11 Aug 2023 05:13:37 GMT
88
+
89
+ ### Changes
45
90
 
46
- - add isDefaultButton check to win32 (email not defined)
47
91
  - Add saveAssetPlugin to fix long path assets (30809111+acoates-ms@users.noreply.github.com)
48
92
 
49
- ## 0.72.1
93
+ ## 0.0.0-canary.209
50
94
 
51
- Wed, 19 Jul 2023 18:43:52 GMT
95
+ Fri, 28 Jul 2023 05:14:51 GMT
52
96
 
53
- ### Patches
97
+ ### Changes
54
98
 
55
- - Integrate RN 0.72.3 (jthysell@microsoft.com)
99
+ - Integrate 7/21 (34109996+chiaramooney@users.noreply.github.com)
100
+ - Bump @rnw-scripts/just-task to v2.3.15
101
+ - Bump react-native-platform-override to v1.9.14
56
102
 
57
- ## 0.72.0
103
+ ## 0.0.0-canary.208
58
104
 
59
- Fri, 23 Jun 2023 22:30:08 GMT
105
+ Thu, 27 Jul 2023 05:14:48 GMT
60
106
 
61
- ### Patches
107
+ ### Changes
62
108
 
63
- - Promote 0.72 to latest (jthysell@microsoft.com)
109
+ - integrate RN Nightly 7/5/23 (email not defined)
64
110
 
65
- ## 0.72.0-preview.6
111
+ ## 0.0.0-canary.207
66
112
 
67
- Fri, 23 Jun 2023 01:59:52 GMT
113
+ Wed, 26 Jul 2023 05:15:46 GMT
68
114
 
69
115
  ### Changes
70
116
 
71
- - Integrate RN 0.72.0 (jthysell@microsoft.com)
117
+ - Remove upstream react-native flow typings from repo (jthysell@microsoft.com)
118
+ - Bump @rnw-scripts/just-task to v2.3.14
119
+ - Bump react-native-platform-override to v1.9.13
72
120
 
73
- ## 0.72.0-preview.5
121
+ ## 0.0.0-canary.206
74
122
 
75
- Mon, 12 Jun 2023 15:15:26 GMT
123
+ Tue, 18 Jul 2023 05:13:38 GMT
124
+
125
+ ### Changes
126
+
127
+ - add isDefaultButton check to win32 (email not defined)
128
+
129
+ ## 0.0.0-canary.205
130
+
131
+ Fri, 14 Jul 2023 05:17:04 GMT
132
+
133
+ ### Changes
134
+
135
+ - integration 6/28 (tatianakapos@microsoft.com)
136
+ - Bump @rnw-scripts/eslint-config to v1.2.2
137
+ - Bump @rnw-scripts/jest-out-of-tree-snapshot-resolver to v1.1.5
138
+ - Bump @rnw-scripts/just-task to v2.3.13
139
+ - Bump react-native-platform-override to v1.9.12
140
+
141
+ ## 0.0.0-canary.204
142
+
143
+ Sat, 01 Jul 2023 05:14:41 GMT
144
+
145
+ ### Changes
146
+
147
+ - integrate 6/16 (tatianakapos@microsoft.com)
148
+ - Bump @rnw-scripts/eslint-config to v1.2.1
149
+ - Bump @rnw-scripts/jest-out-of-tree-snapshot-resolver to v1.1.4
150
+ - Bump @rnw-scripts/just-task to v2.3.12
151
+ - Bump react-native-platform-override to v1.9.11
152
+
153
+ ## 0.0.0-canary.203
154
+
155
+ Fri, 16 Jun 2023 05:14:19 GMT
156
+
157
+ ### Changes
158
+
159
+ - Add support for more aria props (30809111+acoates-ms@users.noreply.github.com)
160
+
161
+ ## 0.0.0-canary.202
162
+
163
+ Tue, 13 Jun 2023 05:15:41 GMT
164
+
165
+ ### Changes
166
+
167
+ - Bump @rnw-scripts/eslint-config to v1.2.0
168
+ - Bump @rnw-scripts/jest-out-of-tree-snapshot-resolver to v1.1.3
169
+ - Bump react-native-platform-override to v1.9.10
170
+
171
+ ## 0.0.0-canary.201
172
+
173
+ Fri, 09 Jun 2023 05:15:17 GMT
76
174
 
77
175
  ### Changes
78
176
 
79
- - Export ITouchableWin32State (30809111+acoates-ms@users.noreply.github.com)
80
- - Fix various text properties not being forwarded to native (30809111+acoates-ms@users.noreply.github.com)
81
177
  - Type definition files shouldnt use win32 extension (30809111+acoates-ms@users.noreply.github.com)
82
- - Add eventPhase to IHandledKeyboardEvent (30809111+acoates-ms@users.noreply.github.com)
178
+ - Fix various text properties not being forwarded to native (30809111+acoates-ms@users.noreply.github.com)
179
+
180
+ ## 0.0.0-canary.200
181
+
182
+ Thu, 08 Jun 2023 05:15:28 GMT
183
+
184
+ ### Changes
185
+
186
+ - Add missing eventPhase on IHandledKeyboardEvent (30809111+acoates-ms@users.noreply.github.com)
187
+ - Export ITouchableWin32State (30809111+acoates-ms@users.noreply.github.com)
188
+
189
+ ## 0.0.0-canary.199
190
+
191
+ Wed, 07 Jun 2023 05:16:10 GMT
192
+
193
+ ### Changes
83
194
 
84
- ## 0.72.0-preview.4
195
+ - integrate RN Nightly 6/1/23 (tatianakapos@microsoft.com)
196
+ - Bump @rnw-scripts/just-task to v2.3.11
197
+ - Bump react-native-platform-override to v1.9.9
85
198
 
86
- Mon, 22 May 2023 15:16:17 GMT
199
+ ## 0.0.0-canary.198
200
+
201
+ Tue, 06 Jun 2023 19:06:43 GMT
87
202
 
88
203
  ### Changes
89
204
 
90
- - Merge rc3: (34109996+chiaramooney@users.noreply.github.com)
205
+ - integrate RN nightly 5/19/23 (tatianakapos@microsoft.com)
206
+ - Bump @rnw-scripts/just-task to v2.3.10
207
+ - Bump react-native-platform-override to v1.9.8
91
208
 
92
- ## 0.72.0-preview.3
209
+ ## 0.0.0-canary.197
93
210
 
94
- Mon, 15 May 2023 15:18:30 GMT
211
+ Tue, 23 May 2023 05:13:44 GMT
212
+
213
+ ### Changes
214
+
215
+ - RN integration 5/5/23 (tatianakapos@microsoft.com)
216
+
217
+ ## 0.0.0-canary.196
218
+
219
+ Tue, 16 May 2023 05:16:29 GMT
220
+
221
+ ### Changes
222
+
223
+ - Integrate 4/28 (34109996+chiaramooney@users.noreply.github.com)
224
+ - Bump @rnw-scripts/just-task to v2.3.9
225
+ - Bump react-native-platform-override to v1.9.7
226
+
227
+ ## 0.0.0-canary.195
228
+
229
+ Fri, 12 May 2023 05:14:33 GMT
95
230
 
96
231
  ### Changes
97
232
 
98
233
  - Export additional TS types for back compat (30809111+acoates-ms@users.noreply.github.com)
99
234
 
100
- ## 0.72.0-preview.2
235
+ ## 0.0.0-canary.194
236
+
237
+ Mon, 08 May 2023 17:41:03 GMT
238
+
239
+ ### Changes
240
+
241
+ - Fix typos and add `cspell` configuration (jthysell@microsoft.com)
242
+ - Bump @rnw-scripts/just-task to v2.3.8
243
+ - Bump react-native-platform-override to v1.9.6
244
+
245
+ ## 0.0.0-canary.193
246
+
247
+ Wed, 03 May 2023 19:30:16 GMT
248
+
249
+ ### Changes
250
+
251
+ - Simplify ViewWin32 focus, now devmain properly implements UIManger.focus (30809111+acoates-ms@users.noreply.github.com)
252
+
253
+ ## 0.0.0-canary.192
254
+
255
+ Tue, 25 Apr 2023 05:16:56 GMT
256
+
257
+ ### Changes
258
+
259
+ - Update Node to 16 (34109996+chiaramooney@users.noreply.github.com)
260
+ - Integrate 4/13 (34109996+chiaramooney@users.noreply.github.com)
261
+ - Bump @rnw-scripts/eslint-config to v1.1.16
262
+ - Bump @rnw-scripts/jest-out-of-tree-snapshot-resolver to v1.1.2
263
+ - Bump @rnw-scripts/just-task to v2.3.7
264
+ - Bump react-native-platform-override to v1.9.5
265
+
266
+ ## 0.0.0-canary.191
101
267
 
102
- Thu, 04 May 2023 20:58:53 GMT
268
+ Thu, 13 Apr 2023 05:14:28 GMT
103
269
 
104
270
  ### Changes
105
271
 
106
- - Backport Node 16 (34109996+chiaramooney@users.noreply.github.com)
107
- - Fix ref's on ViewWin32 (enables ViewWin32.focus() calls to work again) (30809111+acoates-ms@users.noreply.github.com)
272
+ - Update TextInput.win32 to align with core (30809111+acoates-ms@users.noreply.github.com)
108
273
 
109
- ## 0.72.0-preview.1
274
+ ## 0.0.0-canary.190
110
275
 
111
- Mon, 01 May 2023 16:43:57 GMT
276
+ Sat, 08 Apr 2023 05:13:11 GMT
112
277
 
113
278
  ### Changes
114
279
 
115
- - Promote 0.72 to preview (34109996+chiaramooney@users.noreply.github.com)
280
+ - integrate rn 0.0.0-20230404-2109-62c4da142 (tatianakapos@microsoft.com)
116
281
 
117
282
  ## 0.0.0-canary.189
118
283
 
@@ -22,6 +22,7 @@ class PromiseTest extends React.Component<{...}> {
22
22
  shouldThrowAsync: boolean = false;
23
23
 
24
24
  componentDidMount() {
25
+ // $FlowFixMe[unused-promise]
25
26
  Promise.all([
26
27
  this.testShouldResolve(),
27
28
  this.testShouldReject(),
@@ -31,7 +31,7 @@ server.on('connection', ws => {
31
31
  console.log('WebSocket integration test server exit');
32
32
  process.exit(0);
33
33
  }
34
- ws.send(message + '_response');
34
+ ws.send(String(message) + '_response');
35
35
  });
36
36
 
37
37
  ws.send('hello');
@@ -21,7 +21,7 @@ import Platform from '../Utilities/Platform';
21
21
  import AnimatedImplementation from './AnimatedImplementation';
22
22
  import AnimatedMock from './AnimatedMock';
23
23
 
24
- const Animated = ((Platform.isTesting
24
+ const Animated = ((Platform.isDisableAnimations
25
25
  ? AnimatedMock
26
26
  : AnimatedImplementation): typeof AnimatedImplementation);
27
27
 
@@ -378,7 +378,7 @@ const parallel = function (
378
378
  }
379
379
 
380
380
  animations.forEach((animation, idx) => {
381
- const cb = function (endResult: EndResult | {finished: boolean}) {
381
+ const cb = function (endResult: EndResult) {
382
382
  hasEnded[idx] = true;
383
383
  doneCount++;
384
384
  if (doneCount === animations.length) {
@@ -28,9 +28,7 @@ import invariant from 'invariant';
28
28
 
29
29
  // TODO T69437152 @petetheheat - Delete this fork when Fabric ships to 100%.
30
30
  const NativeAnimatedModule =
31
- Platform.OS === 'ios' && global.RN$Bridgeless === true
32
- ? NativeAnimatedTurboModule
33
- : NativeAnimatedNonTurboModule;
31
+ NativeAnimatedNonTurboModule ?? NativeAnimatedTurboModule;
34
32
 
35
33
  let __nativeAnimatedNodeTagCount = 1; /* used for animated nodes */
36
34
  let __nativeAnimationIdCount = 1; /* used for started animations */
@@ -425,6 +423,9 @@ const SUPPORTED_TRANSFORMS = {
425
423
  rotateY: true,
426
424
  rotateZ: true,
427
425
  perspective: true,
426
+ skewX: true,
427
+ skewY: true,
428
+ matrix: ReactNativeFeatureFlags.shouldUseAnimatedObjectForTransform(),
428
429
  };
429
430
 
430
431
  const SUPPORTED_INTERPOLATION_PARAMS = {
@@ -451,19 +452,19 @@ function addWhitelistedInterpolationParam(param: string): void {
451
452
  }
452
453
 
453
454
  function isSupportedColorStyleProp(prop: string): boolean {
454
- return SUPPORTED_COLOR_STYLES.hasOwnProperty(prop);
455
+ return SUPPORTED_COLOR_STYLES[prop] === true;
455
456
  }
456
457
 
457
458
  function isSupportedStyleProp(prop: string): boolean {
458
- return SUPPORTED_STYLES.hasOwnProperty(prop);
459
+ return SUPPORTED_STYLES[prop] === true;
459
460
  }
460
461
 
461
462
  function isSupportedTransformProp(prop: string): boolean {
462
- return SUPPORTED_TRANSFORMS.hasOwnProperty(prop);
463
+ return SUPPORTED_TRANSFORMS[prop] === true;
463
464
  }
464
465
 
465
466
  function isSupportedInterpolationParam(param: string): boolean {
466
- return SUPPORTED_INTERPOLATION_PARAMS.hasOwnProperty(param);
467
+ return SUPPORTED_INTERPOLATION_PARAMS[param] === true;
467
468
  }
468
469
 
469
470
  function validateTransform(
@@ -562,10 +563,13 @@ function transformDataType(value: number | string): number | string {
562
563
  if (typeof value !== 'string') {
563
564
  return value;
564
565
  }
565
- if (/deg$/.test(value)) {
566
+
567
+ // Normalize degrees and radians to a number expressed in radians
568
+ if (value.endsWith('deg')) {
566
569
  const degrees = parseFloat(value) || 0;
567
- const radians = (degrees * Math.PI) / 180.0;
568
- return radians;
570
+ return (degrees * Math.PI) / 180.0;
571
+ } else if (value.endsWith('rad')) {
572
+ return parseFloat(value) || 0;
569
573
  } else {
570
574
  return value;
571
575
  }
@@ -28,9 +28,7 @@ import invariant from 'invariant';
28
28
 
29
29
  // TODO T69437152 @petetheheat - Delete this fork when Fabric ships to 100%.
30
30
  const NativeAnimatedModule =
31
- Platform.OS === 'ios' && global.RN$Bridgeless === true
32
- ? NativeAnimatedTurboModule
33
- : NativeAnimatedNonTurboModule;
31
+ NativeAnimatedNonTurboModule ?? NativeAnimatedTurboModule;
34
32
 
35
33
  let __nativeAnimatedNodeTagCount = 1; /* used for animated nodes */
36
34
  let __nativeAnimationIdCount = 1; /* used for started animations */
@@ -427,6 +425,9 @@ const SUPPORTED_TRANSFORMS = {
427
425
  rotateY: true,
428
426
  rotateZ: true,
429
427
  perspective: true,
428
+ skewX: true,
429
+ skewY: true,
430
+ matrix: ReactNativeFeatureFlags.shouldUseAnimatedObjectForTransform(),
430
431
  };
431
432
 
432
433
  const SUPPORTED_INTERPOLATION_PARAMS = {
@@ -453,19 +454,19 @@ function addWhitelistedInterpolationParam(param: string): void {
453
454
  }
454
455
 
455
456
  function isSupportedColorStyleProp(prop: string): boolean {
456
- return SUPPORTED_COLOR_STYLES.hasOwnProperty(prop);
457
+ return SUPPORTED_COLOR_STYLES[prop] === true;
457
458
  }
458
459
 
459
460
  function isSupportedStyleProp(prop: string): boolean {
460
- return SUPPORTED_STYLES.hasOwnProperty(prop);
461
+ return SUPPORTED_STYLES[prop] === true;
461
462
  }
462
463
 
463
464
  function isSupportedTransformProp(prop: string): boolean {
464
- return SUPPORTED_TRANSFORMS.hasOwnProperty(prop);
465
+ return SUPPORTED_TRANSFORMS[prop] === true;
465
466
  }
466
467
 
467
468
  function isSupportedInterpolationParam(param: string): boolean {
468
- return SUPPORTED_INTERPOLATION_PARAMS.hasOwnProperty(param);
469
+ return SUPPORTED_INTERPOLATION_PARAMS[param] === true;
469
470
  }
470
471
 
471
472
  function validateTransform(
@@ -564,10 +565,13 @@ function transformDataType(value: number | string): number | string {
564
565
  if (typeof value !== 'string') {
565
566
  return value;
566
567
  }
567
- if (/deg$/.test(value)) {
568
+
569
+ // Normalize degrees and radians to a number expressed in radians
570
+ if (value.endsWith('deg')) {
568
571
  const degrees = parseFloat(value) || 0;
569
- const radians = (degrees * Math.PI) / 180.0;
570
- return radians;
572
+ return (degrees * Math.PI) / 180.0;
573
+ } else if (value.endsWith('rad')) {
574
+ return parseFloat(value) || 0;
571
575
  } else {
572
576
  return value;
573
577
  }
@@ -590,8 +594,8 @@ export default {
590
594
  assertNativeAnimatedModule,
591
595
  shouldUseNativeDriver,
592
596
  transformDataType,
593
- // $FlowExpectedError[unsafe-getters-setters] - unsafe getter lint suppresion
594
- // $FlowExpectedError[missing-type-arg] - unsafe getter lint suppresion
597
+ // $FlowExpectedError[unsafe-getters-setters] - unsafe getter lint suppression
598
+ // $FlowExpectedError[missing-type-arg] - unsafe getter lint suppression
595
599
  get nativeEventEmitter(): NativeEventEmitter {
596
600
  if (!nativeEventEmitter) {
597
601
  // $FlowFixMe[underconstrained-implicit-instantiation]
@@ -11,8 +11,9 @@
11
11
  import type {TurboModule} from '../TurboModule/RCTExport';
12
12
 
13
13
  import * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';
14
+ import shouldUseTurboAnimatedModule from './shouldUseTurboAnimatedModule';
14
15
 
15
- type EndResult = {finished: boolean, ...};
16
+ type EndResult = {finished: boolean, value?: number, ...};
16
17
  type EndCallback = (result: EndResult) => void;
17
18
  type SaveValueCallback = (value: number) => void;
18
19
 
@@ -70,4 +71,7 @@ export interface Spec extends TurboModule {
70
71
  +queueAndExecuteBatchedOperations?: (operationsAndArgs: Array<any>) => void;
71
72
  }
72
73
 
73
- export default (TurboModuleRegistry.get<Spec>('NativeAnimatedModule'): ?Spec);
74
+ const NativeModule: ?Spec = !shouldUseTurboAnimatedModule()
75
+ ? TurboModuleRegistry.get<Spec>('NativeAnimatedModule')
76
+ : null;
77
+ export default NativeModule;
@@ -11,8 +11,9 @@
11
11
  import type {TurboModule} from '../TurboModule/RCTExport';
12
12
 
13
13
  import * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';
14
+ import shouldUseTurboAnimatedModule from './shouldUseTurboAnimatedModule';
14
15
 
15
- type EndResult = {finished: boolean, ...};
16
+ type EndResult = {finished: boolean, value?: number, ...};
16
17
  type EndCallback = (result: EndResult) => void;
17
18
  type SaveValueCallback = (value: number) => void;
18
19
 
@@ -70,6 +71,8 @@ export interface Spec extends TurboModule {
70
71
  +queueAndExecuteBatchedOperations?: (operationsAndArgs: Array<any>) => void;
71
72
  }
72
73
 
73
- export default (TurboModuleRegistry.get<Spec>(
74
- 'NativeAnimatedTurboModule',
75
- ): ?Spec);
74
+ const NativeModule: ?Spec = shouldUseTurboAnimatedModule()
75
+ ? TurboModuleRegistry.get<Spec>('NativeAnimatedTurboModule')
76
+ : null;
77
+
78
+ export default NativeModule;
@@ -11,11 +11,16 @@
11
11
  'use strict';
12
12
 
13
13
  import type {PlatformConfig} from '../AnimatedPlatformConfig';
14
+ import type AnimatedNode from '../nodes/AnimatedNode';
14
15
  import type AnimatedValue from '../nodes/AnimatedValue';
15
16
 
17
+ import Platform from '../../Utilities/Platform';
16
18
  import NativeAnimatedHelper from '../NativeAnimatedHelper';
19
+ import AnimatedColor from '../nodes/AnimatedColor';
20
+ import AnimatedProps from '../nodes/AnimatedProps';
21
+ import AnimatedValueXY from '../nodes/AnimatedValueXY';
17
22
 
18
- export type EndResult = {finished: boolean, ...};
23
+ export type EndResult = {finished: boolean, value?: number, ...};
19
24
  export type EndCallback = (result: EndResult) => void;
20
25
 
21
26
  export type AnimationConfig = {
@@ -37,6 +42,7 @@ export default class Animation {
37
42
  __nativeId: number;
38
43
  __onEnd: ?EndCallback;
39
44
  __iterations: number;
45
+
40
46
  start(
41
47
  fromValue: number,
42
48
  onUpdate: (value: number) => void,
@@ -44,22 +50,55 @@ export default class Animation {
44
50
  previousAnimation: ?Animation,
45
51
  animatedValue: AnimatedValue,
46
52
  ): void {}
53
+
47
54
  stop(): void {
48
55
  if (this.__nativeId) {
49
56
  NativeAnimatedHelper.API.stopAnimation(this.__nativeId);
50
57
  }
51
58
  }
59
+
52
60
  __getNativeAnimationConfig(): any {
53
61
  // Subclasses that have corresponding animation implementation done in native
54
62
  // should override this method
55
63
  throw new Error('This animation type cannot be offloaded to native');
56
64
  }
65
+
57
66
  // Helper function for subclasses to make sure onEnd is only called once.
58
67
  __debouncedOnEnd(result: EndResult): void {
59
68
  const onEnd = this.__onEnd;
60
69
  this.__onEnd = null;
61
70
  onEnd && onEnd(result);
62
71
  }
72
+
73
+ __findAnimatedPropsNodes(node: AnimatedNode): Array<AnimatedProps> {
74
+ const result = [];
75
+
76
+ if (node instanceof AnimatedProps) {
77
+ result.push(node);
78
+ return result;
79
+ }
80
+
81
+ // Vectorized animations (animations on AnimatedValueXY, AnimatedColor nodes)
82
+ // are split into multiple animations for each component that execute in parallel.
83
+ // Calling update() on AnimatedProps when each animation completes results in
84
+ // potential flickering as all animations that are part of the vectorized animation
85
+ // may not have completed yet. For example, only the animation for the red channel of
86
+ // an animating color may have been completed, resulting in a temporary red color
87
+ // being rendered. So, for now, ignore AnimatedProps that use a vectorized animation.
88
+ if (
89
+ Platform.OS === 'ios' &&
90
+ (node instanceof AnimatedValueXY || node instanceof AnimatedColor)
91
+ ) {
92
+ return result;
93
+ }
94
+
95
+ for (const child of node.__getChildren()) {
96
+ result.push(...this.__findAnimatedPropsNodes(child));
97
+ }
98
+
99
+ return result;
100
+ }
101
+
63
102
  __startNativeAnimation(animatedValue: AnimatedValue): void {
64
103
  const startNativeAnimationWaitId = `${startNativeAnimationNextId}:startAnimation`;
65
104
  startNativeAnimationNextId += 1;
@@ -74,8 +113,23 @@ export default class Animation {
74
113
  this.__nativeId,
75
114
  animatedValue.__getNativeTag(),
76
115
  config,
77
- // $FlowFixMe[method-unbinding] added when improving typing for this parameters
78
- this.__debouncedOnEnd.bind(this),
116
+ result => {
117
+ this.__debouncedOnEnd(result);
118
+
119
+ // When using natively driven animations, once the animation completes,
120
+ // we need to ensure that the JS side nodes are synced with the updated
121
+ // values.
122
+ const {value} = result;
123
+ if (value != null) {
124
+ animatedValue.__onAnimatedValueUpdateReceived(value);
125
+
126
+ // Once the JS side node is synced with the updated values, trigger an
127
+ // update on the AnimatedProps nodes to call any registered callbacks.
128
+ this.__findAnimatedPropsNodes(animatedValue).forEach(node =>
129
+ node.update(),
130
+ );
131
+ }
132
+ },
79
133
  );
80
134
  } catch (e) {
81
135
  throw e;
@@ -85,6 +85,15 @@ export default class DecayAnimation extends Animation {
85
85
  this._onUpdate = onUpdate;
86
86
  this.__onEnd = onEnd;
87
87
  this._startTime = Date.now();
88
+
89
+ if (!this._useNativeDriver && animatedValue.__isNative === true) {
90
+ throw new Error(
91
+ 'Attempting to run JS driven animation on animated node ' +
92
+ 'that has been moved to "native" earlier by starting an ' +
93
+ 'animation with `useNativeDriver: true`',
94
+ );
95
+ }
96
+
88
97
  if (this._useNativeDriver) {
89
98
  this.__startNativeAnimation(animatedValue);
90
99
  } else {