@office-iss/react-native-win32 0.0.0-canary.293 → 0.0.0-canary.294
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/.flowconfig +8 -1
- package/CHANGELOG.json +31 -1
- package/CHANGELOG.md +14 -6
- package/IntegrationTests/ImageCachePolicyTest.js +1 -1
- package/IntegrationTests/LayoutEventsTest.js +1 -4
- package/Libraries/Animated/AnimatedExports.js.flow +126 -0
- package/Libraries/Animated/AnimatedImplementation.js +0 -121
- package/Libraries/Animated/animations/Animation.js +8 -4
- package/Libraries/Animated/nodes/AnimatedNode.js +2 -2
- package/Libraries/Animated/nodes/AnimatedValue.js +8 -4
- package/Libraries/BatchedBridge/NativeModules.js +2 -0
- package/Libraries/Blob/BlobManager.js +1 -0
- package/Libraries/Components/ScrollView/ScrollView.d.ts +1 -1
- package/Libraries/Components/ScrollView/ScrollView.js +1 -0
- package/Libraries/Components/TextInput/TextInput.js +1 -0
- package/Libraries/Components/View/ViewAccessibility.js +16 -0
- package/Libraries/Core/ReactNativeVersion.js +1 -1
- package/Libraries/NativeComponent/BaseViewConfig.android.js +1 -0
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +1 -0
- package/Libraries/ReactNative/FabricUIManager.js +10 -0
- package/Libraries/ReactNative/getNativeComponentAttributes.js +1 -0
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js.flow +51 -0
- package/Libraries/Renderer/shims/ReactFabric.js +1 -3
- package/Libraries/Renderer/shims/ReactFeatureFlags.js +1 -3
- package/Libraries/Renderer/shims/ReactNative.js +1 -3
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +1 -3
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +1 -3
- package/Libraries/Settings/Settings.ios.js +1 -0
- package/overrides.json +6 -6
- package/package.json +16 -16
- package/src/private/featureflags/ReactNativeFeatureFlags.js +31 -6
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +7 -2
- package/src/private/specs_DEPRECATED/modules/NativeAnimatedModule.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeAnimatedTurboModule.js +1 -1
- package/src/private/webapis/performance/PerformanceEntry.js +6 -1
- package/src/private/webapis/performance/internals/RawPerformanceEntry.js +3 -0
- package/src/private/webapis/performance/specs/NativePerformance.js +10 -1
- package/types/index.d.ts +0 -1
- package/Libraries/NewAppScreen/components/Colors.js +0 -19
- package/Libraries/NewAppScreen/components/DebugInstructions.js +0 -39
- package/Libraries/NewAppScreen/components/Header.js +0 -75
- package/Libraries/NewAppScreen/components/HermesBadge.js +0 -51
- package/Libraries/NewAppScreen/components/LearnMoreLinks.js +0 -146
- package/Libraries/NewAppScreen/components/ReloadInstructions.js +0 -37
- package/Libraries/NewAppScreen/components/logo.png +0 -0
- package/Libraries/NewAppScreen/index.js +0 -25
- package/types/modules/LaunchScreen.d.ts +0 -26
package/.flowconfig
CHANGED
|
@@ -5,6 +5,9 @@
|
|
|
5
5
|
.*/*[.]macos.js
|
|
6
6
|
.*/*[.]windesktop.js
|
|
7
7
|
|
|
8
|
+
; Ignore fb_internal modules
|
|
9
|
+
<PROJECT_ROOT>/packages/react-native/src/fb_internal/.*
|
|
10
|
+
|
|
8
11
|
; These modules have base components and win32 versions.
|
|
9
12
|
; Ideally we'd delete the base versions of files that had .win32 overrides as part of the
|
|
10
13
|
; initRNLibraries build step
|
|
@@ -39,6 +42,10 @@
|
|
|
39
42
|
<PROJECT_ROOT>/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js
|
|
40
43
|
<PROJECT_ROOT>/Libraries/LogBox/UI/LogBoxStyle.js
|
|
41
44
|
|
|
45
|
+
<PROJECT_ROOT>/IntegrationTests/ImageCachePolicyTest.js
|
|
46
|
+
<PROJECT_ROOT>/IntegrationTests/LayoutEventsTest.js
|
|
47
|
+
<PROJECT_ROOT>/IntegrationTests/IntegrationTestsApp.js
|
|
48
|
+
|
|
42
49
|
; Ignore react-native files in node_modules since they are copied into project root
|
|
43
50
|
.*/node_modules/react-native/.*
|
|
44
51
|
|
|
@@ -167,4 +174,4 @@ untyped-import
|
|
|
167
174
|
untyped-type-import
|
|
168
175
|
|
|
169
176
|
[version]
|
|
170
|
-
^0.
|
|
177
|
+
^0.269.1
|
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": "Sat, 26 Jul 2025 05:25:35 GMT",
|
|
6
|
+
"version": "0.0.0-canary.294",
|
|
7
|
+
"tag": "@office-iss/react-native-win32_v0.0.0-canary.294",
|
|
8
|
+
"comments": {
|
|
9
|
+
"prerelease": [
|
|
10
|
+
{
|
|
11
|
+
"author": "54227869+anupriya13@users.noreply.github.com",
|
|
12
|
+
"package": "@office-iss/react-native-win32",
|
|
13
|
+
"commit": "d27755fed3d7f5451f73a8ba5b2027bc4023ea83",
|
|
14
|
+
"comment": "Integrate RN Nightly Build 0.80.0-nightly-20250506-3ac16dd6a"
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"date": "Fri, 18 Jul 2025 05:27:00 GMT",
|
|
21
|
+
"version": "0.0.0-canary.293",
|
|
22
|
+
"tag": "@office-iss/react-native-win32_v0.0.0-canary.293",
|
|
23
|
+
"comments": {
|
|
24
|
+
"none": [
|
|
25
|
+
{
|
|
26
|
+
"author": "chpurrer@meta.com",
|
|
27
|
+
"package": "@office-iss/react-native-win32",
|
|
28
|
+
"commit": "af04d4d517f95d7773e4744edf2cef42fa0870c8",
|
|
29
|
+
"comment": "[react-native-windows] Use new LongLivedObject.h header namespace"
|
|
30
|
+
}
|
|
31
|
+
]
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"date": "Thu, 17 Jul 2025 05:27:00 GMT",
|
|
6
36
|
"version": "0.0.0-canary.293",
|
|
7
37
|
"tag": "@office-iss/react-native-win32_v0.0.0-canary.293",
|
|
8
38
|
"comments": {
|
package/CHANGELOG.md
CHANGED
|
@@ -1,19 +1,27 @@
|
|
|
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 Sat, 26 Jul 2025 05:25:35 GMT and should not be manually modified. -->
|
|
4
4
|
|
|
5
5
|
<!-- Start content -->
|
|
6
6
|
|
|
7
|
-
## 0.0.0-canary.
|
|
7
|
+
## 0.0.0-canary.294
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Sat, 26 Jul 2025 05:25:35 GMT
|
|
10
10
|
|
|
11
11
|
### Changes
|
|
12
12
|
|
|
13
|
-
- Integrate RN Nightly Build 0.80.0-nightly-
|
|
14
|
-
- Bump @rnw-scripts/just-task to v2.3.54
|
|
15
|
-
- Bump react-native-platform-override to v1.9.56
|
|
13
|
+
- Integrate RN Nightly Build 0.80.0-nightly-20250506-3ac16dd6a (54227869+anupriya13@users.noreply.github.com)
|
|
16
14
|
|
|
15
|
+
## 0.0.0-canary.293
|
|
16
|
+
|
|
17
|
+
Thu, 17 Jul 2025 05:27:00 GMT
|
|
18
|
+
|
|
19
|
+
### Changes
|
|
20
|
+
|
|
21
|
+
- Integrate RN Nightly Build 0.80.0-nightly-20250428-9efcdc091 (10109130+sharath2727@users.noreply.github.com)
|
|
22
|
+
- Bump @rnw-scripts/just-task to v2.3.54
|
|
23
|
+
- Bump react-native-platform-override to v1.9.56
|
|
24
|
+
|
|
17
25
|
## 0.0.0-canary.292
|
|
18
26
|
|
|
19
27
|
Thu, 03 Jul 2025 05:24:24 GMT
|
|
@@ -10,11 +10,8 @@
|
|
|
10
10
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
|
+
import type {LayoutChangeEvent, LayoutRectangle} from 'react-native';
|
|
13
14
|
import type {ViewStyleProp} from 'react-native/Libraries/StyleSheet/StyleSheet';
|
|
14
|
-
import type {
|
|
15
|
-
LayoutChangeEvent,
|
|
16
|
-
LayoutRectangle,
|
|
17
|
-
} from 'react-native/Libraries/Types/CoreEventTypes';
|
|
18
15
|
|
|
19
16
|
const React = require('react');
|
|
20
17
|
const ReactNative = require('react-native');
|
|
@@ -40,23 +40,149 @@ export type {default as AnimatedSubtraction} from './nodes/AnimatedSubtraction';
|
|
|
40
40
|
export type {WithAnimatedValue} from './createAnimatedComponent';
|
|
41
41
|
export type {AnimatedComponentType as AnimatedComponent} from './createAnimatedComponent';
|
|
42
42
|
|
|
43
|
+
/**
|
|
44
|
+
* Creates a new Animated value composed from two Animated values added
|
|
45
|
+
* together.
|
|
46
|
+
*
|
|
47
|
+
* See https://reactnative.dev/docs/animated#add
|
|
48
|
+
*/
|
|
43
49
|
export const add = AnimatedImplementation.add;
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Imperative API to attach an animated value to an event on a view. Prefer
|
|
53
|
+
* using `Animated.event` with `useNativeDrive: true` if possible.
|
|
54
|
+
*
|
|
55
|
+
* See https://reactnative.dev/docs/animated#attachnativeevent
|
|
56
|
+
*/
|
|
44
57
|
export const attachNativeEvent = AnimatedImplementation.attachNativeEvent;
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Make any React component Animatable. Used to create `Animated.View`, etc.
|
|
61
|
+
*
|
|
62
|
+
* See https://reactnative.dev/docs/animated#createanimatedcomponent
|
|
63
|
+
*/
|
|
45
64
|
export const createAnimatedComponent =
|
|
46
65
|
AnimatedImplementation.createAnimatedComponent;
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Animates a value from an initial velocity to zero based on a decay
|
|
69
|
+
* coefficient.
|
|
70
|
+
*
|
|
71
|
+
* See https://reactnative.dev/docs/animated#decay
|
|
72
|
+
*/
|
|
47
73
|
export const decay = AnimatedImplementation.decay;
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Starts an animation after the given delay.
|
|
77
|
+
*
|
|
78
|
+
* See https://reactnative.dev/docs/animated#delay
|
|
79
|
+
*/
|
|
48
80
|
export const delay = AnimatedImplementation.delay;
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Create a new Animated value that is limited between 2 values. It uses the
|
|
84
|
+
* difference between the last value so even if the value is far from the
|
|
85
|
+
* bounds it will start changing when the value starts getting closer again.
|
|
86
|
+
*
|
|
87
|
+
* See https://reactnative.dev/docs/animated#diffclamp
|
|
88
|
+
*/
|
|
49
89
|
export const diffClamp = AnimatedImplementation.diffClamp;
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Creates a new Animated value composed by dividing the first Animated value
|
|
93
|
+
* by the second Animated value.
|
|
94
|
+
*
|
|
95
|
+
* See https://reactnative.dev/docs/animated#divide
|
|
96
|
+
*/
|
|
50
97
|
export const divide = AnimatedImplementation.divide;
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Takes an array of mappings and extracts values from each arg accordingly,
|
|
101
|
+
* then calls `setValue` on the mapped outputs.
|
|
102
|
+
*
|
|
103
|
+
* See https://reactnative.dev/docs/animated#event
|
|
104
|
+
*/
|
|
51
105
|
export const event = AnimatedImplementation.event;
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Advanced imperative API for snooping on animated events that are passed in
|
|
109
|
+
* through props. Use values directly where possible.
|
|
110
|
+
*
|
|
111
|
+
* See https://reactnative.dev/docs/animated#forkevent
|
|
112
|
+
*/
|
|
52
113
|
export const forkEvent = AnimatedImplementation.forkEvent;
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* Loops a given animation continuously, so that each time it reaches the
|
|
117
|
+
* end, it resets and begins again from the start.
|
|
118
|
+
*
|
|
119
|
+
* See https://reactnative.dev/docs/animated#loop
|
|
120
|
+
*/
|
|
53
121
|
export const loop = AnimatedImplementation.loop;
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* Creates a new Animated value that is the (non-negative) modulo of the
|
|
125
|
+
* provided Animated value.
|
|
126
|
+
*
|
|
127
|
+
* See https://reactnative.dev/docs/animated#modulo
|
|
128
|
+
*/
|
|
54
129
|
export const modulo = AnimatedImplementation.modulo;
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* Creates a new Animated value composed from two Animated values multiplied
|
|
133
|
+
* together.
|
|
134
|
+
*
|
|
135
|
+
* See https://reactnative.dev/docs/animated#multiply
|
|
136
|
+
*/
|
|
55
137
|
export const multiply = AnimatedImplementation.multiply;
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* Starts an array of animations all at the same time. By default, if one
|
|
141
|
+
* of the animations is stopped, they will all be stopped. You can override
|
|
142
|
+
* this with the `stopTogether` flag.
|
|
143
|
+
*
|
|
144
|
+
* See https://reactnative.dev/docs/animated#parallel
|
|
145
|
+
*/
|
|
56
146
|
export const parallel = AnimatedImplementation.parallel;
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* Starts an array of animations in order, waiting for each to complete
|
|
150
|
+
* before starting the next. If the current running animation is stopped, no
|
|
151
|
+
* following animations will be started.
|
|
152
|
+
*
|
|
153
|
+
* See https://reactnative.dev/docs/animated#sequence
|
|
154
|
+
*/
|
|
57
155
|
export const sequence = AnimatedImplementation.sequence;
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* Animates a value according to an analytical spring model based on
|
|
159
|
+
* damped harmonic oscillation.
|
|
160
|
+
*
|
|
161
|
+
* See https://reactnative.dev/docs/animated#spring
|
|
162
|
+
*/
|
|
58
163
|
export const spring = AnimatedImplementation.spring;
|
|
164
|
+
|
|
165
|
+
/**
|
|
166
|
+
* Array of animations may run in parallel (overlap), but are started in
|
|
167
|
+
* sequence with successive delays. Nice for doing trailing effects.
|
|
168
|
+
*
|
|
169
|
+
* See https://reactnative.dev/docs/animated#stagger
|
|
170
|
+
*/
|
|
59
171
|
export const stagger = AnimatedImplementation.stagger;
|
|
172
|
+
|
|
173
|
+
/**
|
|
174
|
+
* Creates a new Animated value composed by subtracting the second Animated
|
|
175
|
+
* value from the first Animated value.
|
|
176
|
+
*
|
|
177
|
+
* See https://reactnative.dev/docs/animated#subtract
|
|
178
|
+
*/
|
|
60
179
|
export const subtract = AnimatedImplementation.subtract;
|
|
180
|
+
|
|
181
|
+
/**
|
|
182
|
+
* Animates a value along a timed easing curve. The Easing module has tons of
|
|
183
|
+
* predefined curves, or you can use your own function.
|
|
184
|
+
*
|
|
185
|
+
* See https://reactnative.dev/docs/animated#timing
|
|
186
|
+
*/
|
|
61
187
|
export const timing = AnimatedImplementation.timing;
|
|
62
188
|
export const unforkEvent = AnimatedImplementation.unforkEvent;
|
|
@@ -606,144 +606,23 @@ export default {
|
|
|
606
606
|
* See https://reactnative.dev/docs/animated#node
|
|
607
607
|
*/
|
|
608
608
|
Node: AnimatedNode,
|
|
609
|
-
|
|
610
|
-
/**
|
|
611
|
-
* Animates a value from an initial velocity to zero based on a decay
|
|
612
|
-
* coefficient.
|
|
613
|
-
*
|
|
614
|
-
* See https://reactnative.dev/docs/animated#decay
|
|
615
|
-
*/
|
|
616
609
|
decay,
|
|
617
|
-
/**
|
|
618
|
-
* Animates a value along a timed easing curve. The Easing module has tons of
|
|
619
|
-
* predefined curves, or you can use your own function.
|
|
620
|
-
*
|
|
621
|
-
* See https://reactnative.dev/docs/animated#timing
|
|
622
|
-
*/
|
|
623
610
|
timing,
|
|
624
|
-
/**
|
|
625
|
-
* Animates a value according to an analytical spring model based on
|
|
626
|
-
* damped harmonic oscillation.
|
|
627
|
-
*
|
|
628
|
-
* See https://reactnative.dev/docs/animated#spring
|
|
629
|
-
*/
|
|
630
611
|
spring,
|
|
631
|
-
|
|
632
|
-
/**
|
|
633
|
-
* Creates a new Animated value composed from two Animated values added
|
|
634
|
-
* together.
|
|
635
|
-
*
|
|
636
|
-
* See https://reactnative.dev/docs/animated#add
|
|
637
|
-
*/
|
|
638
612
|
add,
|
|
639
|
-
|
|
640
|
-
/**
|
|
641
|
-
* Creates a new Animated value composed by subtracting the second Animated
|
|
642
|
-
* value from the first Animated value.
|
|
643
|
-
*
|
|
644
|
-
* See https://reactnative.dev/docs/animated#subtract
|
|
645
|
-
*/
|
|
646
613
|
subtract,
|
|
647
|
-
|
|
648
|
-
/**
|
|
649
|
-
* Creates a new Animated value composed by dividing the first Animated value
|
|
650
|
-
* by the second Animated value.
|
|
651
|
-
*
|
|
652
|
-
* See https://reactnative.dev/docs/animated#divide
|
|
653
|
-
*/
|
|
654
614
|
divide,
|
|
655
|
-
|
|
656
|
-
/**
|
|
657
|
-
* Creates a new Animated value composed from two Animated values multiplied
|
|
658
|
-
* together.
|
|
659
|
-
*
|
|
660
|
-
* See https://reactnative.dev/docs/animated#multiply
|
|
661
|
-
*/
|
|
662
615
|
multiply,
|
|
663
|
-
|
|
664
|
-
/**
|
|
665
|
-
* Creates a new Animated value that is the (non-negative) modulo of the
|
|
666
|
-
* provided Animated value.
|
|
667
|
-
*
|
|
668
|
-
* See https://reactnative.dev/docs/animated#modulo
|
|
669
|
-
*/
|
|
670
616
|
modulo,
|
|
671
|
-
|
|
672
|
-
/**
|
|
673
|
-
* Create a new Animated value that is limited between 2 values. It uses the
|
|
674
|
-
* difference between the last value so even if the value is far from the
|
|
675
|
-
* bounds it will start changing when the value starts getting closer again.
|
|
676
|
-
*
|
|
677
|
-
* See https://reactnative.dev/docs/animated#diffclamp
|
|
678
|
-
*/
|
|
679
617
|
diffClamp,
|
|
680
|
-
|
|
681
|
-
/**
|
|
682
|
-
* Starts an animation after the given delay.
|
|
683
|
-
*
|
|
684
|
-
* See https://reactnative.dev/docs/animated#delay
|
|
685
|
-
*/
|
|
686
618
|
delay,
|
|
687
|
-
/**
|
|
688
|
-
* Starts an array of animations in order, waiting for each to complete
|
|
689
|
-
* before starting the next. If the current running animation is stopped, no
|
|
690
|
-
* following animations will be started.
|
|
691
|
-
*
|
|
692
|
-
* See https://reactnative.dev/docs/animated#sequence
|
|
693
|
-
*/
|
|
694
619
|
sequence,
|
|
695
|
-
/**
|
|
696
|
-
* Starts an array of animations all at the same time. By default, if one
|
|
697
|
-
* of the animations is stopped, they will all be stopped. You can override
|
|
698
|
-
* this with the `stopTogether` flag.
|
|
699
|
-
*
|
|
700
|
-
* See https://reactnative.dev/docs/animated#parallel
|
|
701
|
-
*/
|
|
702
620
|
parallel,
|
|
703
|
-
/**
|
|
704
|
-
* Array of animations may run in parallel (overlap), but are started in
|
|
705
|
-
* sequence with successive delays. Nice for doing trailing effects.
|
|
706
|
-
*
|
|
707
|
-
* See https://reactnative.dev/docs/animated#stagger
|
|
708
|
-
*/
|
|
709
621
|
stagger,
|
|
710
|
-
/**
|
|
711
|
-
* Loops a given animation continuously, so that each time it reaches the
|
|
712
|
-
* end, it resets and begins again from the start.
|
|
713
|
-
*
|
|
714
|
-
* See https://reactnative.dev/docs/animated#loop
|
|
715
|
-
*/
|
|
716
622
|
loop,
|
|
717
|
-
|
|
718
|
-
/**
|
|
719
|
-
* Takes an array of mappings and extracts values from each arg accordingly,
|
|
720
|
-
* then calls `setValue` on the mapped outputs.
|
|
721
|
-
*
|
|
722
|
-
* See https://reactnative.dev/docs/animated#event
|
|
723
|
-
*/
|
|
724
623
|
event,
|
|
725
|
-
|
|
726
|
-
/**
|
|
727
|
-
* Make any React component Animatable. Used to create `Animated.View`, etc.
|
|
728
|
-
*
|
|
729
|
-
* See https://reactnative.dev/docs/animated#createanimatedcomponent
|
|
730
|
-
*/
|
|
731
624
|
createAnimatedComponent,
|
|
732
|
-
|
|
733
|
-
/**
|
|
734
|
-
* Imperative API to attach an animated value to an event on a view. Prefer
|
|
735
|
-
* using `Animated.event` with `useNativeDrive: true` if possible.
|
|
736
|
-
*
|
|
737
|
-
* See https://reactnative.dev/docs/animated#attachnativeevent
|
|
738
|
-
*/
|
|
739
625
|
attachNativeEvent,
|
|
740
|
-
|
|
741
|
-
/**
|
|
742
|
-
* Advanced imperative API for snooping on animated events that are passed in
|
|
743
|
-
* through props. Use values directly where possible.
|
|
744
|
-
*
|
|
745
|
-
* See https://reactnative.dev/docs/animated#forkevent
|
|
746
|
-
*/
|
|
747
626
|
forkEvent,
|
|
748
627
|
unforkEvent,
|
|
749
628
|
|
|
@@ -13,10 +13,14 @@ import type AnimatedNode from '../nodes/AnimatedNode';
|
|
|
13
13
|
import type AnimatedValue from '../nodes/AnimatedValue';
|
|
14
14
|
|
|
15
15
|
import NativeAnimatedHelper from '../../../src/private/animated/NativeAnimatedHelper';
|
|
16
|
-
import * as ReactNativeFeatureFlags from '../../../src/private/featureflags/ReactNativeFeatureFlags';
|
|
17
16
|
import AnimatedProps from '../nodes/AnimatedProps';
|
|
18
17
|
|
|
19
|
-
export type EndResult = {
|
|
18
|
+
export type EndResult = {
|
|
19
|
+
finished: boolean,
|
|
20
|
+
value?: number,
|
|
21
|
+
offset?: number,
|
|
22
|
+
...
|
|
23
|
+
};
|
|
20
24
|
export type EndCallback = (result: EndResult) => void;
|
|
21
25
|
|
|
22
26
|
export type AnimationConfig = $ReadOnly<{
|
|
@@ -141,9 +145,9 @@ export default class Animation {
|
|
|
141
145
|
// When using natively driven animations, once the animation completes,
|
|
142
146
|
// we need to ensure that the JS side nodes are synced with the updated
|
|
143
147
|
// values.
|
|
144
|
-
const {value} = result;
|
|
148
|
+
const {value, offset} = result;
|
|
145
149
|
if (value != null) {
|
|
146
|
-
animatedValue.__onAnimatedValueUpdateReceived(value);
|
|
150
|
+
animatedValue.__onAnimatedValueUpdateReceived(value, offset);
|
|
147
151
|
|
|
148
152
|
if (this.__isLooping === true) {
|
|
149
153
|
return;
|
|
@@ -112,8 +112,8 @@ export default class AnimatedNode {
|
|
|
112
112
|
return this.#listeners.size > 0;
|
|
113
113
|
}
|
|
114
114
|
|
|
115
|
-
__onAnimatedValueUpdateReceived(value: number): void {
|
|
116
|
-
this.__callListeners(value);
|
|
115
|
+
__onAnimatedValueUpdateReceived(value: number, offset: number): void {
|
|
116
|
+
this.__callListeners(value + offset);
|
|
117
117
|
}
|
|
118
118
|
|
|
119
119
|
__callListeners(value: number): void {
|
|
@@ -52,7 +52,6 @@ const NativeAnimatedAPI = NativeAnimatedHelper.API;
|
|
|
52
52
|
* transform which can receive values from multiple parents.
|
|
53
53
|
*/
|
|
54
54
|
export function flushValue(rootNode: AnimatedNode): void {
|
|
55
|
-
// eslint-disable-next-line func-call-spacing
|
|
56
55
|
const leaves = new Set<{update: () => void, ...}>();
|
|
57
56
|
function findAnimatedStyles(node: AnimatedNode) {
|
|
58
57
|
// $FlowFixMe[prop-missing]
|
|
@@ -169,7 +168,7 @@ export default class AnimatedValue extends AnimatedWithChildren {
|
|
|
169
168
|
'onAnimatedValueUpdate',
|
|
170
169
|
data => {
|
|
171
170
|
if (data.tag === nativeTag) {
|
|
172
|
-
this.__onAnimatedValueUpdateReceived(data.value);
|
|
171
|
+
this.__onAnimatedValueUpdateReceived(data.value, data.offset);
|
|
173
172
|
}
|
|
174
173
|
},
|
|
175
174
|
);
|
|
@@ -247,7 +246,9 @@ export default class AnimatedValue extends AnimatedWithChildren {
|
|
|
247
246
|
this._offset += this._value;
|
|
248
247
|
this._value = 0;
|
|
249
248
|
if (this.__isNative) {
|
|
250
|
-
|
|
249
|
+
_executeAsAnimatedBatch(this.__getNativeTag().toString(), () =>
|
|
250
|
+
NativeAnimatedAPI.extractAnimatedNodeOffset(this.__getNativeTag()),
|
|
251
|
+
);
|
|
251
252
|
}
|
|
252
253
|
}
|
|
253
254
|
|
|
@@ -287,8 +288,11 @@ export default class AnimatedValue extends AnimatedWithChildren {
|
|
|
287
288
|
}
|
|
288
289
|
}
|
|
289
290
|
|
|
290
|
-
__onAnimatedValueUpdateReceived(value: number): void {
|
|
291
|
+
__onAnimatedValueUpdateReceived(value: number, offset?: number): void {
|
|
291
292
|
this._updateValue(value, false /*flush*/);
|
|
293
|
+
if (offset != null) {
|
|
294
|
+
this._offset = offset;
|
|
295
|
+
}
|
|
292
296
|
}
|
|
293
297
|
|
|
294
298
|
/**
|
|
@@ -65,6 +65,7 @@ function genModule(
|
|
|
65
65
|
module[methodName] = genMethod(moduleID, methodID, methodType);
|
|
66
66
|
});
|
|
67
67
|
|
|
68
|
+
// $FlowFixMe[unsafe-object-assign]
|
|
68
69
|
Object.assign(module, constants);
|
|
69
70
|
|
|
70
71
|
if (module.getConstants == null) {
|
|
@@ -173,6 +174,7 @@ function updateErrorWithErrorData(
|
|
|
173
174
|
/* $FlowFixMe[class-object-subtyping] added when improving typing for this
|
|
174
175
|
* parameters */
|
|
175
176
|
// $FlowFixMe[incompatible-return]
|
|
177
|
+
// $FlowFixMe[unsafe-object-assign]
|
|
176
178
|
return Object.assign(error, errorData || {});
|
|
177
179
|
}
|
|
178
180
|
|
|
@@ -110,6 +110,7 @@ class BlobManager {
|
|
|
110
110
|
static createFromOptions(options: BlobData): Blob {
|
|
111
111
|
BlobRegistry.register(options.blobId);
|
|
112
112
|
// $FlowFixMe[prop-missing]
|
|
113
|
+
// $FlowFixMe[unsafe-object-assign]
|
|
113
114
|
return Object.assign(Object.create(Blob.prototype), {
|
|
114
115
|
data:
|
|
115
116
|
// Reuse the collector instance when creating from an existing blob.
|
|
@@ -365,7 +365,7 @@ export interface ScrollViewPropsIOS {
|
|
|
365
365
|
|
|
366
366
|
/**
|
|
367
367
|
* When true the scroll view bounces when it reaches the end of the
|
|
368
|
-
* content if the content is larger
|
|
368
|
+
* content if the content is larger than the scroll view along the axis of
|
|
369
369
|
* the scroll direction. When false it disables all bouncing even if
|
|
370
370
|
* the `alwaysBounce*` props are true. The default value is true.
|
|
371
371
|
*/
|
|
@@ -1165,6 +1165,7 @@ class ScrollView extends React.Component<ScrollViewProps, ScrollViewState> {
|
|
|
1165
1165
|
// they are callable from the ref.
|
|
1166
1166
|
|
|
1167
1167
|
// $FlowFixMe[prop-missing] - Known issue with appending custom methods.
|
|
1168
|
+
// $FlowFixMe[unsafe-object-assign]
|
|
1168
1169
|
const publicInstance: PublicScrollViewInstance = Object.assign(
|
|
1169
1170
|
nativeInstance,
|
|
1170
1171
|
{
|
|
@@ -446,6 +446,7 @@ function InternalTextInput(props: TextInputProps): React.Node {
|
|
|
446
446
|
*/
|
|
447
447
|
if (instance != null) {
|
|
448
448
|
// $FlowFixMe[prop-missing] - See the explanation above.
|
|
449
|
+
// $FlowFixMe[unsafe-object-assign]
|
|
449
450
|
Object.assign(instance, {
|
|
450
451
|
clear(): void {
|
|
451
452
|
if (inputRef.current != null) {
|
|
@@ -258,6 +258,14 @@ export type AccessibilityPropsAndroid = $ReadOnly<{
|
|
|
258
258
|
* See https://reactnative.dev/docs/view#importantforaccessibility
|
|
259
259
|
*/
|
|
260
260
|
importantForAccessibility?: ?('auto' | 'yes' | 'no' | 'no-hide-descendants'),
|
|
261
|
+
|
|
262
|
+
/**
|
|
263
|
+
* Enables the view to be screen reader focusable, not keyboard focusable. This has lower priority
|
|
264
|
+
* than focusable or accessible props.
|
|
265
|
+
*
|
|
266
|
+
* @platform android
|
|
267
|
+
*/
|
|
268
|
+
screenReaderFocusable?: boolean,
|
|
261
269
|
}>;
|
|
262
270
|
|
|
263
271
|
export type AccessibilityPropsIOS = $ReadOnly<{
|
|
@@ -320,6 +328,14 @@ export type AccessibilityPropsIOS = $ReadOnly<{
|
|
|
320
328
|
* @platform ios
|
|
321
329
|
*/
|
|
322
330
|
accessibilityLanguage?: ?Stringish,
|
|
331
|
+
|
|
332
|
+
/**
|
|
333
|
+
* Blocks the user from interacting with the component through keyboard while still allowing
|
|
334
|
+
* screen reader to interact with it if this View is still accessible.
|
|
335
|
+
*
|
|
336
|
+
* @platform ios
|
|
337
|
+
*/
|
|
338
|
+
accessibilityRespondsToUserInteraction?: ?boolean,
|
|
323
339
|
}>;
|
|
324
340
|
|
|
325
341
|
export type AccessibilityProps = $ReadOnly<{
|
|
@@ -198,6 +198,7 @@ const validAttributesForNonEventProps = {
|
|
|
198
198
|
accessibilityShowsLargeContentViewer: true,
|
|
199
199
|
accessibilityLargeContentTitle: true,
|
|
200
200
|
experimental_accessibilityOrder: true,
|
|
201
|
+
accessibilityRespondsToUserInteraction: true,
|
|
201
202
|
testID: true,
|
|
202
203
|
backgroundColor: {process: require('../StyleSheet/processColor').default},
|
|
203
204
|
backfaceVisibility: true,
|
|
@@ -92,6 +92,11 @@ export interface Spec {
|
|
|
92
92
|
/* width: */ number,
|
|
93
93
|
/* height: */ number,
|
|
94
94
|
];
|
|
95
|
+
+unstable_DefaultEventPriority: number;
|
|
96
|
+
+unstable_DiscreteEventPriority: number;
|
|
97
|
+
+unstable_ContinuousEventPriority: number;
|
|
98
|
+
+unstable_IdleEventPriority: number;
|
|
99
|
+
+unstable_getCurrentEventPriority: () => number;
|
|
95
100
|
}
|
|
96
101
|
|
|
97
102
|
let nativeFabricUIManagerProxy: ?Spec;
|
|
@@ -119,6 +124,11 @@ const CACHED_PROPERTIES = [
|
|
|
119
124
|
'dispatchCommand',
|
|
120
125
|
'compareDocumentPosition',
|
|
121
126
|
'getBoundingClientRect',
|
|
127
|
+
'unstable_DefaultEventPriority',
|
|
128
|
+
'unstable_DiscreteEventPriority',
|
|
129
|
+
'unstable_ContinuousEventPriority',
|
|
130
|
+
'unstable_IdleEventPriority',
|
|
131
|
+
'unstable_getCurrentEventPriority',
|
|
122
132
|
];
|
|
123
133
|
|
|
124
134
|
// This is exposed as a getter because apps using the legacy renderer AND
|
|
@@ -90,6 +90,7 @@ function getNativeComponentAttributes(uiViewClassName: string): any {
|
|
|
90
90
|
// top-level props on the native side.
|
|
91
91
|
validAttributes.style = ReactNativeStyleAttributes;
|
|
92
92
|
|
|
93
|
+
// $FlowFixMe[unsafe-object-assign]
|
|
93
94
|
Object.assign(viewConfig, {
|
|
94
95
|
uiViewClassName,
|
|
95
96
|
validAttributes,
|