react-native-tvos 0.77.0-0rc1 → 0.77.1-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 (74) hide show
  1. package/Libraries/Animated/animations/Animation.js +1 -1
  2. package/Libraries/Components/Pressable/Pressable.d.ts +2 -2
  3. package/Libraries/Components/Pressable/Pressable.js +3 -3
  4. package/Libraries/Components/ScrollView/ScrollView.js +3 -2
  5. package/Libraries/Components/TV/TVFocusGuideView.js +2 -6
  6. package/Libraries/Components/TextInput/TextInput.js +1 -1
  7. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -1
  8. package/Libraries/Components/Touchable/TouchableOpacity.js +1 -2
  9. package/Libraries/Components/View/View.js +2 -3
  10. package/Libraries/Components/View/ViewNativeComponent.js +2 -2
  11. package/Libraries/Components/View/ViewPropTypes.d.ts +4 -2
  12. package/Libraries/Core/ReactNativeVersion.js +2 -2
  13. package/Libraries/Core/setUpDeveloperTools.js +2 -3
  14. package/Libraries/Image/RCTImageLoader.mm +9 -1
  15. package/Libraries/LogBox/LogBoxNotificationContainer.js +1 -1
  16. package/Libraries/LogBox/UI/LogBoxButton.js +2 -2
  17. package/Libraries/LogBox/UI/LogBoxNotification.js +1 -1
  18. package/Libraries/Pressability/Pressability.js +2 -2
  19. package/Libraries/Text/TextInput/RCTBaseTextInputView.mm +1 -1
  20. package/Libraries/Utilities/BackHandler.ios.js +3 -8
  21. package/Libraries/Utilities/HMRClient.js +0 -28
  22. package/Libraries/Utilities/HMRClientProdShim.js +0 -1
  23. package/Libraries/Utilities/setAndForwardRef.js +2 -2
  24. package/React/Base/RCTConvert.mm +3 -1
  25. package/React/Base/RCTVersion.m +2 -2
  26. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +89 -40
  27. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +11 -1
  28. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +5 -2
  29. package/React/Views/RCTTVView.m +5 -2
  30. package/React/Views/ScrollView/RCTScrollView.m +63 -26
  31. package/ReactAndroid/api/ReactAndroid.api +5 -0
  32. package/ReactAndroid/cmake-utils/ReactNative-application.cmake +13 -3
  33. package/ReactAndroid/cmake-utils/default-app-setup/OnLoad.cpp +0 -13
  34. package/ReactAndroid/gradle.properties +2 -2
  35. package/ReactAndroid/src/main/java/com/facebook/react/HeadlessJsTaskService.java +12 -13
  36. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +8 -0
  37. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +8 -0
  38. package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.java +37 -0
  39. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseJavaModule.java +1 -1
  40. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/StackTraceHelper.java +6 -2
  41. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.java +15 -8
  42. package/ReactAndroid/src/main/java/com/facebook/react/module/model/ReactModuleInfo.kt +18 -0
  43. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +2 -2
  44. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/CompositeBackgroundDrawable.kt +9 -8
  45. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +22 -2
  46. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +16 -2
  47. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactClippingViewManager.kt +0 -3
  48. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +33 -0
  49. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +12 -0
  50. package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
  51. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.mm +13 -4
  52. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.h +5 -0
  53. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +27 -9
  54. package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +6 -0
  55. package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +2 -0
  56. package/ReactCommon/react/renderer/attributedstring/conversions.h +5 -0
  57. package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +12 -0
  58. package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.h +2 -3
  59. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.mm +7 -3
  60. package/ReactCommon/react/runtime/ReactInstance.cpp +39 -35
  61. package/ReactCommon/react/runtime/ReactInstance.h +2 -1
  62. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm +3 -2
  63. package/index.js +5 -5
  64. package/package.json +13 -10
  65. package/scripts/cocoapods/utils.rb +6 -6
  66. package/scripts/codegen/generate-artifacts-executor.js +10 -0
  67. package/sdks/hermes-engine/hermes-engine.podspec +1 -1
  68. package/sdks/hermes-engine/hermes-utils.rb +2 -2
  69. package/sdks/hermesc/linux64-bin/hermesc +0 -0
  70. package/sdks/hermesc/osx-bin/hermes +0 -0
  71. package/sdks/hermesc/osx-bin/hermesc +0 -0
  72. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  73. package/src/private/featureflags/ReactNativeFeatureFlags.js +2 -2
  74. package/types/public/ReactNativeTVTypes.d.ts +9 -7
@@ -73,6 +73,12 @@ static TextAttributes convertRawProp(
73
73
  "allowFontScaling",
74
74
  sourceTextAttributes.allowFontScaling,
75
75
  defaultTextAttributes.allowFontScaling);
76
+ textAttributes.maxFontSizeMultiplier = convertRawProp(
77
+ context,
78
+ rawProps,
79
+ "maxFontSizeMultiplier",
80
+ sourceTextAttributes.maxFontSizeMultiplier,
81
+ defaultTextAttributes.maxFontSizeMultiplier);
76
82
  textAttributes.dynamicTypeRamp = convertRawProp(
77
83
  context,
78
84
  rawProps,
@@ -266,6 +272,12 @@ void BaseTextProps::setProp(
266
272
  defaults, value, textAttributes, fontVariant, "fontVariant");
267
273
  REBUILD_FIELD_SWITCH_CASE(
268
274
  defaults, value, textAttributes, allowFontScaling, "allowFontScaling");
275
+ REBUILD_FIELD_SWITCH_CASE(
276
+ defaults,
277
+ value,
278
+ textAttributes,
279
+ maxFontSizeMultiplier,
280
+ "maxFontSizeMultiplier");
269
281
  REBUILD_FIELD_SWITCH_CASE(
270
282
  defaults, value, textAttributes, letterSpacing, "letterSpacing");
271
283
  REBUILD_FIELD_SWITCH_CASE(
@@ -208,8 +208,7 @@ inline bool operator==(
208
208
  return areAttributedStringsEquivalentLayoutWise(
209
209
  lhs.attributedString, rhs.attributedString) &&
210
210
  lhs.paragraphAttributes == rhs.paragraphAttributes &&
211
- lhs.layoutConstraints.maximumSize.width ==
212
- rhs.layoutConstraints.maximumSize.width;
211
+ lhs.layoutConstraints == rhs.layoutConstraints;
213
212
  }
214
213
 
215
214
  inline bool operator!=(
@@ -243,7 +242,7 @@ struct hash<facebook::react::TextMeasureCacheKey> {
243
242
  return facebook::react::hash_combine(
244
243
  attributedStringHashLayoutWise(key.attributedString),
245
244
  key.paragraphAttributes,
246
- key.layoutConstraints.maximumSize.width);
245
+ key.layoutConstraints);
247
246
  }
248
247
  };
249
248
 
@@ -139,6 +139,7 @@ inline static CGFloat RCTBaseSizeForDynamicTypeRamp(const DynamicTypeRamp &dynam
139
139
  inline static CGFloat RCTEffectiveFontSizeMultiplierFromTextAttributes(const TextAttributes &textAttributes)
140
140
  {
141
141
  if (textAttributes.allowFontScaling.value_or(true)) {
142
+ CGFloat fontSizeMultiplier = !isnan(textAttributes.fontSizeMultiplier) ? textAttributes.fontSizeMultiplier : 1.0;
142
143
  if (textAttributes.dynamicTypeRamp.has_value()) {
143
144
  DynamicTypeRamp dynamicTypeRamp = textAttributes.dynamicTypeRamp.value();
144
145
  UIFontMetrics *fontMetrics =
@@ -146,10 +147,11 @@ inline static CGFloat RCTEffectiveFontSizeMultiplierFromTextAttributes(const Tex
146
147
  // Using a specific font size reduces rounding errors from -scaledValueForValue:
147
148
  CGFloat requestedSize =
148
149
  isnan(textAttributes.fontSize) ? RCTBaseSizeForDynamicTypeRamp(dynamicTypeRamp) : textAttributes.fontSize;
149
- return [fontMetrics scaledValueForValue:requestedSize] / requestedSize;
150
- } else {
151
- return textAttributes.fontSizeMultiplier;
150
+ fontSizeMultiplier = [fontMetrics scaledValueForValue:requestedSize] / requestedSize;
152
151
  }
152
+ CGFloat maxFontSizeMultiplier =
153
+ !isnan(textAttributes.maxFontSizeMultiplier) ? textAttributes.maxFontSizeMultiplier : 0.0;
154
+ return maxFontSizeMultiplier >= 1.0 ? fminf(maxFontSizeMultiplier, fontSizeMultiplier) : fontSizeMultiplier;
153
155
  } else {
154
156
  return 1.0;
155
157
  }
@@ -407,6 +409,7 @@ static NSMutableAttributedString *RCTNSAttributedStringFragmentWithAttributesFro
407
409
  {
408
410
  auto nsAttributedStringFragment = RCTNSAttributedStringFragmentFromFragment(fragment, placeholderImage);
409
411
 
412
+ #if !TARGET_OS_MACCATALYST
410
413
  if (fragment.parentShadowView.componentHandle) {
411
414
  RCTWeakEventEmitterWrapper *eventEmitterWrapper = [RCTWeakEventEmitterWrapper new];
412
415
  eventEmitterWrapper.eventEmitter = fragment.parentShadowView.eventEmitter;
@@ -417,6 +420,7 @@ static NSMutableAttributedString *RCTNSAttributedStringFragmentWithAttributesFro
417
420
  [nsAttributedStringFragment addAttributes:additionalTextAttributes
418
421
  range:NSMakeRange(0, nsAttributedStringFragment.length)];
419
422
  }
423
+ #endif
420
424
 
421
425
  return nsAttributedStringFragment;
422
426
  }
@@ -236,47 +236,51 @@ std::string simpleBasename(const std::string& path) {
236
236
  */
237
237
  void ReactInstance::loadScript(
238
238
  std::unique_ptr<const JSBigString> script,
239
- const std::string& sourceURL) {
239
+ const std::string& sourceURL,
240
+ std::function<void(jsi::Runtime& runtime)>&& completion) {
240
241
  auto buffer = std::make_shared<BigStringBuffer>(std::move(script));
241
242
  std::string scriptName = simpleBasename(sourceURL);
242
243
 
243
- runtimeScheduler_->scheduleWork(
244
- [this,
245
- scriptName,
246
- sourceURL,
247
- buffer = std::move(buffer),
248
- weakBufferedRuntimeExecuter = std::weak_ptr<BufferedRuntimeExecutor>(
249
- bufferedRuntimeExecutor_)](jsi::Runtime& runtime) {
250
- SystraceSection s("ReactInstance::loadScript");
251
- bool hasLogger(ReactMarker::logTaggedMarkerBridgelessImpl);
252
- if (hasLogger) {
253
- ReactMarker::logTaggedMarkerBridgeless(
254
- ReactMarker::RUN_JS_BUNDLE_START, scriptName.c_str());
255
- }
244
+ runtimeScheduler_->scheduleWork([this,
245
+ scriptName,
246
+ sourceURL,
247
+ buffer = std::move(buffer),
248
+ weakBufferedRuntimeExecuter =
249
+ std::weak_ptr<BufferedRuntimeExecutor>(
250
+ bufferedRuntimeExecutor_),
251
+ completion](jsi::Runtime& runtime) {
252
+ SystraceSection s("ReactInstance::loadScript");
253
+ bool hasLogger(ReactMarker::logTaggedMarkerBridgelessImpl);
254
+ if (hasLogger) {
255
+ ReactMarker::logTaggedMarkerBridgeless(
256
+ ReactMarker::RUN_JS_BUNDLE_START, scriptName.c_str());
257
+ }
256
258
 
257
- runtime.evaluateJavaScript(buffer, sourceURL);
259
+ runtime.evaluateJavaScript(buffer, sourceURL);
258
260
 
259
- /**
260
- * TODO(T183610671): We need a safe/reliable way to enable the js
261
- * pipeline from javascript. Remove this after we figure that out, or
262
- * after we just remove the js pipeline.
263
- */
264
- if (!jsErrorHandler_->hasHandledFatalError()) {
265
- jsErrorHandler_->setRuntimeReady();
266
- }
261
+ /**
262
+ * TODO(T183610671): We need a safe/reliable way to enable the js
263
+ * pipeline from javascript. Remove this after we figure that out, or
264
+ * after we just remove the js pipeline.
265
+ */
266
+ if (!jsErrorHandler_->hasHandledFatalError()) {
267
+ jsErrorHandler_->setRuntimeReady();
268
+ }
267
269
 
268
- if (hasLogger) {
269
- ReactMarker::logTaggedMarkerBridgeless(
270
- ReactMarker::RUN_JS_BUNDLE_STOP, scriptName.c_str());
271
- ReactMarker::logMarkerBridgeless(
272
- ReactMarker::INIT_REACT_RUNTIME_STOP);
273
- ReactMarker::logMarkerBridgeless(ReactMarker::APP_STARTUP_STOP);
274
- }
275
- if (auto strongBufferedRuntimeExecuter =
276
- weakBufferedRuntimeExecuter.lock()) {
277
- strongBufferedRuntimeExecuter->flush();
278
- }
279
- });
270
+ if (hasLogger) {
271
+ ReactMarker::logTaggedMarkerBridgeless(
272
+ ReactMarker::RUN_JS_BUNDLE_STOP, scriptName.c_str());
273
+ ReactMarker::logMarkerBridgeless(ReactMarker::INIT_REACT_RUNTIME_STOP);
274
+ ReactMarker::logMarkerBridgeless(ReactMarker::APP_STARTUP_STOP);
275
+ }
276
+ if (auto strongBufferedRuntimeExecuter =
277
+ weakBufferedRuntimeExecuter.lock()) {
278
+ strongBufferedRuntimeExecuter->flush();
279
+ }
280
+ if (completion) {
281
+ completion(runtime);
282
+ }
283
+ });
280
284
  }
281
285
 
282
286
  /*
@@ -49,7 +49,8 @@ class ReactInstance final : private jsinspector_modern::InstanceTargetDelegate {
49
49
 
50
50
  void loadScript(
51
51
  std::unique_ptr<const JSBigString> script,
52
- const std::string& sourceURL);
52
+ const std::string& sourceURL,
53
+ std::function<void(jsi::Runtime& runtime)>&& completion = nullptr);
53
54
 
54
55
  void registerSegment(uint32_t segmentId, const std::string& segmentPath);
55
56
 
@@ -472,8 +472,9 @@ void RCTInstanceSetRuntimeDiagnosticFlags(NSString *flags)
472
472
 
473
473
  auto script = std::make_unique<NSDataBigString>(source.data);
474
474
  const auto *url = deriveSourceURL(source.url).UTF8String;
475
- _reactInstance->loadScript(std::move(script), url);
476
- [[NSNotificationCenter defaultCenter] postNotificationName:@"RCTInstanceDidLoadBundle" object:nil];
475
+ _reactInstance->loadScript(std::move(script), url, [](jsi::Runtime &_) {
476
+ [[NSNotificationCenter defaultCenter] postNotificationName:@"RCTInstanceDidLoadBundle" object:nil];
477
+ });
477
478
  }
478
479
 
479
480
  - (void)_handleJSError:(const JsErrorHandler::ParsedError &)error withRuntime:(jsi::Runtime &)runtime
package/index.js CHANGED
@@ -43,6 +43,11 @@ import typeof TouchableHighlight from './Libraries/Components/Touchable/Touchabl
43
43
  import typeof TouchableNativeFeedback from './Libraries/Components/Touchable/TouchableNativeFeedback';
44
44
  import typeof TouchableOpacity from './Libraries/Components/Touchable/TouchableOpacity';
45
45
  import typeof TouchableWithoutFeedback from './Libraries/Components/Touchable/TouchableWithoutFeedback';
46
+ import typeof TVEventControl from './Libraries/Components/TV/TVEventControl';
47
+ import typeof TVEventHandler from './Libraries/Components/TV/TVEventHandler';
48
+ import typeof TVFocusGuideView from './Libraries/Components/TV/TVFocusGuideView';
49
+ import typeof TVTextScrollView from './Libraries/Components/TV/TVTextScrollView';
50
+ import typeof useTVEventHandler from './Libraries/Components/TV/useTVEventHandler';
46
51
  import typeof View from './Libraries/Components/View/View';
47
52
  import typeof RegisterCallableModule from './Libraries/Core/registerCallableModule';
48
53
  import typeof NativeEventEmitter from './Libraries/EventEmitter/NativeEventEmitter';
@@ -92,13 +97,8 @@ import typeof DevSettings from './Libraries/Utilities/DevSettings';
92
97
  import typeof Dimensions from './Libraries/Utilities/Dimensions';
93
98
  import typeof PixelRatio from './Libraries/Utilities/PixelRatio';
94
99
  import typeof Platform from './Libraries/Utilities/Platform';
95
- import typeof TVEventHandler from './Libraries/Components/TV/TVEventHandler';
96
- import typeof TVFocusGuideView from './Libraries/Components/TV/TVFocusGuideView';
97
- import typeof TVEventControl from './Libraries/Components/TV/TVEventControl';
98
- import typeof TVTextScrollView from './Libraries/Components/TV/TVTextScrollView';
99
100
  import typeof useColorScheme from './Libraries/Utilities/useColorScheme';
100
101
  import typeof useWindowDimensions from './Libraries/Utilities/useWindowDimensions';
101
- import typeof useTVEventHandler from './Libraries/Components/TV/useTVEventHandler';
102
102
  import typeof Vibration from './Libraries/Vibration/Vibration';
103
103
  import typeof YellowBox from './Libraries/YellowBox/YellowBoxDeprecated';
104
104
  import typeof DevMenu from './src/private/devmenu/DevMenu';
package/package.json CHANGED
@@ -1,19 +1,22 @@
1
1
  {
2
2
  "name": "react-native-tvos",
3
- "version": "0.77.0-0rc1",
3
+ "version": "0.77.1-0",
4
4
  "description": "A framework for building native apps using React",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "type": "git",
8
- "url": "git+https://github.com/facebook/react-native.git",
8
+ "url": "git+https://github.com/react-native-tvos/react-native-tvos.git",
9
9
  "directory": "packages/react-native"
10
10
  },
11
- "homepage": "https://reactnative.dev/",
11
+ "homepage": "https://github.com/react-native-tvos/react-native-tvos/wiki",
12
12
  "keywords": [
13
13
  "react",
14
14
  "react-native",
15
15
  "android",
16
16
  "ios",
17
+ "tvos",
18
+ "apple tv",
19
+ "android tv",
17
20
  "mobile",
18
21
  "cross-platform",
19
22
  "app-framework",
@@ -109,13 +112,13 @@
109
112
  },
110
113
  "dependencies": {
111
114
  "@jest/create-cache-key-function": "^29.6.3",
112
- "@react-native/assets-registry": "0.77.0-rc.1",
113
- "@react-native/codegen": "0.77.0-rc.1",
114
- "@react-native/community-cli-plugin": "0.77.0-rc.1",
115
- "@react-native/gradle-plugin": "0.77.0-rc.1",
116
- "@react-native/js-polyfills": "0.77.0-rc.1",
117
- "@react-native/normalize-colors": "0.77.0-rc.1",
118
- "@react-native-tvos/virtualized-lists": "0.77.0-0rc1",
115
+ "@react-native/assets-registry": "0.77.1",
116
+ "@react-native/codegen": "0.77.1",
117
+ "@react-native/community-cli-plugin": "0.77.1",
118
+ "@react-native/gradle-plugin": "0.77.1",
119
+ "@react-native/js-polyfills": "0.77.1",
120
+ "@react-native/normalize-colors": "0.77.1",
121
+ "@react-native-tvos/virtualized-lists": "0.77.1-0",
119
122
  "abort-controller": "^3.0.0",
120
123
  "anser": "^1.4.9",
121
124
  "ansi-regex": "^5.0.0",
@@ -44,10 +44,10 @@ class ReactNativePodsUtils
44
44
  end
45
45
 
46
46
  def self.set_gcc_preprocessor_definition_for_React_hermes(installer)
47
- self.add_build_settings_to_pod(installer, "GCC_PREPROCESSOR_DEFINITIONS", "HERMES_ENABLE_DEBUGGER=1", "React-hermes", "Debug")
48
- self.add_build_settings_to_pod(installer, "GCC_PREPROCESSOR_DEFINITIONS", "HERMES_ENABLE_DEBUGGER=1", "React-jsinspector", "Debug")
49
- self.add_build_settings_to_pod(installer, "GCC_PREPROCESSOR_DEFINITIONS", "HERMES_ENABLE_DEBUGGER=1", "hermes-engine", "Debug")
50
- self.add_build_settings_to_pod(installer, "GCC_PREPROCESSOR_DEFINITIONS", "HERMES_ENABLE_DEBUGGER=1", "React-RuntimeHermes", "Debug")
47
+ self.add_build_settings_to_pod(installer, "GCC_PREPROCESSOR_DEFINITIONS", "HERMES_ENABLE_DEBUGGER=1", "React-hermes", :debug)
48
+ self.add_build_settings_to_pod(installer, "GCC_PREPROCESSOR_DEFINITIONS", "HERMES_ENABLE_DEBUGGER=1", "React-jsinspector", :debug)
49
+ self.add_build_settings_to_pod(installer, "GCC_PREPROCESSOR_DEFINITIONS", "HERMES_ENABLE_DEBUGGER=1", "hermes-engine", :debug)
50
+ self.add_build_settings_to_pod(installer, "GCC_PREPROCESSOR_DEFINITIONS", "HERMES_ENABLE_DEBUGGER=1", "React-RuntimeHermes", :debug)
51
51
  end
52
52
 
53
53
  def self.turn_off_resource_bundle_react_core(installer)
@@ -193,11 +193,11 @@ class ReactNativePodsUtils
193
193
 
194
194
  private
195
195
 
196
- def self.add_build_settings_to_pod(installer, settings_name, settings_value, target_pod_name, configuration)
196
+ def self.add_build_settings_to_pod(installer, settings_name, settings_value, target_pod_name, configuration_type)
197
197
  installer.target_installation_results.pod_target_installation_results.each do |pod_name, target_installation_result|
198
198
  if pod_name.to_s == target_pod_name
199
199
  target_installation_result.native_target.build_configurations.each do |config|
200
- if configuration == nil || (configuration != nil && config.name.include?(configuration))
200
+ if configuration_type == nil || (configuration_type != nil && config.type == configuration_type)
201
201
  config.build_settings[settings_name] ||= '$(inherited) '
202
202
  config.build_settings[settings_name] << settings_value
203
203
  end
@@ -764,6 +764,16 @@ function findFilesWithExtension(filePath, extension) {
764
764
  const dir = fs.readdirSync(filePath);
765
765
  dir.forEach(file => {
766
766
  const absolutePath = path.join(filePath, file);
767
+ // Exclude files provided by react-native
768
+ if (absolutePath.includes(`${path.sep}react-native${path.sep}`)) {
769
+ return null;
770
+ }
771
+
772
+ // Skip hidden folders, that starts with `.`
773
+ if (absolutePath.includes(`${path.sep}.`)) {
774
+ return null;
775
+ }
776
+
767
777
  if (
768
778
  fs.existsSync(absolutePath) &&
769
779
  fs.statSync(absolutePath).isDirectory()
@@ -9,7 +9,7 @@ require_relative "./hermes-utils.rb"
9
9
  begin
10
10
  react_native_path = File.dirname(Pod::Executable.execute_command('node', ['-p',
11
11
  'require.resolve(
12
- "react-native-tvos",
12
+ "react-native",
13
13
  {paths: [process.argv[1]]},
14
14
  )', __dir__]).strip
15
15
  )
@@ -113,8 +113,8 @@ def core_version(version)
113
113
  prerelease = match[2]
114
114
  prerelease_match = prerelease.match(/0rc(\d+)/)
115
115
  if prerelease_match.nil?
116
- hermes_log("core_version = #{version}")
117
- return version
116
+ hermes_log("core_version = #{core_base_version}")
117
+ return core_base_version
118
118
  end
119
119
 
120
120
  cv = "#{core_base_version}-rc.#{prerelease_match[1]}"
Binary file
Binary file
Binary file
Binary file
@@ -4,7 +4,7 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @generated SignedSource<<83b5798ee1c7a28fffbf110e19641d69>>
7
+ * @generated SignedSource<<aa51de14d1f085127ad410580beb15f6>>
8
8
  * @flow strict
9
9
  */
10
10
 
@@ -170,7 +170,7 @@ export const shouldUseSetNativePropsInFabric: Getter<boolean> = createJavaScript
170
170
  /**
171
171
  * Changes construction of the animation graph to `useInsertionEffect` instead of `useLayoutEffect`.
172
172
  */
173
- export const useInsertionEffectsForAnimations: Getter<boolean> = createJavaScriptFlagGetter('useInsertionEffectsForAnimations', true);
173
+ export const useInsertionEffectsForAnimations: Getter<boolean> = createJavaScriptFlagGetter('useInsertionEffectsForAnimations', false);
174
174
 
175
175
  /**
176
176
  * Enable a variant of TextInput that moves some state to refs to avoid unnecessary re-renders
@@ -2,6 +2,8 @@ import * as React from 'react';
2
2
  import type { View, ScrollViewProps, HostComponent, EventSubscription } from 'react-native';
3
3
 
4
4
  declare module 'react-native' {
5
+ export type FocusDestination = null | number | React.Component<any, any> | React.ComponentClass<any>;
6
+
5
7
  interface ViewProps {
6
8
  /**
7
9
  * Android TV only prop
@@ -10,29 +12,29 @@ declare module 'react-native' {
10
12
  /**
11
13
  * TV next focus down (see documentation for the View component).
12
14
  */
13
- nextFocusDown?: number | undefined,
15
+ nextFocusDown?: FocusDestination | undefined,
14
16
 
15
17
  /**
16
18
  * TV next focus forward (see documentation for the View component).
17
19
  *
18
20
  * @platform android
19
21
  */
20
- nextFocusForward?: number | undefined,
22
+ nextFocusForward?: FocusDestination | undefined,
21
23
 
22
24
  /**
23
25
  * TV next focus left (see documentation for the View component).
24
26
  */
25
- nextFocusLeft?: number | undefined,
27
+ nextFocusLeft?: FocusDestination | undefined,
26
28
 
27
29
  /**
28
30
  * TV next focus right (see documentation for the View component).
29
31
  */
30
- nextFocusRight?: number | undefined,
32
+ nextFocusRight?: FocusDestination | undefined,
31
33
 
32
34
  /**
33
35
  * TV next focus up (see documentation for the View component).
34
36
  */
35
- nextFocusUp?: number | undefined,
37
+ nextFocusUp?: FocusDestination | undefined,
36
38
  }
37
39
 
38
40
  export interface NativeMethods {
@@ -118,7 +120,7 @@ declare module 'react-native' {
118
120
  /**
119
121
  * Array of `Component`s to register as destinations with `UIFocusGuide`
120
122
  */
121
- destinations?: (null | number | React.Component<any, any> | React.ComponentClass<any>)[] | undefined;
123
+ destinations?: FocusDestination[] | undefined;
122
124
  /**
123
125
  * If true, `TVFocusGuide` will automatically manage focus for you.
124
126
  * It will redirect the focus to the first focusable child on the first visit.
@@ -154,7 +156,7 @@ declare module 'react-native' {
154
156
 
155
157
  export type FocusGuideMethods = {
156
158
  setDestinations: (
157
- destinations: (React.ElementRef<HostComponent<unknown>> | null | undefined)[],
159
+ destinations: FocusDestination[],
158
160
  ) => void;
159
161
  }
160
162