@office-iss/react-native-win32 0.69.0 → 0.70.0
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/.eslintrc.js +0 -1
- package/.flowconfig +5 -1
- package/CHANGELOG.json +241 -31
- package/CHANGELOG.md +97 -18
- package/IntegrationTests/AsyncStorageTest.js +20 -4
- package/IntegrationTests/BUCK +2 -2
- package/IntegrationTests/LayoutEventsTest.js +4 -1
- package/IntegrationTests/{launchWebSocketServer.command → launchWebSocketServer.sh} +3 -9
- package/Libraries/Alert/Alert.js +18 -4
- package/Libraries/Alert/Alert.win32.js +2 -0
- package/Libraries/Alert/NativeAlertManager.js +1 -0
- package/Libraries/Animated/Animated.js +2 -2
- package/Libraries/Animated/AnimatedEvent.js +7 -4
- package/Libraries/Animated/AnimatedImplementation.js +17 -3
- package/Libraries/Animated/AnimatedMock.js +7 -2
- package/Libraries/Animated/NativeAnimatedHelper.js +220 -95
- package/Libraries/Animated/NativeAnimatedModule.js +3 -0
- package/Libraries/Animated/NativeAnimatedTurboModule.js +3 -0
- package/Libraries/Animated/animations/SpringAnimation.js +3 -3
- package/Libraries/Animated/animations/TimingAnimation.js +3 -3
- package/Libraries/Animated/createAnimatedComponent.js +8 -1
- package/Libraries/Animated/nodes/AnimatedAddition.js +3 -1
- package/Libraries/Animated/nodes/AnimatedColor.js +50 -29
- package/Libraries/Animated/nodes/AnimatedDiffClamp.js +3 -1
- package/Libraries/Animated/nodes/AnimatedDivision.js +3 -1
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +22 -21
- package/Libraries/Animated/nodes/AnimatedModulo.js +3 -1
- package/Libraries/Animated/nodes/AnimatedMultiplication.js +3 -2
- package/Libraries/Animated/nodes/AnimatedProps.js +20 -12
- package/Libraries/Animated/nodes/AnimatedStyle.js +19 -16
- package/Libraries/Animated/nodes/AnimatedSubtraction.js +3 -1
- package/Libraries/Animated/nodes/AnimatedTransform.js +5 -5
- package/Libraries/Animated/nodes/AnimatedValue.js +14 -5
- package/Libraries/Animated/nodes/AnimatedValueXY.js +28 -1
- package/Libraries/Animated/useAnimatedProps.js +1 -0
- package/Libraries/AppState/AppState.js +0 -32
- package/Libraries/BatchedBridge/MessageQueue.js +21 -15
- package/Libraries/BatchedBridge/NativeModules.js +3 -4
- package/Libraries/Blob/FileReader.js +0 -6
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +0 -20
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js +0 -20
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +4 -0
- package/Libraries/Components/Keyboard/Keyboard.js +0 -11
- package/Libraries/Components/Pressable/Pressable.js +2 -0
- package/Libraries/Components/Pressable/Pressable.win32.js +2 -0
- package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +1 -3
- package/Libraries/Components/SafeAreaView/SafeAreaView.js +3 -30
- package/Libraries/Components/SafeAreaView/SafeAreaView.win32.js +4 -32
- package/Libraries/Components/ScrollView/ScrollView.js +13 -11
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +5 -3
- package/Libraries/Components/StatusBar/StatusBar.js +10 -7
- package/Libraries/Components/TextInput/InputAccessoryView.js +14 -13
- package/Libraries/Components/TextInput/TextInput.js +12 -2
- package/Libraries/Components/Touchable/PooledClass.js +16 -4
- package/Libraries/Components/Touchable/Touchable.js +50 -1
- package/Libraries/Components/Touchable/Touchable.win32.js +972 -0
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +6 -2
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +0 -7
- package/Libraries/Components/View/ViewPropTypes.js +3 -8
- package/Libraries/Components/View/ViewPropTypes.win32.js +3 -8
- package/Libraries/Components/View/ViewWin32.Props.d.ts +1 -1
- package/Libraries/Components/View/ViewWin32.Props.js.map +1 -1
- package/Libraries/Core/ExceptionsManager.js +2 -0
- package/Libraries/Core/ReactNativeVersion.js +1 -1
- package/Libraries/Core/Timers/JSTimers.js +2 -2
- package/Libraries/Core/polyfillPromise.js +0 -32
- package/Libraries/Core/setUpBatchedBridge.js +5 -1
- package/Libraries/Core/setUpPerformance.js +1 -1
- package/Libraries/EventEmitter/NativeEventEmitter.js +0 -13
- package/Libraries/Image/AssetSourceResolver.js +2 -2
- package/Libraries/Image/Image.android.js +5 -3
- package/Libraries/Image/Image.ios.js +6 -3
- package/Libraries/Image/Image.win32.js +6 -3
- package/Libraries/Image/ImageSource.js +7 -5
- package/Libraries/Inspector/ElementBox.js +2 -2
- package/Libraries/Inspector/NetworkOverlay.js +13 -8
- package/Libraries/Interaction/PanResponder.js +16 -14
- package/Libraries/Linking/Linking.js +0 -11
- package/Libraries/Lists/FlatList.js +3 -2
- package/Libraries/Lists/SectionList.js +2 -0
- package/Libraries/Lists/ViewabilityHelper.js +7 -3
- package/Libraries/Lists/VirtualizeUtils.js +33 -20
- package/Libraries/Lists/VirtualizedList.js +93 -47
- package/Libraries/Lists/VirtualizedListContext.js +1 -0
- package/Libraries/Lists/VirtualizedSectionList.js +14 -9
- package/Libraries/Lists/__tests__/VirtualizeUtils-test.js +19 -18
- package/Libraries/Lists/__tests__/VirtualizedList-test.js +10 -6
- package/Libraries/LogBox/Data/LogBoxData.js +1 -1
- package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
- package/Libraries/LogBox/LogBox.js +3 -1
- package/Libraries/LogBox/UI/AnsiHighlight.js +2 -0
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +3 -0
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +0 -3
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +8 -3
- package/Libraries/NativeComponent/BaseViewConfig.android.js +9 -18
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +26 -12
- package/Libraries/NativeComponent/BaseViewConfig.win32.js +26 -12
- package/Libraries/Network/XMLHttpRequest.js +9 -11
- package/Libraries/Performance/PureComponentDebug.js +1 -0
- package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +9 -1
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +16 -0
- package/Libraries/Pressability/Pressability.js +26 -16
- package/Libraries/Pressability/Pressability.win32.js +26 -16
- package/Libraries/Promise.js +0 -1
- package/Libraries/ReactNative/AppRegistry.js +16 -13
- package/Libraries/ReactNative/BridgelessUIManager.js +2 -0
- package/Libraries/ReactNative/PaperUIManager.js +9 -9
- package/Libraries/ReactNative/PaperUIManager.win32.js +7 -8
- package/Libraries/ReactNative/ReactNativeFeatureFlags.js +12 -0
- package/Libraries/ReactNative/ReactNativeRuntimeDiagnostics.js +68 -0
- package/Libraries/ReactNative/getNativeComponentAttributes.js +6 -7
- package/Libraries/ReactNative/renderApplication.js +1 -1
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +4443 -3615
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +1496 -1170
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +1694 -1356
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +4439 -3588
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +1583 -1249
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +1719 -1372
- package/Libraries/Storage/AsyncStorage.js +7 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +8 -0
- package/Libraries/StyleSheet/flattenStyle.js +1 -1
- package/Libraries/StyleSheet/processTransform.js +2 -0
- package/Libraries/StyleSheet/splitLayoutProps.js +2 -0
- package/Libraries/Text/Text.js +15 -7
- package/Libraries/Types/CoreEventTypes.js +137 -11
- package/Libraries/Types/CoreEventTypes.win32.js +147 -22
- package/Libraries/Utilities/Dimensions.js +0 -13
- package/Libraries/Utilities/Dimensions.win32.js +0 -9
- package/Libraries/Utilities/HMRClient.js +3 -3
- package/Libraries/Utilities/Platform.ios.js +0 -7
- package/Libraries/Utilities/ReactNativeTestTools.js +3 -1
- package/Libraries/Utilities/codegenNativeCommands.js +11 -2
- package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +2 -0
- package/Libraries/Utilities/stringifySafe.js +3 -1
- package/Libraries/Utilities/truncate.js +1 -1
- package/Libraries/Utilities/verifyComponentAttributeEquivalence.js +2 -2
- package/Libraries/Vibration/Vibration.js +1 -1
- package/Libraries/WebSocket/WebSocket.js +1 -0
- package/Libraries/vendor/emitter/EventEmitter.js +105 -12
- package/Libraries/vendor/emitter/__flowtests__/EventEmitter-flowtest.js +73 -117
- package/flow/JSITimerInternalType.js +30 -0
- package/jest/assetFileTransformer.js +3 -2
- package/jest/setup.js +4 -0
- package/jest.config.js +0 -1
- package/overrides.json +23 -16
- package/package.json +21 -22
- package/rntypes/index.d.ts +0 -1
- package/src/Libraries/Components/View/ViewWin32.Props.ts +2 -1
- package/src/rntypes/index.d.ts +0 -1
- package/Libraries/vendor/emitter/EventSubscription.js +0 -19
- package/Libraries/vendor/emitter/_EmitterSubscription.js +0 -62
- package/Libraries/vendor/emitter/_EventEmitter.js +0 -184
- package/Libraries/vendor/emitter/_EventSubscription.js +0 -45
- package/Libraries/vendor/emitter/_EventSubscriptionVendor.js +0 -108
- package/jest/preprocessor.js +0 -40
- package/jest/preprocessor_DO_NOT_USE.js +0 -122
- package/src/Libraries/Lists/__tests__/__snapshots__/VirtualizeUtils-test.js.snap +0 -3
|
@@ -45,9 +45,6 @@ function LogBoxInspectorSourceMapStatus(props: Props): React.Node {
|
|
|
45
45
|
animation,
|
|
46
46
|
rotate: animated.interpolate({
|
|
47
47
|
inputRange: [0, 1],
|
|
48
|
-
/* $FlowFixMe[speculation-ambiguous] (>=0.38.0) - Flow error
|
|
49
|
-
* detected during the deployment of v0.38.0. To see the error,
|
|
50
|
-
* remove this comment and run flow */
|
|
51
48
|
outputRange: ['0deg', '360deg'],
|
|
52
49
|
}),
|
|
53
50
|
});
|
|
@@ -8,6 +8,10 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
+
import type {StackFrame} from '../../Core/NativeExceptionsManager';
|
|
12
|
+
import type {Stack} from '../Data/LogBoxSymbolication';
|
|
13
|
+
import type LogBoxLog from '../Data/LogBoxLog';
|
|
14
|
+
|
|
11
15
|
import * as React from 'react';
|
|
12
16
|
import StyleSheet from '../../StyleSheet/StyleSheet';
|
|
13
17
|
import Text from '../../Text/Text';
|
|
@@ -18,8 +22,6 @@ import LogBoxInspectorStackFrame from './LogBoxInspectorStackFrame';
|
|
|
18
22
|
import LogBoxInspectorSection from './LogBoxInspectorSection';
|
|
19
23
|
import * as LogBoxStyle from './LogBoxStyle';
|
|
20
24
|
import openFileInEditor from '../../Core/Devtools/openFileInEditor';
|
|
21
|
-
import type {Stack} from '../Data/LogBoxSymbolication';
|
|
22
|
-
import type LogBoxLog from '../Data/LogBoxLog';
|
|
23
25
|
|
|
24
26
|
type Props = $ReadOnly<{|
|
|
25
27
|
log: LogBoxLog,
|
|
@@ -111,7 +113,10 @@ function LogBoxInspectorStackFrames(props: Props): React.Node {
|
|
|
111
113
|
);
|
|
112
114
|
}
|
|
113
115
|
|
|
114
|
-
function StackFrameList(props
|
|
116
|
+
function StackFrameList(props: {
|
|
117
|
+
list: Stack | Array<StackFrame>,
|
|
118
|
+
status: string | 'COMPLETE' | 'FAILED' | 'NONE' | 'PENDING',
|
|
119
|
+
}) {
|
|
115
120
|
return (
|
|
116
121
|
<>
|
|
117
122
|
{props.list.map((frame, index) => {
|
|
@@ -64,24 +64,24 @@ const bubblingEventTypes = {
|
|
|
64
64
|
bubbled: 'onPointerDown',
|
|
65
65
|
},
|
|
66
66
|
},
|
|
67
|
-
|
|
67
|
+
topPointerEnter: {
|
|
68
68
|
phasedRegistrationNames: {
|
|
69
|
-
captured: '
|
|
70
|
-
bubbled: '
|
|
69
|
+
captured: 'onPointerEnterCapture',
|
|
70
|
+
bubbled: 'onPointerEnter',
|
|
71
71
|
skipBubbling: true,
|
|
72
72
|
},
|
|
73
73
|
},
|
|
74
|
-
|
|
74
|
+
topPointerLeave: {
|
|
75
75
|
phasedRegistrationNames: {
|
|
76
|
-
captured: '
|
|
77
|
-
bubbled: '
|
|
76
|
+
captured: 'onPointerLeaveCapture',
|
|
77
|
+
bubbled: 'onPointerLeave',
|
|
78
78
|
skipBubbling: true,
|
|
79
79
|
},
|
|
80
80
|
},
|
|
81
|
-
|
|
81
|
+
topPointerMove: {
|
|
82
82
|
phasedRegistrationNames: {
|
|
83
|
-
captured: '
|
|
84
|
-
bubbled: '
|
|
83
|
+
captured: 'onPointerMoveCapture',
|
|
84
|
+
bubbled: 'onPointerMove',
|
|
85
85
|
},
|
|
86
86
|
},
|
|
87
87
|
topPointerUp: {
|
|
@@ -96,15 +96,6 @@ const directEventTypes = {
|
|
|
96
96
|
topAccessibilityAction: {
|
|
97
97
|
registrationName: 'onAccessibilityAction',
|
|
98
98
|
},
|
|
99
|
-
topPointerEnter: {
|
|
100
|
-
registrationName: 'onPointerEnter',
|
|
101
|
-
},
|
|
102
|
-
topPointerLeave: {
|
|
103
|
-
registrationName: 'onPointerLeave',
|
|
104
|
-
},
|
|
105
|
-
topPointerMove: {
|
|
106
|
-
registrationName: 'onPointerMove',
|
|
107
|
-
},
|
|
108
99
|
onGestureHandlerEvent: DynamicallyInjectedByGestureHandler({
|
|
109
100
|
registrationName: 'onGestureHandlerEvent',
|
|
110
101
|
}),
|
|
@@ -99,10 +99,10 @@ const bubblingEventTypes = {
|
|
|
99
99
|
bubbled: 'onPointerDown',
|
|
100
100
|
},
|
|
101
101
|
},
|
|
102
|
-
|
|
102
|
+
topPointerMove: {
|
|
103
103
|
phasedRegistrationNames: {
|
|
104
|
-
captured: '
|
|
105
|
-
bubbled: '
|
|
104
|
+
captured: 'onPointerMoveCapture',
|
|
105
|
+
bubbled: 'onPointerMove',
|
|
106
106
|
},
|
|
107
107
|
},
|
|
108
108
|
topPointerUp: {
|
|
@@ -111,20 +111,32 @@ const bubblingEventTypes = {
|
|
|
111
111
|
bubbled: 'onPointerUp',
|
|
112
112
|
},
|
|
113
113
|
},
|
|
114
|
-
|
|
114
|
+
topPointerEnter: {
|
|
115
115
|
phasedRegistrationNames: {
|
|
116
|
-
captured: '
|
|
117
|
-
bubbled: '
|
|
116
|
+
captured: 'onPointerEnterCapture',
|
|
117
|
+
bubbled: 'onPointerEnter',
|
|
118
118
|
skipBubbling: true,
|
|
119
119
|
},
|
|
120
120
|
},
|
|
121
|
-
|
|
121
|
+
topPointerLeave: {
|
|
122
122
|
phasedRegistrationNames: {
|
|
123
|
-
captured: '
|
|
124
|
-
bubbled: '
|
|
123
|
+
captured: 'onPointerLeaveCapture',
|
|
124
|
+
bubbled: 'onPointerLeave',
|
|
125
125
|
skipBubbling: true,
|
|
126
126
|
},
|
|
127
127
|
},
|
|
128
|
+
topPointerOver: {
|
|
129
|
+
phasedRegistrationNames: {
|
|
130
|
+
captured: 'onPointerOverCapture',
|
|
131
|
+
bubbled: 'onPointerOver',
|
|
132
|
+
},
|
|
133
|
+
},
|
|
134
|
+
topPointerOut: {
|
|
135
|
+
phasedRegistrationNames: {
|
|
136
|
+
captured: 'onPointerOutCapture',
|
|
137
|
+
bubbled: 'onPointerOut',
|
|
138
|
+
},
|
|
139
|
+
},
|
|
128
140
|
};
|
|
129
141
|
|
|
130
142
|
const directEventTypes = {
|
|
@@ -312,9 +324,11 @@ const validAttributesForEventProps = ConditionallyIgnoredEventHandlers({
|
|
|
312
324
|
onPointerUp: true,
|
|
313
325
|
onPointerDown: true,
|
|
314
326
|
onPointerCancel: true,
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
327
|
+
onPointerEnter: true,
|
|
328
|
+
onPointerMove: true,
|
|
329
|
+
onPointerLeave: true,
|
|
330
|
+
onPointerOver: true,
|
|
331
|
+
onPointerOut: true,
|
|
318
332
|
});
|
|
319
333
|
|
|
320
334
|
/**
|
|
@@ -99,10 +99,10 @@ const bubblingEventTypes = {
|
|
|
99
99
|
bubbled: 'onPointerDown',
|
|
100
100
|
},
|
|
101
101
|
},
|
|
102
|
-
|
|
102
|
+
topPointerMove: {
|
|
103
103
|
phasedRegistrationNames: {
|
|
104
|
-
captured: '
|
|
105
|
-
bubbled: '
|
|
104
|
+
captured: 'onPointerMoveCapture',
|
|
105
|
+
bubbled: 'onPointerMove',
|
|
106
106
|
},
|
|
107
107
|
},
|
|
108
108
|
topPointerUp: {
|
|
@@ -111,20 +111,32 @@ const bubblingEventTypes = {
|
|
|
111
111
|
bubbled: 'onPointerUp',
|
|
112
112
|
},
|
|
113
113
|
},
|
|
114
|
-
|
|
114
|
+
topPointerEnter: {
|
|
115
115
|
phasedRegistrationNames: {
|
|
116
|
-
captured: '
|
|
117
|
-
bubbled: '
|
|
116
|
+
captured: 'onPointerEnterCapture',
|
|
117
|
+
bubbled: 'onPointerEnter',
|
|
118
118
|
skipBubbling: true,
|
|
119
119
|
},
|
|
120
120
|
},
|
|
121
|
-
|
|
121
|
+
topPointerLeave: {
|
|
122
122
|
phasedRegistrationNames: {
|
|
123
|
-
captured: '
|
|
124
|
-
bubbled: '
|
|
123
|
+
captured: 'onPointerLeaveCapture',
|
|
124
|
+
bubbled: 'onPointerLeave',
|
|
125
125
|
skipBubbling: true,
|
|
126
126
|
},
|
|
127
127
|
},
|
|
128
|
+
topPointerOver: {
|
|
129
|
+
phasedRegistrationNames: {
|
|
130
|
+
captured: 'onPointerOverCapture',
|
|
131
|
+
bubbled: 'onPointerOver',
|
|
132
|
+
},
|
|
133
|
+
},
|
|
134
|
+
topPointerOut: {
|
|
135
|
+
phasedRegistrationNames: {
|
|
136
|
+
captured: 'onPointerOutCapture',
|
|
137
|
+
bubbled: 'onPointerOut',
|
|
138
|
+
},
|
|
139
|
+
},
|
|
128
140
|
};
|
|
129
141
|
|
|
130
142
|
const directEventTypes = {
|
|
@@ -312,9 +324,11 @@ const validAttributesForEventProps = ConditionallyIgnoredEventHandlers({
|
|
|
312
324
|
onPointerUp: true,
|
|
313
325
|
onPointerDown: true,
|
|
314
326
|
onPointerCancel: true,
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
327
|
+
onPointerEnter: true,
|
|
328
|
+
onPointerMove: true,
|
|
329
|
+
onPointerLeave: true,
|
|
330
|
+
onPointerOver: true,
|
|
331
|
+
onPointerOut: true,
|
|
318
332
|
});
|
|
319
333
|
|
|
320
334
|
/**
|
|
@@ -10,16 +10,15 @@
|
|
|
10
10
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
|
-
import {type EventSubscription} from '../vendor/emitter/EventEmitter';
|
|
14
|
-
|
|
15
13
|
import type {IPerformanceLogger} from '../Utilities/createPerformanceLogger';
|
|
16
14
|
|
|
15
|
+
import {type EventSubscription} from '../vendor/emitter/EventEmitter';
|
|
16
|
+
|
|
17
17
|
const BlobManager = require('../Blob/BlobManager');
|
|
18
|
-
const EventTarget = require('event-target-shim');
|
|
19
18
|
const GlobalPerformanceLogger = require('../Utilities/GlobalPerformanceLogger');
|
|
20
19
|
const RCTNetworking = require('./RCTNetworking');
|
|
21
|
-
|
|
22
20
|
const base64 = require('base64-js');
|
|
21
|
+
const EventTarget = require('event-target-shim');
|
|
23
22
|
const invariant = require('invariant');
|
|
24
23
|
|
|
25
24
|
const DEBUG_NETWORK_SEND_DELAY: false = false; // Set to a number of milliseconds when debugging
|
|
@@ -625,13 +624,12 @@ class XMLHttpRequest extends (EventTarget(...XHR_EVENTS): any) {
|
|
|
625
624
|
setResponseHeaders(responseHeaders: ?Object): void {
|
|
626
625
|
this.responseHeaders = responseHeaders || null;
|
|
627
626
|
const headers = responseHeaders || {};
|
|
628
|
-
this._lowerCaseResponseHeaders = Object.keys(headers).reduce
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
);
|
|
627
|
+
this._lowerCaseResponseHeaders = Object.keys(headers).reduce<{
|
|
628
|
+
[string]: any,
|
|
629
|
+
}>((lcaseHeaders, headerName) => {
|
|
630
|
+
lcaseHeaders[headerName.toLowerCase()] = headers[headerName];
|
|
631
|
+
return lcaseHeaders;
|
|
632
|
+
}, {});
|
|
635
633
|
}
|
|
636
634
|
|
|
637
635
|
setReadyState(newState: number): void {
|
|
@@ -32,15 +32,21 @@ export type PermissionType =
|
|
|
32
32
|
| 'android.permission.READ_CALL_LOG'
|
|
33
33
|
| 'android.permission.WRITE_CALL_LOG'
|
|
34
34
|
| 'com.android.voicemail.permission.ADD_VOICEMAIL'
|
|
35
|
+
| 'com.android.voicemail.permission.READ_VOICEMAIL'
|
|
36
|
+
| 'com.android.voicemail.permission.WRITE_VOICEMAIL'
|
|
35
37
|
| 'android.permission.USE_SIP'
|
|
36
38
|
| 'android.permission.PROCESS_OUTGOING_CALLS'
|
|
37
39
|
| 'android.permission.BODY_SENSORS'
|
|
40
|
+
| 'android.permission.BODY_SENSORS_BACKGROUND'
|
|
38
41
|
| 'android.permission.SEND_SMS'
|
|
39
42
|
| 'android.permission.RECEIVE_SMS'
|
|
40
43
|
| 'android.permission.READ_SMS'
|
|
41
44
|
| 'android.permission.RECEIVE_WAP_PUSH'
|
|
42
45
|
| 'android.permission.RECEIVE_MMS'
|
|
43
46
|
| 'android.permission.READ_EXTERNAL_STORAGE'
|
|
47
|
+
| 'android.permission.READ_MEDIA_IMAGES',
|
|
48
|
+
| 'android.permission.READ_MEDIA_VIDEO',
|
|
49
|
+
| 'android.permission.READ_MEDIA_AUDIO',
|
|
44
50
|
| 'android.permission.WRITE_EXTERNAL_STORAGE'
|
|
45
51
|
| 'android.permission.BLUETOOTH_CONNECT'
|
|
46
52
|
| 'android.permission.BLUETOOTH_SCAN'
|
|
@@ -50,7 +56,9 @@ export type PermissionType =
|
|
|
50
56
|
| 'android.permission.ACTIVITY_RECOGNITION'
|
|
51
57
|
| 'android.permission.ANSWER_PHONE_CALLS'
|
|
52
58
|
| 'android.permission.READ_PHONE_NUMBERS'
|
|
53
|
-
| 'android.permission.UWB_RANGING'
|
|
59
|
+
| 'android.permission.UWB_RANGING'
|
|
60
|
+
| 'android.permission.POST_NOTIFICATIONS'
|
|
61
|
+
| 'android.permission.NEARBY_WIFI_DEVICES';
|
|
54
62
|
*/
|
|
55
63
|
|
|
56
64
|
export interface Spec extends TurboModule {
|
|
@@ -49,15 +49,21 @@ const PERMISSIONS = Object.freeze({
|
|
|
49
49
|
READ_CALL_LOG: 'android.permission.READ_CALL_LOG',
|
|
50
50
|
WRITE_CALL_LOG: 'android.permission.WRITE_CALL_LOG',
|
|
51
51
|
ADD_VOICEMAIL: 'com.android.voicemail.permission.ADD_VOICEMAIL',
|
|
52
|
+
READ_VOICEMAIL: 'com.android.voicemail.permission.READ_VOICEMAIL',
|
|
53
|
+
WRITE_VOICEMAIL: 'com.android.voicemail.permission.WRITE_VOICEMAIL',
|
|
52
54
|
USE_SIP: 'android.permission.USE_SIP',
|
|
53
55
|
PROCESS_OUTGOING_CALLS: 'android.permission.PROCESS_OUTGOING_CALLS',
|
|
54
56
|
BODY_SENSORS: 'android.permission.BODY_SENSORS',
|
|
57
|
+
BODY_SENSORS_BACKGROUND: 'android.permission.BODY_SENSORS_BACKGROUND',
|
|
55
58
|
SEND_SMS: 'android.permission.SEND_SMS',
|
|
56
59
|
RECEIVE_SMS: 'android.permission.RECEIVE_SMS',
|
|
57
60
|
READ_SMS: 'android.permission.READ_SMS',
|
|
58
61
|
RECEIVE_WAP_PUSH: 'android.permission.RECEIVE_WAP_PUSH',
|
|
59
62
|
RECEIVE_MMS: 'android.permission.RECEIVE_MMS',
|
|
60
63
|
READ_EXTERNAL_STORAGE: 'android.permission.READ_EXTERNAL_STORAGE',
|
|
64
|
+
READ_MEDIA_IMAGES: 'android.permission.READ_MEDIA_IMAGES',
|
|
65
|
+
READ_MEDIA_VIDEO: 'android.permission.READ_MEDIA_VIDEO',
|
|
66
|
+
READ_MEDIA_AUDIO: 'android.permission.READ_MEDIA_AUDIO',
|
|
61
67
|
WRITE_EXTERNAL_STORAGE: 'android.permission.WRITE_EXTERNAL_STORAGE',
|
|
62
68
|
BLUETOOTH_CONNECT: 'android.permission.BLUETOOTH_CONNECT',
|
|
63
69
|
BLUETOOTH_SCAN: 'android.permission.BLUETOOTH_SCAN',
|
|
@@ -68,6 +74,8 @@ const PERMISSIONS = Object.freeze({
|
|
|
68
74
|
ANSWER_PHONE_CALLS: 'android.permission.ANSWER_PHONE_CALLS',
|
|
69
75
|
READ_PHONE_NUMBERS: 'android.permission.READ_PHONE_NUMBERS',
|
|
70
76
|
UWB_RANGING: 'android.permission.UWB_RANGING',
|
|
77
|
+
POST_NOTIFICATION: 'android.permission.POST_NOTIFICATIONS',
|
|
78
|
+
NEARBY_WIFI_DEVICES: 'android.permission.NEARBY_WIFI_DEVICES',
|
|
71
79
|
});
|
|
72
80
|
|
|
73
81
|
/**
|
|
@@ -85,19 +93,27 @@ class PermissionsAndroid {
|
|
|
85
93
|
ACCESS_MEDIA_LOCATION: string,
|
|
86
94
|
ACTIVITY_RECOGNITION: string,
|
|
87
95
|
ADD_VOICEMAIL: string,
|
|
96
|
+
READ_VOICEMAIL: string,
|
|
97
|
+
WRITE_VOICEMAIL: string,
|
|
88
98
|
ANSWER_PHONE_CALLS: string,
|
|
89
99
|
BLUETOOTH_ADVERTISE: string,
|
|
90
100
|
BLUETOOTH_CONNECT: string,
|
|
91
101
|
BLUETOOTH_SCAN: string,
|
|
92
102
|
BODY_SENSORS: string,
|
|
103
|
+
BODY_SENSORS_BACKGROUND: string,
|
|
93
104
|
CALL_PHONE: string,
|
|
94
105
|
CAMERA: string,
|
|
95
106
|
GET_ACCOUNTS: string,
|
|
107
|
+
NEARBY_WIFI_DEVICES: string,
|
|
108
|
+
POST_NOTIFICATION: string,
|
|
96
109
|
PROCESS_OUTGOING_CALLS: string,
|
|
97
110
|
READ_CALENDAR: string,
|
|
98
111
|
READ_CALL_LOG: string,
|
|
99
112
|
READ_CONTACTS: string,
|
|
100
113
|
READ_EXTERNAL_STORAGE: string,
|
|
114
|
+
READ_MEDIA_IMAGES: string,
|
|
115
|
+
READ_MEDIA_VIDEO: string,
|
|
116
|
+
READ_MEDIA_AUDIO: string,
|
|
101
117
|
READ_PHONE_NUMBERS: string,
|
|
102
118
|
READ_PHONE_STATE: string,
|
|
103
119
|
READ_SMS: string,
|
|
@@ -160,8 +160,8 @@ export type EventHandlers = $ReadOnly<{|
|
|
|
160
160
|
onFocus: (event: FocusEvent) => void,
|
|
161
161
|
onMouseEnter?: (event: MouseEvent) => void,
|
|
162
162
|
onMouseLeave?: (event: MouseEvent) => void,
|
|
163
|
-
|
|
164
|
-
|
|
163
|
+
onPointerEnter?: (event: PointerEvent) => void,
|
|
164
|
+
onPointerLeave?: (event: PointerEvent) => void,
|
|
165
165
|
onResponderGrant: (event: PressEvent) => void,
|
|
166
166
|
onResponderMove: (event: PressEvent) => void,
|
|
167
167
|
onResponderRelease: (event: PressEvent) => void,
|
|
@@ -255,20 +255,20 @@ const Transitions = Object.freeze({
|
|
|
255
255
|
},
|
|
256
256
|
});
|
|
257
257
|
|
|
258
|
-
const isActiveSignal = signal =>
|
|
258
|
+
const isActiveSignal = (signal: TouchState) =>
|
|
259
259
|
signal === 'RESPONDER_ACTIVE_PRESS_IN' ||
|
|
260
260
|
signal === 'RESPONDER_ACTIVE_LONG_PRESS_IN';
|
|
261
261
|
|
|
262
|
-
const isActivationSignal = signal =>
|
|
262
|
+
const isActivationSignal = (signal: TouchState) =>
|
|
263
263
|
signal === 'RESPONDER_ACTIVE_PRESS_OUT' ||
|
|
264
264
|
signal === 'RESPONDER_ACTIVE_PRESS_IN';
|
|
265
265
|
|
|
266
|
-
const isPressInSignal = signal =>
|
|
266
|
+
const isPressInSignal = (signal: TouchState) =>
|
|
267
267
|
signal === 'RESPONDER_INACTIVE_PRESS_IN' ||
|
|
268
268
|
signal === 'RESPONDER_ACTIVE_PRESS_IN' ||
|
|
269
269
|
signal === 'RESPONDER_ACTIVE_LONG_PRESS_IN';
|
|
270
270
|
|
|
271
|
-
const isTerminalSignal = signal =>
|
|
271
|
+
const isTerminalSignal = (signal: TouchSignal) =>
|
|
272
272
|
signal === 'RESPONDER_TERMINATED' || signal === 'RESPONDER_RELEASE';
|
|
273
273
|
|
|
274
274
|
const DEFAULT_LONG_PRESS_DELAY_MS = 500;
|
|
@@ -557,12 +557,12 @@ export default class Pressability {
|
|
|
557
557
|
ReactNativeFeatureFlags.shouldPressibilityUseW3CPointerEventsForHover()
|
|
558
558
|
) {
|
|
559
559
|
const hoverPointerEvents = {
|
|
560
|
-
|
|
561
|
-
|
|
560
|
+
onPointerEnter: undefined,
|
|
561
|
+
onPointerLeave: undefined,
|
|
562
562
|
};
|
|
563
563
|
const {onHoverIn, onHoverOut} = this._config;
|
|
564
564
|
if (onHoverIn != null) {
|
|
565
|
-
hoverPointerEvents.
|
|
565
|
+
hoverPointerEvents.onPointerEnter = (event: PointerEvent) => {
|
|
566
566
|
this._isHovered = true;
|
|
567
567
|
this._cancelHoverOutDelayTimeout();
|
|
568
568
|
if (onHoverIn != null) {
|
|
@@ -579,7 +579,7 @@ export default class Pressability {
|
|
|
579
579
|
};
|
|
580
580
|
}
|
|
581
581
|
if (onHoverOut != null) {
|
|
582
|
-
hoverPointerEvents.
|
|
582
|
+
hoverPointerEvents.onPointerLeave = (event: PointerEvent) => {
|
|
583
583
|
if (this._isHovered) {
|
|
584
584
|
this._isHovered = false;
|
|
585
585
|
this._cancelHoverInDelayTimeout();
|
|
@@ -808,7 +808,14 @@ export default class Pressability {
|
|
|
808
808
|
}
|
|
809
809
|
}
|
|
810
810
|
|
|
811
|
-
_measureCallback = (
|
|
811
|
+
_measureCallback = (
|
|
812
|
+
left: number,
|
|
813
|
+
top: number,
|
|
814
|
+
width: number,
|
|
815
|
+
height: number,
|
|
816
|
+
pageX: number,
|
|
817
|
+
pageY: number,
|
|
818
|
+
) => {
|
|
812
819
|
if (!left && !top && !width && !height && !pageX && !pageY) {
|
|
813
820
|
return;
|
|
814
821
|
}
|
|
@@ -918,7 +925,11 @@ export default class Pressability {
|
|
|
918
925
|
}
|
|
919
926
|
}
|
|
920
927
|
|
|
921
|
-
function normalizeDelay(
|
|
928
|
+
function normalizeDelay(
|
|
929
|
+
delay: ?number,
|
|
930
|
+
min: number = 0,
|
|
931
|
+
fallback: number = 0,
|
|
932
|
+
): number {
|
|
922
933
|
return Math.max(min, delay ?? fallback);
|
|
923
934
|
}
|
|
924
935
|
|
|
@@ -935,16 +946,15 @@ const getTouchFromPressEvent = (event: PressEvent) => {
|
|
|
935
946
|
};
|
|
936
947
|
|
|
937
948
|
function convertPointerEventToMouseEvent(input: PointerEvent): MouseEvent {
|
|
938
|
-
const {
|
|
939
|
-
const {clientX, clientY, timestamp} = input.nativeEvent;
|
|
949
|
+
const {clientX, clientY} = input.nativeEvent;
|
|
940
950
|
return {
|
|
941
|
-
...
|
|
951
|
+
...input,
|
|
942
952
|
nativeEvent: {
|
|
943
953
|
clientX,
|
|
944
954
|
clientY,
|
|
945
955
|
pageX: clientX,
|
|
946
956
|
pageY: clientY,
|
|
947
|
-
timestamp,
|
|
957
|
+
timestamp: input.timeStamp,
|
|
948
958
|
},
|
|
949
959
|
};
|
|
950
960
|
}
|
|
@@ -187,8 +187,8 @@ export type EventHandlers = $ReadOnly<{|
|
|
|
187
187
|
onFocus: (event: FocusEvent) => void,
|
|
188
188
|
onMouseEnter?: (event: MouseEvent) => void,
|
|
189
189
|
onMouseLeave?: (event: MouseEvent) => void,
|
|
190
|
-
|
|
191
|
-
|
|
190
|
+
onPointerEnter?: (event: PointerEvent) => void,
|
|
191
|
+
onPointerLeave?: (event: PointerEvent) => void,
|
|
192
192
|
onResponderGrant: (event: PressEvent) => void,
|
|
193
193
|
onResponderMove: (event: PressEvent) => void,
|
|
194
194
|
onResponderRelease: (event: PressEvent) => void,
|
|
@@ -286,20 +286,20 @@ const Transitions = Object.freeze({
|
|
|
286
286
|
},
|
|
287
287
|
});
|
|
288
288
|
|
|
289
|
-
const isActiveSignal = signal =>
|
|
289
|
+
const isActiveSignal = (signal: TouchState) =>
|
|
290
290
|
signal === 'RESPONDER_ACTIVE_PRESS_IN' ||
|
|
291
291
|
signal === 'RESPONDER_ACTIVE_LONG_PRESS_IN';
|
|
292
292
|
|
|
293
|
-
const isActivationSignal = signal =>
|
|
293
|
+
const isActivationSignal = (signal: TouchState) =>
|
|
294
294
|
signal === 'RESPONDER_ACTIVE_PRESS_OUT' ||
|
|
295
295
|
signal === 'RESPONDER_ACTIVE_PRESS_IN';
|
|
296
296
|
|
|
297
|
-
const isPressInSignal = signal =>
|
|
297
|
+
const isPressInSignal = (signal: TouchState) =>
|
|
298
298
|
signal === 'RESPONDER_INACTIVE_PRESS_IN' ||
|
|
299
299
|
signal === 'RESPONDER_ACTIVE_PRESS_IN' ||
|
|
300
300
|
signal === 'RESPONDER_ACTIVE_LONG_PRESS_IN';
|
|
301
301
|
|
|
302
|
-
const isTerminalSignal = signal =>
|
|
302
|
+
const isTerminalSignal = (signal: TouchSignal) =>
|
|
303
303
|
signal === 'RESPONDER_TERMINATED' || signal === 'RESPONDER_RELEASE';
|
|
304
304
|
|
|
305
305
|
const DEFAULT_LONG_PRESS_DELAY_MS = 500;
|
|
@@ -625,12 +625,12 @@ export default class Pressability {
|
|
|
625
625
|
ReactNativeFeatureFlags.shouldPressibilityUseW3CPointerEventsForHover()
|
|
626
626
|
) {
|
|
627
627
|
const hoverPointerEvents = {
|
|
628
|
-
|
|
629
|
-
|
|
628
|
+
onPointerEnter: undefined,
|
|
629
|
+
onPointerLeave: undefined,
|
|
630
630
|
};
|
|
631
631
|
const {onHoverIn, onHoverOut} = this._config;
|
|
632
632
|
if (onHoverIn != null) {
|
|
633
|
-
hoverPointerEvents.
|
|
633
|
+
hoverPointerEvents.onPointerEnter = (event: PointerEvent) => {
|
|
634
634
|
this._isHovered = true;
|
|
635
635
|
this._cancelHoverOutDelayTimeout();
|
|
636
636
|
if (onHoverIn != null) {
|
|
@@ -647,7 +647,7 @@ export default class Pressability {
|
|
|
647
647
|
};
|
|
648
648
|
}
|
|
649
649
|
if (onHoverOut != null) {
|
|
650
|
-
hoverPointerEvents.
|
|
650
|
+
hoverPointerEvents.onPointerLeave = (event: PointerEvent) => {
|
|
651
651
|
if (this._isHovered) {
|
|
652
652
|
this._isHovered = false;
|
|
653
653
|
this._cancelHoverInDelayTimeout();
|
|
@@ -891,7 +891,14 @@ export default class Pressability {
|
|
|
891
891
|
}
|
|
892
892
|
}
|
|
893
893
|
|
|
894
|
-
_measureCallback = (
|
|
894
|
+
_measureCallback = (
|
|
895
|
+
left: number,
|
|
896
|
+
top: number,
|
|
897
|
+
width: number,
|
|
898
|
+
height: number,
|
|
899
|
+
pageX: number,
|
|
900
|
+
pageY: number,
|
|
901
|
+
) => {
|
|
895
902
|
if (!left && !top && !width && !height && !pageX && !pageY) {
|
|
896
903
|
return;
|
|
897
904
|
}
|
|
@@ -1001,7 +1008,11 @@ export default class Pressability {
|
|
|
1001
1008
|
}
|
|
1002
1009
|
}
|
|
1003
1010
|
|
|
1004
|
-
function normalizeDelay(
|
|
1011
|
+
function normalizeDelay(
|
|
1012
|
+
delay: ?number,
|
|
1013
|
+
min: number = 0,
|
|
1014
|
+
fallback: number = 0,
|
|
1015
|
+
): number {
|
|
1005
1016
|
return Math.max(min, delay ?? fallback);
|
|
1006
1017
|
}
|
|
1007
1018
|
|
|
@@ -1018,8 +1029,7 @@ const getTouchFromPressEvent = (event: PressEvent) => {
|
|
|
1018
1029
|
};
|
|
1019
1030
|
|
|
1020
1031
|
function convertPointerEventToMouseEvent(input: PointerEvent): MouseEvent {
|
|
1021
|
-
const {
|
|
1022
|
-
const {clientX, clientY, timestamp} = input.nativeEvent;
|
|
1032
|
+
const {clientX, clientY} = input.nativeEvent;
|
|
1023
1033
|
// [Windows
|
|
1024
1034
|
const {
|
|
1025
1035
|
pointerType,
|
|
@@ -1036,13 +1046,13 @@ function convertPointerEventToMouseEvent(input: PointerEvent): MouseEvent {
|
|
|
1036
1046
|
} = input.nativeEvent;
|
|
1037
1047
|
// Windows]
|
|
1038
1048
|
return {
|
|
1039
|
-
...
|
|
1049
|
+
...input,
|
|
1040
1050
|
nativeEvent: {
|
|
1041
1051
|
clientX,
|
|
1042
1052
|
clientY,
|
|
1043
1053
|
pageX: clientX,
|
|
1044
1054
|
pageY: clientY,
|
|
1045
|
-
timestamp,
|
|
1055
|
+
timestamp: input.timeStamp,
|
|
1046
1056
|
// [Windows
|
|
1047
1057
|
target:
|
|
1048
1058
|
input.nativeEvent.target ??
|
package/Libraries/Promise.js
CHANGED
|
@@ -338,19 +338,22 @@ const AppRegistry = {
|
|
|
338
338
|
},
|
|
339
339
|
};
|
|
340
340
|
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
(
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
341
|
+
if (!(global.RN$Bridgeless === true)) {
|
|
342
|
+
BatchedBridge.registerCallableModule('AppRegistry', AppRegistry);
|
|
343
|
+
|
|
344
|
+
if (__DEV__) {
|
|
345
|
+
const LogBoxInspector =
|
|
346
|
+
require('../LogBox/LogBoxInspectorContainer').default;
|
|
347
|
+
AppRegistry.registerComponent('LogBox', () => LogBoxInspector);
|
|
348
|
+
} else {
|
|
349
|
+
AppRegistry.registerComponent(
|
|
350
|
+
'LogBox',
|
|
351
|
+
() =>
|
|
352
|
+
function NoOp() {
|
|
353
|
+
return null;
|
|
354
|
+
},
|
|
355
|
+
);
|
|
356
|
+
}
|
|
354
357
|
}
|
|
355
358
|
|
|
356
359
|
module.exports = AppRegistry;
|
|
@@ -146,6 +146,8 @@ module.exports = {
|
|
|
146
146
|
errorMessageForMethod('setLayoutAnimationEnabledExperimental'),
|
|
147
147
|
);
|
|
148
148
|
},
|
|
149
|
+
// Please use AccessibilityInfo.sendAccessibilityEvent_unstable instead.
|
|
150
|
+
// See SetAccessibilityFocusExample in AccessibilityExample.js for a migration example.
|
|
149
151
|
sendAccessibilityEvent: (reactTag: ?number, eventType: number): void =>
|
|
150
152
|
console.error(errorMessageForMethod('sendAccessibilityEvent')),
|
|
151
153
|
showPopupMenu: (
|