@office-iss/react-native-win32 0.77.0 → 0.78.0-preview.2

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 (103) hide show
  1. package/.flowconfig +1 -1
  2. package/CHANGELOG.json +114 -27
  3. package/CHANGELOG.md +46 -15
  4. package/Libraries/Animated/animations/Animation.js +22 -1
  5. package/Libraries/Animated/animations/DecayAnimation.js +1 -0
  6. package/Libraries/Animated/animations/SpringAnimation.js +1 -0
  7. package/Libraries/Animated/animations/TimingAnimation.js +1 -0
  8. package/Libraries/Animated/nodes/AnimatedAddition.js +9 -2
  9. package/Libraries/Animated/nodes/AnimatedColor.js +4 -1
  10. package/Libraries/Animated/nodes/AnimatedDiffClamp.js +10 -2
  11. package/Libraries/Animated/nodes/AnimatedDivision.js +9 -2
  12. package/Libraries/Animated/nodes/AnimatedInterpolation.js +5 -1
  13. package/Libraries/Animated/nodes/AnimatedModulo.js +5 -2
  14. package/Libraries/Animated/nodes/AnimatedMultiplication.js +9 -2
  15. package/Libraries/Animated/nodes/AnimatedNode.js +25 -46
  16. package/Libraries/Animated/nodes/AnimatedObject.js +9 -2
  17. package/Libraries/Animated/nodes/AnimatedProps.js +5 -1
  18. package/Libraries/Animated/nodes/AnimatedStyle.js +5 -1
  19. package/Libraries/Animated/nodes/AnimatedSubtraction.js +9 -2
  20. package/Libraries/Animated/nodes/AnimatedTracking.js +5 -1
  21. package/Libraries/Animated/nodes/AnimatedTransform.js +5 -1
  22. package/Libraries/Animated/nodes/AnimatedValue.js +63 -4
  23. package/Libraries/Animated/nodes/AnimatedValueXY.js +3 -1
  24. package/Libraries/Animated/useAnimatedProps.js +14 -56
  25. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.d.ts +1 -1
  26. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +4 -1
  27. package/Libraries/Components/LayoutConformance/LayoutConformance.d.ts +21 -0
  28. package/Libraries/Components/LayoutConformance/LayoutConformance.js +59 -0
  29. package/Libraries/Components/LayoutConformance/LayoutConformanceNativeComponent.js +29 -0
  30. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +1 -0
  31. package/Libraries/Components/TextInput/TextInput.d.ts +5 -0
  32. package/Libraries/Components/TextInput/TextInput.flow.js +6 -0
  33. package/Libraries/Components/TextInput/TextInput.js +6 -0
  34. package/Libraries/Components/TextInput/TextInput.win32.js +6 -0
  35. package/Libraries/Components/View/ViewPropTypes.d.ts +0 -7
  36. package/Libraries/Components/View/ViewPropTypes.js +0 -9
  37. package/Libraries/Components/View/ViewPropTypes.win32.js +0 -9
  38. package/Libraries/Core/ReactNativeVersion.js +2 -2
  39. package/Libraries/Core/setUpBatchedBridge.js +1 -16
  40. package/Libraries/EventEmitter/RCTEventEmitter.js +2 -6
  41. package/Libraries/Image/AssetSourceResolver.js +11 -0
  42. package/Libraries/Inspector/BorderBox.js +26 -14
  43. package/Libraries/Inspector/BoxInspector.js +60 -42
  44. package/Libraries/Inspector/ElementBox.js +55 -48
  45. package/Libraries/Inspector/StyleInspector.js +36 -30
  46. package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -2
  47. package/Libraries/Lists/FlatList.d.ts +1 -1
  48. package/Libraries/Modal/Modal.js +2 -0
  49. package/Libraries/NativeComponent/BaseViewConfig.android.js +0 -2
  50. package/Libraries/NativeComponent/BaseViewConfig.ios.js +0 -2
  51. package/Libraries/NativeComponent/BaseViewConfig.win32.js +0 -2
  52. package/Libraries/Network/RCTNetworking.android.js +24 -16
  53. package/Libraries/Network/RCTNetworking.ios.js +1 -46
  54. package/Libraries/Network/RCTNetworking.win32.js +1 -46
  55. package/Libraries/Network/RCTNetworkingEventDefinitions.flow.js +57 -0
  56. package/Libraries/PersonaCoin/PersonaCoin.js +1 -0
  57. package/Libraries/PersonaCoin/PersonaCoin.js.map +1 -1
  58. package/Libraries/ReactNative/UIManagerProperties.js +3 -1
  59. package/Libraries/Renderer/implementations/ReactFabric-dev.js +15828 -26461
  60. package/Libraries/Renderer/implementations/ReactFabric-prod.js +3907 -2560
  61. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +4399 -2878
  62. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +16102 -26908
  63. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +4034 -2695
  64. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +4535 -3045
  65. package/Libraries/Renderer/shims/ReactNativeTypes.js +5 -6
  66. package/Libraries/StyleSheet/processTransform.js +6 -0
  67. package/Libraries/Text/Text.d.ts +6 -1
  68. package/Libraries/Text/TextProps.js +2 -2
  69. package/Libraries/Text/TextProps.win32.js +2 -2
  70. package/Libraries/Utilities/BackHandler.android.js +5 -4
  71. package/Libraries/Utilities/BackHandler.ios.js +4 -5
  72. package/Libraries/Utilities/BackHandler.win32.js +5 -4
  73. package/index.js +5 -0
  74. package/index.win32.js +5 -0
  75. package/overrides.json +14 -14
  76. package/package.json +22 -23
  77. package/src/private/animated/NativeAnimatedValidation.js +1 -1
  78. package/src/private/featureflags/ReactNativeFeatureFlags.js +33 -27
  79. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +5 -5
  80. package/src/private/renderer/errorhandling/ErrorHandlers.js +12 -55
  81. package/src/private/specs/modules/{NativeJSCSamplingProfiler.js → NativeCPUTime.js} +7 -2
  82. package/src/private/specs/modules/NativeFantom.js +37 -0
  83. package/src/private/utilities/ensureInstance.js +21 -0
  84. package/src/private/webapis/dom/nodes/ReactNativeElement.js +49 -6
  85. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +17 -9
  86. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +11 -11
  87. package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +1 -1
  88. package/src/private/webapis/intersectionobserver/IntersectionObserverManager.js +1 -1
  89. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +1 -0
  90. package/src/private/webapis/performance/Performance.js +0 -12
  91. package/src/private/webapis/performance/specs/NativePerformance.js +0 -11
  92. package/src-win/Libraries/Components/View/ViewPropTypes.d.ts +0 -7
  93. package/src-win/Libraries/PersonaCoin/PersonaCoin.tsx +1 -0
  94. package/src-win/Libraries/Text/Text.d.ts +6 -1
  95. package/types/index.d.ts +1 -0
  96. package/Libraries/HeapCapture/HeapCapture.js +0 -29
  97. package/Libraries/HeapCapture/NativeJSCHeapCapture.js +0 -13
  98. package/Libraries/Performance/NativeJSCSamplingProfiler.js +0 -13
  99. package/Libraries/Performance/SamplingProfiler.js +0 -39
  100. package/Libraries/ReactNative/__mocks__/FabricUIManager.js +0 -334
  101. package/src/private/webapis/dom/nodes/specs/__mocks__/NativeDOMMock.js +0 -413
  102. package/src/private/webapis/intersectionobserver/specs/__mocks__/NativeIntersectionObserver.js +0 -181
  103. package/src/private/webapis/mutationobserver/specs/__mocks__/NativeMutationObserver.js +0 -327
package/.flowconfig CHANGED
@@ -164,4 +164,4 @@ untyped-import
164
164
  untyped-type-import
165
165
 
166
166
  [version]
167
- ^0.253.0
167
+ ^0.258.1
package/CHANGELOG.json CHANGED
@@ -2,67 +2,154 @@
2
2
  "name": "@office-iss/react-native-win32",
3
3
  "entries": [
4
4
  {
5
- "date": "Fri, 24 Jan 2025 21:10:39 GMT",
6
- "version": "0.77.0",
7
- "tag": "@office-iss/react-native-win32_v0.77.0",
5
+ "date": "Thu, 06 Feb 2025 18:30:40 GMT",
6
+ "version": "0.78.0-preview.2",
7
+ "tag": "@office-iss/react-native-win32_v0.78.0-preview.2",
8
8
  "comments": {
9
- "patch": [
9
+ "prerelease": [
10
10
  {
11
- "author": "tatianakapos@microsoft.com",
11
+ "author": "email not defined",
12
+ "package": "@office-iss/react-native-win32",
13
+ "commit": "842d2e5cb630152c2cccd003253da0c8d86700f8",
14
+ "comment": "integrate rn 0.78-rc3"
15
+ }
16
+ ]
17
+ }
18
+ },
19
+ {
20
+ "date": "Tue, 28 Jan 2025 18:55:49 GMT",
21
+ "version": "0.78.0-preview.1",
22
+ "tag": "@office-iss/react-native-win32_v0.78.0-preview.1",
23
+ "comments": {
24
+ "prerelease": [
25
+ {
26
+ "author": "email not defined",
27
+ "package": "@office-iss/react-native-win32",
28
+ "commit": "b5aa11c867de2d8500a040bdf245c7e781baac7e",
29
+ "comment": "Promote 0.78 to preview"
30
+ }
31
+ ]
32
+ }
33
+ },
34
+ {
35
+ "date": "Thu, 23 Jan 2025 06:24:57 GMT",
36
+ "version": "0.0.0-canary.281",
37
+ "tag": "@office-iss/react-native-win32_v0.0.0-canary.281",
38
+ "comments": {
39
+ "prerelease": [
40
+ {
41
+ "author": "yajurgrover24@gmail.com",
12
42
  "package": "@office-iss/react-native-win32",
13
- "commit": "a285094c6bf093cad70667d74ac8dc71e0f6f2ea",
14
- "comment": "integrate 0.77.0"
43
+ "commit": "89cd613955a195a4aa0b1851306ef4e715d609f7",
44
+ "comment": "Initial integrate"
45
+ }
46
+ ]
47
+ }
48
+ },
49
+ {
50
+ "date": "Sat, 11 Jan 2025 06:30:39 GMT",
51
+ "version": "0.0.0-canary.280",
52
+ "tag": "@office-iss/react-native-win32_v0.0.0-canary.280",
53
+ "comments": {
54
+ "prerelease": [
55
+ {
56
+ "author": "34109996+chiaramooney@users.noreply.github.com",
57
+ "package": "@office-iss/react-native-win32",
58
+ "commit": "a279e3762d4daae0b5bb22dea770a61c25edefcd",
59
+ "comment": "Integrate 12/31"
15
60
  },
16
61
  {
17
- "author": "tatianakapos@microsoft.com",
62
+ "author": "beachball",
63
+ "package": "@office-iss/react-native-win32",
64
+ "comment": "Bump @rnw-scripts/eslint-config to v1.2.32",
65
+ "commit": "not available"
66
+ },
67
+ {
68
+ "author": "beachball",
69
+ "package": "@office-iss/react-native-win32",
70
+ "comment": "Bump @rnw-scripts/jest-out-of-tree-snapshot-resolver to v1.1.36",
71
+ "commit": "not available"
72
+ },
73
+ {
74
+ "author": "beachball",
18
75
  "package": "@office-iss/react-native-win32",
19
- "commit": "1e639ef0de6e9ca02d4d463d7e9fe982d756c584",
20
- "comment": "Promote 0.76 to latest"
76
+ "comment": "Bump @rnw-scripts/just-task to v2.3.49",
77
+ "commit": "not available"
78
+ },
79
+ {
80
+ "author": "beachball",
81
+ "package": "@office-iss/react-native-win32",
82
+ "comment": "Bump react-native-platform-override to v1.9.51",
83
+ "commit": "not available"
21
84
  }
22
85
  ]
23
86
  }
24
87
  },
25
88
  {
26
- "date": "Mon, 13 Jan 2025 16:31:20 GMT",
27
- "version": "0.77.0-preview.3",
28
- "tag": "@office-iss/react-native-win32_v0.77.0-preview.3",
89
+ "date": "Fri, 10 Jan 2025 06:23:18 GMT",
90
+ "version": "0.0.0-canary.279",
91
+ "tag": "@office-iss/react-native-win32_v0.0.0-canary.279",
29
92
  "comments": {
30
93
  "prerelease": [
31
94
  {
32
- "author": "email not defined",
95
+ "author": "34109996+chiaramooney@users.noreply.github.com",
96
+ "package": "@office-iss/react-native-win32",
97
+ "commit": "31b5dea7f76db31d1cfbda276b61d2fbfb116698",
98
+ "comment": "Integrate 12/20"
99
+ },
100
+ {
101
+ "author": "beachball",
102
+ "package": "@office-iss/react-native-win32",
103
+ "comment": "Bump @rnw-scripts/eslint-config to v1.2.31",
104
+ "commit": "not available"
105
+ },
106
+ {
107
+ "author": "beachball",
33
108
  "package": "@office-iss/react-native-win32",
34
- "commit": "3a58db4f992f73beeab329959e650a2b03df60c8",
35
- "comment": "integrate 0.77.0-rc.6"
109
+ "comment": "Bump @rnw-scripts/jest-out-of-tree-snapshot-resolver to v1.1.35",
110
+ "commit": "not available"
111
+ },
112
+ {
113
+ "author": "beachball",
114
+ "package": "@office-iss/react-native-win32",
115
+ "comment": "Bump @rnw-scripts/just-task to v2.3.48",
116
+ "commit": "not available"
117
+ },
118
+ {
119
+ "author": "beachball",
120
+ "package": "@office-iss/react-native-win32",
121
+ "comment": "Bump react-native-platform-override to v1.9.50",
122
+ "commit": "not available"
36
123
  }
37
124
  ]
38
125
  }
39
126
  },
40
127
  {
41
- "date": "Tue, 07 Jan 2025 01:01:23 GMT",
42
- "version": "0.77.0-preview.2",
43
- "tag": "@office-iss/react-native-win32_v0.77.0-preview.2",
128
+ "date": "Wed, 08 Jan 2025 06:31:13 GMT",
129
+ "version": "0.0.0-canary.278",
130
+ "tag": "@office-iss/react-native-win32_v0.0.0-canary.278",
44
131
  "comments": {
45
132
  "prerelease": [
46
133
  {
47
- "author": "email not defined",
134
+ "author": "34109996+chiaramooney@users.noreply.github.com",
48
135
  "package": "@office-iss/react-native-win32",
49
- "commit": "e70d4987c0929e4eb4125342c53cf6566e19af00",
50
- "comment": "integrate rn 0.77.0-rc.4"
136
+ "commit": "533b3f2f8ef146c2dc807465aa948505c1f99ac2",
137
+ "comment": "Integrate 12/10"
51
138
  }
52
139
  ]
53
140
  }
54
141
  },
55
142
  {
56
- "date": "Fri, 20 Dec 2024 18:21:24 GMT",
57
- "version": "0.77.0-preview.1",
58
- "tag": "@office-iss/react-native-win32_v0.77.0-preview.1",
143
+ "date": "Fri, 20 Dec 2024 06:22:28 GMT",
144
+ "version": "0.0.0-canary.277",
145
+ "tag": "@office-iss/react-native-win32_v0.0.0-canary.277",
59
146
  "comments": {
60
147
  "prerelease": [
61
148
  {
62
149
  "author": "email not defined",
63
150
  "package": "@office-iss/react-native-win32",
64
- "commit": "a9fce025c8ade8cedac7c773d009583c373a47a2",
65
- "comment": "Promote 0.77 to preview"
151
+ "commit": "9372e929083b78c3d8c05ee713a57537f864cdd9",
152
+ "comment": "integrate 0.78.0-nightly-20241201-91e217ff5"
66
153
  }
67
154
  ]
68
155
  }
package/CHANGELOG.md CHANGED
@@ -1,41 +1,72 @@
1
1
  # Change Log - @office-iss/react-native-win32
2
2
 
3
- <!-- This log was last generated on Fri, 24 Jan 2025 21:10:39 GMT and should not be manually modified. -->
3
+ <!-- This log was last generated on Thu, 06 Feb 2025 18:30:40 GMT and should not be manually modified. -->
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
- ## 0.77.0
7
+ ## 0.78.0-preview.2
8
8
 
9
- Fri, 24 Jan 2025 21:10:39 GMT
9
+ Thu, 06 Feb 2025 18:30:40 GMT
10
10
 
11
- ### Patches
11
+ ### Changes
12
12
 
13
- - integrate 0.77.0 (tatianakapos@microsoft.com)
14
- - Promote 0.76 to latest (tatianakapos@microsoft.com)
13
+ - integrate rn 0.78-rc3 (email not defined)
15
14
 
16
- ## 0.77.0-preview.3
15
+ ## 0.78.0-preview.1
17
16
 
18
- Mon, 13 Jan 2025 16:31:20 GMT
17
+ Tue, 28 Jan 2025 18:55:49 GMT
19
18
 
20
19
  ### Changes
21
20
 
22
- - integrate 0.77.0-rc.6 (email not defined)
21
+ - Promote 0.78 to preview (email not defined)
23
22
 
24
- ## 0.77.0-preview.2
23
+ ## 0.0.0-canary.281
25
24
 
26
- Tue, 07 Jan 2025 01:01:23 GMT
25
+ Thu, 23 Jan 2025 06:24:57 GMT
27
26
 
28
27
  ### Changes
29
28
 
30
- - integrate rn 0.77.0-rc.4 (email not defined)
29
+ - Initial integrate (yajurgrover24@gmail.com)
31
30
 
32
- ## 0.77.0-preview.1
31
+ ## 0.0.0-canary.280
33
32
 
34
- Fri, 20 Dec 2024 18:21:24 GMT
33
+ Sat, 11 Jan 2025 06:30:39 GMT
35
34
 
36
35
  ### Changes
37
36
 
38
- - Promote 0.77 to preview (email not defined)
37
+ - Integrate 12/31 (34109996+chiaramooney@users.noreply.github.com)
38
+ - Bump @rnw-scripts/eslint-config to v1.2.32
39
+ - Bump @rnw-scripts/jest-out-of-tree-snapshot-resolver to v1.1.36
40
+ - Bump @rnw-scripts/just-task to v2.3.49
41
+ - Bump react-native-platform-override to v1.9.51
42
+
43
+ ## 0.0.0-canary.279
44
+
45
+ Fri, 10 Jan 2025 06:23:18 GMT
46
+
47
+ ### Changes
48
+
49
+ - Integrate 12/20 (34109996+chiaramooney@users.noreply.github.com)
50
+ - Bump @rnw-scripts/eslint-config to v1.2.31
51
+ - Bump @rnw-scripts/jest-out-of-tree-snapshot-resolver to v1.1.35
52
+ - Bump @rnw-scripts/just-task to v2.3.48
53
+ - Bump react-native-platform-override to v1.9.50
54
+
55
+ ## 0.0.0-canary.278
56
+
57
+ Wed, 08 Jan 2025 06:31:13 GMT
58
+
59
+ ### Changes
60
+
61
+ - Integrate 12/10 (34109996+chiaramooney@users.noreply.github.com)
62
+
63
+ ## 0.0.0-canary.277
64
+
65
+ Fri, 20 Dec 2024 06:22:28 GMT
66
+
67
+ ### Changes
68
+
69
+ - integrate 0.78.0-nightly-20241201-91e217ff5 (email not defined)
39
70
 
40
71
  ## 0.0.0-canary.276
41
72
 
@@ -26,6 +26,7 @@ export type AnimationConfig = $ReadOnly<{
26
26
  onComplete?: ?EndCallback,
27
27
  iterations?: number,
28
28
  isLooping?: boolean,
29
+ debugID?: ?string,
29
30
  ...
30
31
  }>;
31
32
 
@@ -43,6 +44,7 @@ export default class Animation {
43
44
  __isInteraction: boolean;
44
45
  __isLooping: ?boolean;
45
46
  __iterations: number;
47
+ __debugID: ?string;
46
48
 
47
49
  constructor(config: AnimationConfig) {
48
50
  this.#useNativeDriver = NativeAnimatedHelper.shouldUseNativeDriver(config);
@@ -51,6 +53,9 @@ export default class Animation {
51
53
  this.__isInteraction = config.isInteraction ?? !this.#useNativeDriver;
52
54
  this.__isLooping = config.isLooping;
53
55
  this.__iterations = config.iterations ?? 1;
56
+ if (__DEV__) {
57
+ this.__debugID = config.debugID;
58
+ }
54
59
  }
55
60
 
56
61
  start(
@@ -74,7 +79,16 @@ export default class Animation {
74
79
 
75
80
  stop(): void {
76
81
  if (this.#nativeID != null) {
77
- NativeAnimatedHelper.API.stopAnimation(this.#nativeID);
82
+ const nativeID = this.#nativeID;
83
+ const identifier = `${nativeID}:stopAnimation`;
84
+ try {
85
+ // This is only required when singleOpBatching is used, as otherwise
86
+ // we flush calls immediately when there's no pending queue.
87
+ NativeAnimatedHelper.API.setWaitingForIdentifier(identifier);
88
+ NativeAnimatedHelper.API.stopAnimation(nativeID);
89
+ } finally {
90
+ NativeAnimatedHelper.API.unsetWaitingForIdentifier(identifier);
91
+ }
78
92
  }
79
93
  this.__active = false;
80
94
  }
@@ -168,4 +182,11 @@ export default class Animation {
168
182
  callback(result);
169
183
  }
170
184
  }
185
+
186
+ __getDebugID(): ?string {
187
+ if (__DEV__) {
188
+ return this.__debugID;
189
+ }
190
+ return undefined;
191
+ }
171
192
  }
@@ -66,6 +66,7 @@ export default class DecayAnimation extends Animation {
66
66
  velocity: this._velocity,
67
67
  iterations: this.__iterations,
68
68
  platformConfig: this._platformConfig,
69
+ debugID: this.__getDebugID(),
69
70
  };
70
71
  }
71
72
 
@@ -194,6 +194,7 @@ export default class SpringAnimation extends Animation {
194
194
  toValue: this._toValue,
195
195
  iterations: this.__iterations,
196
196
  platformConfig: this._platformConfig,
197
+ debugID: this.__getDebugID(),
197
198
  };
198
199
  }
199
200
 
@@ -99,6 +99,7 @@ export default class TimingAnimation extends Animation {
99
99
  toValue: this._toValue,
100
100
  iterations: this.__iterations,
101
101
  platformConfig: this._platformConfig,
102
+ debugID: this.__getDebugID(),
102
103
  };
103
104
  }
104
105
 
@@ -13,6 +13,7 @@
13
13
  import type {PlatformConfig} from '../AnimatedPlatformConfig';
14
14
  import type {InterpolationConfigType} from './AnimatedInterpolation';
15
15
  import type AnimatedNode from './AnimatedNode';
16
+ import type {AnimatedNodeConfig} from './AnimatedNode';
16
17
 
17
18
  import AnimatedInterpolation from './AnimatedInterpolation';
18
19
  import AnimatedValue from './AnimatedValue';
@@ -22,8 +23,12 @@ export default class AnimatedAddition extends AnimatedWithChildren {
22
23
  _a: AnimatedNode;
23
24
  _b: AnimatedNode;
24
25
 
25
- constructor(a: AnimatedNode | number, b: AnimatedNode | number) {
26
- super();
26
+ constructor(
27
+ a: AnimatedNode | number,
28
+ b: AnimatedNode | number,
29
+ config?: ?AnimatedNodeConfig,
30
+ ) {
31
+ super(config);
27
32
  this._a = typeof a === 'number' ? new AnimatedValue(a) : a;
28
33
  this._b = typeof b === 'number' ? new AnimatedValue(b) : b;
29
34
  }
@@ -47,6 +52,7 @@ export default class AnimatedAddition extends AnimatedWithChildren {
47
52
  __attach(): void {
48
53
  this._a.__addChild(this);
49
54
  this._b.__addChild(this);
55
+ super.__attach();
50
56
  }
51
57
 
52
58
  __detach(): void {
@@ -59,6 +65,7 @@ export default class AnimatedAddition extends AnimatedWithChildren {
59
65
  return {
60
66
  type: 'addition',
61
67
  input: [this._a.__getNativeTag(), this._b.__getNativeTag()],
68
+ debugID: this.__getDebugID(),
62
69
  };
63
70
  }
64
71
  }
@@ -14,6 +14,7 @@ import type {ProcessedColorValue} from '../../StyleSheet/processColor';
14
14
  import type {ColorValue} from '../../StyleSheet/StyleSheet';
15
15
  import type {NativeColorValue} from '../../StyleSheet/StyleSheetTypes';
16
16
  import type {PlatformConfig} from '../AnimatedPlatformConfig';
17
+ import type {AnimatedNodeConfig} from './AnimatedNode';
17
18
 
18
19
  import NativeAnimatedHelper from '../../../src/private/animated/NativeAnimatedHelper';
19
20
  import normalizeColor from '../../StyleSheet/normalizeColor';
@@ -22,6 +23,7 @@ import AnimatedValue, {flushValue} from './AnimatedValue';
22
23
  import AnimatedWithChildren from './AnimatedWithChildren';
23
24
 
24
25
  export type AnimatedColorConfig = $ReadOnly<{
26
+ ...AnimatedNodeConfig,
25
27
  useNativeDriver: boolean,
26
28
  }>;
27
29
 
@@ -118,7 +120,7 @@ export default class AnimatedColor extends AnimatedWithChildren {
118
120
  _suspendCallbacks: number = 0;
119
121
 
120
122
  constructor(valueIn?: InputValue, config?: ?AnimatedColorConfig) {
121
- super();
123
+ super(config);
122
124
 
123
125
  let value: RgbaValue | RgbaAnimatedValue | ColorValue =
124
126
  valueIn ?? defaultColor;
@@ -315,6 +317,7 @@ export default class AnimatedColor extends AnimatedWithChildren {
315
317
  b: this.b.__getNativeTag(),
316
318
  a: this.a.__getNativeTag(),
317
319
  nativeColor: this.nativeColor,
320
+ debugID: this.__getDebugID(),
318
321
  };
319
322
  }
320
323
  }
@@ -13,6 +13,7 @@
13
13
  import type {PlatformConfig} from '../AnimatedPlatformConfig';
14
14
  import type {InterpolationConfigType} from './AnimatedInterpolation';
15
15
  import type AnimatedNode from './AnimatedNode';
16
+ import type {AnimatedNodeConfig} from './AnimatedNode';
16
17
 
17
18
  import AnimatedInterpolation from './AnimatedInterpolation';
18
19
  import AnimatedWithChildren from './AnimatedWithChildren';
@@ -24,8 +25,13 @@ export default class AnimatedDiffClamp extends AnimatedWithChildren {
24
25
  _value: number;
25
26
  _lastValue: number;
26
27
 
27
- constructor(a: AnimatedNode, min: number, max: number) {
28
- super();
28
+ constructor(
29
+ a: AnimatedNode,
30
+ min: number,
31
+ max: number,
32
+ config?: ?AnimatedNodeConfig,
33
+ ) {
34
+ super(config);
29
35
 
30
36
  this._a = a;
31
37
  this._min = min;
@@ -54,6 +60,7 @@ export default class AnimatedDiffClamp extends AnimatedWithChildren {
54
60
 
55
61
  __attach(): void {
56
62
  this._a.__addChild(this);
63
+ super.__attach();
57
64
  }
58
65
 
59
66
  __detach(): void {
@@ -67,6 +74,7 @@ export default class AnimatedDiffClamp extends AnimatedWithChildren {
67
74
  input: this._a.__getNativeTag(),
68
75
  min: this._min,
69
76
  max: this._max,
77
+ debugID: this.__getDebugID(),
70
78
  };
71
79
  }
72
80
  }
@@ -12,6 +12,7 @@
12
12
 
13
13
  import type {PlatformConfig} from '../AnimatedPlatformConfig';
14
14
  import type {InterpolationConfigType} from './AnimatedInterpolation';
15
+ import type {AnimatedNodeConfig} from './AnimatedNode';
15
16
 
16
17
  import AnimatedInterpolation from './AnimatedInterpolation';
17
18
  import AnimatedNode from './AnimatedNode';
@@ -23,8 +24,12 @@ export default class AnimatedDivision extends AnimatedWithChildren {
23
24
  _b: AnimatedNode;
24
25
  _warnedAboutDivideByZero: boolean = false;
25
26
 
26
- constructor(a: AnimatedNode | number, b: AnimatedNode | number) {
27
- super();
27
+ constructor(
28
+ a: AnimatedNode | number,
29
+ b: AnimatedNode | number,
30
+ config?: ?AnimatedNodeConfig,
31
+ ) {
32
+ super(config);
28
33
  if (b === 0 || (b instanceof AnimatedNode && b.__getValue() === 0)) {
29
34
  console.error('Detected potential division by zero in AnimatedDivision');
30
35
  }
@@ -63,6 +68,7 @@ export default class AnimatedDivision extends AnimatedWithChildren {
63
68
  __attach(): void {
64
69
  this._a.__addChild(this);
65
70
  this._b.__addChild(this);
71
+ super.__attach();
66
72
  }
67
73
 
68
74
  __detach(): void {
@@ -75,6 +81,7 @@ export default class AnimatedDivision extends AnimatedWithChildren {
75
81
  return {
76
82
  type: 'division',
77
83
  input: [this._a.__getNativeTag(), this._b.__getNativeTag()],
84
+ debugID: this.__getDebugID(),
78
85
  };
79
86
  }
80
87
  }
@@ -14,6 +14,7 @@
14
14
 
15
15
  import type {PlatformConfig} from '../AnimatedPlatformConfig';
16
16
  import type AnimatedNode from './AnimatedNode';
17
+ import type {AnimatedNodeConfig} from './AnimatedNode';
17
18
 
18
19
  import NativeAnimatedHelper from '../../../src/private/animated/NativeAnimatedHelper';
19
20
  import {validateInterpolation} from '../../../src/private/animated/NativeAnimatedValidation';
@@ -26,6 +27,7 @@ import invariant from 'invariant';
26
27
  type ExtrapolateType = 'extend' | 'identity' | 'clamp';
27
28
 
28
29
  export type InterpolationConfigType<OutputT: number | string> = $ReadOnly<{
30
+ ...AnimatedNodeConfig,
29
31
  inputRange: $ReadOnlyArray<number>,
30
32
  outputRange: $ReadOnlyArray<OutputT>,
31
33
  easing?: (input: number) => number,
@@ -327,7 +329,7 @@ export default class AnimatedInterpolation<
327
329
  _interpolation: ?(input: number) => OutputT;
328
330
 
329
331
  constructor(parent: AnimatedNode, config: InterpolationConfigType<OutputT>) {
330
- super();
332
+ super(config);
331
333
  this._parent = parent;
332
334
  this._config = config;
333
335
 
@@ -374,6 +376,7 @@ export default class AnimatedInterpolation<
374
376
 
375
377
  __attach(): void {
376
378
  this._parent.__addChild(this);
379
+ super.__attach();
377
380
  }
378
381
 
379
382
  __detach(): void {
@@ -411,6 +414,7 @@ export default class AnimatedInterpolation<
411
414
  extrapolateRight:
412
415
  this._config.extrapolateRight || this._config.extrapolate || 'extend',
413
416
  type: 'interpolation',
417
+ debugID: this.__getDebugID(),
414
418
  };
415
419
  }
416
420
  }
@@ -13,6 +13,7 @@
13
13
  import type {PlatformConfig} from '../AnimatedPlatformConfig';
14
14
  import type {InterpolationConfigType} from './AnimatedInterpolation';
15
15
  import type AnimatedNode from './AnimatedNode';
16
+ import type {AnimatedNodeConfig} from './AnimatedNode';
16
17
 
17
18
  import AnimatedInterpolation from './AnimatedInterpolation';
18
19
  import AnimatedWithChildren from './AnimatedWithChildren';
@@ -21,8 +22,8 @@ export default class AnimatedModulo extends AnimatedWithChildren {
21
22
  _a: AnimatedNode;
22
23
  _modulus: number;
23
24
 
24
- constructor(a: AnimatedNode, modulus: number) {
25
- super();
25
+ constructor(a: AnimatedNode, modulus: number, config?: ?AnimatedNodeConfig) {
26
+ super(config);
26
27
  this._a = a;
27
28
  this._modulus = modulus;
28
29
  }
@@ -46,6 +47,7 @@ export default class AnimatedModulo extends AnimatedWithChildren {
46
47
 
47
48
  __attach(): void {
48
49
  this._a.__addChild(this);
50
+ super.__attach();
49
51
  }
50
52
 
51
53
  __detach(): void {
@@ -58,6 +60,7 @@ export default class AnimatedModulo extends AnimatedWithChildren {
58
60
  type: 'modulus',
59
61
  input: this._a.__getNativeTag(),
60
62
  modulus: this._modulus,
63
+ debugID: this.__getDebugID(),
61
64
  };
62
65
  }
63
66
  }
@@ -13,6 +13,7 @@
13
13
  import type {PlatformConfig} from '../AnimatedPlatformConfig';
14
14
  import type {InterpolationConfigType} from './AnimatedInterpolation';
15
15
  import type AnimatedNode from './AnimatedNode';
16
+ import type {AnimatedNodeConfig} from './AnimatedNode';
16
17
 
17
18
  import AnimatedInterpolation from './AnimatedInterpolation';
18
19
  import AnimatedValue from './AnimatedValue';
@@ -22,8 +23,12 @@ export default class AnimatedMultiplication extends AnimatedWithChildren {
22
23
  _a: AnimatedNode;
23
24
  _b: AnimatedNode;
24
25
 
25
- constructor(a: AnimatedNode | number, b: AnimatedNode | number) {
26
- super();
26
+ constructor(
27
+ a: AnimatedNode | number,
28
+ b: AnimatedNode | number,
29
+ config?: ?AnimatedNodeConfig,
30
+ ) {
31
+ super(config);
27
32
  this._a = typeof a === 'number' ? new AnimatedValue(a) : a;
28
33
  this._b = typeof b === 'number' ? new AnimatedValue(b) : b;
29
34
  }
@@ -46,6 +51,7 @@ export default class AnimatedMultiplication extends AnimatedWithChildren {
46
51
  __attach(): void {
47
52
  this._a.__addChild(this);
48
53
  this._b.__addChild(this);
54
+ super.__attach();
49
55
  }
50
56
 
51
57
  __detach(): void {
@@ -58,6 +64,7 @@ export default class AnimatedMultiplication extends AnimatedWithChildren {
58
64
  return {
59
65
  type: 'multiplication',
60
66
  input: [this._a.__getNativeTag(), this._b.__getNativeTag()],
67
+ debugID: this.__getDebugID(),
61
68
  };
62
69
  }
63
70
  }