react-native-windows 0.77.7 → 0.77.8

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.
Files changed (54) hide show
  1. package/Libraries/Modal/Modal.windows.js +4 -1
  2. package/Microsoft.ReactNative/CompositionComponentView.idl +13 -1
  3. package/Microsoft.ReactNative/Fabric/AbiPortalShadowNode.cpp +97 -0
  4. package/Microsoft.ReactNative/Fabric/AbiPortalShadowNode.h +53 -0
  5. package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.h +160 -17
  6. package/Microsoft.ReactNative/Fabric/ComponentView.cpp +0 -1
  7. package/Microsoft.ReactNative/Fabric/Composition/ComponentViewRegistry.cpp +0 -5
  8. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +0 -2
  9. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +13 -32
  10. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +1 -3
  11. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.cpp +1 -1
  12. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.h +2 -1
  13. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +25 -20
  14. package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentView.cpp +313 -319
  15. package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentView.h +3 -61
  16. package/Microsoft.ReactNative/Fabric/Composition/PortalComponentView.cpp +78 -0
  17. package/Microsoft.ReactNative/Fabric/Composition/PortalComponentView.h +52 -0
  18. package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.cpp +22 -0
  19. package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.h +7 -5
  20. package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.cpp +79 -19
  21. package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.h +12 -6
  22. package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.cpp +73 -19
  23. package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.h +16 -0
  24. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +2 -2
  25. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +38 -23
  26. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +1 -6
  27. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +0 -3
  28. package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.cpp +0 -2
  29. package/Microsoft.ReactNative/IReactCompositionViewComponentBuilder.idl +15 -1
  30. package/Microsoft.ReactNative/ReactNativeHost.cpp +5 -0
  31. package/Microsoft.ReactNative/ReactNativeIsland.idl +5 -1
  32. package/PropertySheets/Generated/PackageVersion.g.props +3 -3
  33. package/Shared/Networking/WinRTWebSocketResource.cpp +5 -0
  34. package/Shared/Shared.vcxitems +6 -5
  35. package/Shared/Shared.vcxitems.filters +3 -4
  36. package/codegen/react/components/rnwcore/ActivityIndicatorView.g.h +212 -0
  37. package/codegen/react/components/rnwcore/AndroidDrawerLayout.g.h +295 -0
  38. package/codegen/react/components/rnwcore/AndroidHorizontalScrollContentView.g.h +200 -0
  39. package/codegen/react/components/rnwcore/AndroidProgressBar.g.h +224 -0
  40. package/codegen/react/components/rnwcore/AndroidSwipeRefreshLayout.g.h +250 -0
  41. package/codegen/react/components/rnwcore/AndroidSwitch.g.h +267 -0
  42. package/codegen/react/components/rnwcore/DebuggingOverlay.g.h +234 -0
  43. package/codegen/react/components/rnwcore/InputAccessory.g.h +200 -0
  44. package/codegen/react/components/rnwcore/ModalHostView.g.h +283 -0
  45. package/codegen/react/components/rnwcore/PullToRefreshView.g.h +246 -0
  46. package/codegen/react/components/rnwcore/SafeAreaView.g.h +197 -0
  47. package/codegen/react/components/rnwcore/Switch.g.h +263 -0
  48. package/codegen/react/components/rnwcore/UnimplementedNativeView.g.h +200 -0
  49. package/just-task.js +1 -1
  50. package/package.json +3 -3
  51. package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.cpp +0 -191
  52. package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentDescriptor.h +0 -39
  53. package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewShadowNode.cpp +0 -18
  54. package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewShadowNode.h +0 -39
@@ -15,6 +15,7 @@
15
15
  #include <Utils/KeyboardUtils.h>
16
16
  #include <Utils/ValueUtils.h>
17
17
  #include <Views/FrameworkElementTransferProperties.h>
18
+ #include <atlcomcli.h>
18
19
  #include <winrt/Microsoft.ReactNative.Composition.Experimental.h>
19
20
  #include <winrt/Microsoft.UI.Input.h>
20
21
  #include <winrt/Windows.UI.Composition.h>
@@ -350,9 +351,9 @@ void ComponentView::onLostFocus(
350
351
 
351
352
  m_componentHostingFocusVisual->hostFocusVisual(false, get_strong());
352
353
  }
353
- if (m_uiaProvider) {
354
+ if (UiaClientsAreListening()) {
354
355
  winrt::Microsoft::ReactNative::implementation::UpdateUiaProperty(
355
- m_uiaProvider, UIA_HasKeyboardFocusPropertyId, true, false);
356
+ EnsureUiaProvider(), UIA_HasKeyboardFocusPropertyId, true, false);
356
357
  }
357
358
  }
358
359
  base_type::onLostFocus(args);
@@ -400,8 +401,8 @@ void ComponentView::onGotFocus(
400
401
  focusRect.size.height += (FOCUS_VISUAL_WIDTH * 2);
401
402
  focusVisualRoot(focusRect)->hostFocusVisual(true, get_strong());
402
403
  }
403
- if (m_uiaProvider) {
404
- auto spProviderSimple = m_uiaProvider.try_as<IRawElementProviderSimple>();
404
+ if (UiaClientsAreListening()) {
405
+ auto spProviderSimple = EnsureUiaProvider().try_as<IRawElementProviderSimple>();
405
406
  if (spProviderSimple != nullptr) {
406
407
  winrt::Microsoft::ReactNative::implementation::UpdateUiaProperty(
407
408
  m_uiaProvider, UIA_HasKeyboardFocusPropertyId, false, true);
@@ -468,7 +469,7 @@ bool ComponentView::CapturePointer(const winrt::Microsoft::ReactNative::Composit
468
469
  if (!root)
469
470
  return false;
470
471
 
471
- auto rootView{uiManager->GetReactNativeIsland(root->Tag())};
472
+ auto rootView{root->ReactNativeIsland()};
472
473
  if (!rootView) {
473
474
  return false;
474
475
  }
@@ -487,7 +488,7 @@ void ComponentView::ReleasePointerCapture(
487
488
  if (!root)
488
489
  return;
489
490
 
490
- auto rootView{uiManager->GetReactNativeIsland(root->Tag())};
491
+ auto rootView{root->ReactNativeIsland()};
491
492
  if (!rootView) {
492
493
  return;
493
494
  }
@@ -705,59 +706,62 @@ void ComponentView::updateTransformProps(
705
706
  void ComponentView::updateAccessibilityProps(
706
707
  const facebook::react::ViewProps &oldViewProps,
707
708
  const facebook::react::ViewProps &newViewProps) noexcept {
708
- if (!m_uiaProvider)
709
+ if (!UiaClientsAreListening())
709
710
  return;
710
711
 
711
712
  winrt::Microsoft::ReactNative::implementation::UpdateUiaProperty(
712
- m_uiaProvider, UIA_IsKeyboardFocusablePropertyId, oldViewProps.focusable, newViewProps.focusable);
713
+ EnsureUiaProvider(), UIA_IsKeyboardFocusablePropertyId, oldViewProps.focusable, newViewProps.focusable);
713
714
 
714
715
  winrt::Microsoft::ReactNative::implementation::UpdateUiaProperty(
715
- m_uiaProvider,
716
+ EnsureUiaProvider(),
716
717
  UIA_NamePropertyId,
717
718
  oldViewProps.accessibilityLabel,
718
719
  newViewProps.accessibilityLabel.empty() ? DefaultAccessibleName() : newViewProps.accessibilityLabel);
719
720
 
720
721
  winrt::Microsoft::ReactNative::implementation::UpdateUiaProperty(
721
- m_uiaProvider,
722
+ EnsureUiaProvider(),
722
723
  UIA_IsContentElementPropertyId,
723
724
  (oldViewProps.accessible && oldViewProps.accessibilityRole != "none"),
724
725
  (newViewProps.accessible && newViewProps.accessibilityRole != "none"));
725
726
 
726
727
  winrt::Microsoft::ReactNative::implementation::UpdateUiaProperty(
727
- m_uiaProvider,
728
+ EnsureUiaProvider(),
728
729
  UIA_IsControlElementPropertyId,
729
730
  (oldViewProps.accessible && oldViewProps.accessibilityRole != "none"),
730
731
  (newViewProps.accessible && newViewProps.accessibilityRole != "none"));
731
732
 
732
733
  winrt::Microsoft::ReactNative::implementation::UpdateUiaProperty(
733
- m_uiaProvider,
734
+ EnsureUiaProvider(),
734
735
  UIA_IsEnabledPropertyId,
735
736
  !(oldViewProps.accessibilityState && oldViewProps.accessibilityState->disabled),
736
737
  !(newViewProps.accessibilityState && newViewProps.accessibilityState->disabled));
737
738
 
738
739
  winrt::Microsoft::ReactNative::implementation::UpdateUiaProperty(
739
- m_uiaProvider,
740
+ EnsureUiaProvider(),
740
741
  UIA_IsEnabledPropertyId,
741
742
  !(oldViewProps.accessibilityState && oldViewProps.accessibilityState->busy),
742
743
  !(newViewProps.accessibilityState && newViewProps.accessibilityState->busy));
743
744
 
744
745
  winrt::Microsoft::ReactNative::implementation::UpdateUiaProperty(
745
- m_uiaProvider, UIA_ControlTypePropertyId, oldViewProps.accessibilityRole, newViewProps.accessibilityRole);
746
+ EnsureUiaProvider(), UIA_ControlTypePropertyId, oldViewProps.accessibilityRole, newViewProps.accessibilityRole);
746
747
 
747
748
  winrt::Microsoft::ReactNative::implementation::UpdateUiaProperty(
748
- m_uiaProvider, UIA_HelpTextPropertyId, oldViewProps.accessibilityHint, newViewProps.accessibilityHint);
749
+ EnsureUiaProvider(), UIA_HelpTextPropertyId, oldViewProps.accessibilityHint, newViewProps.accessibilityHint);
749
750
 
750
751
  winrt::Microsoft::ReactNative::implementation::UpdateUiaProperty(
751
- m_uiaProvider,
752
+ EnsureUiaProvider(),
752
753
  UIA_PositionInSetPropertyId,
753
754
  oldViewProps.accessibilityPosInSet,
754
755
  newViewProps.accessibilityPosInSet);
755
756
 
756
757
  winrt::Microsoft::ReactNative::implementation::UpdateUiaProperty(
757
- m_uiaProvider, UIA_SizeOfSetPropertyId, oldViewProps.accessibilitySetSize, newViewProps.accessibilitySetSize);
758
+ EnsureUiaProvider(),
759
+ UIA_SizeOfSetPropertyId,
760
+ oldViewProps.accessibilitySetSize,
761
+ newViewProps.accessibilitySetSize);
758
762
 
759
763
  winrt::Microsoft::ReactNative::implementation::UpdateUiaProperty(
760
- m_uiaProvider,
764
+ EnsureUiaProvider(),
761
765
  UIA_LiveSettingPropertyId,
762
766
  oldViewProps.accessibilityLiveRegion,
763
767
  newViewProps.accessibilityLiveRegion);
@@ -765,7 +769,8 @@ void ComponentView::updateAccessibilityProps(
765
769
  if ((oldViewProps.accessibilityState.has_value() && oldViewProps.accessibilityState->selected.has_value()) !=
766
770
  ((newViewProps.accessibilityState.has_value() && newViewProps.accessibilityState->selected.has_value()))) {
767
771
  auto compProvider =
768
- m_uiaProvider.try_as<winrt::Microsoft::ReactNative::implementation::CompositionDynamicAutomationProvider>();
772
+ EnsureUiaProvider()
773
+ .try_as<winrt::Microsoft::ReactNative::implementation::CompositionDynamicAutomationProvider>();
769
774
  if (compProvider) {
770
775
  if ((newViewProps.accessibilityState.has_value() && newViewProps.accessibilityState->selected.has_value())) {
771
776
  winrt::Microsoft::ReactNative::implementation::AddSelectionItemsToContainer(compProvider.get());
@@ -1330,7 +1335,7 @@ winrt::Microsoft::ReactNative::ComponentView lastDeepChild(
1330
1335
  }
1331
1336
 
1332
1337
  // Walks the tree calling the function fn on each node.
1333
- // If fn returns true, then walkTree stops itterating over the tree, and returns true.
1338
+ // If fn returns true, then walkTree stops iterating over the tree, and returns true.
1334
1339
  // If the tree walk completes without fn returning true, then walkTree returns false.
1335
1340
  bool walkTree(
1336
1341
  const winrt::Microsoft::ReactNative::ComponentView &view,