react-native-windows 0.70.8 → 0.71.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 +3 -6
- package/Directory.Build.props +2 -2
- package/Folly/Folly.vcxproj +4 -2
- package/Folly/Folly.vcxproj.filters +7 -3
- package/Folly/TEMP_UntilFollyUpdate/dynamic-inl.h +59 -43
- package/Folly/TEMP_UntilFollyUpdate/lang/SafeAssert.h +192 -0
- package/Folly/TEMP_UntilFollyUpdate/lang/ToAscii.cpp +7 -5
- package/Folly/cgmanifest.json +2 -1
- package/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +80 -0
- package/Libraries/ActionSheetIOS/ActionSheetIOS.js +4 -3
- package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +1 -0
- package/Libraries/Alert/Alert.d.ts +90 -0
- package/Libraries/Alert/Alert.js +7 -1
- package/Libraries/Alert/Alert.windows.js +2 -1
- package/Libraries/Alert/NativeAlertManager.js +2 -0
- package/Libraries/Alert/RCTAlertManager.ios.js +2 -1
- package/Libraries/Animated/Animated.d.ts +587 -0
- package/Libraries/Animated/Animated.js +13 -11
- package/Libraries/Animated/AnimatedEvent.js +12 -17
- package/Libraries/Animated/AnimatedImplementation.js +21 -23
- package/Libraries/Animated/AnimatedMock.js +11 -13
- package/Libraries/Animated/AnimatedWeb.js +2 -2
- package/Libraries/Animated/Easing.d.ts +37 -0
- package/Libraries/Animated/Easing.js +2 -2
- package/Libraries/Animated/NativeAnimatedHelper.js +32 -22
- package/Libraries/Animated/NativeAnimatedModule.js +1 -0
- package/Libraries/Animated/NativeAnimatedTurboModule.js +1 -0
- package/Libraries/Animated/SpringConfig.js +2 -7
- package/Libraries/Animated/animations/Animation.js +3 -4
- package/Libraries/Animated/animations/DecayAnimation.js +5 -8
- package/Libraries/Animated/animations/SpringAnimation.js +9 -14
- package/Libraries/Animated/animations/TimingAnimation.js +9 -13
- package/Libraries/Animated/bezier.js +2 -2
- package/Libraries/Animated/components/AnimatedFlatList.js +5 -6
- package/Libraries/Animated/components/AnimatedImage.js +5 -6
- package/Libraries/Animated/components/AnimatedScrollView.js +110 -14
- package/Libraries/Animated/components/AnimatedSectionList.js +4 -5
- package/Libraries/Animated/components/AnimatedText.js +5 -6
- package/Libraries/Animated/components/AnimatedView.js +5 -6
- package/Libraries/Animated/createAnimatedComponent.js +13 -20
- package/Libraries/Animated/createAnimatedComponent_EXPERIMENTAL.js +2 -2
- package/Libraries/Animated/nodes/AnimatedAddition.js +6 -8
- package/Libraries/Animated/nodes/AnimatedColor.js +7 -7
- package/Libraries/Animated/nodes/AnimatedDiffClamp.js +6 -8
- package/Libraries/Animated/nodes/AnimatedDivision.js +7 -9
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +7 -10
- package/Libraries/Animated/nodes/AnimatedModulo.js +6 -8
- package/Libraries/Animated/nodes/AnimatedMultiplication.js +7 -9
- package/Libraries/Animated/nodes/AnimatedNode.js +10 -8
- package/Libraries/Animated/nodes/AnimatedProps.js +12 -30
- package/Libraries/Animated/nodes/AnimatedStyle.js +12 -22
- package/Libraries/Animated/nodes/AnimatedSubtraction.js +7 -9
- package/Libraries/Animated/nodes/AnimatedTracking.js +8 -12
- package/Libraries/Animated/nodes/AnimatedTransform.js +38 -31
- package/Libraries/Animated/nodes/AnimatedValue.js +9 -10
- package/Libraries/Animated/nodes/AnimatedValueXY.js +4 -7
- package/Libraries/Animated/nodes/AnimatedWithChildren.js +4 -5
- package/Libraries/Animated/useAnimatedProps.js +8 -16
- package/Libraries/Animated/useAnimatedValue.d.ts +15 -0
- package/Libraries/Animated/useAnimatedValue.js +25 -0
- package/Libraries/AppState/AppState.d.ts +58 -0
- package/Libraries/AppState/AppState.js +3 -7
- package/Libraries/AppState/NativeAppState.js +1 -0
- package/Libraries/BatchedBridge/MessageQueue.js +9 -5
- package/Libraries/BatchedBridge/NativeModules.d.ts +25 -0
- package/Libraries/BatchedBridge/NativeModules.js +1 -0
- package/Libraries/Blob/BlobManager.js +5 -3
- package/Libraries/Blob/File.js +2 -3
- package/Libraries/Blob/FileReader.js +6 -5
- package/Libraries/Blob/NativeBlobModule.js +1 -0
- package/Libraries/Blob/NativeFileReaderModule.js +1 -0
- package/Libraries/Blob/URL.js +11 -9
- package/Libraries/BugReporting/NativeBugReporting.js +1 -0
- package/Libraries/BugReporting/getReactData.js +1 -1
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +128 -0
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.flow.js +208 -0
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +40 -8
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +40 -8
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +1 -0
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +5 -0
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.d.ts +86 -0
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.flow.js +58 -0
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +7 -8
- package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +2 -3
- package/Libraries/Components/Button.d.ts +42 -0
- package/Libraries/Components/Button.flow.js +265 -0
- package/Libraries/Components/Button.js +62 -18
- package/Libraries/Components/Button.windows.js +62 -18
- package/Libraries/Components/Clipboard/Clipboard.d.ts +28 -0
- package/Libraries/Components/Clipboard/NativeClipboard.js +1 -0
- package/Libraries/Components/DatePicker/DatePickerIOS.android.js +4 -2
- package/Libraries/Components/DatePicker/DatePickerIOS.d.ts +92 -0
- package/Libraries/Components/{MaskedView/MaskedViewIOS.android.js → DatePicker/DatePickerIOS.flow.android.js} +3 -2
- package/Libraries/Components/DatePicker/DatePickerIOS.flow.ios.js +113 -0
- package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +8 -7
- package/Libraries/Components/DatePicker/DatePickerIOS.windows.js +4 -2
- package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +7 -6
- package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +1 -0
- package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +9 -8
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +13 -14
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.d.ts +141 -0
- package/Libraries/Components/Keyboard/Keyboard.d.ts +109 -0
- package/Libraries/Components/Keyboard/Keyboard.js +35 -8
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.d.ts +46 -0
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +35 -15
- package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +1 -0
- package/Libraries/Components/Popup/PopupProps.d.ts +1 -0
- package/Libraries/Components/Popup/PopupProps.js.map +1 -1
- package/Libraries/Components/Pressable/Pressable.d.ts +167 -0
- package/Libraries/Components/Pressable/Pressable.js +73 -15
- package/Libraries/Components/Pressable/Pressable.windows.js +78 -20
- package/Libraries/Components/Pressable/useAndroidRippleForView.js +6 -3
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +3 -3
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.d.ts +83 -0
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +2 -2
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +1 -1
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.d.ts +62 -0
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +4 -4
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.windows.js +1 -1
- package/Libraries/Components/ProgressViewIOS/RCTProgressViewNativeComponent.js +2 -2
- package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +5 -6
- package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +4 -4
- package/Libraries/Components/RefreshControl/RefreshControl.d.ts +87 -0
- package/Libraries/Components/RefreshControl/RefreshControl.js +4 -3
- package/Libraries/Components/RefreshControl/RefreshControl.windows.js +4 -3
- package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +2 -3
- package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +1 -1
- package/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +24 -0
- package/Libraries/Components/SafeAreaView/SafeAreaView.flow.js +19 -0
- package/Libraries/Components/SafeAreaView/SafeAreaView.js +5 -4
- package/Libraries/Components/SafeAreaView/SafeAreaView.windows.js +5 -4
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -1
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +2 -1
- package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +2 -1
- package/Libraries/Components/ScrollView/ScrollView.d.ts +911 -0
- package/Libraries/Components/ScrollView/ScrollView.js +87 -52
- package/Libraries/Components/ScrollView/ScrollViewCommands.js +3 -3
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +2 -1
- package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +3 -3
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +243 -269
- package/Libraries/Components/Slider/Slider.d.ts +132 -0
- package/Libraries/Components/Slider/Slider.js +9 -9
- package/Libraries/Components/Slider/SliderNativeComponent.js +4 -5
- package/Libraries/Components/Sound/NativeSoundManager.js +1 -0
- package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +1 -0
- package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +1 -0
- package/Libraries/Components/StatusBar/StatusBar.d.ts +138 -0
- package/Libraries/Components/StatusBar/StatusBar.js +7 -7
- package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +10 -10
- package/Libraries/Components/Switch/Switch.d.ts +115 -0
- package/Libraries/Components/Switch/Switch.js +7 -7
- package/Libraries/Components/Switch/SwitchNativeComponent.js +9 -4
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +40 -12
- package/Libraries/Components/TextInput/InputAccessoryView.d.ts +34 -0
- package/Libraries/Components/TextInput/InputAccessoryView.js +3 -4
- package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +1 -1
- package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +3 -2
- package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +3 -2
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +3 -1
- package/Libraries/Components/TextInput/TextInput.d.ts +840 -0
- package/Libraries/Components/TextInput/TextInput.flow.js +1057 -0
- package/Libraries/Components/TextInput/TextInput.js +344 -38
- package/Libraries/Components/TextInput/TextInput.windows.js +348 -38
- package/Libraries/Components/TextInput/TextInputNativeCommands.js +2 -2
- package/Libraries/Components/TextInput/TextInputState.js +22 -5
- package/Libraries/Components/TextInput/TextInputState.windows.js +22 -5
- package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +1 -0
- package/Libraries/Components/ToastAndroid/ToastAndroid.d.ts +47 -0
- package/Libraries/Components/Touchable/Touchable.d.ts +90 -0
- package/Libraries/Components/Touchable/Touchable.flow.js +258 -0
- package/Libraries/Components/Touchable/Touchable.js +12 -12
- package/Libraries/Components/Touchable/Touchable.windows.js +12 -12
- package/Libraries/Components/Touchable/TouchableBounce.js +44 -10
- package/Libraries/Components/Touchable/TouchableHighlight.d.ts +68 -0
- package/Libraries/Components/Touchable/TouchableHighlight.js +32 -9
- package/Libraries/Components/Touchable/TouchableHighlight.windows.js +32 -9
- package/Libraries/Components/Touchable/TouchableNativeFeedback.d.ts +114 -0
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +54 -20
- package/Libraries/Components/Touchable/TouchableOpacity.d.ts +109 -0
- package/Libraries/Components/Touchable/TouchableOpacity.js +54 -16
- package/Libraries/Components/Touchable/TouchableOpacity.windows.js +54 -16
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +143 -0
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +64 -10
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +64 -10
- package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +1 -1
- package/Libraries/Components/UnimplementedViews/UnimplementedView.js +1 -1
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +13 -2
- package/Libraries/Components/View/View.d.ts +29 -0
- package/Libraries/Components/View/View.js +91 -8
- package/Libraries/Components/View/View.windows.js +181 -94
- package/Libraries/Components/View/ViewAccessibility.d.ts +360 -0
- package/Libraries/Components/View/ViewAccessibility.js +70 -1
- package/Libraries/Components/View/ViewAccessibility.windows.js +69 -0
- package/Libraries/Components/View/ViewNativeComponent.js +3 -3
- package/Libraries/Components/View/ViewPropTypes.d.ts +245 -0
- package/Libraries/Components/View/ViewPropTypes.js +105 -13
- package/Libraries/Components/View/ViewPropTypes.windows.js +105 -13
- package/Libraries/Core/Devtools/openFileInEditor.js +3 -0
- package/Libraries/Core/Devtools/parseErrorStack.js +1 -1
- package/Libraries/Core/Devtools/symbolicateStackTrace.js +2 -2
- package/Libraries/Core/ExceptionsManager.js +8 -0
- package/Libraries/Core/ExtendedError.js +11 -8
- package/Libraries/Core/InitializeCore.js +2 -1
- package/Libraries/Core/NativeExceptionsManager.js +3 -4
- package/Libraries/Core/RawEventEmitter.js +2 -1
- package/Libraries/Core/ReactFiberErrorDialog.js +2 -2
- package/Libraries/Core/ReactNativeVersion.js +2 -2
- package/Libraries/Core/ReactNativeVersionCheck.js +1 -0
- package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +1 -0
- package/Libraries/Core/Timers/JSTimers.js +13 -11
- package/Libraries/Core/Timers/NativeTiming.js +1 -0
- package/Libraries/Core/setUpBatchedBridge.js +1 -5
- package/Libraries/Core/setUpDeveloperTools.js +4 -6
- package/Libraries/Core/setUpReactDevTools.js +4 -1
- package/Libraries/Core/setUpRegeneratorRuntime.js +1 -1
- package/Libraries/Core/setUpTimers.js +1 -1
- package/Libraries/EventEmitter/NativeEventEmitter.d.ts +70 -0
- package/Libraries/EventEmitter/NativeEventEmitter.js +1 -0
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +30 -0
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +2 -1
- package/Libraries/EventEmitter/RCTNativeAppEventEmitter.d.ts +32 -0
- package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +1 -0
- package/Libraries/Events/EventPolyfill.js +1 -1
- package/Libraries/HeapCapture/NativeJSCHeapCapture.js +1 -0
- package/Libraries/Image/AssetSourceResolver.js +4 -6
- package/Libraries/Image/Image.android.js +63 -45
- package/Libraries/Image/Image.d.ts +322 -0
- package/Libraries/Image/Image.flow.js +64 -0
- package/Libraries/Image/Image.ios.js +55 -28
- package/Libraries/Image/Image.windows.js +56 -30
- package/Libraries/Image/ImageBackground.js +18 -7
- package/Libraries/Image/ImageInjection.js +2 -1
- package/Libraries/Image/ImageProps.js +88 -5
- package/Libraries/Image/ImageResizeMode.d.ts +49 -0
- package/Libraries/Image/ImageSource.d.ts +76 -0
- package/Libraries/Image/ImageSourceUtils.js +80 -0
- package/Libraries/Image/ImageUtils.js +21 -0
- package/Libraries/Image/ImageViewNativeComponent.js +8 -5
- package/Libraries/Image/NativeImageEditor.js +1 -0
- package/Libraries/Image/NativeImageLoaderAndroid.js +1 -0
- package/Libraries/Image/NativeImageLoaderIOS.js +1 -0
- package/Libraries/Image/NativeImageStoreAndroid.js +1 -0
- package/Libraries/Image/NativeImageStoreIOS.js +1 -0
- package/Libraries/Image/TextInlineImageNativeComponent.js +4 -3
- package/Libraries/Image/nativeImageSource.js +2 -2
- package/Libraries/Image/resolveAssetSource.js +5 -5
- package/Libraries/Inspector/BorderBox.js +1 -1
- package/Libraries/Inspector/BoxInspector.js +3 -4
- package/Libraries/Inspector/DevtoolsOverlay.js +213 -0
- package/Libraries/Inspector/ElementBox.js +4 -5
- package/Libraries/Inspector/ElementProperties.js +10 -11
- package/Libraries/Inspector/Inspector.js +22 -108
- package/Libraries/Inspector/InspectorOverlay.js +5 -5
- package/Libraries/Inspector/InspectorPanel.js +12 -10
- package/Libraries/Inspector/NetworkOverlay.js +7 -3
- package/Libraries/Inspector/PerformanceOverlay.js +3 -3
- package/Libraries/Inspector/StyleInspector.js +2 -2
- package/Libraries/Inspector/getInspectorDataForViewAtPoint.js +71 -0
- package/Libraries/Interaction/BridgeSpyStallHandler.js +1 -1
- package/Libraries/Interaction/InteractionManager.d.ts +74 -0
- package/Libraries/Interaction/InteractionManager.js +8 -8
- package/Libraries/Interaction/NativeFrameRateLogger.js +1 -0
- package/Libraries/Interaction/PanResponder.d.ts +202 -0
- package/Libraries/Interaction/PanResponder.flow.js +257 -0
- package/Libraries/Interaction/PanResponder.js +4 -3
- package/Libraries/JSInspector/JSInspector.js +0 -3
- package/Libraries/JSInspector/NetworkAgent.js +3 -3
- package/Libraries/LayoutAnimation/LayoutAnimation.d.ts +84 -0
- package/Libraries/LayoutAnimation/LayoutAnimation.js +4 -3
- package/Libraries/Linking/Linking.d.ts +61 -0
- package/Libraries/Linking/Linking.js +3 -2
- package/Libraries/Linking/NativeIntentAndroid.js +1 -0
- package/Libraries/Linking/NativeLinkingManager.js +1 -0
- package/Libraries/Lists/CellRenderMask.js +13 -3
- package/Libraries/Lists/ChildListCollection.js +72 -0
- package/Libraries/Lists/FillRateHelper.js +28 -17
- package/Libraries/Lists/FlatList.d.ts +292 -0
- package/Libraries/Lists/FlatList.js +70 -70
- package/Libraries/Lists/SectionList.d.ts +300 -0
- package/Libraries/Lists/SectionList.js +5 -5
- package/Libraries/Lists/SectionListModern.js +6 -6
- package/Libraries/Lists/StateSafePureComponent.js +85 -0
- package/Libraries/Lists/ViewabilityHelper.js +33 -12
- package/Libraries/Lists/VirtualizeUtils.js +17 -13
- package/Libraries/Lists/VirtualizedList.d.ts +317 -0
- package/Libraries/Lists/VirtualizedList.js +548 -890
- package/Libraries/Lists/VirtualizedListCellRenderer.js +259 -0
- package/Libraries/Lists/VirtualizedListContext.js +7 -48
- package/Libraries/Lists/VirtualizedListProps.js +279 -0
- package/Libraries/Lists/VirtualizedSectionList.js +6 -3
- package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
- package/Libraries/LogBox/Data/LogBoxData.js +9 -8
- package/Libraries/LogBox/Data/LogBoxLog.js +5 -5
- package/Libraries/LogBox/Data/LogBoxSymbolication.js +4 -4
- package/Libraries/LogBox/Data/parseLogBoxLog.js +5 -3
- package/Libraries/LogBox/LogBox.d.ts +28 -0
- package/Libraries/LogBox/LogBox.js +11 -11
- package/Libraries/LogBox/LogBoxInspectorContainer.js +5 -3
- package/Libraries/LogBox/LogBoxNotificationContainer.js +2 -2
- package/Libraries/LogBox/UI/AnsiHighlight.js +5 -3
- package/Libraries/LogBox/UI/LogBoxButton.js +6 -5
- package/Libraries/LogBox/UI/LogBoxInspector.js +6 -6
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +9 -8
- package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +3 -3
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +7 -6
- package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +6 -5
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +7 -6
- package/Libraries/LogBox/UI/LogBoxInspectorSection.js +2 -2
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +3 -3
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +5 -5
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +5 -5
- package/Libraries/LogBox/UI/LogBoxMessage.js +3 -3
- package/Libraries/LogBox/UI/LogBoxNotification.js +6 -5
- package/Libraries/Modal/Modal.d.ts +104 -0
- package/Libraries/Modal/Modal.js +14 -14
- package/Libraries/Modal/NativeModalManager.js +1 -0
- package/Libraries/Modal/RCTModalHostViewNativeComponent.js +3 -3
- package/Libraries/NativeComponent/BaseViewConfig.android.js +27 -2
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +8 -3
- package/Libraries/NativeComponent/BaseViewConfig.windows.js +8 -3
- package/Libraries/NativeComponent/NativeComponentRegistry.js +5 -4
- package/Libraries/NativeComponent/PlatformBaseViewConfig.js +1 -0
- package/Libraries/NativeComponent/StaticViewConfigValidator.js +1 -1
- package/Libraries/NativeComponent/ViewConfig.js +1 -0
- package/Libraries/NativeModules/specs/NativeAnimationsDebugModule.js +1 -0
- 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 +3 -2
- 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/RCTNetworking.android.js +4 -3
- package/Libraries/Network/RCTNetworking.ios.js +3 -2
- package/Libraries/Network/RCTNetworking.windows.js +1 -0
- package/Libraries/Network/convertRequestBody.js +1 -2
- package/Libraries/NewAppScreen/components/DebugInstructions.js +4 -1
- package/Libraries/NewAppScreen/components/Header.js +6 -2
- package/Libraries/NewAppScreen/components/HermesBadge.js +6 -2
- package/Libraries/NewAppScreen/components/LearnMoreLinks.js +8 -9
- package/Libraries/NewAppScreen/components/ReloadInstructions.js +4 -1
- package/Libraries/NewAppScreen/index.js +1 -1
- package/Libraries/Performance/NativeJSCSamplingProfiler.js +1 -0
- package/Libraries/Performance/QuickPerformanceLogger.js +34 -10
- package/Libraries/Performance/Systrace.d.ts +66 -0
- package/Libraries/Performance/Systrace.js +110 -195
- package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +1 -0
- package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +115 -0
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +5 -4
- package/Libraries/Pressability/Pressability.js +12 -10
- package/Libraries/Pressability/Pressability.windows.js +21 -12
- package/Libraries/Pressability/PressabilityDebug.js +2 -2
- package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +1 -0
- package/Libraries/PushNotificationIOS/PushNotificationIOS.d.ts +275 -0
- package/Libraries/PushNotificationIOS/PushNotificationIOS.js +19 -14
- package/Libraries/ReactNative/AppContainer.js +17 -7
- package/Libraries/ReactNative/AppRegistry.d.ts +68 -0
- package/Libraries/ReactNative/AppRegistry.js +11 -14
- package/Libraries/ReactNative/BridgelessUIManager.js +4 -3
- package/Libraries/ReactNative/FabricUIManager.js +3 -3
- package/Libraries/ReactNative/I18nManager.d.ts +25 -0
- package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +1 -0
- package/Libraries/ReactNative/NativeI18nManager.js +1 -0
- package/Libraries/ReactNative/NativeUIManager.js +1 -0
- package/Libraries/ReactNative/PaperUIManager.js +2 -2
- package/Libraries/ReactNative/PaperUIManager.windows.js +1 -1
- package/Libraries/ReactNative/ReactNativeFeatureFlags.js +9 -0
- package/Libraries/ReactNative/RendererImplementation.js +112 -0
- package/Libraries/ReactNative/RendererProxy.d.ts +20 -0
- package/Libraries/ReactNative/RendererProxy.js +26 -0
- package/Libraries/ReactNative/RootTag.js +0 -1
- package/Libraries/ReactNative/UIManager.d.ts +157 -0
- package/Libraries/ReactNative/UIManager.js +1 -1
- package/Libraries/ReactNative/getCachedComponentWithDebugName.js +1 -0
- package/Libraries/ReactNative/renderApplication.js +38 -20
- package/Libraries/ReactNative/requireNativeComponent.d.ts +23 -0
- package/Libraries/ReactNative/requireNativeComponent.js +2 -2
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +10 -9
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +312 -217
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +212 -177
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +248 -213
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +311 -218
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +226 -196
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +262 -232
- package/Libraries/Renderer/implementations/ReactNativeRenderer.d.ts +149 -0
- package/Libraries/Renderer/shims/ReactFabric.js +2 -2
- package/Libraries/Renderer/shims/ReactFeatureFlags.js +2 -2
- package/Libraries/Renderer/shims/ReactNative.js +2 -2
- package/Libraries/Renderer/shims/ReactNativeTypes.d.ts +141 -0
- package/Libraries/Renderer/shims/ReactNativeTypes.js +23 -22
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +8 -8
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
- package/Libraries/Settings/NativeSettingsManager.js +1 -0
- package/Libraries/Settings/Settings.d.ts +18 -0
- package/Libraries/Share/NativeShareModule.js +1 -0
- package/Libraries/Share/Share.d.ts +80 -0
- package/Libraries/Share/Share.js +7 -5
- package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.d.ts +18 -0
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.d.ts +25 -0
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -0
- package/Libraries/StyleSheet/StyleSheet.d.ts +156 -0
- package/Libraries/StyleSheet/StyleSheet.js +15 -11
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +332 -0
- package/Libraries/StyleSheet/StyleSheetTypes.js +101 -24
- package/Libraries/StyleSheet/__flowtests__/StyleSheet-flowtest.js +2 -2
- package/Libraries/StyleSheet/normalizeColor.js +3 -3
- package/Libraries/StyleSheet/private/_TransformStyle.js +26 -24
- package/Libraries/StyleSheet/processAspectRatio.js +53 -0
- package/Libraries/StyleSheet/processColor.d.ts +16 -0
- package/Libraries/StyleSheet/processColor.js +3 -4
- package/Libraries/StyleSheet/processColorArray.js +1 -0
- package/Libraries/StyleSheet/processFontVariant.js +30 -0
- package/Libraries/StyleSheet/processTransform.js +114 -105
- package/Libraries/StyleSheet/splitLayoutProps.js +5 -0
- package/Libraries/Text/Text.d.ts +209 -0
- package/Libraries/Text/Text.js +94 -12
- package/Libraries/Text/Text.windows.js +87 -11
- package/Libraries/Text/TextNativeComponent.js +49 -41
- package/Libraries/Text/TextProps.js +64 -7
- package/Libraries/TurboModule/RCTExport.d.ts +12 -0
- package/Libraries/TurboModule/TurboModuleRegistry.d.ts +15 -0
- package/Libraries/TurboModule/TurboModuleRegistry.js +3 -1
- package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +1 -0
- package/Libraries/Types/CoreEventTypes.d.ts +263 -0
- package/Libraries/Types/CoreEventTypes.js +2 -1
- package/Libraries/Types/CoreEventTypes.windows.js +2 -1
- package/Libraries/Utilities/AcessibilityMapping.js +154 -0
- package/Libraries/Utilities/Appearance.d.ts +43 -0
- package/Libraries/Utilities/Appearance.js +3 -3
- package/Libraries/Utilities/BackHandler.android.js +3 -5
- package/Libraries/Utilities/BackHandler.d.ts +38 -0
- package/Libraries/Utilities/BackHandler.windows.js +3 -5
- package/Libraries/Utilities/DevSettings.d.ts +32 -0
- package/Libraries/Utilities/DevSettings.js +4 -2
- package/Libraries/Utilities/Dimensions.d.ts +79 -0
- package/Libraries/Utilities/Dimensions.js +2 -2
- package/Libraries/Utilities/GlobalPerformanceLogger.js +2 -1
- package/Libraries/Utilities/HMRClient.js +23 -8
- package/Libraries/Utilities/LoadingView.ios.js +1 -1
- package/Libraries/Utilities/NativeAppearance.js +1 -0
- package/Libraries/Utilities/NativeDevLoadingView.js +1 -0
- package/Libraries/Utilities/NativeDevSplitBundleLoader.js +1 -0
- package/Libraries/Utilities/NativeDeviceInfo.js +1 -0
- package/Libraries/Utilities/NativePlatformConstantsAndroid.js +1 -0
- package/Libraries/Utilities/NativePlatformConstantsIOS.js +1 -0
- package/Libraries/Utilities/NativePlatformConstantsWin.js +1 -0
- package/Libraries/Utilities/PerformanceLoggerContext.js +3 -2
- package/Libraries/Utilities/PixelRatio.d.ts +64 -0
- package/Libraries/Utilities/Platform.android.js +11 -5
- package/Libraries/Utilities/Platform.d.ts +102 -0
- package/Libraries/Utilities/Platform.ios.js +12 -5
- package/Libraries/Utilities/Platform.windows.js +11 -5
- package/Libraries/Utilities/PolyfillFunctions.js +1 -1
- package/Libraries/Utilities/ReactNativeTestTools.js +9 -15
- package/Libraries/Utilities/codegenNativeCommands.js +1 -10
- package/Libraries/Utilities/codegenNativeComponent.js +4 -1
- package/Libraries/Utilities/createPerformanceLogger.js +7 -8
- package/Libraries/Utilities/differ/deepDiffer.js +1 -1
- package/Libraries/Utilities/groupByEveryN.js +1 -1
- package/Libraries/Utilities/stringifySafe.js +3 -1
- package/Libraries/Utilities/useColorScheme.js +3 -2
- package/Libraries/Utilities/useRefEffect.js +1 -1
- package/Libraries/Vibration/NativeVibration.js +1 -0
- package/Libraries/Vibration/Vibration.d.ts +43 -0
- package/Libraries/Vibration/Vibration.js +1 -0
- package/Libraries/WebPerformance/NativePerformanceObserver.js +41 -0
- package/Libraries/WebPerformance/PerformanceObserver.js +223 -0
- package/Libraries/WebSocket/NativeWebSocketModule.js +1 -0
- package/Libraries/WebSocket/WebSocket.js +11 -3
- package/Libraries/WebSocket/WebSocketInterceptor.js +1 -1
- package/Libraries/YellowBox/YellowBoxDeprecated.d.ts +19 -0
- package/Libraries/YellowBox/YellowBoxDeprecated.js +2 -3
- package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +2 -1
- package/Libraries/__tests__/ViewWindows-test.js +16 -0
- package/Libraries/platform-types.d.ts +17 -0
- package/Libraries/vendor/core/ErrorUtils.d.ts +15 -0
- package/Libraries/vendor/emitter/EventEmitter.d.ts +164 -0
- package/Microsoft.ReactNative/ABIViewManager.cpp +19 -1
- package/Microsoft.ReactNative/ABIViewManager.h +9 -0
- package/Microsoft.ReactNative/Base/CoreNativeModules.cpp +0 -22
- package/Microsoft.ReactNative/Base/CoreNativeModules.h +0 -2
- package/Microsoft.ReactNative/CompositionContext.idl +31 -0
- package/Microsoft.ReactNative/CompositionHwndHost.idl +33 -0
- package/Microsoft.ReactNative/CompositionRootView.idl +45 -0
- package/Microsoft.ReactNative/CompositionSwitcher.idl +123 -0
- package/Microsoft.ReactNative/CompositionUIService.idl +24 -0
- package/Microsoft.ReactNative/Fabric/ComponentView.h +10 -0
- package/Microsoft.ReactNative/Fabric/Composition/ComponentViewRegistry.cpp +83 -0
- package/Microsoft.ReactNative/Fabric/{ComponentViewRegistry.h → Composition/ComponentViewRegistry.h} +9 -12
- package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +816 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.h +33 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +833 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +116 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionHelpers.cpp +137 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionHelpers.h +44 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.cpp +145 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.h +49 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.cpp +359 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.h +81 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionUIService.cpp +27 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionUIService.h +23 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +1217 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +113 -0
- package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +332 -0
- package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +90 -0
- package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +415 -0
- package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.h +62 -0
- package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +355 -0
- package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.h +103 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentDescriptor.h +177 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +1076 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +99 -0
- package/Microsoft.ReactNative/Fabric/{TextInput → Composition/TextInput}/WindowsTextInputEventEmitter.cpp +0 -0
- package/Microsoft.ReactNative/Fabric/{TextInput → Composition/TextInput}/WindowsTextInputEventEmitter.h +0 -0
- package/Microsoft.ReactNative/Fabric/{TextInput → Composition/TextInput}/WindowsTextInputProps.cpp +1 -31
- package/Microsoft.ReactNative/Fabric/{TextInput → Composition/TextInput}/WindowsTextInputProps.h +15 -28
- package/Microsoft.ReactNative/Fabric/{TextInput → Composition/TextInput}/WindowsTextInputShadowNode.cpp +16 -14
- package/Microsoft.ReactNative/Fabric/{TextInput → Composition/TextInput}/WindowsTextInputShadowNode.h +3 -3
- package/Microsoft.ReactNative/Fabric/{TextInput → Composition/TextInput}/WindowsTextInputState.cpp +27 -10
- package/Microsoft.ReactNative/Fabric/{TextInput → Composition/TextInput}/WindowsTextInputState.h +5 -16
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +65 -157
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +10 -9
- package/Microsoft.ReactNative/Fabric/IComponentViewRegistry.h +34 -0
- package/Microsoft.ReactNative/Fabric/ImageManager.cpp +5 -7
- package/Microsoft.ReactNative/Fabric/ImageRequest.cpp +23 -8
- package/Microsoft.ReactNative/Fabric/ReactTaggedView.h +35 -0
- package/Microsoft.ReactNative/Fabric/WindowsImageManager.cpp +125 -0
- package/Microsoft.ReactNative/Fabric/WindowsImageManager.h +20 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rncore/States.h +5 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rnwcore/States.h +5 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.cpp +4 -6
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/platform/cxx/react/renderer/graphics/Color.h +17 -0
- package/Microsoft.ReactNative/INativeUIManager.h +1 -1
- package/Microsoft.ReactNative/IReactPackageBuilder.idl +6 -9
- package/Microsoft.ReactNative/IViewManager.idl +14 -0
- package/Microsoft.ReactNative/IViewManagerCore.idl +1 -0
- package/Microsoft.ReactNative/JsiApi.cpp +94 -0
- package/Microsoft.ReactNative/JsiApi.h +13 -0
- package/Microsoft.ReactNative/JsiApi.idl +13 -0
- package/Microsoft.ReactNative/LayoutService.cpp +51 -0
- package/Microsoft.ReactNative/LayoutService.h +32 -0
- package/Microsoft.ReactNative/LayoutService.idl +41 -0
- package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +32 -20
- package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +11 -1
- package/Microsoft.ReactNative/Modules/Animated/AdditionAnimatedNode.cpp +33 -16
- package/Microsoft.ReactNative/Modules/Animated/AdditionAnimatedNode.h +3 -2
- package/Microsoft.ReactNative/Modules/Animated/AnimatedNode.cpp +17 -2
- package/Microsoft.ReactNative/Modules/Animated/AnimatedNode.h +19 -1
- package/Microsoft.ReactNative/Modules/Animated/AnimatedPlatformConfig.cpp +23 -0
- package/Microsoft.ReactNative/Modules/Animated/AnimatedPlatformConfig.h +17 -0
- package/Microsoft.ReactNative/Modules/Animated/AnimationDriver.cpp +49 -18
- package/Microsoft.ReactNative/Modules/Animated/AnimationDriver.h +29 -7
- package/Microsoft.ReactNative/Modules/Animated/AnimationUtils.h +45 -0
- package/Microsoft.ReactNative/Modules/Animated/CalculatedAnimationDriver.cpp +6 -5
- package/Microsoft.ReactNative/Modules/Animated/CalculatedAnimationDriver.h +1 -3
- package/Microsoft.ReactNative/Modules/Animated/DecayAnimationDriver.cpp +31 -5
- package/Microsoft.ReactNative/Modules/Animated/DecayAnimationDriver.h +3 -1
- package/Microsoft.ReactNative/Modules/Animated/DiffClampAnimatedNode.cpp +30 -15
- package/Microsoft.ReactNative/Modules/Animated/DiffClampAnimatedNode.h +4 -2
- package/Microsoft.ReactNative/Modules/Animated/DivisionAnimatedNode.cpp +43 -20
- package/Microsoft.ReactNative/Modules/Animated/DivisionAnimatedNode.h +3 -2
- package/Microsoft.ReactNative/Modules/Animated/EventAnimationDriver.cpp +2 -2
- package/Microsoft.ReactNative/Modules/Animated/EventAnimationDriver.h +1 -1
- package/Microsoft.ReactNative/Modules/Animated/FrameAnimationDriver.cpp +45 -8
- package/Microsoft.ReactNative/Modules/Animated/FrameAnimationDriver.h +7 -2
- package/Microsoft.ReactNative/Modules/Animated/InterpolationAnimatedNode.cpp +76 -38
- package/Microsoft.ReactNative/Modules/Animated/InterpolationAnimatedNode.h +6 -5
- package/Microsoft.ReactNative/Modules/Animated/ModulusAnimatedNode.cpp +25 -13
- package/Microsoft.ReactNative/Modules/Animated/ModulusAnimatedNode.h +4 -2
- package/Microsoft.ReactNative/Modules/Animated/MultiplicationAnimatedNode.cpp +33 -16
- package/Microsoft.ReactNative/Modules/Animated/MultiplicationAnimatedNode.h +3 -2
- package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedModule.cpp +245 -209
- package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedModule.h +91 -41
- package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.cpp +336 -82
- package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.h +33 -10
- package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.cpp +185 -57
- package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.h +28 -5
- package/Microsoft.ReactNative/Modules/Animated/SpringAnimationDriver.cpp +72 -20
- package/Microsoft.ReactNative/Modules/Animated/SpringAnimationDriver.h +8 -4
- package/Microsoft.ReactNative/Modules/Animated/StyleAnimatedNode.cpp +20 -5
- package/Microsoft.ReactNative/Modules/Animated/StyleAnimatedNode.h +3 -2
- package/Microsoft.ReactNative/Modules/Animated/SubtractionAnimatedNode.cpp +42 -20
- package/Microsoft.ReactNative/Modules/Animated/SubtractionAnimatedNode.h +3 -1
- package/Microsoft.ReactNative/Modules/Animated/TrackingAnimatedNode.cpp +20 -11
- package/Microsoft.ReactNative/Modules/Animated/TrackingAnimatedNode.h +5 -6
- package/Microsoft.ReactNative/Modules/Animated/TransformAnimatedNode.cpp +36 -9
- package/Microsoft.ReactNative/Modules/Animated/TransformAnimatedNode.h +5 -2
- package/Microsoft.ReactNative/Modules/Animated/ValueAnimatedNode.cpp +60 -32
- package/Microsoft.ReactNative/Modules/Animated/ValueAnimatedNode.h +11 -4
- package/Microsoft.ReactNative/Modules/AppearanceModule.cpp +58 -37
- package/Microsoft.ReactNative/Modules/AppearanceModule.h +25 -32
- package/Microsoft.ReactNative/Modules/DeviceInfoModule.cpp +3 -1
- package/Microsoft.ReactNative/Modules/ImageViewManagerModule.cpp +42 -10
- package/Microsoft.ReactNative/Modules/LogBoxModule.cpp +157 -39
- package/Microsoft.ReactNative/Modules/LogBoxModule.h +6 -0
- package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +72 -85
- package/Microsoft.ReactNative/Modules/NativeUIManager.h +8 -4
- package/Microsoft.ReactNative/Modules/PaperUIManagerModule.cpp +7 -19
- package/Microsoft.ReactNative/Modules/PaperUIManagerModule.h +1 -0
- package/Microsoft.ReactNative/Modules/TimingModule.cpp +48 -87
- package/Microsoft.ReactNative/Modules/TimingModule.h +20 -30
- package/Microsoft.ReactNative/QuirkSettings.cpp +22 -0
- package/Microsoft.ReactNative/QuirkSettings.h +9 -0
- package/Microsoft.ReactNative/QuirkSettings.idl +7 -0
- package/Microsoft.ReactNative/ReactCoreInjection.cpp +7 -2
- package/Microsoft.ReactNative/ReactCoreInjection.h +4 -1
- package/Microsoft.ReactNative/ReactCoreInjection.idl +4 -1
- package/Microsoft.ReactNative/ReactHost/React.h +0 -3
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +28 -23
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +0 -3
- package/Microsoft.ReactNative/ReactNativeHost.cpp +2 -1
- package/Microsoft.ReactNative/ReactPackageBuilder.cpp +8 -3
- package/Microsoft.ReactNative/ReactPackageBuilder.h +4 -3
- package/Microsoft.ReactNative/ReactRootView.cpp +3 -75
- package/Microsoft.ReactNative/ReactRootView.h +0 -6
- package/Microsoft.ReactNative/ReactRootView.idl +1 -9
- package/Microsoft.ReactNative/RedBox.cpp +69 -8
- package/Microsoft.ReactNative/RedBox.h +2 -0
- package/Microsoft.ReactNative/RedBoxHandler.cpp +3 -1
- package/Microsoft.ReactNative/Utils/Helpers.cpp +13 -0
- package/Microsoft.ReactNative/Utils/Helpers.h +1 -0
- package/Microsoft.ReactNative/Utils/ImageUtils.cpp +94 -0
- package/Microsoft.ReactNative/Utils/ImageUtils.h +35 -0
- package/Microsoft.ReactNative/Utils/LocalBundleReader.cpp +3 -2
- package/Microsoft.ReactNative/Utils/PropertyUtils.h +31 -9
- package/Microsoft.ReactNative/Views/ControlViewManager.cpp +19 -0
- package/Microsoft.ReactNative/Views/ControlViewManager.h +7 -0
- package/Microsoft.ReactNative/Views/FlyoutViewManager.cpp +8 -4
- package/Microsoft.ReactNative/Views/ICompositionRootView.h +19 -0
- package/Microsoft.ReactNative/Views/Image/ImageViewManager.cpp +14 -0
- package/Microsoft.ReactNative/Views/Image/ImageViewManager.h +7 -0
- package/Microsoft.ReactNative/Views/Image/ReactImage.cpp +8 -76
- package/Microsoft.ReactNative/Views/Image/ReactImage.h +1 -23
- package/Microsoft.ReactNative/Views/KeyboardEventHandler.cpp +16 -3
- package/Microsoft.ReactNative/Views/PopupViewManager.cpp +1 -2
- package/Microsoft.ReactNative/Views/ScrollViewManager.cpp +1 -3
- package/Microsoft.ReactNative/Views/ShadowNodeBase.h +10 -1
- package/Microsoft.ReactNative/Views/ShadowNodeRegistry.cpp +0 -12
- package/Microsoft.ReactNative/Views/ShadowNodeRegistry.h +2 -4
- package/Microsoft.ReactNative/Views/Text/TextPropertyChangedParentVisitor.cpp +1 -7
- package/Microsoft.ReactNative/Views/TextInputViewManager.cpp +58 -42
- package/Microsoft.ReactNative/Views/TextViewManager.cpp +47 -31
- package/Microsoft.ReactNative/Views/TextViewManager.h +2 -0
- package/Microsoft.ReactNative/Views/TouchEventHandler.cpp +22 -247
- package/Microsoft.ReactNative/Views/TouchEventHandler.h +1 -6
- package/Microsoft.ReactNative/Views/ViewControl.cpp +2 -2
- package/Microsoft.ReactNative/Views/ViewControl.h +1 -1
- package/Microsoft.ReactNative/Views/ViewManagerBase.cpp +25 -13
- package/Microsoft.ReactNative/Views/ViewManagerBase.h +4 -0
- package/Microsoft.ReactNative/Views/ViewViewManager.cpp +74 -35
- package/Microsoft.ReactNative/Views/ViewViewManager.h +1 -0
- package/Microsoft.ReactNative/Views/cppwinrt/ViewPanel.idl +4 -4
- package/Microsoft.ReactNative/XamlHelper.cpp +13 -0
- package/Microsoft.ReactNative/XamlHelper.h +4 -0
- package/Microsoft.ReactNative/XamlHelper.idl +9 -0
- package/Microsoft.ReactNative/XamlUIService.cpp +16 -0
- package/Microsoft.ReactNative/XamlUIService.h +2 -0
- package/Microsoft.ReactNative/XamlUIService.idl +4 -0
- package/Microsoft.ReactNative/XamlView.cpp +10 -0
- package/Microsoft.ReactNative/XamlView.h +7 -2
- package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.cpp +76 -0
- package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.h +13 -0
- package/Microsoft.ReactNative.Cxx/JSI/NodeApiJsiRuntime.cpp +71 -2
- package/Microsoft.ReactNative.Cxx/JSI/NodeApiJsiRuntime.h +3 -3
- package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +1 -2
- package/Microsoft.ReactNative.Cxx/ModuleRegistration.cpp +14 -4
- package/Microsoft.ReactNative.Cxx/ModuleRegistration.h +5 -2
- package/Microsoft.ReactNative.Cxx/NamespaceRedirect.h +2 -0
- package/Microsoft.ReactNative.Cxx/TurboModuleProvider.h +1 -2
- package/Microsoft.ReactNative.Managed/IReactPromise.cs +0 -20
- package/Microsoft.ReactNative.Managed/JSValue.cs +1 -1
- package/Microsoft.ReactNative.Managed/JSValueReader.cs +438 -444
- package/Microsoft.ReactNative.Managed/JSValueWriter.cs +8 -7
- package/Microsoft.ReactNative.Managed/Microsoft.ReactNative.Managed.csproj +22 -7
- package/Microsoft.ReactNative.Managed/ReactAttributes.cs +16 -0
- package/Microsoft.ReactNative.Managed/ReactConstantProvider.cs +5 -0
- package/Microsoft.ReactNative.Managed/ReactContext.cs +19 -2
- package/Microsoft.ReactNative.Managed/ReactDispatcher.cs +34 -0
- package/Microsoft.ReactNative.Managed/ReactError.cs +36 -0
- package/Microsoft.ReactNative.Managed/ReactNotificationArgsOf.cs +23 -0
- package/Microsoft.ReactNative.Managed/ReactNotificationHandlerOf.cs +7 -0
- package/Microsoft.ReactNative.Managed/ReactNotificationIdOf.cs +44 -0
- package/Microsoft.ReactNative.Managed/ReactNotificationService.cs +146 -0
- package/Microsoft.ReactNative.Managed/ReactNotificationSubscription.cs +43 -0
- package/Microsoft.ReactNative.Managed/ReactNotificationSubscriptionRevoker.cs +64 -0
- package/Microsoft.ReactNative.Managed/ReactPromise.cs +123 -81
- package/Microsoft.ReactNative.Managed/ReactPropertyBag.cs +91 -0
- package/Microsoft.ReactNative.Managed/ReactPropertyIdOf.cs +44 -0
- package/Microsoft.ReactNative.Managed/ReactPropertyName.cs +39 -0
- package/Microsoft.ReactNative.Managed/ReactPropertyNamespace.cs +26 -0
- package/Microsoft.ReactNative.Managed/ReactSettingsSnapshot.cs +44 -0
- package/Microsoft.ReactNative.Managed/ReactTaskExtensions.cs +15 -4
- package/Microsoft.ReactNative.Managed/packages.lock.json +51 -2
- package/Microsoft.ReactNative.Managed.CodeGen/App.cs +1 -1
- package/Microsoft.ReactNative.Managed.CodeGen/CodeAnalyzer.cs +793 -731
- package/Microsoft.ReactNative.Managed.CodeGen/CodeGenerator.Module.cs +81 -44
- package/Microsoft.ReactNative.Managed.CodeGen/CodeGenerator.Serializers.cs +57 -18
- package/Microsoft.ReactNative.Managed.CodeGen/DiagnosticDescriptors.cs +36 -4
- package/Microsoft.ReactNative.Managed.CodeGen/Microsoft.ReactNative.Managed.CodeGen.csproj +5 -5
- package/Microsoft.ReactNative.Managed.CodeGen/Model/ReactAssembly.cs +3 -3
- package/Microsoft.ReactNative.Managed.CodeGen/Model/ReactGetConstants.cs +17 -0
- package/Microsoft.ReactNative.Managed.CodeGen/Model/ReactMethod.cs +11 -2
- package/Microsoft.ReactNative.Managed.CodeGen/Model/ReactModule.cs +2 -0
- package/Microsoft.ReactNative.Managed.CodeGen/Model/ReactTypes.cs +10 -4
- package/Microsoft.ReactNative.Managed.CodeGen/Properties/PublishProfiles/DeployAsTool-Debug.pubxml +1 -1
- package/Microsoft.ReactNative.Managed.CodeGen/Properties/PublishProfiles/DeployAsTool-Release.pubxml +1 -1
- package/Microsoft.ReactNative.Managed.CodeGen/ReactNativeNames.cs +29 -3
- package/Microsoft.ReactNative.Managed.CodeGen/SyntaxHelpers.cs +6 -0
- package/Mso/smartPtr/cntPtr.h +21 -21
- package/PropertySheets/Codegen.props +15 -0
- package/PropertySheets/Codegen.targets +19 -0
- package/PropertySheets/CppAppConsumeCSharpModule.props +3 -0
- package/PropertySheets/External/Microsoft.ReactNative.CSharp.Dependencies.props +17 -0
- package/PropertySheets/External/Microsoft.ReactNative.Common.props +3 -0
- package/PropertySheets/External/Microsoft.ReactNative.Cpp.ProjectReferences.props +0 -3
- package/PropertySheets/External/Microsoft.ReactNative.Uwp.CSharpApp.props +1 -0
- package/PropertySheets/External/Microsoft.ReactNative.Uwp.CSharpApp.targets +3 -0
- package/PropertySheets/External/Microsoft.ReactNative.Uwp.CSharpLib.targets +1 -0
- package/PropertySheets/External/Microsoft.ReactNative.Uwp.CppApp.props +1 -0
- package/PropertySheets/External/Microsoft.ReactNative.Uwp.CppApp.targets +3 -0
- package/PropertySheets/External/Microsoft.ReactNative.Uwp.CppLib.targets +1 -0
- package/PropertySheets/External/Microsoft.ReactNative.WinAppSDK.CSharp.PackageReferences.props +11 -0
- package/PropertySheets/External/Microsoft.ReactNative.WinAppSDK.CSharpApp.props +1 -0
- package/PropertySheets/External/Microsoft.ReactNative.WinAppSDK.CSharpApp.targets +51 -0
- package/PropertySheets/External/Microsoft.ReactNative.WindowsSdk.Default.props +10 -1
- package/PropertySheets/Generated/PackageVersion.g.props +3 -3
- package/PropertySheets/JSEngine.props +10 -3
- package/PropertySheets/ManagedCodeGen/Microsoft.ReactNative.Managed.CodeGen.targets +1 -1
- package/PropertySheets/NewAPIDeclarations.props +25 -0
- package/PropertySheets/React.Cpp.props +2 -2
- package/PropertySheets/WinUI.props +1 -1
- package/README.md +2 -2
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/ConcreteComponentDescriptor.h +2 -1
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mapbuffer/MapBufferBuilder.cpp +182 -0
- package/ReactCommon/Yoga.cpp +76 -29
- package/Scripts/IntegrationTests.ps1 +1 -1
- package/Scripts/JustMyXaml.ps1 +8 -8
- package/Scripts/Microsoft.ReactNative.Managed.nuspec +1 -1
- package/Scripts/Microsoft.ReactNative.WindowsAppSDK.nuspec +3 -3
- package/Scripts/OfficeReact.Win32.nuspec +2 -0
- package/Scripts/Tfs/Layout-Desktop-Headers.ps1 +31 -1
- package/Scripts/UnitTest.ps1 +1 -1
- package/Scripts/rnw-dependencies.ps1 +317 -162
- package/Shared/Composition/CompositionSwitcher.interop.h +39 -0
- package/Shared/HermesShim.h +1 -1
- package/Shared/JSI/ChakraRuntime.cpp +42 -0
- package/Shared/JSI/ChakraRuntime.h +13 -0
- package/Shared/JSI/NapiJsiV8RuntimeHolder.h +0 -2
- package/Shared/Networking/IWebSocketResource.h +1 -0
- package/Shared/Networking/OriginPolicyHttpFilter.cpp +6 -6
- package/Shared/OInstance.cpp +2 -0
- package/Shared/Shared.vcxitems +34 -4
- package/Shared/Shared.vcxitems.filters +1 -12
- package/Shared/V8JSIRuntimeHolder.h +0 -2
- package/codegen/NativeAccessibilityInfoSpec.g.h +12 -12
- package/codegen/NativeAccessibilityManagerSpec.g.h +37 -31
- package/codegen/NativeActionSheetManagerSpec.g.h +6 -6
- package/codegen/NativeAlertManagerSpec.g.h +4 -2
- package/codegen/NativeAnimatedModuleSpec.g.h +48 -48
- package/codegen/NativeAnimatedTurboModuleSpec.g.h +48 -48
- package/codegen/NativeAnimationsDebugModuleSpec.g.h +4 -4
- package/codegen/NativeAppStateSpec.g.h +6 -6
- package/codegen/NativeAppearanceSpec.g.h +6 -6
- package/codegen/NativeBlobModuleSpec.g.h +12 -12
- package/codegen/NativeBugReportingSpec.g.h +6 -6
- package/codegen/NativeClipboardSpec.g.h +4 -4
- package/codegen/NativeDatePickerAndroidSpec.g.h +2 -2
- package/codegen/NativeDevLoadingViewSpec.g.h +4 -4
- package/codegen/NativeDevMenuSpec.g.h +10 -10
- package/codegen/NativeDevSettingsSpec.g.h +22 -22
- package/codegen/NativeDevSplitBundleLoaderSpec.g.h +2 -2
- package/codegen/NativeDeviceEventManagerSpec.g.h +2 -2
- package/codegen/NativeDialogManagerAndroidSpec.g.h +2 -2
- package/codegen/NativeDialogManagerWindowsSpec.g.h +2 -2
- package/codegen/NativeExceptionsManagerSpec.g.h +10 -10
- package/codegen/NativeFileReaderModuleSpec.g.h +4 -4
- package/codegen/NativeFrameRateLoggerSpec.g.h +8 -8
- package/codegen/NativeHeadlessJsTaskSupportSpec.g.h +4 -4
- package/codegen/NativeI18nManagerSpec.g.h +6 -6
- package/codegen/NativeImageEditorSpec.g.h +2 -2
- package/codegen/NativeImageLoaderAndroidSpec.g.h +10 -10
- package/codegen/NativeImageLoaderIOSSpec.g.h +10 -10
- package/codegen/NativeImageStoreAndroidSpec.g.h +2 -2
- package/codegen/NativeImageStoreIOSSpec.g.h +8 -8
- package/codegen/NativeIntentAndroidSpec.g.h +10 -10
- package/codegen/NativeJSCHeapCaptureSpec.g.h +2 -2
- package/codegen/NativeJSCSamplingProfilerSpec.g.h +2 -2
- package/codegen/NativeKeyboardObserverSpec.g.h +4 -4
- package/codegen/NativeLinkingManagerSpec.g.h +12 -12
- package/codegen/NativeLogBoxSpec.g.h +4 -4
- package/codegen/NativeModalManagerSpec.g.h +4 -4
- package/codegen/NativeNetworkingAndroidSpec.g.h +10 -10
- package/codegen/NativeNetworkingIOSSpec.g.h +10 -10
- package/codegen/NativePerformanceObserverSpec.g.h +69 -0
- package/codegen/NativePermissionsAndroidSpec.g.h +8 -8
- package/codegen/NativePlatformConstantsAndroidSpec.g.h +2 -2
- package/codegen/NativePushNotificationManagerIOSSpec.g.h +36 -36
- package/codegen/NativeRedBoxSpec.g.h +4 -4
- package/codegen/NativeSampleTurboModuleSpec.g.h +22 -22
- package/codegen/NativeSegmentFetcherSpec.g.h +4 -4
- package/codegen/NativeSettingsManagerSpec.g.h +4 -4
- package/codegen/NativeShareModuleSpec.g.h +2 -2
- package/codegen/NativeSoundManagerSpec.g.h +2 -2
- package/codegen/NativeStatusBarManagerAndroidSpec.g.h +8 -8
- package/codegen/NativeStatusBarManagerIOSSpec.g.h +12 -12
- package/codegen/NativeTimingSpec.g.h +6 -6
- package/codegen/NativeToastAndroidSpec.g.h +6 -6
- package/codegen/NativeUIManagerSpec.g.h +50 -50
- package/codegen/NativeVibrationSpec.g.h +6 -6
- package/codegen/NativeWebSocketModuleSpec.g.h +14 -14
- package/codegen/react/components/rnwcore/ComponentDescriptors.h +3 -4
- package/codegen/react/components/rnwcore/EventEmitters.cpp +5 -4
- package/codegen/react/components/rnwcore/EventEmitters.h +21 -26
- package/codegen/react/components/rnwcore/Props.cpp +3 -10
- package/codegen/react/components/rnwcore/Props.h +19 -28
- package/codegen/react/components/rnwcore/ShadowNodes.cpp +3 -4
- package/codegen/react/components/rnwcore/ShadowNodes.h +36 -30
- package/codegen/react/components/rnwcore/States.cpp +18 -0
- package/codegen/react/components/rnwcore/States.h +156 -0
- package/codegen/rnwcoreJSI-generated.cpp +1670 -0
- package/codegen/rnwcoreJSI.h +5620 -0
- package/fmt/cgmanifest.json +1 -0
- package/fmt/fmt.vcxproj +2 -1
- package/index.js +89 -55
- package/index.windows.js +89 -55
- package/interface.js +8 -0
- package/jest/react-native-env.js +18 -0
- package/jest/renderer.js +2 -2
- package/jest/setup.js +7 -9
- package/just-task.js +5 -1
- package/package.json +37 -37
- package/template/cpp-app/proj/MyApp.sln +2 -2
- package/template/cpp-app/proj/MyApp.vcxproj +3 -3
- package/template/cpp-app/src/ReactPackageProvider.cpp +1 -1
- package/template/cpp-lib/proj/MyLib.sln +2 -2
- package/template/cpp-lib/proj/MyLib.vcxproj +3 -3
- package/template/cpp-lib/src/ReactPackageProvider.cpp +1 -1
- package/template/cs-app/proj/MyApp.csproj +10 -8
- package/template/cs-app/proj/MyApp.sln +2 -2
- package/template/cs-app-WinAppSDK/MyApp/App.xaml.cs +3 -3
- package/template/cs-app-WinAppSDK/proj/ExperimentalFeatures.props +2 -1
- package/template/cs-app-WinAppSDK/proj/MyApp.csproj +19 -15
- package/template/cs-app-WinAppSDK/proj/MyApp.sln +2 -2
- package/template/cs-lib/proj/MyLib.csproj +14 -8
- package/template/cs-lib/proj/MyLib.sln +2 -2
- package/template/shared-app/proj/ExperimentalFeatures.props +2 -0
- package/template/shared-lib/proj/ExperimentalFeatures.props +2 -0
- package/Libraries/Components/MaskedView/MaskedViewIOS.ios.js +0 -93
- package/Libraries/Components/MaskedView/MaskedViewIOS.windows.js +0 -9
- package/Libraries/Components/MaskedView/RCTMaskedViewNativeComponent.js +0 -21
- package/Libraries/Core/setUpSystrace.js +0 -21
- package/Libraries/Image/ImagePickerIOS.js +0 -103
- package/Libraries/Image/NativeImagePickerIOS.js +0 -38
- package/Libraries/Lists/VirtualizedList.windows.js +0 -9
- package/Libraries/Lists/__tests__/CellRenderMask-test.js +0 -179
- package/Libraries/Lists/__tests__/FillRateHelper-test.js +0 -120
- package/Libraries/Lists/__tests__/FlatList-test.js +0 -155
- package/Libraries/Lists/__tests__/SectionList-test.js +0 -109
- package/Libraries/Lists/__tests__/ViewabilityHelper-test.js +0 -440
- package/Libraries/Lists/__tests__/VirtualizeUtils-test.js +0 -91
- package/Libraries/Lists/__tests__/VirtualizedList-test.js +0 -1587
- package/Libraries/Lists/__tests__/VirtualizedSectionList-test.js +0 -269
- package/Libraries/Storage/AsyncStorage.js +0 -385
- package/Libraries/Storage/NativeAsyncLocalStorage.js +0 -44
- package/Libraries/Storage/NativeAsyncSQLiteDBStorage.js +0 -44
- package/Libraries/StyleSheet/processTransform.windows.js +0 -274
- package/Libraries/Utilities/JSDevSupportModule.js +0 -37
- package/Libraries/Utilities/NativeJSDevSupport.js +0 -23
- package/Microsoft.ReactNative/Fabric/ActivityIndicatorComponentView.cpp +0 -81
- package/Microsoft.ReactNative/Fabric/ActivityIndicatorComponentView.h +0 -46
- package/Microsoft.ReactNative/Fabric/ComponentViewRegistry.cpp +0 -118
- package/Microsoft.ReactNative/Fabric/ImageComponentView.cpp +0 -138
- package/Microsoft.ReactNative/Fabric/ImageComponentView.h +0 -49
- package/Microsoft.ReactNative/Fabric/ParagraphComponentView.cpp +0 -160
- package/Microsoft.ReactNative/Fabric/ParagraphComponentView.h +0 -40
- package/Microsoft.ReactNative/Fabric/ScrollViewComponentView.cpp +0 -200
- package/Microsoft.ReactNative/Fabric/ScrollViewComponentView.h +0 -62
- package/Microsoft.ReactNative/Fabric/SliderComponentView.cpp +0 -107
- package/Microsoft.ReactNative/Fabric/SliderComponentView.h +0 -51
- package/Microsoft.ReactNative/Fabric/SwitchComponentView.cpp +0 -109
- package/Microsoft.ReactNative/Fabric/SwitchComponentView.h +0 -52
- package/Microsoft.ReactNative/Fabric/TextComponentView.cpp +0 -98
- package/Microsoft.ReactNative/Fabric/TextComponentView.h +0 -39
- package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputComponentDescriptor.h +0 -197
- package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputComponentView.cpp +0 -308
- package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputComponentView.h +0 -52
- package/Microsoft.ReactNative/Fabric/ViewComponentView.cpp +0 -229
- package/Microsoft.ReactNative/Fabric/ViewComponentView.h +0 -56
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/slider/SliderMeasurementsManager.cpp +0 -46
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/slider/SliderMeasurementsManager.h +0 -30
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSExecutor.h +0 -145
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/NativeToJsBridge.cpp +0 -344
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/BaseTextProps.cpp +0 -313
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewProps.cpp +0 -455
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/PropsMacros.h +0 -91
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/CompactValue.h +0 -206
- package/codegen/NativeAsyncLocalStorageSpec.g.h +0 -111
- package/codegen/NativeAsyncSQLiteDBStorageSpec.g.h +0 -111
- package/codegen/NativeImagePickerIOSSpec.g.h +0 -79
- package/codegen/NativeJSDevSupportSpec.g.h +0 -57
- package/rntypes/BatchedBridge.d.ts +0 -23
- package/rntypes/Devtools.d.ts +0 -20
- package/rntypes/LaunchScreen.d.ts +0 -9
- package/rntypes/globals.d.ts +0 -497
- package/rntypes/index.d.ts +0 -9754
- package/rntypes/legacy-properties.d.ts +0 -238
- package/typings-index.d.ts +0 -19
- package/typings-index.js +0 -44
- package/typings-index.js.map +0 -1
|
@@ -46,7 +46,7 @@ class ViewShadowNode : public ShadowNodeBase {
|
|
|
46
46
|
void createView(const winrt::Microsoft::ReactNative::JSValueObject &props) override {
|
|
47
47
|
Super::createView(props);
|
|
48
48
|
|
|
49
|
-
auto panel =
|
|
49
|
+
auto panel = GetPanel();
|
|
50
50
|
|
|
51
51
|
DynamicAutomationProperties::SetAccessibilityInvokeEventHandler(panel, [=]() {
|
|
52
52
|
if (OnClick())
|
|
@@ -126,9 +126,6 @@ class ViewShadowNode : public ShadowNodeBase {
|
|
|
126
126
|
}
|
|
127
127
|
void IsFocusable(bool isFocusable) {
|
|
128
128
|
m_isFocusable = isFocusable;
|
|
129
|
-
|
|
130
|
-
if (IsControl())
|
|
131
|
-
GetControl().IsTabStop(m_isFocusable);
|
|
132
129
|
}
|
|
133
130
|
|
|
134
131
|
bool IsAccessible() const {
|
|
@@ -153,16 +150,16 @@ class ViewShadowNode : public ShadowNodeBase {
|
|
|
153
150
|
Microsoft::Common::Unicode::Utf16ToUtf8(name.c_str()));
|
|
154
151
|
}
|
|
155
152
|
|
|
156
|
-
|
|
153
|
+
GetPanel().Children().InsertAt(static_cast<uint32_t>(index), view.as<xaml::UIElement>());
|
|
157
154
|
}
|
|
158
155
|
|
|
159
156
|
void RemoveChildAt(int64_t indexToRemove) override {
|
|
160
157
|
if (indexToRemove == static_cast<uint32_t>(indexToRemove))
|
|
161
|
-
|
|
158
|
+
GetPanel().Children().RemoveAt(static_cast<uint32_t>(indexToRemove));
|
|
162
159
|
}
|
|
163
160
|
|
|
164
161
|
void removeAllChildren() override {
|
|
165
|
-
|
|
162
|
+
GetPanel().Children().Clear();
|
|
166
163
|
|
|
167
164
|
XamlView current = m_view;
|
|
168
165
|
|
|
@@ -186,12 +183,12 @@ class ViewShadowNode : public ShadowNodeBase {
|
|
|
186
183
|
}
|
|
187
184
|
|
|
188
185
|
void ReplaceChild(const XamlView &oldChildView, const XamlView &newChildView) override {
|
|
189
|
-
auto pPanel =
|
|
186
|
+
auto pPanel = GetPanel();
|
|
190
187
|
if (pPanel != nullptr) {
|
|
191
188
|
uint32_t index;
|
|
192
189
|
if (pPanel.Children().IndexOf(oldChildView.as<xaml::UIElement>(), index)) {
|
|
193
|
-
pPanel.RemoveAt(index);
|
|
194
|
-
pPanel.InsertAt(index, newChildView.as<xaml::UIElement>());
|
|
190
|
+
pPanel.Children().RemoveAt(index);
|
|
191
|
+
pPanel.Children().InsertAt(index, newChildView.as<xaml::UIElement>());
|
|
195
192
|
} else {
|
|
196
193
|
assert(false);
|
|
197
194
|
}
|
|
@@ -207,7 +204,7 @@ class ViewShadowNode : public ShadowNodeBase {
|
|
|
207
204
|
static_cast<FrameworkElementViewManager *>(GetViewManager())->RefreshTransformMatrix(this);
|
|
208
205
|
}
|
|
209
206
|
|
|
210
|
-
|
|
207
|
+
xaml::Controls::Panel GetPanel() {
|
|
211
208
|
XamlView current = m_view;
|
|
212
209
|
|
|
213
210
|
if (IsControl()) {
|
|
@@ -222,7 +219,7 @@ class ViewShadowNode : public ShadowNodeBase {
|
|
|
222
219
|
}
|
|
223
220
|
}
|
|
224
221
|
|
|
225
|
-
auto panel = current.try_as<
|
|
222
|
+
auto panel = current.try_as<xaml::Controls::Panel>();
|
|
226
223
|
assert(panel != nullptr);
|
|
227
224
|
|
|
228
225
|
return panel;
|
|
@@ -402,41 +399,57 @@ bool ViewViewManager::UpdateProperty(
|
|
|
402
399
|
const winrt::Microsoft::ReactNative::JSValue &propertyValue) {
|
|
403
400
|
auto *pViewShadowNode = static_cast<ViewShadowNode *>(nodeToUpdate);
|
|
404
401
|
|
|
405
|
-
auto pPanel = pViewShadowNode->
|
|
402
|
+
auto pPanel = pViewShadowNode->GetPanel().as<winrt::Microsoft::ReactNative::ViewPanel>();
|
|
406
403
|
bool ret = true;
|
|
407
404
|
if (pPanel != nullptr) {
|
|
408
405
|
if (TryUpdateBackgroundBrush(pPanel, propertyName, propertyValue)) {
|
|
409
406
|
} else if (TryUpdateBorderProperties(nodeToUpdate, pPanel, propertyName, propertyValue)) {
|
|
410
407
|
} else if (TryUpdateCornerRadiusOnNode(nodeToUpdate, pPanel, propertyName, propertyValue)) {
|
|
411
|
-
|
|
408
|
+
// Do not clamp until a size has been set for the View
|
|
409
|
+
auto maxCornerRadius = std::numeric_limits<double>::max();
|
|
410
|
+
// The Width and Height properties are not always set on ViewPanel. In
|
|
411
|
+
// cases where it is embedded in a Control or outer Border, the values
|
|
412
|
+
// dimensions are set on those wrapper elements. We cannot depend on the
|
|
413
|
+
// default behavior of `UpdateCornerRadiusOnElement` to check for the
|
|
414
|
+
// clamp dimension from only the ViewPanel.
|
|
415
|
+
const xaml::FrameworkElement sizingElement = pViewShadowNode->IsControl() ? pViewShadowNode->GetControl()
|
|
416
|
+
: pViewShadowNode->HasOuterBorder() ? pPanel.GetOuterBorder().as<xaml::FrameworkElement>()
|
|
417
|
+
: pPanel;
|
|
418
|
+
if (sizingElement.ReadLocalValue(xaml::FrameworkElement::WidthProperty()) !=
|
|
419
|
+
xaml::DependencyProperty::UnsetValue() &&
|
|
420
|
+
sizingElement.ReadLocalValue(xaml::FrameworkElement::HeightProperty()) !=
|
|
421
|
+
xaml::DependencyProperty::UnsetValue()) {
|
|
422
|
+
maxCornerRadius = std::min(sizingElement.Width(), sizingElement.Height()) / 2;
|
|
423
|
+
}
|
|
424
|
+
UpdateCornerRadiusOnElement(nodeToUpdate, pPanel, maxCornerRadius);
|
|
412
425
|
} else if (TryUpdateMouseEvents(nodeToUpdate, propertyName, propertyValue)) {
|
|
413
426
|
} else if (propertyName == "onClick") {
|
|
414
|
-
pViewShadowNode->OnClick(
|
|
427
|
+
pViewShadowNode->OnClick(propertyValue.AsBoolean());
|
|
415
428
|
} else if (propertyName == "overflow") {
|
|
416
429
|
if (propertyValue.Type() == winrt::Microsoft::ReactNative::JSValueType::String) {
|
|
417
430
|
bool clipChildren = propertyValue.AsString() == "hidden";
|
|
418
431
|
pPanel.ClipChildren(clipChildren);
|
|
419
432
|
}
|
|
420
433
|
} else if (propertyName == "focusable") {
|
|
421
|
-
|
|
422
|
-
pViewShadowNode->IsFocusable(propertyValue.AsBoolean());
|
|
434
|
+
pViewShadowNode->IsFocusable(propertyValue.AsBoolean());
|
|
423
435
|
} else if (propertyName == "enableFocusRing") {
|
|
424
|
-
|
|
425
|
-
pViewShadowNode->EnableFocusRing(propertyValue.AsBoolean());
|
|
426
|
-
else if (propertyValue.IsNull())
|
|
427
|
-
pViewShadowNode->EnableFocusRing(false);
|
|
436
|
+
pViewShadowNode->EnableFocusRing(propertyValue.AsBoolean());
|
|
428
437
|
} else if (propertyName == "tabIndex") {
|
|
429
|
-
auto
|
|
430
|
-
if (
|
|
431
|
-
|
|
432
|
-
|
|
438
|
+
auto resetTabIndex = true;
|
|
439
|
+
if (propertyValue.Type() == winrt::Microsoft::ReactNative::JSValueType::Int64 ||
|
|
440
|
+
propertyValue.Type() == winrt::Microsoft::ReactNative::JSValueType::Double) {
|
|
441
|
+
const auto tabIndex = propertyValue.AsInt64();
|
|
442
|
+
if (tabIndex == static_cast<int32_t>(tabIndex)) {
|
|
443
|
+
pViewShadowNode->TabIndex(static_cast<int32_t>(tabIndex));
|
|
444
|
+
resetTabIndex = false;
|
|
445
|
+
}
|
|
446
|
+
}
|
|
447
|
+
if (resetTabIndex) {
|
|
433
448
|
pViewShadowNode->TabIndex(std::numeric_limits<std::int32_t>::max());
|
|
434
449
|
}
|
|
435
450
|
} else {
|
|
436
451
|
if (propertyName == "accessible") {
|
|
437
|
-
|
|
438
|
-
pViewShadowNode->IsAccessible(propertyValue.AsBoolean());
|
|
439
|
-
}
|
|
452
|
+
pViewShadowNode->IsAccessible(propertyValue.AsBoolean());
|
|
440
453
|
}
|
|
441
454
|
ret = Super::UpdateProperty(nodeToUpdate, propertyName, propertyValue);
|
|
442
455
|
}
|
|
@@ -447,7 +460,7 @@ bool ViewViewManager::UpdateProperty(
|
|
|
447
460
|
|
|
448
461
|
void ViewViewManager::OnPropertiesUpdated(ShadowNodeBase *node) {
|
|
449
462
|
auto *viewShadowNode = static_cast<ViewShadowNode *>(node);
|
|
450
|
-
auto panel = viewShadowNode->
|
|
463
|
+
auto panel = viewShadowNode->GetPanel().as<winrt::Microsoft::ReactNative::ViewPanel>();
|
|
451
464
|
|
|
452
465
|
if (panel.ReadLocalValue(ViewPanel::ViewBackgroundProperty()) == xaml::DependencyProperty::UnsetValue()) {
|
|
453
466
|
// In XAML, a null background means no hit-test will happen.
|
|
@@ -461,7 +474,10 @@ void ViewViewManager::OnPropertiesUpdated(ShadowNodeBase *node) {
|
|
|
461
474
|
// keep it around, so not adding that code (yet).
|
|
462
475
|
}
|
|
463
476
|
|
|
464
|
-
|
|
477
|
+
// If component is focusable, it should be a ViewControl.
|
|
478
|
+
// If component is a View with accessible set to true, the component should be focusable, thus we need a ViewControl.
|
|
479
|
+
bool shouldBeControl =
|
|
480
|
+
(viewShadowNode->IsFocusable() || (viewShadowNode->IsAccessible() && !viewShadowNode->OnClick()));
|
|
465
481
|
if (auto view = viewShadowNode->GetView().try_as<xaml::UIElement>()) {
|
|
466
482
|
// If we have DynamicAutomationProperties, we need a ViewControl with a
|
|
467
483
|
// DynamicAutomationPeer
|
|
@@ -471,6 +487,7 @@ void ViewViewManager::OnPropertiesUpdated(ShadowNodeBase *node) {
|
|
|
471
487
|
panel.FinalizeProperties();
|
|
472
488
|
|
|
473
489
|
TryUpdateView(viewShadowNode, panel, shouldBeControl);
|
|
490
|
+
SyncFocusableAndAccessible(viewShadowNode, shouldBeControl);
|
|
474
491
|
}
|
|
475
492
|
|
|
476
493
|
void ViewViewManager::TryUpdateView(
|
|
@@ -583,11 +600,23 @@ void ViewViewManager::TryUpdateView(
|
|
|
583
600
|
|
|
584
601
|
if (useControl)
|
|
585
602
|
pViewShadowNode->GetControl().Content(visualRoot);
|
|
603
|
+
}
|
|
586
604
|
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
605
|
+
void ViewViewManager::SyncFocusableAndAccessible(ViewShadowNode *pViewShadowNode, bool useControl) {
|
|
606
|
+
// If developer specifies either the accessible and focusable prop to be false
|
|
607
|
+
// remove accessibility and keyboard focus for component. Exception is made
|
|
608
|
+
// for case where a View with undefined onPress is specified, where
|
|
609
|
+
// component gains accessibility focus when either the accessible and focusable prop are true.
|
|
610
|
+
if (useControl) {
|
|
611
|
+
const auto isFocusable = pViewShadowNode->IsFocusable();
|
|
612
|
+
const auto isAccessible = pViewShadowNode->IsAccessible();
|
|
613
|
+
const auto isPressable = pViewShadowNode->OnClick();
|
|
614
|
+
const auto isTabStop =
|
|
615
|
+
(isPressable && isFocusable && isAccessible) || (!isPressable && (isFocusable || isAccessible));
|
|
616
|
+
const auto accessibilityView = isTabStop ? xaml::Automation::Peers::AccessibilityView::Content
|
|
617
|
+
: xaml::Automation::Peers::AccessibilityView::Raw;
|
|
618
|
+
pViewShadowNode->GetControl().IsTabStop(isTabStop);
|
|
619
|
+
xaml::Automation::AutomationProperties::SetAccessibilityView(pViewShadowNode->GetControl(), accessibilityView);
|
|
591
620
|
}
|
|
592
621
|
}
|
|
593
622
|
|
|
@@ -603,13 +632,23 @@ void ViewViewManager::SetLayoutProps(
|
|
|
603
632
|
// Do this first so that it is setup properly before any events are fired by
|
|
604
633
|
// the Super implementation
|
|
605
634
|
auto *pViewShadowNode = static_cast<ViewShadowNode *>(&nodeToUpdate);
|
|
635
|
+
auto pPanel = pViewShadowNode->GetPanel().as<winrt::Microsoft::ReactNative::ViewPanel>();
|
|
606
636
|
if (pViewShadowNode->IsControl()) {
|
|
607
|
-
auto pPanel = pViewShadowNode->GetViewPanel();
|
|
608
637
|
pPanel.Width(width);
|
|
609
638
|
pPanel.Height(height);
|
|
610
639
|
}
|
|
611
640
|
|
|
612
641
|
Super::SetLayoutProps(nodeToUpdate, viewToUpdate, left, top, width, height);
|
|
642
|
+
if (pPanel.ReadLocalValue(ViewPanel::CornerRadiusProperty()) != xaml::DependencyProperty::UnsetValue()) {
|
|
643
|
+
// Rather than use ViewPanel::FinalizeProperties, only perform the explicit
|
|
644
|
+
// logic required to propagate the CornerRadius value to the Border parent.
|
|
645
|
+
auto border = pPanel.GetOuterBorder();
|
|
646
|
+
if (border) {
|
|
647
|
+
const auto maxCornerRadius = std::min(width, height) / 2;
|
|
648
|
+
UpdateCornerRadiusOnElement(&nodeToUpdate, pPanel, maxCornerRadius);
|
|
649
|
+
border.CornerRadius(pPanel.CornerRadius());
|
|
650
|
+
}
|
|
651
|
+
}
|
|
613
652
|
}
|
|
614
653
|
|
|
615
654
|
xaml::Media::SolidColorBrush ViewViewManager::EnsureTransparentBrush() {
|
|
@@ -41,6 +41,7 @@ class ViewViewManager : public FrameworkElementViewManager {
|
|
|
41
41
|
|
|
42
42
|
XamlView CreateViewCore(int64_t tag, const winrt::Microsoft::ReactNative::JSValueObject &) override;
|
|
43
43
|
void TryUpdateView(ViewShadowNode *viewShadowNode, winrt::Microsoft::ReactNative::ViewPanel &pPanel, bool useControl);
|
|
44
|
+
void SyncFocusableAndAccessible(ViewShadowNode *viewShadowNode, bool useControl);
|
|
44
45
|
|
|
45
46
|
xaml::Media::SolidColorBrush EnsureTransparentBrush();
|
|
46
47
|
|
|
@@ -15,11 +15,11 @@ namespace Microsoft.ReactNative
|
|
|
15
15
|
|
|
16
16
|
// Public Methods
|
|
17
17
|
void InsertAt(UInt32 index, XAML_NAMESPACE.UIElement value);
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
void RemoveAt(UInt32 index);
|
|
19
|
+
void Clear();
|
|
20
20
|
|
|
21
21
|
void FinalizeProperties();
|
|
22
|
-
|
|
22
|
+
XAML_NAMESPACE.Controls.Border GetOuterBorder();
|
|
23
23
|
|
|
24
24
|
// Public Properties
|
|
25
25
|
XAML_NAMESPACE.Media.Brush ViewBackground { get; set; };
|
|
@@ -51,6 +51,6 @@ namespace Microsoft.ReactNative
|
|
|
51
51
|
{
|
|
52
52
|
ViewControl();
|
|
53
53
|
|
|
54
|
-
|
|
54
|
+
XAML_NAMESPACE.Controls.Panel GetPanel();
|
|
55
55
|
}
|
|
56
56
|
}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
#include <Utils/ValueUtils.h>
|
|
9
9
|
#include "DynamicWriter.h"
|
|
10
|
+
#include "XamlView.h"
|
|
10
11
|
|
|
11
12
|
namespace winrt::Microsoft::ReactNative::implementation {
|
|
12
13
|
|
|
@@ -20,6 +21,18 @@ Windows::UI::Color XamlHelper::ColorFrom(JSValueArgWriter const &valueProvider)
|
|
|
20
21
|
return ::Microsoft::ReactNative::ColorFrom(value);
|
|
21
22
|
}
|
|
22
23
|
|
|
24
|
+
xaml::DependencyProperty XamlHelper::ReactTagProperty() noexcept {
|
|
25
|
+
return ::Microsoft::ReactNative::ReactTagProperty();
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
int64_t XamlHelper::GetReactTag(xaml::DependencyObject const &dependencyObject) noexcept {
|
|
29
|
+
return ::Microsoft::ReactNative::GetTag(dependencyObject);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
void XamlHelper::SetReactTag(xaml::DependencyObject const &dependencyObject, int64_t tag) noexcept {
|
|
33
|
+
return ::Microsoft::ReactNative::SetTag(dependencyObject, tag);
|
|
34
|
+
}
|
|
35
|
+
|
|
23
36
|
folly::dynamic XamlHelper::GetFollyDynamicFromValueProvider(JSValueArgWriter const &valueProvider) noexcept {
|
|
24
37
|
auto writer = winrt::make_self<DynamicWriter>();
|
|
25
38
|
valueProvider(*writer);
|
|
@@ -13,6 +13,10 @@ struct XamlHelper : XamlHelperT<XamlHelper> {
|
|
|
13
13
|
static xaml::Media::Brush BrushFrom(JSValueArgWriter const &valueProvider) noexcept;
|
|
14
14
|
static Windows::UI::Color ColorFrom(JSValueArgWriter const &valueProvider) noexcept;
|
|
15
15
|
|
|
16
|
+
static xaml::DependencyProperty ReactTagProperty() noexcept;
|
|
17
|
+
static int64_t GetReactTag(xaml::DependencyObject const &dependencyObject) noexcept;
|
|
18
|
+
static void SetReactTag(xaml::DependencyObject const &dependencyObject, int64_t tag) noexcept;
|
|
19
|
+
|
|
16
20
|
static folly::dynamic GetFollyDynamicFromValueProvider(JSValueArgWriter const &valueProvider) noexcept;
|
|
17
21
|
};
|
|
18
22
|
|
|
@@ -17,5 +17,14 @@ namespace Microsoft.ReactNative
|
|
|
17
17
|
|
|
18
18
|
DOC_STRING("Returns a Color from @JSValueArgWriter.")
|
|
19
19
|
static Windows.UI.Color ColorFrom(JSValueArgWriter valueProvider);
|
|
20
|
+
|
|
21
|
+
DOC_STRING("Returns the attached property where the react tag is stored on a XAML Dependency Object.")
|
|
22
|
+
static XAML_NAMESPACE.DependencyProperty ReactTagProperty { get; };
|
|
23
|
+
|
|
24
|
+
DOC_STRING("Gets the react tag from a backing XAML element.")
|
|
25
|
+
static Int64 GetReactTag(XAML_NAMESPACE.DependencyObject dependencyObject);
|
|
26
|
+
|
|
27
|
+
DOC_STRING("Sets the react tag for a XAML element.")
|
|
28
|
+
static void SetReactTag(XAML_NAMESPACE.DependencyObject dependencyObject, Int64 tag);
|
|
20
29
|
};
|
|
21
30
|
} // namespace Microsoft.ReactNative
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
#include "DynamicWriter.h"
|
|
10
10
|
#include "ShadowNodeBase.h"
|
|
11
11
|
#include "Views/ShadowNodeBase.h"
|
|
12
|
+
#include "XamlView.h"
|
|
12
13
|
|
|
13
14
|
namespace winrt::Microsoft::ReactNative::implementation {
|
|
14
15
|
|
|
@@ -49,6 +50,21 @@ void XamlUIService::DispatchEvent(
|
|
|
49
50
|
m_context->CallJSFunction("RCTEventEmitter", "receiveEvent", std::move(params));
|
|
50
51
|
}
|
|
51
52
|
|
|
53
|
+
winrt::Microsoft::ReactNative::ReactRootView XamlUIService::GetReactRootView(
|
|
54
|
+
xaml::FrameworkElement const &view) noexcept {
|
|
55
|
+
if (auto uiManager = ::Microsoft::ReactNative::GetNativeUIManager(*m_context).lock()) {
|
|
56
|
+
const auto reactTag = ::Microsoft::ReactNative::GetTag(view);
|
|
57
|
+
if (auto shadowNode = static_cast<::Microsoft::ReactNative::ShadowNodeBase *>(
|
|
58
|
+
uiManager->getHost()->FindShadowNodeForTag(reactTag))) {
|
|
59
|
+
if (auto rootNode = static_cast<::Microsoft::ReactNative::ShadowNodeBase *>(
|
|
60
|
+
uiManager->getHost()->FindShadowNodeForTag(shadowNode->m_rootTag))) {
|
|
61
|
+
return rootNode->GetView().as<winrt::Microsoft::ReactNative::ReactRootView>();
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return nullptr;
|
|
66
|
+
}
|
|
67
|
+
|
|
52
68
|
/*static*/ ReactPropertyId<XamlUIService> XamlUIService::XamlUIServiceProperty() noexcept {
|
|
53
69
|
static ReactPropertyId<XamlUIService> uiManagerProperty{L"ReactNative.UIManager", L"XamlUIManager"};
|
|
54
70
|
return uiManagerProperty;
|
|
@@ -22,6 +22,8 @@ struct XamlUIService : XamlUIServiceT<XamlUIService> {
|
|
|
22
22
|
hstring const &eventName,
|
|
23
23
|
JSValueArgWriter const &eventDataArgWriter) noexcept;
|
|
24
24
|
|
|
25
|
+
winrt::Microsoft::ReactNative::ReactRootView GetReactRootView(xaml::FrameworkElement const &view) noexcept;
|
|
26
|
+
|
|
25
27
|
static void SetXamlRoot(IReactPropertyBag const &properties, xaml::XamlRoot const &xamlRoot) noexcept;
|
|
26
28
|
static void SetAccessibleRoot(
|
|
27
29
|
IReactPropertyBag const &properties,
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// Licensed under the MIT License.
|
|
3
3
|
|
|
4
4
|
import "IReactContext.idl";
|
|
5
|
+
import "ReactRootView.idl";
|
|
5
6
|
|
|
6
7
|
#include "NamespaceRedirect.h"
|
|
7
8
|
#include "DocString.h"
|
|
@@ -24,6 +25,9 @@ namespace Microsoft.ReactNative
|
|
|
24
25
|
DOC_STRING("Dispatches an event to a JS component.")
|
|
25
26
|
void DispatchEvent(XAML_NAMESPACE.FrameworkElement view, String eventName, JSValueArgWriter eventDataArgWriter);
|
|
26
27
|
|
|
28
|
+
DOC_STRING("Gets the @ReactRootView view for a given element.")
|
|
29
|
+
ReactRootView GetReactRootView(XAML_NAMESPACE.FrameworkElement view);
|
|
30
|
+
|
|
27
31
|
DOC_STRING(
|
|
28
32
|
"Sets the @Windows.UI.Xaml.XamlRoot element for the app. "
|
|
29
33
|
"This must be manually provided to the @ReactInstanceSettings object when using XAML Islands "
|
|
@@ -11,6 +11,16 @@
|
|
|
11
11
|
|
|
12
12
|
namespace Microsoft::ReactNative {
|
|
13
13
|
|
|
14
|
+
xaml::DependencyProperty ReactTagProperty() noexcept {
|
|
15
|
+
static xaml::DependencyProperty s_tagProperty = xaml::DependencyProperty::RegisterAttached(
|
|
16
|
+
L"ReactTag",
|
|
17
|
+
winrt::xaml_typename<int64_t>(),
|
|
18
|
+
winrt::xaml_typename<XamlView>(),
|
|
19
|
+
xaml::PropertyMetadata(winrt::box_value(InvalidTag)));
|
|
20
|
+
|
|
21
|
+
return s_tagProperty;
|
|
22
|
+
}
|
|
23
|
+
|
|
14
24
|
xaml::XamlRoot TryGetXamlRoot(const XamlView &view) {
|
|
15
25
|
xaml::XamlRoot root{nullptr};
|
|
16
26
|
if (auto uielement = view.try_as<xaml::UIElement>()) {
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#pragma once
|
|
5
5
|
|
|
6
|
+
#include <winrt/Windows.UI.Xaml.Interop.h>
|
|
6
7
|
#include "CppWinRTIncludes.h"
|
|
7
8
|
|
|
8
9
|
namespace Microsoft::ReactNative {
|
|
@@ -10,8 +11,10 @@ namespace Microsoft::ReactNative {
|
|
|
10
11
|
using XamlView = xaml::DependencyObject;
|
|
11
12
|
constexpr int64_t InvalidTag = -1;
|
|
12
13
|
|
|
14
|
+
xaml::DependencyProperty ReactTagProperty() noexcept;
|
|
15
|
+
|
|
13
16
|
inline int64_t GetTag(XamlView view) {
|
|
14
|
-
auto tagValue = view.ReadLocalValue(
|
|
17
|
+
auto tagValue = view.ReadLocalValue(ReactTagProperty());
|
|
15
18
|
if (tagValue != xaml::DependencyProperty::UnsetValue()) {
|
|
16
19
|
if (auto tagValueInt = tagValue.try_as<winrt::IPropertyValue>()) {
|
|
17
20
|
if (tagValueInt.Type() == winrt::PropertyType::Int64) {
|
|
@@ -24,6 +27,8 @@ inline int64_t GetTag(XamlView view) {
|
|
|
24
27
|
}
|
|
25
28
|
|
|
26
29
|
inline void SetTag(XamlView view, int64_t tag) {
|
|
30
|
+
view.SetValue(ReactTagProperty(), winrt::PropertyValue::CreateInt64(tag));
|
|
31
|
+
// Kept here to maintain compatibility with external ViewManagers who expect FE::Tag to contain the react tag
|
|
27
32
|
view.SetValue(xaml::FrameworkElement::TagProperty(), winrt::PropertyValue::CreateInt64(tag));
|
|
28
33
|
}
|
|
29
34
|
|
|
@@ -43,7 +48,7 @@ inline int64_t GetTag(winrt::IPropertyValue value) {
|
|
|
43
48
|
|
|
44
49
|
inline winrt::IPropertyValue GetTagAsPropertyValue(XamlView view) {
|
|
45
50
|
assert(view);
|
|
46
|
-
return view.GetValue(
|
|
51
|
+
return view.GetValue(ReactTagProperty()).try_as<winrt::IPropertyValue>();
|
|
47
52
|
}
|
|
48
53
|
|
|
49
54
|
xaml::XamlRoot TryGetXamlRoot(const XamlView &view);
|
|
@@ -320,6 +320,82 @@ PropNameID JsiAbiRuntime::createPropNameIDFromSymbol(const Symbol &sym) try {
|
|
|
320
320
|
throw;
|
|
321
321
|
}
|
|
322
322
|
|
|
323
|
+
BigInt JsiAbiRuntime::createBigIntFromInt64(int64_t val) try {
|
|
324
|
+
return MakeBigInt(m_runtime.CreateBigIntFromInt64(val));
|
|
325
|
+
} catch (hresult_error const &) {
|
|
326
|
+
RethrowJsiError();
|
|
327
|
+
throw;
|
|
328
|
+
}
|
|
329
|
+
BigInt JsiAbiRuntime::createBigIntFromUint64(uint64_t val) try {
|
|
330
|
+
return MakeBigInt(m_runtime.CreateBigIntFromUint64(val));
|
|
331
|
+
} catch (hresult_error const &) {
|
|
332
|
+
RethrowJsiError();
|
|
333
|
+
throw;
|
|
334
|
+
}
|
|
335
|
+
bool JsiAbiRuntime::bigintIsInt64(const BigInt &bigint) try {
|
|
336
|
+
JsiBigIntRef ref = AsJsiBigIntRef(bigint);
|
|
337
|
+
return m_runtime.BigintIsInt64(ref);
|
|
338
|
+
} catch (hresult_error const &) {
|
|
339
|
+
RethrowJsiError();
|
|
340
|
+
throw;
|
|
341
|
+
}
|
|
342
|
+
bool JsiAbiRuntime::bigintIsUint64(const BigInt &bigint) try {
|
|
343
|
+
JsiBigIntRef ref = AsJsiBigIntRef(bigint);
|
|
344
|
+
return m_runtime.BigintIsUint64(ref);
|
|
345
|
+
} catch (hresult_error const &) {
|
|
346
|
+
RethrowJsiError();
|
|
347
|
+
throw;
|
|
348
|
+
}
|
|
349
|
+
uint64_t JsiAbiRuntime::truncate(const BigInt &bigint) try {
|
|
350
|
+
JsiBigIntRef ref = AsJsiBigIntRef(bigint);
|
|
351
|
+
return m_runtime.Truncate(ref);
|
|
352
|
+
} catch (hresult_error const &) {
|
|
353
|
+
RethrowJsiError();
|
|
354
|
+
throw;
|
|
355
|
+
}
|
|
356
|
+
String JsiAbiRuntime::bigintToString(const BigInt &bigint, int radix) try {
|
|
357
|
+
JsiBigIntRef ref = AsJsiBigIntRef(bigint);
|
|
358
|
+
return MakeString(m_runtime.BigintToString(ref, radix));
|
|
359
|
+
} catch (hresult_error const &) {
|
|
360
|
+
RethrowJsiError();
|
|
361
|
+
throw;
|
|
362
|
+
}
|
|
363
|
+
bool JsiAbiRuntime::hasNativeState(const Object &obj) try {
|
|
364
|
+
// TODO: implement
|
|
365
|
+
UNREFERENCED_PARAMETER(obj);
|
|
366
|
+
VerifyElseCrash(false);
|
|
367
|
+
} catch (hresult_error const &) {
|
|
368
|
+
RethrowJsiError();
|
|
369
|
+
throw;
|
|
370
|
+
}
|
|
371
|
+
std::shared_ptr<NativeState> JsiAbiRuntime::getNativeState(const Object &obj) try {
|
|
372
|
+
// TODO: implement
|
|
373
|
+
UNREFERENCED_PARAMETER(obj);
|
|
374
|
+
VerifyElseCrash(false);
|
|
375
|
+
} catch (hresult_error const &) {
|
|
376
|
+
RethrowJsiError();
|
|
377
|
+
throw;
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
void JsiAbiRuntime::setNativeState(const Object &obj, std::shared_ptr<NativeState> state) try {
|
|
381
|
+
// TODO: implement
|
|
382
|
+
UNREFERENCED_PARAMETER(obj);
|
|
383
|
+
UNREFERENCED_PARAMETER(state);
|
|
384
|
+
VerifyElseCrash(false);
|
|
385
|
+
} catch (hresult_error const &) {
|
|
386
|
+
RethrowJsiError();
|
|
387
|
+
throw;
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
ArrayBuffer JsiAbiRuntime::createArrayBuffer(std::shared_ptr<MutableBuffer> buffer) try {
|
|
391
|
+
// TODO: implement
|
|
392
|
+
UNREFERENCED_PARAMETER(buffer);
|
|
393
|
+
VerifyElseCrash(false);
|
|
394
|
+
} catch (hresult_error const &) {
|
|
395
|
+
RethrowJsiError();
|
|
396
|
+
throw;
|
|
397
|
+
}
|
|
398
|
+
|
|
323
399
|
std::string JsiAbiRuntime::utf8(const PropNameID &propertyId) try {
|
|
324
400
|
std::string dataResult;
|
|
325
401
|
m_runtime.PropertyIdToUtf8(AsJsiPropertyIdRef(propertyId), [&dataResult](array_view<uint8_t const> utf8) {
|
|
@@ -97,6 +97,19 @@ struct JsiAbiRuntime : facebook::jsi::Runtime {
|
|
|
97
97
|
PointerValue *cloneObject(const PointerValue *pv) override;
|
|
98
98
|
PointerValue *clonePropNameID(const PointerValue *pv) override;
|
|
99
99
|
|
|
100
|
+
facebook::jsi::BigInt createBigIntFromInt64(int64_t value) override;
|
|
101
|
+
facebook::jsi::BigInt createBigIntFromUint64(uint64_t value) override;
|
|
102
|
+
bool bigintIsInt64(const facebook::jsi::BigInt &) override;
|
|
103
|
+
bool bigintIsUint64(const facebook::jsi::BigInt &) override;
|
|
104
|
+
uint64_t truncate(const facebook::jsi::BigInt &) override;
|
|
105
|
+
facebook::jsi::String bigintToString(const facebook::jsi::BigInt &, int) override;
|
|
106
|
+
|
|
107
|
+
bool hasNativeState(const facebook::jsi::Object &) override;
|
|
108
|
+
std::shared_ptr<facebook::jsi::NativeState> getNativeState(const facebook::jsi::Object &) override;
|
|
109
|
+
void setNativeState(const facebook::jsi::Object &, std::shared_ptr<facebook::jsi::NativeState> state) override;
|
|
110
|
+
|
|
111
|
+
facebook::jsi::ArrayBuffer createArrayBuffer(std::shared_ptr<facebook::jsi::MutableBuffer> buffer) override;
|
|
112
|
+
|
|
100
113
|
facebook::jsi::PropNameID createPropNameIDFromAscii(const char *str, size_t length) override;
|
|
101
114
|
facebook::jsi::PropNameID createPropNameIDFromUtf8(const uint8_t *utf8, size_t length) override;
|
|
102
115
|
facebook::jsi::PropNameID createPropNameIDFromString(const facebook::jsi::String &str) override;
|
|
@@ -3,11 +3,10 @@
|
|
|
3
3
|
|
|
4
4
|
#define NAPI_EXPERIMENTAL
|
|
5
5
|
|
|
6
|
+
#include "pch.h"
|
|
6
7
|
#include "NodeApiJsiRuntime.h"
|
|
7
8
|
|
|
8
9
|
// Standard Library
|
|
9
|
-
#include <array>
|
|
10
|
-
#include <sstream>
|
|
11
10
|
#include <string_view>
|
|
12
11
|
#include <unordered_set>
|
|
13
12
|
|
|
@@ -144,6 +143,23 @@ struct NapiJsiRuntime : facebook::jsi::Runtime {
|
|
|
144
143
|
std::string utf8(const facebook::jsi::PropNameID &id) override;
|
|
145
144
|
bool compare(const facebook::jsi::PropNameID &lhs, const facebook::jsi::PropNameID &rhs) override;
|
|
146
145
|
|
|
146
|
+
// new
|
|
147
|
+
|
|
148
|
+
facebook::jsi::BigInt createBigIntFromInt64(int64_t value) override;
|
|
149
|
+
facebook::jsi::BigInt createBigIntFromUint64(uint64_t value) override;
|
|
150
|
+
bool bigintIsInt64(const facebook::jsi::BigInt &) override;
|
|
151
|
+
bool bigintIsUint64(const facebook::jsi::BigInt &) override;
|
|
152
|
+
uint64_t truncate(const facebook::jsi::BigInt &) override;
|
|
153
|
+
facebook::jsi::String bigintToString(const facebook::jsi::BigInt &, int) override;
|
|
154
|
+
|
|
155
|
+
bool hasNativeState(const facebook::jsi::Object &) override;
|
|
156
|
+
std::shared_ptr<facebook::jsi::NativeState> getNativeState(const facebook::jsi::Object &) override;
|
|
157
|
+
void setNativeState(const facebook::jsi::Object &, std::shared_ptr<facebook::jsi::NativeState> state) override;
|
|
158
|
+
|
|
159
|
+
facebook::jsi::ArrayBuffer createArrayBuffer(std::shared_ptr<facebook::jsi::MutableBuffer> buffer);
|
|
160
|
+
|
|
161
|
+
// end
|
|
162
|
+
|
|
147
163
|
std::string symbolToString(const facebook::jsi::Symbol &s) override;
|
|
148
164
|
|
|
149
165
|
facebook::jsi::String createStringFromAscii(const char *str, size_t length) override;
|
|
@@ -728,6 +744,57 @@ PropNameID NapiJsiRuntime::createPropNameIDFromSymbol(const Symbol &sym) {
|
|
|
728
744
|
return MakePointer<PropNameID>(propSym);
|
|
729
745
|
}
|
|
730
746
|
|
|
747
|
+
facebook::jsi::BigInt NapiJsiRuntime::createBigIntFromInt64(int64_t val) {
|
|
748
|
+
EnvScope scope{m_env};
|
|
749
|
+
throw JSINativeException("Not implemented");
|
|
750
|
+
}
|
|
751
|
+
|
|
752
|
+
facebook::jsi::BigInt NapiJsiRuntime::createBigIntFromUint64(uint64_t val) {
|
|
753
|
+
EnvScope scope{m_env};
|
|
754
|
+
throw JSINativeException("Not implemented");
|
|
755
|
+
;
|
|
756
|
+
}
|
|
757
|
+
|
|
758
|
+
bool NapiJsiRuntime::bigintIsInt64(const facebook::jsi::BigInt &) {
|
|
759
|
+
EnvScope scope{m_env};
|
|
760
|
+
throw JSINativeException("Not implemented");
|
|
761
|
+
}
|
|
762
|
+
|
|
763
|
+
bool NapiJsiRuntime::bigintIsUint64(const facebook::jsi::BigInt &) {
|
|
764
|
+
EnvScope scope{m_env};
|
|
765
|
+
throw JSINativeException("Not implemented");
|
|
766
|
+
}
|
|
767
|
+
|
|
768
|
+
uint64_t NapiJsiRuntime::truncate(const facebook::jsi::BigInt &) {
|
|
769
|
+
EnvScope scope{m_env};
|
|
770
|
+
throw JSINativeException("Not implemented");
|
|
771
|
+
}
|
|
772
|
+
|
|
773
|
+
String NapiJsiRuntime::bigintToString(const facebook::jsi::BigInt &, int) {
|
|
774
|
+
EnvScope scope{m_env};
|
|
775
|
+
throw JSINativeException("Not implemented");
|
|
776
|
+
}
|
|
777
|
+
|
|
778
|
+
bool NapiJsiRuntime::hasNativeState(const facebook::jsi::Object &) {
|
|
779
|
+
EnvScope scope{m_env};
|
|
780
|
+
throw JSINativeException("Not implemented");
|
|
781
|
+
}
|
|
782
|
+
|
|
783
|
+
std::shared_ptr<facebook::jsi::NativeState> NapiJsiRuntime::getNativeState(const facebook::jsi::Object &) {
|
|
784
|
+
EnvScope scope{m_env};
|
|
785
|
+
throw JSINativeException("Not implemented");
|
|
786
|
+
}
|
|
787
|
+
|
|
788
|
+
void NapiJsiRuntime::setNativeState(const Object &, std::shared_ptr<facebook::jsi::NativeState> state) {
|
|
789
|
+
EnvScope scope{m_env};
|
|
790
|
+
throw JSINativeException("Not implemented");
|
|
791
|
+
}
|
|
792
|
+
|
|
793
|
+
facebook::jsi::ArrayBuffer NapiJsiRuntime::createArrayBuffer(std::shared_ptr<facebook::jsi::MutableBuffer> buffer) {
|
|
794
|
+
EnvScope scope{m_env};
|
|
795
|
+
throw JSINativeException("Not implemented");
|
|
796
|
+
}
|
|
797
|
+
|
|
731
798
|
string NapiJsiRuntime::utf8(const PropNameID &id) {
|
|
732
799
|
EnvScope scope{m_env};
|
|
733
800
|
|
|
@@ -1994,6 +2061,8 @@ napi_value NapiJsiRuntime::GetNapiValue(const Value &value) const {
|
|
|
1994
2061
|
return GetNapiValue(value.getString(*const_cast<NapiJsiRuntime *>(this)));
|
|
1995
2062
|
} else if (value.isObject()) {
|
|
1996
2063
|
return GetNapiValue(value.getObject(*const_cast<NapiJsiRuntime *>(this)));
|
|
2064
|
+
} else if (value.isBigInt()) {
|
|
2065
|
+
return GetNapiValue(value.getBigInt(*const_cast<NapiJsiRuntime *>(this)));
|
|
1997
2066
|
} else {
|
|
1998
2067
|
throw JSINativeException("Unexpected jsi::Value type");
|
|
1999
2068
|
}
|
|
@@ -5,13 +5,13 @@
|
|
|
5
5
|
#ifndef MICROSOFT_REACTNATIVE_JSI_NODEAPIJSIRUNTIME
|
|
6
6
|
#define MICROSOFT_REACTNATIVE_JSI_NODEAPIJSIRUNTIME
|
|
7
7
|
|
|
8
|
-
// Standard Library
|
|
9
|
-
#include <memory>
|
|
10
|
-
|
|
11
8
|
// JSI
|
|
12
9
|
#include <js_native_ext_api.h>
|
|
13
10
|
#include <jsi/jsi.h>
|
|
14
11
|
|
|
12
|
+
// Standard Library
|
|
13
|
+
#include <memory>
|
|
14
|
+
|
|
15
15
|
namespace Microsoft::JSI {
|
|
16
16
|
|
|
17
17
|
///
|
|
@@ -128,9 +128,8 @@
|
|
|
128
128
|
<ItemGroup>
|
|
129
129
|
<None Include="$(MSBuildThisFileDirectory)README.md" />
|
|
130
130
|
</ItemGroup>
|
|
131
|
-
<ItemGroup
|
|
131
|
+
<ItemGroup>
|
|
132
132
|
<ClCompile Include="$(MSBuildThisFileDirectory)JSI\NodeApiJsiRuntime.cpp">
|
|
133
|
-
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
|
134
133
|
<ExcludedFromBuild Condition="'$(UseV8)' != 'true'">true</ExcludedFromBuild>
|
|
135
134
|
</ClCompile>
|
|
136
135
|
</ItemGroup>
|