From 1fab0fe098c438118ef1bf8dc8542c6263d50b79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Osadnik?= Date: Mon, 10 Feb 2020 23:58:43 +0100 Subject: [PATCH] [templates] Migrate React Navigation to 5.0 (#6974) --- templates/expo-template-tabs/App.js | 25 +- .../navigation/AppNavigator.js | 12 - .../navigation/AppNavigator.web.js | 13 -- .../navigation/MainTabNavigator.js | 121 ++++------ .../navigation/useLinking.js | 18 ++ templates/expo-template-tabs/package.json | 9 +- templates/expo-template-tabs/yarn.lock | 213 ++++++++++-------- 7 files changed, 216 insertions(+), 195 deletions(-) delete mode 100644 templates/expo-template-tabs/navigation/AppNavigator.js delete mode 100644 templates/expo-template-tabs/navigation/AppNavigator.web.js create mode 100644 templates/expo-template-tabs/navigation/useLinking.js diff --git a/templates/expo-template-tabs/App.js b/templates/expo-template-tabs/App.js index f7c8ffe13149d..408dab369ded2 100644 --- a/templates/expo-template-tabs/App.js +++ b/templates/expo-template-tabs/App.js @@ -1,15 +1,24 @@ +import React, { useState } from 'react'; +import { Platform, StatusBar, StyleSheet, View } from 'react-native'; import { AppLoading } from 'expo'; import { Asset } from 'expo-asset'; import * as Font from 'expo-font'; -import React, { useState } from 'react'; -import { Platform, StatusBar, StyleSheet, View } from 'react-native'; import { Ionicons } from '@expo/vector-icons'; +import { NavigationContainer } from '@react-navigation/native'; +import { createStackNavigator } from '@react-navigation/stack'; -import AppNavigator from './navigation/AppNavigator'; +import MainTabNavigator from './navigation/MainTabNavigator'; +import useLinking from './navigation/useLinking'; + +const Stack = createStackNavigator(); export default function App(props) { const [isLoadingComplete, setLoadingComplete] = useState(false); + const containerRef = React.useRef(); + + const initialState = useLinking(containerRef); + if (!isLoadingComplete && !props.skipLoadingScreen) { return ( {Platform.OS === 'ios' && } - + + + + + ); } diff --git a/templates/expo-template-tabs/navigation/AppNavigator.js b/templates/expo-template-tabs/navigation/AppNavigator.js deleted file mode 100644 index 542acfe85fa89..0000000000000 --- a/templates/expo-template-tabs/navigation/AppNavigator.js +++ /dev/null @@ -1,12 +0,0 @@ -import React from 'react'; -import { createAppContainer, createSwitchNavigator } from 'react-navigation'; - -import MainTabNavigator from './MainTabNavigator'; - -export default createAppContainer( - createSwitchNavigator({ - // You could add another route here for authentication. - // Read more at https://reactnavigation.org/docs/en/auth-flow.html - Main: MainTabNavigator, - }) -); diff --git a/templates/expo-template-tabs/navigation/AppNavigator.web.js b/templates/expo-template-tabs/navigation/AppNavigator.web.js deleted file mode 100644 index f0948c5a52f43..0000000000000 --- a/templates/expo-template-tabs/navigation/AppNavigator.web.js +++ /dev/null @@ -1,13 +0,0 @@ -import { createBrowserApp } from '@react-navigation/web'; -import { createSwitchNavigator } from 'react-navigation'; - -import MainTabNavigator from './MainTabNavigator'; - -const switchNavigator = createSwitchNavigator({ - // You could add another route here for authentication. - // Read more at https://reactnavigation.org/docs/en/auth-flow.html - Main: MainTabNavigator, -}); -switchNavigator.path = ''; - -export default createBrowserApp(switchNavigator, { history: 'hash' }); diff --git a/templates/expo-template-tabs/navigation/MainTabNavigator.js b/templates/expo-template-tabs/navigation/MainTabNavigator.js index 8259794d50c5a..a0d40a8b4aaf3 100644 --- a/templates/expo-template-tabs/navigation/MainTabNavigator.js +++ b/templates/expo-template-tabs/navigation/MainTabNavigator.js @@ -1,79 +1,56 @@ import React from 'react'; import { Platform } from 'react-native'; -import { createStackNavigator } from 'react-navigation-stack'; -import { createBottomTabNavigator } from 'react-navigation-tabs'; - +import { createBottomTabNavigator } from '@react-navigation/bottom-tabs'; import TabBarIcon from '../components/TabBarIcon'; import HomeScreen from '../screens/HomeScreen'; import LinksScreen from '../screens/LinksScreen'; import SettingsScreen from '../screens/SettingsScreen'; -const config = Platform.select({ - web: { headerMode: 'screen' }, - default: {}, -}); - -const HomeStack = createStackNavigator( - { - Home: HomeScreen, - }, - config -); - -HomeStack.navigationOptions = { - tabBarLabel: 'Home', - tabBarIcon: ({ focused }) => ( - - ), -}; - -HomeStack.path = ''; - -const LinksStack = createStackNavigator( - { - Links: LinksScreen, - }, - config -); - -LinksStack.navigationOptions = { - tabBarLabel: 'Links', - tabBarIcon: ({ focused }) => ( - - ), -}; - -LinksStack.path = ''; - -const SettingsStack = createStackNavigator( - { - Settings: SettingsScreen, - }, - config -); - -SettingsStack.navigationOptions = { - tabBarLabel: 'Settings', - tabBarIcon: ({ focused }) => ( - - ), -}; - -SettingsStack.path = ''; - -const tabNavigator = createBottomTabNavigator({ - HomeStack, - LinksStack, - SettingsStack, -}); - -tabNavigator.path = ''; - -export default tabNavigator; +const BottomTab = createBottomTabNavigator(); + +export default function MainTabNavigator() { + return ( + + ( + + ), + }} + /> + ( + + ), + }} + /> + ( + + ), + }} + /> + + ); +} diff --git a/templates/expo-template-tabs/navigation/useLinking.js b/templates/expo-template-tabs/navigation/useLinking.js new file mode 100644 index 0000000000000..280da13e72f14 --- /dev/null +++ b/templates/expo-template-tabs/navigation/useLinking.js @@ -0,0 +1,18 @@ +import { useLinking } from '@react-navigation/native'; + +export default function(containerRef) { + const { getInitialState } = useLinking(containerRef, { + prefixes: [], + config: { + Root: { + path: 'root', + screens: { + Home: 'home', + Links: 'links', + Settings: 'settings', + }, + }, + }, + }); + return getInitialState(); +} diff --git a/templates/expo-template-tabs/package.json b/templates/expo-template-tabs/package.json index 77318767a5f42..74cbc08259665 100644 --- a/templates/expo-template-tabs/package.json +++ b/templates/expo-template-tabs/package.json @@ -27,12 +27,13 @@ "react-dom": "~16.9.0", "react-native": "https://github.com/expo/react-native/archive/sdk-36.0.0.tar.gz", "react-native-gesture-handler": "~1.5.0", - "react-native-reanimated": "~1.4.0", "react-native-screens": "2.0.0-alpha.12", "react-native-web": "~0.11.7", - "react-navigation": "~4.0.10", - "react-navigation-stack": "~1.10.3", - "react-navigation-tabs": "~2.6.2" + "@react-native-community/masked-view": "~0.1.6", + "react-native-safe-area-context": "~0.6.4", + "@react-navigation/native": "^5.0.0", + "@react-navigation/stack": "^5.0.0", + "@react-navigation/bottom-tabs": "^5.0.0" }, "devDependencies": { "@babel/core": "^7.0.0", diff --git a/templates/expo-template-tabs/yarn.lock b/templates/expo-template-tabs/yarn.lock index 91d2e492fbfc4..55a211772972f 100644 --- a/templates/expo-template-tabs/yarn.lock +++ b/templates/expo-template-tabs/yarn.lock @@ -1152,24 +1152,54 @@ wcwidth "^1.0.1" ws "^1.1.0" -"@react-navigation/core@^3.5.1": - version "3.5.1" - resolved "https://registry.yarnpkg.com/@react-navigation/core/-/core-3.5.1.tgz#7a2339fca3496979305fb3a8ab88c2ca8d8c214d" - integrity sha512-q7NyhWVYOhVIWqL2GZKa6G78YarXaVTTtOlSDkvy4ZIggo40wZzamlnrJRvsaQX46gsgw45FAWb5SriHh8o7eA== +"@react-native-community/masked-view@~0.1.6": + version "0.1.6" + resolved "https://registry.yarnpkg.com/@react-native-community/masked-view/-/masked-view-0.1.6.tgz#c7f2ac187c1f25aa8c30d11baa8f4398eca3bb84" + integrity sha512-PpMoeXwPUoldCRKDuSi+zK5rT+sJTW6ri6RdGPkSKRzU77Q1d9IaR0O5IKvBj0XSdL3p+dcOa05gk35aGDffBQ== + +"@react-navigation/bottom-tabs@^5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@react-navigation/bottom-tabs/-/bottom-tabs-5.0.0.tgz#1c0ffb3d8683b6b8eacee0a877e3322eca1c76f4" + integrity sha512-5H2bxI8fIkJIQHFSZqSHKnTPAZBAl4XssujVl7n+dyOp+RK7FPSUNB3lMo4vLcq8CfjchmRCfM+jrohi2zPhVQ== dependencies: - hoist-non-react-statics "^3.3.0" - path-to-regexp "^1.7.0" - query-string "^6.4.2" - react-is "^16.8.6" + "@react-navigation/routers" "^5.0.0" + color "^3.1.2" + react-native-iphone-x-helper "^1.2.1" -"@react-navigation/native@^3.6.2": - version "3.6.2" - resolved "https://registry.yarnpkg.com/@react-navigation/native/-/native-3.6.2.tgz#3634697b6350cc5189657ae4551f2d52b57fbbf0" - integrity sha512-Cybeou6N82ZeRmgnGlu+wzlV3z5BZQR2dmYaNFV1TNLUGHqtvv8E7oNw9uYcz9Ox5LFbiX+FdNTn2d6ZPlK0kg== +"@react-navigation/core@^5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@react-navigation/core/-/core-5.0.0.tgz#66f5b948a92e7a7f913d2acdbe4e5de516c836cb" + integrity sha512-5OmyhTA+3gRsCJqaXIrw99OzvBq2qDW0Jiyih30UyiBbtgOPK0asp43EZFuY8JnoAHaWtqbnT7Wa0uCjr7owpg== dependencies: - hoist-non-react-statics "^3.0.1" - react-native-safe-area-view "^0.14.1" - react-native-screens "^1.0.0 || ^1.0.0-alpha" + escape-string-regexp "^2.0.0" + query-string "^6.9.0" + react-is "^16.12.0" + shortid "^2.2.15" + use-subscription "^1.3.0" + +"@react-navigation/native@^5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@react-navigation/native/-/native-5.0.0.tgz#6fcf4a24249229005ddfaf40be1d35fcbe0e16c2" + integrity sha512-+lXBHKFEsA99D7b0B4AngM1b8hjNYdKSGUyz4JtoVY9FYLEJgCUp6EhNyouMWq5yr2x+z9mPIuIMbitHKF04SA== + dependencies: + "@react-navigation/core" "^5.0.0" + +"@react-navigation/routers@^5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@react-navigation/routers/-/routers-5.0.0.tgz#3337dd437bb155581715875ab9eb3e0db14108ef" + integrity sha512-FVjYTCASs52bQJO6Y54GpRAVWABiePfPvVFohRmkpXbSFB46CCTRtAndDZPWt1UwWIm0JedWJigD9IXB66KBjw== + dependencies: + "@react-navigation/core" "^5.0.0" + shortid "^2.2.15" + +"@react-navigation/stack@^5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@react-navigation/stack/-/stack-5.0.0.tgz#2f6c3d0de2ff3e5f5773142e8ed237c6c77c8fad" + integrity sha512-pOJARONdS0g4q32cB8LOAdTUv+mUNDXgbff9gx/etycFRzon7qtQuyAE7U2+CIBB/NJkqFXG64B2nBYdfEq7rQ== + dependencies: + "@react-navigation/routers" "^5.0.0" + color "^3.1.2" + react-native-iphone-x-helper "^1.2.1" "@react-navigation/web@~1.0.0-alpha.9": version "1.0.0-alpha.9" @@ -2024,7 +2054,7 @@ collection-visit@^1.0.0: map-visit "^1.0.0" object-visit "^1.0.0" -color-convert@^1.9.0: +color-convert@^1.9.0, color-convert@^1.9.1: version "1.9.3" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== @@ -2036,11 +2066,32 @@ color-name@1.1.3: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= +color-name@^1.0.0: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +color-string@^1.5.2: + version "1.5.3" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz#c9bbc5f01b58b5492f3d6857459cb6590ce204cc" + integrity sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw== + dependencies: + color-name "^1.0.0" + simple-swizzle "^0.2.2" + color-support@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== +color@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/color/-/color-3.1.2.tgz#68148e7f85d41ad7649c5fa8c8106f098d229e10" + integrity sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg== + dependencies: + color-convert "^1.9.1" + color-string "^1.5.2" + colorette@^1.0.7: version "1.1.0" resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.1.0.tgz#1f943e5a357fac10b4e0f5aaef3b14cdc1af6ec7" @@ -2486,6 +2537,11 @@ escape-string-regexp@^1.0.5: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= +escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + escodegen@^1.9.1: version "1.12.0" resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.12.0.tgz#f763daf840af172bb3a2b6dd7219c0e17f7ff541" @@ -3194,13 +3250,6 @@ hoist-non-react-statics@^2.3.1: resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz#c5903cf409c0dfd908f388e619d86b9c1174cb47" integrity sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw== -hoist-non-react-statics@^3.0.1, hoist-non-react-statics@^3.3.0: - version "3.3.1" - resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz#101685d3aff3b23ea213163f6e8e12f4f111e19f" - integrity sha512-wbg3bpgA/ZqWrZuMOeJi8+SKMhr7X9TesL/rXMjTzh0p0JUBo3II8DHboYbuIXWRlttrUFxwcu/5kygrCw8fJw== - dependencies: - react-is "^16.7.0" - hosted-git-info@^2.1.4: version "2.8.5" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.5.tgz#759cfcf2c4d156ade59b0b2dfabddc42a6b9c70c" @@ -3364,6 +3413,11 @@ is-arrayish@^0.2.1: resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= +is-arrayish@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" + integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== + is-buffer@^1.1.5: version "1.1.6" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" @@ -3510,11 +3564,6 @@ is-wsl@^1.1.0: resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" - integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= - isarray@1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" @@ -4727,6 +4776,11 @@ nan@^2.12.1: resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== +nanoid@^2.1.0: + version "2.1.11" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-2.1.11.tgz#ec24b8a758d591561531b4176a01e3ab4f0f0280" + integrity sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA== + nanomatch@^1.2.9: version "1.2.13" resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" @@ -5219,13 +5273,6 @@ path-parse@^1.0.6: resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== -path-to-regexp@^1.7.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.8.0.tgz#887b3ba9d84393e87a0a0b9f4cb756198b53548a" - integrity sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA== - dependencies: - isarray "0.0.1" - path-type@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" @@ -5411,7 +5458,7 @@ qs@~6.5.2: resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== -query-string@^6.2.0, query-string@^6.4.2: +query-string@^6.2.0: version "6.9.0" resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.9.0.tgz#1c3b727c370cf00f177c99f328fda2108f8fa3dd" integrity sha512-KG4bhCFYapExLsUHrFt+kQVEegF2agm4cpF/VNc6pZVthIfCc/GK8t8VyNIE3nyXG9DK3Tf2EGkxjR6/uRdYsA== @@ -5420,6 +5467,15 @@ query-string@^6.2.0, query-string@^6.4.2: split-on-first "^1.0.0" strict-uri-encode "^2.0.0" +query-string@^6.9.0: + version "6.10.1" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.10.1.tgz#30b3505f6fca741d5ae541964d1b3ae9dc2a0de8" + integrity sha512-SHTUV6gDlgMXg/AQUuLpTiBtW/etZ9JT6k6RCtCyqADquApLX0Aq5oK/s5UeTUAWBG50IExjIr587GqfXRfM4A== + dependencies: + decode-uri-component "^0.2.0" + split-on-first "^1.0.0" + strict-uri-encode "^2.0.0" + querystringify@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.1.1.tgz#60e5a5fd64a7f8bfa4d2ab2ed6fdf4c85bad154e" @@ -5458,16 +5514,11 @@ react-dom@~16.9.0: prop-types "^15.6.2" scheduler "^0.15.0" -react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.4, react-is@^16.8.6, react-is@^16.9.0: +react-is@^16.12.0, react-is@^16.8.1, react-is@^16.8.4, react-is@^16.9.0: version "16.12.0" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.12.0.tgz#2cc0fe0fba742d97fd527c42a13bec4eeb06241c" integrity sha512-rPCkf/mWBtKc97aLL9/txD8DZdemK0vkA3JMLShjlJB3Pj3s+lpf1KaBzMfQrAmhMQB0n1cU/SUGgKKBCe837Q== -react-lifecycles-compat@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" - integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== - react-native-gesture-handler@~1.5.0: version "1.5.2" resolved "https://registry.yarnpkg.com/react-native-gesture-handler/-/react-native-gesture-handler-1.5.2.tgz#281111550bf1eee10b7feba5278d142169892731" @@ -5478,22 +5529,20 @@ react-native-gesture-handler@~1.5.0: invariant "^2.2.4" prop-types "^15.7.2" +react-native-iphone-x-helper@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/react-native-iphone-x-helper/-/react-native-iphone-x-helper-1.2.1.tgz#645e2ffbbb49e80844bb4cbbe34a126fda1e6772" + integrity sha512-/VbpIEp8tSNNHIvstuA3Swx610whci1Zpc9mqNkqn14DkMbw+ORviln2u0XyHG1kPvvwTNGZY6QpeFwxYaSdbQ== + react-native-platform-touchable@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/react-native-platform-touchable/-/react-native-platform-touchable-1.1.1.tgz#fde4acc65eea585d28b164d0c3716a42129a68e4" integrity sha1-/eSsxl7qWF0osWTQw3FqQhKaaOQ= -react-native-reanimated@~1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/react-native-reanimated/-/react-native-reanimated-1.4.0.tgz#7f1acbf9be08492d834f512700570978052be2f9" - integrity sha512-tO7nSNNP+iRLVbkcSS5GXyDBb7tSI02+XuRL3/S39EAr35rnvUy2JfeLUQG+fWSObJjnMVhasUDEUwlENk8IXw== - -react-native-safe-area-view@^0.14.1, react-native-safe-area-view@^0.14.6: - version "0.14.8" - resolved "https://registry.yarnpkg.com/react-native-safe-area-view/-/react-native-safe-area-view-0.14.8.tgz#ef33c46ff8164ae77acad48c3039ec9c34873e5b" - integrity sha512-MtRSIcZNstxv87Jet+UsPhEd1tpGe8cVskDXlP657x6rHpSrbrc+y13ZNXrwAgGNNhqQNX7UJT68ZIq//ZRmvw== - dependencies: - hoist-non-react-statics "^2.3.1" +react-native-safe-area-context@~0.6.4: + version "0.6.4" + resolved "https://registry.yarnpkg.com/react-native-safe-area-context/-/react-native-safe-area-context-0.6.4.tgz#624bd50cebc9f47853f179373501511931d2a0c3" + integrity sha512-xj8Mv8ZHfc8RquBgVYt+4+nOJaexTblLsQJpyx4Dh4qFUG+3QtbNlfOF7/ITj/qY5LNdlfafKoDsVgFz0WIU1w== react-native-screens@2.0.0-alpha.12: version "2.0.0-alpha.12" @@ -5502,18 +5551,6 @@ react-native-screens@2.0.0-alpha.12: dependencies: debounce "^1.2.0" -"react-native-screens@^1.0.0 || ^1.0.0-alpha": - version "1.0.0-alpha.23" - resolved "https://registry.yarnpkg.com/react-native-screens/-/react-native-screens-1.0.0-alpha.23.tgz#25d7ea4d11bda4fcde2d1da7ae50271c6aa636e0" - integrity sha512-tOxHGQUN83MTmQB4ghoQkibqOdGiX4JQEmeyEv96MKWO/x8T2PJv84ECUos9hD3blPRQwVwSpAid1PPPhrVEaw== - dependencies: - debounce "^1.2.0" - -react-native-tab-view@^2.11.0: - version "2.11.0" - resolved "https://registry.yarnpkg.com/react-native-tab-view/-/react-native-tab-view-2.11.0.tgz#2e57d1f617ccc88c7f452708804f3409f880b700" - integrity sha512-vqetlxGO7A8bnqvXcB50MWpRZAImXFrDGz1WCQKdCqe03Ey3ZzENe7yLuWrtBJYlepGfOLAsmCXv+wW82Yfm1w== - react-native-view-shot@3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/react-native-view-shot/-/react-native-view-shot-3.0.2.tgz#daccaec5b8038a680b17533ff7e72876e68c7d0d" @@ -5569,31 +5606,6 @@ react-native-web@~0.11.7: stacktrace-parser "^0.1.3" whatwg-fetch "^3.0.0" -react-navigation-stack@~1.10.3: - version "1.10.3" - resolved "https://registry.yarnpkg.com/react-navigation-stack/-/react-navigation-stack-1.10.3.tgz#e714e442b20427f0d2d3c18fce1f9e8cfe69be0b" - integrity sha512-1gksFi/g/Lg9sBhgLlD0OiEB5xnatHb4C0eNMA5tli9cTVlhq375XNPIqOiTyftibBmjdApAsZFj5srUCoOu/w== - dependencies: - prop-types "^15.7.2" - -react-navigation-tabs@~2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/react-navigation-tabs/-/react-navigation-tabs-2.6.2.tgz#6611f3bbc5fcbc004a96a457e1dbe8d957d09ef5" - integrity sha512-b7Bwio3pOyb2dJOsfICm1eXUCekULO63VitLlkslsuwB5v5qXD9u+TkuSGADPiAybRH3Fts4cQX/xA5WGsIsfg== - dependencies: - hoist-non-react-statics "^3.3.0" - react-lifecycles-compat "^3.0.4" - react-native-safe-area-view "^0.14.6" - react-native-tab-view "^2.11.0" - -react-navigation@~4.0.10: - version "4.0.10" - resolved "https://registry.yarnpkg.com/react-navigation/-/react-navigation-4.0.10.tgz#ddf41134600689d6ba99e35dd22ba1f664f91e5c" - integrity sha512-7PqvmsdQ7HIyxPUMYbd9Uq//VoMdniEOLAOSvIhb/ExtbAt/1INSjUF+RiMWOMCWLTCNvNPRvTz7xy7qwWureg== - dependencies: - "@react-navigation/core" "^3.5.1" - "@react-navigation/native" "^3.6.2" - react-refresh@^0.4.0: version "0.4.2" resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.4.2.tgz#54a277a6caaac2803d88f1d6f13c1dcfbd81e334" @@ -6056,6 +6068,13 @@ shellwords@^0.1.1: resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== +shortid@^2.2.15: + version "2.2.15" + resolved "https://registry.yarnpkg.com/shortid/-/shortid-2.2.15.tgz#2b902eaa93a69b11120373cd42a1f1fe4437c122" + integrity sha512-5EaCy2mx2Jgc/Fdn9uuDuNIIfWBpzY4XIlhoqtXF6qsf+/+SGZ+FxDdX/ZsMZiWupIWNqAEmiNY4RC+LSmCeOw== + dependencies: + nanoid "^2.1.0" + signal-exit@^3.0.0, signal-exit@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" @@ -6070,6 +6089,13 @@ simple-plist@^1.0.0: bplist-parser "0.2.0" plist "^3.0.1" +simple-swizzle@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" + integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= + dependencies: + is-arrayish "^0.3.1" + sisteransi@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.4.tgz#386713f1ef688c7c0304dc4c0632898941cad2e3" @@ -6716,6 +6742,13 @@ url-parse@^1.4.4: querystringify "^2.1.1" requires-port "^1.0.0" +use-subscription@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/use-subscription/-/use-subscription-1.3.0.tgz#3df13a798e826c8d462899423293289a3362e4e6" + integrity sha512-buZV7FUtnbOr+65dN7PHK7chHhQGfk/yjgqfpRLoWuHIAc4klAD/rdot2FsPNtFthN1ZydvA8tR/mWBMQ+/fDQ== + dependencies: + object-assign "^4.1.1" + use@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f"