@office-iss/react-native-win32 0.78.0-preview.1 → 0.78.0-preview.3
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.
package/CHANGELOG.json
CHANGED
|
@@ -2,7 +2,37 @@
|
|
|
2
2
|
"name": "@office-iss/react-native-win32",
|
|
3
3
|
"entries": [
|
|
4
4
|
{
|
|
5
|
-
"date": "
|
|
5
|
+
"date": "Mon, 24 Feb 2025 16:33:15 GMT",
|
|
6
|
+
"version": "0.78.0-preview.3",
|
|
7
|
+
"tag": "@office-iss/react-native-win32_v0.78.0-preview.3",
|
|
8
|
+
"comments": {
|
|
9
|
+
"prerelease": [
|
|
10
|
+
{
|
|
11
|
+
"author": "email not defined",
|
|
12
|
+
"package": "@office-iss/react-native-win32",
|
|
13
|
+
"commit": "de0074f7cf70b480a11e1a982f6bee71a673d489",
|
|
14
|
+
"comment": "integrate 0.78-rc4"
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"date": "Thu, 06 Feb 2025 23:51:16 GMT",
|
|
21
|
+
"version": "0.78.0-preview.2",
|
|
22
|
+
"tag": "@office-iss/react-native-win32_v0.78.0-preview.2",
|
|
23
|
+
"comments": {
|
|
24
|
+
"prerelease": [
|
|
25
|
+
{
|
|
26
|
+
"author": "email not defined",
|
|
27
|
+
"package": "@office-iss/react-native-win32",
|
|
28
|
+
"commit": "842d2e5cb630152c2cccd003253da0c8d86700f8",
|
|
29
|
+
"comment": "integrate rn 0.78-rc3"
|
|
30
|
+
}
|
|
31
|
+
]
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"date": "Tue, 28 Jan 2025 18:55:49 GMT",
|
|
6
36
|
"version": "0.78.0-preview.1",
|
|
7
37
|
"tag": "@office-iss/react-native-win32_v0.78.0-preview.1",
|
|
8
38
|
"comments": {
|
package/CHANGELOG.md
CHANGED
|
@@ -1,17 +1,33 @@
|
|
|
1
1
|
# Change Log - @office-iss/react-native-win32
|
|
2
2
|
|
|
3
|
-
<!-- This log was last generated on
|
|
3
|
+
<!-- This log was last generated on Mon, 24 Feb 2025 16:33:15 GMT and should not be manually modified. -->
|
|
4
4
|
|
|
5
5
|
<!-- Start content -->
|
|
6
6
|
|
|
7
|
-
## 0.78.0-preview.
|
|
7
|
+
## 0.78.0-preview.3
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Mon, 24 Feb 2025 16:33:15 GMT
|
|
10
10
|
|
|
11
11
|
### Changes
|
|
12
12
|
|
|
13
|
-
-
|
|
13
|
+
- integrate 0.78-rc4 (email not defined)
|
|
14
14
|
|
|
15
|
+
## 0.78.0-preview.2
|
|
16
|
+
|
|
17
|
+
Thu, 06 Feb 2025 23:51:16 GMT
|
|
18
|
+
|
|
19
|
+
### Changes
|
|
20
|
+
|
|
21
|
+
- integrate rn 0.78-rc3 (email not defined)
|
|
22
|
+
|
|
23
|
+
## 0.78.0-preview.1
|
|
24
|
+
|
|
25
|
+
Tue, 28 Jan 2025 18:55:49 GMT
|
|
26
|
+
|
|
27
|
+
### Changes
|
|
28
|
+
|
|
29
|
+
- Promote 0.78 to preview (email not defined)
|
|
30
|
+
|
|
15
31
|
## 0.0.0-canary.281
|
|
16
32
|
|
|
17
33
|
Thu, 23 Jan 2025 06:24:57 GMT
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
import type {EventSubscription} from '../../vendor/emitter/EventEmitter';
|
|
12
|
+
import type {PlatformConfig} from '../AnimatedPlatformConfig';
|
|
12
13
|
import type Animation, {EndCallback} from '../animations/Animation';
|
|
13
14
|
import type {InterpolationConfigType} from './AnimatedInterpolation';
|
|
14
15
|
import type AnimatedNode from './AnimatedNode';
|
|
@@ -84,6 +85,7 @@ function _executeAsAnimatedBatch(id: string, operation: () => void) {
|
|
|
84
85
|
* See https://reactnative.dev/docs/animatedvalue
|
|
85
86
|
*/
|
|
86
87
|
export default class AnimatedValue extends AnimatedWithChildren {
|
|
88
|
+
#attached: boolean = false;
|
|
87
89
|
#updateSubscription: ?EventSubscription = null;
|
|
88
90
|
|
|
89
91
|
_value: number;
|
|
@@ -106,14 +108,8 @@ export default class AnimatedValue extends AnimatedWithChildren {
|
|
|
106
108
|
}
|
|
107
109
|
|
|
108
110
|
__attach(): void {
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
// are added. However, there is a global `onUserDrivenAnimationEnded`
|
|
112
|
-
// listener that relies on `onAnimatedValueUpdate` having fired to update
|
|
113
|
-
// the values in JavaScript. If that listener is removed, this could be
|
|
114
|
-
// re-optimized.
|
|
115
|
-
this.#ensureUpdateSubscriptionExists();
|
|
116
|
-
}
|
|
111
|
+
this.#attached = true;
|
|
112
|
+
this.#ensureUpdateSubscriptionExists();
|
|
117
113
|
}
|
|
118
114
|
|
|
119
115
|
__detach(): void {
|
|
@@ -125,16 +121,34 @@ export default class AnimatedValue extends AnimatedWithChildren {
|
|
|
125
121
|
}
|
|
126
122
|
this.stopAnimation();
|
|
127
123
|
super.__detach();
|
|
124
|
+
this.#attached = false;
|
|
128
125
|
}
|
|
129
126
|
|
|
130
127
|
__getValue(): number {
|
|
131
128
|
return this._value + this._offset;
|
|
132
129
|
}
|
|
133
130
|
|
|
131
|
+
__makeNative(platformConfig: ?PlatformConfig): void {
|
|
132
|
+
super.__makeNative(platformConfig);
|
|
133
|
+
this.#ensureUpdateSubscriptionExists();
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* NOTE: In theory, we should only need to call this when any listeners
|
|
138
|
+
* are added. However, there is a global `onUserDrivenAnimationEnded`
|
|
139
|
+
* listener that relies on `onAnimatedValueUpdate` having fired to update
|
|
140
|
+
* the values in JavaScript. If that listener is removed, this could be
|
|
141
|
+
* re-optimized.
|
|
142
|
+
*/
|
|
134
143
|
#ensureUpdateSubscriptionExists(): void {
|
|
135
144
|
if (this.#updateSubscription != null) {
|
|
136
145
|
return;
|
|
137
146
|
}
|
|
147
|
+
// The order in which `__attach` and `__makeNative` are called is not
|
|
148
|
+
// deterministic, and we only want to do this when both have occurred.
|
|
149
|
+
if (!this.#attached || !this.__isNative) {
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
138
152
|
const nativeTag = this.__getNativeTag();
|
|
139
153
|
NativeAnimatedAPI.startListeningToAnimatedNodeValue(nativeTag);
|
|
140
154
|
const subscription: EventSubscription =
|
|
@@ -276,6 +276,20 @@ function useAnimatedPropsLifecycle_insertionEffects(node: AnimatedProps): void {
|
|
|
276
276
|
// if the queue is empty. When multiple animated components are mounted at
|
|
277
277
|
// the same time. Only first component flushes the queue and the others will noop.
|
|
278
278
|
NativeAnimatedHelper.API.flushQueue();
|
|
279
|
+
let drivenAnimationEndedListener: ?EventSubscription = null;
|
|
280
|
+
if (node.__isNative) {
|
|
281
|
+
drivenAnimationEndedListener =
|
|
282
|
+
NativeAnimatedHelper.nativeEventEmitter.addListener(
|
|
283
|
+
'onUserDrivenAnimationEnded',
|
|
284
|
+
data => {
|
|
285
|
+
node.update();
|
|
286
|
+
},
|
|
287
|
+
);
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
return () => {
|
|
291
|
+
drivenAnimationEndedListener?.remove();
|
|
292
|
+
};
|
|
279
293
|
});
|
|
280
294
|
|
|
281
295
|
useInsertionEffect(() => {
|
|
@@ -287,17 +301,6 @@ function useAnimatedPropsLifecycle_insertionEffects(node: AnimatedProps): void {
|
|
|
287
301
|
|
|
288
302
|
useInsertionEffect(() => {
|
|
289
303
|
node.__attach();
|
|
290
|
-
let drivenAnimationEndedListener: ?EventSubscription = null;
|
|
291
|
-
|
|
292
|
-
if (node.__isNative) {
|
|
293
|
-
drivenAnimationEndedListener =
|
|
294
|
-
NativeAnimatedHelper.nativeEventEmitter.addListener(
|
|
295
|
-
'onUserDrivenAnimationEnded',
|
|
296
|
-
data => {
|
|
297
|
-
node.update();
|
|
298
|
-
},
|
|
299
|
-
);
|
|
300
|
-
}
|
|
301
304
|
if (prevNodeRef.current != null) {
|
|
302
305
|
const prevNode = prevNodeRef.current;
|
|
303
306
|
// TODO: Stop restoring default values (unless `reset` is called).
|
|
@@ -312,8 +315,6 @@ function useAnimatedPropsLifecycle_insertionEffects(node: AnimatedProps): void {
|
|
|
312
315
|
} else {
|
|
313
316
|
prevNodeRef.current = node;
|
|
314
317
|
}
|
|
315
|
-
|
|
316
|
-
drivenAnimationEndedListener?.remove();
|
|
317
318
|
};
|
|
318
319
|
}, [node]);
|
|
319
320
|
}
|
package/overrides.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@office-iss/react-native-win32",
|
|
3
|
-
"version": "0.78.0-preview.
|
|
3
|
+
"version": "0.78.0-preview.3",
|
|
4
4
|
"description": "Implementation of react native on top of Office's Win32 platform.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -30,13 +30,13 @@
|
|
|
30
30
|
"@react-native-community/cli-platform-android": "15.0.0-alpha.2",
|
|
31
31
|
"@react-native-community/cli-platform-ios": "15.0.0-alpha.2",
|
|
32
32
|
"@react-native/assets": "1.0.0",
|
|
33
|
-
"@react-native/assets-registry": "0.78.0-rc.
|
|
34
|
-
"@react-native/codegen": "0.78.0-rc.
|
|
35
|
-
"@react-native/community-cli-plugin": "0.78.0-rc.
|
|
36
|
-
"@react-native/gradle-plugin": "0.78.0-rc.
|
|
37
|
-
"@react-native/js-polyfills": "0.78.0-rc.
|
|
38
|
-
"@react-native/normalize-colors": "0.78.0-rc.
|
|
39
|
-
"@react-native/virtualized-lists": "0.78.0-rc.
|
|
33
|
+
"@react-native/assets-registry": "0.78.0-rc.4",
|
|
34
|
+
"@react-native/codegen": "0.78.0-rc.4",
|
|
35
|
+
"@react-native/community-cli-plugin": "0.78.0-rc.4",
|
|
36
|
+
"@react-native/gradle-plugin": "0.78.0-rc.4",
|
|
37
|
+
"@react-native/js-polyfills": "0.78.0-rc.4",
|
|
38
|
+
"@react-native/normalize-colors": "0.78.0-rc.4",
|
|
39
|
+
"@react-native/virtualized-lists": "0.78.0-rc.4",
|
|
40
40
|
"abort-controller": "^3.0.0",
|
|
41
41
|
"anser": "^1.4.9",
|
|
42
42
|
"ansi-regex": "^5.0.0",
|
|
@@ -89,14 +89,14 @@
|
|
|
89
89
|
"just-scripts": "^1.3.3",
|
|
90
90
|
"prettier": "2.8.8",
|
|
91
91
|
"react": "19.0.0",
|
|
92
|
-
"react-native": "0.78.0-rc.
|
|
92
|
+
"react-native": "0.78.0-rc.4",
|
|
93
93
|
"react-native-platform-override": "^1.9.51",
|
|
94
94
|
"typescript": "5.0.4"
|
|
95
95
|
},
|
|
96
96
|
"peerDependencies": {
|
|
97
97
|
"@types/react": "^19.0.0",
|
|
98
98
|
"react": "^19.0.0",
|
|
99
|
-
"react-native": "0.78.0-rc.
|
|
99
|
+
"react-native": "0.78.0-rc.4"
|
|
100
100
|
},
|
|
101
101
|
"beachball": {
|
|
102
102
|
"defaultNpmTag": "preview",
|