@office-iss/react-native-win32 0.0.0-canary.295 → 0.0.0-canary.297
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 +3 -1
- package/CHANGELOG.json +37 -1
- package/CHANGELOG.md +25 -8
- package/Libraries/Animated/Animated.js +0 -1
- package/Libraries/Animated/Animated.js.flow +0 -1
- package/Libraries/Animated/AnimatedExports.js +0 -1
- package/Libraries/Animated/AnimatedExports.js.flow +1 -2
- package/Libraries/Animated/animations/Animation.js +5 -2
- package/Libraries/Animated/components/AnimatedScrollView.js +53 -52
- package/Libraries/Animated/createAnimatedComponent.js +37 -33
- package/Libraries/Animated/nodes/AnimatedObject.js +2 -3
- package/Libraries/Animated/nodes/AnimatedProps.js +1 -1
- package/Libraries/Animated/shouldUseTurboAnimatedModule.js +6 -1
- package/Libraries/AppState/AppState.js +6 -1
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +19 -18
- package/Libraries/Components/Button.js +2 -2
- package/Libraries/Components/Button.win32.js +2 -2
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +2 -3
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +2 -1
- package/Libraries/Components/LayoutConformance/LayoutConformance.js +0 -1
- package/Libraries/Components/Pressable/Pressable.js +9 -6
- package/Libraries/Components/Pressable/Pressable.win32.js +9 -6
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +14 -13
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +13 -1
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.js +29 -20
- package/Libraries/Components/ScrollView/ScrollView.d.ts +9 -5
- package/Libraries/Components/ScrollView/ScrollView.js +18 -12
- package/Libraries/Components/ScrollView/ScrollViewContext.js +2 -1
- package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +1 -1
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +19 -6
- package/Libraries/Components/Switch/Switch.js +8 -2
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +1 -5
- package/Libraries/Components/TextInput/TextInput.flow.js +1 -5
- package/Libraries/Components/TextInput/TextInput.flow.win32.js +1 -5
- package/Libraries/Components/TextInput/TextInput.js +26 -25
- package/Libraries/Components/TextInput/TextInput.win32.js +27 -25
- package/Libraries/Components/Touchable/TouchableBounce.js +9 -3
- package/Libraries/Components/Touchable/TouchableHighlight.js +9 -4
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +2 -1
- package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js +2 -0
- package/Libraries/Components/Touchable/TouchableOpacity.js +7 -3
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +2 -2
- package/Libraries/Components/View/View.js +111 -25
- package/Libraries/Components/View/ViewAccessibility.d.ts +1 -0
- package/Libraries/Core/Devtools/loadBundleFromServer.js +49 -7
- package/Libraries/Core/Devtools/loadBundleFromServer.win32.js +49 -7
- package/Libraries/Core/InitializeCore.js +1 -22
- package/Libraries/Core/ReactNativeVersion.js +3 -2
- package/Libraries/Debugging/DebuggingOverlay.js +6 -8
- package/Libraries/Debugging/DebuggingOverlayRegistry.js +0 -1
- package/Libraries/Debugging/useSubscribeToDebuggingOverlayRegistry.js +0 -1
- package/Libraries/EventEmitter/NativeEventEmitter.js +1 -1
- package/Libraries/Image/AssetRegistry.js +4 -10
- package/Libraries/Image/AssetSourceResolver.js +17 -4
- package/Libraries/Image/Image.android.js +112 -106
- package/Libraries/Image/Image.ios.js +10 -2
- package/Libraries/Image/Image.win32.js +11 -3
- package/Libraries/Image/ImageAnalyticsTagContext.js +2 -2
- package/Libraries/Image/RelativeImageStub.js +1 -0
- package/Libraries/Lists/FlatList.d.ts +9 -5
- package/Libraries/Lists/FlatList.js +1 -1
- package/Libraries/Lists/SectionListModern.js +9 -3
- package/Libraries/LogBox/UI/LogBoxButton.js +2 -1
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +2 -1
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.win32.js +2 -1
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +3 -2
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.win32.js +3 -2
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +2 -1
- package/Libraries/ReactNative/AppContainer-dev.js +4 -4
- package/Libraries/ReactNative/AppContainer-prod.js +0 -1
- package/Libraries/ReactNative/RootTag.js +2 -2
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -0
- package/Libraries/Renderer/shims/ReactNativeTypes.js +21 -25
- package/Libraries/Renderer/shims/ReactNativeTypes.win32.js +270 -0
- package/Libraries/StyleSheet/StyleSheetExports.js.flow +3 -1
- package/Libraries/StyleSheet/StyleSheetTypes.js +4 -3
- package/Libraries/StyleSheet/private/_TransformStyle.js +49 -21
- package/Libraries/StyleSheet/processBoxShadow.js +0 -1
- package/Libraries/StyleSheet/processFilter.js +0 -1
- package/Libraries/Text/Text.d.ts +7 -0
- package/Libraries/Text/Text.js +255 -244
- package/Libraries/Text/Text.win32.js +293 -284
- package/Libraries/Text/TextAncestor.js +3 -2
- package/Libraries/Text/TextProps.js +2 -34
- package/Libraries/Text/TextProps.win32.js +2 -33
- package/Libraries/Types/ReactDevToolsTypes.js +0 -1
- package/Libraries/Utilities/PerformanceLoggerContext.js +2 -2
- package/Libraries/Utilities/PlatformTypes.js +1 -1
- package/Libraries/vendor/core/ErrorUtils.js +28 -4
- package/index.js +0 -1
- package/jest/mockNativeComponent.js +2 -1
- package/jest/renderer.js +0 -1
- package/jest/resolver.js +31 -0
- package/jest/setup.js +1 -1
- package/overrides.json +27 -20
- package/package.json +13 -13
- package/src/private/animated/NativeAnimatedHelper.js +6 -1
- package/src/private/animated/NativeAnimatedHelper.win32.js +6 -1
- package/src/private/animated/createAnimatedPropsHook.js +11 -4
- package/src/private/animated/createAnimatedPropsMemoHook.js +0 -1
- package/src/private/components/safeareaview/SafeAreaView_INTERNAL_DO_NOT_USE.js +0 -1
- package/src/private/components/scrollview/HScrollViewNativeComponents.js +0 -1
- package/src/private/components/scrollview/VScrollViewNativeComponents.js +0 -1
- package/src/private/devsupport/rndevtools/FuseboxSessionObserver.js +0 -1
- package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.android.js +8 -9
- package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.ios.js +12 -15
- package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.win32.js +8 -9
- package/src/private/devsupport/rndevtools/setUpFuseboxReactDevToolsDispatcher.js +0 -1
- package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsRuntimeSettingsModule.js +0 -1
- package/src/private/featureflags/ReactNativeFeatureFlags.js +39 -4
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +5 -2
- package/src/private/setup/setUpDefaultReactNativeEnvironment.js +44 -0
- package/src/private/styles/composeStyles.js +12 -5
- package/src/private/webapis/dom/events/Event.js +3 -0
- package/src/private/webapis/dom/events/EventTarget.js +3 -0
- package/src/private/webapis/dom/nodes/ReactNativeElement.js +6 -23
- package/src/private/webapis/dom/nodes/ReadOnlyNode.js +3 -1
- package/src/private/webapis/dom/nodes/specs/NativeDOM.js +38 -0
- package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +3 -0
- package/src/private/webapis/dom/oldstylecollections/NodeList.js +3 -0
- package/src/private/webapis/errors/DOMException.js +166 -0
- package/src/private/webapis/geometry/DOMRect.js +5 -0
- package/src/private/webapis/geometry/DOMRectList.js +3 -0
- package/src/private/webapis/geometry/DOMRectReadOnly.js +6 -0
- package/src/private/webapis/intersectionobserver/IntersectionObserver.js +15 -7
- package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +3 -0
- package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +80 -18
- package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +12 -0
- package/src/private/webapis/mutationobserver/MutationObserver.js +23 -33
- package/src/private/webapis/mutationobserver/MutationRecord.js +3 -0
- package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +56 -24
- package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +4 -1
- package/src/private/webapis/performance/MemoryInfo.js +4 -1
- package/src/private/webapis/performance/Performance.js +19 -8
- package/src/private/webapis/performance/PerformanceEntry.js +4 -0
- package/src/private/webapis/performance/ReactNativeStartupTiming.js +4 -1
- package/src/private/webapis/performance/internals/RawPerformanceEntry.js +2 -0
- package/src/private/webapis/structuredClone/structuredClone.js +233 -0
- package/src/private/webapis/webidl/PlatformObjects.js +59 -0
- package/src/types/globals.d.ts +42 -0
- package/src-win/Libraries/Components/View/ViewAccessibility.d.ts +1 -0
- package/src-win/Libraries/Text/Text.d.ts +7 -0
- package/types/index.d.ts +1 -1
|
@@ -12,9 +12,7 @@
|
|
|
12
12
|
|
|
13
13
|
import type {
|
|
14
14
|
AccessibilityActionEvent,
|
|
15
|
-
|
|
16
|
-
AccessibilityRole,
|
|
17
|
-
AccessibilityState,
|
|
15
|
+
AccessibilityProps,
|
|
18
16
|
Role,
|
|
19
17
|
} from '../Components/View/ViewAccessibility';
|
|
20
18
|
import type {ColorValue, TextStyleProp} from '../StyleSheet/StyleSheet';
|
|
@@ -124,20 +122,7 @@ export type TextPropsAndroid = {
|
|
|
124
122
|
};
|
|
125
123
|
|
|
126
124
|
type TextBaseProps = $ReadOnly<{
|
|
127
|
-
/**
|
|
128
|
-
* Indicates whether the view is an accessibility element.
|
|
129
|
-
*
|
|
130
|
-
* See https://reactnative.dev/docs/text#accessible
|
|
131
|
-
*/
|
|
132
|
-
accessible?: ?boolean,
|
|
133
|
-
accessibilityActions?: ?$ReadOnlyArray<AccessibilityActionInfo>,
|
|
134
125
|
onAccessibilityAction?: ?(event: AccessibilityActionEvent) => mixed,
|
|
135
|
-
accessibilityHint?: ?Stringish,
|
|
136
|
-
accessibilityLanguage?: ?Stringish,
|
|
137
|
-
accessibilityLabel?: ?Stringish,
|
|
138
|
-
accessibilityRole?: ?AccessibilityRole,
|
|
139
|
-
accessibilityState?: ?AccessibilityState,
|
|
140
|
-
'aria-label'?: ?string,
|
|
141
126
|
|
|
142
127
|
/**
|
|
143
128
|
* Whether fonts should scale to respect Text Size accessibility settings.
|
|
@@ -152,24 +137,6 @@ type TextBaseProps = $ReadOnly<{
|
|
|
152
137
|
*
|
|
153
138
|
*/
|
|
154
139
|
android_hyphenationFrequency?: ?('normal' | 'none' | 'full'),
|
|
155
|
-
|
|
156
|
-
/**
|
|
157
|
-
* alias for accessibilityState
|
|
158
|
-
*
|
|
159
|
-
* see https://reactnative.dev/docs/accessibility#accessibilitystate
|
|
160
|
-
*/
|
|
161
|
-
'aria-busy'?: ?boolean,
|
|
162
|
-
'aria-checked'?: ?boolean | 'mixed',
|
|
163
|
-
'aria-disabled'?: ?boolean,
|
|
164
|
-
'aria-expanded'?: ?boolean,
|
|
165
|
-
'aria-selected'?: ?boolean,
|
|
166
|
-
|
|
167
|
-
/**
|
|
168
|
-
* Represents the nativeID of the associated label text. When the assistive technology focuses on the component with this props, the text is read aloud.
|
|
169
|
-
* This prop is listed for cross-platform reasons and has no real effect on Android or iOS.
|
|
170
|
-
*/
|
|
171
|
-
'aria-labelledby'?: ?string,
|
|
172
|
-
|
|
173
140
|
children?: ?React.Node,
|
|
174
141
|
|
|
175
142
|
/**
|
|
@@ -306,4 +273,5 @@ export type TextProps = $ReadOnly<{
|
|
|
306
273
|
...TextPropsIOS,
|
|
307
274
|
...TextPropsAndroid,
|
|
308
275
|
...TextBaseProps,
|
|
276
|
+
...AccessibilityProps,
|
|
309
277
|
}>;
|
|
@@ -12,9 +12,7 @@
|
|
|
12
12
|
|
|
13
13
|
import type {
|
|
14
14
|
AccessibilityActionEvent,
|
|
15
|
-
|
|
16
|
-
AccessibilityRole,
|
|
17
|
-
AccessibilityState,
|
|
15
|
+
AccessibilityProps,
|
|
18
16
|
Role,
|
|
19
17
|
} from '../Components/View/ViewAccessibility';
|
|
20
18
|
import type {ColorValue, TextStyleProp} from '../StyleSheet/StyleSheet';
|
|
@@ -124,27 +122,13 @@ export type TextPropsAndroid = {
|
|
|
124
122
|
};
|
|
125
123
|
|
|
126
124
|
type TextBaseProps = $ReadOnly<{
|
|
127
|
-
/**
|
|
128
|
-
* Indicates whether the view is an accessibility element.
|
|
129
|
-
*
|
|
130
|
-
* See https://reactnative.dev/docs/text#accessible
|
|
131
|
-
*/
|
|
132
|
-
accessible?: ?boolean,
|
|
133
|
-
accessibilityActions?: ?$ReadOnlyArray<AccessibilityActionInfo>,
|
|
134
125
|
onAccessibilityAction?: ?(event: AccessibilityActionEvent) => mixed,
|
|
135
|
-
accessibilityHint?: ?Stringish,
|
|
136
|
-
accessibilityLanguage?: ?Stringish,
|
|
137
|
-
accessibilityLabel?: ?Stringish,
|
|
138
|
-
accessibilityRole?: ?AccessibilityRole,
|
|
139
|
-
accessibilityState?: ?AccessibilityState,
|
|
140
|
-
'aria-label'?: ?string,
|
|
141
126
|
accessibilityControls?: ?Stringish, // Win32
|
|
142
127
|
accessibilityDescribedBy?: ?Stringish, // Win32
|
|
143
128
|
accessibilityDescription?: ?Stringish, // Win32
|
|
144
129
|
accessibilityLevel?: ?number, // Win32
|
|
145
130
|
accessibilityPositionInSet?: ?number, // Win32
|
|
146
131
|
accessibilitySetSize?: ?number, // Win32
|
|
147
|
-
|
|
148
132
|
/**
|
|
149
133
|
* Whether fonts should scale to respect Text Size accessibility settings.
|
|
150
134
|
* The default is `true`.
|
|
@@ -158,17 +142,6 @@ type TextBaseProps = $ReadOnly<{
|
|
|
158
142
|
*
|
|
159
143
|
*/
|
|
160
144
|
android_hyphenationFrequency?: ?('normal' | 'none' | 'full'),
|
|
161
|
-
|
|
162
|
-
/**
|
|
163
|
-
* alias for accessibilityState
|
|
164
|
-
*
|
|
165
|
-
* see https://reactnative.dev/docs/accessibility#accessibilitystate
|
|
166
|
-
*/
|
|
167
|
-
'aria-busy'?: ?boolean,
|
|
168
|
-
'aria-checked'?: ?boolean | 'mixed',
|
|
169
|
-
'aria-disabled'?: ?boolean,
|
|
170
|
-
'aria-expanded'?: ?boolean,
|
|
171
|
-
'aria-selected'?: ?boolean,
|
|
172
145
|
'aria-multiselectable'?: ?boolean, // Win32
|
|
173
146
|
'aria-required'?: ?boolean, // Win32
|
|
174
147
|
'aria-controls'?: ?Stringish, // Win32
|
|
@@ -177,11 +150,6 @@ type TextBaseProps = $ReadOnly<{
|
|
|
177
150
|
'aria-level'?: ?number, // Win32
|
|
178
151
|
'aria-posinset'?: ?number, // Win32
|
|
179
152
|
'aria-setsize'?: ?number, // Win32
|
|
180
|
-
/**
|
|
181
|
-
* Represents the nativeID of the associated label text. When the assistive technology focuses on the component with this props, the text is read aloud.
|
|
182
|
-
* This prop is listed for cross-platform reasons and has no real effect on Android or iOS.
|
|
183
|
-
*/
|
|
184
|
-
'aria-labelledby'?: ?string,
|
|
185
153
|
|
|
186
154
|
children?: ?React.Node,
|
|
187
155
|
|
|
@@ -319,4 +287,5 @@ export type TextProps = $ReadOnly<{
|
|
|
319
287
|
...TextPropsIOS,
|
|
320
288
|
...TextPropsAndroid,
|
|
321
289
|
...TextBaseProps,
|
|
290
|
+
...AccessibilityProps,
|
|
322
291
|
}>;
|
|
@@ -12,7 +12,7 @@ import type {IPerformanceLogger} from './createPerformanceLogger';
|
|
|
12
12
|
|
|
13
13
|
import GlobalPerformanceLogger from './GlobalPerformanceLogger';
|
|
14
14
|
import * as React from 'react';
|
|
15
|
-
import {useContext} from 'react';
|
|
15
|
+
import {createContext, useContext} from 'react';
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
18
|
* This is a React Context that provides a scoped instance of IPerformanceLogger.
|
|
@@ -21,7 +21,7 @@ import {useContext} from 'react';
|
|
|
21
21
|
* See React docs about using Context: https://react.dev/docs/context.html
|
|
22
22
|
*/
|
|
23
23
|
const PerformanceLoggerContext: React.Context<IPerformanceLogger> =
|
|
24
|
-
|
|
24
|
+
createContext(GlobalPerformanceLogger);
|
|
25
25
|
if (__DEV__) {
|
|
26
26
|
PerformanceLoggerContext.displayName = 'PerformanceLoggerContext';
|
|
27
27
|
}
|
|
@@ -8,9 +8,33 @@
|
|
|
8
8
|
* @flow strict
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
// From @react-native/js-polyfills
|
|
12
|
+
type ErrorHandler = (error: mixed, isFatal: boolean) => void;
|
|
13
|
+
type Fn<Args: $ReadOnlyArray<mixed>, Return> = (...Args) => Return;
|
|
14
|
+
export type ErrorUtils = {
|
|
15
|
+
applyWithGuard<TArgs: $ReadOnlyArray<mixed>, TOut>(
|
|
16
|
+
fun: Fn<TArgs, TOut>,
|
|
17
|
+
context?: mixed,
|
|
18
|
+
args?: ?TArgs,
|
|
19
|
+
unused_onError?: null,
|
|
20
|
+
unused_name?: ?string,
|
|
21
|
+
): ?TOut,
|
|
22
|
+
applyWithGuardIfNeeded<TArgs: $ReadOnlyArray<mixed>, TOut>(
|
|
23
|
+
fun: Fn<TArgs, TOut>,
|
|
24
|
+
context?: mixed,
|
|
25
|
+
args?: ?TArgs,
|
|
26
|
+
): ?TOut,
|
|
27
|
+
getGlobalHandler(): ErrorHandler,
|
|
28
|
+
guard<TArgs: $ReadOnlyArray<mixed>, TOut>(
|
|
29
|
+
fun: Fn<TArgs, TOut>,
|
|
30
|
+
name?: ?string,
|
|
31
|
+
context?: mixed,
|
|
32
|
+
): ?(...TArgs) => ?TOut,
|
|
33
|
+
inGuard(): boolean,
|
|
34
|
+
reportError(error: mixed): void,
|
|
35
|
+
reportFatalError(error: mixed): void,
|
|
36
|
+
setGlobalHandler(fun: ErrorHandler): void,
|
|
37
|
+
};
|
|
14
38
|
|
|
15
39
|
/**
|
|
16
40
|
* The particular require runtime that we are using looks for a global
|
|
@@ -24,4 +48,4 @@ export type ErrorUtils = ErrorUtilsT;
|
|
|
24
48
|
* that use it aren't just using a global variable, so simply export the global
|
|
25
49
|
* variable here. ErrorUtils is originally defined in a file named error-guard.js.
|
|
26
50
|
*/
|
|
27
|
-
export default
|
|
51
|
+
export default global.ErrorUtils as ErrorUtils;
|
package/index.js
CHANGED
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
'use strict';
|
|
11
11
|
|
|
12
12
|
const React = require('react');
|
|
13
|
+
const {createElement} = require('react');
|
|
13
14
|
|
|
14
15
|
let nativeTag = 1;
|
|
15
16
|
|
|
@@ -18,7 +19,7 @@ export default viewName => {
|
|
|
18
19
|
_nativeTag = nativeTag++;
|
|
19
20
|
|
|
20
21
|
render() {
|
|
21
|
-
return
|
|
22
|
+
return createElement(viewName, this.props, this.props.children);
|
|
22
23
|
}
|
|
23
24
|
|
|
24
25
|
// The methods that exist on host components
|
package/jest/renderer.js
CHANGED
package/jest/resolver.js
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @format
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
'use strict';
|
|
11
|
+
|
|
12
|
+
module.exports = (path, options) => {
|
|
13
|
+
const originalPackageFilter = options.packageFilter;
|
|
14
|
+
|
|
15
|
+
return options.defaultResolver(path, {
|
|
16
|
+
...options,
|
|
17
|
+
packageFilter: pkg => {
|
|
18
|
+
const filteredPkg = originalPackageFilter
|
|
19
|
+
? originalPackageFilter(pkg)
|
|
20
|
+
: pkg;
|
|
21
|
+
|
|
22
|
+
// Temporarily allow any react-native subpaths to be resolved and
|
|
23
|
+
// mocked by Jest (backwards compatibility around RFC0894)
|
|
24
|
+
if (filteredPkg.name === 'react-native') {
|
|
25
|
+
delete filteredPkg.exports;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
return filteredPkg;
|
|
29
|
+
},
|
|
30
|
+
});
|
|
31
|
+
};
|
package/jest/setup.js
CHANGED
|
@@ -203,7 +203,7 @@ jest
|
|
|
203
203
|
__esModule: true,
|
|
204
204
|
default: jest.requireActual(
|
|
205
205
|
'../Libraries/Components/RefreshControl/__mocks__/RefreshControlMock',
|
|
206
|
-
),
|
|
206
|
+
).default,
|
|
207
207
|
}))
|
|
208
208
|
.mock('../Libraries/Components/ScrollView/ScrollView', () => {
|
|
209
209
|
const baseComponent = mockComponent(
|
package/overrides.json
CHANGED
|
@@ -7,19 +7,19 @@
|
|
|
7
7
|
"**/__snapshots__/**",
|
|
8
8
|
"src-win/rntypes/**"
|
|
9
9
|
],
|
|
10
|
-
"baseVersion": "0.
|
|
10
|
+
"baseVersion": "0.81.0-nightly-20250521-3cb70bb6a",
|
|
11
11
|
"overrides": [
|
|
12
12
|
{
|
|
13
13
|
"type": "derived",
|
|
14
14
|
"file": ".flowconfig",
|
|
15
15
|
"baseFile": ".flowconfig",
|
|
16
|
-
"baseHash": "
|
|
16
|
+
"baseHash": "dbea35126905a8314fa0a64ed2912896bc6d307b"
|
|
17
17
|
},
|
|
18
18
|
{
|
|
19
19
|
"type": "derived",
|
|
20
20
|
"file": "src-win/index.win32.js",
|
|
21
21
|
"baseFile": "packages/react-native/index.js",
|
|
22
|
-
"baseHash": "
|
|
22
|
+
"baseHash": "b447e699186ab3e95da9dc4520b9c2517776e723"
|
|
23
23
|
},
|
|
24
24
|
{
|
|
25
25
|
"type": "platform",
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
"type": "derived",
|
|
61
61
|
"file": "src-win/Libraries/Components/Button.win32.js",
|
|
62
62
|
"baseFile": "packages/react-native/Libraries/Components/Button.js",
|
|
63
|
-
"baseHash": "
|
|
63
|
+
"baseHash": "6063d726e6255d1c55e07587f9ce09f1b7284301"
|
|
64
64
|
},
|
|
65
65
|
{
|
|
66
66
|
"type": "platform",
|
|
@@ -85,14 +85,14 @@
|
|
|
85
85
|
"type": "patch",
|
|
86
86
|
"file": "src-win/Libraries/Components/Pressable/Pressable.win32.js",
|
|
87
87
|
"baseFile": "packages/react-native/Libraries/Components/Pressable/Pressable.js",
|
|
88
|
-
"baseHash": "
|
|
88
|
+
"baseHash": "eff51d201199c68c6f7ca268e315e538dcc01ab9",
|
|
89
89
|
"issue": 6240
|
|
90
90
|
},
|
|
91
91
|
{
|
|
92
92
|
"type": "patch",
|
|
93
93
|
"file": "src-win/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js",
|
|
94
94
|
"baseFile": "packages/react-native/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js",
|
|
95
|
-
"baseHash": "
|
|
95
|
+
"baseHash": "d1cc663442d184b62799b748c475a5a2c5c558c7"
|
|
96
96
|
},
|
|
97
97
|
{
|
|
98
98
|
"type": "copy",
|
|
@@ -108,13 +108,13 @@
|
|
|
108
108
|
"type": "derived",
|
|
109
109
|
"file": "src-win/Libraries/Components/TextInput/TextInput.flow.win32.js",
|
|
110
110
|
"baseFile": "packages/react-native/Libraries/Components/TextInput/TextInput.flow.js",
|
|
111
|
-
"baseHash": "
|
|
111
|
+
"baseHash": "b611f4e98e9c7818dfac087e4f14384d3cc16b6a"
|
|
112
112
|
},
|
|
113
113
|
{
|
|
114
114
|
"type": "derived",
|
|
115
115
|
"file": "src-win/Libraries/Components/TextInput/TextInput.win32.js",
|
|
116
116
|
"baseFile": "packages/react-native/Libraries/Components/TextInput/TextInput.js",
|
|
117
|
-
"baseHash": "
|
|
117
|
+
"baseHash": "2a5835c5cbdb36bd110e26f9be737aaaeb1fd97c"
|
|
118
118
|
},
|
|
119
119
|
{
|
|
120
120
|
"type": "patch",
|
|
@@ -153,7 +153,7 @@
|
|
|
153
153
|
"type": "derived",
|
|
154
154
|
"file": "src-win/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js",
|
|
155
155
|
"baseFile": "packages/react-native/Libraries/Components/Touchable/TouchableNativeFeedback.js",
|
|
156
|
-
"baseHash": "
|
|
156
|
+
"baseHash": "1cad0522ba348d657e7857bf84628d88e776170b"
|
|
157
157
|
},
|
|
158
158
|
{
|
|
159
159
|
"type": "platform",
|
|
@@ -177,7 +177,7 @@
|
|
|
177
177
|
"type": "patch",
|
|
178
178
|
"file": "src-win/Libraries/Components/View/View.win32.js",
|
|
179
179
|
"baseFile": "packages/react-native/Libraries/Components/View/View.js",
|
|
180
|
-
"baseHash": "
|
|
180
|
+
"baseHash": "121c2126d26c94c8e508e3fb19ffe33f7be814b1"
|
|
181
181
|
},
|
|
182
182
|
{
|
|
183
183
|
"type": "derived",
|
|
@@ -218,7 +218,7 @@
|
|
|
218
218
|
"type": "patch",
|
|
219
219
|
"file": "src-win/Libraries/Core/Devtools/loadBundleFromServer.win32.js",
|
|
220
220
|
"baseFile": "packages/react-native/Libraries/Core/Devtools/loadBundleFromServer.js",
|
|
221
|
-
"baseHash": "
|
|
221
|
+
"baseHash": "ac08c96a4bebd677597a40ea1525a2d5d1ee8742",
|
|
222
222
|
"issue": 12704
|
|
223
223
|
},
|
|
224
224
|
{
|
|
@@ -236,7 +236,7 @@
|
|
|
236
236
|
"type": "derived",
|
|
237
237
|
"file": "src-win/Libraries/Image/Image.win32.js",
|
|
238
238
|
"baseFile": "packages/react-native/Libraries/Image/Image.ios.js",
|
|
239
|
-
"baseHash": "
|
|
239
|
+
"baseHash": "5d62f4a6c4edfe3007eb3b80704a1dfb68e5ff8a",
|
|
240
240
|
"issue": 4320
|
|
241
241
|
},
|
|
242
242
|
{
|
|
@@ -303,13 +303,13 @@
|
|
|
303
303
|
"type": "derived",
|
|
304
304
|
"file": "src-win/Libraries/LogBox/UI/LogBoxInspectorReactFrames.win32.js",
|
|
305
305
|
"baseFile": "packages/react-native/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js",
|
|
306
|
-
"baseHash": "
|
|
306
|
+
"baseHash": "cdf958aebabbe9067d34a2df3e6f2fe7ce09f51e"
|
|
307
307
|
},
|
|
308
308
|
{
|
|
309
309
|
"type": "derived",
|
|
310
310
|
"file": "src-win/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.win32.js",
|
|
311
311
|
"baseFile": "packages/react-native/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js",
|
|
312
|
-
"baseHash": "
|
|
312
|
+
"baseHash": "987653809d7838bb80d3a975abc9f0fd3bc13d93"
|
|
313
313
|
},
|
|
314
314
|
{
|
|
315
315
|
"type": "derived",
|
|
@@ -390,6 +390,13 @@
|
|
|
390
390
|
"baseFile": "packages/react-native/Libraries/ReactNative/PaperUIManager.js",
|
|
391
391
|
"baseHash": "7a14c3d42ba7442848bd90329f6d31bda323c6d4"
|
|
392
392
|
},
|
|
393
|
+
{
|
|
394
|
+
"type": "patch",
|
|
395
|
+
"file": "src-win/Libraries/Renderer/shims/ReactNativeTypes.win32.js",
|
|
396
|
+
"baseFile": "packages/react-native/Libraries/Renderer/shims/ReactNativeTypes.js",
|
|
397
|
+
"baseHash": "4e0c2fba71006410b3effa3979aea91e0f711144",
|
|
398
|
+
"issue": 0
|
|
399
|
+
},
|
|
393
400
|
{
|
|
394
401
|
"type": "derived",
|
|
395
402
|
"file": "src-win/Libraries/Settings/Settings.win32.js",
|
|
@@ -412,13 +419,13 @@
|
|
|
412
419
|
"type": "derived",
|
|
413
420
|
"file": "src-win/Libraries/Text/Text.d.ts",
|
|
414
421
|
"baseFile": "packages/react-native/Libraries/Text/Text.d.ts",
|
|
415
|
-
"baseHash": "
|
|
422
|
+
"baseHash": "d3807571f477ef8ba4bb20c1ee899b1a5814941d"
|
|
416
423
|
},
|
|
417
424
|
{
|
|
418
425
|
"type": "derived",
|
|
419
426
|
"file": "src-win/Libraries/Text/Text.win32.js",
|
|
420
427
|
"baseFile": "packages/react-native/Libraries/Text/Text.js",
|
|
421
|
-
"baseHash": "
|
|
428
|
+
"baseHash": "108e59816ed3b3c8183d0687a66088755580c00d"
|
|
422
429
|
},
|
|
423
430
|
{
|
|
424
431
|
"type": "derived",
|
|
@@ -431,7 +438,7 @@
|
|
|
431
438
|
"type": "derived",
|
|
432
439
|
"file": "src-win/Libraries/Text/TextProps.win32.js",
|
|
433
440
|
"baseFile": "packages/react-native/Libraries/Text/TextProps.js",
|
|
434
|
-
"baseHash": "
|
|
441
|
+
"baseHash": "6ee62a1b3a4384c2b5bd1dd10a13664c72e5dc88"
|
|
435
442
|
},
|
|
436
443
|
{
|
|
437
444
|
"type": "patch",
|
|
@@ -477,7 +484,7 @@
|
|
|
477
484
|
"type": "patch",
|
|
478
485
|
"file": "src-win/Libraries/Utilities/PlatformTypes.js",
|
|
479
486
|
"baseFile": "packages/react-native/Libraries/Utilities/PlatformTypes.js",
|
|
480
|
-
"baseHash": "
|
|
487
|
+
"baseHash": "8beb4d8d786f33f9eeb6edcff939c38765e19055",
|
|
481
488
|
"issue": 14686
|
|
482
489
|
},
|
|
483
490
|
{
|
|
@@ -490,14 +497,14 @@
|
|
|
490
497
|
"type": "patch",
|
|
491
498
|
"file": "src-win/src/private/animated/NativeAnimatedHelper.win32.js",
|
|
492
499
|
"baseFile": "packages/react-native/src/private/animated/NativeAnimatedHelper.js",
|
|
493
|
-
"baseHash": "
|
|
500
|
+
"baseHash": "e897f1bd33ed982044b97a01d9f606b9ebcd4505",
|
|
494
501
|
"issue": 11041
|
|
495
502
|
},
|
|
496
503
|
{
|
|
497
504
|
"type": "copy",
|
|
498
505
|
"file": "src-win/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.win32.js",
|
|
499
506
|
"baseFile": "packages/react-native/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.android.js",
|
|
500
|
-
"baseHash": "
|
|
507
|
+
"baseHash": "f2cc01b07b779b75002daec9c2761616ad01f4ca"
|
|
501
508
|
},
|
|
502
509
|
{
|
|
503
510
|
"type": "derived",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@office-iss/react-native-win32",
|
|
3
|
-
"version": "0.0.0-canary.
|
|
3
|
+
"version": "0.0.0-canary.297",
|
|
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": "17.0.0",
|
|
31
31
|
"@react-native-community/cli-platform-ios": "17.0.0",
|
|
32
32
|
"@react-native/assets": "1.0.0",
|
|
33
|
-
"@react-native/assets-registry": "0.
|
|
34
|
-
"@react-native/codegen": "0.
|
|
35
|
-
"@react-native/community-cli-plugin": "0.
|
|
36
|
-
"@react-native/gradle-plugin": "0.
|
|
37
|
-
"@react-native/js-polyfills": "0.
|
|
38
|
-
"@react-native/normalize-colors": "0.
|
|
39
|
-
"@react-native/virtualized-lists": "0.
|
|
33
|
+
"@react-native/assets-registry": "0.81.0-nightly-20250521-3cb70bb6a",
|
|
34
|
+
"@react-native/codegen": "0.81.0-nightly-20250521-3cb70bb6a",
|
|
35
|
+
"@react-native/community-cli-plugin": "0.81.0-nightly-20250521-3cb70bb6a",
|
|
36
|
+
"@react-native/gradle-plugin": "0.81.0-nightly-20250521-3cb70bb6a",
|
|
37
|
+
"@react-native/js-polyfills": "0.81.0-nightly-20250521-3cb70bb6a",
|
|
38
|
+
"@react-native/normalize-colors": "0.81.0-nightly-20250521-3cb70bb6a",
|
|
39
|
+
"@react-native/virtualized-lists": "0.81.0-nightly-20250521-3cb70bb6a",
|
|
40
40
|
"abort-controller": "^3.0.0",
|
|
41
41
|
"anser": "^1.4.9",
|
|
42
42
|
"ansi-regex": "^5.0.0",
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
"devDependencies": {
|
|
73
73
|
"@babel/core": "^7.25.2",
|
|
74
74
|
"@babel/eslint-parser": "^7.25.1",
|
|
75
|
-
"@react-native/metro-config": "0.
|
|
75
|
+
"@react-native/metro-config": "0.81.0-nightly-20250521-3cb70bb6a",
|
|
76
76
|
"@rnw-scripts/babel-react-native-config": "0.0.0",
|
|
77
77
|
"@rnw-scripts/eslint-config": "1.2.37",
|
|
78
78
|
"@rnw-scripts/jest-out-of-tree-snapshot-resolver": "^1.1.41",
|
|
@@ -83,19 +83,19 @@
|
|
|
83
83
|
"@types/prop-types": "15.7.1",
|
|
84
84
|
"@types/react": "^19.0.0",
|
|
85
85
|
"eslint": "^8.19.0",
|
|
86
|
-
"flow-bin": "^0.
|
|
86
|
+
"flow-bin": "^0.271.0",
|
|
87
87
|
"jscodeshift": "^0.14.0",
|
|
88
88
|
"just-scripts": "^1.3.3",
|
|
89
89
|
"prettier": "2.8.8",
|
|
90
90
|
"react": "19.1.0",
|
|
91
|
-
"react-native": "0.
|
|
92
|
-
"react-native-platform-override": "^1.9.
|
|
91
|
+
"react-native": "0.81.0-nightly-20250521-3cb70bb6a",
|
|
92
|
+
"react-native-platform-override": "^1.9.58",
|
|
93
93
|
"typescript": "5.0.4"
|
|
94
94
|
},
|
|
95
95
|
"peerDependencies": {
|
|
96
96
|
"@types/react": "^19.1.0",
|
|
97
97
|
"react": "^19.1.0",
|
|
98
|
-
"react-native": "0.
|
|
98
|
+
"react-native": "0.81.0-nightly-20250521-3cb70bb6a"
|
|
99
99
|
},
|
|
100
100
|
"beachball": {
|
|
101
101
|
"defaultNpmTag": "canary",
|
|
@@ -57,7 +57,7 @@ const eventListenerAnimationFinishedCallbacks: {
|
|
|
57
57
|
let globalEventEmitterGetValueListener: ?EventSubscription = null;
|
|
58
58
|
let globalEventEmitterAnimationFinishedListener: ?EventSubscription = null;
|
|
59
59
|
|
|
60
|
-
const shouldSignalBatch =
|
|
60
|
+
const shouldSignalBatch: boolean =
|
|
61
61
|
ReactNativeFeatureFlags.animatedShouldSignalBatch() ||
|
|
62
62
|
ReactNativeFeatureFlags.cxxNativeAnimatedEnabled();
|
|
63
63
|
|
|
@@ -97,6 +97,10 @@ function createNativeOperations(): $NonMaybeType<typeof NativeAnimatedModule> {
|
|
|
97
97
|
// is possible because # arguments is fixed for each operation. For more
|
|
98
98
|
// details, see `NativeAnimatedModule.queueAndExecuteBatchedOperations`.
|
|
99
99
|
singleOpQueue.push(operationID, ...args);
|
|
100
|
+
if (shouldSignalBatch) {
|
|
101
|
+
clearImmediate(flushQueueImmediate);
|
|
102
|
+
flushQueueImmediate = setImmediate(API.flushQueue);
|
|
103
|
+
}
|
|
100
104
|
};
|
|
101
105
|
}
|
|
102
106
|
} else {
|
|
@@ -436,6 +440,7 @@ export default {
|
|
|
436
440
|
generateNewAnimationId,
|
|
437
441
|
assertNativeAnimatedModule,
|
|
438
442
|
shouldUseNativeDriver,
|
|
443
|
+
shouldSignalBatch,
|
|
439
444
|
transformDataType,
|
|
440
445
|
// $FlowExpectedError[unsafe-getters-setters] - unsafe getter lint suppression
|
|
441
446
|
// $FlowExpectedError[missing-type-arg] - unsafe getter lint suppression
|
|
@@ -57,7 +57,7 @@ const eventListenerAnimationFinishedCallbacks: {
|
|
|
57
57
|
let globalEventEmitterGetValueListener: ?EventSubscription = null;
|
|
58
58
|
let globalEventEmitterAnimationFinishedListener: ?EventSubscription = null;
|
|
59
59
|
|
|
60
|
-
const shouldSignalBatch =
|
|
60
|
+
const shouldSignalBatch: boolean =
|
|
61
61
|
ReactNativeFeatureFlags.animatedShouldSignalBatch() ||
|
|
62
62
|
ReactNativeFeatureFlags.cxxNativeAnimatedEnabled();
|
|
63
63
|
|
|
@@ -97,6 +97,10 @@ function createNativeOperations(): $NonMaybeType<typeof NativeAnimatedModule> {
|
|
|
97
97
|
// is possible because # arguments is fixed for each operation. For more
|
|
98
98
|
// details, see `NativeAnimatedModule.queueAndExecuteBatchedOperations`.
|
|
99
99
|
singleOpQueue.push(operationID, ...args);
|
|
100
|
+
if (shouldSignalBatch) {
|
|
101
|
+
clearImmediate(flushQueueImmediate);
|
|
102
|
+
flushQueueImmediate = setImmediate(API.flushQueue);
|
|
103
|
+
}
|
|
100
104
|
};
|
|
101
105
|
}
|
|
102
106
|
} else {
|
|
@@ -439,6 +443,7 @@ export default {
|
|
|
439
443
|
generateNewAnimationId,
|
|
440
444
|
assertNativeAnimatedModule,
|
|
441
445
|
shouldUseNativeDriver,
|
|
446
|
+
shouldSignalBatch,
|
|
442
447
|
transformDataType,
|
|
443
448
|
// $FlowExpectedError[unsafe-getters-setters] - unsafe getter lint suppression
|
|
444
449
|
// $FlowExpectedError[missing-type-arg] - unsafe getter lint suppression
|
|
@@ -66,9 +66,13 @@ export default function createAnimatedPropsHook(
|
|
|
66
66
|
);
|
|
67
67
|
|
|
68
68
|
useEffect(() => {
|
|
69
|
-
//
|
|
70
|
-
//
|
|
71
|
-
NativeAnimatedHelper.
|
|
69
|
+
// Animated queue flush is handled deterministically in setImmediate for the following feature flags:
|
|
70
|
+
// animatedShouldSignalBatch, cxxNativeAnimatedEnabled
|
|
71
|
+
if (!NativeAnimatedHelper.shouldSignalBatch) {
|
|
72
|
+
// If multiple components call `flushQueue`, the first one will flush the
|
|
73
|
+
// queue and subsequent ones will do nothing.
|
|
74
|
+
NativeAnimatedHelper.API.flushQueue();
|
|
75
|
+
}
|
|
72
76
|
let drivenAnimationEndedListener: ?EventSubscription = null;
|
|
73
77
|
if (node.__isNative) {
|
|
74
78
|
drivenAnimationEndedListener =
|
|
@@ -128,7 +132,10 @@ export default function createAnimatedPropsHook(
|
|
|
128
132
|
if (node.__isNative) {
|
|
129
133
|
// Check 2: this is an animation driven by native.
|
|
130
134
|
// In native driven animations, this callback is only called once the animation completes.
|
|
131
|
-
if (
|
|
135
|
+
if (
|
|
136
|
+
isFabricNode &&
|
|
137
|
+
!ReactNativeFeatureFlags.cxxNativeAnimatedEnabled()
|
|
138
|
+
) {
|
|
132
139
|
// Call `scheduleUpdate` to synchronise Fiber and Shadow tree.
|
|
133
140
|
// Must not be called in Paper.
|
|
134
141
|
scheduleUpdate();
|