react-native-tvos 0.72.4-0rc0 → 0.72.5-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 (91) hide show
  1. package/Libraries/Components/Pressable/Pressable.js +11 -5
  2. package/Libraries/Components/ScrollView/ScrollView.d.ts +7 -0
  3. package/Libraries/Components/ScrollView/ScrollView.js +8 -0
  4. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +1 -0
  5. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +1 -0
  6. package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +1 -0
  7. package/Libraries/Core/ReactNativeVersion.js +2 -2
  8. package/README-core.md +147 -0
  9. package/README.md +32 -39
  10. package/React/Base/RCTBundleURLProvider.h +33 -2
  11. package/React/Base/RCTBundleURLProvider.mm +78 -15
  12. package/React/Base/RCTVersion.m +2 -2
  13. package/React/CoreModules/RCTTiming.mm +5 -0
  14. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +4 -0
  15. package/React/Fabric/RCTThirdPartyFabricComponentsProvider.h +29 -0
  16. package/React/Fabric/RCTThirdPartyFabricComponentsProvider.mm +29 -0
  17. package/React/Views/ScrollView/RCTScrollView.h +1 -0
  18. package/React/Views/ScrollView/RCTScrollView.m +12 -0
  19. package/React/Views/ScrollView/RCTScrollViewManager.m +1 -0
  20. package/ReactAndroid/gradle.properties +1 -1
  21. package/ReactAndroid/hermes-engine/build.gradle +1 -1
  22. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +2 -2
  23. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/MaintainVisibleScrollPositionHelper.java +4 -0
  24. package/ReactAndroid/src/main/jni/CMakeLists.txt +5 -0
  25. package/ReactCommon/React-Fabric.podspec +1 -1
  26. package/ReactCommon/ReactCommon.podspec +1 -1
  27. package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
  28. package/ReactCommon/jsc/JSCRuntime.cpp +10 -0
  29. package/ReactCommon/react/debug/React-debug.podspec +1 -1
  30. package/ReactCommon/react/nativemodule/core/platform/ios/React-NativeModulesApple.podspec +1 -1
  31. package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +1 -1
  32. package/ReactCommon/react/renderer/components/rncore/ComponentDescriptors.h +29 -0
  33. package/ReactCommon/react/renderer/components/rncore/EventEmitters.cpp +111 -0
  34. package/ReactCommon/react/renderer/components/rncore/EventEmitters.h +186 -0
  35. package/ReactCommon/react/renderer/components/rncore/Props.cpp +157 -0
  36. package/ReactCommon/react/renderer/components/rncore/Props.h +395 -0
  37. package/ReactCommon/react/renderer/components/rncore/RCTComponentViewHelpers.h +257 -0
  38. package/ReactCommon/react/renderer/components/rncore/ShadowNodes.cpp +26 -0
  39. package/ReactCommon/react/renderer/components/rncore/ShadowNodes.h +111 -0
  40. package/ReactCommon/react/renderer/components/rncore/States.cpp +18 -0
  41. package/ReactCommon/react/renderer/components/rncore/States.h +141 -0
  42. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.cpp +15 -1
  43. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.h +1 -0
  44. package/ReactCommon/react/renderer/core/RawPropsKeyMap.cpp +2 -0
  45. package/ReactCommon/react/renderer/core/RawPropsParser.cpp +1 -0
  46. package/ReactCommon/react/renderer/core/RawPropsPrimitives.h +4 -4
  47. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +1 -1
  48. package/ReactCommon/react/renderer/imagemanager/platform/ios/React-ImageManager.podspec +1 -1
  49. package/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec +1 -1
  50. package/ReactCommon/react/utils/React-utils.podspec +1 -1
  51. package/package.json +7 -6
  52. package/scripts/cocoapods/helpers.rb +16 -0
  53. package/scripts/cocoapods/utils.rb +98 -8
  54. package/scripts/react_native_pods.rb +6 -2
  55. package/sdks/.hermesversion +1 -1
  56. package/sdks/hermes-engine/utils/build-apple-framework.sh +8 -1
  57. package/sdks/hermes-engine/utils/build-hermes-xcode.sh +8 -0
  58. package/sdks/hermesc/osx-bin/hermesc +0 -0
  59. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  60. package/template/ios/HelloWorld.xcodeproj/project.pbxproj +95 -13
  61. package/template/package.json +5 -4
  62. package/types/index.d.ts +1 -0
  63. package/types/public/ReactNativeTVTypes.d.ts +192 -0
  64. package/scripts/cocoapods/__tests__/codegen-test.rb +0 -242
  65. package/scripts/cocoapods/__tests__/codegen_utils-test.rb +0 -602
  66. package/scripts/cocoapods/__tests__/fabric-test.rb +0 -68
  67. package/scripts/cocoapods/__tests__/flipper-test.rb +0 -161
  68. package/scripts/cocoapods/__tests__/jsengine-test.rb +0 -130
  69. package/scripts/cocoapods/__tests__/local_podspec_patch-test.rb +0 -167
  70. package/scripts/cocoapods/__tests__/new_architecture-test.rb +0 -303
  71. package/scripts/cocoapods/__tests__/test_utils/CodegenScriptPhaseExtractorMock.rb +0 -21
  72. package/scripts/cocoapods/__tests__/test_utils/CodegenUtilsMock.rb +0 -108
  73. package/scripts/cocoapods/__tests__/test_utils/DirMock.rb +0 -72
  74. package/scripts/cocoapods/__tests__/test_utils/EnvironmentMock.rb +0 -21
  75. package/scripts/cocoapods/__tests__/test_utils/FileMock.rb +0 -113
  76. package/scripts/cocoapods/__tests__/test_utils/FileUtilsMock.rb +0 -40
  77. package/scripts/cocoapods/__tests__/test_utils/FinderMock.rb +0 -28
  78. package/scripts/cocoapods/__tests__/test_utils/InstallerMock.rb +0 -222
  79. package/scripts/cocoapods/__tests__/test_utils/LocalPodspecPatchMock.rb +0 -14
  80. package/scripts/cocoapods/__tests__/test_utils/Open3Mock.rb +0 -43
  81. package/scripts/cocoapods/__tests__/test_utils/PathnameMock.rb +0 -42
  82. package/scripts/cocoapods/__tests__/test_utils/PodMock.rb +0 -144
  83. package/scripts/cocoapods/__tests__/test_utils/SpecMock.rb +0 -30
  84. package/scripts/cocoapods/__tests__/test_utils/SysctlCheckerMock.rb +0 -21
  85. package/scripts/cocoapods/__tests__/test_utils/TargetDefinitionMock.rb +0 -12
  86. package/scripts/cocoapods/__tests__/test_utils/podSpy.rb +0 -39
  87. package/scripts/cocoapods/__tests__/test_utils/systemUtils.rb +0 -14
  88. package/scripts/cocoapods/__tests__/utils-test.rb +0 -766
  89. package/scripts/codegen/__test_fixtures__/fixtures.js +0 -132
  90. package/scripts/codegen/__tests__/generate-artifacts-executor-test.js +0 -500
  91. package/scripts/codegen/__tests__/generate-specs-cli-executor-test.js +0 -88
@@ -22,10 +22,12 @@ void RCTBundleURLProviderAllowPackagerServerAccess(BOOL allowed)
22
22
  kRCTAllowPackagerAccess = allowed;
23
23
  }
24
24
  #endif
25
+ static NSString *const kRCTPlatformName = @"ios";
25
26
  static NSString *const kRCTPackagerSchemeKey = @"RCT_packager_scheme";
26
27
  static NSString *const kRCTJsLocationKey = @"RCT_jsLocation";
27
28
  static NSString *const kRCTEnableDevKey = @"RCT_enableDev";
28
29
  static NSString *const kRCTEnableMinificationKey = @"RCT_enableMinification";
30
+ static NSString *const kRCTInlineSourceMapKey = @"RCT_inlineSourceMap";
29
31
 
30
32
  @implementation RCTBundleURLProvider
31
33
 
@@ -187,6 +189,7 @@ static NSURL *serverRootWithHostPort(NSString *hostPort, NSString *scheme)
187
189
  packagerScheme:[self packagerScheme]
188
190
  enableDev:[self enableDev]
189
191
  enableMinification:[self enableMinification]
192
+ inlineSourceMap:[self inlineSourceMap]
190
193
  modulesOnly:NO
191
194
  runModule:YES];
192
195
  }
@@ -199,6 +202,7 @@ static NSURL *serverRootWithHostPort(NSString *hostPort, NSString *scheme)
199
202
  packagerScheme:[self packagerScheme]
200
203
  enableDev:[self enableDev]
201
204
  enableMinification:[self enableMinification]
205
+ inlineSourceMap:[self inlineSourceMap]
202
206
  modulesOnly:YES
203
207
  runModule:NO];
204
208
  }
@@ -238,13 +242,29 @@ static NSURL *serverRootWithHostPort(NSString *hostPort, NSString *scheme)
238
242
  return [[self class] resourceURLForResourcePath:path
239
243
  packagerHost:packagerServerHostPort
240
244
  scheme:packagerServerScheme
241
- query:nil];
245
+ queryItems:nil];
242
246
  }
243
247
 
244
248
  + (NSURL *)jsBundleURLForBundleRoot:(NSString *)bundleRoot
245
249
  packagerHost:(NSString *)packagerHost
246
250
  enableDev:(BOOL)enableDev
247
251
  enableMinification:(BOOL)enableMinification
252
+ {
253
+ return [self jsBundleURLForBundleRoot:bundleRoot
254
+ packagerHost:packagerHost
255
+ packagerScheme:nil
256
+ enableDev:enableDev
257
+ enableMinification:enableMinification
258
+ inlineSourceMap:NO
259
+ modulesOnly:NO
260
+ runModule:YES];
261
+ }
262
+
263
+ + (NSURL *)jsBundleURLForBundleRoot:(NSString *)bundleRoot
264
+ packagerHost:(NSString *)packagerHost
265
+ enableDev:(BOOL)enableDev
266
+ enableMinification:(BOOL)enableMinification
267
+ inlineSourceMap:(BOOL)inlineSourceMap
248
268
 
249
269
  {
250
270
  return [self jsBundleURLForBundleRoot:bundleRoot
@@ -252,6 +272,7 @@ static NSURL *serverRootWithHostPort(NSString *hostPort, NSString *scheme)
252
272
  packagerScheme:nil
253
273
  enableDev:enableDev
254
274
  enableMinification:enableMinification
275
+ inlineSourceMap:inlineSourceMap
255
276
  modulesOnly:NO
256
277
  runModule:YES];
257
278
  }
@@ -263,27 +284,45 @@ static NSURL *serverRootWithHostPort(NSString *hostPort, NSString *scheme)
263
284
  enableMinification:(BOOL)enableMinification
264
285
  modulesOnly:(BOOL)modulesOnly
265
286
  runModule:(BOOL)runModule
287
+ {
288
+ return [self jsBundleURLForBundleRoot:bundleRoot
289
+ packagerHost:packagerHost
290
+ packagerScheme:nil
291
+ enableDev:enableDev
292
+ enableMinification:enableMinification
293
+ inlineSourceMap:NO
294
+ modulesOnly:modulesOnly
295
+ runModule:runModule];
296
+ }
297
+
298
+ + (NSURL *)jsBundleURLForBundleRoot:(NSString *)bundleRoot
299
+ packagerHost:(NSString *)packagerHost
300
+ packagerScheme:(NSString *)scheme
301
+ enableDev:(BOOL)enableDev
302
+ enableMinification:(BOOL)enableMinification
303
+ inlineSourceMap:(BOOL)inlineSourceMap
304
+ modulesOnly:(BOOL)modulesOnly
305
+ runModule:(BOOL)runModule
266
306
  {
267
307
  NSString *path = [NSString stringWithFormat:@"/%@.bundle", bundleRoot];
308
+ BOOL lazy = enableDev;
309
+ NSArray<NSURLQueryItem *> *queryItems = @[
310
+ [[NSURLQueryItem alloc] initWithName:@"platform" value:kRCTPlatformName],
311
+ [[NSURLQueryItem alloc] initWithName:@"dev" value:enableDev ? @"true" : @"false"],
312
+ [[NSURLQueryItem alloc] initWithName:@"minify" value:enableMinification ? @"true" : @"false"],
313
+ [[NSURLQueryItem alloc] initWithName:@"inlineSourceMap" value:inlineSourceMap ? @"true" : @"false"],
314
+ [[NSURLQueryItem alloc] initWithName:@"modulesOnly" value:modulesOnly ? @"true" : @"false"],
315
+ [[NSURLQueryItem alloc] initWithName:@"runModule" value:runModule ? @"true" : @"false"],
268
316
  #ifdef HERMES_BYTECODE_VERSION
269
- NSString *runtimeBytecodeVersion = [NSString stringWithFormat:@"&runtimeBytecodeVersion=%u", HERMES_BYTECODE_VERSION];
270
- #else
271
- NSString *runtimeBytecodeVersion = @"";
272
- #endif
273
-
274
- // When we support only iOS 8 and above, use queryItems for a better API.
275
- NSString *query = [NSString stringWithFormat:@"platform=ios&dev=%@&minify=%@&modulesOnly=%@&runModule=%@%@",
276
- enableDev ? @"true" : @"false",
277
- enableMinification ? @"true" : @"false",
278
- modulesOnly ? @"true" : @"false",
279
- runModule ? @"true" : @"false",
280
- runtimeBytecodeVersion];
317
+ [[NSURLQueryItem alloc] initWithName:@"runtimeBytecodeVersion" value:HERMES_BYTECODE_VERSION],
318
+ #endif
319
+ ];
281
320
 
282
321
  NSString *bundleID = [[NSBundle mainBundle] objectForInfoDictionaryKey:(NSString *)kCFBundleIdentifierKey];
283
322
  if (bundleID) {
284
- query = [NSString stringWithFormat:@"%@&app=%@", query, bundleID];
323
+ queryItems = [queryItems arrayByAddingObject:[[NSURLQueryItem alloc] initWithName:@"app" value:bundleID]];
285
324
  }
286
- return [[self class] resourceURLForResourcePath:path packagerHost:packagerHost scheme:scheme query:query];
325
+ return [[self class] resourceURLForResourcePath:path packagerHost:packagerHost scheme:scheme queryItems:queryItems];
287
326
  }
288
327
 
289
328
  + (NSURL *)resourceURLForResourcePath:(NSString *)path
@@ -300,6 +339,20 @@ static NSURL *serverRootWithHostPort(NSString *hostPort, NSString *scheme)
300
339
  return components.URL;
301
340
  }
302
341
 
342
+ + (NSURL *)resourceURLForResourcePath:(NSString *)path
343
+ packagerHost:(NSString *)packagerHost
344
+ scheme:(NSString *)scheme
345
+ queryItems:(NSArray<NSURLQueryItem *> *)queryItems
346
+ {
347
+ NSURLComponents *components = [NSURLComponents componentsWithURL:serverRootWithHostPort(packagerHost, scheme)
348
+ resolvingAgainstBaseURL:NO];
349
+ components.path = path;
350
+ if (queryItems != nil) {
351
+ components.queryItems = queryItems;
352
+ }
353
+ return components.URL;
354
+ }
355
+
303
356
  - (void)updateValue:(id)object forKey:(NSString *)key
304
357
  {
305
358
  [[NSUserDefaults standardUserDefaults] setObject:object forKey:key];
@@ -317,6 +370,11 @@ static NSURL *serverRootWithHostPort(NSString *hostPort, NSString *scheme)
317
370
  return [[NSUserDefaults standardUserDefaults] boolForKey:kRCTEnableMinificationKey];
318
371
  }
319
372
 
373
+ - (BOOL)inlineSourceMap
374
+ {
375
+ return [[NSUserDefaults standardUserDefaults] boolForKey:kRCTInlineSourceMapKey];
376
+ }
377
+
320
378
  - (NSString *)jsLocation
321
379
  {
322
380
  return [[NSUserDefaults standardUserDefaults] stringForKey:kRCTJsLocationKey];
@@ -346,6 +404,11 @@ static NSURL *serverRootWithHostPort(NSString *hostPort, NSString *scheme)
346
404
  [self updateValue:@(enableMinification) forKey:kRCTEnableMinificationKey];
347
405
  }
348
406
 
407
+ - (void)setInlineSourceMap:(BOOL)inlineSourceMap
408
+ {
409
+ [self updateValue:@(inlineSourceMap) forKey:kRCTInlineSourceMapKey];
410
+ }
411
+
349
412
  - (void)setPackagerScheme:(NSString *)packagerScheme
350
413
  {
351
414
  [self updateValue:packagerScheme forKey:kRCTPackagerSchemeKey];
@@ -23,8 +23,8 @@ NSDictionary* RCTGetReactNativeVersion(void)
23
23
  __rnVersion = @{
24
24
  RCTVersionMajor: @(0),
25
25
  RCTVersionMinor: @(72),
26
- RCTVersionPatch: @(4),
27
- RCTVersionPrerelease: @"0rc0",
26
+ RCTVersionPatch: @(5),
27
+ RCTVersionPrerelease: @"0",
28
28
  };
29
29
  });
30
30
  return __rnVersion;
@@ -128,6 +128,11 @@ RCT_EXPORT_MODULE()
128
128
  _paused = YES;
129
129
  _timers = [NSMutableDictionary new];
130
130
  _inBackground = NO;
131
+ RCTExecuteOnMainQueue(^{
132
+ if (!self->_inBackground && [RCTSharedApplication() applicationState] == UIApplicationStateBackground) {
133
+ [self appDidMoveToBackground];
134
+ }
135
+ });
131
136
 
132
137
  for (NSString *name in @[
133
138
  UIApplicationWillResignActiveNotification,
@@ -232,6 +232,10 @@ static void RCTSendScrollEventForNativeAnimations_DEPRECATED(UIScrollView *scrol
232
232
  if (oldScrollViewProps.indicatorStyle != newScrollViewProps.indicatorStyle) {
233
233
  _scrollView.indicatorStyle = RCTUIScrollViewIndicatorStyleFromProps(newScrollViewProps);
234
234
  }
235
+
236
+ if (oldScrollViewProps.showsScrollIndex != newScrollViewProps.showsScrollIndex) {
237
+ _scrollView.indexDisplayMode = newScrollViewProps.showsScrollIndex ? UIScrollViewIndexDisplayModeAutomatic : UIScrollViewIndexDisplayModeAlwaysHidden;
238
+ }
235
239
 
236
240
  if (oldScrollViewProps.scrollEventThrottle != newScrollViewProps.scrollEventThrottle) {
237
241
  // Zero means "send value only once per significant logical event".
@@ -0,0 +1,29 @@
1
+
2
+ /*
3
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
4
+ *
5
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
6
+ * once the code is regenerated.
7
+ *
8
+ * @generated by GenerateRCTThirdPartyFabricComponentsProviderH
9
+ */
10
+
11
+ #pragma GCC diagnostic push
12
+ #pragma GCC diagnostic ignored "-Wreturn-type-c-linkage"
13
+
14
+ #import <React/RCTComponentViewProtocol.h>
15
+
16
+ #ifdef __cplusplus
17
+ extern "C" {
18
+ #endif
19
+
20
+ Class<RCTComponentViewProtocol> RCTThirdPartyFabricComponentsProvider(const char *name);
21
+
22
+
23
+
24
+ #ifdef __cplusplus
25
+ }
26
+ #endif
27
+
28
+ #pragma GCC diagnostic pop
29
+
@@ -0,0 +1,29 @@
1
+
2
+ /**
3
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
4
+ *
5
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
6
+ * once the code is regenerated.
7
+ *
8
+ * @generated by GenerateRCTThirdPartyFabricComponentsProviderCpp
9
+ */
10
+
11
+ // OSS-compatibility layer
12
+
13
+ #import "RCTThirdPartyFabricComponentsProvider.h"
14
+
15
+ #import <string>
16
+ #import <unordered_map>
17
+
18
+ Class<RCTComponentViewProtocol> RCTThirdPartyFabricComponentsProvider(const char *name) {
19
+ static std::unordered_map<std::string, Class (*)(void)> sFabricComponentsClassMap = {
20
+
21
+ };
22
+
23
+ auto p = sFabricComponentsClassMap.find(name);
24
+ if (p != sFabricComponentsClassMap.end()) {
25
+ auto classFunc = p->second;
26
+ return classFunc();
27
+ }
28
+ return nil;
29
+ }
@@ -56,6 +56,7 @@
56
56
  @property (nonatomic, assign) BOOL snapToEnd;
57
57
  @property (nonatomic, copy) NSString *snapToAlignment;
58
58
  @property (nonatomic, assign) BOOL inverted;
59
+ @property (nonatomic, assign) BOOL showsScrollIndex;
59
60
 
60
61
  // NOTE: currently these event props are only declared so we can export the
61
62
  // event names to JS - we don't call the blocks directly because scroll events
@@ -487,6 +487,18 @@ static inline void RCTApplyTransformationAccordingLayoutDirection(
487
487
  if ([changedProps containsObject:@"contentSize"]) {
488
488
  [self updateContentSizeIfNeeded];
489
489
  }
490
+ if ([changedProps containsObject:@"showsScrollIndex"]) {
491
+ [self updateScrollIndex];
492
+ }
493
+ }
494
+
495
+ - (void)updateScrollIndex
496
+ {
497
+ if (self.showsScrollIndex) {
498
+ self.scrollView.indexDisplayMode = UIScrollViewIndexDisplayModeAutomatic;
499
+ } else {
500
+ self.scrollView.indexDisplayMode = UIScrollViewIndexDisplayModeAlwaysHidden;
501
+ }
490
502
  }
491
503
 
492
504
  - (BOOL)centerContent
@@ -100,6 +100,7 @@ RCT_EXPORT_VIEW_PROPERTY(onScrollEndDrag, RCTDirectEventBlock)
100
100
  RCT_EXPORT_VIEW_PROPERTY(onMomentumScrollBegin, RCTDirectEventBlock)
101
101
  RCT_EXPORT_VIEW_PROPERTY(onMomentumScrollEnd, RCTDirectEventBlock)
102
102
  RCT_EXPORT_VIEW_PROPERTY(inverted, BOOL)
103
+ RCT_EXPORT_VIEW_PROPERTY(showsScrollIndex, BOOL)
103
104
  #if defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && __IPHONE_OS_VERSION_MAX_ALLOWED >= 130000 /* __IPHONE_13_0 */
104
105
  RCT_EXPORT_VIEW_PROPERTY(automaticallyAdjustsScrollIndicatorInsets, BOOL)
105
106
  #endif
@@ -1,4 +1,4 @@
1
- VERSION_NAME=0.72.4-0rc0
1
+ VERSION_NAME=0.72.5-0
2
2
 
3
3
  # GROUP=com.facebook.react
4
4
  # Group for the TV repo
@@ -47,7 +47,7 @@ def hermesDir = System.getenv("REACT_NATIVE_OVERRIDE_HERMES_DIR") ?: new File(re
47
47
  def hermesBuildDir = new File("$buildDir/hermes")
48
48
 
49
49
  def hermesVersion = "main"
50
- def hermesVersionFile = new File(reactNativeRootDir, "node_modules/react-native-core/sdks/.hermesversion")
50
+ def hermesVersionFile = new File(reactNativeRootDir, "../../node_modules/react-native-core/sdks/.hermesversion")
51
51
  if (hermesVersionFile.exists()) {
52
52
  hermesVersion = hermesVersionFile.text
53
53
  }
@@ -17,6 +17,6 @@ public class ReactNativeVersion {
17
17
  public static final Map<String, Object> VERSION = MapBuilder.<String, Object>of(
18
18
  "major", 0,
19
19
  "minor", 72,
20
- "patch", 4,
21
- "prerelease", "0rc0");
20
+ "patch", 5,
21
+ "prerelease", "0");
22
22
  }
@@ -103,6 +103,10 @@ public class MaintainVisibleScrollPositionHelper<ScrollViewT extends ViewGroup &
103
103
  }
104
104
 
105
105
  View firstVisibleView = mFirstVisibleView.get();
106
+ if (firstVisibleView == null) {
107
+ return;
108
+ }
109
+
106
110
  Rect newFrame = new Rect();
107
111
  firstVisibleView.getHitRect(newFrame);
108
112
 
@@ -8,6 +8,11 @@ set(CMAKE_VERBOSE_MAKEFILE on)
8
8
 
9
9
  project(ReactAndroid)
10
10
 
11
+ # Convert input paths to CMake format (with forward slashes)
12
+ file(TO_CMAKE_PATH "${REACT_ANDROID_DIR}" REACT_ANDROID_DIR)
13
+ file(TO_CMAKE_PATH "${REACT_BUILD_DIR}" REACT_BUILD_DIR)
14
+ file(TO_CMAKE_PATH "${REACT_COMMON_DIR}" REACT_COMMON_DIR)
15
+
11
16
  # If you have ccache installed, we're going to honor it.
12
17
  find_program(CCACHE_FOUND ccache)
13
18
  if(CCACHE_FOUND)
@@ -36,7 +36,7 @@ Pod::Spec.new do |s|
36
36
  "CLANG_CXX_LANGUAGE_STANDARD" => "c++17" }
37
37
 
38
38
  if ENV['USE_FRAMEWORKS']
39
- s.header_mappings_dir = File.absolute_path('./')
39
+ s.header_mappings_dir = './'
40
40
  s.module_name = 'React_Fabric'
41
41
  end
42
42
 
@@ -37,7 +37,7 @@ Pod::Spec.new do |s|
37
37
  "CLANG_CXX_LANGUAGE_STANDARD" => "c++17",
38
38
  "GCC_WARN_PEDANTIC" => "YES" }
39
39
  if ENV['USE_FRAMEWORKS']
40
- s.header_mappings_dir = File.absolute_path("./")
40
+ s.header_mappings_dir = './'
41
41
  end
42
42
 
43
43
  # TODO (T48588859): Restructure this target to align with dir structure: "react/nativemodule/..."
@@ -17,8 +17,8 @@ namespace facebook::react {
17
17
  constexpr struct {
18
18
  int32_t Major = 0;
19
19
  int32_t Minor = 72;
20
- int32_t Patch = 4;
21
- std::string_view Prerelease = "0rc0";
20
+ int32_t Patch = 5;
21
+ std::string_view Prerelease = "0";
22
22
  } ReactNativeVersion;
23
23
 
24
24
  } // namespace facebook::react
@@ -309,6 +309,9 @@ class JSCRuntime : public jsi::Runtime {
309
309
  #if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_10_0
310
310
  #define _JSC_NO_ARRAY_BUFFERS
311
311
  #endif
312
+ #if __IPHONE_OS_VERSION_MAX_ALLOWED >= 160400
313
+ #define _JSC_HAS_INSPECTABLE
314
+ #endif
312
315
  #endif
313
316
  #if defined(__MAC_OS_X_VERSION_MIN_REQUIRED)
314
317
  #if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_11
@@ -405,6 +408,13 @@ JSCRuntime::JSCRuntime(JSGlobalContextRef ctx)
405
408
  stringCounter_(0)
406
409
  #endif
407
410
  {
411
+ #ifndef NDEBUG
412
+ #ifdef _JSC_HAS_INSPECTABLE
413
+ if (__builtin_available(macOS 13.3, iOS 16.4, tvOS 16.4, *)) {
414
+ JSGlobalContextSetInspectable(ctx_, true);
415
+ }
416
+ #endif
417
+ #endif
408
418
  }
409
419
 
410
420
  JSCRuntime::~JSCRuntime() {
@@ -31,6 +31,6 @@ Pod::Spec.new do |s|
31
31
 
32
32
  if ENV['USE_FRAMEWORKS']
33
33
  s.module_name = "React_debug"
34
- s.header_mappings_dir = File.absolute_path("../..")
34
+ s.header_mappings_dir = "../.."
35
35
  end
36
36
  end
@@ -37,7 +37,7 @@ Pod::Spec.new do |s|
37
37
  "CLANG_CXX_LANGUAGE_STANDARD" => "c++17",
38
38
  "GCC_WARN_PEDANTIC" => "YES" }
39
39
  if ENV['USE_FRAMEWORKS']
40
- s.header_mappings_dir = File.absolute_path('./')
40
+ s.header_mappings_dir = './'
41
41
  end
42
42
 
43
43
  s.source_files = "ReactCommon/**/*.{mm,cpp,h}"
@@ -37,7 +37,7 @@ Pod::Spec.new do |s|
37
37
  "CLANG_CXX_LANGUAGE_STANDARD" => "c++17",
38
38
  "GCC_WARN_PEDANTIC" => "YES" }
39
39
  if ENV['USE_FRAMEWORKS']
40
- s.header_mappings_dir = File.absolute_path('./')
40
+ s.header_mappings_dir = './'
41
41
  end
42
42
 
43
43
 
@@ -0,0 +1,29 @@
1
+
2
+ /**
3
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
4
+ *
5
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
6
+ * once the code is regenerated.
7
+ *
8
+ * @generated by codegen project: GenerateComponentDescriptorH.js
9
+ */
10
+
11
+ #pragma once
12
+
13
+ #include <react/renderer/components/rncore/ShadowNodes.h>
14
+ #include <react/renderer/core/ConcreteComponentDescriptor.h>
15
+
16
+ namespace facebook {
17
+ namespace react {
18
+
19
+ using AndroidHorizontalScrollContentViewComponentDescriptor = ConcreteComponentDescriptor<AndroidHorizontalScrollContentViewShadowNode>;
20
+ using AndroidSwipeRefreshLayoutComponentDescriptor = ConcreteComponentDescriptor<AndroidSwipeRefreshLayoutShadowNode>;
21
+ using PullToRefreshViewComponentDescriptor = ConcreteComponentDescriptor<PullToRefreshViewShadowNode>;
22
+ using AndroidDrawerLayoutComponentDescriptor = ConcreteComponentDescriptor<AndroidDrawerLayoutShadowNode>;
23
+ using ActivityIndicatorViewComponentDescriptor = ConcreteComponentDescriptor<ActivityIndicatorViewShadowNode>;
24
+ using UnimplementedNativeViewComponentDescriptor = ConcreteComponentDescriptor<UnimplementedNativeViewShadowNode>;
25
+ using SwitchComponentDescriptor = ConcreteComponentDescriptor<SwitchShadowNode>;
26
+ using TraceUpdateOverlayComponentDescriptor = ConcreteComponentDescriptor<TraceUpdateOverlayShadowNode>;
27
+
28
+ } // namespace react
29
+ } // namespace facebook
@@ -0,0 +1,111 @@
1
+
2
+ /**
3
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
4
+ *
5
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
6
+ * once the code is regenerated.
7
+ *
8
+ * @generated by codegen project: GenerateEventEmitterCpp.js
9
+ */
10
+
11
+ #include <react/renderer/components/rncore/EventEmitters.h>
12
+
13
+ namespace facebook {
14
+ namespace react {
15
+
16
+
17
+
18
+
19
+ void AndroidSwipeRefreshLayoutEventEmitter::onRefresh(OnRefresh event) const {
20
+ dispatchEvent("refresh", [](jsi::Runtime &runtime) {
21
+ auto payload = jsi::Object(runtime);
22
+
23
+ return payload;
24
+ });
25
+ }
26
+ void PullToRefreshViewEventEmitter::onRefresh(OnRefresh event) const {
27
+ dispatchEvent("refresh", [](jsi::Runtime &runtime) {
28
+ auto payload = jsi::Object(runtime);
29
+
30
+ return payload;
31
+ });
32
+ }
33
+
34
+ void AndroidDrawerLayoutEventEmitter::onDrawerSlide(OnDrawerSlide event) const {
35
+ dispatchEvent("drawerSlide", [event=std::move(event)](jsi::Runtime &runtime) {
36
+ auto payload = jsi::Object(runtime);
37
+ payload.setProperty(runtime, "offset", event.offset);
38
+ return payload;
39
+ });
40
+ }
41
+ void AndroidDrawerLayoutEventEmitter::onDrawerStateChanged(OnDrawerStateChanged event) const {
42
+ dispatchEvent("drawerStateChanged", [event=std::move(event)](jsi::Runtime &runtime) {
43
+ auto payload = jsi::Object(runtime);
44
+ payload.setProperty(runtime, "drawerState", event.drawerState);
45
+ return payload;
46
+ });
47
+ }
48
+ void AndroidDrawerLayoutEventEmitter::onDrawerOpen(OnDrawerOpen event) const {
49
+ dispatchEvent("drawerOpen", [](jsi::Runtime &runtime) {
50
+ auto payload = jsi::Object(runtime);
51
+
52
+ return payload;
53
+ });
54
+ }
55
+ void AndroidDrawerLayoutEventEmitter::onDrawerClose(OnDrawerClose event) const {
56
+ dispatchEvent("drawerClose", [](jsi::Runtime &runtime) {
57
+ auto payload = jsi::Object(runtime);
58
+
59
+ return payload;
60
+ });
61
+ }
62
+
63
+
64
+ void SwitchEventEmitter::onChange(OnChange event) const {
65
+ dispatchEvent("change", [event=std::move(event)](jsi::Runtime &runtime) {
66
+ auto payload = jsi::Object(runtime);
67
+ payload.setProperty(runtime, "value", event.value);
68
+ payload.setProperty(runtime, "target", event.target);
69
+ return payload;
70
+ });
71
+ }
72
+ void AndroidSwitchEventEmitter::onChange(OnChange event) const {
73
+ dispatchEvent("change", [event=std::move(event)](jsi::Runtime &runtime) {
74
+ auto payload = jsi::Object(runtime);
75
+ payload.setProperty(runtime, "value", event.value);
76
+ payload.setProperty(runtime, "target", event.target);
77
+ return payload;
78
+ });
79
+ }
80
+
81
+ void ModalHostViewEventEmitter::onRequestClose(OnRequestClose event) const {
82
+ dispatchEvent("requestClose", [](jsi::Runtime &runtime) {
83
+ auto payload = jsi::Object(runtime);
84
+
85
+ return payload;
86
+ });
87
+ }
88
+ void ModalHostViewEventEmitter::onShow(OnShow event) const {
89
+ dispatchEvent("show", [](jsi::Runtime &runtime) {
90
+ auto payload = jsi::Object(runtime);
91
+
92
+ return payload;
93
+ });
94
+ }
95
+ void ModalHostViewEventEmitter::onDismiss(OnDismiss event) const {
96
+ dispatchEvent("dismiss", [](jsi::Runtime &runtime) {
97
+ auto payload = jsi::Object(runtime);
98
+
99
+ return payload;
100
+ });
101
+ }
102
+ void ModalHostViewEventEmitter::onOrientationChange(OnOrientationChange event) const {
103
+ dispatchEvent("orientationChange", [event=std::move(event)](jsi::Runtime &runtime) {
104
+ auto payload = jsi::Object(runtime);
105
+ payload.setProperty(runtime, "orientation", toString(event.orientation));
106
+ return payload;
107
+ });
108
+ }
109
+
110
+ } // namespace react
111
+ } // namespace facebook