@office-iss/react-native-win32 0.0.0-canary.298 → 0.0.0-canary.299
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 +5 -3
- package/CHANGELOG.json +28 -1
- package/CHANGELOG.md +16 -6
- package/IntegrationTests/IntegrationTestsApp.js +1 -0
- package/IntegrationTests/LoggingTestModule.js +16 -20
- package/IntegrationTests/TimersTest.js +1 -0
- package/IntegrationTests/WebSocketTest.js +1 -0
- package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +1 -0
- package/Libraries/Alert/Alert.js +2 -2
- package/Libraries/Alert/NativeAlertManager.js +1 -0
- package/Libraries/Alert/RCTAlertManager.android.js +19 -13
- package/Libraries/Alert/RCTAlertManager.ios.js +9 -11
- package/Libraries/Alert/RCTAlertManager.js +1 -3
- package/Libraries/Alert/RCTAlertManager.js.flow +4 -6
- package/Libraries/Animated/AnimatedEvent.js +4 -3
- package/Libraries/Animated/AnimatedExports.js.flow +5 -0
- package/Libraries/Animated/AnimatedImplementation.js +44 -44
- package/Libraries/Animated/AnimatedMock.js +2 -2
- package/Libraries/Animated/NativeAnimatedModule.js +1 -0
- package/Libraries/Animated/NativeAnimatedTurboModule.js +1 -0
- package/Libraries/Animated/animations/Animation.js +6 -1
- package/Libraries/Animated/components/AnimatedScrollView.js +6 -5
- package/Libraries/Animated/components/AnimatedText.js +2 -5
- package/Libraries/Animated/components/AnimatedView.js +2 -1
- package/Libraries/Animated/createAnimatedComponent.js +2 -4
- package/Libraries/Animated/nodes/AnimatedProps.js +2 -7
- package/Libraries/AppState/NativeAppState.js +1 -0
- package/Libraries/Blob/NativeBlobModule.js +1 -0
- package/Libraries/Blob/NativeFileReaderModule.js +1 -0
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +1 -2
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfoWin32.js +1 -2
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +1 -2
- package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +1 -2
- package/Libraries/Components/Button.js +7 -4
- package/Libraries/Components/Button.win32.js +7 -4
- package/Libraries/Components/Clipboard/NativeClipboard.js +1 -2
- package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +1 -2
- package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +1 -2
- package/Libraries/Components/Pressable/Pressable.js +8 -2
- package/Libraries/Components/Pressable/Pressable.win32.js +8 -8
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +1 -2
- package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +1 -2
- package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +1 -0
- package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +1 -2
- package/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +9 -0
- package/Libraries/Components/SafeAreaView/SafeAreaView.js +3 -2
- package/Libraries/Components/SafeAreaView/SafeAreaView.win32.js +3 -2
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +1 -2
- package/Libraries/Components/ScrollView/ScrollView.d.ts +10 -1
- package/Libraries/Components/ScrollView/ScrollView.js +3 -1
- package/Libraries/Components/Sound/NativeSoundManager.js +1 -2
- package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +1 -2
- package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +1 -2
- package/Libraries/Components/StatusBar/StatusBar.d.ts +4 -0
- package/Libraries/Components/StatusBar/StatusBar.js +5 -0
- package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +1 -2
- package/Libraries/Components/Switch/Switch.js +2 -1
- package/Libraries/Components/Switch/SwitchNativeComponent.js +1 -2
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +8 -7
- package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +1 -2
- package/Libraries/Components/TextInput/TextInput.flow.js +1 -1
- package/Libraries/Components/TextInput/TextInput.js +2 -4
- package/Libraries/Components/TextInput/TextInput.win32.js +28 -3
- package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +1 -2
- package/Libraries/Components/Touchable/Touchable.js +7 -3
- package/Libraries/Components/Touchable/Touchable.win32.js +7 -3
- package/Libraries/Components/Touchable/TouchableHighlight.js +5 -1
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +3 -2
- package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js +3 -2
- package/Libraries/Components/Touchable/TouchableOpacity.d.ts +1 -0
- package/Libraries/Components/Touchable/TouchableOpacity.js +3 -2
- package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +1 -2
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +6 -15
- package/Libraries/Components/View/View.js +17 -18
- package/Libraries/Components/View/View.win32.js +16 -2
- package/Libraries/Components/View/ViewAccessibility.js +0 -7
- package/Libraries/Components/View/ViewAccessibility.win32.js +0 -7
- package/Libraries/Components/View/ViewPropTypes.d.ts +4 -0
- package/Libraries/Components/View/ViewPropTypes.js +8 -0
- package/Libraries/Components/View/ViewPropTypes.win32.js +8 -0
- package/Libraries/Core/ExceptionsManager.js +28 -15
- package/Libraries/Core/NativeExceptionsManager.js +1 -0
- package/Libraries/Core/ReactNativeVersion.js +1 -1
- package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +1 -0
- package/Libraries/Core/Timers/NativeTiming.js +1 -0
- package/Libraries/Core/checkNativeVersion.js +1 -0
- package/Libraries/Core/setUpReactDevTools.js +21 -4
- package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +1 -0
- package/Libraries/EventEmitter/NativeEventEmitter.js +3 -3
- package/Libraries/Image/Image.android.js +3 -3
- package/Libraries/Image/ImageSource.d.ts +5 -0
- package/Libraries/Image/ImageViewNativeComponent.js +3 -3
- package/Libraries/Image/NativeImageEditor.js +1 -0
- package/Libraries/Image/NativeImageLoaderAndroid.js +1 -0
- package/Libraries/Image/NativeImageLoaderIOS.js +1 -0
- package/Libraries/Image/NativeImageLoaderWin32.js +1 -0
- package/Libraries/Image/NativeImageStoreAndroid.js +1 -0
- package/Libraries/Image/NativeImageStoreIOS.js +1 -0
- package/Libraries/Image/RelativeImageStub.js +1 -1
- package/Libraries/Image/TextInlineImageNativeComponent.js +3 -3
- package/Libraries/Interaction/InteractionManager.js +6 -1
- package/Libraries/Interaction/NativeFrameRateLogger.js +1 -0
- package/Libraries/Interaction/TaskQueue.js +14 -0
- package/Libraries/LayoutAnimation/LayoutAnimation.js +12 -8
- package/Libraries/Linking/NativeIntentAndroid.js +1 -0
- package/Libraries/Linking/NativeLinkingManager.js +1 -0
- package/Libraries/Lists/FlatList.js +5 -6
- package/Libraries/Lists/SectionList.js +4 -4
- package/Libraries/Lists/VirtualizedList.js +3 -2
- package/Libraries/LogBox/Data/LogBoxData.js +7 -4
- package/Libraries/LogBox/LogBox.js +72 -101
- package/Libraries/Modal/Modal.d.ts +8 -2
- package/Libraries/Modal/Modal.js +19 -2
- package/Libraries/Modal/NativeModalManager.js +1 -0
- package/Libraries/Modal/RCTModalHostViewNativeComponent.js +1 -0
- package/Libraries/NativeComponent/BaseViewConfig.android.js +6 -15
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +6 -15
- package/Libraries/NativeComponent/BaseViewConfig.win32.js +6 -15
- package/Libraries/NativeModules/specs/NativeDevMenu.js +1 -0
- package/Libraries/NativeModules/specs/NativeDevSettings.js +1 -0
- package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +1 -0
- package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +1 -0
- package/Libraries/NativeModules/specs/NativeLogBox.js +1 -0
- package/Libraries/NativeModules/specs/NativeRedBox.js +1 -0
- package/Libraries/NativeModules/specs/NativeSourceCode.js +1 -0
- package/Libraries/Network/NativeNetworkingAndroid.js +1 -0
- package/Libraries/Network/NativeNetworkingIOS.js +1 -0
- package/Libraries/Network/XMLHttpRequest.js +2 -0
- package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +1 -0
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +3 -2
- package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +1 -0
- package/Libraries/ReactNative/AppRegistry.flow.js +2 -2
- package/Libraries/ReactNative/AppRegistryImpl.js +0 -10
- package/Libraries/ReactNative/BridgelessUIManager.js +1 -1
- package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +1 -0
- package/Libraries/ReactNative/NativeI18nManager.js +1 -0
- package/Libraries/ReactNative/NativeUIManager.js +1 -0
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +80 -61
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -1
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js.flow +2 -2
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +3 -1
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +3 -1
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3 -1
- package/Libraries/Renderer/shims/ReactNativeTypes.js +3 -12
- package/Libraries/Renderer/shims/ReactNativeTypes.win32.js +3 -12
- package/Libraries/Settings/NativeSettingsManager.js +1 -0
- package/Libraries/Share/NativeShareModule.js +1 -0
- package/Libraries/StyleSheet/StyleSheet.js +1 -0
- package/Libraries/StyleSheet/processAspectRatio.js +2 -0
- package/Libraries/Text/Text.js +4 -6
- package/Libraries/Text/TextAncestor.js +3 -10
- package/Libraries/Text/TextAncestorContext.js +23 -0
- package/Libraries/Text/TextProps.js +2 -2
- package/Libraries/Text/TextProps.win32.js +2 -2
- package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +1 -0
- package/Libraries/Types/CodegenTypesNamespace.js +1 -0
- package/Libraries/Utilities/HMRClient.js +12 -2
- package/Libraries/Utilities/NativeAppearance.js +1 -0
- package/Libraries/Utilities/NativeDevLoadingView.js +1 -0
- package/Libraries/Utilities/NativeDeviceInfo.js +1 -2
- package/Libraries/Utilities/NativePlatformConstantsAndroid.js +1 -0
- package/Libraries/Utilities/NativePlatformConstantsIOS.js +1 -0
- package/Libraries/Utilities/NativePlatformConstantsWin.js +1 -0
- package/Libraries/Utilities/Platform.android.js +1 -4
- package/Libraries/Utilities/Platform.ios.js +1 -4
- package/Libraries/Utilities/Platform.js.flow +2 -2
- package/Libraries/Utilities/Platform.win32.js +1 -4
- package/Libraries/Utilities/PlatformTypes.js +1 -1
- package/Libraries/Utilities/codegenNativeCommands.js +4 -2
- package/Libraries/Utilities/codegenNativeComponent.js +3 -3
- package/Libraries/Utilities/createPerformanceLogger.js +32 -0
- package/Libraries/Vibration/NativeVibration.js +1 -0
- package/Libraries/WebSocket/NativeWebSocketModule.js +1 -0
- package/Libraries/vendor/emitter/EventEmitter.js +6 -6
- package/index.js +21 -0
- package/index.win32.js +12 -1
- package/jest/setup.js +1 -0
- package/overrides.json +25 -25
- package/package.json +11 -11
- package/src/private/animated/createAnimatedPropsHook.js +4 -1
- package/src/private/animated/createAnimatedPropsMemoHook.js +2 -2
- package/src/private/components/virtualview/VirtualView.js +145 -0
- package/src/private/components/virtualview/VirtualViewNativeComponent.js +90 -0
- package/src/private/featureflags/ReactNativeFeatureFlags.js +43 -23
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +9 -5
- package/src/private/setup/setUpPerformanceObserver.js +7 -0
- package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +7 -4
- package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +3 -3
- package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +3 -3
- package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +3 -3
- package/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.js +10 -7
- package/src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent.js +5 -4
- package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +7 -4
- package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +9 -6
- package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +9 -6
- package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +14 -5
- package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +8 -5
- package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +5 -5
- package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +3 -3
- package/src/private/specs_DEPRECATED/modules/NativeDeviceInfo.js +1 -0
- package/src/private/specs_DEPRECATED/modules/NativeUIManager.js +9 -6
- package/src/private/styles/composeStyles.js +5 -12
- package/src/private/webapis/errors/DOMException.js +1 -1
- package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +4 -2
- package/src/private/webapis/intersectionobserver/IntersectionObserver.js +12 -7
- package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +13 -0
- package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +2 -1
- package/src/private/webapis/performance/Performance.js +164 -61
- package/src/private/webapis/performance/PerformanceEntry.js +20 -16
- package/src/private/webapis/performance/PerformanceObserver.js +31 -27
- package/src/private/webapis/performance/ResourceTiming.js +108 -0
- package/src/private/webapis/performance/UserTiming.js +60 -8
- package/src/private/webapis/performance/internals/RawPerformanceEntry.js +47 -32
- package/src/private/webapis/performance/specs/NativePerformance.js +13 -1
- package/src-win/Libraries/Components/View/ViewPropTypes.d.ts +4 -0
- package/Libraries/BugReporting/BugReporting.js +0 -140
- package/Libraries/BugReporting/NativeBugReporting.js +0 -13
- package/Libraries/BugReporting/dumpReactTree.js +0 -151
- package/Libraries/BugReporting/getReactData.js +0 -187
- package/src/private/specs_DEPRECATED/modules/NativeBugReporting.js +0 -20
|
@@ -21,7 +21,7 @@ import codegenNativeCommands from '../../../../Libraries/Utilities/codegenNative
|
|
|
21
21
|
import codegenNativeComponent from '../../../../Libraries/Utilities/codegenNativeComponent';
|
|
22
22
|
import * as React from 'react';
|
|
23
23
|
|
|
24
|
-
type
|
|
24
|
+
type PullToRefreshNativeProps = $ReadOnly<{
|
|
25
25
|
...ViewProps,
|
|
26
26
|
|
|
27
27
|
/**
|
|
@@ -52,7 +52,7 @@ type NativeProps = $ReadOnly<{
|
|
|
52
52
|
refreshing: boolean,
|
|
53
53
|
}>;
|
|
54
54
|
|
|
55
|
-
type ComponentType = HostComponent<
|
|
55
|
+
type ComponentType = HostComponent<PullToRefreshNativeProps>;
|
|
56
56
|
|
|
57
57
|
interface NativeCommands {
|
|
58
58
|
+setNativeRefreshing: (
|
|
@@ -65,7 +65,10 @@ export const Commands: NativeCommands = codegenNativeCommands<NativeCommands>({
|
|
|
65
65
|
supportedCommands: ['setNativeRefreshing'],
|
|
66
66
|
});
|
|
67
67
|
|
|
68
|
-
export default (codegenNativeComponent<
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
68
|
+
export default (codegenNativeComponent<PullToRefreshNativeProps>(
|
|
69
|
+
'PullToRefreshView',
|
|
70
|
+
{
|
|
71
|
+
paperComponentName: 'RCTRefreshControl',
|
|
72
|
+
excludedPlatforms: ['android'],
|
|
73
|
+
},
|
|
74
|
+
): HostComponent<PullToRefreshNativeProps>);
|
|
@@ -14,13 +14,16 @@ import type {HostComponent} from '../../types/HostComponent';
|
|
|
14
14
|
|
|
15
15
|
import codegenNativeComponent from '../../../../Libraries/Utilities/codegenNativeComponent';
|
|
16
16
|
|
|
17
|
-
type
|
|
17
|
+
type InputAccessoryNativeProps = $ReadOnly<{
|
|
18
18
|
...ViewProps,
|
|
19
19
|
backgroundColor?: ?ColorValue,
|
|
20
20
|
}>;
|
|
21
21
|
|
|
22
|
-
export default (codegenNativeComponent<
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
22
|
+
export default (codegenNativeComponent<InputAccessoryNativeProps>(
|
|
23
|
+
'InputAccessory',
|
|
24
|
+
{
|
|
25
|
+
interfaceOnly: true,
|
|
26
|
+
paperComponentName: 'RCTInputAccessoryView',
|
|
27
|
+
excludedPlatforms: ['android'],
|
|
28
|
+
},
|
|
29
|
+
): HostComponent<InputAccessoryNativeProps>);
|
|
@@ -22,7 +22,7 @@ type OrientationChangeEvent = $ReadOnly<{
|
|
|
22
22
|
orientation: 'portrait' | 'landscape',
|
|
23
23
|
}>;
|
|
24
24
|
|
|
25
|
-
type
|
|
25
|
+
type RCTModalHostViewNativeProps = $ReadOnly<{
|
|
26
26
|
...ViewProps,
|
|
27
27
|
|
|
28
28
|
/**
|
|
@@ -112,6 +112,12 @@ type NativeProps = $ReadOnly<{
|
|
|
112
112
|
*/
|
|
113
113
|
animated?: WithDefault<boolean, false>,
|
|
114
114
|
|
|
115
|
+
/**
|
|
116
|
+
* Controls whether the modal can be dismissed by swiping down on iOS.
|
|
117
|
+
* This requires you to implement the `onRequestClose` prop to handle the dismissal.
|
|
118
|
+
*/
|
|
119
|
+
allowSwipeDismissal?: WithDefault<boolean, false>,
|
|
120
|
+
|
|
115
121
|
/**
|
|
116
122
|
* The `supportedOrientations` prop allows the modal to be rotated to any of the specified orientations.
|
|
117
123
|
*
|
|
@@ -141,7 +147,10 @@ type NativeProps = $ReadOnly<{
|
|
|
141
147
|
identifier?: WithDefault<Int32, 0>,
|
|
142
148
|
}>;
|
|
143
149
|
|
|
144
|
-
export default (codegenNativeComponent<
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
150
|
+
export default (codegenNativeComponent<RCTModalHostViewNativeProps>(
|
|
151
|
+
'ModalHostView',
|
|
152
|
+
{
|
|
153
|
+
interfaceOnly: true,
|
|
154
|
+
paperComponentName: 'RCTModalHostView',
|
|
155
|
+
},
|
|
156
|
+
): HostComponent<RCTModalHostViewNativeProps>);
|
|
@@ -13,13 +13,16 @@ import type {HostComponent} from '../../types/HostComponent';
|
|
|
13
13
|
|
|
14
14
|
import codegenNativeComponent from '../../../../Libraries/Utilities/codegenNativeComponent';
|
|
15
15
|
|
|
16
|
-
type
|
|
16
|
+
type RCTSafeAreaViewNativeProps = $ReadOnly<{
|
|
17
17
|
...ViewProps,
|
|
18
18
|
|
|
19
19
|
// No props
|
|
20
20
|
}>;
|
|
21
21
|
|
|
22
|
-
export default (codegenNativeComponent<
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
22
|
+
export default (codegenNativeComponent<RCTSafeAreaViewNativeProps>(
|
|
23
|
+
'SafeAreaView',
|
|
24
|
+
{
|
|
25
|
+
paperComponentName: 'RCTSafeAreaView',
|
|
26
|
+
interfaceOnly: true,
|
|
27
|
+
},
|
|
28
|
+
): HostComponent<RCTSafeAreaViewNativeProps>);
|
|
@@ -21,12 +21,12 @@ import codegenNativeCommands from '../../../../Libraries/Utilities/codegenNative
|
|
|
21
21
|
import codegenNativeComponent from '../../../../Libraries/Utilities/codegenNativeComponent';
|
|
22
22
|
import * as React from 'react';
|
|
23
23
|
|
|
24
|
-
type
|
|
24
|
+
type NativeSwitchChangeEvent = $ReadOnly<{
|
|
25
25
|
value: boolean,
|
|
26
26
|
target: Int32,
|
|
27
27
|
}>;
|
|
28
28
|
|
|
29
|
-
type
|
|
29
|
+
type SwitchNativeProps = $ReadOnly<{
|
|
30
30
|
...ViewProps,
|
|
31
31
|
|
|
32
32
|
// Props
|
|
@@ -42,10 +42,10 @@ type NativeProps = $ReadOnly<{
|
|
|
42
42
|
trackColorForTrue?: ?ColorValue,
|
|
43
43
|
|
|
44
44
|
// Events
|
|
45
|
-
onChange?: ?BubblingEventHandler<
|
|
45
|
+
onChange?: ?BubblingEventHandler<NativeSwitchChangeEvent>,
|
|
46
46
|
}>;
|
|
47
47
|
|
|
48
|
-
type ComponentType = HostComponent<
|
|
48
|
+
type ComponentType = HostComponent<SwitchNativeProps>;
|
|
49
49
|
|
|
50
50
|
interface NativeCommands {
|
|
51
51
|
+setValue: (viewRef: React.ElementRef<ComponentType>, value: boolean) => void;
|
|
@@ -55,7 +55,7 @@ export const Commands: NativeCommands = codegenNativeCommands<NativeCommands>({
|
|
|
55
55
|
supportedCommands: ['setValue'],
|
|
56
56
|
});
|
|
57
57
|
|
|
58
|
-
export default (codegenNativeComponent<
|
|
58
|
+
export default (codegenNativeComponent<SwitchNativeProps>('Switch', {
|
|
59
59
|
paperComponentName: 'RCTSwitch',
|
|
60
60
|
excludedPlatforms: ['android'],
|
|
61
61
|
}): ComponentType);
|
|
@@ -14,13 +14,13 @@ import type {HostComponent} from '../../types/HostComponent';
|
|
|
14
14
|
|
|
15
15
|
import codegenNativeComponent from '../../../../Libraries/Utilities/codegenNativeComponent';
|
|
16
16
|
|
|
17
|
-
type
|
|
17
|
+
type UnimplementedNativeViewNativeProps = $ReadOnly<{
|
|
18
18
|
...ViewProps,
|
|
19
19
|
name?: WithDefault<string, ''>,
|
|
20
20
|
}>;
|
|
21
21
|
|
|
22
22
|
// NOTE: This component is not implemented in paper
|
|
23
23
|
// Do not require this file in paper builds
|
|
24
|
-
export default (codegenNativeComponent<
|
|
24
|
+
export default (codegenNativeComponent<UnimplementedNativeViewNativeProps>(
|
|
25
25
|
'UnimplementedNativeView',
|
|
26
|
-
): HostComponent<
|
|
26
|
+
): HostComponent<UnimplementedNativeViewNativeProps>);
|
|
@@ -13,7 +13,7 @@ import type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';
|
|
|
13
13
|
|
|
14
14
|
import * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboModuleRegistry';
|
|
15
15
|
|
|
16
|
-
export type
|
|
16
|
+
export type NativeMeasureOnSuccessCallback = (
|
|
17
17
|
x: number,
|
|
18
18
|
y: number,
|
|
19
19
|
width: number,
|
|
@@ -22,14 +22,14 @@ export type MeasureOnSuccessCallback = (
|
|
|
22
22
|
pageY: number,
|
|
23
23
|
) => void;
|
|
24
24
|
|
|
25
|
-
export type
|
|
25
|
+
export type NativeMeasureInWindowOnSuccessCallback = (
|
|
26
26
|
x: number,
|
|
27
27
|
y: number,
|
|
28
28
|
width: number,
|
|
29
29
|
height: number,
|
|
30
30
|
) => void;
|
|
31
31
|
|
|
32
|
-
export type
|
|
32
|
+
export type NativeMeasureLayoutOnSuccessCallback = (
|
|
33
33
|
left: number,
|
|
34
34
|
top: number,
|
|
35
35
|
width: number,
|
|
@@ -87,7 +87,10 @@ export interface Spec extends TurboModule {
|
|
|
87
87
|
*
|
|
88
88
|
* @deprecated Use `ref.measure` instead.
|
|
89
89
|
*/
|
|
90
|
-
+measure: (
|
|
90
|
+
+measure: (
|
|
91
|
+
reactTag: number,
|
|
92
|
+
callback: NativeMeasureOnSuccessCallback,
|
|
93
|
+
) => void;
|
|
91
94
|
/**
|
|
92
95
|
* Determines the location of the given view in the window and returns the
|
|
93
96
|
* values via an async callback. If the React root view is embedded in
|
|
@@ -107,7 +110,7 @@ export interface Spec extends TurboModule {
|
|
|
107
110
|
*/
|
|
108
111
|
+measureInWindow: (
|
|
109
112
|
reactTag: number,
|
|
110
|
-
callback:
|
|
113
|
+
callback: NativeMeasureInWindowOnSuccessCallback,
|
|
111
114
|
) => void;
|
|
112
115
|
+viewIsDescendantOf: (
|
|
113
116
|
reactTag: number,
|
|
@@ -128,7 +131,7 @@ export interface Spec extends TurboModule {
|
|
|
128
131
|
reactTag: number,
|
|
129
132
|
ancestorReactTag: number,
|
|
130
133
|
errorCallback: (error: Object) => void,
|
|
131
|
-
callback:
|
|
134
|
+
callback: NativeMeasureLayoutOnSuccessCallback,
|
|
132
135
|
) => void;
|
|
133
136
|
+measureLayoutRelativeToParent: (
|
|
134
137
|
reactTag: number,
|
|
@@ -4,26 +4,19 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
+
* @flow strict
|
|
7
8
|
* @format
|
|
8
9
|
*/
|
|
9
10
|
|
|
10
|
-
import type {
|
|
11
|
-
ImageStyle,
|
|
12
|
-
TextStyle,
|
|
13
|
-
ViewStyle,
|
|
14
|
-
} from '../../../Libraries/StyleSheet/StyleSheet';
|
|
15
|
-
import type {StyleProp} from '../../../Libraries/StyleSheet/StyleSheetTypes';
|
|
16
|
-
|
|
17
11
|
/**
|
|
18
12
|
* Combines two styles such that `style2` will override any styles in `style1`.
|
|
19
13
|
* If either style is null or undefined, the other one is returned without
|
|
20
14
|
* allocating an array, saving allocations and enabling memoization.
|
|
21
15
|
*/
|
|
22
|
-
export default function composeStyles<
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
>(style1: ?StyleProp<U>, style2: ?StyleProp<V>): ?StyleProp<T> {
|
|
16
|
+
export default function composeStyles<T, U: T, V: T>(
|
|
17
|
+
style1: ?U,
|
|
18
|
+
style2: ?V,
|
|
19
|
+
): ?(T | $ReadOnlyArray<T>) {
|
|
27
20
|
if (style1 == null) {
|
|
28
21
|
return style2;
|
|
29
22
|
}
|
|
@@ -70,7 +70,7 @@ const ERROR_CODES: {[string]: number} = {
|
|
|
70
70
|
DATA_CLONE_ERR: 25,
|
|
71
71
|
};
|
|
72
72
|
|
|
73
|
-
/* eslint-disable
|
|
73
|
+
/* eslint-disable @react-native/monorepo/require-extends-error */
|
|
74
74
|
// $FlowExpectedError[incompatible-variance] name is writable in Error but not in DOMException, but this is how it works on Web.
|
|
75
75
|
export default class DOMException extends Error {
|
|
76
76
|
static +INDEX_SIZE_ERR: 1;
|
|
@@ -12,6 +12,8 @@ import type {TurboModule} from '../../../../../Libraries/TurboModule/RCTExport';
|
|
|
12
12
|
|
|
13
13
|
import * as TurboModuleRegistry from '../../../../../Libraries/TurboModule/TurboModuleRegistry';
|
|
14
14
|
|
|
15
|
+
export opaque type IdleCallbackID = mixed;
|
|
16
|
+
|
|
15
17
|
export type RequestIdleCallbackOptions = {
|
|
16
18
|
timeout?: number,
|
|
17
19
|
};
|
|
@@ -25,8 +27,8 @@ export interface Spec extends TurboModule {
|
|
|
25
27
|
+requestIdleCallback: (
|
|
26
28
|
callback: (idleDeadline: IdleDeadline) => mixed,
|
|
27
29
|
options?: RequestIdleCallbackOptions,
|
|
28
|
-
) =>
|
|
29
|
-
+cancelIdleCallback: (handle:
|
|
30
|
+
) => IdleCallbackID;
|
|
31
|
+
+cancelIdleCallback: (handle: IdleCallbackID) => void;
|
|
30
32
|
}
|
|
31
33
|
|
|
32
34
|
export default (TurboModuleRegistry.getEnforcing<Spec>(
|
|
@@ -23,7 +23,7 @@ export type IntersectionObserverCallback = (
|
|
|
23
23
|
) => mixed;
|
|
24
24
|
|
|
25
25
|
export interface IntersectionObserverInit {
|
|
26
|
-
|
|
26
|
+
root?: ?ReactNativeElement;
|
|
27
27
|
// rootMargin?: string, // This option exists on the Web but it's not currently supported in React Native.
|
|
28
28
|
threshold?: number | $ReadOnlyArray<number>;
|
|
29
29
|
|
|
@@ -67,6 +67,7 @@ export default class IntersectionObserver {
|
|
|
67
67
|
_observationTargets: Set<ReactNativeElement> = new Set();
|
|
68
68
|
_intersectionObserverId: ?IntersectionObserverId;
|
|
69
69
|
_rootThresholds: $ReadOnlyArray<number> | null;
|
|
70
|
+
_root: ReactNativeElement | null;
|
|
70
71
|
|
|
71
72
|
constructor(
|
|
72
73
|
callback: IntersectionObserverCallback,
|
|
@@ -85,16 +86,18 @@ export default class IntersectionObserver {
|
|
|
85
86
|
}
|
|
86
87
|
|
|
87
88
|
// $FlowExpectedError[prop-missing] it's not typed in React Native but exists on Web.
|
|
88
|
-
if (options?.
|
|
89
|
+
if (options?.rootMargin != null) {
|
|
89
90
|
throw new TypeError(
|
|
90
|
-
"Failed to construct 'IntersectionObserver':
|
|
91
|
+
"Failed to construct 'IntersectionObserver': rootMargin is not supported",
|
|
91
92
|
);
|
|
92
93
|
}
|
|
93
94
|
|
|
94
|
-
|
|
95
|
-
|
|
95
|
+
if (
|
|
96
|
+
options?.root != null &&
|
|
97
|
+
!(options?.root instanceof ReactNativeElement)
|
|
98
|
+
) {
|
|
96
99
|
throw new TypeError(
|
|
97
|
-
"Failed to construct 'IntersectionObserver':
|
|
100
|
+
"Failed to construct 'IntersectionObserver': Failed to read the 'root' property from 'IntersectionObserverInit': The provided value is not of type '(null or ReactNativeElement)",
|
|
98
101
|
);
|
|
99
102
|
}
|
|
100
103
|
|
|
@@ -105,6 +108,7 @@ export default class IntersectionObserver {
|
|
|
105
108
|
options?.threshold,
|
|
106
109
|
this._rootThresholds != null, // only provide default if no rootThreshold
|
|
107
110
|
);
|
|
111
|
+
this._root = options?.root ?? null;
|
|
108
112
|
}
|
|
109
113
|
|
|
110
114
|
/**
|
|
@@ -116,7 +120,7 @@ export default class IntersectionObserver {
|
|
|
116
120
|
* NOTE: This cannot currently be configured and `root` is always `null`.
|
|
117
121
|
*/
|
|
118
122
|
get root(): ReactNativeElement | null {
|
|
119
|
-
return
|
|
123
|
+
return this._root;
|
|
120
124
|
}
|
|
121
125
|
|
|
122
126
|
/**
|
|
@@ -183,6 +187,7 @@ export default class IntersectionObserver {
|
|
|
183
187
|
|
|
184
188
|
const didStartObserving = IntersectionObserverManager.observe({
|
|
185
189
|
intersectionObserverId: this._getOrCreateIntersectionObserverId(),
|
|
190
|
+
root: this._root,
|
|
186
191
|
target,
|
|
187
192
|
});
|
|
188
193
|
|
|
@@ -140,9 +140,11 @@ export function unregisterObserver(
|
|
|
140
140
|
*/
|
|
141
141
|
export function observe({
|
|
142
142
|
intersectionObserverId,
|
|
143
|
+
root,
|
|
143
144
|
target,
|
|
144
145
|
}: {
|
|
145
146
|
intersectionObserverId: IntersectionObserverId,
|
|
147
|
+
root: ?ReactNativeElement,
|
|
146
148
|
target: ReactNativeElement,
|
|
147
149
|
}): boolean {
|
|
148
150
|
if (NativeIntersectionObserver == null) {
|
|
@@ -174,6 +176,15 @@ export function observe({
|
|
|
174
176
|
return false;
|
|
175
177
|
}
|
|
176
178
|
|
|
179
|
+
const rootNativeNodeReference =
|
|
180
|
+
root != null ? getNativeNodeReference(root) : null;
|
|
181
|
+
if (root != null && rootNativeNodeReference == null) {
|
|
182
|
+
console.error(
|
|
183
|
+
'IntersectionObserverManager: could not find shadow node for observation root',
|
|
184
|
+
);
|
|
185
|
+
return false;
|
|
186
|
+
}
|
|
187
|
+
|
|
177
188
|
// Store the mapping between the instance handle and the target so we can
|
|
178
189
|
// access it even after the instance handle has been unmounted.
|
|
179
190
|
setTargetForInstanceHandle(instanceHandle, target);
|
|
@@ -191,6 +202,7 @@ export function observe({
|
|
|
191
202
|
if (modernNativeIntersectionObserver == null) {
|
|
192
203
|
NativeIntersectionObserver.observe({
|
|
193
204
|
intersectionObserverId,
|
|
205
|
+
rootShadowNode: rootNativeNodeReference,
|
|
194
206
|
targetShadowNode: targetNativeNodeReference,
|
|
195
207
|
thresholds: registeredObserver.observer.thresholds,
|
|
196
208
|
rootThresholds: registeredObserver.observer.rnRootThresholds,
|
|
@@ -198,6 +210,7 @@ export function observe({
|
|
|
198
210
|
} else {
|
|
199
211
|
const token = modernNativeIntersectionObserver.observe({
|
|
200
212
|
intersectionObserverId,
|
|
213
|
+
rootShadowNode: rootNativeNodeReference,
|
|
201
214
|
targetShadowNode: targetNativeNodeReference,
|
|
202
215
|
thresholds: registeredObserver.observer.thresholds,
|
|
203
216
|
rootThresholds: registeredObserver.observer.rnRootThresholds,
|
|
@@ -25,12 +25,13 @@ export type NativeIntersectionObserverEntry = {
|
|
|
25
25
|
|
|
26
26
|
export type NativeIntersectionObserverObserveOptions = {
|
|
27
27
|
intersectionObserverId: number,
|
|
28
|
+
rootShadowNode?: ?mixed,
|
|
28
29
|
targetShadowNode: mixed,
|
|
29
30
|
thresholds: $ReadOnlyArray<number>,
|
|
30
31
|
rootThresholds?: ?$ReadOnlyArray<number>,
|
|
31
32
|
};
|
|
32
33
|
|
|
33
|
-
export type NativeIntersectionObserverToken = mixed;
|
|
34
|
+
export opaque type NativeIntersectionObserverToken = mixed;
|
|
34
35
|
|
|
35
36
|
export interface Spec extends TurboModule {
|
|
36
37
|
// TODO(T223605846): Remove legacy observe method
|