react-native-windows 0.74.19 → 0.74.21

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 (76) hide show
  1. package/Microsoft.ReactNative/ComponentView.idl +33 -32
  2. package/Microsoft.ReactNative/Composition.Input.idl +2 -0
  3. package/Microsoft.ReactNative/CompositionComponentView.idl +43 -24
  4. package/Microsoft.ReactNative/Fabric/AbiEventEmitter.cpp +21 -0
  5. package/Microsoft.ReactNative/Fabric/AbiEventEmitter.h +23 -0
  6. package/Microsoft.ReactNative/Fabric/AbiShadowNode.cpp +7 -0
  7. package/Microsoft.ReactNative/Fabric/AbiShadowNode.h +3 -0
  8. package/Microsoft.ReactNative/Fabric/ComponentView.cpp +318 -59
  9. package/Microsoft.ReactNative/Fabric/ComponentView.h +155 -33
  10. package/Microsoft.ReactNative/Fabric/Composition/ActivityIndicatorComponentView.cpp +2 -2
  11. package/Microsoft.ReactNative/Fabric/Composition/ComponentViewRegistry.cpp +3 -0
  12. package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.cpp +25 -7
  13. package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.h +22 -4
  14. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +43 -0
  15. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.h +6 -1
  16. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +147 -119
  17. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +4 -8
  18. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +97 -101
  19. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +28 -52
  20. package/Microsoft.ReactNative/Fabric/Composition/ContentIslandComponentView.cpp +133 -0
  21. package/Microsoft.ReactNative/Fabric/Composition/ContentIslandComponentView.h +61 -0
  22. package/Microsoft.ReactNative/Fabric/Composition/DebuggingOverlayComponentView.cpp +1 -2
  23. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +1 -4
  24. package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentView.cpp +1 -2
  25. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +1 -6
  26. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.h +0 -1
  27. package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.cpp +108 -18
  28. package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.h +33 -5
  29. package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.cpp +57 -1
  30. package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.h +6 -0
  31. package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.cpp +8 -2
  32. package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.h +2 -0
  33. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +195 -182
  34. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.h +1 -3
  35. package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.cpp +16 -4
  36. package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.h +3 -3
  37. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +12 -17
  38. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +4 -11
  39. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +19 -0
  40. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.h +4 -0
  41. package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.cpp +1 -2
  42. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +10 -7
  43. package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.cpp +1 -3
  44. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.cpp +20 -1
  45. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.h +3 -0
  46. package/Microsoft.ReactNative/IReactCompositionViewComponentBuilder.idl +13 -3
  47. package/Microsoft.ReactNative/IReactViewComponentBuilder.idl +57 -4
  48. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +14 -32
  49. package/Microsoft.ReactNative/ReactNativeIsland.idl +3 -0
  50. package/PropertySheets/External/Microsoft.ReactNative.Composition.Package.props +1 -0
  51. package/PropertySheets/External/Microsoft.ReactNative.Composition.Package.targets +4 -0
  52. package/PropertySheets/External/Microsoft.ReactNative.Cpp.PackageReferences.props +14 -4
  53. package/PropertySheets/Generated/PackageVersion.g.props +3 -3
  54. package/PropertySheets/WinUI.props +1 -1
  55. package/Scripts/Microsoft.ReactNative.VersionCheck.targets +2 -0
  56. package/Shared/Shared.vcxitems +7 -0
  57. package/Shared/Shared.vcxitems.filters +1 -0
  58. package/just-task.js +1 -1
  59. package/package.json +3 -3
  60. package/template/cpp-app/proj/MyApp.sln +19 -19
  61. package/template/cpp-lib/proj/MyLib.sln +19 -19
  62. package/template/cs-app/proj/MyApp.sln +21 -21
  63. package/template/cs-lib/proj/MyLib.sln +21 -21
  64. package/template/metro.config.js +13 -2
  65. package/templates/cpp-app/NuGet_Config +13 -0
  66. package/templates/cpp-app/template.config.js +11 -1
  67. package/templates/cpp-app/windows/ExperimentalFeatures.props +1 -0
  68. package/templates/cpp-app/windows/MyApp.sln +29 -19
  69. package/templates/cpp-lib/NuGet_Config +13 -0
  70. package/templates/cpp-lib/example/NuGet_Config +6 -0
  71. package/templates/cpp-lib/template.config.js +11 -1
  72. package/templates/cpp-lib/windows/ExperimentalFeatures.props +1 -0
  73. package/templates/cpp-lib/windows/MyLib.sln +35 -25
  74. package/templates/old/generateWrapper.js +7 -4
  75. package/templates/templateUtils.js +3 -1
  76. package/template/metro.devMode.config.js +0 -56
@@ -60,13 +60,6 @@ namespace Microsoft.ReactNative
60
60
  void UpdateStateWithMutationAndPriority(StateUpdateMutation mutation, EventPriority priority);
61
61
  };
62
62
 
63
- [experimental]
64
- [webhosthidden]
65
- unsealed runtimeclass CreateComponentViewArgs {
66
- Int32 Tag {get;};
67
- IReactContext ReactContext { get;};
68
- };
69
-
70
63
  [experimental]
71
64
  [webhosthidden]
72
65
  runtimeclass LosingFocusEventArgs : Microsoft.ReactNative.Composition.Input.RoutedEventArgs {
@@ -89,40 +82,48 @@ namespace Microsoft.ReactNative
89
82
 
90
83
  [experimental]
91
84
  [webhosthidden]
92
- unsealed runtimeclass ComponentView {
93
- ComponentView(CreateComponentViewArgs args);
85
+ runtimeclass LayoutMetricsChangedArgs {
86
+ LayoutMetrics NewLayoutMetrics { get; };
87
+ LayoutMetrics OldLayoutMetrics { get; };
88
+ };
89
+
94
90
 
91
+ // [exclusiveto(ComponentView)]
92
+ // [uuid(AEE8C30B-0E56-4FB8-8A80-D5CA9DE90916)]
93
+ // interface IComponentViewFactory
94
+ // {
95
+ // }
96
+
97
+ // [composable(IComponentViewFactory, protected)]
98
+ [experimental]
99
+ [webhosthidden]
100
+ unsealed runtimeclass ComponentView {
95
101
  Int32 Tag { get; };
96
102
  ComponentView Parent { get; };
97
103
  IVectorView<ComponentView> Children { get; };
98
- IReactContext ReactContext { get;};
104
+ IReactContext ReactContext { get; };
105
+ LayoutMetrics LayoutMetrics { get; };
106
+ IInspectable UserData;
99
107
 
100
- overridable void MountChildComponentView(ComponentView childComponentView, UInt32 index);
101
- overridable void UnmountChildComponentView(ComponentView childComponentView, UInt32 index);
102
- overridable void HandleCommand(String commandName, IJSValueReader args);
103
- overridable void UpdateProps(IComponentProps props, IComponentProps oldProps);
104
- overridable void UpdateState(IComponentState state);
105
- overridable void UpdateLayoutMetrics(LayoutMetrics metrics, LayoutMetrics oldMetrics);
106
- overridable void FinalizeUpdates(ComponentViewUpdateMask updateMask);
108
+ Boolean TryFocus();
107
109
 
108
110
  DOC_STRING("Used to handle key down events when this component is focused, or if a child component did not handle the key down")
109
- overridable void OnKeyDown(Microsoft.ReactNative.Composition.Input.KeyboardSource source, Microsoft.ReactNative.Composition.Input.KeyRoutedEventArgs args);
110
-
111
+ event Windows.Foundation.EventHandler<Microsoft.ReactNative.Composition.Input.KeyRoutedEventArgs> KeyDown;
111
112
  DOC_STRING("Used to handle key up events when this component is focused, or if a child component did not handle the key up")
112
- overridable void OnKeyUp(Microsoft.ReactNative.Composition.Input.KeyboardSource source, Microsoft.ReactNative.Composition.Input.KeyRoutedEventArgs args);
113
-
114
- overridable void OnCharacterReceived(Microsoft.ReactNative.Composition.Input.KeyboardSource source, Microsoft.ReactNative.Composition.Input.CharacterReceivedRoutedEventArgs args);
115
-
116
- overridable void OnPointerPressed(Microsoft.ReactNative.Composition.Input.PointerRoutedEventArgs args);
117
- overridable void OnPointerReleased(Microsoft.ReactNative.Composition.Input.PointerRoutedEventArgs args);
118
- overridable void OnPointerMoved(Microsoft.ReactNative.Composition.Input.PointerRoutedEventArgs args);
119
- overridable void OnPointerWheelChanged(Microsoft.ReactNative.Composition.Input.PointerRoutedEventArgs args);
120
- overridable void OnPointerEntered(Microsoft.ReactNative.Composition.Input.PointerRoutedEventArgs args);
121
- overridable void OnPointerExited(Microsoft.ReactNative.Composition.Input.PointerRoutedEventArgs args);
122
- overridable void OnPointerCaptureLost();
123
-
124
- Boolean TryFocus();
113
+ event Windows.Foundation.EventHandler<Microsoft.ReactNative.Composition.Input.KeyRoutedEventArgs> KeyUp;
114
+ event Windows.Foundation.EventHandler<Microsoft.ReactNative.Composition.Input.CharacterReceivedRoutedEventArgs> CharacterReceived;
115
+ event Windows.Foundation.EventHandler<Microsoft.ReactNative.Composition.Input.PointerRoutedEventArgs> PointerPressed;
116
+ event Windows.Foundation.EventHandler<Microsoft.ReactNative.Composition.Input.PointerRoutedEventArgs> PointerReleased;
117
+ event Windows.Foundation.EventHandler<Microsoft.ReactNative.Composition.Input.PointerRoutedEventArgs> PointerMoved;
118
+ event Windows.Foundation.EventHandler<Microsoft.ReactNative.Composition.Input.PointerRoutedEventArgs> PointerWheelChanged;
119
+ event Windows.Foundation.EventHandler<Microsoft.ReactNative.Composition.Input.PointerRoutedEventArgs> PointerEntered;
120
+ event Windows.Foundation.EventHandler<Microsoft.ReactNative.Composition.Input.PointerRoutedEventArgs> PointerExited;
121
+ event Windows.Foundation.EventHandler<ComponentView> PointerCaptureLost;
125
122
 
123
+ event Windows.Foundation.EventHandler<ComponentView> Destroying;
124
+ event Windows.Foundation.EventHandler<LayoutMetricsChangedArgs> LayoutMetricsChanged;
125
+ event Windows.Foundation.EventHandler<ComponentView> Mounted;
126
+ event Windows.Foundation.EventHandler<ComponentView> Unmounted;
126
127
  event Windows.Foundation.EventHandler<LosingFocusEventArgs> LosingFocus;
127
128
  event Windows.Foundation.EventHandler<GettingFocusEventArgs> GettingFocus;
128
129
  event Windows.Foundation.EventHandler<Microsoft.ReactNative.Composition.Input.RoutedEventArgs> LostFocus;
@@ -23,6 +23,7 @@ namespace Microsoft.ReactNative.Composition.Input
23
23
  Windows.System.VirtualKey Key { get; };
24
24
  Microsoft.UI.Input.PhysicalKeyStatus KeyStatus { get; };
25
25
  Windows.System.VirtualKey OriginalKey { get; };
26
+ KeyboardSource KeyboardSource { get; };
26
27
  }
27
28
 
28
29
  interface CharacterReceivedRoutedEventArgs requires RoutedEventArgs
@@ -30,6 +31,7 @@ namespace Microsoft.ReactNative.Composition.Input
30
31
  Boolean Handled { get; set; };
31
32
  Microsoft.UI.Input.PhysicalKeyStatus KeyStatus { get; };
32
33
  Int32 KeyCode { get; };
34
+ KeyboardSource KeyboardSource { get; };
33
35
  };
34
36
 
35
37
  interface IPointerPointTransform
@@ -29,116 +29,135 @@ namespace Microsoft.ReactNative.Composition
29
29
  namespace Experimental {
30
30
  [webhosthidden]
31
31
  [experimental]
32
- interface IInternalCreateComponentViewArgs
32
+ interface IInternalComponentView
33
33
  {
34
34
  ICompositionContext CompositionContext { get; };
35
35
  }
36
36
  }
37
37
 
38
- [experimental]
39
- [webhosthidden]
40
- runtimeclass CreateCompositionComponentViewArgs : Microsoft.ReactNative.CreateComponentViewArgs {
41
- Microsoft.UI.Composition.Compositor Compositor { get; };
42
- ComponentViewFeatures Features;
43
- };
38
+ // [exclusiveto(ComponentView)]
39
+ // [uuid(ABFAC092-E527-47DC-9CF9-7A4003B0AFB0)]
40
+ // interface IComponentViewFactory
41
+ // {
42
+ // }
44
43
 
44
+ // [composable(IComponentViewFactory, protected)]
45
45
  [experimental]
46
46
  [webhosthidden]
47
47
  unsealed runtimeclass ComponentView : Microsoft.ReactNative.ComponentView {
48
- ComponentView(CreateCompositionComponentViewArgs args);
49
-
50
48
  Microsoft.UI.Composition.Compositor Compositor { get; };
51
49
  RootComponentView Root { get; };
52
50
  Theme Theme;
53
- overridable void OnThemeChanged();
51
+
52
+ event Windows.Foundation.EventHandler<IInspectable> ThemeChanged;
54
53
  Boolean CapturePointer(Microsoft.ReactNative.Composition.Input.Pointer pointer);
55
54
  void ReleasePointerCapture(Microsoft.ReactNative.Composition.Input.Pointer pointer);
56
55
  };
57
56
 
58
57
  namespace Experimental {
58
+
59
+ [webhosthidden]
60
+ [experimental]
61
+ delegate Microsoft.ReactNative.Composition.Experimental.IVisual CreateInternalVisualDelegate(Microsoft.ReactNative.ComponentView view);
62
+
59
63
  [webhosthidden]
60
64
  [experimental]
61
65
  DOC_STRING("Custom ViewComponents need to implement this interface to be able to provide a custom"
62
66
  " visual using the composition context that allows custom compositors. This is only required for"
63
67
  " custom components that need to support running in RNW instances with custom compositors. Most"
64
- " custom components can just override CreateVisual on ViewComponentView."
68
+ " custom components can just set CreateVisualHandler on ViewComponentView."
65
69
  " This will be removed in a future version")
66
70
  interface IInternalCreateVisual
67
71
  {
68
- Microsoft.ReactNative.Composition.Experimental.IVisual CreateInternalVisual();
72
+ CreateInternalVisualDelegate CreateInternalVisualHandler;
69
73
  }
70
74
  }
71
75
 
76
+ // [exclusiveto(ViewComponentView)]
77
+ // [uuid(756AA1DF-ED74-467E-9BAA-3797B39B1875)]
78
+ // interface IViewComponentViewFactory
79
+ // {
80
+ // }
81
+
82
+ // [composable(IViewComponentViewFactory, protected)]
72
83
  [experimental]
73
84
  [webhosthidden]
74
85
  unsealed runtimeclass ViewComponentView : ComponentView {
75
- ViewComponentView(CreateCompositionComponentViewArgs args);
76
86
 
77
87
  Microsoft.ReactNative.ViewProps ViewProps { get; };
88
+ };
78
89
 
79
- overridable Microsoft.UI.Composition.Visual CreateVisual();
90
+ // Some other interfaces we could consider implementing/exposing
91
+ // Use ifdef USE_EXPERIMENTAL_WINUI3 to add these
92
+ // Microsoft.UI.Content.IContentLink // Use ifdef USE_EXPERIMENTAL_WINUI3
93
+ // Microsoft.UI.Content.IContentSiteBridge
94
+ // Microsoft.UI.Content.IContentSiteBridge2 // Use ifdef USE_EXPERIMENTAL_WINUI3
95
+ [experimental]
96
+ [webhosthidden]
97
+ runtimeclass ContentIslandComponentView : ViewComponentView {
98
+ void Connect(Microsoft.UI.Content.ContentIsland contentIsland);
80
99
  };
81
100
 
82
101
  [experimental]
83
102
  [webhosthidden]
84
103
  [default_interface]
85
- unsealed runtimeclass SwitchComponentView : ViewComponentView {
104
+ runtimeclass SwitchComponentView : ViewComponentView {
86
105
  };
87
106
 
88
107
  [experimental]
89
108
  [webhosthidden]
90
109
  [default_interface]
91
- unsealed runtimeclass RootComponentView : ViewComponentView {
110
+ runtimeclass RootComponentView : ViewComponentView {
92
111
  Microsoft.ReactNative.ComponentView GetFocusedComponent();
93
112
  };
94
113
 
95
114
  [experimental]
96
115
  [webhosthidden]
97
116
  [default_interface]
98
- unsealed runtimeclass DebuggingOverlayComponentView : ViewComponentView {
117
+ runtimeclass DebuggingOverlayComponentView : ViewComponentView {
99
118
  };
100
119
 
101
120
  [experimental]
102
121
  [webhosthidden]
103
122
  [default_interface]
104
- unsealed runtimeclass ActivityIndicatorComponentView : ViewComponentView {
123
+ runtimeclass ActivityIndicatorComponentView : ViewComponentView {
105
124
  };
106
125
 
107
126
  [experimental]
108
127
  [webhosthidden]
109
128
  [default_interface]
110
- unsealed runtimeclass WindowsModalHostComponentView : ViewComponentView {
129
+ runtimeclass WindowsModalHostComponentView : ViewComponentView {
111
130
  };
112
131
 
113
132
  [experimental]
114
133
  [webhosthidden]
115
134
  [default_interface]
116
- unsealed runtimeclass ImageComponentView : ViewComponentView {
135
+ runtimeclass ImageComponentView : ViewComponentView {
117
136
  Microsoft.ReactNative.ImageProps ViewProps { get; };
118
137
  };
119
138
 
120
139
  [experimental]
121
140
  [webhosthidden]
122
141
  [default_interface]
123
- unsealed runtimeclass ParagraphComponentView : ViewComponentView {
142
+ runtimeclass ParagraphComponentView : ViewComponentView {
124
143
  };
125
144
 
126
145
  [experimental]
127
146
  [webhosthidden]
128
147
  [default_interface]
129
- unsealed runtimeclass ScrollViewComponentView : ViewComponentView {
148
+ runtimeclass ScrollViewComponentView : ViewComponentView {
130
149
  };
131
150
 
132
151
  [experimental]
133
152
  [webhosthidden]
134
153
  [default_interface]
135
- unsealed runtimeclass UnimplementedNativeViewComponentView : ViewComponentView {
154
+ runtimeclass UnimplementedNativeViewComponentView : ViewComponentView {
136
155
  };
137
156
 
138
157
  [experimental]
139
158
  [webhosthidden]
140
159
  [default_interface]
141
- unsealed runtimeclass WindowsTextInputComponentView : ViewComponentView {
160
+ runtimeclass WindowsTextInputComponentView : ViewComponentView {
142
161
  };
143
162
 
144
163
  } // namespace Microsoft.ReactNative
@@ -0,0 +1,21 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+
4
+ #include "AbiEventEmitter.h"
5
+ #include "JsiWriter.h"
6
+
7
+ namespace winrt::Microsoft::ReactNative::implementation {
8
+
9
+ EventEmitter::EventEmitter(facebook::react::EventEmitter::Shared const &eventEmitter) : m_eventEmitter(eventEmitter) {}
10
+
11
+ void EventEmitter::DispatchEvent(
12
+ winrt::hstring eventName,
13
+ const winrt::Microsoft::ReactNative::JSValueArgWriter &args) {
14
+ m_eventEmitter->dispatchEvent(winrt::to_string(eventName), [args](facebook::jsi::Runtime &runtime) {
15
+ auto writer = winrt::make<JsiWriter>(runtime);
16
+ args(writer);
17
+ return winrt::get_self<JsiWriter>(writer)->MoveResult();
18
+ });
19
+ }
20
+
21
+ } // namespace winrt::Microsoft::ReactNative::implementation
@@ -0,0 +1,23 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+
4
+ #pragma once
5
+
6
+ #include "ViewProps.g.h"
7
+
8
+ #include "EventEmitter.g.h"
9
+ #include <react/renderer/core/EventEmitter.h>
10
+ #include <winrt/Microsoft.ReactNative.h>
11
+
12
+ namespace winrt::Microsoft::ReactNative::implementation {
13
+
14
+ struct EventEmitter : EventEmitterT<EventEmitter> {
15
+ EventEmitter(facebook::react::EventEmitter::Shared const &eventEmitter);
16
+
17
+ void DispatchEvent(winrt::hstring eventName, const winrt::Microsoft::ReactNative::JSValueArgWriter &args);
18
+
19
+ private:
20
+ facebook::react::EventEmitter::Shared const m_eventEmitter;
21
+ };
22
+
23
+ } // namespace winrt::Microsoft::ReactNative::implementation
@@ -65,6 +65,13 @@ void ShadowNode::StateData(winrt::IInspectable tag) noexcept {
65
65
  }
66
66
  }
67
67
 
68
+ winrt::Microsoft::ReactNative::EventEmitter ShadowNode::EventEmitter() const noexcept {
69
+ if (auto shadowNode = m_shadowNode.lock()) {
70
+ return winrt::make<winrt::Microsoft::ReactNative::implementation::EventEmitter>(shadowNode->getEventEmitter());
71
+ }
72
+ return nullptr;
73
+ }
74
+
68
75
  } // namespace winrt::Microsoft::ReactNative::implementation
69
76
 
70
77
  namespace Microsoft::ReactNative {
@@ -8,6 +8,7 @@
8
8
  #include "YogaLayoutableShadowNode.g.h"
9
9
  #include <react/components/rnwcore/EventEmitters.h>
10
10
  #include <unordered_map>
11
+ #include "AbiEventEmitter.h"
11
12
  #include "AbiState.h"
12
13
  #include "AbiViewProps.h"
13
14
 
@@ -42,6 +43,8 @@ struct ShadowNode : ShadowNodeT<ShadowNode> {
42
43
  winrt::IInspectable StateData() const noexcept;
43
44
  void StateData(winrt::IInspectable tag) noexcept;
44
45
 
46
+ winrt::Microsoft::ReactNative::EventEmitter EventEmitter() const noexcept;
47
+
45
48
  protected:
46
49
  facebook::react::ShadowNode::Weak m_shadowNode;
47
50
  winrt::IInspectable m_tag;