@office-iss/react-native-win32 0.72.7 → 0.73.0-preview.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.flowconfig +15 -4
- package/CHANGELOG.json +523 -94
- package/CHANGELOG.md +209 -52
- package/IntegrationTests/PromiseTest.js +1 -0
- package/IntegrationTests/websocket_integration_test_server.js +1 -1
- package/Libraries/Animated/Animated.js +1 -1
- package/Libraries/Animated/AnimatedImplementation.js +1 -1
- package/Libraries/Animated/NativeAnimatedHelper.js +14 -10
- package/Libraries/Animated/NativeAnimatedHelper.win32.js +16 -12
- package/Libraries/Animated/NativeAnimatedModule.js +6 -2
- package/Libraries/Animated/NativeAnimatedTurboModule.js +7 -4
- package/Libraries/Animated/animations/Animation.js +57 -3
- package/Libraries/Animated/animations/DecayAnimation.js +9 -0
- package/Libraries/Animated/animations/SpringAnimation.js +8 -0
- package/Libraries/Animated/animations/TimingAnimation.js +8 -0
- package/Libraries/Animated/components/AnimatedFlatList.js +2 -1
- package/Libraries/Animated/components/AnimatedScrollView.js +2 -0
- package/Libraries/Animated/components/AnimatedSectionList.js +2 -1
- package/Libraries/Animated/createAnimatedComponent.js +1 -0
- package/Libraries/Animated/nodes/AnimatedColor.js +1 -1
- package/Libraries/Animated/nodes/AnimatedObject.js +146 -0
- package/Libraries/Animated/nodes/AnimatedProps.js +19 -7
- package/Libraries/Animated/nodes/AnimatedStyle.js +29 -55
- package/Libraries/Animated/nodes/AnimatedValueXY.js +3 -17
- package/Libraries/Animated/shouldUseTurboAnimatedModule.js +17 -0
- package/Libraries/Animated/useAnimatedProps.js +9 -10
- package/Libraries/AppState/AppState.d.ts +1 -1
- package/Libraries/AppState/NativeAppState.js +8 -4
- package/Libraries/BatchedBridge/MessageQueue.js +45 -36
- package/Libraries/Blob/Blob.js +6 -2
- package/Libraries/Blob/BlobManager.js +9 -10
- package/Libraries/Blob/BlobRegistry.js +14 -9
- package/Libraries/Blob/File.js +1 -1
- package/Libraries/Blob/FileReader.js +1 -2
- package/Libraries/Components/Button/ButtonWin32.Props.d.ts +1 -1
- package/Libraries/Components/Button/ButtonWin32.Props.js.map +1 -1
- package/Libraries/Components/Button/ButtonWin32.d.ts +1 -1
- package/Libraries/Components/Button/ButtonWin32.js +1 -4
- package/Libraries/Components/Button/ButtonWin32.js.map +1 -1
- package/Libraries/Components/Clipboard/Clipboard.d.ts +4 -4
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +3 -1
- package/Libraries/Components/EnterString.win32.d.ts +1 -1
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +26 -6
- package/Libraries/Components/Pressable/Pressable.js +3 -2
- package/Libraries/Components/Pressable/Pressable.win32.js +4 -3
- package/Libraries/Components/Pressable/useAndroidRippleForView.js +1 -1
- package/Libraries/Components/SafeAreaView/SafeAreaView.js +7 -7
- package/Libraries/Components/SafeAreaView/SafeAreaView.win32.js +7 -8
- package/Libraries/Components/ScrollView/ScrollView.js +3 -1
- package/Libraries/Components/ScrollView/ScrollView.win32.js +3 -1
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +39 -46
- package/Libraries/Components/Switch/Switch.js +1 -0
- package/Libraries/Components/Text/TextWin32.d.ts +1 -1
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +1 -0
- package/Libraries/Components/TextInput/TextInput.d.ts +49 -7
- package/Libraries/Components/TextInput/TextInput.flow.js +43 -10
- package/Libraries/Components/TextInput/TextInput.js +62 -10
- package/Libraries/Components/TextInput/TextInput.win32.js +953 -206
- package/Libraries/Components/TextInput/Win32TextInputNativeComponent.js +23 -0
- package/Libraries/Components/ToastAndroid/{ToastAndroid.ios.js → ToastAndroid.js} +9 -1
- package/Libraries/Components/ToastAndroid/ToastAndroid.win32.js +9 -1
- package/Libraries/Components/Touchable/Tests/TouchableWin32Test.js +2 -2
- package/Libraries/Components/Touchable/Tests/TouchableWin32Test.js.map +1 -1
- package/Libraries/Components/Touchable/TouchableBounce.js +1 -1
- package/Libraries/Components/Touchable/TouchableHighlight.js +1 -1
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -1
- package/Libraries/Components/Touchable/TouchableOpacity.js +4 -1
- package/Libraries/Components/Touchable/TouchableWin32.d.ts +1 -1
- package/Libraries/Components/Touchable/TouchableWin32.js.map +1 -1
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -0
- package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlay.js +16 -6
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +9 -0
- package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -0
- package/Libraries/Components/View/ReactNativeViewAttributes.win32.js +1 -0
- package/Libraries/Components/View/View.js +46 -32
- package/Libraries/Components/View/View.win32.js +37 -6
- package/Libraries/Components/View/ViewAccessibility.d.ts +8 -2
- package/Libraries/Components/View/ViewNativeComponent.js +1 -0
- package/Libraries/Components/View/ViewPropTypes.js +18 -3
- package/Libraries/Components/View/ViewPropTypes.win32.js +30 -4
- package/Libraries/Components/View/ViewWin32.js +3 -2
- package/Libraries/Core/Devtools/loadBundleFromServer.js +152 -0
- package/Libraries/Core/Devtools/symbolicateStackTrace.js +2 -1
- package/Libraries/Core/ExceptionsManager.js +16 -7
- package/Libraries/Core/ExtendedError.js +12 -0
- package/Libraries/Core/ReactNativeVersion.js +3 -3
- package/Libraries/Core/ReactNativeVersionCheck.js +0 -2
- package/Libraries/Core/ReactNativeVersionCheck.win32.js +0 -2
- package/Libraries/Core/__mocks__/NativeExceptionsManager.js +20 -0
- package/Libraries/Core/setUpDeveloperTools.js +5 -1
- package/Libraries/Core/setUpIntersectionObserver.js +16 -0
- package/Libraries/{Components/ProgressBarAndroid/ProgressBarAndroid.ios.js → Core/setUpMutationObserver.js} +6 -2
- package/Libraries/Core/setUpPerformance.js +6 -13
- package/Libraries/Core/setUpPerformanceObserver.js +16 -0
- package/Libraries/Core/setUpRegeneratorRuntime.js +4 -2
- package/Libraries/DOM/Nodes/ReactNativeElement.js +135 -18
- package/Libraries/DOM/Nodes/ReadOnlyCharacterData.js +72 -0
- package/Libraries/DOM/Nodes/ReadOnlyElement.js +209 -21
- package/Libraries/DOM/Nodes/ReadOnlyNode.js +206 -17
- package/Libraries/DOM/Nodes/ReadOnlyText.js +30 -0
- package/Libraries/DOM/Nodes/Utilities/Traversal.js +54 -0
- package/Libraries/EventEmitter/NativeEventEmitter.d.ts +0 -6
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +15 -4
- package/Libraries/Image/Image.android.js +8 -2
- package/Libraries/Image/Image.d.ts +1 -1
- package/Libraries/Image/Image.ios.js +4 -1
- package/Libraries/Image/Image.win32.js +6 -3
- package/Libraries/Image/ImageBackground.js +3 -0
- package/Libraries/Image/resolveAssetSource.win32.js +1 -1
- package/Libraries/Inspector/DevtoolsOverlay.js +6 -3
- package/Libraries/Inspector/NetworkOverlay.js +2 -2
- package/Libraries/Interaction/JSEventLoopWatchdog.js +1 -5
- package/Libraries/Interaction/PanResponder.js +1 -4
- package/Libraries/IntersectionObserver/IntersectionObserver.js +252 -0
- package/Libraries/IntersectionObserver/IntersectionObserverEntry.js +140 -0
- package/Libraries/IntersectionObserver/IntersectionObserverManager.js +221 -0
- package/Libraries/IntersectionObserver/NativeIntersectionObserver.js +41 -0
- package/Libraries/IntersectionObserver/__mocks__/NativeIntersectionObserver.js +162 -0
- package/Libraries/LayoutAnimation/LayoutAnimation.js +1 -1
- package/Libraries/Lists/FlatList.d.ts +2 -1
- package/Libraries/Lists/FlatList.js +15 -5
- package/Libraries/Lists/SectionList.js +4 -0
- package/Libraries/LogBox/Data/LogBoxLog.js +4 -1
- package/Libraries/LogBox/Data/LogBoxSymbolication.js +5 -2
- package/Libraries/LogBox/Data/parseLogBoxLog.js +57 -20
- package/Libraries/LogBox/UI/AnsiHighlight.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +24 -31
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +1 -1
- package/Libraries/LogBox/UI/LogBoxMessage.js +4 -7
- package/Libraries/MutationObserver/MutationObserver.js +184 -0
- package/Libraries/MutationObserver/MutationObserverManager.js +218 -0
- package/Libraries/MutationObserver/MutationRecord.js +82 -0
- package/Libraries/MutationObserver/NativeMutationObserver.js +58 -0
- package/Libraries/MutationObserver/__mocks__/NativeMutationObserver.js +327 -0
- package/Libraries/NativeComponent/BaseViewConfig.android.js +18 -3
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +33 -0
- package/Libraries/NativeComponent/BaseViewConfig.win32.js +33 -0
- package/Libraries/NativeComponent/NativeComponentRegistry.js +3 -5
- package/Libraries/NativeModules/specs/NativeSourceCode.js +6 -6
- package/Libraries/Network/RCTNetworking.android.js +2 -1
- package/Libraries/Network/XMLHttpRequest.js +1 -1
- package/Libraries/NewAppScreen/components/DebugInstructions.js +4 -4
- package/Libraries/NewAppScreen/components/LearnMoreLinks.js +9 -2
- package/Libraries/Performance/QuickPerformanceLogger.js +1 -1
- package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +1 -0
- package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +1 -0
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +3 -1
- package/Libraries/Pressability/Pressability.js +28 -3
- package/Libraries/Pressability/Pressability.win32.js +30 -5
- package/Libraries/ReactNative/AppContainer.js +2 -3
- package/Libraries/ReactNative/AppRegistry.d.ts +0 -5
- package/Libraries/ReactNative/AppRegistry.js +66 -53
- package/Libraries/ReactNative/BridgelessUIManager.js +38 -9
- package/Libraries/ReactNative/FabricUIManager.js +143 -34
- package/Libraries/ReactNative/I18nManager.js +5 -11
- package/Libraries/ReactNative/NativeI18nManager.js +7 -5
- package/Libraries/ReactNative/PaperUIManager.win32.js +2 -2
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +151 -0
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +81 -0
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +492 -0
- package/Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps.js +32 -0
- package/Libraries/ReactNative/ReactNativeFeatureFlags.js +19 -3
- package/Libraries/ReactNative/UIManager.js +8 -0
- package/Libraries/ReactNative/__mocks__/FabricUIManager.js +648 -0
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +38 -2
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +27 -27
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +3 -3
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3 -3
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +27 -27
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +3 -3
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +3 -3
- package/Libraries/Renderer/shims/ReactFabric.js +5 -6
- package/Libraries/Renderer/shims/ReactFeatureFlags.js +2 -3
- package/Libraries/Renderer/shims/ReactNative.js +2 -3
- package/Libraries/Renderer/shims/ReactNativeTypes.js +35 -17
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +3 -3
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -3
- package/Libraries/Settings/{Settings.android.js → Settings.js} +4 -4
- package/Libraries/Share/Share.d.ts +3 -9
- package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +9 -4
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +28 -13
- package/Libraries/StyleSheet/PlatformColorValueTypes.win32.js +14 -4
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypesWin32.d.ts +1 -1
- package/Libraries/StyleSheet/StyleSheet.d.ts +10 -1
- package/Libraries/StyleSheet/StyleSheet.js +3 -0
- package/Libraries/StyleSheet/StyleSheet.win32.js +3 -0
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +31 -17
- package/Libraries/StyleSheet/StyleSheetTypes.js +90 -6
- package/Libraries/StyleSheet/flattenStyle.js +4 -0
- package/Libraries/StyleSheet/private/_TransformStyle.js +16 -2
- package/Libraries/StyleSheet/processColor.js +1 -2
- package/Libraries/StyleSheet/processTransformOrigin.js +136 -0
- package/Libraries/StyleSheet/splitLayoutProps.js +1 -0
- package/Libraries/Text/Text.d.ts +5 -5
- package/Libraries/Text/Text.js +17 -10
- package/Libraries/Text/Text.win32.js +354 -0
- package/Libraries/Text/TextProps.win32.js +281 -0
- package/Libraries/TurboModule/TurboModuleRegistry.js +47 -7
- package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +6 -0
- package/Libraries/Types/CoreEventTypes.d.ts +5 -2
- package/Libraries/Utilities/GlobalPerformanceLogger.js +2 -12
- package/Libraries/Utilities/NativeDeviceInfo.js +8 -9
- package/Libraries/Utilities/NativePlatformConstantsAndroid.js +23 -18
- package/Libraries/Utilities/NativePlatformConstantsIOS.js +16 -13
- package/Libraries/Utilities/NativePlatformConstantsWin.js +13 -10
- package/Libraries/Utilities/PerformanceLoggerContext.js +1 -1
- package/Libraries/Utilities/Platform.android.js +12 -8
- package/Libraries/Utilities/Platform.d.ts +1 -0
- package/Libraries/Utilities/Platform.flow.js +84 -0
- package/Libraries/Utilities/Platform.flow.win32.js +111 -0
- package/Libraries/Utilities/Platform.ios.js +12 -8
- package/Libraries/Utilities/Platform.win32.js +12 -8
- package/Libraries/Utilities/PolyfillFunctions.js +1 -1
- package/Libraries/Utilities/ReactNativeTestTools.js +1 -2
- package/Libraries/Utilities/SceneTracker.js +1 -1
- package/Libraries/Utilities/createPerformanceLogger.js +63 -32
- package/Libraries/Utilities/useColorScheme.js +7 -8
- package/Libraries/WebPerformance/MemoryInfo.js +1 -1
- package/Libraries/WebPerformance/NativePerformance.js +3 -8
- package/Libraries/WebPerformance/NativePerformanceObserver.js +4 -0
- package/Libraries/WebPerformance/Performance.js +42 -15
- package/Libraries/WebPerformance/PerformanceEntry.js +14 -6
- package/Libraries/WebPerformance/PerformanceEventTiming.js +18 -1
- package/Libraries/WebPerformance/ReactNativeStartupTiming.js +40 -14
- package/Libraries/WebPerformance/__mocks__/NativePerformance.js +4 -2
- package/Libraries/WebPerformance/__mocks__/NativePerformanceObserver.js +21 -3
- package/Libraries/promiseRejectionTrackingOptions.js +1 -3
- package/Libraries/vendor/emitter/EventEmitter.js +17 -17
- package/flow/global.js +1 -3
- package/flow/jest.js +5 -1
- package/{Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.ios.js → jest/ReactNativeInternalFeatureFlagsMock.js} +2 -1
- package/jest/__tests__/setup-test.js +18 -0
- package/jest/mockModal.js +6 -4
- package/jest/setup.js +61 -30
- package/jest.config.js +1 -1
- package/just-task.js +1 -0
- package/overrides.json +51 -46
- package/package.json +35 -33
- package/src/Libraries/Components/Button/ButtonWin32.Props.ts +1 -1
- package/src/Libraries/Components/Button/ButtonWin32.tsx +0 -2
- package/src/Libraries/Components/Touchable/Tests/TouchableWin32Test.tsx +2 -2
- package/src/Libraries/Components/Touchable/TouchableWin32.tsx +1 -1
- package/src/Libraries/Components/View/ViewAccessibility.d.ts +8 -2
- package/src/Libraries/StyleSheet/PlatformColorValueTypesWin32.d.ts +1 -1
- package/types/experimental.d.ts +44 -0
- package/types/index.d.ts +2 -1
- package/types/modules/Devtools.d.ts +1 -0
- package/types/modules/globals.d.ts +16 -1
- package/IntegrationTests/BUCK +0 -32
- package/IntegrationTests/PropertiesUpdateTest.js +0 -29
- package/IntegrationTests/RCTRootViewIntegrationTestApp.js +0 -86
- package/IntegrationTests/ReactContentSizeUpdateTest.js +0 -89
- package/IntegrationTests/SizeFlexibilityUpdateTest.js +0 -106
- package/Libraries/Components/TextInput/TextInput.Types.win32.d.ts +0 -51
- package/Libraries/Components/TextInput/TextInput.Types.win32.js +0 -3
- package/Libraries/Components/TextInput/TextInput.Types.win32.js.map +0 -1
- package/Libraries/Utilities/AcessibilityMapping.js +0 -154
- package/Libraries/Utilities/AcessibilityMapping.win32.js +0 -156
- package/Libraries/Utilities/NativeDevSplitBundleLoader.js +0 -19
- package/Libraries/Utilities/useColorScheme.win32.js +0 -26
- package/flow/use-sync-external-store.js +0 -20
- package/flow-typed/npm/base64-js_v1.x.x.js +0 -12
- package/flow-typed/npm/glob_v7.x.x.js +0 -79
- package/flow-typed/npm/pretty-format_v26.x.x.js +0 -49
- package/flow-typed/npm/promise_v8.x.x.js +0 -30
- package/flow-typed/npm/react-dom_v17.x.x.js +0 -139
- package/flow-typed/npm/react-test-renderer_v16.x.x.js +0 -79
- package/flow-typed/npm/stacktrace-parser_v0.1.x.js +0 -17
- package/flow-typed/npm/yargs_v17.x.x.js +0 -341
- package/src/Libraries/Components/TextInput/TextInput.Types.win32.ts +0 -68
- /package/Libraries/{Renderer/public → ReactNative/ReactFabricPublicInstance}/ReactFabricPublicInstanceUtils.js +0 -0
package/Libraries/Blob/Blob.js
CHANGED
|
@@ -57,7 +57,10 @@ class Blob {
|
|
|
57
57
|
* Currently we only support creating Blobs from other Blobs.
|
|
58
58
|
* Reference: https://developer.mozilla.org/en-US/docs/Web/API/Blob/Blob
|
|
59
59
|
*/
|
|
60
|
-
constructor(
|
|
60
|
+
constructor(
|
|
61
|
+
parts: Array<$ArrayBufferView | ArrayBuffer | Blob | string> = [],
|
|
62
|
+
options?: BlobOptions,
|
|
63
|
+
) {
|
|
61
64
|
const BlobManager = require('./BlobManager');
|
|
62
65
|
this.data = BlobManager.createFromParts(parts, options).data;
|
|
63
66
|
}
|
|
@@ -81,7 +84,7 @@ class Blob {
|
|
|
81
84
|
return this._data;
|
|
82
85
|
}
|
|
83
86
|
|
|
84
|
-
slice(start?: number, end?: number): Blob {
|
|
87
|
+
slice(start?: number, end?: number, contentType: string = ''): Blob {
|
|
85
88
|
const BlobManager = require('./BlobManager');
|
|
86
89
|
let {offset, size} = this.data;
|
|
87
90
|
|
|
@@ -109,6 +112,7 @@ class Blob {
|
|
|
109
112
|
blobId: this.data.blobId,
|
|
110
113
|
offset,
|
|
111
114
|
size,
|
|
115
|
+
type: contentType,
|
|
112
116
|
/* Since `blob.slice()` creates a new view onto the same binary
|
|
113
117
|
* data as the original blob, we should re-use the same collector
|
|
114
118
|
* object so that the underlying resource gets deallocated when
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
import type {BlobCollector, BlobData, BlobOptions} from './BlobTypes';
|
|
12
12
|
|
|
13
13
|
import NativeBlobModule from './NativeBlobModule';
|
|
14
|
+
import {fromByteArray} from 'base64-js';
|
|
14
15
|
import invariant from 'invariant';
|
|
15
16
|
|
|
16
17
|
const Blob = require('./Blob');
|
|
@@ -59,22 +60,20 @@ class BlobManager {
|
|
|
59
60
|
* Create blob from existing array of blobs.
|
|
60
61
|
*/
|
|
61
62
|
static createFromParts(
|
|
62
|
-
parts: Array
|
|
63
|
+
parts: Array<$ArrayBufferView | ArrayBuffer | Blob | string>,
|
|
63
64
|
options?: BlobOptions,
|
|
64
65
|
): Blob {
|
|
65
66
|
invariant(NativeBlobModule, 'NativeBlobModule is available.');
|
|
66
67
|
|
|
67
68
|
const blobId = uuidv4();
|
|
68
69
|
const items = parts.map(part => {
|
|
69
|
-
if (
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
}
|
|
77
|
-
if (part instanceof Blob) {
|
|
70
|
+
if (part instanceof ArrayBuffer || ArrayBuffer.isView(part)) {
|
|
71
|
+
return {
|
|
72
|
+
// $FlowFixMe[incompatible-cast]
|
|
73
|
+
data: fromByteArray(new Uint8Array((part: ArrayBuffer))),
|
|
74
|
+
type: 'string',
|
|
75
|
+
};
|
|
76
|
+
} else if (part instanceof Blob) {
|
|
78
77
|
return {
|
|
79
78
|
data: part.data,
|
|
80
79
|
type: 'blob',
|
|
@@ -8,27 +8,32 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
const registry:
|
|
11
|
+
const registry: Map<string, number> = new Map();
|
|
12
12
|
|
|
13
13
|
const register = (id: string) => {
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
const used = registry.get(id);
|
|
15
|
+
|
|
16
|
+
if (used != null) {
|
|
17
|
+
registry.set(id, used + 1);
|
|
16
18
|
} else {
|
|
17
|
-
registry
|
|
19
|
+
registry.set(id, 1);
|
|
18
20
|
}
|
|
19
21
|
};
|
|
20
22
|
|
|
21
23
|
const unregister = (id: string) => {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
const used = registry.get(id);
|
|
25
|
+
|
|
26
|
+
if (used != null) {
|
|
27
|
+
if (used <= 1) {
|
|
28
|
+
registry.delete(id);
|
|
29
|
+
} else {
|
|
30
|
+
registry.set(id, used - 1);
|
|
26
31
|
}
|
|
27
32
|
}
|
|
28
33
|
};
|
|
29
34
|
|
|
30
35
|
const has = (id: string): number | boolean => {
|
|
31
|
-
return registry
|
|
36
|
+
return registry.get(id) || false;
|
|
32
37
|
};
|
|
33
38
|
|
|
34
39
|
module.exports = {
|
package/Libraries/Blob/File.js
CHANGED
|
@@ -12,8 +12,7 @@ import type Blob from './Blob';
|
|
|
12
12
|
|
|
13
13
|
import NativeFileReaderModule from './NativeFileReaderModule';
|
|
14
14
|
import {toByteArray} from 'base64-js';
|
|
15
|
-
|
|
16
|
-
const EventTarget = require('event-target-shim');
|
|
15
|
+
import EventTarget from 'event-target-shim';
|
|
17
16
|
|
|
18
17
|
type ReadyState =
|
|
19
18
|
| 0 // EMPTY
|
|
@@ -5,7 +5,7 @@ export interface IButtonWin32Style extends Omit<RN.TextStyle, ButtonWin32OmitSty
|
|
|
5
5
|
}
|
|
6
6
|
export interface IButtonWin32Props extends RN.ButtonProps {
|
|
7
7
|
/**
|
|
8
|
-
* Style information which controls the visual
|
|
8
|
+
* Style information which controls the visual appearance of the button.
|
|
9
9
|
*/
|
|
10
10
|
style?: RN.StyleProp<IButtonWin32Style>;
|
|
11
11
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonWin32.Props.js","sourceRoot":"","sources":["../../../src/Libraries/Components/Button/ButtonWin32.Props.ts"],"names":[],"mappings":"","sourcesContent":["import RN = require('react-native');\n\n// removes from interface T the members of interface K\ntype Omit<T, K> = Pick<T, Exclude<keyof T, keyof K>>;\n\nexport type ButtonWin32OmitStyles = RN.TextStyleIOS & RN.TextStyleAndroid;\n\nexport interface IButtonWin32Style extends Omit<RN.TextStyle, ButtonWin32OmitStyles> {}\n\nexport interface IButtonWin32Props extends RN.ButtonProps {\n /**\n * Style information which controls the visual
|
|
1
|
+
{"version":3,"file":"ButtonWin32.Props.js","sourceRoot":"","sources":["../../../src/Libraries/Components/Button/ButtonWin32.Props.ts"],"names":[],"mappings":"","sourcesContent":["import RN = require('react-native');\n\n// removes from interface T the members of interface K\ntype Omit<T, K> = Pick<T, Exclude<keyof T, keyof K>>;\n\nexport type ButtonWin32OmitStyles = RN.TextStyleIOS & RN.TextStyleAndroid;\n\nexport interface IButtonWin32Style extends Omit<RN.TextStyle, ButtonWin32OmitStyles> {}\n\nexport interface IButtonWin32Props extends RN.ButtonProps {\n /**\n * Style information which controls the visual appearance of the button.\n */\n style?: RN.StyleProp<IButtonWin32Style>;\n\n /**\n * Blur event. Called when focus is lost.\n */\n onBlur?: () => void;\n\n /**\n * Focus event. Called when focus is acquired.\n */\n onFocus?: () => void;\n\n /**\n * Mouse-enter event. Called when mouse is moved on to the control.\n */\n onMouseEnter?: () => void;\n\n /**\n * Mouse-leave event. Called when mouse is moved off of the control.\n */\n onMouseLeave?: () => void;\n\n /**\n * Touch-start event. Called when the user begins touching the control.\n */\n onTouchStart?: (event: RN.GestureResponderEvent) => void;\n\n /**\n * Touch-end event. Called when the user stops touching the control.\n */\n onTouchEnd?: (event: RN.GestureResponderEvent) => void;\n}\n"]}
|
|
@@ -9,7 +9,7 @@ interface IButtonWin32State {
|
|
|
9
9
|
*/
|
|
10
10
|
export declare class ButtonWin32 extends React.Component<IButtonWin32Props, IButtonWin32State> {
|
|
11
11
|
constructor(props: IButtonWin32Props);
|
|
12
|
-
render(): JSX.Element;
|
|
12
|
+
render(): React.JSX.Element;
|
|
13
13
|
private readonly _makeState;
|
|
14
14
|
private readonly _setState;
|
|
15
15
|
private readonly _onFocus;
|
|
@@ -64,7 +64,6 @@ class ButtonWin32 extends react_1.default.Component {
|
|
|
64
64
|
onBlur: this._onBlur,
|
|
65
65
|
onMouseEnter: this.props.onMouseEnter,
|
|
66
66
|
onMouseLeave: this.props.onMouseLeave,
|
|
67
|
-
// @ts-ignore
|
|
68
67
|
onTouchStart: this.props.onTouchStart,
|
|
69
68
|
onTouchEnd: this._onTouchEnd,
|
|
70
69
|
testID: this.props.testID,
|
|
@@ -76,9 +75,7 @@ class ButtonWin32 extends react_1.default.Component {
|
|
|
76
75
|
if (this.props.color) {
|
|
77
76
|
textProps.style = { color: this.props.color };
|
|
78
77
|
}
|
|
79
|
-
return (
|
|
80
|
-
// @ts-ignore
|
|
81
|
-
react_1.default.createElement(RN.ViewWin32, { ...viewProps },
|
|
78
|
+
return (react_1.default.createElement(RN.ViewWin32, { ...viewProps },
|
|
82
79
|
react_1.default.createElement(RN.TextWin32, { ...textProps }, this.props.title)));
|
|
83
80
|
}
|
|
84
81
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonWin32.js","sourceRoot":"","sources":["../../../src/Libraries/Components/Button/ButtonWin32.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAAyB;AACzB,mCAAoC;AAKpC,IAAW,WAGV;AAHD,WAAW,WAAW;IACpB,2DAAW,CAAA;IACX,qDAAQ,CAAA;AACV,CAAC,EAHU,WAAW,KAAX,WAAW,QAGrB;AAMD;;GAEG;AACH,MAAa,WAAY,SAAQ,eAAK,CAAC,SAA+C;IACpF,YAAY,KAAwB;QAClC,KAAK,CAAC,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"ButtonWin32.js","sourceRoot":"","sources":["../../../src/Libraries/Components/Button/ButtonWin32.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react'\nimport RN = require('react-native');\nimport type { IViewWin32Props } from '../View/ViewPropTypes';\nimport type { ITextWin32Props } from '../Text/TextWin32.Props';\nimport type { IButtonWin32Props } from './ButtonWin32.Props';\n\nconst enum SelectState {\n NotSelected,\n Selected\n}\n\ninterface IButtonWin32State {\n accessibilityState: RN.AccessibilityState;\n}\n\n/**\n * React-native <Button> control with additional Win32-specific functionality.\n */\nexport class ButtonWin32 extends React.Component<IButtonWin32Props, IButtonWin32State> {\n constructor(props: IButtonWin32Props) {\n super(props);\n this.state = this._makeState(SelectState.NotSelected);\n }\n\n public render() {\n const viewProps: IViewWin32Props = {\n accessible: true,\n accessibilityLabel: this.props.accessibilityLabel || this.props.title,\n accessibilityRole: 'button',\n accessibilityState: this.state.accessibilityState,\n focusable: true,\n onFocus: this._onFocus,\n onBlur: this._onBlur,\n onMouseEnter: this.props.onMouseEnter,\n onMouseLeave: this.props.onMouseLeave,\n onTouchStart: this.props.onTouchStart,\n onTouchEnd: this._onTouchEnd,\n testID: this.props.testID,\n style: this.props.style as RN.StyleProp<RN.ViewStyle>,\n };\n\n const textProps: ITextWin32Props = {\n textStyle: 'None',\n };\n if (this.props.color) {\n textProps.style = { color: this.props.color };\n }\n\n return (\n <RN.ViewWin32 {...viewProps}>\n <RN.TextWin32 {...textProps}>{this.props.title}</RN.TextWin32>\n </RN.ViewWin32>\n );\n }\n\n private readonly _makeState = (select: SelectState): IButtonWin32State => {\n return {\n accessibilityState: {\n disabled: this.props.disabled,\n selected: select === SelectState.Selected,\n },\n };\n };\n\n private readonly _setState = (select: SelectState): void => {\n const state = this._makeState(select);\n this.setState(state);\n };\n\n private readonly _onFocus = (): void => {\n this._setState(SelectState.Selected);\n if (this.props.onFocus) {\n this.props.onFocus();\n }\n };\n\n private readonly _onBlur = (): void => {\n this._setState(SelectState.NotSelected);\n if (this.props.onBlur) {\n this.props.onBlur();\n }\n };\n\n private readonly _onTouchEnd = (event: RN.GestureResponderEvent): void => {\n if (!this.props.disabled) {\n if (this.props.onPress) {\n this.props.onPress(event);\n }\n }\n if (this.props.onTouchEnd) {\n this.props.onTouchEnd(event);\n }\n };\n}\n"]}
|
|
@@ -14,15 +14,15 @@ export interface ClipboardStatic {
|
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
16
|
* Clipboard has been extracted from react-native core and will be removed in a future release.
|
|
17
|
-
* It can now be installed and imported from `@react-native-
|
|
18
|
-
* @see https://github.com/react-native-
|
|
17
|
+
* It can now be installed and imported from `@react-native-clipboard/clipboard` instead of 'react-native'.
|
|
18
|
+
* @see https://github.com/react-native-clipboard/clipboard
|
|
19
19
|
* @deprecated
|
|
20
20
|
*/
|
|
21
21
|
export const Clipboard: ClipboardStatic;
|
|
22
22
|
/**
|
|
23
23
|
* Clipboard has been extracted from react-native core and will be removed in a future release.
|
|
24
|
-
* It can now be installed and imported from `@react-native-
|
|
25
|
-
* @see https://github.com/react-native-
|
|
24
|
+
* It can now be installed and imported from `@react-native-clipboard/clipboard` instead of 'react-native'.
|
|
25
|
+
* @see https://github.com/react-native-clipboard/clipboard
|
|
26
26
|
* @deprecated
|
|
27
27
|
*/
|
|
28
28
|
export type Clipboard = ClipboardStatic;
|
|
@@ -181,7 +181,9 @@ class DrawerLayoutAndroid extends React.Component<Props, State> {
|
|
|
181
181
|
...props
|
|
182
182
|
} = this.props;
|
|
183
183
|
const drawStatusBar =
|
|
184
|
-
Platform.
|
|
184
|
+
Platform.OS === 'android' &&
|
|
185
|
+
Platform.Version >= 21 &&
|
|
186
|
+
this.props.statusBarBackgroundColor != null;
|
|
185
187
|
const drawerViewWrapper = (
|
|
186
188
|
<View
|
|
187
189
|
style={[
|
|
@@ -65,6 +65,7 @@ class KeyboardAvoidingView extends React.Component<Props, State> {
|
|
|
65
65
|
_subscriptions: Array<EventSubscription> = [];
|
|
66
66
|
viewRef: {current: React.ElementRef<typeof View> | null, ...};
|
|
67
67
|
_initialFrameHeight: number = 0;
|
|
68
|
+
_bottom: number = 0;
|
|
68
69
|
|
|
69
70
|
constructor(props: Props) {
|
|
70
71
|
super(props);
|
|
@@ -112,14 +113,15 @@ class KeyboardAvoidingView extends React.Component<Props, State> {
|
|
|
112
113
|
};
|
|
113
114
|
|
|
114
115
|
_onLayout = async (event: ViewLayoutEvent) => {
|
|
115
|
-
const
|
|
116
|
+
const oldFrame = this._frame;
|
|
116
117
|
this._frame = event.nativeEvent.layout;
|
|
117
118
|
if (!this._initialFrameHeight) {
|
|
118
119
|
// save the initial frame height, before the keyboard is visible
|
|
119
120
|
this._initialFrameHeight = this._frame.height;
|
|
120
121
|
}
|
|
121
122
|
|
|
122
|
-
|
|
123
|
+
// update bottom height for the first time or when the height is changed
|
|
124
|
+
if (!oldFrame || oldFrame.height !== this._frame.height) {
|
|
123
125
|
await this._updateBottomIfNecessary();
|
|
124
126
|
}
|
|
125
127
|
|
|
@@ -128,20 +130,32 @@ class KeyboardAvoidingView extends React.Component<Props, State> {
|
|
|
128
130
|
}
|
|
129
131
|
};
|
|
130
132
|
|
|
133
|
+
// Avoid unnecessary renders if the KeyboardAvoidingView is disabled.
|
|
134
|
+
_setBottom = (value: number) => {
|
|
135
|
+
const enabled = this.props.enabled ?? true;
|
|
136
|
+
this._bottom = value;
|
|
137
|
+
if (enabled) {
|
|
138
|
+
this.setState({bottom: value});
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
|
|
131
142
|
_updateBottomIfNecessary = async () => {
|
|
132
143
|
if (this._keyboardEvent == null) {
|
|
133
|
-
this.
|
|
144
|
+
this._setBottom(0);
|
|
134
145
|
return;
|
|
135
146
|
}
|
|
136
147
|
|
|
137
148
|
const {duration, easing, endCoordinates} = this._keyboardEvent;
|
|
138
149
|
const height = await this._relativeKeyboardHeight(endCoordinates);
|
|
139
150
|
|
|
140
|
-
if (this.
|
|
151
|
+
if (this._bottom === height) {
|
|
141
152
|
return;
|
|
142
153
|
}
|
|
143
154
|
|
|
144
|
-
|
|
155
|
+
this._setBottom(height);
|
|
156
|
+
|
|
157
|
+
const enabled = this.props.enabled ?? true;
|
|
158
|
+
if (enabled && duration && easing) {
|
|
145
159
|
LayoutAnimation.configureNext({
|
|
146
160
|
// We have to pass the duration equal to minimal accepted duration defined here: RCTLayoutAnimation.m
|
|
147
161
|
duration: duration > 10 ? duration : 10,
|
|
@@ -151,9 +165,15 @@ class KeyboardAvoidingView extends React.Component<Props, State> {
|
|
|
151
165
|
},
|
|
152
166
|
});
|
|
153
167
|
}
|
|
154
|
-
this.setState({bottom: height});
|
|
155
168
|
};
|
|
156
169
|
|
|
170
|
+
componentDidUpdate(_: Props, prevState: State): void {
|
|
171
|
+
const enabled = this.props.enabled ?? true;
|
|
172
|
+
if (enabled && this._bottom !== prevState.bottom) {
|
|
173
|
+
this.setState({bottom: this._bottom});
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
|
|
157
177
|
componentDidMount(): void {
|
|
158
178
|
if (Platform.OS === 'ios') {
|
|
159
179
|
this._subscriptions = [
|
|
@@ -24,6 +24,7 @@ import type {
|
|
|
24
24
|
import {PressabilityDebugView} from '../../Pressability/PressabilityDebug';
|
|
25
25
|
import usePressability from '../../Pressability/usePressability';
|
|
26
26
|
import {type RectOrSize} from '../../StyleSheet/Rect';
|
|
27
|
+
import useMergeRefs from '../../Utilities/useMergeRefs';
|
|
27
28
|
import View from '../View/View';
|
|
28
29
|
import useAndroidRippleForView, {
|
|
29
30
|
type RippleConfig,
|
|
@@ -235,7 +236,7 @@ function Pressable(props: Props, forwardedRef): React.Node {
|
|
|
235
236
|
} = props;
|
|
236
237
|
|
|
237
238
|
const viewRef = useRef<React.ElementRef<typeof View> | null>(null);
|
|
238
|
-
|
|
239
|
+
const mergedRef = useMergeRefs(forwardedRef, viewRef);
|
|
239
240
|
|
|
240
241
|
const android_rippleConfig = useAndroidRippleForView(android_ripple, viewRef);
|
|
241
242
|
|
|
@@ -338,7 +339,7 @@ function Pressable(props: Props, forwardedRef): React.Node {
|
|
|
338
339
|
<View
|
|
339
340
|
{...restPropsWithDefaults}
|
|
340
341
|
{...eventHandlers}
|
|
341
|
-
ref={
|
|
342
|
+
ref={mergedRef}
|
|
342
343
|
style={typeof style === 'function' ? style({pressed}) : style}
|
|
343
344
|
collapsable={false}>
|
|
344
345
|
{typeof children === 'function' ? children({pressed}) : children}
|
|
@@ -28,6 +28,7 @@ import type {
|
|
|
28
28
|
import {PressabilityDebugView} from '../../Pressability/PressabilityDebug';
|
|
29
29
|
import usePressability from '../../Pressability/usePressability';
|
|
30
30
|
import {type RectOrSize} from '../../StyleSheet/Rect';
|
|
31
|
+
import useMergeRefs from '../../Utilities/useMergeRefs';
|
|
31
32
|
import useAndroidRippleForView, {
|
|
32
33
|
type RippleConfig,
|
|
33
34
|
} from './useAndroidRippleForView';
|
|
@@ -235,7 +236,7 @@ type Props = $ReadOnly<{|
|
|
|
235
236
|
*/
|
|
236
237
|
unstable_pressDelay?: ?number,
|
|
237
238
|
/**
|
|
238
|
-
* Web to Native
|
|
239
|
+
* Web to Native Accessibility props
|
|
239
240
|
* https://github.com/facebook/react-native/issues/34424
|
|
240
241
|
*/
|
|
241
242
|
'aria-label'?: ?string,
|
|
@@ -290,7 +291,7 @@ function Pressable(props: Props, forwardedRef): React.Node {
|
|
|
290
291
|
} = props;
|
|
291
292
|
|
|
292
293
|
const viewRef = useRef<React.ElementRef<typeof View> | null>(null);
|
|
293
|
-
|
|
294
|
+
const mergedRef = useMergeRefs(forwardedRef, viewRef);
|
|
294
295
|
|
|
295
296
|
const android_rippleConfig = useAndroidRippleForView(android_ripple, viewRef);
|
|
296
297
|
|
|
@@ -407,7 +408,7 @@ function Pressable(props: Props, forwardedRef): React.Node {
|
|
|
407
408
|
<View
|
|
408
409
|
{...restPropsWithDefaults}
|
|
409
410
|
{...eventHandlers}
|
|
410
|
-
ref={
|
|
411
|
+
ref={mergedRef}
|
|
411
412
|
style={typeof style === 'function' ? style({pressed}) : style}>
|
|
412
413
|
{typeof children === 'function' ? children({pressed}) : children}
|
|
413
414
|
{__DEV__ ? <PressabilityDebugView color="red" hitSlop={hitSlop} /> : null}
|
|
@@ -71,7 +71,7 @@ export default function useAndroidRippleForView(
|
|
|
71
71
|
|
|
72
72
|
return {
|
|
73
73
|
viewProps:
|
|
74
|
-
foreground === true
|
|
74
|
+
foreground === true && Platform.Version >= 23
|
|
75
75
|
? {nativeForegroundAndroid: nativeRippleValue}
|
|
76
76
|
: {nativeBackgroundAndroid: nativeRippleValue},
|
|
77
77
|
onPressIn(event: PressEvent): void {
|
|
@@ -14,8 +14,6 @@ import Platform from '../../Utilities/Platform';
|
|
|
14
14
|
import View from '../View/View';
|
|
15
15
|
import * as React from 'react';
|
|
16
16
|
|
|
17
|
-
let exported: React.AbstractComponent<ViewProps, React.ElementRef<typeof View>>;
|
|
18
|
-
|
|
19
17
|
/**
|
|
20
18
|
* Renders nested content and automatically applies paddings reflect the portion
|
|
21
19
|
* of the view that is not covered by navigation bars, tab bars, toolbars, and
|
|
@@ -25,10 +23,12 @@ let exported: React.AbstractComponent<ViewProps, React.ElementRef<typeof View>>;
|
|
|
25
23
|
* limitation of the screen, such as rounded corners or camera notches (aka
|
|
26
24
|
* sensor housing area on iPhone X).
|
|
27
25
|
*/
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
26
|
+
const exported: React.AbstractComponent<
|
|
27
|
+
ViewProps,
|
|
28
|
+
React.ElementRef<typeof View>,
|
|
29
|
+
> = Platform.select({
|
|
30
|
+
ios: require('./RCTSafeAreaViewNativeComponent').default,
|
|
31
|
+
default: View,
|
|
32
|
+
});
|
|
33
33
|
|
|
34
34
|
export default exported;
|
|
@@ -14,8 +14,6 @@ import Platform from '../../Utilities/Platform';
|
|
|
14
14
|
import View from '../View/View';
|
|
15
15
|
import * as React from 'react';
|
|
16
16
|
|
|
17
|
-
let exported: React.AbstractComponent<ViewProps, React.ElementRef<typeof View>>;
|
|
18
|
-
|
|
19
17
|
/**
|
|
20
18
|
* Renders nested content and automatically applies paddings reflect the portion
|
|
21
19
|
* of the view that is not covered by navigation bars, tab bars, toolbars, and
|
|
@@ -25,11 +23,12 @@ let exported: React.AbstractComponent<ViewProps, React.ElementRef<typeof View>>;
|
|
|
25
23
|
* limitation of the screen, such as rounded corners or camera notches (aka
|
|
26
24
|
* sensor housing area on iPhone X).
|
|
27
25
|
*/
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
26
|
+
const exported: React.AbstractComponent<
|
|
27
|
+
ViewProps,
|
|
28
|
+
React.ElementRef<typeof View>,
|
|
29
|
+
> = Platform.select({
|
|
30
|
+
ios: require('./RCTSafeAreaViewNativeComponent').default,
|
|
31
|
+
default: View,
|
|
32
|
+
});
|
|
34
33
|
|
|
35
34
|
export default exported;
|
|
@@ -1665,6 +1665,7 @@ class ScrollView extends React.Component<Props, State> {
|
|
|
1665
1665
|
// $FlowFixMe[underconstrained-implicit-instantiation]
|
|
1666
1666
|
const style = flattenStyle(this.props.style);
|
|
1667
1667
|
const childLayoutProps = ['alignItems', 'justifyContent'].filter(
|
|
1668
|
+
// $FlowFixMe[incompatible-use]
|
|
1668
1669
|
prop => style && style[prop] !== undefined,
|
|
1669
1670
|
);
|
|
1670
1671
|
invariant(
|
|
@@ -1700,7 +1701,6 @@ class ScrollView extends React.Component<Props, State> {
|
|
|
1700
1701
|
return (
|
|
1701
1702
|
<StickyHeaderComponent
|
|
1702
1703
|
key={key}
|
|
1703
|
-
nativeID={'StickyHeader-' + key} /* TODO: T68258846. */
|
|
1704
1704
|
ref={ref => this._setStickyHeaderRef(key, ref)}
|
|
1705
1705
|
nextHeaderLayoutY={this._headerLayoutYs.get(
|
|
1706
1706
|
this._getKeyForIndex(nextIndex, childArray),
|
|
@@ -1837,6 +1837,7 @@ class ScrollView extends React.Component<Props, State> {
|
|
|
1837
1837
|
// Note: we should split props.style on the inner and outer props
|
|
1838
1838
|
// however, the ScrollView still needs the baseStyle to be scrollable
|
|
1839
1839
|
// $FlowFixMe[underconstrained-implicit-instantiation]
|
|
1840
|
+
// $FlowFixMe[incompatible-call]
|
|
1840
1841
|
const {outer, inner} = splitLayoutProps(flattenStyle(props.style));
|
|
1841
1842
|
return React.cloneElement(
|
|
1842
1843
|
refreshControl,
|
|
@@ -1924,6 +1925,7 @@ function Wrapper(props, ref: (mixed => mixed) | {current: mixed, ...}) {
|
|
|
1924
1925
|
return <ScrollView {...props} scrollViewRef={ref} />;
|
|
1925
1926
|
}
|
|
1926
1927
|
Wrapper.displayName = 'ScrollView';
|
|
1928
|
+
// $FlowFixMe[incompatible-call]
|
|
1927
1929
|
const ForwardedScrollView = React.forwardRef(Wrapper);
|
|
1928
1930
|
|
|
1929
1931
|
// $FlowFixMe[prop-missing] Add static context to ForwardedScrollView
|
|
@@ -1665,6 +1665,7 @@ class ScrollView extends React.Component<Props, State> {
|
|
|
1665
1665
|
// $FlowFixMe[underconstrained-implicit-instantiation]
|
|
1666
1666
|
const style = flattenStyle(this.props.style);
|
|
1667
1667
|
const childLayoutProps = ['alignItems', 'justifyContent'].filter(
|
|
1668
|
+
// $FlowFixMe[incompatible-use]
|
|
1668
1669
|
prop => style && style[prop] !== undefined,
|
|
1669
1670
|
);
|
|
1670
1671
|
invariant(
|
|
@@ -1700,7 +1701,6 @@ class ScrollView extends React.Component<Props, State> {
|
|
|
1700
1701
|
return (
|
|
1701
1702
|
<StickyHeaderComponent
|
|
1702
1703
|
key={key}
|
|
1703
|
-
nativeID={'StickyHeader-' + key} /* TODO: T68258846. */
|
|
1704
1704
|
ref={ref => this._setStickyHeaderRef(key, ref)}
|
|
1705
1705
|
nextHeaderLayoutY={this._headerLayoutYs.get(
|
|
1706
1706
|
this._getKeyForIndex(nextIndex, childArray),
|
|
@@ -1838,6 +1838,7 @@ class ScrollView extends React.Component<Props, State> {
|
|
|
1838
1838
|
// Note: we should split props.style on the inner and outer props
|
|
1839
1839
|
// however, the ScrollView still needs the baseStyle to be scrollable
|
|
1840
1840
|
// $FlowFixMe[underconstrained-implicit-instantiation]
|
|
1841
|
+
// $FlowFixMe[incompatible-call]
|
|
1841
1842
|
const {outer, inner} = splitLayoutProps(flattenStyle(props.style));
|
|
1842
1843
|
return React.cloneElement(
|
|
1843
1844
|
refreshControl,
|
|
@@ -1925,6 +1926,7 @@ function Wrapper(props, ref: (mixed => mixed) | {current: mixed, ...}) {
|
|
|
1925
1926
|
return <ScrollView {...props} scrollViewRef={ref} />;
|
|
1926
1927
|
}
|
|
1927
1928
|
Wrapper.displayName = 'ScrollView';
|
|
1929
|
+
// $FlowFixMe[incompatible-call]
|
|
1928
1930
|
const ForwardedScrollView = React.forwardRef(Wrapper);
|
|
1929
1931
|
|
|
1930
1932
|
// $FlowFixMe[prop-missing] Add static context to ForwardedScrollView
|