react-native-tvos 0.66.3-1 → 0.66.3-2

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 (60) hide show
  1. package/Libraries/Components/AppleTV/TVFocusGuideView.js +30 -35
  2. package/Libraries/Components/AppleTV/TVViewPropTypes.js +0 -27
  3. package/Libraries/Components/Pressable/Pressable.js +2 -0
  4. package/Libraries/Components/View/ViewNativeComponent.js +6 -1
  5. package/Libraries/LogBox/UI/LogBoxButton.js +1 -0
  6. package/React/Base/RCTTVRemoteHandler.h +3 -0
  7. package/React/Base/RCTTVRemoteHandler.m +24 -0
  8. package/React/Fabric/Mounting/ComponentViews/Modal/RCTFabricModalHostViewController.mm +1 -1
  9. package/React/Fabric/Mounting/ComponentViews/Root/RCTRootComponentView.h +9 -0
  10. package/React/Fabric/Mounting/ComponentViews/Root/RCTRootComponentView.mm +18 -0
  11. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.h +4 -0
  12. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +416 -2
  13. package/React/Fabric/Mounting/RCTComponentViewFactory.mm +2 -0
  14. package/React/Views/RCTTVView.h +5 -0
  15. package/React/Views/RCTTVView.m +16 -0
  16. package/React/Views/RCTViewManager.m +17 -0
  17. package/ReactAndroid/gradle.properties +1 -1
  18. package/ReactCommon/hermes/inspector/tools/msggen/yarn.lock +37 -73
  19. package/ReactCommon/react/renderer/components/view/ViewProps.cpp +28 -0
  20. package/ReactCommon/react/renderer/components/view/ViewProps.h +10 -0
  21. package/ReactCommon/react/renderer/components/view/primitives.h +34 -0
  22. package/ReactCommon/react/renderer/components/view/propsConversions.h +66 -0
  23. package/android/com/facebook/react/react-native/{0.66.3-1/react-native-0.66.3-1.aar → 0.66.3-2/react-native-0.66.3-2.aar} +0 -0
  24. package/android/com/facebook/react/react-native/0.66.3-2/react-native-0.66.3-2.aar.md5 +1 -0
  25. package/android/com/facebook/react/react-native/0.66.3-2/react-native-0.66.3-2.aar.sha1 +1 -0
  26. package/android/com/facebook/react/react-native/0.66.3-2/react-native-0.66.3-2.aar.sha256 +1 -0
  27. package/android/com/facebook/react/react-native/0.66.3-2/react-native-0.66.3-2.aar.sha512 +1 -0
  28. package/android/com/facebook/react/react-native/{0.66.3-1/react-native-0.66.3-1.module → 0.66.3-2/react-native-0.66.3-2.module} +16 -16
  29. package/android/com/facebook/react/react-native/0.66.3-2/react-native-0.66.3-2.module.md5 +1 -0
  30. package/android/com/facebook/react/react-native/0.66.3-2/react-native-0.66.3-2.module.sha1 +1 -0
  31. package/android/com/facebook/react/react-native/0.66.3-2/react-native-0.66.3-2.module.sha256 +1 -0
  32. package/android/com/facebook/react/react-native/0.66.3-2/react-native-0.66.3-2.module.sha512 +1 -0
  33. package/android/com/facebook/react/react-native/{0.66.3-1/react-native-0.66.3-1.pom → 0.66.3-2/react-native-0.66.3-2.pom} +1 -1
  34. package/android/com/facebook/react/react-native/0.66.3-2/react-native-0.66.3-2.pom.md5 +1 -0
  35. package/android/com/facebook/react/react-native/0.66.3-2/react-native-0.66.3-2.pom.sha1 +1 -0
  36. package/android/com/facebook/react/react-native/0.66.3-2/react-native-0.66.3-2.pom.sha256 +1 -0
  37. package/android/com/facebook/react/react-native/0.66.3-2/react-native-0.66.3-2.pom.sha512 +1 -0
  38. package/android/com/facebook/react/react-native/maven-metadata.xml +4 -4
  39. package/android/com/facebook/react/react-native/maven-metadata.xml.md5 +1 -1
  40. package/android/com/facebook/react/react-native/maven-metadata.xml.sha1 +1 -1
  41. package/android/com/facebook/react/react-native/maven-metadata.xml.sha256 +1 -1
  42. package/android/com/facebook/react/react-native/maven-metadata.xml.sha512 +1 -1
  43. package/package.json +2 -2
  44. package/template/package.json +1 -1
  45. package/React/Views/RCTTVFocusGuideView.h +0 -22
  46. package/React/Views/RCTTVFocusGuideView.m +0 -60
  47. package/React/Views/RCTTVFocusGuideViewManager.h +0 -12
  48. package/React/Views/RCTTVFocusGuideViewManager.m +0 -30
  49. package/android/com/facebook/react/react-native/0.66.3-1/react-native-0.66.3-1.aar.md5 +0 -1
  50. package/android/com/facebook/react/react-native/0.66.3-1/react-native-0.66.3-1.aar.sha1 +0 -1
  51. package/android/com/facebook/react/react-native/0.66.3-1/react-native-0.66.3-1.aar.sha256 +0 -1
  52. package/android/com/facebook/react/react-native/0.66.3-1/react-native-0.66.3-1.aar.sha512 +0 -1
  53. package/android/com/facebook/react/react-native/0.66.3-1/react-native-0.66.3-1.module.md5 +0 -1
  54. package/android/com/facebook/react/react-native/0.66.3-1/react-native-0.66.3-1.module.sha1 +0 -1
  55. package/android/com/facebook/react/react-native/0.66.3-1/react-native-0.66.3-1.module.sha256 +0 -1
  56. package/android/com/facebook/react/react-native/0.66.3-1/react-native-0.66.3-1.module.sha512 +0 -1
  57. package/android/com/facebook/react/react-native/0.66.3-1/react-native-0.66.3-1.pom.md5 +0 -1
  58. package/android/com/facebook/react/react-native/0.66.3-1/react-native-0.66.3-1.pom.sha1 +0 -1
  59. package/android/com/facebook/react/react-native/0.66.3-1/react-native-0.66.3-1.pom.sha256 +0 -1
  60. package/android/com/facebook/react/react-native/0.66.3-1/react-native-0.66.3-1.pom.sha512 +0 -1
@@ -1870,25 +1870,16 @@ browserify-zlib@^0.2.0:
1870
1870
  dependencies:
1871
1871
  pako "~1.0.5"
1872
1872
 
1873
- browserslist@^4.14.5:
1874
- version "4.16.5"
1875
- resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.5.tgz#952825440bca8913c62d0021334cbe928ef062ae"
1876
- integrity sha512-C2HAjrM1AI/djrpAUU/tr4pml1DqLIzJKSLDBXBrNErl9ZCCTXdhwxdJjYc16953+mBWf7Lw+uUJgpgb8cN71A==
1877
- dependencies:
1878
- caniuse-lite "^1.0.30001214"
1879
- colorette "^1.2.2"
1880
- electron-to-chromium "^1.3.719"
1881
- escalade "^3.1.1"
1882
- node-releases "^1.1.71"
1883
-
1884
- browserslist@^4.6.0, browserslist@^4.8.2:
1885
- version "4.8.2"
1886
- resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.8.2.tgz#b45720ad5fbc8713b7253c20766f701c9a694289"
1887
- integrity sha512-+M4oeaTplPm/f1pXDw84YohEv7B1i/2Aisei8s4s6k3QsoSHa7i5sz8u/cGQkkatCPxMASKxPualR4wwYgVboA==
1873
+ browserslist@^4.14.5, browserslist@^4.6.0, browserslist@^4.8.2:
1874
+ version "4.19.1"
1875
+ resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.19.1.tgz#4ac0435b35ab655896c31d53018b6dd5e9e4c9a3"
1876
+ integrity sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==
1888
1877
  dependencies:
1889
- caniuse-lite "^1.0.30001015"
1890
- electron-to-chromium "^1.3.322"
1891
- node-releases "^1.1.42"
1878
+ caniuse-lite "^1.0.30001286"
1879
+ electron-to-chromium "^1.4.17"
1880
+ escalade "^3.1.1"
1881
+ node-releases "^2.0.1"
1882
+ picocolors "^1.0.0"
1892
1883
 
1893
1884
  bser@2.1.1:
1894
1885
  version "2.1.1"
@@ -1972,15 +1963,10 @@ camelcase@^6.0.0:
1972
1963
  resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809"
1973
1964
  integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==
1974
1965
 
1975
- caniuse-lite@^1.0.30001015:
1976
- version "1.0.30001016"
1977
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001016.tgz#16ea48d7d6e8caf3cad3295c2d746fe38c4e7f66"
1978
- integrity sha512-yYQ2QfotceRiH4U+h1Us86WJXtVHDmy3nEKIdYPsZCYnOV5/tMgGbmoIlrMzmh2VXlproqYtVaKeGDBkMZifFA==
1979
-
1980
- caniuse-lite@^1.0.30001214:
1981
- version "1.0.30001216"
1982
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001216.tgz#47418a082a4f952d14d8964ae739e25efb2060a9"
1983
- integrity sha512-1uU+ww/n5WCJRwUcc9UH/W6925Se5aNnem/G5QaSDga2HzvjYMs8vRbekGUN/PnTZ7ezTHcxxTEb9fgiMYwH6Q==
1966
+ caniuse-lite@^1.0.30001286:
1967
+ version "1.0.30001295"
1968
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001295.tgz#68a60f8f0664f342b2835c5d8898b4faea7b3d51"
1969
+ integrity sha512-lSP16vcyC0FEy0R4ECc9duSPoKoZy+YkpGkue9G4D81OfPnliopaZrU10+qtPdT8PbGXad/PNx43TIQrOmJZSQ==
1984
1970
 
1985
1971
  capture-exit@^2.0.0:
1986
1972
  version "2.0.0"
@@ -2148,11 +2134,6 @@ color-name@~1.1.4:
2148
2134
  resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
2149
2135
  integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
2150
2136
 
2151
- colorette@^1.2.2:
2152
- version "1.2.2"
2153
- resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94"
2154
- integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==
2155
-
2156
2137
  combined-stream@^1.0.6, combined-stream@~1.0.6:
2157
2138
  version "1.0.8"
2158
2139
  resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
@@ -2488,15 +2469,10 @@ ecc-jsbn@~0.1.1:
2488
2469
  jsbn "~0.1.0"
2489
2470
  safer-buffer "^2.1.0"
2490
2471
 
2491
- electron-to-chromium@^1.3.322:
2492
- version "1.3.322"
2493
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.322.tgz#a6f7e1c79025c2b05838e8e344f6e89eb83213a8"
2494
- integrity sha512-Tc8JQEfGQ1MzfSzI/bTlSr7btJv/FFO7Yh6tanqVmIWOuNCu6/D1MilIEgLtmWqIrsv+o4IjpLAhgMBr/ncNAA==
2495
-
2496
- electron-to-chromium@^1.3.719:
2497
- version "1.3.720"
2498
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.720.tgz#f5d66df8754d993006b7b2ded15ff7738c58bd94"
2499
- integrity sha512-B6zLTxxaOFP4WZm6DrvgRk8kLFYWNhQ5TrHMC0l5WtkMXhU5UbnvWoTfeEwqOruUSlNMhVLfYak7REX6oC5Yfw==
2472
+ electron-to-chromium@^1.4.17:
2473
+ version "1.4.31"
2474
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.31.tgz#8d5ccc3f8253cd142b07afaa84f200fd33a7f2a6"
2475
+ integrity sha512-t3XVQtk+Frkv6aTD4RRk0OqosU+VLe1dQFW83MDer78ZD6a52frgXuYOIsLYTQiH2Lm+JB2OKYcn7zrX+YGAiQ==
2500
2476
 
2501
2477
  elliptic@^6.5.3:
2502
2478
  version "6.5.4"
@@ -3072,9 +3048,9 @@ hmac-drbg@^1.0.1:
3072
3048
  minimalistic-crypto-utils "^1.0.1"
3073
3049
 
3074
3050
  hosted-git-info@^2.1.4:
3075
- version "2.8.5"
3076
- resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.5.tgz#759cfcf2c4d156ade59b0b2dfabddc42a6b9c70c"
3077
- integrity sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==
3051
+ version "2.8.9"
3052
+ resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9"
3053
+ integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==
3078
3054
 
3079
3055
  html-encoding-sniffer@^2.0.1:
3080
3056
  version "2.0.1"
@@ -4006,12 +3982,7 @@ locate-path@^5.0.0:
4006
3982
  dependencies:
4007
3983
  p-locate "^4.1.0"
4008
3984
 
4009
- lodash@^4.17.13:
4010
- version "4.17.15"
4011
- resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
4012
- integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==
4013
-
4014
- lodash@^4.17.19, lodash@^4.7.0:
3985
+ lodash@^4.17.13, lodash@^4.17.19, lodash@^4.7.0:
4015
3986
  version "4.17.21"
4016
3987
  resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
4017
3988
  integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
@@ -4175,12 +4146,7 @@ minimatch@^3.0.4:
4175
4146
  dependencies:
4176
4147
  brace-expansion "^1.1.7"
4177
4148
 
4178
- minimist@^1.1.1:
4179
- version "1.2.0"
4180
- resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
4181
- integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=
4182
-
4183
- minimist@^1.2.0, minimist@^1.2.5:
4149
+ minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5:
4184
4150
  version "1.2.5"
4185
4151
  resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
4186
4152
  integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
@@ -4326,17 +4292,10 @@ node-notifier@^8.0.0:
4326
4292
  uuid "^8.3.0"
4327
4293
  which "^2.0.2"
4328
4294
 
4329
- node-releases@^1.1.42:
4330
- version "1.1.43"
4331
- resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.43.tgz#2c6ca237f88ce11d49631f11190bb01f8d0549f2"
4332
- integrity sha512-Rmfnj52WNhvr83MvuAWHEqXVoZXCcDQssSOffU4n4XOL9sPrP61mSZ88g25NqmABDvH7PiAlFCzoSCSdzA293w==
4333
- dependencies:
4334
- semver "^6.3.0"
4335
-
4336
- node-releases@^1.1.71:
4337
- version "1.1.71"
4338
- resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.71.tgz#cb1334b179896b1c89ecfdd4b725fb7bbdfc7dbb"
4339
- integrity sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==
4295
+ node-releases@^2.0.1:
4296
+ version "2.0.1"
4297
+ resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.1.tgz#3d1d395f204f1f2f29a54358b9fb678765ad2fc5"
4298
+ integrity sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==
4340
4299
 
4341
4300
  normalize-package-data@^2.5.0:
4342
4301
  version "2.5.0"
@@ -4580,9 +4539,9 @@ path-key@^3.0.0, path-key@^3.1.0:
4580
4539
  integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
4581
4540
 
4582
4541
  path-parse@^1.0.6:
4583
- version "1.0.6"
4584
- resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c"
4585
- integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==
4542
+ version "1.0.7"
4543
+ resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
4544
+ integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
4586
4545
 
4587
4546
  pbkdf2@^3.0.3:
4588
4547
  version "3.1.2"
@@ -4600,6 +4559,11 @@ performance-now@^2.1.0:
4600
4559
  resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
4601
4560
  integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=
4602
4561
 
4562
+ picocolors@^1.0.0:
4563
+ version "1.0.0"
4564
+ resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
4565
+ integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
4566
+
4603
4567
  picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3:
4604
4568
  version "2.2.3"
4605
4569
  resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.3.tgz#465547f359ccc206d3c48e46a1bcb89bf7ee619d"
@@ -6000,9 +5964,9 @@ write-file-atomic@^3.0.0:
6000
5964
  typedarray-to-buffer "^3.1.5"
6001
5965
 
6002
5966
  ws@^7.4.4:
6003
- version "7.4.5"
6004
- resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.5.tgz#a484dd851e9beb6fdb420027e3885e8ce48986c1"
6005
- integrity sha512-xzyu3hFvomRfXKH8vOFMU3OguG6oOvhXMo3xsGy3xWExqaM2dxBbVxuD99O7m3ZUFMvvscsZDqxfgMaRr/Nr1g==
5967
+ version "7.5.7"
5968
+ resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.7.tgz#9e0ac77ee50af70d58326ecff7e85eb3fa375e67"
5969
+ integrity sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==
6006
5970
 
6007
5971
  xml-name-validator@^3.0.0:
6008
5972
  version "3.0.0"
@@ -24,6 +24,34 @@ ViewProps::ViewProps(
24
24
  RawProps const &rawProps)
25
25
  : YogaStylableProps(context, sourceProps, rawProps),
26
26
  AccessibilityProps(context, sourceProps, rawProps),
27
+ #if TARGET_OS_TV
28
+ isTVSelectable(convertRawProp(
29
+ context,
30
+ rawProps,
31
+ "isTVSelectable",
32
+ sourceProps.isTVSelectable,
33
+ (Boolean)false)),
34
+ hasTVPreferredFocus(convertRawProp(
35
+ context,
36
+ rawProps,
37
+ "hasTVPreferredFocus",
38
+ sourceProps.hasTVPreferredFocus,
39
+ (Boolean)false)),
40
+ tvParallaxProperties(convertRawProp(
41
+ context,
42
+ rawProps,
43
+ "tvParallaxProperties",
44
+ sourceProps.tvParallaxProperties,
45
+ {})),
46
+ nextFocusUp(
47
+ convertRawProp(context, rawProps, "nextFocusUp", sourceProps.nextFocusUp, {})),
48
+ nextFocusDown(
49
+ convertRawProp(context, rawProps, "nextFocusDown", sourceProps.nextFocusDown, {})),
50
+ nextFocusLeft(
51
+ convertRawProp(context, rawProps, "nextFocusLeft", sourceProps.nextFocusLeft, {})),
52
+ nextFocusRight(
53
+ convertRawProp(context, rawProps, "nextFocusRight", sourceProps.nextFocusRight, {})),
54
+ #endif
27
55
  opacity(convertRawProp(
28
56
  context,
29
57
  rawProps,
@@ -65,6 +65,16 @@ class ViewProps : public YogaStylableProps, public AccessibilityProps {
65
65
 
66
66
  bool removeClippedSubviews{false};
67
67
 
68
+ #if TARGET_OS_TV
69
+ bool isTVSelectable{false};
70
+ bool hasTVPreferredFocus{false};
71
+ TVParallaxProperties tvParallaxProperties;
72
+ better::optional<int> nextFocusUp;
73
+ better::optional<int> nextFocusDown;
74
+ better::optional<int> nextFocusLeft;
75
+ better::optional<int> nextFocusRight;
76
+ #endif
77
+
68
78
  Float elevation{}; /* Android-only */
69
79
 
70
80
  #pragma mark - Convenience Methods
@@ -178,5 +178,39 @@ struct BorderMetrics {
178
178
  }
179
179
  };
180
180
 
181
+ #if TARGET_OS_TV
182
+
183
+ struct TVParallaxProperties {
184
+ better::optional<bool> enabled{};
185
+ better::optional<float> shiftDistanceX{};
186
+ better::optional<float> shiftDistanceY{};
187
+ better::optional<float> tiltAngle{};
188
+ better::optional<float> magnification{};
189
+ better::optional<float> pressMagnification{};
190
+ better::optional<float> pressDuration{};
191
+ better::optional<float> pressDelay{};
192
+ };
193
+
194
+ constexpr bool operator==(
195
+ TVParallaxProperties const &lhs,
196
+ TVParallaxProperties const &rhs) {
197
+ return lhs.enabled == rhs.enabled &&
198
+ lhs.shiftDistanceX == rhs.shiftDistanceX &&
199
+ lhs.shiftDistanceY == rhs.shiftDistanceY &&
200
+ lhs.tiltAngle == rhs.tiltAngle &&
201
+ lhs.magnification == rhs.magnification &&
202
+ lhs.pressMagnification == rhs.pressMagnification &&
203
+ lhs.pressDuration == rhs.pressDuration &&
204
+ lhs.pressDelay == rhs.pressDelay;
205
+ }
206
+
207
+ constexpr bool operator!=(
208
+ TVParallaxProperties const &lhs,
209
+ TVParallaxProperties const &rhs) {
210
+ return !(rhs == lhs);
211
+ }
212
+
213
+ #endif
214
+
181
215
  } // namespace react
182
216
  } // namespace facebook
@@ -463,5 +463,71 @@ static inline CascadedRectangleEdges<T> convertRawProp(
463
463
  return result;
464
464
  }
465
465
 
466
+ #if TARGET_OS_TV
467
+ inline void fromRawValue(
468
+ const PropsParserContext &,
469
+ const RawValue &value,
470
+ TVParallaxProperties &result) {
471
+ auto map = (better::map<std::string, RawValue>)value;
472
+
473
+ auto enabled = map.find("enabled");
474
+ if (enabled != map.end()) {
475
+ if (enabled->second.hasType<bool>()) {
476
+ result.enabled = (bool)enabled->second;
477
+ }
478
+ }
479
+
480
+ auto shiftDistanceX = map.find("shiftDistanceX");
481
+ if (shiftDistanceX != map.end()) {
482
+ if (shiftDistanceX->second.hasType<float>()) {
483
+ result.shiftDistanceX = (float)shiftDistanceX->second;
484
+ }
485
+ }
486
+
487
+ auto shiftDistanceY = map.find("shiftDistanceY");
488
+ if (shiftDistanceY != map.end()) {
489
+ if (shiftDistanceY->second.hasType<float>()) {
490
+ result.shiftDistanceY = (float)shiftDistanceY->second;
491
+ }
492
+ }
493
+
494
+ auto tiltAngle = map.find("tiltAngle");
495
+ if (tiltAngle != map.end()) {
496
+ if (tiltAngle->second.hasType<float>()) {
497
+ result.tiltAngle = (float)tiltAngle->second;
498
+ }
499
+ }
500
+
501
+ auto magnification = map.find("magnification");
502
+ if (magnification != map.end()) {
503
+ if (magnification->second.hasType<float>()) {
504
+ result.magnification = (float)magnification->second;
505
+ }
506
+ }
507
+
508
+ auto pressMagnification = map.find("pressMagnification");
509
+ if (pressMagnification != map.end()) {
510
+ if (pressMagnification->second.hasType<float>()) {
511
+ result.pressMagnification = (float)pressMagnification->second;
512
+ }
513
+ }
514
+
515
+ auto pressDuration = map.find("pressDuration");
516
+ if (pressDuration != map.end()) {
517
+ if (pressDuration->second.hasType<float>()) {
518
+ result.pressDuration = (float)pressDuration->second;
519
+ }
520
+ }
521
+
522
+ auto pressDelay = map.find("pressDelay");
523
+ if (pressDelay != map.end()) {
524
+ if (pressDelay->second.hasType<float>()) {
525
+ result.pressDelay = (float)pressDelay->second;
526
+ }
527
+ }
528
+
529
+ }
530
+ #endif
531
+
466
532
  } // namespace react
467
533
  } // namespace facebook
@@ -0,0 +1 @@
1
+ 434ae1674702192aecd1d3f14e66ec09
@@ -0,0 +1 @@
1
+ 4352f01d202bc037bd7644c427419cfa9daa4d29
@@ -0,0 +1 @@
1
+ 38bc355df8d71a852dbb2c280fdcd15ef93048be26acbd0662863da444c2e85f
@@ -0,0 +1 @@
1
+ 8a15335e3cb62d15f10c560736f94804334342bd457de3675369ba59d77c9b94ed9146b8fff0f9e26ae78eb1f32922ef1341c19164b2271728328f1eb91ac240
@@ -3,7 +3,7 @@
3
3
  "component": {
4
4
  "group": "com.facebook.react",
5
5
  "module": "react-native",
6
- "version": "0.66.3-1",
6
+ "version": "0.66.3-2",
7
7
  "attributes": {
8
8
  "org.gradle.status": "release"
9
9
  }
@@ -11,7 +11,7 @@
11
11
  "createdBy": {
12
12
  "gradle": {
13
13
  "version": "6.9",
14
- "buildId": "56p567vwizeihou4ojzp5vvcj4"
14
+ "buildId": "eoqj62k3srbtbbfixgh7wof3fe"
15
15
  }
16
16
  },
17
17
  "variants": [
@@ -132,13 +132,13 @@
132
132
  ],
133
133
  "files": [
134
134
  {
135
- "name": "react-native-0.66.3-1.aar",
136
- "url": "react-native-0.66.3-1.aar",
137
- "size": 17696445,
138
- "sha512": "89acf10cea8de9aeaef9ba71a5c94cebab83459eabe03dc7e44a4ede027199289898690f2052675586bb44c04e6f86c316ca0df594f1b3a47d6e872af9dd0723",
139
- "sha256": "a3dbee139f1c56948fa1a4f3860d03437eff302766b86cb2ea4b223990c91d00",
140
- "sha1": "efb83c1ec79d703c3df555b76b83172ee2331562",
141
- "md5": "46cf104eee6c41eca9cb466e8455307a"
135
+ "name": "react-native-0.66.3-2.aar",
136
+ "url": "react-native-0.66.3-2.aar",
137
+ "size": 17696444,
138
+ "sha512": "8a15335e3cb62d15f10c560736f94804334342bd457de3675369ba59d77c9b94ed9146b8fff0f9e26ae78eb1f32922ef1341c19164b2271728328f1eb91ac240",
139
+ "sha256": "38bc355df8d71a852dbb2c280fdcd15ef93048be26acbd0662863da444c2e85f",
140
+ "sha1": "4352f01d202bc037bd7644c427419cfa9daa4d29",
141
+ "md5": "434ae1674702192aecd1d3f14e66ec09"
142
142
  }
143
143
  ]
144
144
  },
@@ -259,13 +259,13 @@
259
259
  ],
260
260
  "files": [
261
261
  {
262
- "name": "react-native-0.66.3-1.aar",
263
- "url": "react-native-0.66.3-1.aar",
264
- "size": 17696445,
265
- "sha512": "89acf10cea8de9aeaef9ba71a5c94cebab83459eabe03dc7e44a4ede027199289898690f2052675586bb44c04e6f86c316ca0df594f1b3a47d6e872af9dd0723",
266
- "sha256": "a3dbee139f1c56948fa1a4f3860d03437eff302766b86cb2ea4b223990c91d00",
267
- "sha1": "efb83c1ec79d703c3df555b76b83172ee2331562",
268
- "md5": "46cf104eee6c41eca9cb466e8455307a"
262
+ "name": "react-native-0.66.3-2.aar",
263
+ "url": "react-native-0.66.3-2.aar",
264
+ "size": 17696444,
265
+ "sha512": "8a15335e3cb62d15f10c560736f94804334342bd457de3675369ba59d77c9b94ed9146b8fff0f9e26ae78eb1f32922ef1341c19164b2271728328f1eb91ac240",
266
+ "sha256": "38bc355df8d71a852dbb2c280fdcd15ef93048be26acbd0662863da444c2e85f",
267
+ "sha1": "4352f01d202bc037bd7644c427419cfa9daa4d29",
268
+ "md5": "434ae1674702192aecd1d3f14e66ec09"
269
269
  }
270
270
  ]
271
271
  }
@@ -0,0 +1 @@
1
+ db32fc97f37109eb10859b90bd50017c
@@ -0,0 +1 @@
1
+ d31ae7770909de78cf9dabd8f7aad4c41668d675
@@ -0,0 +1 @@
1
+ c2c17e85733e5cafe4ae15e097c153d8905ed8b9720e7d352c64b8592fd40b84
@@ -0,0 +1 @@
1
+ 5fc1cfdc6f65fa89711915ffdd1c8669306441f8fb3eee6cf20abdbc6fd23d00f87ee7659c86c37b9e068d1bf38ea2b82c4cbc4a04149eed128382ee0eddfd23
@@ -9,7 +9,7 @@
9
9
  <modelVersion>4.0.0</modelVersion>
10
10
  <groupId>com.facebook.react</groupId>
11
11
  <artifactId>react-native</artifactId>
12
- <version>0.66.3-1</version>
12
+ <version>0.66.3-2</version>
13
13
  <packaging>aar</packaging>
14
14
  <name>ReactNative</name>
15
15
  <description>A framework for building native apps with React</description>
@@ -0,0 +1 @@
1
+ 81f7da871ca1317d83cc04bfc82a1577
@@ -0,0 +1 @@
1
+ 4df93d37d9e5c1ce4d33dda1d1162bcdcbb0f25c
@@ -0,0 +1 @@
1
+ 3431653138853e997aee7995a8d80e89d347e0b019fe9c9886f68339822ac52c
@@ -0,0 +1 @@
1
+ 43fa4fbf96acfb2d4d167f4472434cd4cd3a990dc4db1e077c5ae7907fbbc85c49a11acacf9a4f72395ca2365a2d1b88c8f700ae5dbb4654d7c5fef6a84b25ba
@@ -3,11 +3,11 @@
3
3
  <groupId>com.facebook.react</groupId>
4
4
  <artifactId>react-native</artifactId>
5
5
  <versioning>
6
- <latest>0.66.3-1</latest>
7
- <release>0.66.3-1</release>
6
+ <latest>0.66.3-2</latest>
7
+ <release>0.66.3-2</release>
8
8
  <versions>
9
- <version>0.66.3-1</version>
9
+ <version>0.66.3-2</version>
10
10
  </versions>
11
- <lastUpdated>20220127193953</lastUpdated>
11
+ <lastUpdated>20220312030047</lastUpdated>
12
12
  </versioning>
13
13
  </metadata>
@@ -1 +1 @@
1
- 6bb08bc0081892c6ebd2e43ffa0ed7c9
1
+ 3c9425cf84da5c562fbc748e02336038
@@ -1 +1 @@
1
- 37e8136e80c5c693ab8817b785db4aaf255b2d3d
1
+ 4f94b064ce0b8a614934e40083d6213776d22a47
@@ -1 +1 @@
1
- a21d20fc3c83b47564b900f537265bbaedaaeb30518a41487e4aa3ef1132db96
1
+ e50131d54bbc393a8f0dc2381c4ca8960e00dc26a77d72a05684313c1c9a27ed
@@ -1 +1 @@
1
- ecd6426fc2ace2f752448d98b31656524dd9c86601b7c3f2047758a5d3b9799af05c58b884e75aa502ba2da099dabdcd324f2cd0bc3b0f47a518b48e80ae74d5
1
+ 503f6da6c8c2ac004dd3ed9d756140415d22d252d2268eab5f828e5bab233ad26e6faa5a589983b896d94b6c1bafa4a17998cbc3688c286cb7c7d507cd1f2482
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-tvos",
3
- "version": "0.66.3-1",
3
+ "version": "0.66.3-2",
4
4
  "bin": "./cli.js",
5
5
  "description": "A framework for building native apps using React",
6
6
  "license": "MIT",
@@ -164,7 +164,7 @@
164
164
  "react": "17.0.2",
165
165
  "react-shallow-renderer": "16.14.1",
166
166
  "react-test-renderer": "17.0.2",
167
- "shelljs": "^0.7.8",
167
+ "shelljs": "^0.8.5",
168
168
  "signedsource": "^1.0.0",
169
169
  "ws": "^6.1.4",
170
170
  "yargs": "^15.3.1"
@@ -11,7 +11,7 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "react": "17.0.2",
14
- "react-native": "npm:react-native-tvos@0.66.3-1"
14
+ "react-native": "npm:react-native-tvos@0.66.3-2"
15
15
  },
16
16
  "devDependencies": {
17
17
  "@babel/core": "^7.12.9",
@@ -1,22 +0,0 @@
1
- //
2
- // RCTTVFocusGuideView.h
3
- // React
4
- //
5
- // Created by Alain Hufkens on 12/06/2019.
6
- // Copyright © 2019 Facebook. All rights reserved.
7
- //
8
-
9
- #import "RCTTVView.h"
10
- #import <React/RCTView.h>
11
- #import <React/RCTBridge.h>
12
- #import <React/RCTUIManagerObserverCoordinator.h>
13
- #import <yoga/Yoga.h>
14
-
15
- @interface RCTTVFocusGuideView : RCTTVView <RCTUIManagerObserver>
16
-
17
- @property (nonatomic, strong) NSArray * destinationTags;
18
- @property (nonatomic, strong) UIFocusGuide * focusGuide;
19
-
20
- - (instancetype)initWithBridge:(RCTBridge *)bridge;
21
-
22
- @end
@@ -1,60 +0,0 @@
1
- //
2
- // RCTTVFocusGuideView.m
3
- // React
4
- //
5
- // Created by Alain Hufkens on 12/06/2019.
6
- // Copyright © 2019 Facebook. All rights reserved.
7
- //
8
-
9
- #import "RCTTVFocusGuideView.h"
10
- #import <React/RCTUIManager.h>
11
- #import <React/RCTUIManagerUtils.h>
12
-
13
- @implementation RCTTVFocusGuideView {
14
- __weak RCTBridge *_bridge;
15
- BOOL _needsUpdateView;
16
- }
17
-
18
- - (instancetype)initWithBridge:(RCTBridge *)bridge {
19
- if ((self = [super init])) {
20
- _bridge = bridge;
21
- }
22
- return self;
23
- }
24
-
25
- - (void)invalidate {
26
- }
27
-
28
- - (void)setDestinationTags:(NSArray *)destinationTags {
29
- NSArray *destinationTagsValue = destinationTags ? destinationTags : @[];
30
- NSDictionary<NSNumber *, UIView *> *views = [_bridge.uiManager valueForKey:@"viewRegistry"];
31
- NSMutableArray* destinations = [NSMutableArray array];
32
- for (NSNumber * tag in destinationTagsValue) {
33
- RCTTVView *destination = (RCTTVView*)views[tag];
34
- if (destination != nil) {
35
- [destinations addObject:destination];
36
- }
37
- }
38
- [self addFocusGuide:destinations];
39
- self->_destinationTags = destinationTagsValue;
40
-
41
- }
42
-
43
-
44
- - (void)addFocusGuide:(NSArray*)destinations {
45
-
46
- UIView *origin = [self reactSuperview];
47
- if (self.focusGuide == nil && origin != nil) {
48
- self.focusGuide = [UIFocusGuide new];
49
- [self addLayoutGuide:self.focusGuide];
50
-
51
- [self.focusGuide.widthAnchor constraintEqualToAnchor:origin.widthAnchor].active = YES;
52
- [self.focusGuide.heightAnchor constraintEqualToAnchor:origin.heightAnchor].active = YES;
53
- [self.focusGuide.topAnchor constraintEqualToAnchor:origin.topAnchor].active = YES;
54
- [self.focusGuide.leftAnchor constraintEqualToAnchor:origin.leftAnchor].active = YES;
55
- }
56
-
57
- self.focusGuide.preferredFocusEnvironments = destinations;
58
- }
59
-
60
- @end
@@ -1,12 +0,0 @@
1
- //
2
- // RCTTVFocusGuideManager.h
3
- // React
4
- //
5
- // Created by Alain Hufkens on 12/06/2019.
6
- // Copyright © 2019 Facebook. All rights reserved.
7
- //
8
-
9
- #import <React/RCTViewManager.h>
10
-
11
- @interface RCTTVFocusGuideViewManager : RCTViewManager
12
- @end
@@ -1,30 +0,0 @@
1
- //
2
- // RCTTVFocusGuideManager.m
3
- // React
4
- //
5
- // Created by Alain Hufkens on 12/06/2019.
6
- // Copyright © 2019 Facebook. All rights reserved.
7
- //
8
-
9
- #import "RCTTVFocusGuideViewManager.h"
10
- #import "RCTView.h"
11
- #if (TARGET_OS_TV)
12
- #import "RCTTVFocusGuideView.h"
13
- #endif
14
-
15
- @implementation RCTTVFocusGuideViewManager
16
-
17
- RCT_EXPORT_MODULE()
18
- RCT_EXPORT_VIEW_PROPERTY(destinationTags, NSArray)
19
-
20
- #if (TARGET_OS_TV)
21
- - (RCTTVFocusGuideView *)view {
22
- return [[RCTTVFocusGuideView alloc] initWithBridge:self.bridge];
23
- }
24
- #else
25
- - (RCTView *)view {
26
- return [RCTView new];
27
- }
28
- #endif
29
-
30
- @end