feat: switch to react-native-safe-area-context

This commit is contained in:
Brent Vatne
2019-08-29 16:38:43 -07:00
parent 914d975cab
commit 4d0a1a5178
20 changed files with 406 additions and 1540 deletions

View File

@@ -139,6 +139,7 @@ android {
}
dependencies {
implementation project(':react-native-safe-area-context')
implementation project(':react-native-webview')
implementation project(':react-native-reanimated')
implementation project(':react-native-gesture-handler')

View File

@@ -3,6 +3,7 @@ package com.stackexample;
import android.app.Application;
import com.facebook.react.ReactApplication;
import com.th3rdwave.safeareacontext.SafeAreaContextPackage;
import com.reactnativecommunity.webview.RNCWebViewPackage;
import com.swmansion.reanimated.ReanimatedPackage;
import com.facebook.react.ReactNativeHost;
@@ -40,6 +41,7 @@ public class MainApplication extends Application implements ReactApplication {
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage(),
new SafeAreaContextPackage(),
new RNCWebViewPackage(),
new ReanimatedPackage(),
new RNGestureHandlerPackage(),

View File

@@ -1,4 +1,6 @@
apply from: '../node_modules/react-native-unimodules/gradle.groovy'
include ':react-native-safe-area-context'
project(':react-native-safe-area-context').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-safe-area-context/android')
include ':react-native-webview'
project(':react-native-webview').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-webview/android')
include ':react-native-reanimated'

View File

@@ -3,7 +3,7 @@
"name": "React Navigation Stack Example",
"description": "Demonstrates the various capabilities of react-navigation-stack",
"slug": "react-navigation-stack-demo",
"sdkVersion": "34.0.0",
"sdkVersion": "35.0.0",
"version": "1.0.0",
"primaryColor": "#2196f3",
"packagerOpts": {
@@ -14,4 +14,4 @@
},
"displayName": "React Navigation Stack Example",
"name": "StackExample"
}
}

View File

@@ -34,4 +34,6 @@ target 'StackExample' do
pod 'RNScreens', :podspec => '../node_modules/react-native-screens/RNScreens.podspec'
pod 'react-native-webview', :path => '../node_modules/react-native-webview'
pod 'react-native-maps', :path => '../node_modules/react-native-maps'
pod 'react-native-safe-area-context', :path => '../node_modules/react-native-safe-area-context'
end

View File

@@ -39,6 +39,8 @@ PODS:
- React/Core (= 0.59.10)
- react-native-maps (0.24.2):
- React
- react-native-safe-area-context (0.3.3):
- React
- react-native-webview (5.12.1):
- React
- React/Core (0.59.10):
@@ -133,6 +135,7 @@ DEPENDENCIES:
- Folly (from `../node_modules/react-native/third-party-podspecs/Folly.podspec`)
- glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`)
- react-native-maps (from `../node_modules/react-native-maps`)
- react-native-safe-area-context (from `../node_modules/react-native-safe-area-context`)
- react-native-webview (from `../node_modules/react-native-webview`)
- React/Core (from `../node_modules/react-native`)
- React/CxxBridge (from `../node_modules/react-native`)
@@ -213,6 +216,8 @@ EXTERNAL SOURCES:
:path: "../node_modules/react-native"
react-native-maps:
:path: "../node_modules/react-native-maps"
react-native-safe-area-context:
:path: "../node_modules/react-native-safe-area-context"
react-native-webview:
:path: "../node_modules/react-native-webview"
RNGestureHandler:
@@ -278,6 +283,7 @@ SPEC CHECKSUMS:
glog: aefd1eb5dda2ab95ba0938556f34b98e2da3a60d
React: 36d0768f9e93be2473b37e7fa64f92c1d5341eef
react-native-maps: 0316ed017dbb64b33b227751fa810e2454fcfa39
react-native-safe-area-context: 05fce11cf3a094304cb4cb8761a8f66f1bbaf0a0
react-native-webview: 5036ed4a973ad1deeeff118262d2df7b60b3419d
RNGestureHandler: 5329a942fce3d41c68b84c2c2276ce06a696d8b0
RNReanimated: 7a52c90473b5e81c13408d40d797b98387eaddde
@@ -296,6 +302,6 @@ SPEC CHECKSUMS:
UMTaskManagerInterface: 8664abd37a00715727e60df9ecd65e42ba47b548
yoga: 684513b14b03201579ba3cee20218c9d1298b0cc
PODFILE CHECKSUM: ba5af81bcabf9feca0e74ef3f931f99ebe73e278
PODFILE CHECKSUM: 8eac0f6d450c8440d0530650ff7a9cfe8f185063
COCOAPODS: 1.7.5

View File

@@ -28,6 +28,7 @@ module.exports = {
providesModuleNodeModules: [
'@expo/vector-icons',
'react-native-safe-area-context',
'@babel/runtime',
'react-navigation',
...projectDependencies,

View File

@@ -10,21 +10,22 @@
},
"dependencies": {
"@react-native-community/masked-view": "^0.1.1",
"expo": "^34.0.0",
"expo-asset": "^6.0.0",
"expo-barcode-scanner": "~6.0.0",
"expo-constants": "~6.0.0",
"expo": "^35.0.0",
"expo-asset": "~7.0.0",
"expo-barcode-scanner": "~7.0.0",
"expo-constants": "~7.0.0",
"hoist-non-react-statics": "^3.3.0",
"react": "16.8.3",
"react-dom": "^16.8.6",
"react-native": "0.59.10",
"react": "~16.8.3",
"react-dom": "~16.8.3",
"react-native": "~0.59.10",
"react-native-gesture-handler": "~1.3.0",
"react-native-maps": "~0.24.0",
"react-native-maps": "~0.25.0",
"react-native-paper": "^2.15.2",
"react-native-reanimated": "~1.1.0",
"react-native-unimodules": "~0.5.2",
"react-native-reanimated": "~1.2.0",
"react-native-safe-area-context": "^0.3.6",
"react-native-unimodules": "^0.7.0-rc.1",
"react-native-web": "^0.11.4",
"react-native-webview": "~5.12.0",
"react-native-webview": "7.0.5",
"react-navigation": "^4.0.7",
"react-navigation-drawer": "^2.2.2",
"react-navigation-tabs": "^2.5.5"

View File

@@ -1503,17 +1503,26 @@
resolved "https://registry.yarnpkg.com/@types/yup/-/yup-0.26.24.tgz#c24170b3a5c867b4fabd49fcc42fe45f780cb153"
integrity sha512-x0bhHnYjH5mZit4HivUYbTMO4LouOTGwp/LLxSL1mbJYVwNJtHYESH0ed2bwM1lkI2yDmsoCDYJnWEgHeJDACg==
"@unimodules/core@~3.0.0", "@unimodules/core@~3.0.2":
version "3.0.2"
resolved "https://registry.yarnpkg.com/@unimodules/core/-/core-3.0.2.tgz#a2b143fb1e743809ba17c60ae1848f82b8637901"
integrity sha512-EMZjVp+yrtoPKpDBPvj4+hyDWALl7gvpWeUsDz2Nb9MMBPLnhag1uNk3KC98StJdnjbSXKSdKrCMMidOXnyKcg==
"@unimodules/core@~4.0.0":
version "4.0.0"
resolved "https://registry.yarnpkg.com/@unimodules/core/-/core-4.0.0.tgz#898dafa5a121e7d6d7d4acd9c0c38d12f7da5b19"
integrity sha512-lHxRmCG9DK3/aA2lnBKPS32K95NpYE10mZQRp5dycSptgN0DIeWWHuE01SndcSUACGyEP+tDO+DnGo8mhLlt4Q==
dependencies:
compare-versions "^3.4.0"
"@unimodules/react-native-adapter@~3.0.0":
version "3.0.0"
resolved "https://registry.yarnpkg.com/@unimodules/react-native-adapter/-/react-native-adapter-3.0.0.tgz#303b76c131fe6b5ceb220235ddd1fa2a0193403d"
integrity sha512-zkFFE0HQ2Flfx/aY3hBKDgMvQ1meUm3H6vMIacY1KywexCuKW8ivBobkOsHIet4jf7km0Eklt6WtB3LqQVw5yw==
"@unimodules/react-native-adapter@~4.0.0":
version "4.0.0"
resolved "https://registry.yarnpkg.com/@unimodules/react-native-adapter/-/react-native-adapter-4.0.0.tgz#2e02246f6450201d6cb0720f849c7059e8a9bc6d"
integrity sha512-zGAyDhqAEWvshdSxc523srP6OAZaSr95Cv5EuxLJbFGcJENHhK8o/qxhwS7/LYTF3LqtOlnSlwQta3v3y6kF4A==
dependencies:
invariant "^2.2.4"
lodash "^4.5.0"
prop-types "^15.6.1"
"@unimodules/react-native-adapter@~5.0.0-alpha.0":
version "5.0.0-alpha.0"
resolved "https://registry.yarnpkg.com/@unimodules/react-native-adapter/-/react-native-adapter-5.0.0-alpha.0.tgz#cb9c90550ceee5359e9899c99aa1c9e20a931954"
integrity sha512-qPF92DiSDMoOmdxb/i6+XEAqLR7+4RZgi2HmPMlqh2oTBQIlrAcM7JQVsIDFkmtcVAzdy4VPzJpFDSJW67My3A==
dependencies:
invariant "^2.2.4"
lodash "^4.5.0"
@@ -2231,10 +2240,10 @@ babel-plugin-transform-object-rest-spread@^6.26.0:
babel-plugin-syntax-object-rest-spread "^6.8.0"
babel-runtime "^6.26.0"
babel-preset-expo@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/babel-preset-expo/-/babel-preset-expo-6.0.0.tgz#acc4eb8343a2f703d5808916c051a6caefde8778"
integrity sha512-MvDy86afmCt4sFYkg7yXsZyGL0yONT5JQHZSK1r8cu26Zm1No0yQyll+w78e2OkkYwVFtC1u70GyBPdERG7BZg==
babel-preset-expo@~7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/babel-preset-expo/-/babel-preset-expo-7.0.0.tgz#1d288e0efb17dcea84b0d30ce5f5ab99f781ae4a"
integrity sha512-lhQUlodOf1pJoDQ4X1SpLLiQQutvAJ3eB2xZtcqQFY0SAc7ifchtgWk/1T9SmI8lCOcllcPsFDyjbcPWav1FHQ==
dependencies:
"@babel/core" "^7.1.0"
"@babel/plugin-proposal-decorators" "^7.1.0"
@@ -2242,7 +2251,7 @@ babel-preset-expo@^6.0.0:
"@babel/preset-env" "^7.3.1"
babel-plugin-module-resolver "^3.1.1"
babel-plugin-react-native-web "^0.11.2"
metro-react-native-babel-preset "^0.51.1"
metro-react-native-babel-preset "^0.54.1"
babel-preset-fbjs@^3.0.1, babel-preset-fbjs@^3.2.0:
version "3.2.0"
@@ -4372,24 +4381,24 @@ expand-template@^2.0.3:
resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz#6e14b3fcee0f3a6340ecb57d2e8918692052a47c"
integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==
expo-app-loader-provider@~6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/expo-app-loader-provider/-/expo-app-loader-provider-6.0.0.tgz#c187a39942ac27cfaec3b394a5c9851d3f39678b"
integrity sha512-GtpztJVxOz+vVwdLyHskpzVzFWMXZPIFC/zczHZPsTwjS+wXj6n8MVaLxX6GaTyhNEtYjp0VIQUw3b7eP+vO6w==
expo-app-loader-provider@~7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/expo-app-loader-provider/-/expo-app-loader-provider-7.0.0.tgz#9bfff831a204d0a8896e0120bce2209c4304ef03"
integrity sha512-C+5zpZN2T7PCj7weLs/ZgAC+y9dvu0VdTXD00Jf9Wo7Pxu/lsLh6ljg9JL91c+2tYDzMEODPNmT+JOUIxAr5zQ==
expo-asset@^6.0.0, expo-asset@~6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/expo-asset/-/expo-asset-6.0.0.tgz#caa3f45e7a27d978f8055fc58df6e33a4e661937"
integrity sha512-M0sJphdCQ0mq+7kg6rQmq4rU5hbsL72AZCNrga565JchCLeevJhv6j72erh2viqDAPdvjZpGwc7pwI/dxu1+zg==
expo-asset@~7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/expo-asset/-/expo-asset-7.0.0.tgz#6d2ba460dd43807f40580199c0b76c508eb1ca63"
integrity sha512-MwWrlpzaZqT0NU0V3Wn8oA1pMb7Al49aYAWMPEUZ2UV5NyVAbzYPuS2duIfwX55ivczjJZHpwrhd0hb/3l9ngQ==
dependencies:
blueimp-md5 "^2.10.0"
path-browserify "^1.0.0"
url-parse "^1.4.4"
expo-barcode-scanner@~6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/expo-barcode-scanner/-/expo-barcode-scanner-6.0.0.tgz#ea9c907dbb403247bfe9fa4da8f50b0d05ef6e2a"
integrity sha512-BEAEqus5hBpcippY+/xWIM/UIWHMyAzZTwISkKovVDtiJ47bcz6Bq9nrLwFv7vjTG68Sww2e7/K8jdCc9nndyQ==
expo-barcode-scanner@~7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/expo-barcode-scanner/-/expo-barcode-scanner-7.0.0.tgz#75bb2dc66565f9e46ae1d4330452e2c96a4b5a7f"
integrity sha512-n8a/Xqtumw+o19PjFrPw12jfEyjA/UtJLAmXAiS0h+ociinjIkJKnLbCwUcCODLsgc6nn2lhd6TtZgQdvFEnbw==
dependencies:
lodash "^4.6.0"
prop-types "^15.6.0"
@@ -4452,67 +4461,67 @@ expo-cli@^3.2.3:
"@expo/traveling-fastlane-darwin" "1.10.0"
"@expo/traveling-fastlane-linux" "1.10.0"
expo-constants@~6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/expo-constants/-/expo-constants-6.0.0.tgz#ff4598985ba006e24949be3f05be7429e5bedacf"
integrity sha512-O0yL3Ok0YUEWpAqsWjOdgFD/lMfg8PUGH/nq31CZ1s7cuFUlksD42i5YhIRlb0Pa/btK8X9LpfY3eWhx9eTmbg==
expo-constants@~7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/expo-constants/-/expo-constants-7.0.0.tgz#668c3ec0100e219522ffd9515ec47fadfccd443d"
integrity sha512-oLINuMtGcAwfHGInSVhq6xGojp3atUpSIp7KImo9rqXhWwD5FNmqA5Jflo4J0ODPq590kN5ieiYCCqwls2/u0w==
dependencies:
ua-parser-js "^0.7.19"
expo-file-system@~6.0.0, expo-file-system@~6.0.1:
version "6.0.2"
resolved "https://registry.yarnpkg.com/expo-file-system/-/expo-file-system-6.0.2.tgz#e65f30eb6a7213e07933df9688116eaf4e25bbf8"
integrity sha512-s+6oQpLhcT7MQp7fcoj1E+zttMr0WX6c0FrddzqB4dUfhIggV+nb35nQMASIiTHAj8VPUanTFliY5rETHRMHRA==
expo-file-system@~7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/expo-file-system/-/expo-file-system-7.0.0.tgz#ac98233b18774cce299fffd9451f08f21b116564"
integrity sha512-ignf5Vf5cPDYO/4HgUkgnL574wMbCNxyazlOvBgV34rLGJzBbFsn++hqC7njr2VTpIIXh2G9vp1+8g6cvsQdqA==
dependencies:
uuid-js "^0.7.5"
expo-font@~6.0.1:
version "6.0.1"
resolved "https://registry.yarnpkg.com/expo-font/-/expo-font-6.0.1.tgz#239b0468edf90d441dca20253c00b334e812c5c5"
integrity sha512-zQwGFTKSrsTWmFzS0l87i6TyqM0YFDK4ui4sSzpbdQsUHXpeG7wfa67i09roLS0xtp85nrR9Vm2bUJp9njV8JQ==
expo-font@~7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/expo-font/-/expo-font-7.0.0.tgz#0b36f5c91a77eb718fb20559b2c0c58d762ba535"
integrity sha512-OVlUydfexjq1u57Xlymcx5egfFF2WZ5MXkg3GGjHyiSMfp09inZ7OzAu+O/TXjxjlaq9d6vBXiwVxqQoUIlx1Q==
dependencies:
fontfaceobserver "^2.1.0"
expo-keep-awake@~6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/expo-keep-awake/-/expo-keep-awake-6.0.0.tgz#e0d6d1263c6a73488272a62aef98312ab25cab1f"
integrity sha512-MAtZknf6FtIC0ipkDS2FVa87al8YBsrpsQ2qMf+H/cI6FOd6aahaggN4x75xGnt5UzozgWfjhGNCi1XCr14rJw==
expo-keep-awake@~7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/expo-keep-awake/-/expo-keep-awake-7.0.0.tgz#131f56bc1ed8dd66e64a159afd7eaef26939d929"
integrity sha512-LjIudbftcZnoviujJUZEzLMdE3m9A2NOvxrRszYHUjySpNN1bAKKyx1gLJbg/yZIWcdEIQ+6uCYtLbuK74Wk2Q==
expo-linear-gradient@~6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/expo-linear-gradient/-/expo-linear-gradient-6.0.0.tgz#5fb0fb955dd22ef4ab032e543cb1c249885bf0b5"
integrity sha512-TGHSK7MsoU1wZXx9uEivMggAR/KT4wTSE0xBfhB8qsziGXoHZdoT79/tZ3HyWtCG7+JVUEFXfUOBxtOlZOu5tg==
expo-linear-gradient@~7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/expo-linear-gradient/-/expo-linear-gradient-7.0.0.tgz#91e86f3f4a70428c7ac5e43ee0d06215bca39afd"
integrity sha512-8VrFWR9tpXrDmk0kMyIpo6C5jKiDRzXPZN55JtyPhjuN1kF8Kle4d9ybNtV+bYd3Ql6PAZXY8Y/bhLAuWv0L9g==
expo-location@~6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/expo-location/-/expo-location-6.0.0.tgz#da4e22ee5aa951d2c65d94f9916323eb4b3f8a01"
integrity sha512-5uSebmZos0DKJ/xpi+2e9myWVPUWk+fshFedi55wzlGqy2YpTG5MlDcCLlJlamgJ5Tm8+3ECdhbFX3g1pNRDVQ==
expo-location@~7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/expo-location/-/expo-location-7.0.0.tgz#de5818f828354c681a173471e4dc25ec795a9b42"
integrity sha512-7iWg0j6+DXeO/bVLJEbGBmvebPSbIJNOewfHoyhvdo+13Q7L94SflcggT349WbqNsFJHVcAGC6Unr8VvXcUDbw==
dependencies:
invariant "^2.2.4"
expo-permissions@~6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/expo-permissions/-/expo-permissions-6.0.0.tgz#2943f1aa98de833b88cea73cf03d18d08957cb68"
integrity sha512-O+RdyfGiq7i+5Vi9fE38DgKn436lNWiqhnS5/Z7CC00bmKahhjVMNDbZvNn/nrdRGyaPneJk1Co1s1sexSnv0A==
expo-permissions@~7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/expo-permissions/-/expo-permissions-7.0.0.tgz#f4135c3cf8e49c673a9a714459a1eb2b40fe2092"
integrity sha512-C+qyVz+pdZO4YpVR2HSC3gsBZg0Qb8brCFgzmDmWcAtgrOiHClaLPdhI2XtQuGh8ubXcKPUGZp++UCEGiG0Jxg==
expo-sqlite@~6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/expo-sqlite/-/expo-sqlite-6.0.0.tgz#e7fe36b493a2230afdc77bdaedeab5f031690390"
integrity sha512-M8heovLeJoq7tb4f7PipDu0dqHSklbI2EqNvDM8XLjSZdSv6CqCMHg5Kvx0L9CLYTchjzktDPClZKjgvtGOVug==
expo-sqlite@~7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/expo-sqlite/-/expo-sqlite-7.0.0.tgz#f52585b342278b4034c06caac8384edb2531afa4"
integrity sha512-mUA+YiE42sD7jI64kP+Zmhwzk13KoLVSFGJz5HeuAuIoO1EwVlAH4g+RQQye5/NsFM6clVRvKhIxv2L2XIVEcw==
dependencies:
"@expo/websql" "^1.0.1"
"@types/websql" "^0.0.27"
lodash "^4.17.11"
lodash "^4.17.15"
expo-web-browser@~6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/expo-web-browser/-/expo-web-browser-6.0.0.tgz#63a59d4c02cd7ba47faa6a2eb04decb1a1ab2a32"
integrity sha512-7XkFPd4PRlVP6FscTnn78c0tY6+yLzb2Eai/ed+l+LB+hZWuhyY3ONzYM7/IKAiPmfhZr4Qs80vIa7iiavti8A==
expo-web-browser@~7.0.0:
version "7.0.1"
resolved "https://registry.yarnpkg.com/expo-web-browser/-/expo-web-browser-7.0.1.tgz#b64ef895b5c0604f312b64b085f7a2f1da630e20"
integrity sha512-THjqlMitUsjHUGYEfag2ybdhgZpp0C4ATixfNpWlS/8vTM4Sw/KGfwB0VuqtqLUMT2q2MTJSrlrWY8Boi4yvTg==
expo@^34.0.0:
version "34.0.4"
resolved "https://registry.yarnpkg.com/expo/-/expo-34.0.4.tgz#af6ef0da40c98981b5f3323c86fd815dfa417fff"
integrity sha512-sZQQoZnN5ASrkSA4qSsk7HPBewHB6b3k9VPZvchT0FBZ1fP5vpmzfIbVOqOLRXHf2VdjNnQVme617TnpPlruJg==
expo@^35.0.0:
version "35.0.0"
resolved "https://registry.yarnpkg.com/expo/-/expo-35.0.0.tgz#79649c9dbcc8bd2066d50642b30eebb55907ee4e"
integrity sha512-DnwcDiRds+y4C+XsfvFnyG8c/vJZWx9RYgcDn0yhu07LtQ2osxKnqSm5eko3uAU3jFYxGUxdlN1xs9p1u0MDXg==
dependencies:
"@babel/runtime" "^7.1.2"
"@expo/vector-icons" "^10.0.2"
@@ -4521,21 +4530,21 @@ expo@^34.0.0:
"@types/lodash.zipobject" "^4.1.4"
"@types/qs" "^6.5.1"
"@types/uuid-js" "^0.7.1"
"@unimodules/core" "~3.0.0"
"@unimodules/react-native-adapter" "~3.0.0"
babel-preset-expo "^6.0.0"
"@unimodules/core" "~4.0.0"
"@unimodules/react-native-adapter" "~4.0.0"
babel-preset-expo "~7.0.0"
cross-spawn "^6.0.5"
expo-app-loader-provider "~6.0.0"
expo-asset "~6.0.0"
expo-constants "~6.0.0"
expo-file-system "~6.0.0"
expo-font "~6.0.1"
expo-keep-awake "~6.0.0"
expo-linear-gradient "~6.0.0"
expo-location "~6.0.0"
expo-permissions "~6.0.0"
expo-sqlite "~6.0.0"
expo-web-browser "~6.0.0"
expo-app-loader-provider "~7.0.0"
expo-asset "~7.0.0"
expo-constants "~7.0.0"
expo-file-system "~7.0.0"
expo-font "~7.0.0"
expo-keep-awake "~7.0.0"
expo-linear-gradient "~7.0.0"
expo-location "~7.0.0"
expo-permissions "~7.0.0"
expo-sqlite "~7.0.0"
expo-web-browser "~7.0.0"
fbemitter "^2.1.1"
invariant "^2.2.2"
lodash "^4.6.0"
@@ -4547,16 +4556,16 @@ expo@^34.0.0:
react-native-branch "~3.0.1"
react-native-view-shot "2.6.0"
serialize-error "^2.1.0"
unimodules-barcode-scanner-interface "~3.0.0"
unimodules-camera-interface "~3.0.0"
unimodules-constants-interface "~3.0.0"
unimodules-face-detector-interface "~3.0.0"
unimodules-file-system-interface "~3.0.0"
unimodules-font-interface "~3.0.0"
unimodules-image-loader-interface "~3.0.0"
unimodules-permissions-interface "~3.0.0"
unimodules-sensors-interface "~3.0.0"
unimodules-task-manager-interface "~3.0.0"
unimodules-barcode-scanner-interface "~4.0.0"
unimodules-camera-interface "~4.0.0"
unimodules-constants-interface "~4.0.0"
unimodules-face-detector-interface "~4.0.0"
unimodules-file-system-interface "~4.0.0"
unimodules-font-interface "~4.0.0"
unimodules-image-loader-interface "~4.0.0"
unimodules-permissions-interface "~4.0.0"
unimodules-sensors-interface "~4.0.0"
unimodules-task-manager-interface "~4.0.0"
uuid-js "^0.7.5"
express@4.16.4:
@@ -7124,6 +7133,13 @@ metro-babel7-plugin-react-transform@0.51.1:
dependencies:
"@babel/helper-module-imports" "^7.0.0"
metro-babel7-plugin-react-transform@0.54.1:
version "0.54.1"
resolved "https://registry.yarnpkg.com/metro-babel7-plugin-react-transform/-/metro-babel7-plugin-react-transform-0.54.1.tgz#5335b810284789724886dc483d5bde9c149a1996"
integrity sha512-jWm5myuMoZAOhoPsa8ItfDxdTcOzKhTTzzhFlbZnRamE7i9qybeMdrZt8KHQpF7i2p/mKzE9Yhf4ouOz5K/jHg==
dependencies:
"@babel/helper-module-imports" "^7.0.0"
metro-cache@0.51.1:
version "0.51.1"
resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.51.1.tgz#d0b296eab8e009214413bba87e4eac3d9b44cd04"
@@ -7208,7 +7224,7 @@ metro-react-native-babel-preset@0.51.0:
metro-babel7-plugin-react-transform "0.51.0"
react-transform-hmr "^1.0.4"
metro-react-native-babel-preset@0.51.1, metro-react-native-babel-preset@^0.51.1:
metro-react-native-babel-preset@0.51.1:
version "0.51.1"
resolved "https://registry.yarnpkg.com/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.51.1.tgz#44aeeedfea37f7c2ab8f6f273fa71b90fe65f089"
integrity sha512-e9tsYDFhU70gar0jQWcZXRPJVCv4k7tEs6Pm74wXO2OO/T1MEumbvniDIGwGG8bG8RUnYdHhjcaiub2Vc5BRWw==
@@ -7249,6 +7265,48 @@ metro-react-native-babel-preset@0.51.1, metro-react-native-babel-preset@^0.51.1:
metro-babel7-plugin-react-transform "0.51.1"
react-transform-hmr "^1.0.4"
metro-react-native-babel-preset@^0.54.1:
version "0.54.1"
resolved "https://registry.yarnpkg.com/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.54.1.tgz#b8f03865c381841d7f8912e7ba46804ea3a928b8"
integrity sha512-Hfr32+u5yYl3qhYQJU8NQ26g4kQlc3yFMg7keVR/3H8rwBIbFqXgsKt8oe0dOrv7WvrMqBHhDtVdU9ls3sSq8g==
dependencies:
"@babel/plugin-proposal-class-properties" "^7.0.0"
"@babel/plugin-proposal-export-default-from" "^7.0.0"
"@babel/plugin-proposal-nullish-coalescing-operator" "^7.0.0"
"@babel/plugin-proposal-object-rest-spread" "^7.0.0"
"@babel/plugin-proposal-optional-catch-binding" "^7.0.0"
"@babel/plugin-proposal-optional-chaining" "^7.0.0"
"@babel/plugin-syntax-dynamic-import" "^7.0.0"
"@babel/plugin-syntax-export-default-from" "^7.0.0"
"@babel/plugin-syntax-flow" "^7.2.0"
"@babel/plugin-transform-arrow-functions" "^7.0.0"
"@babel/plugin-transform-block-scoping" "^7.0.0"
"@babel/plugin-transform-classes" "^7.0.0"
"@babel/plugin-transform-computed-properties" "^7.0.0"
"@babel/plugin-transform-destructuring" "^7.0.0"
"@babel/plugin-transform-exponentiation-operator" "^7.0.0"
"@babel/plugin-transform-flow-strip-types" "^7.0.0"
"@babel/plugin-transform-for-of" "^7.0.0"
"@babel/plugin-transform-function-name" "^7.0.0"
"@babel/plugin-transform-literals" "^7.0.0"
"@babel/plugin-transform-modules-commonjs" "^7.0.0"
"@babel/plugin-transform-object-assign" "^7.0.0"
"@babel/plugin-transform-parameters" "^7.0.0"
"@babel/plugin-transform-react-display-name" "^7.0.0"
"@babel/plugin-transform-react-jsx" "^7.0.0"
"@babel/plugin-transform-react-jsx-source" "^7.0.0"
"@babel/plugin-transform-regenerator" "^7.0.0"
"@babel/plugin-transform-runtime" "^7.0.0"
"@babel/plugin-transform-shorthand-properties" "^7.0.0"
"@babel/plugin-transform-spread" "^7.0.0"
"@babel/plugin-transform-sticky-regex" "^7.0.0"
"@babel/plugin-transform-template-literals" "^7.0.0"
"@babel/plugin-transform-typescript" "^7.0.0"
"@babel/plugin-transform-unicode-regex" "^7.0.0"
"@babel/template" "^7.0.0"
metro-babel7-plugin-react-transform "0.54.1"
react-transform-hmr "^1.0.4"
metro-react-native-babel-transformer@0.51.0:
version "0.51.0"
resolved "https://registry.yarnpkg.com/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.51.0.tgz#57a695e97a19d95de63c9633f9d0dc024ee8e99a"
@@ -9359,15 +9417,15 @@ react-devtools-core@^3.6.0:
shell-quote "^1.6.1"
ws "^3.3.1"
react-dom@^16.8.6:
version "16.9.0"
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.9.0.tgz#5e65527a5e26f22ae3701131bcccaee9fb0d3962"
integrity sha512-YFT2rxO9hM70ewk9jq0y6sQk8cL02xm4+IzYBz75CQGlClQQ1Bxq0nhHF6OtSbit+AIahujJgb/CPRibFkMNJQ==
react-dom@~16.8.3:
version "16.8.6"
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.8.6.tgz#71d6303f631e8b0097f56165ef608f051ff6e10f"
integrity sha512-1nL7PIq9LTL3fthPqwkvr2zY7phIPjYrT0jp4HjyEQrEROnw4dG41VVwi/wfoCneoleqrNX7iAD+pXebJZwrwA==
dependencies:
loose-envify "^1.1.0"
object-assign "^4.1.1"
prop-types "^15.6.2"
scheduler "^0.15.0"
scheduler "^0.13.6"
react-error-overlay@^6.0.1:
version "6.0.3"
@@ -9398,10 +9456,10 @@ react-native-gesture-handler@~1.3.0:
invariant "^2.2.2"
prop-types "^15.5.10"
react-native-maps@~0.24.0:
version "0.24.2"
resolved "https://registry.yarnpkg.com/react-native-maps/-/react-native-maps-0.24.2.tgz#19974f967cb0c2e24dab74ca879118e0932571b2"
integrity sha512-1iNIDikp2dkCG+8DguaEviYZiMSYyvwqYT7pO2YTZvuFRDSc/P9jXMhTUnSh4wNDlEeQ47OJ09l0pwWVBZ7wxg==
react-native-maps@~0.25.0:
version "0.25.0"
resolved "https://registry.yarnpkg.com/react-native-maps/-/react-native-maps-0.25.0.tgz#81bc51eb50e33811a9e1c345cc48869413ead67d"
integrity sha512-PFJuW1pt+HnnnN0m0OGk29RSvICFVkK/DScX6cUk0SuCSN2DAHx0y6y57lZyYXcYqU4J4usNpfxgp/ccjASDiw==
react-native-paper@^2.15.2:
version "2.16.0"
@@ -9415,10 +9473,15 @@ react-native-paper@^2.15.2:
react-lifecycles-compat "^3.0.4"
react-native-safe-area-view "^0.12.0"
react-native-reanimated@~1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/react-native-reanimated/-/react-native-reanimated-1.1.0.tgz#ba6864055ec3a206cdd5209a293fe653ce276206"
integrity sha512-UGDVNfvuIkMqYUx6aytSzihuzv6sWubn0MQi8dRcw7BjgezhjJnVnJ/NSOcpL3cO+Ld7lFcRX6GKcskwkHdPkw==
react-native-reanimated@~1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/react-native-reanimated/-/react-native-reanimated-1.2.0.tgz#9219227a52a5dfa4d34c324596d6726ccd874293"
integrity sha512-vkWRHrPK5qfHP/ZawlRoo38oeYe9NZaaOH/lmFxRcsKzaSK6x3H5ZPXI8lK6MfTLveqwo1QhJje3zIKXO4nQQw==
react-native-safe-area-context@^0.3.6:
version "0.3.6"
resolved "https://registry.yarnpkg.com/react-native-safe-area-context/-/react-native-safe-area-context-0.3.6.tgz#666bf581b59aa49a9685aea4e76dfd6e1c8a8a52"
integrity sha512-5wlaJplOlWxBNnjmCtY/FAlsgRDuoKzmLQzbWUw4NDuOa3H2uq1kTdqTWOw78Nzm5FRqGWe1ZSLWU9+nSaN+vA==
react-native-safe-area-view@0.14.6, react-native-safe-area-view@^0.12.0, react-native-safe-area-view@^0.14.1, react-native-safe-area-view@^0.14.6:
version "0.14.6"
@@ -9439,29 +9502,29 @@ react-native-tab-view@^2.9.0:
resolved "https://registry.yarnpkg.com/react-native-tab-view/-/react-native-tab-view-2.10.0.tgz#5e249e5650502010013449ffd4e5edc18a95364b"
integrity sha512-qgexVz5eO4yaFjdkmn/sURXgVvaBo6pZD/q1eoca96SbPVbaH3WzVhF3bRUfeTHwZkXwznFTpS3JURqIFU8vQA==
react-native-unimodules@~0.5.2:
version "0.5.4"
resolved "https://registry.yarnpkg.com/react-native-unimodules/-/react-native-unimodules-0.5.4.tgz#d4d779576a027f0455b14d396b0e002cb57963fe"
integrity sha512-47ZJzZriaVtvDJp24HLu6xcKBaDScDcx71yIDmahsKKJtbEHmXl7jPz1y/2FhAKSb174m9niu3F97Di5Bo+91g==
react-native-unimodules@^0.7.0-rc.1:
version "0.7.0-rc.1"
resolved "https://registry.yarnpkg.com/react-native-unimodules/-/react-native-unimodules-0.7.0-rc.1.tgz#537b9bb818418f398aa873cd3dbe959735c3a828"
integrity sha512-qRKxMY5k7NVlHglOklUPbIawD1A6TujChe1S4tR+Yew+9SmE+JEUUhz1tjrVkOakpFOFAfiBk74Gh1KI9H0DtA==
dependencies:
"@unimodules/core" "~3.0.2"
"@unimodules/react-native-adapter" "~3.0.0"
"@unimodules/core" "~4.0.0"
"@unimodules/react-native-adapter" "~5.0.0-alpha.0"
chalk "^2.4.2"
expo-app-loader-provider "~6.0.0"
expo-asset "~6.0.0"
expo-constants "~6.0.0"
expo-file-system "~6.0.1"
expo-permissions "~6.0.0"
unimodules-barcode-scanner-interface "~3.0.0"
unimodules-camera-interface "~3.0.0"
unimodules-constants-interface "~3.0.0"
unimodules-face-detector-interface "~3.0.0"
unimodules-file-system-interface "~3.0.0"
unimodules-font-interface "~3.0.0"
unimodules-image-loader-interface "~3.0.0"
unimodules-permissions-interface "~3.0.0"
unimodules-sensors-interface "~3.0.0"
unimodules-task-manager-interface "~3.0.0"
expo-app-loader-provider "~7.0.0"
expo-asset "~7.0.0"
expo-constants "~7.0.0"
expo-file-system "~7.0.0"
expo-permissions "~7.0.0"
unimodules-barcode-scanner-interface "~4.0.0"
unimodules-camera-interface "~4.0.0"
unimodules-constants-interface "~4.0.0"
unimodules-face-detector-interface "~4.0.0"
unimodules-file-system-interface "~4.0.0"
unimodules-font-interface "~4.0.0"
unimodules-image-loader-interface "~4.0.0"
unimodules-permissions-interface "~4.0.0"
unimodules-sensors-interface "~4.0.0"
unimodules-task-manager-interface "~4.0.0"
react-native-view-shot@2.6.0:
version "2.6.0"
@@ -9484,15 +9547,15 @@ react-native-web@^0.11.4:
prop-types "^15.6.0"
react-timer-mixin "^0.13.4"
react-native-webview@~5.12.0:
version "5.12.1"
resolved "https://registry.yarnpkg.com/react-native-webview/-/react-native-webview-5.12.1.tgz#5e2b124e9087d64fc40040d911c10ee5744b5d4d"
integrity sha512-pFYzyNUG+k7Jk2a0Z3S1+OL9qtp0VQxVP08d1ume/O6l1Xibi0K0hRZms7zPUHqQc2uWEfjZ0FOa17MIN7vruw==
react-native-webview@7.0.5:
version "7.0.5"
resolved "https://registry.yarnpkg.com/react-native-webview/-/react-native-webview-7.0.5.tgz#1dd9d4f2856bda86a40222eca3612bf2152bacd3"
integrity sha512-FWY3tjbyV3Uhuw1JxJ0zs2HspJ5HAsIfkJaquURsVWQnTdZPnkSQjHWQp0PzGIwJ1PPVOA/gnhRmd7SZU/Br5Q==
dependencies:
escape-string-regexp "1.0.5"
invariant "2.2.4"
react-native@0.59.10:
react-native@~0.59.10:
version "0.59.10"
resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.59.10.tgz#352f381e382f93a0403be499c9e384bf51c2591c"
integrity sha512-guB9YW+pBqS1dnfZ4ntzjINopiCUAbdmshU2wMWD1W32fRczLAopi/7Q2iHKP8LTCdxuYZV3fa9Mew5PSuANAw==
@@ -9592,15 +9655,15 @@ react-transform-hmr@^1.0.4:
global "^4.3.0"
react-proxy "^1.1.7"
react@16.8.3:
version "16.8.3"
resolved "https://registry.yarnpkg.com/react/-/react-16.8.3.tgz#c6f988a2ce895375de216edcfaedd6b9a76451d9"
integrity sha512-3UoSIsEq8yTJuSu0luO1QQWYbgGEILm+eJl2QN/VLDi7hL+EN18M3q3oVZwmVzzBJ3DkM7RMdRwBmZZ+b4IzSA==
react@~16.8.3:
version "16.8.6"
resolved "https://registry.yarnpkg.com/react/-/react-16.8.6.tgz#ad6c3a9614fd3a4e9ef51117f54d888da01f2bbe"
integrity sha512-pC0uMkhLaHm11ZSJULfOBqV4tIZkx87ZLvbbQYunNixAAvjnC+snJCg0XQXn9VIsttVsbZP/H/ewzgsd5fxKXw==
dependencies:
loose-envify "^1.1.0"
object-assign "^4.1.1"
prop-types "^15.6.2"
scheduler "^0.13.3"
scheduler "^0.13.6"
read-chunk@2.1.0:
version "2.1.0"
@@ -10091,7 +10154,7 @@ sax@~1.1.1:
resolved "https://registry.yarnpkg.com/sax/-/sax-1.1.6.tgz#5d616be8a5e607d54e114afae55b7eaf2fcc3240"
integrity sha1-XWFr6KXmB9VOEUr65Vt+ry/MMkA=
scheduler@^0.13.3:
scheduler@^0.13.6:
version "0.13.6"
resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.13.6.tgz#466a4ec332467b31a91b9bf74e5347072e4cd889"
integrity sha512-IWnObHt413ucAYKsD9J1QShUKkbKLQQHdxRyw73sw4FN26iWr3DY/H34xGPe4nmL1DwXyWmSWmMrA9TfQbE/XQ==
@@ -10099,14 +10162,6 @@ scheduler@^0.13.3:
loose-envify "^1.1.0"
object-assign "^4.1.1"
scheduler@^0.15.0:
version "0.15.0"
resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.15.0.tgz#6bfcf80ff850b280fed4aeecc6513bc0b4f17f8e"
integrity sha512-xAefmSfN6jqAa7Kuq7LIJY0bwAPG3xlCj0HMEBQk1lxYiDKZscY2xJ5U/61ZTrYbmNQbXa+gc7czPkVo11tnCg==
dependencies:
loose-envify "^1.1.0"
object-assign "^4.1.1"
schema-utils@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770"
@@ -11347,55 +11402,55 @@ unicode-property-aliases-ecmascript@^1.0.4:
resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz#a9cc6cc7ce63a0a3023fc99e341b94431d405a57"
integrity sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==
unimodules-barcode-scanner-interface@~3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/unimodules-barcode-scanner-interface/-/unimodules-barcode-scanner-interface-3.0.0.tgz#2ec52201ee1f0e10af3b03ed49862d6b6937cf10"
integrity sha512-EtJBfKU5VgZbyIfIZwyWfUo59pIgW6s7YGzlpj9jk4UWKyqqhYT/FoaZqudCJcPcfh2eYxkc9VxBGieRBpQrzg==
unimodules-barcode-scanner-interface@~4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/unimodules-barcode-scanner-interface/-/unimodules-barcode-scanner-interface-4.0.0.tgz#69c54ef0d25448dc380de9ca3b0cba3daa2a94c4"
integrity sha512-XAW+8s7w/dQ514I/SPfBKHPmbaCOEpYAkdn1aaBoWocVfdvOKf8SqwHSIaP2W/SFUwWNRF4Wqv2HBt1dvuhSSg==
unimodules-camera-interface@~3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/unimodules-camera-interface/-/unimodules-camera-interface-3.0.0.tgz#2869f0868a9e2c65bd2346f0a67d93bc96509676"
integrity sha512-STjf1FAdYlN27ilJSR4kIUYyHTPrkQSR/mEg4S4pZX6tazmcuG2KzLCXCoV+xMWsrwmsMBjgLzw6yzg87N5Ydw==
unimodules-camera-interface@~4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/unimodules-camera-interface/-/unimodules-camera-interface-4.0.0.tgz#234c28f4d326ef3e30f15572c07e528557485619"
integrity sha512-rEYD3mKarxzgiWWL8J0mPAxzV4i1WI9DsNMRxyV2T7qC/WWIucroZX72O1BkYjUbIKerGmJWeGYbWHheP4/rsA==
unimodules-constants-interface@~3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/unimodules-constants-interface/-/unimodules-constants-interface-3.0.0.tgz#991f823369da27362e8633a7dac680fb530e5569"
integrity sha512-S4ap11UJH7D+Y4fXC7DyMNAkqIWD8B7rNCTS30wAF9beHXMZa1Od66rkJgSHqFRURy06h+Jr7qfJm9H5mtMz8Q==
unimodules-constants-interface@~4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/unimodules-constants-interface/-/unimodules-constants-interface-4.0.0.tgz#c71be663a442b43eed773451a4f366a1c47821ac"
integrity sha512-FTM64GP+uawURWhuExrsCMebpcu0DdREUCuUmes5qd3/uTM2gqmhbm/ZwSKviH/ar4h630Fdb6P6v9o4MDInbA==
unimodules-face-detector-interface@~3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/unimodules-face-detector-interface/-/unimodules-face-detector-interface-3.0.0.tgz#5752a00156a6de470944161040b845a1f1ae84b0"
integrity sha512-fMQ3ZnhdOjbQ5ZXW62s/t1bbqBaenxzVIcgVEcwvLIFek0mx/EMHFkySgFkFjU11icUvaPEXW1yJtkK4QEpLhg==
unimodules-face-detector-interface@~4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/unimodules-face-detector-interface/-/unimodules-face-detector-interface-4.0.0.tgz#c68e44d5363d3dfea6f697d983254ac199555074"
integrity sha512-ZFzqcNnJkBxvfdKCupvtQUj1yVJkzKivPGV6nydKZc9eJRLUgSXCUWtvXd0vaet1NSQqr2R3r6Ilvj0DzuCzUA==
unimodules-file-system-interface@~3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/unimodules-file-system-interface/-/unimodules-file-system-interface-3.0.0.tgz#0ada7a89e3046d2fa4dd1853b867fe8ae3994561"
integrity sha512-LkLIKRE3CwsXLRFw8vx0++Cfjj+pAvvidVb7yhGWKFmNlVaWUW9Z8jkhFLBFXDsGFAOU69bUTrz25jmB2MRt0Q==
unimodules-file-system-interface@~4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/unimodules-file-system-interface/-/unimodules-file-system-interface-4.0.0.tgz#e8514882a81cd350b69c6026fd52b6d99ba289c9"
integrity sha512-dDcKjArDwY3CXLlCL8tf9/JJG25K2lgtAL+560kqrftLu3pi0x5V7JmSDz52pJ4pLd5xL8s1Rzse+rIr5OpM3g==
unimodules-font-interface@~3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/unimodules-font-interface/-/unimodules-font-interface-3.0.0.tgz#e38dfc0932e9a84c5b8091eeb6735170fa86d85e"
integrity sha512-DOQI0uTn7CGvA9lNUuiTWfQYuKQEM8LZKn6gNS8G+HVHVb+TZl/37qdhuoMBi5jkAZ4VOD/GpgnPv8qr0pJi1Q==
unimodules-font-interface@~4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/unimodules-font-interface/-/unimodules-font-interface-4.0.0.tgz#a72d7c75d81dface00c48f523730c15ddf10fbce"
integrity sha512-RFD1H405kZy8oYcg7f9Krr+UTUn6EZTcqAb+wRL6Ex9TJmzmxJT6JZ0FsUMezOUEwrdvXRpArH4P1AadHlzzGA==
unimodules-image-loader-interface@~3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/unimodules-image-loader-interface/-/unimodules-image-loader-interface-3.0.0.tgz#49e371fdf3fc4acf382f726cfac643d5c08b051f"
integrity sha512-hC/VWdT33GkOZ4FLaqPoKGNKxhw+miFhM+7Re57snWIWYewSv0lRvCqqwc/hbGLocvd2qF3YYrBx9woqPI8NzA==
unimodules-image-loader-interface@~4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/unimodules-image-loader-interface/-/unimodules-image-loader-interface-4.0.0.tgz#92452bfcba5e95b4fc3aba657a5863946d1ccf93"
integrity sha512-tv7g1YmZq9ZnG/x9l3qSlpEn93ZuMD+FuQpOZj3/oGDkBlc27vtBSEi8lTySWb9U7UK+bNlHGFqf1lGZcFU1Ug==
unimodules-permissions-interface@~3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/unimodules-permissions-interface/-/unimodules-permissions-interface-3.0.0.tgz#c8396a1b697b116801cfcb3b52466b87380a5b78"
integrity sha512-rfyGDBMtO8IOlk9hJN44EKz7vk6nt/PXByAumsptRdgsd+knokMlaWGYatrxKW2g/08WUbEkgKspvMxjJ0M1Tg==
unimodules-permissions-interface@~4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/unimodules-permissions-interface/-/unimodules-permissions-interface-4.0.0.tgz#c5e044921f5d5867552c991100a5824962fd6b72"
integrity sha512-bVZ6JQMO12WvAv6YqcHaPV5KekV7WH606eRiMJq5Qwm2z9yGSM+KaOxOH/n2LVcYckForphsCLf58OGVUtM65Q==
unimodules-sensors-interface@~3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/unimodules-sensors-interface/-/unimodules-sensors-interface-3.0.0.tgz#9591b7015fae5c2752652a4cdc294f7734489ea1"
integrity sha512-1JJT/lqCfxHqUSJc3o6b0WUply/lFOJjcuzN0QcAfmdAW8d+lEXA7BJ7DV/Nn/OKpMlHriEyxkM+FoGoXKJJcg==
unimodules-sensors-interface@~4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/unimodules-sensors-interface/-/unimodules-sensors-interface-4.0.0.tgz#7f8250b732f7aa0560e04537bea547f304f45c0b"
integrity sha512-O7l+N2DLwviTc6gz/ptV7a930Sdo30AvzQLEJPHfqj4e9fCdbrHNrcPqiq0CLqHYYIsdpSDpC6wCWmepLaAgJQ==
unimodules-task-manager-interface@~3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/unimodules-task-manager-interface/-/unimodules-task-manager-interface-3.0.0.tgz#26f31786eb54dfa5839ca71bf9a77b9c2b4cf4cb"
integrity sha512-og4UiUOxc7PqT8uQQqXY+pOBvdS204xmgyUG2AjM2L3kVsw/6WH4pIW084WG8/e9M5SLsSXdrjecIUBQ/zLf8w==
unimodules-task-manager-interface@~4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/unimodules-task-manager-interface/-/unimodules-task-manager-interface-4.0.0.tgz#2cf1949ef041ebbd6d9a32d799d1640e1d8f03d7"
integrity sha512-c7x5hgEtT+oIVd37TBn2jxlTw2+Bgb55XZ2Md0AV5NCjeRlKw2bIBPwUvSdI1iAziSQOIGOImNaaIUo3L3zW3w==
union-value@^1.0.0:
version "1.0.1"

View File

@@ -2,6 +2,25 @@
jest.mock('@react-native-community/masked-view', () => () => null);
jest.mock('react-native-safe-area-context', () => {
const React = require('react');
const SafeAreaContext = React.createContext({
top: 0,
left: 0,
right: 0,
bottom: 0,
});
return {
__esModule: true,
SafeAreaContext,
SafeAreaProvider: SafeAreaContext.Provider,
SafeAreaConsumer: SafeAreaContext.Consumer,
};
});
jest.mock('react-native-gesture-handler', () => ({
PanGestureHandler: 'PanGestureHandler',
BaseButton: 'BaseButton',

View File

@@ -62,14 +62,15 @@
"husky": "^3.0.0",
"jest": "^24.8.0",
"prettier": "^1.18.2",
"react": "16.8.3",
"react-dom": "16.8.3",
"react-native": "~0.59.8",
"react": "~16.8.3",
"react-dom": "~16.8.3",
"react-native": "~0.59.10",
"react-native-gesture-handler": "^1.3.0",
"react-native-reanimated": "^1.1.0",
"react-native-safe-area-context": "^0.3.3",
"react-native-screens": "^1.0.0-alpha.23",
"react-navigation": "^4.0.7",
"react-test-renderer": "16.8.3",
"react-test-renderer": "~16.8.3",
"release-it": "^12.3.2",
"scheduler": "^0.14.0",
"typescript": "^3.5.2"

View File

@@ -1,6 +1,5 @@
import { I18nManager } from 'react-native';
import Animated from 'react-native-reanimated';
import getStatusBarHeight from '../utils/getStatusBarHeight';
import { CardInterpolationProps, CardInterpolatedStyle } from '../types';
const { cond, add, multiply, interpolate } = Animated;
@@ -81,9 +80,10 @@ export function forModalPresentationIOS({
current,
next,
layouts: { screen },
insets,
}: CardInterpolationProps): CardInterpolatedStyle {
const topOffset = 10;
const statusBarHeight = getStatusBarHeight(screen.width > screen.height);
const statusBarHeight = insets.top;
const aspectRatio = screen.height / screen.width;
const progress = add(current.progress, next ? next.progress : 0);

View File

@@ -1,625 +1,14 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`Nested navigators renders succesfully as direct child 1`] = `
Array [
<View
onLayout={[Function]}
style={
Object {
"flex": 1,
"overflow": "hidden",
}
<RNCSafeAreaView
onInsetsChange={[Function]}
style={
Object {
"flex": 1,
}
>
<View
pointerEvents="box-none"
style={
Object {
"bottom": 0,
"left": 0,
"position": "absolute",
"right": 0,
"top": 0,
}
}
>
<View
accessibilityElementsHidden={false}
closing={false}
gestureVelocityImpact={0.3}
importantForAccessibility="auto"
onClose={[Function]}
onGestureBegin={[Function]}
onGestureCanceled={[Function]}
onOpen={[Function]}
onTransitionStart={[Function]}
pointerEvents="box-none"
style={
Object {
"bottom": 0,
"left": 0,
"position": "absolute",
"right": 0,
"top": 0,
}
}
transitionSpec={
Object {
"close": Object {
"animation": "spring",
"config": Object {
"damping": 500,
"mass": 3,
"overshootClamping": true,
"restDisplacementThreshold": 0.01,
"restSpeedThreshold": 0.01,
"stiffness": 1000,
},
},
"open": Object {
"animation": "spring",
"config": Object {
"damping": 500,
"mass": 3,
"overshootClamping": true,
"restDisplacementThreshold": 0.01,
"restSpeedThreshold": 0.01,
"stiffness": 1000,
},
},
}
}
>
<View
pointerEvents="box-none"
style={
Array [
Object {
"flex": 1,
},
undefined,
Object {
"marginTop": 64,
},
]
}
>
<PanGestureHandler
enabled={false}
hitSlop={
Object {
"right": -700,
}
}
maxDeltaY={20}
minOffsetX={5}
>
<View
style={
Array [
Object {
"flex": 1,
},
Object {
"transform": Array [
Object {
"translateX": undefined,
},
Object {
"translateX": 0,
},
],
},
]
}
>
<View
pointerEvents="none"
style={
Array [
Object {
"backgroundColor": "#fff",
"position": "absolute",
"shadowColor": "#000",
"shadowOpacity": 0.3,
"shadowRadius": 5,
},
Object {
"bottom": 0,
"left": 0,
"shadowOffset": Object {
"height": 1,
"width": -1,
},
"top": 0,
"width": 3,
},
Object {
"shadowOpacity": undefined,
},
]
}
/>
<View
style={
Array [
Object {
"flex": 1,
"overflow": "hidden",
},
null,
Object {
"backgroundColor": "#eee",
},
undefined,
]
}
>
<View
style={
Object {
"flex": 1,
"flexDirection": "column-reverse",
}
}
>
<View
style={
Object {
"flex": 1,
}
}
>
<View
onLayout={[Function]}
style={
Object {
"flex": 1,
"overflow": "hidden",
}
}
>
<View
pointerEvents="box-none"
style={
Object {
"bottom": 0,
"left": 0,
"position": "absolute",
"right": 0,
"top": 0,
}
}
>
<View
accessibilityElementsHidden={false}
closing={false}
gestureVelocityImpact={0.3}
importantForAccessibility="auto"
onClose={[Function]}
onGestureBegin={[Function]}
onGestureCanceled={[Function]}
onOpen={[Function]}
onTransitionStart={[Function]}
pointerEvents="box-none"
style={
Object {
"bottom": 0,
"left": 0,
"position": "absolute",
"right": 0,
"top": 0,
}
}
transitionSpec={
Object {
"close": Object {
"animation": "spring",
"config": Object {
"damping": 500,
"mass": 3,
"overshootClamping": true,
"restDisplacementThreshold": 0.01,
"restSpeedThreshold": 0.01,
"stiffness": 1000,
},
},
"open": Object {
"animation": "spring",
"config": Object {
"damping": 500,
"mass": 3,
"overshootClamping": true,
"restDisplacementThreshold": 0.01,
"restSpeedThreshold": 0.01,
"stiffness": 1000,
},
},
}
}
>
<View
pointerEvents="box-none"
style={
Array [
Object {
"flex": 1,
},
undefined,
Object {
"marginTop": 64,
},
]
}
>
<PanGestureHandler
enabled={false}
hitSlop={
Object {
"right": -700,
}
}
maxDeltaY={20}
minOffsetX={5}
>
<View
style={
Array [
Object {
"flex": 1,
},
Object {
"transform": Array [
Object {
"translateX": undefined,
},
Object {
"translateX": 0,
},
],
},
]
}
>
<View
pointerEvents="none"
style={
Array [
Object {
"backgroundColor": "#fff",
"position": "absolute",
"shadowColor": "#000",
"shadowOpacity": 0.3,
"shadowRadius": 5,
},
Object {
"bottom": 0,
"left": 0,
"shadowOffset": Object {
"height": 1,
"width": -1,
},
"top": 0,
"width": 3,
},
Object {
"shadowOpacity": undefined,
},
]
}
/>
<View
style={
Array [
Object {
"flex": 1,
"overflow": "hidden",
},
null,
Object {
"backgroundColor": "#eee",
},
undefined,
]
}
>
<View
style={
Object {
"flex": 1,
"flexDirection": "column-reverse",
}
}
>
<View
style={
Object {
"flex": 1,
}
}
/>
</View>
</View>
</View>
</PanGestureHandler>
</View>
</View>
</View>
</View>
<View
pointerEvents="box-none"
style={
Object {
"left": 0,
"position": "absolute",
"right": 0,
"top": 0,
}
}
>
<View
accessibilityElementsHidden={false}
importantForAccessibility="auto"
onLayout={[Function]}
pointerEvents="box-none"
style={
Object {
"left": 0,
"position": "absolute",
"right": 0,
"top": 0,
}
}
>
<View
pointerEvents="none"
style={
Array [
Object {
"bottom": 0,
"left": 0,
"position": "absolute",
"right": 0,
"top": 0,
},
Object {
"opacity": undefined,
},
]
}
>
<View
style={
Array [
Object {
"backgroundColor": "white",
"flex": 1,
"shadowColor": "rgba(0, 0, 0, 0.3)",
"shadowOffset": Object {
"height": 0.5,
"width": 0,
},
"shadowOpacity": 0.85,
"shadowRadius": 0,
},
Object {},
]
}
/>
</View>
<View
pointerEvents="box-none"
style={
Array [
Object {
"height": 64,
"maxHeight": undefined,
"minHeight": undefined,
"opacity": undefined,
},
]
}
>
<View
pointerEvents="none"
style={
Object {
"height": 20,
}
}
/>
<View
pointerEvents="box-none"
style={
Object {
"alignItems": "center",
"flex": 1,
"flexDirection": "row",
"justifyContent": "center",
"paddingHorizontal": 4,
}
}
>
<View
pointerEvents="box-none"
style={
Array [
null,
Object {},
Object {
"opacity": undefined,
},
undefined,
]
}
>
<Text
onLayout={[Function]}
style={
Array [
Object {
"color": "rgba(0, 0, 0, .9)",
"fontSize": 17,
"fontWeight": "600",
},
Array [
Object {
"color": undefined,
},
undefined,
],
]
}
>
Home
</Text>
</View>
</View>
</View>
</View>
</View>
</View>
</View>
</View>
</View>
</PanGestureHandler>
</View>
</View>
</View>
</View>,
<View
pointerEvents="box-none"
style={
Object {
"left": 0,
"position": "absolute",
"right": 0,
"top": 0,
}
}
>
<View
accessibilityElementsHidden={false}
importantForAccessibility="auto"
onLayout={[Function]}
pointerEvents="box-none"
style={
Object {
"left": 0,
"position": "absolute",
"right": 0,
"top": 0,
}
}
>
<View
pointerEvents="none"
style={
Array [
Object {
"bottom": 0,
"left": 0,
"position": "absolute",
"right": 0,
"top": 0,
},
Object {
"opacity": undefined,
},
]
}
>
<View
style={
Array [
Object {
"backgroundColor": "white",
"flex": 1,
"shadowColor": "rgba(0, 0, 0, 0.3)",
"shadowOffset": Object {
"height": 0.5,
"width": 0,
},
"shadowOpacity": 0.85,
"shadowRadius": 0,
},
Object {},
]
}
/>
</View>
<View
pointerEvents="box-none"
style={
Array [
Object {
"height": 64,
"maxHeight": undefined,
"minHeight": undefined,
"opacity": undefined,
},
]
}
>
<View
pointerEvents="none"
style={
Object {
"height": 20,
}
}
/>
<View
pointerEvents="box-none"
style={
Object {
"alignItems": "center",
"flex": 1,
"flexDirection": "row",
"justifyContent": "center",
"paddingHorizontal": 4,
}
}
>
<View
pointerEvents="box-none"
style={
Array [
null,
Object {},
Object {
"opacity": undefined,
},
undefined,
]
}
>
<Text
onLayout={[Function]}
style={
Array [
Object {
"color": "rgba(0, 0, 0, .9)",
"fontSize": 17,
"fontWeight": "600",
},
Array [
Object {
"color": undefined,
},
undefined,
],
]
}
>
Sub
</Text>
</View>
</View>
</View>
</View>
</View>,
]
}
/>
`;
exports[`Nested navigators throw when trying to pass navigation prop 1`] = `"No \\"routes\\" found in navigation state. Did you try to pass the navigation prop of a React component to a Navigator child? See https://reactnavigation.org/docs/en/custom-navigators.html#navigator-navigation-prop"`;

View File

@@ -1,654 +1,23 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`StackNavigator applies correct values when headerRight is present 1`] = `
Array [
<View
onLayout={[Function]}
style={
Object {
"flex": 1,
"overflow": "hidden",
}
<RNCSafeAreaView
onInsetsChange={[Function]}
style={
Object {
"flex": 1,
}
>
<View
pointerEvents="box-none"
style={
Object {
"bottom": 0,
"left": 0,
"position": "absolute",
"right": 0,
"top": 0,
}
}
>
<View
accessibilityElementsHidden={false}
closing={false}
gestureVelocityImpact={0.3}
importantForAccessibility="auto"
onClose={[Function]}
onGestureBegin={[Function]}
onGestureCanceled={[Function]}
onOpen={[Function]}
onTransitionStart={[Function]}
pointerEvents="box-none"
style={
Object {
"bottom": 0,
"left": 0,
"position": "absolute",
"right": 0,
"top": 0,
}
}
transitionSpec={
Object {
"close": Object {
"animation": "spring",
"config": Object {
"damping": 500,
"mass": 3,
"overshootClamping": true,
"restDisplacementThreshold": 0.01,
"restSpeedThreshold": 0.01,
"stiffness": 1000,
},
},
"open": Object {
"animation": "spring",
"config": Object {
"damping": 500,
"mass": 3,
"overshootClamping": true,
"restDisplacementThreshold": 0.01,
"restSpeedThreshold": 0.01,
"stiffness": 1000,
},
},
}
}
>
<View
pointerEvents="box-none"
style={
Array [
Object {
"flex": 1,
},
undefined,
Object {
"marginTop": 64,
},
]
}
>
<PanGestureHandler
enabled={false}
hitSlop={
Object {
"right": -700,
}
}
maxDeltaY={20}
minOffsetX={5}
>
<View
style={
Array [
Object {
"flex": 1,
},
Object {
"transform": Array [
Object {
"translateX": undefined,
},
Object {
"translateX": 0,
},
],
},
]
}
>
<View
pointerEvents="none"
style={
Array [
Object {
"backgroundColor": "#fff",
"position": "absolute",
"shadowColor": "#000",
"shadowOpacity": 0.3,
"shadowRadius": 5,
},
Object {
"bottom": 0,
"left": 0,
"shadowOffset": Object {
"height": 1,
"width": -1,
},
"top": 0,
"width": 3,
},
Object {
"shadowOpacity": undefined,
},
]
}
/>
<View
style={
Array [
Object {
"flex": 1,
"overflow": "hidden",
},
null,
Object {
"backgroundColor": "#eee",
},
undefined,
]
}
>
<View
style={
Object {
"flex": 1,
"flexDirection": "column-reverse",
}
}
>
<View
style={
Object {
"flex": 1,
}
}
/>
</View>
</View>
</View>
</PanGestureHandler>
</View>
</View>
</View>
</View>,
<View
pointerEvents="box-none"
style={
Object {
"left": 0,
"position": "absolute",
"right": 0,
"top": 0,
}
}
>
<View
accessibilityElementsHidden={false}
importantForAccessibility="auto"
onLayout={[Function]}
pointerEvents="box-none"
style={
Object {
"left": 0,
"position": "absolute",
"right": 0,
"top": 0,
}
}
>
<View
pointerEvents="none"
style={
Array [
Object {
"bottom": 0,
"left": 0,
"position": "absolute",
"right": 0,
"top": 0,
},
Object {
"opacity": undefined,
},
]
}
>
<View
style={
Array [
Object {
"backgroundColor": "white",
"flex": 1,
"shadowColor": "rgba(0, 0, 0, 0.3)",
"shadowOffset": Object {
"height": 0.5,
"width": 0,
},
"shadowOpacity": 0.85,
"shadowRadius": 0,
},
Object {
"backgroundColor": "red",
"opacity": 0.5,
},
]
}
/>
</View>
<View
pointerEvents="box-none"
style={
Array [
Object {
"height": 64,
"maxHeight": undefined,
"minHeight": undefined,
"opacity": 0.5,
},
]
}
>
<View
pointerEvents="none"
style={
Object {
"height": 20,
}
}
/>
<View
pointerEvents="box-none"
style={
Object {
"alignItems": "center",
"flex": 1,
"flexDirection": "row",
"justifyContent": "center",
"paddingHorizontal": 4,
}
}
>
<View
pointerEvents="box-none"
style={
Array [
null,
Object {},
Object {
"opacity": undefined,
},
undefined,
]
}
>
<Text
onLayout={[Function]}
style={
Array [
Object {
"color": "rgba(0, 0, 0, .9)",
"fontSize": 17,
"fontWeight": "600",
},
Array [
Object {
"color": undefined,
},
undefined,
],
]
}
>
Welcome anonymous
</Text>
</View>
<View
pointerEvents="box-none"
style={
Array [
Object {
"alignItems": "flex-end",
"bottom": 0,
"justifyContent": "center",
"position": "absolute",
"right": 0,
"top": 0,
},
Object {
"opacity": undefined,
},
undefined,
]
}
>
<View />
</View>
</View>
</View>
</View>
</View>,
]
}
/>
`;
exports[`StackNavigator renders successfully 1`] = `
Array [
<View
onLayout={[Function]}
style={
Object {
"flex": 1,
"overflow": "hidden",
}
<RNCSafeAreaView
onInsetsChange={[Function]}
style={
Object {
"flex": 1,
}
>
<View
pointerEvents="box-none"
style={
Object {
"bottom": 0,
"left": 0,
"position": "absolute",
"right": 0,
"top": 0,
}
}
>
<View
accessibilityElementsHidden={false}
closing={false}
gestureVelocityImpact={0.3}
importantForAccessibility="auto"
onClose={[Function]}
onGestureBegin={[Function]}
onGestureCanceled={[Function]}
onOpen={[Function]}
onTransitionStart={[Function]}
pointerEvents="box-none"
style={
Object {
"bottom": 0,
"left": 0,
"position": "absolute",
"right": 0,
"top": 0,
}
}
transitionSpec={
Object {
"close": Object {
"animation": "spring",
"config": Object {
"damping": 500,
"mass": 3,
"overshootClamping": true,
"restDisplacementThreshold": 0.01,
"restSpeedThreshold": 0.01,
"stiffness": 1000,
},
},
"open": Object {
"animation": "spring",
"config": Object {
"damping": 500,
"mass": 3,
"overshootClamping": true,
"restDisplacementThreshold": 0.01,
"restSpeedThreshold": 0.01,
"stiffness": 1000,
},
},
}
}
>
<View
pointerEvents="box-none"
style={
Array [
Object {
"flex": 1,
},
undefined,
Object {
"marginTop": 64,
},
]
}
>
<PanGestureHandler
enabled={false}
hitSlop={
Object {
"right": -700,
}
}
maxDeltaY={20}
minOffsetX={5}
>
<View
style={
Array [
Object {
"flex": 1,
},
Object {
"transform": Array [
Object {
"translateX": undefined,
},
Object {
"translateX": 0,
},
],
},
]
}
>
<View
pointerEvents="none"
style={
Array [
Object {
"backgroundColor": "#fff",
"position": "absolute",
"shadowColor": "#000",
"shadowOpacity": 0.3,
"shadowRadius": 5,
},
Object {
"bottom": 0,
"left": 0,
"shadowOffset": Object {
"height": 1,
"width": -1,
},
"top": 0,
"width": 3,
},
Object {
"shadowOpacity": undefined,
},
]
}
/>
<View
style={
Array [
Object {
"flex": 1,
"overflow": "hidden",
},
null,
Object {
"backgroundColor": "#eee",
},
undefined,
]
}
>
<View
style={
Object {
"flex": 1,
"flexDirection": "column-reverse",
}
}
>
<View
style={
Object {
"flex": 1,
}
}
/>
</View>
</View>
</View>
</PanGestureHandler>
</View>
</View>
</View>
</View>,
<View
pointerEvents="box-none"
style={
Object {
"left": 0,
"position": "absolute",
"right": 0,
"top": 0,
}
}
>
<View
accessibilityElementsHidden={false}
importantForAccessibility="auto"
onLayout={[Function]}
pointerEvents="box-none"
style={
Object {
"left": 0,
"position": "absolute",
"right": 0,
"top": 0,
}
}
>
<View
pointerEvents="none"
style={
Array [
Object {
"bottom": 0,
"left": 0,
"position": "absolute",
"right": 0,
"top": 0,
},
Object {
"opacity": undefined,
},
]
}
>
<View
style={
Array [
Object {
"backgroundColor": "white",
"flex": 1,
"shadowColor": "rgba(0, 0, 0, 0.3)",
"shadowOffset": Object {
"height": 0.5,
"width": 0,
},
"shadowOpacity": 0.85,
"shadowRadius": 0,
},
Object {
"backgroundColor": "red",
"opacity": 0.5,
},
]
}
/>
</View>
<View
pointerEvents="box-none"
style={
Array [
Object {
"height": 64,
"maxHeight": undefined,
"minHeight": undefined,
"opacity": 0.5,
},
]
}
>
<View
pointerEvents="none"
style={
Object {
"height": 20,
}
}
/>
<View
pointerEvents="box-none"
style={
Object {
"alignItems": "center",
"flex": 1,
"flexDirection": "row",
"justifyContent": "center",
"paddingHorizontal": 4,
}
}
>
<View
pointerEvents="box-none"
style={
Array [
null,
Object {},
Object {
"opacity": undefined,
},
undefined,
]
}
>
<Text
onLayout={[Function]}
style={
Array [
Object {
"color": "rgba(0, 0, 0, .9)",
"fontSize": 17,
"fontWeight": "600",
},
Array [
Object {
"color": undefined,
},
undefined,
],
]
}
>
Welcome anonymous
</Text>
</View>
</View>
</View>
</View>
</View>,
]
}
/>
`;

View File

@@ -5,6 +5,7 @@ import {
LayoutChangeEvent,
} from 'react-native';
import Animated from 'react-native-reanimated';
import { EdgeInsets } from 'react-native-safe-area-context';
import {
NavigationRoute,
NavigationState,
@@ -93,7 +94,6 @@ export type HeaderOptions = {
headerPressColorAndroid?: string;
headerBackground?: React.ReactNode | (() => React.ReactNode);
headerStyle?: StyleProp<ViewStyle>;
headerStatusBarHeight?: number;
headerTransparent?: boolean;
};
@@ -221,6 +221,7 @@ export type CardInterpolationProps = {
layouts: {
screen: Layout;
};
insets: EdgeInsets;
};
export type CardInterpolatedStyle = {

View File

@@ -1,9 +0,0 @@
import { Platform } from 'react-native';
import { getStatusBarHeight as getStatusBarHeightNative } from 'react-native-safe-area-view';
const getStatusBarHeight = Platform.select({
default: getStatusBarHeightNative,
web: () => 0,
});
export default getStatusBarHeight;

View File

@@ -7,9 +7,9 @@ import {
ViewStyle,
} from 'react-native';
import Animated from 'react-native-reanimated';
import { SafeAreaContext, EdgeInsets } from 'react-native-safe-area-context';
import HeaderBackButton from './HeaderBackButton';
import HeaderBackground from './HeaderBackground';
import getStatusBarHeight from '../../utils/getStatusBarHeight';
import memoize from '../../utils/memoize';
import {
Layout,
@@ -54,28 +54,32 @@ const warnIfHeaderStylesDefined = (styles: { [key: string]: any }) => {
});
};
/*
* This does not include the status bar or notch height anymore! This is up to
* the user to take care of manually.
*/
export const getDefaultHeaderHeight = (layout: Layout) => {
const isLandscape = layout.width > layout.height;
let headerHeight;
if (Platform.OS === 'ios') {
// @ts-ignore
if (isLandscape && !Platform.isPad) {
headerHeight = 32;
return 32;
} else {
headerHeight = 44;
return 44;
}
} else if (Platform.OS === 'android') {
headerHeight = 56;
return 56;
} else {
headerHeight = 64;
return 64;
}
return headerHeight + getStatusBarHeight(isLandscape);
};
export default class HeaderSegment extends React.Component<Props, State> {
static contextType = SafeAreaContext;
context!: EdgeInsets | null;
state: State = {};
private handleTitleLayout = (e: LayoutChangeEvent) => {
@@ -139,8 +143,6 @@ export default class HeaderSegment extends React.Component<Props, State> {
headerLeft: left = onGoBack
? (props: HeaderBackButtonProps) => <HeaderBackButton {...props} />
: undefined,
// @ts-ignore
headerStatusBarHeight = getStatusBarHeight(layout.width > layout.height),
headerTransparent,
headerTintColor,
headerLeftTintColor,
@@ -163,7 +165,7 @@ export default class HeaderSegment extends React.Component<Props, State> {
styleInterpolator,
} = this.props;
const { leftLabelLayout, titleLayout } = this.state;
const { titleLayout, leftLabelLayout } = this.state;
const {
titleStyle,
@@ -180,8 +182,10 @@ export default class HeaderSegment extends React.Component<Props, State> {
previousTitle ? leftLabelLayout : undefined
);
const statusBarHeight = this.context ? this.context.top : 0;
const {
height = getDefaultHeaderHeight(layout),
height = getDefaultHeaderHeight(layout) + statusBarHeight,
minHeight,
maxHeight,
backgroundColor,
@@ -312,10 +316,7 @@ export default class HeaderSegment extends React.Component<Props, State> {
pointerEvents="box-none"
style={[{ height, minHeight, maxHeight, opacity }]}
>
<View
pointerEvents="none"
style={{ height: headerStatusBarHeight }}
/>
<View pointerEvents="none" style={{ height: statusBarHeight }} />
<View pointerEvents="box-none" style={styles.content}>
{leftButton ? (
<Animated.View

View File

@@ -14,6 +14,7 @@ import {
PanGestureHandler,
State as GestureState,
} from 'react-native-gesture-handler';
import { SafeAreaContext, EdgeInsets } from 'react-native-safe-area-context';
import {
TransitionSpec,
CardStyleInterpolator,
@@ -228,6 +229,13 @@ function transformTimingConfigToAnimatedValues(
};
}
const DEFAULT_INSETS: EdgeInsets = {
top: 0,
left: 0,
right: 0,
bottom: 0,
};
export default class Card extends React.Component<Props> {
static defaultProps = {
overlayEnabled: Platform.OS !== 'ios',
@@ -236,6 +244,10 @@ export default class Card extends React.Component<Props> {
gestureVelocityImpact: GESTURE_VELOCITY_IMPACT,
};
static contextType = SafeAreaContext;
context!: EdgeInsets | null;
componentDidUpdate(prevProps: Props) {
const {
layout,
@@ -394,7 +406,8 @@ export default class Card extends React.Component<Props> {
this.props.index,
this.props.current,
this.props.next,
this.props.layout
this.props.layout,
this.context || DEFAULT_INSETS
);
};
@@ -702,7 +715,8 @@ export default class Card extends React.Component<Props> {
index: number,
current: Animated.Node<number>,
next: Animated.Node<number> | undefined,
layout: Layout
layout: Layout,
insets: EdgeInsets
) =>
styleInterpolator({
index,
@@ -712,6 +726,7 @@ export default class Card extends React.Component<Props> {
layouts: {
screen: layout,
},
insets,
})
);
@@ -724,7 +739,8 @@ export default class Card extends React.Component<Props> {
this.props.index,
this.props.current,
this.props.next,
this.props.layout
this.props.layout,
this.context || DEFAULT_INSETS
);
private gestureActivationCriteria() {
@@ -797,7 +813,8 @@ export default class Card extends React.Component<Props> {
index,
current,
next,
layout
layout,
this.context || DEFAULT_INSETS
);
}

View File

@@ -1,5 +1,6 @@
import * as React from 'react';
import { Platform } from 'react-native';
import { SafeAreaProvider } from 'react-native-safe-area-context';
import { SceneView, StackActions, NavigationRoute } from 'react-navigation';
import Stack from './Stack';
import HeaderContainer, {
@@ -337,26 +338,28 @@ class StackView extends React.Component<Props, State> {
mode !== 'modal' && Platform.OS === 'ios' ? 'float' : 'screen';
return (
<Stack
mode={mode}
getPreviousRoute={this.getPreviousRoute}
getGesturesEnabled={this.getGesturesEnabled}
routes={routes}
openingRoutesKeys={openingRouteKeys}
closingRoutesKeys={closingRouteKeys}
onGoBack={this.handleGoBack}
onOpenRoute={this.handleOpenRoute}
onCloseRoute={this.handleCloseRoute}
onPageChangeStart={onPageChangeStart}
onPageChangeConfirm={onPageChangeConfirm}
onPageChangeCancel={onPageChangeCancel}
renderHeader={this.renderHeader}
renderScene={this.renderScene}
headerMode={headerMode}
navigation={navigation}
descriptors={descriptors}
{...config}
/>
<SafeAreaProvider>
<Stack
mode={mode}
getPreviousRoute={this.getPreviousRoute}
getGesturesEnabled={this.getGesturesEnabled}
routes={routes}
openingRoutesKeys={openingRouteKeys}
closingRoutesKeys={closingRouteKeys}
onGoBack={this.handleGoBack}
onOpenRoute={this.handleOpenRoute}
onCloseRoute={this.handleCloseRoute}
onPageChangeStart={onPageChangeStart}
onPageChangeConfirm={onPageChangeConfirm}
onPageChangeCancel={onPageChangeCancel}
renderHeader={this.renderHeader}
renderScene={this.renderScene}
headerMode={headerMode}
navigation={navigation}
descriptors={descriptors}
{...config}
/>
</SafeAreaProvider>
);
}
}

View File

@@ -7277,17 +7277,17 @@ react-devtools-core@^3.6.0:
shell-quote "^1.6.1"
ws "^3.3.1"
react-dom@16.8.3:
version "16.8.3"
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.8.3.tgz#ae236029e66210783ac81999d3015dfc475b9c32"
integrity sha512-ttMem9yJL4/lpItZAQ2NTFAbV7frotHk5DZEHXUOws2rMmrsvh1Na7ThGT0dTzUIl6pqTOi5tYREfL8AEna3lA==
react-dom@~16.8.3:
version "16.8.6"
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.8.6.tgz#71d6303f631e8b0097f56165ef608f051ff6e10f"
integrity sha512-1nL7PIq9LTL3fthPqwkvr2zY7phIPjYrT0jp4HjyEQrEROnw4dG41VVwi/wfoCneoleqrNX7iAD+pXebJZwrwA==
dependencies:
loose-envify "^1.1.0"
object-assign "^4.1.1"
prop-types "^15.6.2"
scheduler "^0.13.3"
scheduler "^0.13.6"
react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.3, react-is@^16.8.4, react-is@^16.8.6:
react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.4, react-is@^16.8.6:
version "16.8.6"
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.8.6.tgz#5bbc1e2d29141c9fbdfed456343fe2bc430a6a16"
integrity sha512-aUk3bHfZ2bRSVFFbbeVS4i+lNPZr3/WM5jT2J5omUVV1zzcs1nAaf3l51ctA5FFvCRbhrH0bdAsRRQddFJZPtA==
@@ -7306,6 +7306,11 @@ react-native-reanimated@^1.1.0:
resolved "https://registry.yarnpkg.com/react-native-reanimated/-/react-native-reanimated-1.1.0.tgz#ba6864055ec3a206cdd5209a293fe653ce276206"
integrity sha512-UGDVNfvuIkMqYUx6aytSzihuzv6sWubn0MQi8dRcw7BjgezhjJnVnJ/NSOcpL3cO+Ld7lFcRX6GKcskwkHdPkw==
react-native-safe-area-context@^0.3.3:
version "0.3.3"
resolved "https://registry.yarnpkg.com/react-native-safe-area-context/-/react-native-safe-area-context-0.3.3.tgz#42a4e50be2eb3e18f7382c2d9756c6665ca3c081"
integrity sha512-tOcSBbNle3zIuonagm8pzMf0+5VCL0iSGJJbgajIjssO4skE38mN7uXFWPFHy0D/kNDwywZ2WG53INgxdoQL6g==
react-native-safe-area-view@^0.14.1, react-native-safe-area-view@^0.14.6:
version "0.14.6"
resolved "https://registry.yarnpkg.com/react-native-safe-area-view/-/react-native-safe-area-view-0.14.6.tgz#9a9d37d9f8f3887d60c4076eae7b5d2319539446"
@@ -7325,10 +7330,10 @@ react-native-screens@^1.0.0-alpha.23:
dependencies:
debounce "^1.2.0"
react-native@~0.59.8:
version "0.59.9"
resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.59.9.tgz#c94ee4fa35121720c05235a2dd6cdd2784bf5177"
integrity sha512-/+8EgIZwFpYHyyJ7Zav7B6LHNrytwUQ+EKGT/QV7HSrgpf2Y5NZNeUYUHKiVKLYpBip1G32/LcAECQj37YRwGQ==
react-native@~0.59.10:
version "0.59.10"
resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.59.10.tgz#352f381e382f93a0403be499c9e384bf51c2591c"
integrity sha512-guB9YW+pBqS1dnfZ4ntzjINopiCUAbdmshU2wMWD1W32fRczLAopi/7Q2iHKP8LTCdxuYZV3fa9Mew5PSuANAw==
dependencies:
"@babel/runtime" "^7.0.0"
"@react-native-community/cli" "^1.2.1"
@@ -7397,15 +7402,15 @@ react-proxy@^1.1.7:
lodash "^4.6.1"
react-deep-force-update "^1.0.0"
react-test-renderer@16.8.3:
version "16.8.3"
resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.8.3.tgz#230006af264cc46aeef94392e04747c21839e05e"
integrity sha512-rjJGYebduKNZH0k1bUivVrRLX04JfIQ0FKJLPK10TAb06XWhfi4gTobooF9K/DEFNW98iGac3OSxkfIJUN9Mdg==
react-test-renderer@~16.8.3:
version "16.8.6"
resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.8.6.tgz#188d8029b8c39c786f998aa3efd3ffe7642d5ba1"
integrity sha512-H2srzU5IWYT6cZXof6AhUcx/wEyJddQ8l7cLM/F7gDXYyPr4oq+vCIxJYXVGhId1J706sqziAjuOEjyNkfgoEw==
dependencies:
object-assign "^4.1.1"
prop-types "^15.6.2"
react-is "^16.8.3"
scheduler "^0.13.3"
react-is "^16.8.6"
scheduler "^0.13.6"
react-transform-hmr@^1.0.4:
version "1.0.4"
@@ -7415,15 +7420,15 @@ react-transform-hmr@^1.0.4:
global "^4.3.0"
react-proxy "^1.1.7"
react@16.8.3:
version "16.8.3"
resolved "https://registry.yarnpkg.com/react/-/react-16.8.3.tgz#c6f988a2ce895375de216edcfaedd6b9a76451d9"
integrity sha512-3UoSIsEq8yTJuSu0luO1QQWYbgGEILm+eJl2QN/VLDi7hL+EN18M3q3oVZwmVzzBJ3DkM7RMdRwBmZZ+b4IzSA==
react@~16.8.3:
version "16.8.6"
resolved "https://registry.yarnpkg.com/react/-/react-16.8.6.tgz#ad6c3a9614fd3a4e9ef51117f54d888da01f2bbe"
integrity sha512-pC0uMkhLaHm11ZSJULfOBqV4tIZkx87ZLvbbQYunNixAAvjnC+snJCg0XQXn9VIsttVsbZP/H/ewzgsd5fxKXw==
dependencies:
loose-envify "^1.1.0"
object-assign "^4.1.1"
prop-types "^15.6.2"
scheduler "^0.13.3"
scheduler "^0.13.6"
read-pkg-up@^1.0.1:
version "1.0.1"
@@ -7959,7 +7964,7 @@ sax@~1.1.1:
resolved "https://registry.yarnpkg.com/sax/-/sax-1.1.6.tgz#5d616be8a5e607d54e114afae55b7eaf2fcc3240"
integrity sha1-XWFr6KXmB9VOEUr65Vt+ry/MMkA=
scheduler@^0.13.3:
scheduler@^0.13.6:
version "0.13.6"
resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.13.6.tgz#466a4ec332467b31a91b9bf74e5347072e4cd889"
integrity sha512-IWnObHt413ucAYKsD9J1QShUKkbKLQQHdxRyw73sw4FN26iWr3DY/H34xGPe4nmL1DwXyWmSWmMrA9TfQbE/XQ==