react-native-windows 0.82.1 → 0.83.0-preview.0

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 (232) hide show
  1. package/.flowconfig +2 -7
  2. package/Libraries/Animated/components/AnimatedFlatList.js +5 -3
  3. package/Libraries/Animated/components/AnimatedImage.js +4 -3
  4. package/Libraries/Animated/components/AnimatedSectionList.js +2 -2
  5. package/Libraries/Animated/components/AnimatedText.js +7 -3
  6. package/Libraries/Animated/components/AnimatedView.js +3 -2
  7. package/Libraries/Animated/createAnimatedComponent.js +24 -12
  8. package/Libraries/Animated/nodes/AnimatedColor.js +26 -10
  9. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +43 -15
  10. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +43 -15
  11. package/Libraries/Components/ActivityIndicator/ActivityIndicator.d.ts +2 -2
  12. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.d.ts +2 -2
  13. package/Libraries/Components/Glyph/Glyph.js +4 -1
  14. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.d.ts +2 -2
  15. package/Libraries/Components/RefreshControl/RefreshControl.d.ts +3 -3
  16. package/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +2 -2
  17. package/Libraries/Components/ScrollView/ScrollView.js +1 -0
  18. package/Libraries/Components/ScrollView/ScrollView.windows.js +1 -0
  19. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +6 -6
  20. package/Libraries/Components/Switch/Switch.d.ts +2 -2
  21. package/Libraries/Components/Switch/Switch.windows.js +1 -1
  22. package/Libraries/Components/TextInput/TextInput.d.ts +2 -5
  23. package/Libraries/Components/TextInput/TextInput.js +6 -0
  24. package/Libraries/Components/TextInput/TextInput.windows.js +6 -0
  25. package/Libraries/Components/Touchable/TouchableBounce.js +7 -7
  26. package/Libraries/Components/Touchable/TouchableBounce.windows.js +7 -7
  27. package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +1 -1
  28. package/Libraries/Components/View/ReactNativeStyleAttributes.js +19 -1
  29. package/Libraries/Components/View/View.d.ts +2 -2
  30. package/Libraries/Components/View/View.windows.js +0 -1
  31. package/Libraries/Components/View/ViewNativeComponent.js +13 -1
  32. package/Libraries/Core/ReactNativeVersion.js +3 -3
  33. package/Libraries/Core/setUpPerformance.js +2 -0
  34. package/Libraries/Debugging/DebuggingOverlay.js +14 -14
  35. package/Libraries/Debugging/DebuggingOverlayRegistry.js +8 -2
  36. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +5 -2
  37. package/Libraries/Image/Image.d.ts +3 -3
  38. package/Libraries/Image/ImageInjection.js +3 -6
  39. package/Libraries/Image/ImageTypes.flow.js +3 -7
  40. package/Libraries/Lists/FlatList.js +8 -8
  41. package/Libraries/Lists/SectionList.d.ts +5 -1
  42. package/Libraries/Lists/ViewabilityHelper.js +1 -1
  43. package/Libraries/Lists/VirtualizedList.js +1 -0
  44. package/Libraries/LogBox/UI/AnsiHighlight.js +4 -1
  45. package/Libraries/NativeComponent/BaseViewConfig.android.js +11 -2
  46. package/Libraries/NativeComponent/NativeComponentRegistry.d.ts +98 -0
  47. package/Libraries/NativeComponent/NativeComponentRegistry.js +2 -0
  48. package/Libraries/NativeComponent/NativeComponentRegistryUnstable.js +3 -1
  49. package/Libraries/NativeComponent/ViewConfigIgnore.windows.js +45 -0
  50. package/Libraries/Network/RCTNetworking.android.js +3 -1
  51. package/Libraries/Network/RCTNetworking.ios.js +3 -0
  52. package/Libraries/Network/RCTNetworking.windows.js +3 -0
  53. package/Libraries/Network/XMLHttpRequest.js +1 -41
  54. package/Libraries/Pressability/usePressability.js +14 -3
  55. package/Libraries/ReactNative/PaperUIManager.windows.js +3 -3
  56. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +20 -82
  57. package/Libraries/ReactNative/getNativeComponentAttributes.js +12 -0
  58. package/Libraries/Renderer/implementations/ReactFabric-dev.js +6759 -4478
  59. package/Libraries/Renderer/implementations/ReactFabric-prod.js +3169 -3119
  60. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +4732 -3535
  61. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +6646 -4070
  62. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +3136 -2825
  63. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +4761 -3312
  64. package/Libraries/Renderer/shims/ReactNative.js +3 -1
  65. package/Libraries/Renderer/shims/ReactNativeTypes.js +2 -1
  66. package/Libraries/Renderer/shims/ReactNativeTypes.windows.js +2 -1
  67. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +1 -1
  68. package/Libraries/StyleSheet/StyleSheetTypes.js +44 -0
  69. package/Libraries/StyleSheet/processBackgroundPosition.js +284 -0
  70. package/Libraries/StyleSheet/processBackgroundRepeat.js +105 -0
  71. package/Libraries/StyleSheet/processBackgroundSize.js +104 -0
  72. package/Libraries/Text/Text.d.ts +2 -2
  73. package/Libraries/Text/TextNativeComponent.js +10 -0
  74. package/Libraries/TurboModule/TurboModuleRegistry.js +3 -9
  75. package/Libraries/Utilities/DevLoadingView.js +14 -6
  76. package/Libraries/Utilities/HMRClient.js +13 -5
  77. package/Microsoft.ReactNative/Base/CxxReactIncludes.h +11 -0
  78. package/Microsoft.ReactNative/CompositionComponentView.idl +2 -0
  79. package/Microsoft.ReactNative/CompositionHwndHost.idl +1 -0
  80. package/Microsoft.ReactNative/Fabric/ComponentView.cpp +1 -1
  81. package/Microsoft.ReactNative/Fabric/ComponentView.h +1 -1
  82. package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.cpp +10 -40
  83. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +3 -80
  84. package/Microsoft.ReactNative/Fabric/Composition/ContentIslandComponentView.cpp +45 -12
  85. package/Microsoft.ReactNative/Fabric/Composition/ContentIslandComponentView.h +8 -0
  86. package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentView.cpp +61 -74
  87. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.h +4 -0
  88. package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.h +1 -0
  89. package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.cpp +4 -3
  90. package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.h +2 -1
  91. package/Microsoft.ReactNative/Fabric/Composition/ReactNativeWindow.cpp +245 -0
  92. package/Microsoft.ReactNative/Fabric/Composition/ReactNativeWindow.h +80 -0
  93. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentDescriptor.h +20 -36
  94. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +70 -49
  95. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +4 -1
  96. package/Microsoft.ReactNative/Fabric/Composition/UriImageManager.cpp +5 -0
  97. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/WindowsTextLayoutManager.cpp +7 -2
  98. package/Microsoft.ReactNative/IReactCompositionViewComponentBuilder.idl +1 -0
  99. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +1 -1
  100. package/Microsoft.ReactNative/Modules/ImageViewManagerModule.cpp +1 -1
  101. package/Microsoft.ReactNative/Modules/LogBoxModule.cpp +20 -94
  102. package/Microsoft.ReactNative/Modules/LogBoxModule.h +1 -3
  103. package/Microsoft.ReactNative/Pch/pch.h +2 -0
  104. package/Microsoft.ReactNative/ReactHost/CrashManager.cpp +5 -0
  105. package/Microsoft.ReactNative/ReactHost/ReactNativeHeaders.h +1 -0
  106. package/Microsoft.ReactNative/ReactNativeAppBuilder.cpp +0 -41
  107. package/Microsoft.ReactNative/ReactNativeAppBuilder.idl +0 -11
  108. package/Microsoft.ReactNative/ReactNativeIsland.idl +2 -3
  109. package/Microsoft.ReactNative/ReactNativeWin32App.cpp +31 -101
  110. package/Microsoft.ReactNative/ReactNativeWin32App.h +2 -13
  111. package/Microsoft.ReactNative/ReactNativeWindow.idl +44 -0
  112. package/Microsoft.ReactNative.Cxx/AutoDraw.h +9 -1
  113. package/Microsoft.ReactNative.Cxx/ReactCommon/CallInvoker.h +13 -16
  114. package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModule.h +24 -36
  115. package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModuleUtils.h +5 -8
  116. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/AString.h +8 -6
  117. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Array.h +32 -49
  118. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Base.h +27 -76
  119. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Bool.h +4 -2
  120. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/CallbackWrapper.h +19 -18
  121. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Class.h +25 -48
  122. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Convert.h +38 -31
  123. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Error.h +11 -6
  124. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/EventEmitter.h +47 -45
  125. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Function.h +69 -89
  126. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/HighResTimeStamp.h +8 -8
  127. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/LongLivedObject.h +6 -6
  128. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Number.h +16 -8
  129. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Object.h +17 -24
  130. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Promise.h +17 -17
  131. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Value.h +20 -29
  132. package/Microsoft.ReactNative.Cxx/ReactCommon/react/debug/react_native_assert.h +2 -7
  133. package/Microsoft.ReactNative.Cxx/ReactCommon/react/timing/primitives.h +127 -115
  134. package/PropertySheets/External/Microsoft.ReactNative.Composition.CppLib.props +10 -0
  135. package/PropertySheets/External/Microsoft.ReactNative.Uwp.CppLib.props +10 -0
  136. package/PropertySheets/Generated/PackageVersion.g.props +5 -5
  137. package/PropertySheets/Warnings.props +2 -1
  138. package/ReactCommon/ReactCommon.vcxproj +21 -12
  139. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/CxxNativeModule.cpp +2 -2
  140. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/Instance.cpp +381 -0
  141. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSExecutor.cpp +49 -0
  142. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSIndexedRAMBundle.cpp +145 -0
  143. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/MethodCall.cpp +100 -0
  144. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/ModuleRegistry.cpp +256 -0
  145. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/NativeToJsBridge.cpp +13 -4
  146. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/RAMBundleRegistry.cpp +93 -0
  147. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/ReactMarker.cpp +149 -0
  148. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/TraceSection.h +25 -35
  149. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +86 -67
  150. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsiexecutor/jsireact/JSIExecutor.cpp +629 -0
  151. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsiexecutor/jsireact/JSINativeModules.cpp +123 -0
  152. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.cpp +84 -68
  153. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.h +31 -35
  154. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/Utf8.h +4 -5
  155. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/network/HttpUtils.cpp +2 -1
  156. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModule.h +24 -36
  157. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/dom/NativeDOM.h +28 -66
  158. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/webperformance/NativePerformance.cpp +414 -0
  159. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +3 -3
  160. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/image/conversions.h +8 -4
  161. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/ParagraphShadowNode.cpp +19 -16
  162. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/platform/android/react/renderer/components/text/ParagraphState.h +8 -9
  163. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityPrimitives.h +25 -95
  164. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/accessibilityPropsConversions.h +85 -42
  165. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/EventDispatcher.cpp +81 -0
  166. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/EventQueueProcessor.cpp +140 -0
  167. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/imagemanager/primitives.h +25 -31
  168. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/uimanager/UIManager.cpp +746 -0
  169. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp +702 -0
  170. package/Scripts/Tfs/Layout-Desktop-Headers.ps1 +1 -15
  171. package/Scripts/creaternwapp.cmd +1 -1
  172. package/Scripts/perf/compare-results.js +357 -0
  173. package/Scripts/perf/create-perf-test.js +343 -0
  174. package/Scripts/perf/post-pr-comment.js +210 -0
  175. package/Shared/Hermes/HermesRuntimeTargetDelegate.cpp +8 -0
  176. package/Shared/Hermes/HermesRuntimeTargetDelegate.h +3 -0
  177. package/Shared/Shared.vcxitems +24 -12
  178. package/Shared/Shared.vcxitems.filters +11 -3
  179. package/codegen/NativeIntersectionObserverSpec.g.h +2 -0
  180. package/codegen/NativeNetworkingIOSSpec.g.h +2 -0
  181. package/codegen/NativePerformanceSpec.g.h +6 -0
  182. package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +229 -139
  183. package/codegen/react/components/rnwcore/ActivityIndicatorView.g.h +2 -1
  184. package/codegen/react/components/rnwcore/AndroidDrawerLayout.g.h +42 -25
  185. package/codegen/react/components/rnwcore/AndroidHorizontalScrollContentView.g.h +2 -1
  186. package/codegen/react/components/rnwcore/AndroidProgressBar.g.h +2 -1
  187. package/codegen/react/components/rnwcore/AndroidSwipeRefreshLayout.g.h +11 -6
  188. package/codegen/react/components/rnwcore/AndroidSwitch.g.h +11 -6
  189. package/codegen/react/components/rnwcore/DebuggingOverlay.g.h +1 -0
  190. package/codegen/react/components/rnwcore/InputAccessory.g.h +2 -1
  191. package/codegen/react/components/rnwcore/ModalHostView.g.h +40 -23
  192. package/codegen/react/components/rnwcore/Props.cpp +6 -1
  193. package/codegen/react/components/rnwcore/Props.h +1 -0
  194. package/codegen/react/components/rnwcore/PullToRefreshView.g.h +11 -6
  195. package/codegen/react/components/rnwcore/SafeAreaView.g.h +1 -0
  196. package/codegen/react/components/rnwcore/Switch.g.h +11 -6
  197. package/codegen/react/components/rnwcore/UnimplementedNativeView.g.h +2 -1
  198. package/codegen/react/components/rnwcore/VirtualView.g.h +41 -8
  199. package/codegen/react/components/rnwcore/VirtualViewExperimental.g.h +45 -8
  200. package/codegen/rnwcoreJSI.h +3973 -6059
  201. package/index.js +6 -0
  202. package/index.windows.js +6 -0
  203. package/jest/mockComponent.js +6 -6
  204. package/jest/setup.js +15 -10
  205. package/package.json +27 -27
  206. package/src/private/components/virtualview/VirtualView.js +22 -27
  207. package/src/private/components/virtualview/VirtualViewExperimentalNativeComponent.js +6 -0
  208. package/src/private/featureflags/ReactNativeFeatureFlags.js +100 -19
  209. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +18 -3
  210. package/src/private/setup/setUpDefaultReactNativeEnvironment.js +6 -0
  211. package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +1 -1
  212. package/src/private/specs_DEPRECATED/modules/NativeNetworkingIOS.js +1 -0
  213. package/src/private/webapis/dom/nodes/ReactNativeElement.js +12 -2
  214. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +76 -15
  215. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +1 -0
  216. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +1 -0
  217. package/src/private/webapis/performance/ResourceTiming.js +31 -4
  218. package/src/private/webapis/performance/internals/RawPerformanceEntry.js +4 -1
  219. package/src/private/webapis/performance/specs/NativePerformance.js +3 -0
  220. package/stubs/double-conversion/double-conversion.h +5 -0
  221. package/templates/cpp-app/template.config.js +1 -1
  222. package/templates/cpp-app/windows/MyApp/MyApp.vcxproj +3 -1
  223. package/templates/cpp-lib/template.config.js +1 -1
  224. package/templates/cpp-lib/windows/MyLib/MyLib.vcxproj +1 -1
  225. package/types/index.d.ts +1 -0
  226. package/types/public/ReactNativeTypes.d.ts +115 -2
  227. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +0 -152
  228. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/conversions.h +0 -1574
  229. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/ShadowNode.cpp +0 -528
  230. package/Scripts/OpenSSL.nuspec +0 -39
  231. package/Scripts/OpenSSL.targets +0 -36
  232. package/codegen/rnwcoreJSI-generated.cpp +0 -3470
@@ -33,9 +33,9 @@ void ComponentDescriptorRegistry::add(
33
33
  std::unique_lock lock(mutex_);
34
34
 
35
35
  auto componentDescriptor = componentDescriptorProvider.constructor(
36
- {parameters_.eventDispatcher,
37
- parameters_.contextContainer,
38
- componentDescriptorProvider.flavor});
36
+ {.eventDispatcher = parameters_.eventDispatcher,
37
+ .contextContainer = parameters_.contextContainer,
38
+ .flavor = componentDescriptorProvider.flavor});
39
39
  react_native_assert(
40
40
  componentDescriptor->getComponentHandle() ==
41
41
  componentDescriptorProvider.handle);
@@ -18,7 +18,8 @@
18
18
 
19
19
  namespace facebook::react {
20
20
 
21
- inline void fromRawValue(const PropsParserContext &context, const RawValue &value, ImageSource &result) {
21
+ inline void fromRawValue(const PropsParserContext &context, const RawValue &value, ImageSource &result)
22
+ {
22
23
  if (value.hasType<std::string>()) {
23
24
  result = {
24
25
  /* .type = */ ImageSource::Type::Remote,
@@ -111,11 +112,13 @@ inline void fromRawValue(const PropsParserContext &context, const RawValue &valu
111
112
  result.type = ImageSource::Type::Invalid;
112
113
  }
113
114
 
114
- inline std::string toString(const ImageSource &value) {
115
+ inline std::string toString(const ImageSource &value)
116
+ {
115
117
  return "{uri: " + value.uri + "}";
116
118
  }
117
119
 
118
- inline void fromRawValue(const PropsParserContext &context, const RawValue &value, ImageResizeMode &result) {
120
+ inline void fromRawValue(const PropsParserContext &context, const RawValue &value, ImageResizeMode &result)
121
+ {
119
122
  react_native_expect(value.hasType<std::string>());
120
123
  if (!value.hasType<std::string>()) {
121
124
  LOG(ERROR) << "Unsupported ImageResizeMode type";
@@ -145,7 +148,8 @@ inline void fromRawValue(const PropsParserContext &context, const RawValue &valu
145
148
  }
146
149
  }
147
150
 
148
- inline std::string toString(const ImageResizeMode &value) {
151
+ inline std::string toString(const ImageResizeMode &value)
152
+ {
149
153
  switch (value) {
150
154
  case ImageResizeMode::Cover:
151
155
  return "cover";
@@ -36,7 +36,7 @@
36
36
  namespace facebook::react {
37
37
  using Content = ParagraphShadowNode::Content;
38
38
 
39
- // NOLINTNEXTLINE(facebook-hte-CArray)
39
+ // NOLINTNEXTLINE(facebook-hte-CArray, modernize-avoid-c-arrays)
40
40
  const char ParagraphComponentName[] = "Paragraph";
41
41
 
42
42
  void ParagraphShadowNode::initialize() noexcept {
@@ -158,11 +158,12 @@ void ParagraphShadowNode::updateStateIfNeeded(
158
158
  return;
159
159
  }
160
160
 
161
- setStateData(ParagraphStateT{
162
- content.attributedString,
163
- content.paragraphAttributes,
164
- textLayoutManager_,
165
- layout});
161
+ setStateData(
162
+ ParagraphStateT{
163
+ content.attributedString,
164
+ content.paragraphAttributes,
165
+ textLayoutManager_,
166
+ layout});
166
167
  }
167
168
 
168
169
  void ParagraphShadowNode::updateStateIfNeeded(const Content& content) {
@@ -175,10 +176,11 @@ void ParagraphShadowNode::updateStateIfNeeded(const Content& content) {
175
176
  return;
176
177
  }
177
178
 
178
- setStateData(ParagraphState{
179
- content.attributedString,
180
- content.paragraphAttributes,
181
- textLayoutManager_});
179
+ setStateData(
180
+ ParagraphState{
181
+ content.attributedString,
182
+ content.paragraphAttributes,
183
+ textLayoutManager_});
182
184
  }
183
185
 
184
186
  MeasuredPreparedLayout* ParagraphShadowNode::findUsableLayout() {
@@ -249,12 +251,13 @@ Size ParagraphShadowNode::measureContent(
249
251
  auto measurement = tme.measurePreparedLayout(
250
252
  preparedLayout, textLayoutContext, layoutConstraints);
251
253
 
252
- measuredLayouts_.push_back(MeasuredPreparedLayout{
253
- .layoutConstraints = layoutConstraints,
254
- .measurement = measurement,
255
- // PreparedLayout is not trivially copyable on all platforms
256
- // NOLINTNEXTLINE(performance-move-const-arg)
257
- .preparedLayout = std::move(preparedLayout)});
254
+ measuredLayouts_.push_back(
255
+ MeasuredPreparedLayout{
256
+ .layoutConstraints = layoutConstraints,
257
+ .measurement = measurement,
258
+ // PreparedLayout is not trivially copyable on all platforms
259
+ // NOLINTNEXTLINE(performance-move-const-arg)
260
+ .preparedLayout = std::move(preparedLayout)});
258
261
  assert_valid_size(measurement.size, layoutConstraints);
259
262
  return measurement.size;
260
263
  }
@@ -65,22 +65,21 @@ class ParagraphState final {
65
65
  : attributedString(std::move(attributedString)),
66
66
  paragraphAttributes(std::move(paragraphAttributes)),
67
67
  layoutManager(std::move(layoutManager)),
68
- measuredLayout(std::move(measuredLayout)) {}
68
+ measuredLayout(std::move(measuredLayout))
69
+ {
70
+ }
69
71
 
70
72
  ParagraphState(
71
73
  AttributedString attributedString,
72
74
  ParagraphAttributes paragraphAttributes,
73
75
  std::weak_ptr<const TextLayoutManager> layoutManager)
74
- : ParagraphState(
75
- std::move(attributedString),
76
- std::move(paragraphAttributes),
77
- std::move(layoutManager),
78
- {}) {}
76
+ : ParagraphState(std::move(attributedString), std::move(paragraphAttributes), std::move(layoutManager), {})
77
+ {
78
+ }
79
79
 
80
80
  ParagraphState() = default;
81
- ParagraphState(
82
- const ParagraphState& /*previousState*/,
83
- const folly::dynamic& /*data*/) {
81
+ ParagraphState(const ParagraphState & /*previousState*/, const folly::dynamic & /*data*/)
82
+ {
84
83
  react_native_assert(false && "Not supported");
85
84
  };
86
85
 
@@ -12,8 +12,6 @@
12
12
  #include <string>
13
13
  #include <vector>
14
14
 
15
- #include <react/renderer/debug/DebugStringConvertible.h>
16
-
17
15
  namespace facebook::react {
18
16
 
19
17
  enum class AccessibilityTraits : uint32_t {
@@ -38,15 +36,13 @@ enum class AccessibilityTraits : uint32_t {
38
36
  TabBar = (1 << 17),
39
37
  };
40
38
 
41
- constexpr enum AccessibilityTraits operator|(
42
- const enum AccessibilityTraits lhs,
43
- const enum AccessibilityTraits rhs) {
39
+ constexpr enum AccessibilityTraits operator|(const enum AccessibilityTraits lhs, const enum AccessibilityTraits rhs)
40
+ {
44
41
  return (enum AccessibilityTraits)((uint32_t)lhs | (uint32_t)rhs);
45
42
  }
46
43
 
47
- constexpr enum AccessibilityTraits operator&(
48
- const enum AccessibilityTraits lhs,
49
- const enum AccessibilityTraits rhs) {
44
+ constexpr enum AccessibilityTraits operator&(const enum AccessibilityTraits lhs, const enum AccessibilityTraits rhs)
45
+ {
50
46
  return (enum AccessibilityTraits)((uint32_t)lhs & (uint32_t)rhs);
51
47
  }
52
48
 
@@ -55,36 +51,13 @@ struct AccessibilityAction {
55
51
  std::optional<std::string> label{};
56
52
  };
57
53
 
58
- inline std::string toString(const AccessibilityAction& accessibilityAction) {
59
- std::string result = accessibilityAction.name;
60
- if (accessibilityAction.label.has_value()) {
61
- result += ": '" + accessibilityAction.label.value() + "'";
62
- }
63
- return result;
64
- }
65
-
66
- inline std::string toString(
67
- std::vector<AccessibilityAction> accessibilityActions) {
68
- std::string result = "[";
69
- for (size_t i = 0; i < accessibilityActions.size(); i++) {
70
- result += toString(accessibilityActions[i]);
71
- if (i < accessibilityActions.size() - 1) {
72
- result += ", ";
73
- }
74
- }
75
- result += "]";
76
- return result;
77
- }
78
-
79
- inline static bool operator==(
80
- const AccessibilityAction& lhs,
81
- const AccessibilityAction& rhs) {
54
+ inline static bool operator==(const AccessibilityAction &lhs, const AccessibilityAction &rhs)
55
+ {
82
56
  return lhs.name == rhs.name && lhs.label == rhs.label;
83
57
  }
84
58
 
85
- inline static bool operator!=(
86
- const AccessibilityAction& lhs,
87
- const AccessibilityAction& rhs) {
59
+ inline static bool operator!=(const AccessibilityAction &lhs, const AccessibilityAction &rhs)
60
+ {
88
61
  return !(rhs == lhs);
89
62
  }
90
63
 
@@ -99,56 +72,28 @@ struct AccessibilityState {
99
72
  std::optional<bool> required{std::nullopt}; // [Windows] - Do not remove; required for Windows ISelectionProvider Implementation
100
73
  };
101
74
 
102
- constexpr bool operator==(
103
- const AccessibilityState& lhs,
104
- const AccessibilityState& rhs) {
105
- return lhs.disabled == rhs.disabled && lhs.selected == rhs.selected &&
106
- lhs.checked == rhs.checked && lhs.busy == rhs.busy &&
107
- lhs.expanded == rhs.expanded;
75
+ constexpr bool operator==(const AccessibilityState &lhs, const AccessibilityState &rhs)
76
+ {
77
+ return lhs.disabled == rhs.disabled && lhs.selected == rhs.selected && lhs.checked == rhs.checked &&
78
+ lhs.busy == rhs.busy && lhs.expanded == rhs.expanded;
108
79
  }
109
80
 
110
- constexpr bool operator!=(
111
- const AccessibilityState& lhs,
112
- const AccessibilityState& rhs) {
81
+ constexpr bool operator!=(const AccessibilityState &lhs, const AccessibilityState &rhs)
82
+ {
113
83
  return !(rhs == lhs);
114
84
  }
115
85
 
116
- #if RN_DEBUG_STRING_CONVERTIBLE
117
- inline std::string toString(AccessibilityState::CheckedState state) {
118
- switch (state) {
119
- case AccessibilityState::Unchecked:
120
- return "Unchecked";
121
- case AccessibilityState::Checked:
122
- return "Checked";
123
- case AccessibilityState::Mixed:
124
- return "Mixed";
125
- case AccessibilityState::None:
126
- return "None";
127
- }
128
- }
129
-
130
- inline std::string toString(const AccessibilityState& accessibilityState) {
131
- return "{disabled:" + toString(accessibilityState.disabled) +
132
- ",selected:" + toString(accessibilityState.selected) +
133
- ",checked:" + toString(accessibilityState.checked) +
134
- ",busy:" + toString(accessibilityState.busy) +
135
- ",expanded:" + toString(accessibilityState.expanded) + "}";
136
- }
137
- #endif
138
-
139
86
  struct AccessibilityLabelledBy {
140
87
  std::vector<std::string> value{};
141
88
  };
142
89
 
143
- inline static bool operator==(
144
- const AccessibilityLabelledBy& lhs,
145
- const AccessibilityLabelledBy& rhs) {
90
+ inline static bool operator==(const AccessibilityLabelledBy &lhs, const AccessibilityLabelledBy &rhs)
91
+ {
146
92
  return lhs.value == rhs.value;
147
93
  }
148
94
 
149
- inline static bool operator!=(
150
- const AccessibilityLabelledBy& lhs,
151
- const AccessibilityLabelledBy& rhs) {
95
+ inline static bool operator!=(const AccessibilityLabelledBy &lhs, const AccessibilityLabelledBy &rhs)
96
+ {
152
97
  return !(lhs == rhs);
153
98
  }
154
99
 
@@ -159,16 +104,13 @@ struct AccessibilityValue {
159
104
  std::optional<std::string> text{};
160
105
  };
161
106
 
162
- constexpr bool operator==(
163
- const AccessibilityValue& lhs,
164
- const AccessibilityValue& rhs) {
165
- return lhs.min == rhs.min && lhs.max == rhs.max && lhs.now == rhs.now &&
166
- lhs.text == rhs.text;
107
+ constexpr bool operator==(const AccessibilityValue &lhs, const AccessibilityValue &rhs)
108
+ {
109
+ return lhs.min == rhs.min && lhs.max == rhs.max && lhs.now == rhs.now && lhs.text == rhs.text;
167
110
  }
168
111
 
169
- constexpr bool operator!=(
170
- const AccessibilityValue& lhs,
171
- const AccessibilityValue& rhs) {
112
+ constexpr bool operator!=(const AccessibilityValue &lhs, const AccessibilityValue &rhs)
113
+ {
172
114
  return !(rhs == lhs);
173
115
  }
174
116
 
@@ -185,19 +127,7 @@ enum class AccessibilityLiveRegion : uint8_t {
185
127
  Assertive,
186
128
  };
187
129
 
188
- inline std::string toString(
189
- const AccessibilityLiveRegion& accessibilityLiveRegion) {
190
- switch (accessibilityLiveRegion) {
191
- case AccessibilityLiveRegion::None:
192
- return "none";
193
- case AccessibilityLiveRegion::Polite:
194
- return "polite";
195
- case AccessibilityLiveRegion::Assertive:
196
- return "assertive";
197
- }
198
- }
199
-
200
- enum class AccessibilityRole {
130
+ enum class AccessibilityRole : uint8_t {
201
131
  None,
202
132
  Button,
203
133
  Dropdownlist,
@@ -240,7 +170,7 @@ enum class AccessibilityRole {
240
170
  Iconmenu,
241
171
  };
242
172
 
243
- enum class Role {
173
+ enum class Role : uint8_t {
244
174
  Alert,
245
175
  Alertdialog,
246
176
  Application,
@@ -14,12 +14,14 @@
14
14
  #include <react/renderer/components/view/AccessibilityPrimitives.h>
15
15
  #include <react/renderer/core/PropsParserContext.h>
16
16
  #include <react/renderer/core/propsConversions.h>
17
+ #include <react/renderer/debug/DebugStringConvertible.h>
17
18
 
18
19
  #include <unordered_map>
19
20
 
20
21
  namespace facebook::react {
21
22
 
22
- inline void fromString(const std::string& string, AccessibilityTraits& result) {
23
+ inline void fromString(const std::string &string, AccessibilityTraits &result)
24
+ {
23
25
  if (string == "none") {
24
26
  result = AccessibilityTraits::None;
25
27
  return;
@@ -107,10 +109,8 @@ inline void fromString(const std::string& string, AccessibilityTraits& result) {
107
109
  result = AccessibilityTraits::None;
108
110
  }
109
111
 
110
- inline void fromRawValue(
111
- const PropsParserContext& context,
112
- const RawValue& value,
113
- AccessibilityTraits& result) {
112
+ inline void fromRawValue(const PropsParserContext &context, const RawValue &value, AccessibilityTraits &result)
113
+ {
114
114
  if (value.hasType<std::string>()) {
115
115
  fromString((std::string)value, result);
116
116
  return;
@@ -121,7 +121,7 @@ inline void fromRawValue(
121
121
  react_native_expect(value.hasType<std::vector<std::string>>());
122
122
  if (value.hasType<std::vector<std::string>>()) {
123
123
  auto items = (std::vector<std::string>)value;
124
- for (auto& item : items) {
124
+ for (auto &item : items) {
125
125
  AccessibilityTraits itemAccessibilityTraits;
126
126
  fromString(item, itemAccessibilityTraits);
127
127
  result = result | itemAccessibilityTraits;
@@ -131,10 +131,8 @@ inline void fromRawValue(
131
131
  }
132
132
  }
133
133
 
134
- inline void fromRawValue(
135
- const PropsParserContext& context,
136
- const RawValue& value,
137
- AccessibilityState& result) {
134
+ inline void fromRawValue(const PropsParserContext &context, const RawValue &value, AccessibilityState &result)
135
+ {
138
136
  auto map = (std::unordered_map<std::string, RawValue>)value;
139
137
  auto selected = map.find("selected");
140
138
  if (selected != map.end()) {
@@ -186,8 +184,8 @@ inline void fromRawValue(
186
184
  // [Windows] - DO NOT REMOVE
187
185
  }
188
186
 
189
- inline std::string toString(
190
- const ImportantForAccessibility& importantForAccessibility) {
187
+ inline std::string toString(const ImportantForAccessibility &importantForAccessibility)
188
+ {
191
189
  switch (importantForAccessibility) {
192
190
  case ImportantForAccessibility::Auto:
193
191
  return "auto";
@@ -200,10 +198,8 @@ inline std::string toString(
200
198
  }
201
199
  }
202
200
 
203
- inline void fromRawValue(
204
- const PropsParserContext& context,
205
- const RawValue& value,
206
- ImportantForAccessibility& result) {
201
+ inline void fromRawValue(const PropsParserContext &context, const RawValue &value, ImportantForAccessibility &result)
202
+ {
207
203
  result = ImportantForAccessibility::Auto;
208
204
  react_native_expect(value.hasType<std::string>());
209
205
  if (value.hasType<std::string>()) {
@@ -225,10 +221,8 @@ inline void fromRawValue(
225
221
  }
226
222
  }
227
223
 
228
- inline void fromRawValue(
229
- const PropsParserContext& context,
230
- const RawValue& value,
231
- AccessibilityAction& result) {
224
+ inline void fromRawValue(const PropsParserContext &context, const RawValue &value, AccessibilityAction &result)
225
+ {
232
226
  auto map = (std::unordered_map<std::string, RawValue>)value;
233
227
 
234
228
  auto name = map.find("name");
@@ -245,10 +239,8 @@ inline void fromRawValue(
245
239
  }
246
240
  }
247
241
 
248
- inline void fromRawValue(
249
- const PropsParserContext&,
250
- const RawValue& value,
251
- AccessibilityValue& result) {
242
+ inline void fromRawValue(const PropsParserContext & /*unused*/, const RawValue &value, AccessibilityValue &result)
243
+ {
252
244
  auto map = (std::unordered_map<std::string, RawValue>)value;
253
245
 
254
246
  auto min = map.find("min");
@@ -280,10 +272,8 @@ inline void fromRawValue(
280
272
  }
281
273
  }
282
274
 
283
- inline void fromRawValue(
284
- const PropsParserContext& context,
285
- const RawValue& value,
286
- AccessibilityLabelledBy& result) {
275
+ inline void fromRawValue(const PropsParserContext &context, const RawValue &value, AccessibilityLabelledBy &result)
276
+ {
287
277
  if (value.hasType<std::string>()) {
288
278
  result.value.push_back((std::string)value);
289
279
  } else if (value.hasType<std::vector<std::string>>()) {
@@ -291,10 +281,8 @@ inline void fromRawValue(
291
281
  }
292
282
  }
293
283
 
294
- inline void fromRawValue(
295
- const PropsParserContext& context,
296
- const RawValue& value,
297
- AccessibilityLiveRegion& result) {
284
+ inline void fromRawValue(const PropsParserContext &context, const RawValue &value, AccessibilityLiveRegion &result)
285
+ {
298
286
  result = AccessibilityLiveRegion::None;
299
287
  react_native_expect(value.hasType<std::string>());
300
288
  if (value.hasType<std::string>()) {
@@ -314,7 +302,8 @@ inline void fromRawValue(
314
302
  }
315
303
  }
316
304
 
317
- inline std::string toString(const AccessibilityRole& accessibilityRole) {
305
+ inline std::string toString(const AccessibilityRole &accessibilityRole)
306
+ {
318
307
  switch (accessibilityRole) {
319
308
  case AccessibilityRole::None:
320
309
  return "none";
@@ -404,10 +393,8 @@ inline std::string toString(const AccessibilityRole& accessibilityRole) {
404
393
  return "none";
405
394
  }
406
395
 
407
- inline void fromRawValue(
408
- const PropsParserContext& context,
409
- const RawValue& value,
410
- AccessibilityRole& result) {
396
+ inline void fromRawValue(const PropsParserContext &context, const RawValue &value, AccessibilityRole &result)
397
+ {
411
398
  react_native_expect(value.hasType<std::string>());
412
399
  if (value.hasType<std::string>()) {
413
400
  auto string = (std::string)value;
@@ -504,7 +491,8 @@ inline void fromRawValue(
504
491
  result = AccessibilityRole::None;
505
492
  }
506
493
 
507
- inline std::string toString(const Role& role) {
494
+ inline std::string toString(const Role &role)
495
+ {
508
496
  switch (role) {
509
497
  case Role::Alert:
510
498
  return "alert";
@@ -644,10 +632,8 @@ inline std::string toString(const Role& role) {
644
632
  return "none";
645
633
  }
646
634
 
647
- inline void fromRawValue(
648
- const PropsParserContext& context,
649
- const RawValue& value,
650
- Role& result) {
635
+ inline void fromRawValue(const PropsParserContext &context, const RawValue &value, Role &result)
636
+ {
651
637
  react_native_expect(value.hasType<std::string>());
652
638
  if (value.hasType<std::string>()) {
653
639
  auto string = (std::string)value;
@@ -796,4 +782,61 @@ inline void fromRawValue(
796
782
  result = Role::None;
797
783
  }
798
784
 
785
+ inline std::string toString(AccessibilityLiveRegion accessibilityLiveRegion)
786
+ {
787
+ switch (accessibilityLiveRegion) {
788
+ case AccessibilityLiveRegion::None:
789
+ return "none";
790
+ case AccessibilityLiveRegion::Polite:
791
+ return "polite";
792
+ case AccessibilityLiveRegion::Assertive:
793
+ return "assertive";
794
+ }
795
+ }
796
+
797
+ #if RN_DEBUG_STRING_CONVERTIBLE
798
+ inline std::string toString(AccessibilityState::CheckedState state)
799
+ {
800
+ switch (state) {
801
+ case AccessibilityState::Unchecked:
802
+ return "Unchecked";
803
+ case AccessibilityState::Checked:
804
+ return "Checked";
805
+ case AccessibilityState::Mixed:
806
+ return "Mixed";
807
+ case AccessibilityState::None:
808
+ return "None";
809
+ }
810
+ }
811
+
812
+ inline std::string toString(const AccessibilityAction &accessibilityAction)
813
+ {
814
+ std::string result = accessibilityAction.name;
815
+ if (accessibilityAction.label.has_value()) {
816
+ result += ": '" + accessibilityAction.label.value() + "'";
817
+ }
818
+ return result;
819
+ }
820
+
821
+ inline std::string toString(std::vector<AccessibilityAction> accessibilityActions)
822
+ {
823
+ std::string result = "[";
824
+ for (size_t i = 0; i < accessibilityActions.size(); i++) {
825
+ result += toString(accessibilityActions[i]);
826
+ if (i < accessibilityActions.size() - 1) {
827
+ result += ", ";
828
+ }
829
+ }
830
+ result += "]";
831
+ return result;
832
+ }
833
+
834
+ inline std::string toString(const AccessibilityState &accessibilityState)
835
+ {
836
+ return "{disabled:" + toString(accessibilityState.disabled) + ",selected:" + toString(accessibilityState.selected) +
837
+ ",checked:" + toString(accessibilityState.checked) + ",busy:" + toString(accessibilityState.busy) +
838
+ ",expanded:" + toString(accessibilityState.expanded) + "}";
839
+ }
840
+ #endif
841
+
799
842
  } // namespace facebook::react
@@ -0,0 +1,81 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+
9
+ #if _MSC_VER
10
+ #pragma warning(push)
11
+ #pragma warning(disable : 4996) // deprecated APIs
12
+ #endif
13
+ #include "EventDispatcher.h"
14
+ #include <cxxreact/JSExecutor.h>
15
+ #include <react/renderer/core/StateUpdate.h>
16
+
17
+ #include "EventQueue.h"
18
+ #include "RawEvent.h"
19
+
20
+ namespace facebook::react {
21
+
22
+ EventDispatcher::EventDispatcher(
23
+ const EventQueueProcessor& eventProcessor,
24
+ std::unique_ptr<EventBeat> eventBeat,
25
+ StatePipe statePipe,
26
+ std::weak_ptr<EventLogger> eventLogger)
27
+ : eventQueue_(EventQueue(eventProcessor, std::move(eventBeat))),
28
+ statePipe_(std::move(statePipe)),
29
+ eventLogger_(std::move(eventLogger)) {}
30
+
31
+ void EventDispatcher::dispatchEvent(RawEvent&& rawEvent) const {
32
+ // Allows the event listener to interrupt default event dispatch
33
+ if (eventListeners_.willDispatchEvent(rawEvent)) {
34
+ return;
35
+ }
36
+
37
+ auto eventLogger = eventLogger_.lock();
38
+ if (eventLogger != nullptr) {
39
+ rawEvent.loggingTag = eventLogger->onEventStart(
40
+ rawEvent.type, rawEvent.eventTarget, rawEvent.eventStartTimeStamp);
41
+ }
42
+ eventQueue_.enqueueEvent(std::move(rawEvent));
43
+ }
44
+
45
+ void EventDispatcher::experimental_flushSync() const {
46
+ eventQueue_.experimental_flushSync();
47
+ }
48
+
49
+ void EventDispatcher::dispatchStateUpdate(
50
+ StateUpdate&& stateUpdate,
51
+ EventQueue::UpdateMode updateMode) const {
52
+ eventQueue_.enqueueStateUpdate(std::move(stateUpdate), updateMode);
53
+ }
54
+
55
+ void EventDispatcher::dispatchUniqueEvent(RawEvent&& rawEvent) const {
56
+ // Allows the event listener to interrupt default event dispatch
57
+ if (eventListeners_.willDispatchEvent(rawEvent)) {
58
+ return;
59
+ }
60
+
61
+ eventQueue_.enqueueUniqueEvent(std::move(rawEvent));
62
+ }
63
+
64
+ void EventDispatcher::addListener(
65
+ std::shared_ptr<const EventListener> listener) const {
66
+ eventListeners_.addListener(std::move(listener));
67
+ }
68
+
69
+ /*
70
+ * Removes provided event listener to the event dispatcher.
71
+ */
72
+ void EventDispatcher::removeListener(
73
+ const std::shared_ptr<const EventListener>& listener) const {
74
+ eventListeners_.removeListener(listener);
75
+ }
76
+
77
+ } // namespace facebook::react
78
+
79
+ #if _MSC_VER
80
+ #pragma warning(pop)
81
+ #endif