react-native-windows 0.78.5 → 0.78.6

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 (189) hide show
  1. package/Directory.Build.props +6 -4
  2. package/Folly/Folly.vcxproj +46 -6
  3. package/Folly/Folly.vcxproj.filters +16 -4
  4. package/Folly/TEMP_UntilFollyUpdate/ConstexprMath.h +26 -18
  5. package/Folly/TEMP_UntilFollyUpdate/Conv.cpp +1205 -0
  6. package/Folly/TEMP_UntilFollyUpdate/chrono/Hardware.h +155 -0
  7. package/Folly/TEMP_UntilFollyUpdate/concurrency/CacheLocality.cpp +633 -0
  8. package/Folly/TEMP_UntilFollyUpdate/{dynamic-inl.h → json/dynamic-inl.h} +3 -4
  9. package/Folly/TEMP_UntilFollyUpdate/{json.cpp → json/json.cpp} +14 -10
  10. package/Folly/TEMP_UntilFollyUpdate/lang/SafeAssert.h +7 -14
  11. package/Folly/TEMP_UntilFollyUpdate/lang/ToAscii.h +6 -6
  12. package/Folly/ThreadNameStub.cpp +10 -0
  13. package/Folly/cgmanifest.json +11 -1
  14. package/Libraries/Components/View/View.windows.js +107 -56
  15. package/Libraries/Components/View/ViewAccessibility.d.ts +60 -1
  16. package/Libraries/Image/Image.windows.js +42 -21
  17. package/Libraries/Modal/Modal.d.ts +7 -0
  18. package/Libraries/Modal/Modal.windows.js +7 -1
  19. package/Libraries/NativeComponent/BaseViewConfig.windows.js +3 -0
  20. package/Libraries/Text/Text.d.ts +18 -0
  21. package/Microsoft.ReactNative/AsynchronousEventBeat.cpp +4 -25
  22. package/Microsoft.ReactNative/AsynchronousEventBeat.h +0 -3
  23. package/Microsoft.ReactNative/Base/FollyIncludes.h +1 -0
  24. package/Microsoft.ReactNative/CallInvoker.cpp +42 -0
  25. package/Microsoft.ReactNative/CallInvoker.h +34 -0
  26. package/Microsoft.ReactNative/{JSDispatcherWriter.cpp → CallInvokerWriter.cpp} +35 -47
  27. package/Microsoft.ReactNative/CallInvokerWriter.h +74 -0
  28. package/Microsoft.ReactNative/CompositionComponentView.idl +0 -5
  29. package/Microsoft.ReactNative/CompositionSwitcher.idl +7 -0
  30. package/Microsoft.ReactNative/Fabric/AbiViewProps.cpp +8 -10
  31. package/Microsoft.ReactNative/Fabric/ComponentView.cpp +4 -1
  32. package/Microsoft.ReactNative/Fabric/Composition/ActivityIndicatorComponentView.cpp +12 -2
  33. package/Microsoft.ReactNative/Fabric/Composition/ActivityIndicatorComponentView.h +2 -0
  34. package/Microsoft.ReactNative/Fabric/Composition/CompositionAnnotationProvider.cpp +100 -0
  35. package/Microsoft.ReactNative/Fabric/Composition/CompositionAnnotationProvider.h +31 -0
  36. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +77 -11
  37. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +43 -1
  38. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.h +7 -0
  39. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +86 -56
  40. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +5 -1
  41. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.cpp +0 -4
  42. package/Microsoft.ReactNative/Fabric/Composition/CompositionUIService.cpp +0 -2
  43. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +118 -63
  44. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +2 -0
  45. package/Microsoft.ReactNative/Fabric/Composition/ContentIslandComponentView.cpp +133 -8
  46. package/Microsoft.ReactNative/Fabric/Composition/ContentIslandComponentView.h +16 -2
  47. package/Microsoft.ReactNative/Fabric/Composition/FocusManager.cpp +4 -2
  48. package/Microsoft.ReactNative/Fabric/Composition/FocusManager.h +9 -1
  49. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +34 -11
  50. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +3 -0
  51. package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentView.cpp +133 -135
  52. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +9 -6
  53. package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.cpp +46 -49
  54. package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.h +6 -1
  55. package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.cpp +13 -8
  56. package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.h +5 -2
  57. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +146 -25
  58. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.h +14 -0
  59. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +160 -12
  60. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +6 -0
  61. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputEventEmitter.cpp +47 -0
  62. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputEventEmitter.h +15 -1
  63. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputProps.cpp +6 -2
  64. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputProps.h +4 -1
  65. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +7 -9
  66. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.h +4 -1
  67. package/Microsoft.ReactNative/Fabric/Composition/Theme.cpp +5 -0
  68. package/Microsoft.ReactNative/Fabric/Composition/TooltipService.cpp +40 -36
  69. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +68 -0
  70. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.h +11 -0
  71. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +70 -13
  72. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +10 -2
  73. package/Microsoft.ReactNative/Fabric/ImageManager.cpp +5 -5
  74. package/Microsoft.ReactNative/Fabric/ImageRequestParams.cpp +26 -0
  75. package/Microsoft.ReactNative/Fabric/WindowsImageManager.cpp +47 -8
  76. package/Microsoft.ReactNative/Fabric/WindowsImageManager.h +10 -1
  77. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/CompositionAccessibilityProps.h +67 -0
  78. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewEventEmitter.cpp +22 -4
  79. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewEventEmitter.h +15 -2
  80. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.cpp +20 -0
  81. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.h +5 -0
  82. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/MouseEvent.h +20 -0
  83. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/HostPlatformColor.h +5 -8
  84. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/PlatformColorParser.h +1 -2
  85. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.cpp +247 -45
  86. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.h +15 -0
  87. package/Microsoft.ReactNative/Fabric/platform/react/threading/MessageQueueThreadImpl.cpp +39 -0
  88. package/Microsoft.ReactNative/Fabric/platform/react/threading/MessageQueueThreadImpl.h +54 -0
  89. package/Microsoft.ReactNative/Fabric/platform/react/threading/TaskDispatchThread.cpp +126 -0
  90. package/Microsoft.ReactNative/Fabric/platform/react/threading/TaskDispatchThread.h +73 -0
  91. package/Microsoft.ReactNative/IReactContext.cpp +17 -0
  92. package/Microsoft.ReactNative/IReactContext.h +1 -0
  93. package/Microsoft.ReactNative/IReactContext.idl +18 -1
  94. package/Microsoft.ReactNative/IReactDispatcher.idl +1 -0
  95. package/Microsoft.ReactNative/IReactModuleBuilder.cpp +12 -0
  96. package/Microsoft.ReactNative/IReactModuleBuilder.h +2 -0
  97. package/Microsoft.ReactNative/IReactModuleBuilder.idl +8 -0
  98. package/Microsoft.ReactNative/JsiApi.cpp +10 -2
  99. package/Microsoft.ReactNative/JsiApi.h +1 -0
  100. package/Microsoft.ReactNative/JsiApi.idl +1 -0
  101. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +0 -3
  102. package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.cpp +2 -3
  103. package/Microsoft.ReactNative/Modules/AlertModule.cpp +7 -12
  104. package/Microsoft.ReactNative/Modules/Animated/AnimationDriver.cpp +2 -1
  105. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedModule.cpp +4 -8
  106. package/Microsoft.ReactNative/Modules/AppStateModule.cpp +2 -2
  107. package/Microsoft.ReactNative/Modules/ClipboardModule.cpp +6 -8
  108. package/Microsoft.ReactNative/Modules/ClipboardModule.h +1 -1
  109. package/Microsoft.ReactNative/Modules/ImageViewManagerModule.cpp +6 -15
  110. package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +13 -24
  111. package/Microsoft.ReactNative/QuirkSettings.cpp +0 -16
  112. package/Microsoft.ReactNative/QuirkSettings.h +0 -3
  113. package/Microsoft.ReactNative/ReactHost/ReactHost.cpp +11 -1
  114. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +78 -68
  115. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +1 -2
  116. package/Microsoft.ReactNative/ReactInstanceSettings.cpp +12 -0
  117. package/Microsoft.ReactNative/ReactInstanceSettings.h +2 -0
  118. package/Microsoft.ReactNative/ReactInstanceSettings.idl +6 -0
  119. package/Microsoft.ReactNative/ReactNativeIsland.idl +3 -0
  120. package/Microsoft.ReactNative/ReactSupport.cpp +44 -11
  121. package/Microsoft.ReactNative/RedBox.cpp +30 -1
  122. package/Microsoft.ReactNative/SchedulerSettings.cpp +4 -4
  123. package/Microsoft.ReactNative/SchedulerSettings.h +1 -1
  124. package/Microsoft.ReactNative/TurboModulesProvider.cpp +30 -12
  125. package/Microsoft.ReactNative/Utils/ImageUtils.h +1 -0
  126. package/Microsoft.ReactNative/Utils/LocalBundleReader.cpp +37 -31
  127. package/Microsoft.ReactNative.Cxx/ApiLoaders/JSRuntimeApi.cpp +1 -0
  128. package/Microsoft.ReactNative.Cxx/ApiLoaders/JSRuntimeApi.inc +2 -0
  129. package/Microsoft.ReactNative.Cxx/ApiLoaders/NodeApi_posix.cpp +1 -1
  130. package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.cpp +94 -27
  131. package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.h +27 -6
  132. package/Microsoft.ReactNative.Cxx/JSI/JsiApiContext.cpp +45 -11
  133. package/Microsoft.ReactNative.Cxx/JSI/JsiApiContext.h +6 -0
  134. package/Microsoft.ReactNative.Cxx/JSI/decorator.h +220 -0
  135. package/Microsoft.ReactNative.Cxx/JSI/instrumentation.h +28 -0
  136. package/Microsoft.ReactNative.Cxx/JSI/jsi-inl.h +6 -0
  137. package/Microsoft.ReactNative.Cxx/JSI/jsi.cpp +241 -4
  138. package/Microsoft.ReactNative.Cxx/JSI/jsi.h +207 -19
  139. package/Microsoft.ReactNative.Cxx/JSValue.cpp +19 -3
  140. package/Microsoft.ReactNative.Cxx/JSValue.h +15 -7
  141. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +2 -2
  142. package/Microsoft.ReactNative.Cxx/NativeModules.h +60 -2
  143. package/Microsoft.ReactNative.Cxx/NodeApiJsiRuntime.cpp +1267 -614
  144. package/Microsoft.ReactNative.Cxx/NodeApiJsiRuntime.h +4 -2
  145. package/Microsoft.ReactNative.Cxx/ReactContext.h +7 -0
  146. package/Microsoft.ReactNative.Cxx/TurboModuleProvider.cpp +11 -13
  147. package/Microsoft.ReactNative.Cxx/TurboModuleProvider.h +2 -3
  148. package/Microsoft.ReactNative.Cxx/node-api/js_native_api.h +81 -20
  149. package/Microsoft.ReactNative.Cxx/node-api/js_native_api_types.h +47 -2
  150. package/Microsoft.ReactNative.Cxx/node-api/js_runtime_api.h +13 -0
  151. package/Microsoft.ReactNative.Cxx/stubs/glog/logging.h +1 -1
  152. package/Microsoft.ReactNative.Managed/ReactContext.cs +3 -1
  153. package/PropertySheets/Generated/PackageVersion.g.props +3 -3
  154. package/PropertySheets/JSEngine.props +1 -1
  155. package/PropertySheets/React.Cpp.props +2 -1
  156. package/PropertySheets/WebView2.props +1 -1
  157. package/PropertySheets/WinUI.props +2 -2
  158. package/ReactCommon/TEMP_UntilReactCommonUpdate/jserrorhandler/JsErrorHandler.cpp +429 -0
  159. package/ReactCommon/cgmanifest.json +1 -1
  160. package/Shared/HermesRuntimeHolder.cpp +6 -0
  161. package/Shared/JSI/ChakraRuntime.cpp +4 -0
  162. package/Shared/JSI/ChakraRuntime.h +2 -0
  163. package/Shared/Modules/BlobModule.cpp +14 -16
  164. package/Shared/Modules/BlobModule.h +3 -1
  165. package/Shared/Shared.vcxitems +11 -7
  166. package/Shared/Shared.vcxitems.filters +6 -1
  167. package/Shared/TurboModuleManager.cpp +0 -15
  168. package/codegen/react/components/rnwcore/ActivityIndicatorView.g.h +6 -6
  169. package/codegen/react/components/rnwcore/AndroidDrawerLayout.g.h +6 -6
  170. package/codegen/react/components/rnwcore/AndroidHorizontalScrollContentView.g.h +6 -6
  171. package/codegen/react/components/rnwcore/AndroidProgressBar.g.h +6 -6
  172. package/codegen/react/components/rnwcore/AndroidSwipeRefreshLayout.g.h +6 -6
  173. package/codegen/react/components/rnwcore/AndroidSwitch.g.h +6 -6
  174. package/codegen/react/components/rnwcore/DebuggingOverlay.g.h +6 -6
  175. package/codegen/react/components/rnwcore/InputAccessory.g.h +6 -6
  176. package/codegen/react/components/rnwcore/ModalHostView.g.h +11 -7
  177. package/codegen/react/components/rnwcore/Props.cpp +2 -1
  178. package/codegen/react/components/rnwcore/Props.h +1 -0
  179. package/codegen/react/components/rnwcore/PullToRefreshView.g.h +6 -6
  180. package/codegen/react/components/rnwcore/SafeAreaView.g.h +6 -6
  181. package/codegen/react/components/rnwcore/Switch.g.h +6 -6
  182. package/codegen/react/components/rnwcore/UnimplementedNativeView.g.h +6 -6
  183. package/index.windows.js +4 -2
  184. package/package.json +3 -4
  185. package/src/private/specs/components/RCTModalHostViewNativeComponent.js +8 -0
  186. package/stubs/glog/logging.h +1 -1
  187. package/Microsoft.ReactNative/JSDispatcherWriter.h +0 -47
  188. package/Microsoft.ReactNative/SynchronousEventBeat.cpp +0 -51
  189. package/Microsoft.ReactNative/SynchronousEventBeat.h +0 -31
@@ -198,7 +198,7 @@ void RegisterSwitchNativeComponent(
198
198
  userData->UpdateEventEmitter(std::make_shared<SwitchEventEmitter>(eventEmitter));
199
199
  });
200
200
 
201
- if constexpr (&TUserData::FinalizeUpdate != &BaseSwitch<TUserData>::FinalizeUpdate) {
201
+ if CONSTEXPR_SUPPORTED_ON_VIRTUAL_FN_ADDRESS (&TUserData::FinalizeUpdate != &BaseSwitch<TUserData>::FinalizeUpdate) {
202
202
  builder.SetFinalizeUpdateHandler([](const winrt::Microsoft::ReactNative::ComponentView &view,
203
203
  winrt::Microsoft::ReactNative::ComponentViewUpdateMask mask) noexcept {
204
204
  auto userData = view.UserData().as<TUserData>();
@@ -206,7 +206,7 @@ void RegisterSwitchNativeComponent(
206
206
  });
207
207
  }
208
208
 
209
- if constexpr (&TUserData::UpdateState != &BaseSwitch<TUserData>::UpdateState) {
209
+ if CONSTEXPR_SUPPORTED_ON_VIRTUAL_FN_ADDRESS (&TUserData::UpdateState != &BaseSwitch<TUserData>::UpdateState) {
210
210
  builder.SetUpdateStateHandler([](const winrt::Microsoft::ReactNative::ComponentView &view,
211
211
  const winrt::Microsoft::ReactNative::IComponentState &newState) noexcept {
212
212
  auto userData = view.UserData().as<TUserData>();
@@ -220,7 +220,7 @@ void RegisterSwitchNativeComponent(
220
220
  userData->HandleCommand(view, args);
221
221
  });
222
222
 
223
- if constexpr (&TUserData::MountChildComponentView != &BaseSwitch<TUserData>::MountChildComponentView) {
223
+ if CONSTEXPR_SUPPORTED_ON_VIRTUAL_FN_ADDRESS (&TUserData::MountChildComponentView != &BaseSwitch<TUserData>::MountChildComponentView) {
224
224
  builder.SetMountChildComponentViewHandler([](const winrt::Microsoft::ReactNative::ComponentView &view,
225
225
  const winrt::Microsoft::ReactNative::MountChildComponentViewArgs &args) noexcept {
226
226
  auto userData = view.UserData().as<TUserData>();
@@ -228,7 +228,7 @@ void RegisterSwitchNativeComponent(
228
228
  });
229
229
  }
230
230
 
231
- if constexpr (&TUserData::UnmountChildComponentView != &BaseSwitch<TUserData>::UnmountChildComponentView) {
231
+ if CONSTEXPR_SUPPORTED_ON_VIRTUAL_FN_ADDRESS (&TUserData::UnmountChildComponentView != &BaseSwitch<TUserData>::UnmountChildComponentView) {
232
232
  builder.SetUnmountChildComponentViewHandler([](const winrt::Microsoft::ReactNative::ComponentView &view,
233
233
  const winrt::Microsoft::ReactNative::UnmountChildComponentViewArgs &args) noexcept {
234
234
  auto userData = view.UserData().as<TUserData>();
@@ -238,13 +238,13 @@ void RegisterSwitchNativeComponent(
238
238
 
239
239
  compBuilder.SetViewComponentViewInitializer([](const winrt::Microsoft::ReactNative::ComponentView &view) noexcept {
240
240
  auto userData = winrt::make_self<TUserData>();
241
- if constexpr (&TUserData::Initialize != &BaseSwitch<TUserData>::Initialize) {
241
+ if CONSTEXPR_SUPPORTED_ON_VIRTUAL_FN_ADDRESS (&TUserData::Initialize != &BaseSwitch<TUserData>::Initialize) {
242
242
  userData->Initialize(view);
243
243
  }
244
244
  view.UserData(*userData);
245
245
  });
246
246
 
247
- if constexpr (&TUserData::CreateVisual != &BaseSwitch<TUserData>::CreateVisual) {
247
+ if CONSTEXPR_SUPPORTED_ON_VIRTUAL_FN_ADDRESS (&TUserData::CreateVisual != &BaseSwitch<TUserData>::CreateVisual) {
248
248
  compBuilder.SetCreateVisualHandler([](const winrt::Microsoft::ReactNative::ComponentView &view) noexcept {
249
249
  auto userData = view.UserData().as<TUserData>();
250
250
  return userData->CreateVisual(view);
@@ -141,7 +141,7 @@ void RegisterUnimplementedNativeViewNativeComponent(
141
141
  userData->UpdateEventEmitter(std::make_shared<UnimplementedNativeViewEventEmitter>(eventEmitter));
142
142
  });
143
143
 
144
- if constexpr (&TUserData::FinalizeUpdate != &BaseUnimplementedNativeView<TUserData>::FinalizeUpdate) {
144
+ if CONSTEXPR_SUPPORTED_ON_VIRTUAL_FN_ADDRESS (&TUserData::FinalizeUpdate != &BaseUnimplementedNativeView<TUserData>::FinalizeUpdate) {
145
145
  builder.SetFinalizeUpdateHandler([](const winrt::Microsoft::ReactNative::ComponentView &view,
146
146
  winrt::Microsoft::ReactNative::ComponentViewUpdateMask mask) noexcept {
147
147
  auto userData = view.UserData().as<TUserData>();
@@ -149,7 +149,7 @@ void RegisterUnimplementedNativeViewNativeComponent(
149
149
  });
150
150
  }
151
151
 
152
- if constexpr (&TUserData::UpdateState != &BaseUnimplementedNativeView<TUserData>::UpdateState) {
152
+ if CONSTEXPR_SUPPORTED_ON_VIRTUAL_FN_ADDRESS (&TUserData::UpdateState != &BaseUnimplementedNativeView<TUserData>::UpdateState) {
153
153
  builder.SetUpdateStateHandler([](const winrt::Microsoft::ReactNative::ComponentView &view,
154
154
  const winrt::Microsoft::ReactNative::IComponentState &newState) noexcept {
155
155
  auto userData = view.UserData().as<TUserData>();
@@ -157,7 +157,7 @@ void RegisterUnimplementedNativeViewNativeComponent(
157
157
  });
158
158
  }
159
159
 
160
- if constexpr (&TUserData::MountChildComponentView != &BaseUnimplementedNativeView<TUserData>::MountChildComponentView) {
160
+ if CONSTEXPR_SUPPORTED_ON_VIRTUAL_FN_ADDRESS (&TUserData::MountChildComponentView != &BaseUnimplementedNativeView<TUserData>::MountChildComponentView) {
161
161
  builder.SetMountChildComponentViewHandler([](const winrt::Microsoft::ReactNative::ComponentView &view,
162
162
  const winrt::Microsoft::ReactNative::MountChildComponentViewArgs &args) noexcept {
163
163
  auto userData = view.UserData().as<TUserData>();
@@ -165,7 +165,7 @@ void RegisterUnimplementedNativeViewNativeComponent(
165
165
  });
166
166
  }
167
167
 
168
- if constexpr (&TUserData::UnmountChildComponentView != &BaseUnimplementedNativeView<TUserData>::UnmountChildComponentView) {
168
+ if CONSTEXPR_SUPPORTED_ON_VIRTUAL_FN_ADDRESS (&TUserData::UnmountChildComponentView != &BaseUnimplementedNativeView<TUserData>::UnmountChildComponentView) {
169
169
  builder.SetUnmountChildComponentViewHandler([](const winrt::Microsoft::ReactNative::ComponentView &view,
170
170
  const winrt::Microsoft::ReactNative::UnmountChildComponentViewArgs &args) noexcept {
171
171
  auto userData = view.UserData().as<TUserData>();
@@ -175,13 +175,13 @@ void RegisterUnimplementedNativeViewNativeComponent(
175
175
 
176
176
  compBuilder.SetViewComponentViewInitializer([](const winrt::Microsoft::ReactNative::ComponentView &view) noexcept {
177
177
  auto userData = winrt::make_self<TUserData>();
178
- if constexpr (&TUserData::Initialize != &BaseUnimplementedNativeView<TUserData>::Initialize) {
178
+ if CONSTEXPR_SUPPORTED_ON_VIRTUAL_FN_ADDRESS (&TUserData::Initialize != &BaseUnimplementedNativeView<TUserData>::Initialize) {
179
179
  userData->Initialize(view);
180
180
  }
181
181
  view.UserData(*userData);
182
182
  });
183
183
 
184
- if constexpr (&TUserData::CreateVisual != &BaseUnimplementedNativeView<TUserData>::CreateVisual) {
184
+ if CONSTEXPR_SUPPORTED_ON_VIRTUAL_FN_ADDRESS (&TUserData::CreateVisual != &BaseUnimplementedNativeView<TUserData>::CreateVisual) {
185
185
  compBuilder.SetCreateVisualHandler([](const winrt::Microsoft::ReactNative::ComponentView &view) noexcept {
186
186
  auto userData = view.UserData().as<TUserData>();
187
187
  return userData->CreateVisual(view);
package/index.windows.js CHANGED
@@ -48,6 +48,7 @@ import typeof TouchableNativeFeedback from './Libraries/Components/Touchable/Tou
48
48
  import typeof TouchableOpacity from './Libraries/Components/Touchable/TouchableOpacity';
49
49
  import typeof TouchableWithoutFeedback from './Libraries/Components/Touchable/TouchableWithoutFeedback';
50
50
  import typeof View from './Libraries/Components/View/View';
51
+ import typeof RegisterCallableModule from './Libraries/Core/registerCallableModule';
51
52
  import typeof NativeEventEmitter from './Libraries/EventEmitter/NativeEventEmitter';
52
53
  import typeof RCTDeviceEventEmitter from './Libraries/EventEmitter/RCTDeviceEventEmitter';
53
54
  import typeof RCTNativeAppEventEmitter from './Libraries/EventEmitter/RCTNativeAppEventEmitter';
@@ -107,6 +108,9 @@ const invariant = require('invariant');
107
108
  export type {HostComponent, HostInstance};
108
109
 
109
110
  module.exports = {
111
+ get registerCallableModule(): RegisterCallableModule {
112
+ return require('./Libraries/Core/registerCallableModule').default;
113
+ },
110
114
  // Components
111
115
  get AccessibilityInfo(): AccessibilityInfo {
112
116
  return require('./Libraries/Components/AccessibilityInfo/AccessibilityInfo')
@@ -286,7 +290,6 @@ module.exports = {
286
290
  get NativeEventEmitter(): NativeEventEmitter {
287
291
  return require('./Libraries/EventEmitter/NativeEventEmitter').default;
288
292
  },
289
- // $FlowFixMe[value-as-type]
290
293
  get Networking(): Networking {
291
294
  return require('./Libraries/Network/RCTNetworking').default;
292
295
  },
@@ -308,7 +311,6 @@ module.exports = {
308
311
  );
309
312
  return require('./Libraries/PushNotificationIOS/PushNotificationIOS');
310
313
  },
311
- // $FlowFixMe[value-as-type]
312
314
  get Settings(): Settings {
313
315
  return require('./Libraries/Settings/Settings');
314
316
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-windows",
3
- "version": "0.78.5",
3
+ "version": "0.78.6",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -26,7 +26,7 @@
26
26
  "@react-native-community/cli": "^15.0.0",
27
27
  "@react-native-community/cli-platform-android": "^15.0.0",
28
28
  "@react-native-community/cli-platform-ios": "^15.0.0",
29
- "@react-native-windows/cli": "0.78.2",
29
+ "@react-native-windows/cli": "0.78.3",
30
30
  "@react-native/assets": "1.0.0",
31
31
  "@react-native/assets-registry": "0.78.0",
32
32
  "@react-native/codegen": "0.78.0",
@@ -57,7 +57,6 @@
57
57
  "promise": "^8.3.0",
58
58
  "react-devtools-core": "^6.0.1",
59
59
  "react-refresh": "^0.14.0",
60
- "react-shallow-renderer": "^16.15.0",
61
60
  "regenerator-runtime": "^0.13.2",
62
61
  "scheduler": "0.25.0",
63
62
  "semver": "^7.1.3",
@@ -68,7 +67,7 @@
68
67
  "yargs": "^17.6.2"
69
68
  },
70
69
  "devDependencies": {
71
- "@react-native-windows/codegen": "0.78.1",
70
+ "@react-native-windows/codegen": "0.78.2",
72
71
  "@react-native/metro-config": "0.78.0-nightly-20241231-a3c8e2137",
73
72
  "@rnw-scripts/babel-react-native-config": "0.0.0",
74
73
  "@rnw-scripts/eslint-config": "1.2.32",
@@ -139,6 +139,14 @@ type NativeProps = $ReadOnly<{|
139
139
  * The `identifier` is the unique number for identifying Modal components.
140
140
  */
141
141
  identifier?: WithDefault<Int32, 0>,
142
+
143
+ /*
144
+ title for the modal
145
+ windows only
146
+ */
147
+ // [Windows
148
+ title?: WithDefault<string, null>,
149
+ // Windows]
142
150
  |}>;
143
151
 
144
152
  export default (codegenNativeComponent<NativeProps>('ModalHostView', {
@@ -72,7 +72,7 @@ inline std::ostream &GetNullLog() noexcept {
72
72
  #define LOG_EVERY_N(severity, n) GlogStub::GetNullLog()
73
73
 
74
74
  typedef int LogSeverity;
75
- inline void FlushLogFiles(LogSeverity min_severity) {}
75
+ inline void FlushLogFiles(LogSeverity) {}
76
76
 
77
77
  #define google GlogStub
78
78
  static const int GLOG_INFO = 1;
@@ -1,47 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
- #pragma once
4
-
5
- #include <JSI/LongLivedJsiValue.h>
6
- #include <functional/functor.h>
7
- #include "DynamicWriter.h"
8
- #include "JsiWriter.h"
9
- #include "winrt/Microsoft.ReactNative.h"
10
-
11
- namespace winrt::Microsoft::ReactNative {
12
-
13
- // IJSValueWriter to ensure that JsiWriter is always used from JSDispatcher.
14
- // In case if writing is done outside of JSDispatcher, it uses DynamicWriter to create
15
- // folly::dynamic which then is written to JsiWriter in JSDispatcher.
16
- struct JSDispatcherWriter : winrt::implements<JSDispatcherWriter, IJSValueWriter> {
17
- ~JSDispatcherWriter();
18
- JSDispatcherWriter(
19
- IReactDispatcher const &jsDispatcher,
20
- std::weak_ptr<LongLivedJsiRuntime> jsiRuntimeHolder) noexcept;
21
- void WithResultArgs(Mso::Functor<void(facebook::jsi::Runtime &rt, facebook::jsi::Value const *args, size_t argCount)>
22
- handler) noexcept;
23
-
24
- public: // IJSValueWriter
25
- void WriteNull() noexcept;
26
- void WriteBoolean(bool value) noexcept;
27
- void WriteInt64(int64_t value) noexcept;
28
- void WriteDouble(double value) noexcept;
29
- void WriteString(const winrt::hstring &value) noexcept;
30
- void WriteObjectBegin() noexcept;
31
- void WritePropertyName(const winrt::hstring &name) noexcept;
32
- void WriteObjectEnd() noexcept;
33
- void WriteArrayBegin() noexcept;
34
- void WriteArrayEnd() noexcept;
35
-
36
- private:
37
- IJSValueWriter GetWriter() noexcept;
38
-
39
- private:
40
- IReactDispatcher m_jsDispatcher;
41
- std::weak_ptr<LongLivedJsiRuntime> m_jsiRuntimeHolder;
42
- winrt::com_ptr<DynamicWriter> m_dynamicWriter;
43
- winrt::com_ptr<JsiWriter> m_jsiWriter;
44
- IJSValueWriter m_writer;
45
- };
46
-
47
- } // namespace winrt::Microsoft::ReactNative
@@ -1,51 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
-
4
- #include "SynchronousEventBeat.h"
5
-
6
- namespace Microsoft::ReactNative {
7
-
8
- SynchronousEventBeat::SynchronousEventBeat(
9
- std::shared_ptr<facebook::react::EventBeat::OwnerBox> const ownerBox,
10
- const winrt::Microsoft::ReactNative::ReactContext &context,
11
- facebook::react::RuntimeExecutor runtimeExecutor,
12
- std::shared_ptr<facebook::react::RuntimeScheduler> runtimeScheduler)
13
- : EventBeat(ownerBox, *runtimeScheduler),
14
- m_context(context),
15
- m_runtimeExecutor(runtimeExecutor),
16
- m_runtimeScheduler(std::move(runtimeScheduler)) {}
17
-
18
- void SynchronousEventBeat::beat(facebook::jsi::Runtime &runtime) const {
19
- if (!this->isEventBeatRequested_) {
20
- return;
21
- }
22
- isEventBeatRequested_ = false;
23
- if (beatCallback_) {
24
- beatCallback_(runtime);
25
- }
26
- }
27
-
28
- void SynchronousEventBeat::induce() const {
29
- if (!isEventBeatRequested_) {
30
- return;
31
- }
32
-
33
- if (m_context.JSDispatcher().HasThreadAccess()) {
34
- lockExecutorAndBeat();
35
- }
36
- }
37
-
38
- void SynchronousEventBeat::lockExecutorAndBeat() const {
39
- if (!this->isEventBeatRequested_) {
40
- return;
41
- }
42
-
43
- if (m_runtimeScheduler) {
44
- m_runtimeScheduler->executeNowOnTheSameThread([this](facebook::jsi::Runtime &runtime) { beat(runtime); });
45
- } else {
46
- facebook::react::executeSynchronouslyOnSameThread_CAN_DEADLOCK(
47
- m_runtimeExecutor, [this](facebook::jsi::Runtime &runtime) { beat(runtime); });
48
- }
49
- }
50
-
51
- } // namespace Microsoft::ReactNative
@@ -1,31 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
-
4
- #include <NativeModules.h>
5
- #include <ReactCommon/RuntimeExecutor.h>
6
- #include <react/renderer/core/EventBeat.h>
7
- #include <react/renderer/runtimescheduler/RuntimeScheduler.h>
8
-
9
- namespace Microsoft::ReactNative {
10
-
11
- class SynchronousEventBeat final : public facebook::react::EventBeat {
12
- public:
13
- SynchronousEventBeat(
14
- std::shared_ptr<facebook::react::EventBeat::OwnerBox> const ownerBox,
15
- const winrt::Microsoft::ReactNative::ReactContext &context,
16
- facebook::react::RuntimeExecutor runtimeExecutor,
17
- std::shared_ptr<facebook::react::RuntimeScheduler> runtimeScheduler);
18
-
19
- void beat(facebook::jsi::Runtime &runtime) const;
20
-
21
- void induce() const;
22
-
23
- void lockExecutorAndBeat() const;
24
-
25
- private:
26
- winrt::Microsoft::ReactNative::ReactContext m_context;
27
- facebook::react::RuntimeExecutor m_runtimeExecutor;
28
- std::shared_ptr<facebook::react::RuntimeScheduler> m_runtimeScheduler;
29
- };
30
-
31
- } // namespace Microsoft::ReactNative