react-native-tvos 0.69.6-2 → 0.69.8-0rc
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.
- package/Libraries/Components/Pressable/Pressable.js +11 -2
- package/Libraries/Components/ScrollView/ScrollView.js +1 -0
- package/Libraries/Components/TV/TVEventHandler.js +4 -2
- package/Libraries/Components/TV/TVFocusEventHandler.js +4 -2
- package/Libraries/Components/TV/TVFocusGuideView.js +75 -47
- package/Libraries/Components/TV/TVViewPropTypes.js +7 -0
- package/Libraries/Components/TV/useTVEventHandler.js +2 -1
- package/Libraries/Components/TextInput/TextInput.js +1 -1
- package/Libraries/Components/Touchable/TouchableBounce.js +5 -0
- package/Libraries/Components/Touchable/TouchableHighlight.js +7 -2
- package/Libraries/Components/Touchable/TouchableOpacity.js +7 -2
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +7 -0
- package/Libraries/Components/View/ViewNativeComponent.js +1 -1
- package/Libraries/Core/ReactNativeVersion.js +2 -2
- package/Libraries/Lists/VirtualizedList.js +25 -10
- package/Libraries/LogBox/UI/LogBoxButton.js +16 -12
- package/Libraries/LogBox/UI/LogBoxNotification.js +1 -1
- package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +2 -20
- package/Libraries/StyleSheet/StyleSheetTypes.js +1 -0
- package/Libraries/Types/CoreEventTypes.js +9 -0
- package/README.md +3 -1
- package/React/Base/RCTVersion.m +2 -2
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +89 -8
- package/React/Views/RCTTVView.h +11 -1
- package/React/Views/RCTTVView.m +77 -0
- package/React/Views/RCTViewManager.m +6 -1
- package/ReactAndroid/gradle.properties +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.java +6 -1
- package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java +4 -5
- package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +57 -62
- package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +7 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactAndroidHWInputDeviceHelper.java +44 -14
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/Event.java +18 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +25 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +245 -7
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.java +45 -4
- package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
- package/ReactCommon/react/renderer/components/view/ViewProps.cpp +87 -11
- package/ReactCommon/react/renderer/components/view/ViewProps.h +10 -1
- package/android/com/facebook/react/hermes-engine/{0.69.6-2/hermes-engine-0.69.6-2-release-javadoc.jar → 0.69.8-0rc/hermes-engine-0.69.8-0rc-debug-javadoc.jar} +0 -0
- package/android/com/facebook/react/hermes-engine/0.69.8-0rc/hermes-engine-0.69.8-0rc-debug-javadoc.jar.md5 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.8-0rc/hermes-engine-0.69.8-0rc-debug-javadoc.jar.sha1 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.8-0rc/hermes-engine-0.69.8-0rc-debug-javadoc.jar.sha256 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.8-0rc/hermes-engine-0.69.8-0rc-debug-javadoc.jar.sha512 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.8-0rc/hermes-engine-0.69.8-0rc-debug.aar +0 -0
- package/android/com/facebook/react/hermes-engine/0.69.8-0rc/hermes-engine-0.69.8-0rc-debug.aar.md5 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.8-0rc/hermes-engine-0.69.8-0rc-debug.aar.sha1 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.8-0rc/hermes-engine-0.69.8-0rc-debug.aar.sha256 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.8-0rc/hermes-engine-0.69.8-0rc-debug.aar.sha512 +1 -0
- package/android/com/facebook/react/hermes-engine/{0.69.6-2/hermes-engine-0.69.6-2-debug-javadoc.jar → 0.69.8-0rc/hermes-engine-0.69.8-0rc-release-javadoc.jar} +0 -0
- package/android/com/facebook/react/hermes-engine/0.69.8-0rc/hermes-engine-0.69.8-0rc-release-javadoc.jar.md5 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.8-0rc/hermes-engine-0.69.8-0rc-release-javadoc.jar.sha1 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.8-0rc/hermes-engine-0.69.8-0rc-release-javadoc.jar.sha256 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.8-0rc/hermes-engine-0.69.8-0rc-release-javadoc.jar.sha512 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.8-0rc/hermes-engine-0.69.8-0rc-release.aar +0 -0
- package/android/com/facebook/react/hermes-engine/0.69.8-0rc/hermes-engine-0.69.8-0rc-release.aar.md5 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.8-0rc/hermes-engine-0.69.8-0rc-release.aar.sha1 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.8-0rc/hermes-engine-0.69.8-0rc-release.aar.sha256 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.8-0rc/hermes-engine-0.69.8-0rc-release.aar.sha512 +1 -0
- package/android/com/facebook/react/hermes-engine/{0.69.6-2/hermes-engine-0.69.6-2.module → 0.69.8-0rc/hermes-engine-0.69.8-0rc.module} +47 -47
- package/android/com/facebook/react/hermes-engine/0.69.8-0rc/hermes-engine-0.69.8-0rc.module.md5 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.8-0rc/hermes-engine-0.69.8-0rc.module.sha1 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.8-0rc/hermes-engine-0.69.8-0rc.module.sha256 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.8-0rc/hermes-engine-0.69.8-0rc.module.sha512 +1 -0
- package/android/com/facebook/react/hermes-engine/{0.69.6-2/hermes-engine-0.69.6-2.pom → 0.69.8-0rc/hermes-engine-0.69.8-0rc.pom} +1 -1
- package/android/com/facebook/react/hermes-engine/0.69.8-0rc/hermes-engine-0.69.8-0rc.pom.md5 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.8-0rc/hermes-engine-0.69.8-0rc.pom.sha1 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.8-0rc/hermes-engine-0.69.8-0rc.pom.sha256 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.8-0rc/hermes-engine-0.69.8-0rc.pom.sha512 +1 -0
- package/android/com/facebook/react/hermes-engine/maven-metadata.xml +4 -4
- package/android/com/facebook/react/hermes-engine/maven-metadata.xml.md5 +1 -1
- package/android/com/facebook/react/hermes-engine/maven-metadata.xml.sha1 +1 -1
- package/android/com/facebook/react/hermes-engine/maven-metadata.xml.sha256 +1 -1
- package/android/com/facebook/react/hermes-engine/maven-metadata.xml.sha512 +1 -1
- package/android/com/facebook/react/react-native/{0.69.6-2/react-native-0.69.6-2-debug-javadoc.jar → 0.69.8-0rc/react-native-0.69.8-0rc-debug-javadoc.jar} +0 -0
- package/android/com/facebook/react/react-native/0.69.8-0rc/react-native-0.69.8-0rc-debug-javadoc.jar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.8-0rc/react-native-0.69.8-0rc-debug-javadoc.jar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.8-0rc/react-native-0.69.8-0rc-debug-javadoc.jar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.8-0rc/react-native-0.69.8-0rc-debug-javadoc.jar.sha512 +1 -0
- package/android/com/facebook/react/react-native/{0.69.6-2/react-native-0.69.6-2-debug-sources.jar → 0.69.8-0rc/react-native-0.69.8-0rc-debug-sources.jar} +0 -0
- package/android/com/facebook/react/react-native/0.69.8-0rc/react-native-0.69.8-0rc-debug-sources.jar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.8-0rc/react-native-0.69.8-0rc-debug-sources.jar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.8-0rc/react-native-0.69.8-0rc-debug-sources.jar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.8-0rc/react-native-0.69.8-0rc-debug-sources.jar.sha512 +1 -0
- package/android/com/facebook/react/react-native/{0.69.6-2/react-native-0.69.6-2-debug.aar → 0.69.8-0rc/react-native-0.69.8-0rc-debug.aar} +0 -0
- package/android/com/facebook/react/react-native/0.69.8-0rc/react-native-0.69.8-0rc-debug.aar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.8-0rc/react-native-0.69.8-0rc-debug.aar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.8-0rc/react-native-0.69.8-0rc-debug.aar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.8-0rc/react-native-0.69.8-0rc-debug.aar.sha512 +1 -0
- package/android/com/facebook/react/react-native/{0.69.6-2/react-native-0.69.6-2-release-javadoc.jar → 0.69.8-0rc/react-native-0.69.8-0rc-release-javadoc.jar} +0 -0
- package/android/com/facebook/react/react-native/0.69.8-0rc/react-native-0.69.8-0rc-release-javadoc.jar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.8-0rc/react-native-0.69.8-0rc-release-javadoc.jar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.8-0rc/react-native-0.69.8-0rc-release-javadoc.jar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.8-0rc/react-native-0.69.8-0rc-release-javadoc.jar.sha512 +1 -0
- package/android/com/facebook/react/react-native/{0.69.6-2/react-native-0.69.6-2-release-sources.jar → 0.69.8-0rc/react-native-0.69.8-0rc-release-sources.jar} +0 -0
- package/android/com/facebook/react/react-native/0.69.8-0rc/react-native-0.69.8-0rc-release-sources.jar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.8-0rc/react-native-0.69.8-0rc-release-sources.jar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.8-0rc/react-native-0.69.8-0rc-release-sources.jar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.8-0rc/react-native-0.69.8-0rc-release-sources.jar.sha512 +1 -0
- package/android/com/facebook/react/react-native/{0.69.6-2/react-native-0.69.6-2-release.aar → 0.69.8-0rc/react-native-0.69.8-0rc-release.aar} +0 -0
- package/android/com/facebook/react/react-native/0.69.8-0rc/react-native-0.69.8-0rc-release.aar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.8-0rc/react-native-0.69.8-0rc-release.aar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.8-0rc/react-native-0.69.8-0rc-release.aar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.8-0rc/react-native-0.69.8-0rc-release.aar.sha512 +1 -0
- package/android/com/facebook/react/react-native/{0.69.6-2/react-native-0.69.6-2.module → 0.69.8-0rc/react-native-0.69.8-0rc.module} +57 -57
- package/android/com/facebook/react/react-native/0.69.8-0rc/react-native-0.69.8-0rc.module.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.8-0rc/react-native-0.69.8-0rc.module.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.8-0rc/react-native-0.69.8-0rc.module.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.8-0rc/react-native-0.69.8-0rc.module.sha512 +1 -0
- package/android/com/facebook/react/react-native/{0.69.6-2/react-native-0.69.6-2.pom → 0.69.8-0rc/react-native-0.69.8-0rc.pom} +1 -1
- package/android/com/facebook/react/react-native/0.69.8-0rc/react-native-0.69.8-0rc.pom.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.8-0rc/react-native-0.69.8-0rc.pom.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.8-0rc/react-native-0.69.8-0rc.pom.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.8-0rc/react-native-0.69.8-0rc.pom.sha512 +1 -0
- package/android/com/facebook/react/react-native/maven-metadata.xml +4 -4
- package/android/com/facebook/react/react-native/maven-metadata.xml.md5 +1 -1
- package/android/com/facebook/react/react-native/maven-metadata.xml.sha1 +1 -1
- package/android/com/facebook/react/react-native/maven-metadata.xml.sha256 +1 -1
- package/android/com/facebook/react/react-native/maven-metadata.xml.sha512 +1 -1
- package/index.js +1 -7
- package/package.json +2 -2
- package/sdks/hermesc/linux64-bin/hermesc +0 -0
- package/sdks/hermesc/osx-bin/hermesc +0 -0
- package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
- package/template/package.json +1 -1
- package/tvos-types.d.ts +37 -5
- package/Libraries/DeprecatedPropTypes/DeprecatedTVViewPropTypes.js +0 -23
- package/android/com/facebook/react/hermes-engine/0.69.6-2/hermes-engine-0.69.6-2-debug-javadoc.jar.md5 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.6-2/hermes-engine-0.69.6-2-debug-javadoc.jar.sha1 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.6-2/hermes-engine-0.69.6-2-debug-javadoc.jar.sha256 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.6-2/hermes-engine-0.69.6-2-debug-javadoc.jar.sha512 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.6-2/hermes-engine-0.69.6-2-debug.aar +0 -0
- package/android/com/facebook/react/hermes-engine/0.69.6-2/hermes-engine-0.69.6-2-debug.aar.md5 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.6-2/hermes-engine-0.69.6-2-debug.aar.sha1 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.6-2/hermes-engine-0.69.6-2-debug.aar.sha256 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.6-2/hermes-engine-0.69.6-2-debug.aar.sha512 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.6-2/hermes-engine-0.69.6-2-release-javadoc.jar.md5 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.6-2/hermes-engine-0.69.6-2-release-javadoc.jar.sha1 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.6-2/hermes-engine-0.69.6-2-release-javadoc.jar.sha256 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.6-2/hermes-engine-0.69.6-2-release-javadoc.jar.sha512 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.6-2/hermes-engine-0.69.6-2-release.aar +0 -0
- package/android/com/facebook/react/hermes-engine/0.69.6-2/hermes-engine-0.69.6-2-release.aar.md5 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.6-2/hermes-engine-0.69.6-2-release.aar.sha1 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.6-2/hermes-engine-0.69.6-2-release.aar.sha256 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.6-2/hermes-engine-0.69.6-2-release.aar.sha512 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.6-2/hermes-engine-0.69.6-2.module.md5 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.6-2/hermes-engine-0.69.6-2.module.sha1 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.6-2/hermes-engine-0.69.6-2.module.sha256 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.6-2/hermes-engine-0.69.6-2.module.sha512 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.6-2/hermes-engine-0.69.6-2.pom.md5 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.6-2/hermes-engine-0.69.6-2.pom.sha1 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.6-2/hermes-engine-0.69.6-2.pom.sha256 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.6-2/hermes-engine-0.69.6-2.pom.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2-debug-javadoc.jar.md5 +0 -1
- package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2-debug-javadoc.jar.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2-debug-javadoc.jar.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2-debug-javadoc.jar.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2-debug-sources.jar.md5 +0 -1
- package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2-debug-sources.jar.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2-debug-sources.jar.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2-debug-sources.jar.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2-debug.aar.md5 +0 -1
- package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2-debug.aar.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2-debug.aar.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2-debug.aar.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2-release-javadoc.jar.md5 +0 -1
- package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2-release-javadoc.jar.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2-release-javadoc.jar.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2-release-javadoc.jar.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2-release-sources.jar.md5 +0 -1
- package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2-release-sources.jar.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2-release-sources.jar.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2-release-sources.jar.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2-release.aar.md5 +0 -1
- package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2-release.aar.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2-release.aar.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2-release.aar.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2.module.md5 +0 -1
- package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2.module.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2.module.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2.module.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2.pom.md5 +0 -1
- package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2.pom.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2.pom.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2.pom.sha512 +0 -1
- /package/android/com/facebook/react/hermes-engine/{0.69.6-2/hermes-engine-0.69.6-2-debug-sources.jar → 0.69.8-0rc/hermes-engine-0.69.8-0rc-debug-sources.jar} +0 -0
- /package/android/com/facebook/react/hermes-engine/{0.69.6-2/hermes-engine-0.69.6-2-debug-sources.jar.md5 → 0.69.8-0rc/hermes-engine-0.69.8-0rc-debug-sources.jar.md5} +0 -0
- /package/android/com/facebook/react/hermes-engine/{0.69.6-2/hermes-engine-0.69.6-2-debug-sources.jar.sha1 → 0.69.8-0rc/hermes-engine-0.69.8-0rc-debug-sources.jar.sha1} +0 -0
- /package/android/com/facebook/react/hermes-engine/{0.69.6-2/hermes-engine-0.69.6-2-debug-sources.jar.sha256 → 0.69.8-0rc/hermes-engine-0.69.8-0rc-debug-sources.jar.sha256} +0 -0
- /package/android/com/facebook/react/hermes-engine/{0.69.6-2/hermes-engine-0.69.6-2-debug-sources.jar.sha512 → 0.69.8-0rc/hermes-engine-0.69.8-0rc-debug-sources.jar.sha512} +0 -0
- /package/android/com/facebook/react/hermes-engine/{0.69.6-2/hermes-engine-0.69.6-2-release-sources.jar → 0.69.8-0rc/hermes-engine-0.69.8-0rc-release-sources.jar} +0 -0
- /package/android/com/facebook/react/hermes-engine/{0.69.6-2/hermes-engine-0.69.6-2-release-sources.jar.md5 → 0.69.8-0rc/hermes-engine-0.69.8-0rc-release-sources.jar.md5} +0 -0
- /package/android/com/facebook/react/hermes-engine/{0.69.6-2/hermes-engine-0.69.6-2-release-sources.jar.sha1 → 0.69.8-0rc/hermes-engine-0.69.8-0rc-release-sources.jar.sha1} +0 -0
- /package/android/com/facebook/react/hermes-engine/{0.69.6-2/hermes-engine-0.69.6-2-release-sources.jar.sha256 → 0.69.8-0rc/hermes-engine-0.69.8-0rc-release-sources.jar.sha256} +0 -0
- /package/android/com/facebook/react/hermes-engine/{0.69.6-2/hermes-engine-0.69.6-2-release-sources.jar.sha512 → 0.69.8-0rc/hermes-engine-0.69.8-0rc-release-sources.jar.sha512} +0 -0
|
@@ -34,9 +34,10 @@ import type {
|
|
|
34
34
|
LayoutEvent,
|
|
35
35
|
MouseEvent,
|
|
36
36
|
PressEvent,
|
|
37
|
+
TVRemoteEvent,
|
|
37
38
|
} from '../../Types/CoreEventTypes';
|
|
38
39
|
import View from '../View/View';
|
|
39
|
-
import
|
|
40
|
+
import type {TVParallaxPropertiesType} from '../TV/TVViewPropTypes';
|
|
40
41
|
import Platform from '../../Utilities/Platform';
|
|
41
42
|
import {tvFocusEventHandler} from '../TV/TVFocusEventHandler';
|
|
42
43
|
import tagForComponentOrHandle from '../TV/tagForComponentOrHandle';
|
|
@@ -317,14 +318,17 @@ function Pressable(props: Props, forwardedRef): React.Node {
|
|
|
317
318
|
unstable_pressDelay,
|
|
318
319
|
],
|
|
319
320
|
);
|
|
321
|
+
// $FlowFixMe[incompatible-call]
|
|
320
322
|
const eventHandlers = usePressability(config);
|
|
321
323
|
|
|
322
324
|
const pressableTVFocusEventHandler = useCallback(
|
|
323
|
-
(evt:
|
|
325
|
+
(evt: FocusEvent) => {
|
|
324
326
|
if (isTVSelectable !== false || focusable !== false) {
|
|
327
|
+
// $FlowFixMe[prop-missing]
|
|
325
328
|
if (evt?.eventType === 'focus') {
|
|
326
329
|
setFocused(true);
|
|
327
330
|
onFocus && onFocus(evt);
|
|
331
|
+
// $FlowFixMe[prop-missing]
|
|
328
332
|
} else if (evt.eventType === 'blur') {
|
|
329
333
|
onBlur && onBlur(evt);
|
|
330
334
|
setFocused(false);
|
|
@@ -333,10 +337,14 @@ function Pressable(props: Props, forwardedRef): React.Node {
|
|
|
333
337
|
// Use these on tvOS only. Android press events go to onClick() so we don't
|
|
334
338
|
// need to call onPress() again here
|
|
335
339
|
if (Platform.isTVOS) {
|
|
340
|
+
// $FlowFixMe[prop-missing]
|
|
336
341
|
if (focused && evt.eventType === 'select') {
|
|
342
|
+
// $FlowFixMe[incompatible-exact]
|
|
337
343
|
onPress && onPress(evt);
|
|
338
344
|
}
|
|
345
|
+
// $FlowFixMe[prop-missing]
|
|
339
346
|
if (focused && evt.eventType === 'longSelect') {
|
|
347
|
+
// $FlowFixMe[incompatible-exact]
|
|
340
348
|
onLongPress && onLongPress(evt);
|
|
341
349
|
}
|
|
342
350
|
}
|
|
@@ -348,6 +356,7 @@ function Pressable(props: Props, forwardedRef): React.Node {
|
|
|
348
356
|
if (!tvFocusEventHandler) {
|
|
349
357
|
return;
|
|
350
358
|
}
|
|
359
|
+
// $FlowFixMe[prop-missing]
|
|
351
360
|
const viewTag = viewRef?.current?._nativeTag;
|
|
352
361
|
tvFocusEventHandler.register(viewTag, pressableTVFocusEventHandler);
|
|
353
362
|
return () => {
|
|
@@ -1834,6 +1834,7 @@ ForwardedScrollView.Context = ScrollViewContext;
|
|
|
1834
1834
|
|
|
1835
1835
|
ForwardedScrollView.displayName = 'ScrollView';
|
|
1836
1836
|
|
|
1837
|
+
// $FlowFixMe[not-an-object]
|
|
1837
1838
|
module.exports = ((ForwardedScrollView: $FlowFixMe): React.AbstractComponent<
|
|
1838
1839
|
React.ElementConfig<typeof ScrollView>,
|
|
1839
1840
|
$ReadOnly<{|
|
|
@@ -14,20 +14,22 @@ import NativeEventEmitter from '../../EventEmitter/NativeEventEmitter';
|
|
|
14
14
|
import Platform from '../../Utilities/Platform';
|
|
15
15
|
import {type EventSubscription} from '../../vendor/emitter/EventEmitter';
|
|
16
16
|
import NativeTVNavigationEventEmitter from './NativeTVNavigationEventEmitter';
|
|
17
|
+
import type {TVRemoteEvent} from '../../Types/CoreEventTypes';
|
|
17
18
|
|
|
18
19
|
class TVEventHandler {
|
|
19
20
|
__nativeTVNavigationEventListener: ?EventSubscription = null;
|
|
20
|
-
__nativeTVNavigationEventEmitter: ?NativeEventEmitter = null;
|
|
21
|
+
__nativeTVNavigationEventEmitter: ?NativeEventEmitter<TVRemoteEvent> = null;
|
|
21
22
|
|
|
22
23
|
enable(component: ?any, callback: Function): void {
|
|
23
24
|
if (Platform.OS === 'ios' && !NativeTVNavigationEventEmitter) {
|
|
24
25
|
return;
|
|
25
26
|
}
|
|
26
27
|
|
|
27
|
-
this.__nativeTVNavigationEventEmitter = new NativeEventEmitter(
|
|
28
|
+
this.__nativeTVNavigationEventEmitter = new NativeEventEmitter<TVRemoteEvent>(
|
|
28
29
|
NativeTVNavigationEventEmitter,
|
|
29
30
|
);
|
|
30
31
|
this.__nativeTVNavigationEventListener = this.__nativeTVNavigationEventEmitter.addListener(
|
|
32
|
+
// $FlowFixMe[prop-missing]
|
|
31
33
|
'onHWKeyEvent',
|
|
32
34
|
data => {
|
|
33
35
|
if (callback) {
|
|
@@ -14,10 +14,11 @@ import NativeEventEmitter from '../../EventEmitter/NativeEventEmitter';
|
|
|
14
14
|
import Platform from '../../Utilities/Platform';
|
|
15
15
|
import {type EventSubscription} from '../../vendor/emitter/EventEmitter';
|
|
16
16
|
import NativeTVNavigationEventEmitter from './NativeTVNavigationEventEmitter';
|
|
17
|
+
import type {TVRemoteEvent} from '../../Types/CoreEventTypes';
|
|
17
18
|
|
|
18
19
|
class TVFocusEventHandler {
|
|
19
20
|
__nativeTVNavigationEventListener: ?EventSubscription = null;
|
|
20
|
-
__nativeTVNavigationEventEmitter: ?NativeEventEmitter = null;
|
|
21
|
+
__nativeTVNavigationEventEmitter: ?NativeEventEmitter<TVRemoteEvent> = null;
|
|
21
22
|
__callbackMap: Map<any, Function> = new Map();
|
|
22
23
|
|
|
23
24
|
constructor() {
|
|
@@ -25,10 +26,11 @@ class TVFocusEventHandler {
|
|
|
25
26
|
return;
|
|
26
27
|
}
|
|
27
28
|
|
|
28
|
-
this.__nativeTVNavigationEventEmitter = new NativeEventEmitter(
|
|
29
|
+
this.__nativeTVNavigationEventEmitter = new NativeEventEmitter<TVRemoteEvent>(
|
|
29
30
|
NativeTVNavigationEventEmitter,
|
|
30
31
|
);
|
|
31
32
|
this.__nativeTVNavigationEventListener = this.__nativeTVNavigationEventEmitter.addListener(
|
|
33
|
+
// $FlowFixMe[prop-missing]
|
|
32
34
|
'onHWKeyEvent',
|
|
33
35
|
data => {
|
|
34
36
|
const callback = this.__callbackMap.get(data.tag);
|
|
@@ -10,10 +10,11 @@
|
|
|
10
10
|
|
|
11
11
|
const React = require('react');
|
|
12
12
|
const ReactNative = require('react-native');
|
|
13
|
-
|
|
14
|
-
const Platform = require('../../Utilities/Platform');
|
|
13
|
+
|
|
15
14
|
import {Commands} from '../View/ViewNativeComponent';
|
|
16
15
|
import type {ViewProps} from '../View/ViewPropTypes';
|
|
16
|
+
import type {HostComponent} from '../../Renderer/shims/ReactNativeTypes';
|
|
17
|
+
import setAndForwardRef from '../../Utilities/setAndForwardRef';
|
|
17
18
|
|
|
18
19
|
type TVFocusGuideViewProps = $ReadOnly<{
|
|
19
20
|
...ViewProps,
|
|
@@ -28,70 +29,91 @@ type TVFocusGuideViewProps = $ReadOnly<{
|
|
|
28
29
|
/**
|
|
29
30
|
* The views the focus should go to
|
|
30
31
|
*/
|
|
31
|
-
destinations
|
|
32
|
+
destinations?: (?React.ElementRef<HostComponent<mixed>>)[],
|
|
32
33
|
|
|
33
34
|
/**
|
|
34
35
|
* @deprecated Don't use it, no longer necessary.
|
|
35
36
|
*/
|
|
36
37
|
safePadding?: 'vertical' | 'horizontal' | 'both' | null,
|
|
37
|
-
}>;
|
|
38
38
|
|
|
39
|
-
|
|
40
|
-
enabled = true,
|
|
41
|
-
safePadding,
|
|
42
|
-
...props
|
|
43
|
-
}: TVFocusGuideViewProps): React.Node => {
|
|
44
|
-
const enabledStyle = {display: enabled ? 'flex' : 'none'};
|
|
45
|
-
const style = [styles.container, props.style, enabledStyle];
|
|
39
|
+
autoFocus?: boolean,
|
|
46
40
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
41
|
+
trapFocusUp?: boolean,
|
|
42
|
+
trapFocusDown?: boolean,
|
|
43
|
+
trapFocusLeft?: boolean,
|
|
44
|
+
trapFocusRight?: boolean,
|
|
45
|
+
}>;
|
|
50
46
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
47
|
+
export type TVFocusGuideViewImperativeMethods = $ReadOnly<{
|
|
48
|
+
setDestinations: (
|
|
49
|
+
destinations: (?React.ElementRef<HostComponent<mixed>>)[],
|
|
50
|
+
) => void,
|
|
51
|
+
}>;
|
|
54
52
|
|
|
55
|
-
|
|
56
|
-
|
|
53
|
+
function TVFocusGuideView(
|
|
54
|
+
{
|
|
55
|
+
enabled = true,
|
|
56
|
+
safePadding,
|
|
57
|
+
destinations: destinationsProp,
|
|
58
|
+
...props
|
|
59
|
+
}: TVFocusGuideViewProps,
|
|
60
|
+
forwardedRef,
|
|
61
|
+
): React.Node {
|
|
62
|
+
const focusGuideRef = React.useRef<React.ElementRef<
|
|
63
|
+
typeof ReactNative.View,
|
|
64
|
+
> | null>(null);
|
|
65
|
+
|
|
66
|
+
const setDestinations = React.useCallback(
|
|
67
|
+
(destinations: (?React.ElementRef<HostComponent<mixed>>)[]) => {
|
|
68
|
+
const dests: number[] = (destinations || [])
|
|
69
|
+
.map(ReactNative.findNodeHandle)
|
|
70
|
+
.filter(Boolean);
|
|
71
|
+
|
|
72
|
+
if (focusGuideRef.current != null) {
|
|
73
|
+
Commands.setDestinations(focusGuideRef.current, dests);
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
[],
|
|
77
|
+
);
|
|
57
78
|
|
|
58
|
-
const
|
|
59
|
-
|
|
79
|
+
const _setNativeRef = setAndForwardRef({
|
|
80
|
+
getForwardedRef: () => forwardedRef,
|
|
81
|
+
setLocalRef: ref => {
|
|
82
|
+
focusGuideRef.current = ref;
|
|
83
|
+
|
|
84
|
+
// This is a hack. Ideally we would forwardRef to the underlying
|
|
85
|
+
// host component. However, since TVFocusGuide has it's own methods that can be
|
|
86
|
+
// called as well, if we used the standard forwardRef then these
|
|
87
|
+
// methods wouldn't be accessible
|
|
88
|
+
//
|
|
89
|
+
// Here we mutate the ref, so that the user can use the standart native
|
|
90
|
+
// methods like `focus()`, `blur()`, etc. and while also having access to
|
|
91
|
+
// imperative methods of this component like `setDestinations()`.
|
|
92
|
+
if (ref) {
|
|
93
|
+
ref.setDestinations = setDestinations;
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
});
|
|
60
97
|
|
|
61
98
|
React.useEffect(() => {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
focusGuideRef?.current,
|
|
67
|
-
);
|
|
68
|
-
hostComponentRef &&
|
|
69
|
-
Commands.setDestinations(hostComponentRef, nativeDestinations);
|
|
70
|
-
}, [props.destinations]);
|
|
99
|
+
if (destinationsProp != null) {
|
|
100
|
+
setDestinations(destinationsProp);
|
|
101
|
+
}
|
|
102
|
+
}, [setDestinations, destinationsProp]);
|
|
71
103
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
);
|
|
75
|
-
};
|
|
76
|
-
|
|
77
|
-
const FocusGuideViewAndroidTV = (props: TVFocusGuideViewProps) => {
|
|
78
|
-
const nativeDestinations = React.useMemo(
|
|
79
|
-
() =>
|
|
80
|
-
(props.destinations || [])
|
|
81
|
-
.map(d => ReactNative.findNodeHandle(d))
|
|
82
|
-
.filter(c => c !== 0 && c !== null && c !== undefined),
|
|
83
|
-
[props.destinations],
|
|
84
|
-
);
|
|
104
|
+
const enabledStyle = {display: enabled ? 'flex' : 'none'};
|
|
105
|
+
const style = [styles.container, props.style, enabledStyle];
|
|
85
106
|
|
|
86
107
|
return (
|
|
108
|
+
// $FlowFixMe[prop-missing]
|
|
87
109
|
<ReactNative.View
|
|
88
110
|
{...props}
|
|
89
|
-
|
|
90
|
-
|
|
111
|
+
style={style}
|
|
112
|
+
ref={_setNativeRef}
|
|
91
113
|
collapsable={false}
|
|
92
114
|
/>
|
|
93
115
|
);
|
|
94
|
-
}
|
|
116
|
+
}
|
|
95
117
|
|
|
96
118
|
const styles = ReactNative.StyleSheet.create({
|
|
97
119
|
container: {
|
|
@@ -100,4 +122,10 @@ const styles = ReactNative.StyleSheet.create({
|
|
|
100
122
|
},
|
|
101
123
|
});
|
|
102
124
|
|
|
103
|
-
|
|
125
|
+
const ForwardedTVFocusGuideView: React.AbstractComponent<
|
|
126
|
+
TVFocusGuideViewProps,
|
|
127
|
+
React.ElementRef<HostComponent<mixed>> & TVFocusGuideViewImperativeMethods,
|
|
128
|
+
> = React.forwardRef(TVFocusGuideView);
|
|
129
|
+
ForwardedTVFocusGuideView.displayName = 'TVFocusGuideView';
|
|
130
|
+
|
|
131
|
+
module.exports = ForwardedTVFocusGuideView;
|
|
@@ -78,4 +78,11 @@ export type TVViewProps = $ReadOnly<{|
|
|
|
78
78
|
*/
|
|
79
79
|
tvParallaxProperties?: TVParallaxPropertiesType,
|
|
80
80
|
|
|
81
|
+
/**
|
|
82
|
+
* Additional properties needed for flow checks on TVFocusGuideView
|
|
83
|
+
*/
|
|
84
|
+
destinations?: ?(Object[]),
|
|
85
|
+
enabled?: boolean,
|
|
86
|
+
autofocus?: boolean,
|
|
87
|
+
safePadding?: string | null,
|
|
81
88
|
|}>;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
// @flow
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import TVEventHandler from './TVEventHandler';
|
|
4
|
+
import type {TVRemoteEvent} from '../../Types/CoreEventTypes';
|
|
4
5
|
|
|
5
|
-
const useTVEventHandler = (handleEvent: (evt:
|
|
6
|
+
const useTVEventHandler = (handleEvent: (evt: TVRemoteEvent) => void) => {
|
|
6
7
|
React.useEffect(() => {
|
|
7
8
|
const handler: TVEventHandler = new TVEventHandler();
|
|
8
9
|
handler.enable(null, function(cmp, evt) {
|
|
@@ -1233,7 +1233,7 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1233
1233
|
(props.unstable_onChangeSync || props.unstable_onChangeTextSync) &&
|
|
1234
1234
|
!(props.onChange || props.onChangeText);
|
|
1235
1235
|
|
|
1236
|
-
if (props.multiline && Platform.isTVOS) {
|
|
1236
|
+
if (props.multiline === true && Platform.isTVOS) {
|
|
1237
1237
|
warnOnce(
|
|
1238
1238
|
'text-input-multiline-tvos',
|
|
1239
1239
|
'Multiline TextInput not supported on Apple TV. See https://github.com/react-native-tvos/react-native-tvos/issues/109',
|
|
@@ -19,7 +19,7 @@ import typeof TouchableWithoutFeedback from './TouchableWithoutFeedback';
|
|
|
19
19
|
import Platform from '../../Utilities/Platform';
|
|
20
20
|
import View from '../../Components/View/View';
|
|
21
21
|
import type {ViewProps} from '../../Components/View/ViewPropTypes';
|
|
22
|
-
import
|
|
22
|
+
import type {TVParallaxPropertiesType} from '../TV/TVViewPropTypes';
|
|
23
23
|
import tagForComponentOrHandle from '../TV/tagForComponentOrHandle';
|
|
24
24
|
import * as React from 'react';
|
|
25
25
|
|
|
@@ -34,7 +34,7 @@ type AndroidProps = $ReadOnly<{|
|
|
|
34
34
|
type TVProps = $ReadOnly<{|
|
|
35
35
|
hasTVPreferredFocus?: ?boolean,
|
|
36
36
|
isTVSelectable?: ?boolean,
|
|
37
|
-
tvParallaxProperties?:
|
|
37
|
+
tvParallaxProperties?: TVParallaxPropertiesType,
|
|
38
38
|
nextFocusDown?: ?number,
|
|
39
39
|
nextFocusForward?: ?number,
|
|
40
40
|
nextFocusLeft?: ?number,
|
|
@@ -379,6 +379,11 @@ class TouchableHighlight extends React.Component<Props, State> {
|
|
|
379
379
|
this.props.onPress(event);
|
|
380
380
|
}
|
|
381
381
|
},
|
|
382
|
+
onLongPress: event => {
|
|
383
|
+
if (this.props.onLongPress != null && Platform.OS !== 'android') {
|
|
384
|
+
this.props.onLongPress(event);
|
|
385
|
+
}
|
|
386
|
+
},
|
|
382
387
|
});
|
|
383
388
|
}
|
|
384
389
|
}
|
|
@@ -19,7 +19,7 @@ import Easing from '../../Animated/Easing';
|
|
|
19
19
|
import type {ViewStyleProp} from '../../StyleSheet/StyleSheet';
|
|
20
20
|
import flattenStyle from '../../StyleSheet/flattenStyle';
|
|
21
21
|
import Platform from '../../Utilities/Platform';
|
|
22
|
-
import
|
|
22
|
+
import type {TVParallaxPropertiesType} from '../TV/TVViewPropTypes';
|
|
23
23
|
import tagForComponentOrHandle from '../TV/tagForComponentOrHandle';
|
|
24
24
|
|
|
25
25
|
import * as React from 'react';
|
|
@@ -27,7 +27,7 @@ import * as React from 'react';
|
|
|
27
27
|
type TVProps = $ReadOnly<{|
|
|
28
28
|
hasTVPreferredFocus?: ?boolean,
|
|
29
29
|
isTVSelectable?: ?boolean,
|
|
30
|
-
tvParallaxProperties?:
|
|
30
|
+
tvParallaxProperties?: TVParallaxPropertiesType,
|
|
31
31
|
nextFocusDown?: ?number,
|
|
32
32
|
nextFocusForward?: ?number,
|
|
33
33
|
nextFocusLeft?: ?number,
|
|
@@ -292,6 +292,11 @@ class TouchableOpacity extends React.Component<Props, State> {
|
|
|
292
292
|
this.props.onPress(event);
|
|
293
293
|
}
|
|
294
294
|
},
|
|
295
|
+
onLongPress: event => {
|
|
296
|
+
if (this.props.onLongPress != null && Platform.OS !== 'android') {
|
|
297
|
+
this.props.onLongPress(event);
|
|
298
|
+
}
|
|
299
|
+
},
|
|
295
300
|
});
|
|
296
301
|
}
|
|
297
302
|
}
|
|
@@ -13,6 +13,7 @@ import Pressability, {
|
|
|
13
13
|
} from '../../Pressability/Pressability';
|
|
14
14
|
import {PressabilityDebugView} from '../../Pressability/PressabilityDebug';
|
|
15
15
|
import TVTouchable from './TVTouchable';
|
|
16
|
+
import type {TVParallaxPropertiesType} from '../TV/TVViewPropTypes';
|
|
16
17
|
import type {
|
|
17
18
|
AccessibilityActionEvent,
|
|
18
19
|
AccessibilityActionInfo,
|
|
@@ -65,6 +66,7 @@ type Props = $ReadOnly<{|
|
|
|
65
66
|
rejectResponderTermination?: ?boolean,
|
|
66
67
|
testID?: ?string,
|
|
67
68
|
touchSoundDisabled?: ?boolean,
|
|
69
|
+
tvParallaxProperties?: TVParallaxPropertiesType,
|
|
68
70
|
|}>;
|
|
69
71
|
|
|
70
72
|
type State = $ReadOnly<{|
|
|
@@ -156,6 +158,11 @@ class TouchableWithoutFeedback extends React.Component<Props, State> {
|
|
|
156
158
|
this.props.onPress(event);
|
|
157
159
|
}
|
|
158
160
|
},
|
|
161
|
+
onLongPress: event => {
|
|
162
|
+
if (this.props.onLongPress != null) {
|
|
163
|
+
this.props.onLongPress(event);
|
|
164
|
+
}
|
|
165
|
+
},
|
|
159
166
|
});
|
|
160
167
|
}
|
|
161
168
|
}
|
|
@@ -96,7 +96,7 @@ interface NativeCommands {
|
|
|
96
96
|
// Apple TV focus guide API
|
|
97
97
|
+setDestinations: (
|
|
98
98
|
viewRef: React.ElementRef<HostComponent<mixed>>,
|
|
99
|
-
destinations: Array<
|
|
99
|
+
destinations: Array<number>, // Node handles are basically integers
|
|
100
100
|
) => void;
|
|
101
101
|
}
|
|
102
102
|
|
|
@@ -42,6 +42,7 @@ import {
|
|
|
42
42
|
type ChildListState,
|
|
43
43
|
type ListDebugInfo,
|
|
44
44
|
} from './VirtualizedListContext.js';
|
|
45
|
+
import TVFocusGuideView from '../Components/TV/TVFocusGuideView';
|
|
45
46
|
|
|
46
47
|
type Item = any;
|
|
47
48
|
|
|
@@ -1116,16 +1117,30 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
1116
1117
|
unregisterAsNestedChild: this._unregisterAsNestedChild,
|
|
1117
1118
|
debugInfo: this._getDebugInfo(),
|
|
1118
1119
|
}}>
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
this.props.
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1120
|
+
<TVFocusGuideView
|
|
1121
|
+
trapFocusLeft={
|
|
1122
|
+
horizontalOrDefault(this.props.horizontal) && this.state.first > 0
|
|
1123
|
+
}
|
|
1124
|
+
trapFocusRight={
|
|
1125
|
+
horizontalOrDefault(this.props.horizontal) && this._hasMore
|
|
1126
|
+
}
|
|
1127
|
+
trapFocusUp={
|
|
1128
|
+
!horizontalOrDefault(this.props.horizontal) && this.state.first > 0
|
|
1129
|
+
}
|
|
1130
|
+
trapFocusDown={
|
|
1131
|
+
!horizontalOrDefault(this.props.horizontal) && this._hasMore
|
|
1132
|
+
}>
|
|
1133
|
+
{React.cloneElement(
|
|
1134
|
+
(
|
|
1135
|
+
this.props.renderScrollComponent ||
|
|
1136
|
+
this._defaultRenderScrollComponent
|
|
1137
|
+
)(scrollProps),
|
|
1138
|
+
{
|
|
1139
|
+
ref: this._captureScrollRef,
|
|
1140
|
+
},
|
|
1141
|
+
cells,
|
|
1142
|
+
)}
|
|
1143
|
+
</TVFocusGuideView>
|
|
1129
1144
|
</VirtualizedListContextProvider>
|
|
1130
1145
|
);
|
|
1131
1146
|
let ret: React.Node = innerRet;
|
|
@@ -19,10 +19,6 @@ import type {EdgeInsetsProp} from '../../StyleSheet/EdgeInsetsPropType';
|
|
|
19
19
|
import type {ViewStyleProp} from '../../StyleSheet/StyleSheet';
|
|
20
20
|
import type {PressEvent} from '../../Types/CoreEventTypes';
|
|
21
21
|
|
|
22
|
-
const LogBoxTouchable = Platform.isTVOS ?
|
|
23
|
-
TouchableHighlight :
|
|
24
|
-
TouchableWithoutFeedback;
|
|
25
|
-
|
|
26
22
|
type Props = $ReadOnly<{|
|
|
27
23
|
backgroundColor: $ReadOnly<{|
|
|
28
24
|
default: string,
|
|
@@ -61,15 +57,23 @@ function LogBoxButton(props: Props): React.Node {
|
|
|
61
57
|
|
|
62
58
|
return props.onPress == null ? (
|
|
63
59
|
content
|
|
60
|
+
) : Platform.isTV ? (
|
|
61
|
+
<TouchableHighlight
|
|
62
|
+
tvParallaxProperties={{enabled: false}}
|
|
63
|
+
hitSlop={props.hitSlop}
|
|
64
|
+
onPress={props.onPress}
|
|
65
|
+
onPressIn={() => setPressed(true)}
|
|
66
|
+
onPressOut={() => setPressed(false)}>
|
|
67
|
+
{content}
|
|
68
|
+
</TouchableHighlight>
|
|
64
69
|
) : (
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
</LogBoxTouchable>
|
|
70
|
+
<TouchableWithoutFeedback
|
|
71
|
+
hitSlop={props.hitSlop}
|
|
72
|
+
onPress={props.onPress}
|
|
73
|
+
onPressIn={() => setPressed(true)}
|
|
74
|
+
onPressOut={() => setPressed(false)}>
|
|
75
|
+
{content}
|
|
76
|
+
</TouchableWithoutFeedback>
|
|
73
77
|
);
|
|
74
78
|
}
|
|
75
79
|
|
|
@@ -67,7 +67,7 @@ function LogBoxLogNotification(props: Props): React.Node {
|
|
|
67
67
|
}}>
|
|
68
68
|
<View
|
|
69
69
|
style={toastStyles.tvDismissContainer}>
|
|
70
|
-
<Message message={{content: 'Dismiss'}} />
|
|
70
|
+
<Message message={{content: 'Dismiss', substitutions: []}} />
|
|
71
71
|
</View>
|
|
72
72
|
</LogBoxButton>
|
|
73
73
|
) : null}
|
|
@@ -26,9 +26,6 @@ typedef void (^AnimatedOperation)(RCTNativeAnimatedNodesManager *nodesManager);
|
|
|
26
26
|
NSMutableArray<AnimatedOperation> *_operations;
|
|
27
27
|
// Operations called before views have been updated.
|
|
28
28
|
NSMutableArray<AnimatedOperation> *_preOperations;
|
|
29
|
-
NSMutableDictionary<NSNumber *, NSNumber *> *_animIdIsManagedByFabric;
|
|
30
|
-
// A set of nodeIDs managed by Fabric.
|
|
31
|
-
NSMutableSet<NSNumber *> *_nodeIDsManagedByFabric;
|
|
32
29
|
}
|
|
33
30
|
|
|
34
31
|
RCT_EXPORT_MODULE();
|
|
@@ -43,8 +40,6 @@ RCT_EXPORT_MODULE();
|
|
|
43
40
|
if (self = [super init]) {
|
|
44
41
|
_operations = [NSMutableArray new];
|
|
45
42
|
_preOperations = [NSMutableArray new];
|
|
46
|
-
_animIdIsManagedByFabric = [NSMutableDictionary new];
|
|
47
|
-
_nodeIDsManagedByFabric = [NSMutableSet new];
|
|
48
43
|
}
|
|
49
44
|
return self;
|
|
50
45
|
}
|
|
@@ -113,9 +108,6 @@ RCT_EXPORT_METHOD(updateAnimatedNodeConfig:(double)tag
|
|
|
113
108
|
RCT_EXPORT_METHOD(connectAnimatedNodes:(double)parentTag
|
|
114
109
|
childTag:(double)childTag)
|
|
115
110
|
{
|
|
116
|
-
if ([_nodeIDsManagedByFabric containsObject:@(childTag)]) {
|
|
117
|
-
[_nodeIDsManagedByFabric addObject:@(parentTag)];
|
|
118
|
-
}
|
|
119
111
|
[self addOperationBlock:^(RCTNativeAnimatedNodesManager *nodesManager) {
|
|
120
112
|
[nodesManager connectAnimatedNodes:[NSNumber numberWithDouble:parentTag] childTag:[NSNumber numberWithDouble:childTag]];
|
|
121
113
|
}];
|
|
@@ -138,11 +130,7 @@ RCT_EXPORT_METHOD(startAnimatingNode:(double)animationId
|
|
|
138
130
|
[nodesManager startAnimatingNode:[NSNumber numberWithDouble:animationId] nodeTag:[NSNumber numberWithDouble:nodeTag] config:config endCallback:callBack];
|
|
139
131
|
}];
|
|
140
132
|
|
|
141
|
-
|
|
142
|
-
if (isNodeManagedByFabric) {
|
|
143
|
-
self->_animIdIsManagedByFabric[[NSNumber numberWithDouble:animationId]] = @YES;
|
|
144
|
-
[self flushOperationQueues];
|
|
145
|
-
}
|
|
133
|
+
[self flushOperationQueues];
|
|
146
134
|
}
|
|
147
135
|
|
|
148
136
|
RCT_EXPORT_METHOD(stopAnimation:(double)animationId)
|
|
@@ -150,9 +138,7 @@ RCT_EXPORT_METHOD(stopAnimation:(double)animationId)
|
|
|
150
138
|
[self addOperationBlock:^(RCTNativeAnimatedNodesManager *nodesManager) {
|
|
151
139
|
[nodesManager stopAnimation:[NSNumber numberWithDouble:animationId]];
|
|
152
140
|
}];
|
|
153
|
-
|
|
154
|
-
[self flushOperationQueues];
|
|
155
|
-
}
|
|
141
|
+
[self flushOperationQueues];
|
|
156
142
|
}
|
|
157
143
|
|
|
158
144
|
RCT_EXPORT_METHOD(setAnimatedNodeValue:(double)nodeTag
|
|
@@ -192,9 +178,6 @@ RCT_EXPORT_METHOD(extractAnimatedNodeOffset:(double)nodeTag)
|
|
|
192
178
|
RCT_EXPORT_METHOD(connectAnimatedNodeToView:(double)nodeTag
|
|
193
179
|
viewTag:(double)viewTag)
|
|
194
180
|
{
|
|
195
|
-
if (RCTUIManagerTypeForTagIsFabric(@(viewTag))) {
|
|
196
|
-
[_nodeIDsManagedByFabric addObject:@(nodeTag)];
|
|
197
|
-
}
|
|
198
181
|
[self addOperationBlock:^(RCTNativeAnimatedNodesManager *nodesManager) {
|
|
199
182
|
// viewName is not used when node is managed by Fabric, and nodes are always managed by Fabric in Bridgeless.
|
|
200
183
|
[nodesManager connectAnimatedNodeToView:[NSNumber numberWithDouble:nodeTag] viewTag:[NSNumber numberWithDouble:viewTag] viewName:nil];
|
|
@@ -291,7 +274,6 @@ RCT_EXPORT_METHOD(getValue:(double)nodeTag saveValueCallback:(RCTResponseSenderB
|
|
|
291
274
|
_preOperations = [NSMutableArray new];
|
|
292
275
|
_operations = [NSMutableArray new];
|
|
293
276
|
|
|
294
|
-
|
|
295
277
|
RCTExecuteOnMainQueue(^{
|
|
296
278
|
for (AnimatedOperation operation in preOperations) {
|
|
297
279
|
operation(self->_nodesManager);
|
|
@@ -16,6 +16,7 @@ import type {NativeColorValue} from './PlatformColorValueTypes';
|
|
|
16
16
|
|
|
17
17
|
export type ____ColorValue_Internal = null | string | number | NativeColorValue;
|
|
18
18
|
|
|
19
|
+
export type ColorValue = ____ColorValue_Internal;
|
|
19
20
|
export type ColorArrayValue = null | $ReadOnlyArray<____ColorValue_Internal>;
|
|
20
21
|
export type PointValue = {
|
|
21
22
|
x: number,
|
package/README.md
CHANGED
|
@@ -206,7 +206,9 @@ class Game2048 extends React.Component {
|
|
|
206
206
|
|
|
207
207
|
| Prop | Value | Description |
|
|
208
208
|
|---|---|---|
|
|
209
|
-
| destinations | any[] | Array of `Component`s to register as destinations of the FocusGuideView |
|
|
209
|
+
| destinations | any[]? | Array of `Component`s to register as destinations of the FocusGuideView |
|
|
210
|
+
| autoFocus | boolean? | If true, `TVFocusGuide` will automatically manage focus for you. It will redirect the focus to the first focusable child on the first visit. It also remembers the last focused child and redirects the focus to it on the subsequent visits. `destinations` prop takes precedence over this prop when used together. |
|
|
211
|
+
| trapFocus* (Up, Down, Left, Right) | Prevents focus escaping from the container for the given directions. |
|
|
210
212
|
|
|
211
213
|
- _Next Focus Direction_: the props `nextFocus*` on `View` should work as expected on iOS too (previously android only). One caveat is that if there is no focusable in the `nextFocusable*` direction next to the starting view, iOS doesn't check if we want to override the destination.
|
|
212
214
|
|
package/React/Base/RCTVersion.m
CHANGED
|
@@ -23,8 +23,8 @@ NSDictionary* RCTGetReactNativeVersion(void)
|
|
|
23
23
|
__rnVersion = @{
|
|
24
24
|
RCTVersionMajor: @(0),
|
|
25
25
|
RCTVersionMinor: @(69),
|
|
26
|
-
RCTVersionPatch: @(
|
|
27
|
-
RCTVersionPrerelease: @"
|
|
26
|
+
RCTVersionPatch: @(8),
|
|
27
|
+
RCTVersionPrerelease: @"0rc",
|
|
28
28
|
};
|
|
29
29
|
});
|
|
30
30
|
return __rnVersion;
|