diff --git a/.gitignore b/.gitignore index 0cab2ac..f7e209e 100644 --- a/.gitignore +++ b/.gitignore @@ -64,3 +64,4 @@ yarn-error.log # testing /coverage +node_modules \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..385f27a --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "java.configuration.updateBuildConfiguration": "interactive" +} diff --git a/App.js b/App.js index 0721180..7f64754 100644 --- a/App.js +++ b/App.js @@ -6,21 +6,14 @@ */ import React from 'react'; -import {SafeAreaView, ScrollView, Text, View} from 'react-native'; +import {SafeAreaView, ScrollView, Text, View, StyleSheet} from 'react-native'; +import MainStackNavigator from './src/navigation/MainStackNavigator'; +import 'react-native-gesture-handler'; -function App() { - return ( - - - - TEST!!! - - - - ); +export default function App() { + return ; } -export default App; +const styles = StyleSheet.create({ + entire: {}, +}); diff --git a/android/app/build.gradle b/android/app/build.gradle index bcd447d..7347e53 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -108,6 +108,8 @@ dependencies { // The version of react-native is set by the React Native Gradle Plugin implementation("com.facebook.react:react-android") implementation("com.facebook.react:flipper-integration") + // implementation("androidx.appcompat:appcompat:1.1.0-rc01") + // implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.1.0-alpha02") if (hermesEnabled.toBoolean()) { implementation("com.facebook.react:hermes-android") diff --git a/package.json b/package.json index 55c53ee..e2b35d9 100644 --- a/package.json +++ b/package.json @@ -10,8 +10,18 @@ "test": "jest" }, "dependencies": { + "@react-native-community/masked-view": "^0.1.11", + "@react-navigation/bottom-tabs": "^6.5.20", + "@react-navigation/native": "^6.1.17", + "@react-navigation/native-stack": "^6.9.26", + "@react-navigation/stack": "^6.3.29", "react": "18.2.0", - "react-native": "0.73.6" + "react-native": "0.73.6", + "react-native-gesture-handler": "^2.16.0", + "react-native-reanimated": "^3.8.1", + "react-native-safe-area-context": "^4.9.0", + "react-native-screens": "^3.30.1", + "react-native-svg": "^15.1.0" }, "devDependencies": { "@babel/core": "^7.20.0", diff --git a/src/assets/UsePressAnimation.js b/src/assets/UsePressAnimation.js new file mode 100644 index 0000000..07bdc77 --- /dev/null +++ b/src/assets/UsePressAnimation.js @@ -0,0 +1,28 @@ +import {useState} from 'react'; +import {Animated} from 'react-native'; + +export const usePressAnimation = (initialValue = 1, toValue = 0.97) => { + const [scaleValue] = useState(new Animated.Value(initialValue)); + + const handlePressIn = () => { + Animated.spring(scaleValue, { + toValue: toValue, + friction: 3, + useNativeDriver: true, + }).start(); + }; + + const handlePressOut = () => { + Animated.spring(scaleValue, { + toValue: initialValue, + friction: 3, + useNativeDriver: true, + }).start(); + }; + + return { + scaleValue, + handlePressIn, + handlePressOut, + }; +}; diff --git a/src/assets/color.js b/src/assets/color.js new file mode 100644 index 0000000..f6892ef --- /dev/null +++ b/src/assets/color.js @@ -0,0 +1,7 @@ +export const COLOR_PRIMARY = '#003C71'; +export const COLOR_SECONDARY = '#A4D65E'; +export const COLOR_BACKGROUND = '#F5F5F5'; //FFFFFF +export const COLOR_TEXT_BLACK = '#000000'; +export const COLOR_TEXT_DARKGRAY = '#535353'; +export const COLOR_GRAY = '#888888'; +export const COLOR_WHITE = '#FFFFFF'; diff --git a/src/assets/svg.js b/src/assets/svg.js new file mode 100644 index 0000000..424b3f5 --- /dev/null +++ b/src/assets/svg.js @@ -0,0 +1,52 @@ +export const svgXml = { + baricon: { + home: ` + + + + + `, + map: ` + + + + + `, + list: ` + + + + + `, + prifile: ` + + + + + `, + homeColor: ` + + + + + `, + mapColor: ` + + + + + `, + listColor: ` + + + + + `, + prifileColor: ` + + + + + `, + }, +}; diff --git a/src/components/AnimationButton.js b/src/components/AnimationButton.js new file mode 100644 index 0000000..99d348e --- /dev/null +++ b/src/components/AnimationButton.js @@ -0,0 +1,41 @@ +import React from 'react'; +import {TouchableOpacity, Animated, StyleSheet} from 'react-native'; +import {usePressAnimation} from '../assets/UsePressAnimation'; +import {COLOR_GRAY} from '../assets/color'; + +const AnimatedButton = ({ + children, + onPress, + onLongPress, + style, + disabled = false, +}) => { + const {scaleValue, handlePressIn, handlePressOut} = usePressAnimation(); + const AnimatedTouchableOpacity = + Animated.createAnimatedComponent(TouchableOpacity); + + return ( + + {children} + + ); +}; + +const styles = StyleSheet.create({ + disabledButton: { + backgroundColor: COLOR_GRAY, + }, +}); + +export default AnimatedButton; diff --git a/src/navigation/BottomTabNavigator.js b/src/navigation/BottomTabNavigator.js new file mode 100644 index 0000000..8507b52 --- /dev/null +++ b/src/navigation/BottomTabNavigator.js @@ -0,0 +1,224 @@ +/* eslint-disable react-native/no-inline-styles */ +/* eslint-disable react/no-unstable-nested-components */ +import React from 'react'; +import { + CardStyleInterpolators, + createStackNavigator, +} from '@react-navigation/stack'; +import {SvgXml} from 'react-native-svg'; +import {svgXml} from '../assets/svg'; +import {DefaultTheme, NavigationContainer} from '@react-navigation/native'; +import { + Easing, + Linking, + Platform, + SafeAreaView, + StatusBar, + View, +} from 'react-native'; +import { + COLOR_WHITE, + COLOR_BACKGROUND, + COLOR_GRAY, + COLOR_PRIMARY, +} from '../assets/color'; +import {createBottomTabNavigator} from '@react-navigation/bottom-tabs'; + +import HomeScreen from '../screens/home/HomeScreen'; +import ListMainScreen from '../screens/list/ListMainScreen'; +import ListDetailScreen from '../screens/list/ListDetailScreen'; +import MapScreen from '../screens/map/MapScreen'; +import MypageScreen from '../screens/mypage/MypageScreen'; + +const BottomTab = createBottomTabNavigator(); + +const customCardStyleInterpolator = ({current, next, layouts}) => { + return { + cardStyle: { + transform: [ + { + translateX: current.progress.interpolate({ + inputRange: [0, 1], + outputRange: [layouts.screen.width, 0], // transition from right to left + }), + }, + { + scale: next + ? next.progress.interpolate({ + inputRange: [0, 1], + outputRange: [1, 0.9], + }) + : 1, + }, + ], + }, + overlayStyle: { + opacity: current.progress.interpolate({ + inputRange: [0, 1], + outputRange: [0, 0.5], + }), + }, + }; +}; + +const HomeStack = createStackNavigator(); +function HomeNavigator() { + return ( + + + + ); +} + +const MapStack = createStackNavigator(); +function MapNavigator() { + return ( + + + + ); +} + +const ListStack = createStackNavigator(); +function ListNavigator() { + return ( + + + + + ); +} + +const MypageStack = createStackNavigator(); +function MypageNavigator() { + return ( + + + + ); +} + +export default function BottomTabNavigator() { + return ( + + ( + + ), + }} + /> + ( + + ), + }} + /> + ( + + ), + }} + /> + ( + + ), + }} + /> + + ); +} diff --git a/src/navigation/MainStackNavigator.js b/src/navigation/MainStackNavigator.js new file mode 100644 index 0000000..dfea396 --- /dev/null +++ b/src/navigation/MainStackNavigator.js @@ -0,0 +1,56 @@ +import React from 'react'; +import { + CardStyleInterpolators, + createStackNavigator, +} from '@react-navigation/stack'; + +import {DefaultTheme, NavigationContainer} from '@react-navigation/native'; +import {Easing, Linking, Platform, SafeAreaView, StatusBar} from 'react-native'; +import {COLOR_WHITE} from '../assets/color'; +import SignupScreen from '../screens/signup/SignupScreen'; +import BottomTabNavigator from './BottomTabNavigator'; + +const MainStack = createStackNavigator(); + +const MyTheme = { + ...DefaultTheme, + colors: { + ...DefaultTheme.colors, + background: COLOR_WHITE, + }, +}; + +export const navigationRef = React.createRef(); + +export function navigate(name, params) { + navigationRef.current?.navigate(name, params); +} + +export function reset(routes) { + navigationRef.current?.reset(routes); +} + +export default function MainStackNavigator() { + return ( + + + + + + + ); +} diff --git a/src/screens/home/HomeScreen.js b/src/screens/home/HomeScreen.js new file mode 100644 index 0000000..7937b19 --- /dev/null +++ b/src/screens/home/HomeScreen.js @@ -0,0 +1,62 @@ +import React, {useState, useCallback, useEffect} from 'react'; +import {View, Text, SafeAreaView, ScrollView, StyleSheet} from 'react-native'; +import { + COLOR_WHITE, + COLOR_BACKGROUND, + COLOR_GRAY, + COLOR_PRIMARY, +} from '../../assets/color'; +import AnimatedButton from '../../components/AnimationButton'; +import {useNavigation} from '@react-navigation/native'; + +export default function HomeScreen() { + const navigation = useNavigation(); + + return ( + + HomeScreen + { + console.log('PRESSED~!!'); + navigation.navigate('Signup'); + }} + style={styles.buttonTest}> + Signup + + { + console.log('PRESSED~!!'); + navigation.navigate('ListNavigator'); + }} + style={styles.buttonTest}> + ListNavigator + + + ); +} + +const styles = StyleSheet.create({ + entire: { + flex: 1, + backgroundColor: COLOR_BACKGROUND, + justifyContent: 'center', + alignItems: 'center', + }, + textMain: { + fontSize: 50, + color: COLOR_PRIMARY, + }, + buttonTest: { + backgroundColor: COLOR_PRIMARY, + padding: 10, + borderRadius: 5, + justifyContent: 'center', + alignItems: 'center', + }, + buttonText: { + fontSize: 20, + color: COLOR_WHITE, + fontWeight: 'bold', + alignSelf: 'center', + }, +}); diff --git a/src/screens/list/ListDetailScreen.js b/src/screens/list/ListDetailScreen.js new file mode 100644 index 0000000..001e0a1 --- /dev/null +++ b/src/screens/list/ListDetailScreen.js @@ -0,0 +1,50 @@ +import React, {useState, useCallback, useEffect} from 'react'; +import {View, Text, SafeAreaView, ScrollView, StyleSheet} from 'react-native'; +import { + COLOR_WHITE, + COLOR_BACKGROUND, + COLOR_GRAY, + COLOR_PRIMARY, +} from '../../assets/color'; +import AnimatedButton from '../../components/AnimationButton'; + +export default function ListDetailScreen() { + return ( + + ListDetailScreen + { + console.log('PRESSED~!!'); + }} + style={styles.buttonTest}> + Test Button + + + ); +} + +const styles = StyleSheet.create({ + entire: { + flex: 1, + backgroundColor: COLOR_BACKGROUND, + justifyContent: 'center', + alignItems: 'center', + }, + textMain: { + fontSize: 50, + color: COLOR_PRIMARY, + }, + buttonTest: { + backgroundColor: COLOR_PRIMARY, + padding: 10, + borderRadius: 5, + justifyContent: 'center', + alignItems: 'center', + }, + buttonText: { + fontSize: 20, + color: COLOR_WHITE, + fontWeight: 'bold', + alignSelf: 'center', + }, +}); diff --git a/src/screens/list/ListMainScreen.js b/src/screens/list/ListMainScreen.js new file mode 100644 index 0000000..b1b7b09 --- /dev/null +++ b/src/screens/list/ListMainScreen.js @@ -0,0 +1,50 @@ +import React, {useState, useCallback, useEffect} from 'react'; +import {View, Text, SafeAreaView, ScrollView, StyleSheet} from 'react-native'; +import { + COLOR_WHITE, + COLOR_BACKGROUND, + COLOR_GRAY, + COLOR_PRIMARY, +} from '../../assets/color'; +import AnimatedButton from '../../components/AnimationButton'; + +export default function ListMainScreen() { + return ( + + ListMainScreen + { + console.log('PRESSED~!!'); + }} + style={styles.buttonTest}> + Test Button + + + ); +} + +const styles = StyleSheet.create({ + entire: { + flex: 1, + backgroundColor: COLOR_BACKGROUND, + justifyContent: 'center', + alignItems: 'center', + }, + textMain: { + fontSize: 50, + color: COLOR_PRIMARY, + }, + buttonTest: { + backgroundColor: COLOR_PRIMARY, + padding: 10, + borderRadius: 5, + justifyContent: 'center', + alignItems: 'center', + }, + buttonText: { + fontSize: 20, + color: COLOR_WHITE, + fontWeight: 'bold', + alignSelf: 'center', + }, +}); diff --git a/src/screens/map/MapScreen.js b/src/screens/map/MapScreen.js new file mode 100644 index 0000000..b0b35d0 --- /dev/null +++ b/src/screens/map/MapScreen.js @@ -0,0 +1,50 @@ +import React, {useState, useCallback, useEffect} from 'react'; +import {View, Text, SafeAreaView, ScrollView, StyleSheet} from 'react-native'; +import { + COLOR_WHITE, + COLOR_BACKGROUND, + COLOR_GRAY, + COLOR_PRIMARY, +} from '../../assets/color'; +import AnimatedButton from '../../components/AnimationButton'; + +export default function MapScreen() { + return ( + + MapScreen + { + console.log('PRESSED~!!'); + }} + style={styles.buttonTest}> + Test Button + + + ); +} + +const styles = StyleSheet.create({ + entire: { + flex: 1, + backgroundColor: COLOR_BACKGROUND, + justifyContent: 'center', + alignItems: 'center', + }, + textMain: { + fontSize: 50, + color: COLOR_PRIMARY, + }, + buttonTest: { + backgroundColor: COLOR_PRIMARY, + padding: 10, + borderRadius: 5, + justifyContent: 'center', + alignItems: 'center', + }, + buttonText: { + fontSize: 20, + color: COLOR_WHITE, + fontWeight: 'bold', + alignSelf: 'center', + }, +}); diff --git a/src/screens/mypage/MypageScreen.js b/src/screens/mypage/MypageScreen.js new file mode 100644 index 0000000..7339c9e --- /dev/null +++ b/src/screens/mypage/MypageScreen.js @@ -0,0 +1,50 @@ +import React, {useState, useCallback, useEffect} from 'react'; +import {View, Text, SafeAreaView, ScrollView, StyleSheet} from 'react-native'; +import { + COLOR_WHITE, + COLOR_BACKGROUND, + COLOR_GRAY, + COLOR_PRIMARY, +} from '../../assets/color'; +import AnimatedButton from '../../components/AnimationButton'; + +export default function MypageScreen() { + return ( + + MypageScreen + { + console.log('PRESSED~!!'); + }} + style={styles.buttonTest}> + Test Button + + + ); +} + +const styles = StyleSheet.create({ + entire: { + flex: 1, + backgroundColor: COLOR_BACKGROUND, + justifyContent: 'center', + alignItems: 'center', + }, + textMain: { + fontSize: 50, + color: COLOR_PRIMARY, + }, + buttonTest: { + backgroundColor: COLOR_PRIMARY, + padding: 10, + borderRadius: 5, + justifyContent: 'center', + alignItems: 'center', + }, + buttonText: { + fontSize: 20, + color: COLOR_WHITE, + fontWeight: 'bold', + alignSelf: 'center', + }, +}); diff --git a/src/screens/signup/SignupScreen.js b/src/screens/signup/SignupScreen.js new file mode 100644 index 0000000..3f4631b --- /dev/null +++ b/src/screens/signup/SignupScreen.js @@ -0,0 +1,65 @@ +import React, {useState, useCallback, useEffect} from 'react'; +import {View, Text, SafeAreaView, ScrollView, StyleSheet} from 'react-native'; +import { + COLOR_WHITE, + COLOR_BACKGROUND, + COLOR_GRAY, + COLOR_PRIMARY, +} from '../../assets/color'; +import AnimatedButton from '../../components/AnimationButton'; +import {useNavigation} from '@react-navigation/native'; + +export default function SignupScreen() { + const navigation = useNavigation(); + + return ( + + SignupScreen + { + console.log('PRESSED~!!'); + navigation.navigate('BottomTab'); + }} + style={styles.buttonTest}> + bottom tab + + { + console.log('PRESSED~!!'); + navigation.navigate('BottomTab', { + screen: 'ListNavigator', + params: {screen: 'ListDetail'}, + }); + }} + style={styles.buttonTest}> + List Detail + + + ); +} + +const styles = StyleSheet.create({ + entire: { + flex: 1, + backgroundColor: COLOR_BACKGROUND, + justifyContent: 'center', + alignItems: 'center', + }, + textMain: { + fontSize: 50, + color: COLOR_PRIMARY, + }, + buttonTest: { + backgroundColor: COLOR_PRIMARY, + padding: 10, + borderRadius: 5, + justifyContent: 'center', + alignItems: 'center', + }, + buttonText: { + fontSize: 20, + color: COLOR_WHITE, + fontWeight: 'bold', + alignSelf: 'center', + }, +}); diff --git a/yarn.lock b/yarn.lock index 1349966..437bcd0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -541,7 +541,7 @@ "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-arrow-functions@^7.0.0", "@babel/plugin-transform-arrow-functions@^7.24.1": +"@babel/plugin-transform-arrow-functions@^7.0.0", "@babel/plugin-transform-arrow-functions@^7.0.0-0", "@babel/plugin-transform-arrow-functions@^7.24.1": version "7.24.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.1.tgz#2bf263617060c9cc45bcdbf492b8cc805082bf27" integrity sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw== @@ -771,7 +771,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.24.0" -"@babel/plugin-transform-nullish-coalescing-operator@^7.24.1": +"@babel/plugin-transform-nullish-coalescing-operator@^7.0.0-0", "@babel/plugin-transform-nullish-coalescing-operator@^7.24.1": version "7.24.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.1.tgz#0cd494bb97cb07d428bd651632cb9d4140513988" integrity sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw== @@ -813,7 +813,7 @@ "@babel/helper-plugin-utils" "^7.24.0" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" -"@babel/plugin-transform-optional-chaining@^7.24.1": +"@babel/plugin-transform-optional-chaining@^7.0.0-0", "@babel/plugin-transform-optional-chaining@^7.24.1": version "7.24.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.1.tgz#26e588acbedce1ab3519ac40cc748e380c5291e6" integrity sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg== @@ -913,7 +913,7 @@ babel-plugin-polyfill-regenerator "^0.6.1" semver "^6.3.1" -"@babel/plugin-transform-shorthand-properties@^7.0.0", "@babel/plugin-transform-shorthand-properties@^7.24.1": +"@babel/plugin-transform-shorthand-properties@^7.0.0", "@babel/plugin-transform-shorthand-properties@^7.0.0-0", "@babel/plugin-transform-shorthand-properties@^7.24.1": version "7.24.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.1.tgz#ba9a09144cf55d35ec6b93a32253becad8ee5b55" integrity sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA== @@ -935,7 +935,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.24.0" -"@babel/plugin-transform-template-literals@^7.24.1": +"@babel/plugin-transform-template-literals@^7.0.0-0", "@babel/plugin-transform-template-literals@^7.24.1": version "7.24.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.1.tgz#15e2166873a30d8617e3e2ccadb86643d327aab7" integrity sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g== @@ -1095,7 +1095,7 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/preset-typescript@^7.13.0": +"@babel/preset-typescript@^7.13.0", "@babel/preset-typescript@^7.16.7": version "7.24.1" resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.24.1.tgz#89bdf13a3149a17b3b2a2c9c62547f06db8845ec" integrity sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ== @@ -1168,6 +1168,13 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== +"@egjs/hammerjs@^2.0.17": + version "2.0.17" + resolved "https://registry.yarnpkg.com/@egjs/hammerjs/-/hammerjs-2.0.17.tgz#5dc02af75a6a06e4c2db0202cae38c9263895124" + integrity sha512-XQsZgjm2EcVUiZQf11UBJQfmZeEmOW8DpI1gsFeln6w0ae0ii4dMQEQ0kjl6DspdWX1aGY1/loyXnP0JS06e/A== + dependencies: + "@types/hammerjs" "^2.0.36" + "@eslint-community/eslint-utils@^4.2.0": version "4.4.0" resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" @@ -1681,6 +1688,11 @@ prompts "^2.4.2" semver "^7.5.2" +"@react-native-community/masked-view@^0.1.11": + version "0.1.11" + resolved "https://registry.yarnpkg.com/@react-native-community/masked-view/-/masked-view-0.1.11.tgz#2f4c6e10bee0786abff4604e39a37ded6f3980ce" + integrity sha512-rQfMIGSR/1r/SyN87+VD8xHHzDYeHaJq6elOSCAD+0iLagXkSI2pfA0LmSXP21uw5i3em7GkkRjfJ8wpqWXZNw== + "@react-native/assets-registry@0.73.1": version "0.73.1" resolved "https://registry.yarnpkg.com/@react-native/assets-registry/-/assets-registry-0.73.1.tgz#e2a6b73b16c183a270f338dc69c36039b3946e85" @@ -1865,6 +1877,66 @@ invariant "^2.2.4" nullthrows "^1.1.1" +"@react-navigation/bottom-tabs@^6.5.20": + version "6.5.20" + resolved "https://registry.yarnpkg.com/@react-navigation/bottom-tabs/-/bottom-tabs-6.5.20.tgz#5335e75b02c527ef0569bd97d4f9185d65616e49" + integrity sha512-ow6Z06iS4VqBO8d7FP+HsGjJLWt2xTWIvuWjpoCvsM/uQXzCRDIjBv9HaKcXbF0yTW7IMir0oDAbU5PFzEDdgA== + dependencies: + "@react-navigation/elements" "^1.3.30" + color "^4.2.3" + warn-once "^0.1.0" + +"@react-navigation/core@^6.4.16": + version "6.4.16" + resolved "https://registry.yarnpkg.com/@react-navigation/core/-/core-6.4.16.tgz#f9369a134805174536b9aa0f0f483b930511caf9" + integrity sha512-UDTJBsHxnzgFETR3ZxhctP+RWr4SkyeZpbhpkQoIGOuwSCkt1SE0qjU48/u6r6w6XlX8OqVudn1Ab0QFXTHxuQ== + dependencies: + "@react-navigation/routers" "^6.1.9" + escape-string-regexp "^4.0.0" + nanoid "^3.1.23" + query-string "^7.1.3" + react-is "^16.13.0" + use-latest-callback "^0.1.9" + +"@react-navigation/elements@^1.3.30": + version "1.3.30" + resolved "https://registry.yarnpkg.com/@react-navigation/elements/-/elements-1.3.30.tgz#a81371f599af1070b12014f05d6c09b1a611fd9a" + integrity sha512-plhc8UvCZs0UkV+sI+3bisIyn78wz9O/BiWZXpounu72k/R/Sj5PuZYFJ1fi6psvriUveMCGh4LeZckAZu2qiQ== + +"@react-navigation/native-stack@^6.9.26": + version "6.9.26" + resolved "https://registry.yarnpkg.com/@react-navigation/native-stack/-/native-stack-6.9.26.tgz#90facf7783c9927f094bc9f01c613af75b6c241e" + integrity sha512-++dueQ+FDj2XkZ902DVrK79ub1vp19nSdAZWxKRgd6+Bc0Niiesua6rMCqymYOVaYh+dagwkA9r00bpt/U5WLw== + dependencies: + "@react-navigation/elements" "^1.3.30" + warn-once "^0.1.0" + +"@react-navigation/native@^6.1.17": + version "6.1.17" + resolved "https://registry.yarnpkg.com/@react-navigation/native/-/native-6.1.17.tgz#439f15a99809d26ea4682d2a3766081cf2ca31cf" + integrity sha512-mer3OvfwWOHoUSMJyLa4vnBH3zpFmCwuzrBPlw7feXklurr/ZDiLjLxUScOot6jLRMz/67GyilEYMmP99LL0RQ== + dependencies: + "@react-navigation/core" "^6.4.16" + escape-string-regexp "^4.0.0" + fast-deep-equal "^3.1.3" + nanoid "^3.1.23" + +"@react-navigation/routers@^6.1.9": + version "6.1.9" + resolved "https://registry.yarnpkg.com/@react-navigation/routers/-/routers-6.1.9.tgz#73f5481a15a38e36592a0afa13c3c064b9f90bed" + integrity sha512-lTM8gSFHSfkJvQkxacGM6VJtBt61ip2XO54aNfswD+KMw6eeZ4oehl7m0me3CR9hnDE4+60iAZR8sAhvCiI3NA== + dependencies: + nanoid "^3.1.23" + +"@react-navigation/stack@^6.3.29": + version "6.3.29" + resolved "https://registry.yarnpkg.com/@react-navigation/stack/-/stack-6.3.29.tgz#b03b2f2baa36c06e4c9e8c7da80d62f83ad0b835" + integrity sha512-tzlGkoRgB6P7vgw7rHuWo3TL7Gzu6xh5LMf+zSdCuEiKp/qASzxYfnTEr9tOLbVs/gf+qeukEDheCSAJKVpBXw== + dependencies: + "@react-navigation/elements" "^1.3.30" + color "^4.2.3" + warn-once "^0.1.0" + "@sideway/address@^4.1.5": version "4.1.5" resolved "https://registry.yarnpkg.com/@sideway/address/-/address-4.1.5.tgz#4bc149a0076623ced99ca8208ba780d65a99b9d5" @@ -1941,6 +2013,11 @@ dependencies: "@types/node" "*" +"@types/hammerjs@^2.0.36": + version "2.0.45" + resolved "https://registry.yarnpkg.com/@types/hammerjs/-/hammerjs-2.0.45.tgz#ffa764bb68a66c08db6efb9c816eb7be850577b1" + integrity sha512-qkcUlZmX6c4J8q45taBKTL3p+LbITgyx7qhlPYOdOHZB7B31K0mXbP5YA7i7SgDeEGuI9MnumiKPEMrxg8j3KQ== + "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": version "2.0.6" resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz#7739c232a1fee9b4d3ce8985f314c0c6d33549d7" @@ -2456,6 +2533,11 @@ bl@^4.1.0: inherits "^2.0.4" readable-stream "^3.4.0" +boolbase@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== + brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -2688,11 +2770,27 @@ color-name@1.1.3: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== -color-name@~1.1.4: +color-name@^1.0.0, color-name@~1.1.4: 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.9.0: + version "1.9.1" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.9.1.tgz#4467f9146f036f855b764dfb5bf8582bf342c7a4" + integrity sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg== + dependencies: + color-name "^1.0.0" + simple-swizzle "^0.2.2" + +color@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/color/-/color-4.2.3.tgz#d781ecb5e57224ee43ea9627560107c0e0c6463a" + integrity sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A== + dependencies: + color-convert "^2.0.1" + color-string "^1.9.0" + colorette@^1.0.7: version "1.4.0" resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.4.0.tgz#5190fbb87276259a86ad700bff2c6d6faa3fca40" @@ -2802,6 +2900,30 @@ cross-spawn@^7.0.2, cross-spawn@^7.0.3: shebang-command "^2.0.0" which "^2.0.1" +css-select@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-5.1.0.tgz#b8ebd6554c3637ccc76688804ad3f6a6fdaea8a6" + integrity sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg== + dependencies: + boolbase "^1.0.0" + css-what "^6.1.0" + domhandler "^5.0.2" + domutils "^3.0.1" + nth-check "^2.0.1" + +css-tree@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" + integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== + dependencies: + mdn-data "2.0.14" + source-map "^0.6.1" + +css-what@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" + integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== + csstype@^3.0.2: version "3.1.3" resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" @@ -2858,6 +2980,11 @@ decamelize@^1.2.0: resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== +decode-uri-component@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" + integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== + dedent@^1.0.0: version "1.5.1" resolved "https://registry.yarnpkg.com/dedent/-/dedent-1.5.1.tgz#4f3fc94c8b711e9bb2800d185cd6ad20f2a90aff" @@ -2953,6 +3080,36 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" +dom-serializer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53" + integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg== + dependencies: + domelementtype "^2.3.0" + domhandler "^5.0.2" + entities "^4.2.0" + +domelementtype@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" + integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== + +domhandler@^5.0.2, domhandler@^5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-5.0.3.tgz#cc385f7f751f1d1fc650c21374804254538c7d31" + integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== + dependencies: + domelementtype "^2.3.0" + +domutils@^3.0.1: + version "3.1.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-3.1.0.tgz#c47f551278d3dc4b0b1ab8cbb42d751a6f0d824e" + integrity sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA== + dependencies: + dom-serializer "^2.0.0" + domelementtype "^2.3.0" + domhandler "^5.0.3" + ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" @@ -2978,6 +3135,11 @@ encodeurl@~1.0.2: resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== +entities@^4.2.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" + integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== + envinfo@^7.10.0: version "7.11.1" resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.11.1.tgz#2ffef77591057081b0129a8fd8cf6118da1b94e1" @@ -3442,6 +3604,11 @@ fill-range@^7.0.1: dependencies: to-regex-range "^5.0.1" +filter-obj@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-1.1.0.tgz#9b311112bc6c6127a16e016c6c5d7f19e0805c5b" + integrity sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ== + finalhandler@1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" @@ -3758,6 +3925,13 @@ hermes-profile-transformer@^0.0.6: dependencies: source-map "^0.7.3" +hoist-non-react-statics@^3.3.0: + version "3.3.2" + resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" + integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== + dependencies: + react-is "^16.7.0" + html-escaper@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" @@ -3867,6 +4041,11 @@ is-arrayish@^0.2.1: resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== +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-async-function@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-async-function/-/is-async-function-2.0.0.tgz#8e4418efd3e5d3a6ebb0164c05ef5afb69aa9646" @@ -4803,6 +4982,11 @@ marky@^1.2.2: resolved "https://registry.yarnpkg.com/marky/-/marky-1.2.5.tgz#55796b688cbd72390d2d399eaaf1832c9413e3c0" integrity sha512-q9JtQJKjpsVxCRVgQ+WapguSbKC3SQ5HEzFGPAJMStgh3QjCawp00UKv3MTTAArTmGmmPUvllHZoNbZ3gs0I+Q== +mdn-data@2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" + integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== + memoize-one@^5.0.0: version "5.2.1" resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.2.1.tgz#8337aa3c4335581839ec01c3d594090cebe8f00e" @@ -5076,6 +5260,11 @@ ms@2.1.3: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== +nanoid@^3.1.23: + version "3.3.7" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" + integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== + natural-compare-lite@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4" @@ -5147,6 +5336,13 @@ npm-run-path@^4.0.1: dependencies: path-key "^3.0.0" +nth-check@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d" + integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== + dependencies: + boolbase "^1.0.0" + nullthrows@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/nullthrows/-/nullthrows-1.1.1.tgz#7818258843856ae971eae4208ad7d7eb19a431b1" @@ -5489,7 +5685,7 @@ prompts@^2.0.1, prompts@^2.4.2: kleur "^3.0.3" sisteransi "^1.0.5" -prop-types@^15.8.1: +prop-types@^15.7.2, prop-types@^15.8.1: version "15.8.1" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== @@ -5508,6 +5704,16 @@ pure-rand@^6.0.0: resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.1.0.tgz#d173cf23258231976ccbdb05247c9787957604f2" integrity sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA== +query-string@^7.1.3: + version "7.1.3" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-7.1.3.tgz#a1cf90e994abb113a325804a972d98276fe02328" + integrity sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg== + dependencies: + decode-uri-component "^0.2.2" + filter-obj "^1.1.0" + split-on-first "^1.0.0" + strict-uri-encode "^2.0.0" + queue-microtask@^1.2.2: version "1.2.3" resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" @@ -5533,12 +5739,17 @@ react-devtools-core@^4.27.7: shell-quote "^1.6.1" ws "^7" +react-freeze@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/react-freeze/-/react-freeze-1.0.4.tgz#cbbea2762b0368b05cbe407ddc9d518c57c6f3ad" + integrity sha512-r4F0Sec0BLxWicc7HEyo2x3/2icUTrRmDjaaRyzzn+7aDyFZliszMDOgLVwSnQnYENOlL1o569Ze2HZefk8clA== + "react-is@^16.12.0 || ^17.0.0 || ^18.0.0", react-is@^18.0.0, react-is@^18.2.0: version "18.2.0" resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== -react-is@^16.13.1: +react-is@^16.13.0, react-is@^16.13.1, react-is@^16.7.0: version "16.13.1" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== @@ -5548,6 +5759,52 @@ react-is@^17.0.1: resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== +react-native-gesture-handler@^2.16.0: + version "2.16.0" + resolved "https://registry.yarnpkg.com/react-native-gesture-handler/-/react-native-gesture-handler-2.16.0.tgz#45a00b5988e74ebc58f130c8d1443319c8e678db" + integrity sha512-1hFkx7RIfeJSyTQQ0Nkv4icFVZ5+XjQkd47OgZMBFzoB7ecL+nFSz8KLi3OCWOhq+nbHpSPlSG5VF3CQNCJpWA== + dependencies: + "@egjs/hammerjs" "^2.0.17" + hoist-non-react-statics "^3.3.0" + invariant "^2.2.4" + lodash "^4.17.21" + prop-types "^15.7.2" + +react-native-reanimated@^3.8.1: + version "3.8.1" + resolved "https://registry.yarnpkg.com/react-native-reanimated/-/react-native-reanimated-3.8.1.tgz#45c13d4bedebef8df3d5a8756f25072de65960d7" + integrity sha512-EdM0vr3JEaNtqvstqESaPfOBy0gjYBkr1iEolWJ82Ax7io8y9OVUIphgsLKTB36CtR1XtmBw0RZVj7KArc7ZVA== + dependencies: + "@babel/plugin-transform-arrow-functions" "^7.0.0-0" + "@babel/plugin-transform-nullish-coalescing-operator" "^7.0.0-0" + "@babel/plugin-transform-optional-chaining" "^7.0.0-0" + "@babel/plugin-transform-shorthand-properties" "^7.0.0-0" + "@babel/plugin-transform-template-literals" "^7.0.0-0" + "@babel/preset-typescript" "^7.16.7" + convert-source-map "^2.0.0" + invariant "^2.2.4" + +react-native-safe-area-context@^4.9.0: + version "4.9.0" + resolved "https://registry.yarnpkg.com/react-native-safe-area-context/-/react-native-safe-area-context-4.9.0.tgz#21a570ca3594cb4259ba65f93befaa60d91bcbd0" + integrity sha512-/OJD9Pb8IURyvn+1tWTszWPJqsbZ4hyHBU9P0xhOmk7h5owSuqL0zkfagU0pg7Vh0G2NKQkaPpUKUMMCUMDh/w== + +react-native-screens@^3.30.1: + version "3.30.1" + resolved "https://registry.yarnpkg.com/react-native-screens/-/react-native-screens-3.30.1.tgz#254f5cbbeed649492da112756f85ecae3ccf313e" + integrity sha512-/muEvjocCtFb+j5J3YmLvB25+f4rIU8hnnxgGTkXcAf2omPBY8uhPjJaaFUlvj64VEoEzJcRpugbXWsjfPPIFg== + dependencies: + react-freeze "^1.0.0" + warn-once "^0.1.0" + +react-native-svg@^15.1.0: + version "15.1.0" + resolved "https://registry.yarnpkg.com/react-native-svg/-/react-native-svg-15.1.0.tgz#07c75f29b1d641faba50144c7ccd21604b368420" + integrity sha512-p0Sx0EpQNk1nu6UcMEiB8K9P04n3J7s+pNYUwf1d/Yz+v4hk961VjuVqjyndgiEbHZyWiKWLZRVNuvLpwjPY2A== + dependencies: + css-select "^5.1.0" + css-tree "^1.1.3" + react-native@0.73.6: version "0.73.6" resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.73.6.tgz#ed4c675e205a34bd62c4ce8b9bd1ca5c85126d5b" @@ -5983,6 +6240,13 @@ signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== +simple-swizzle@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" + integrity sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg== + dependencies: + is-arrayish "^0.3.1" + sisteransi@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" @@ -6033,6 +6297,11 @@ source-map@^0.7.3: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== +split-on-first@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f" + integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw== + sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" @@ -6067,6 +6336,11 @@ statuses@~1.5.0: resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== +strict-uri-encode@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546" + integrity sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ== + string-length@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" @@ -6446,6 +6720,11 @@ uri-js@^4.2.2: dependencies: punycode "^2.1.0" +use-latest-callback@^0.1.9: + version "0.1.9" + resolved "https://registry.yarnpkg.com/use-latest-callback/-/use-latest-callback-0.1.9.tgz#10191dc54257e65a8e52322127643a8940271e2a" + integrity sha512-CL/29uS74AwreI/f2oz2hLTW7ZqVeV5+gxFeGudzQrgkCytrHw33G4KbnQOrRlAEzzAFXi7dDLMC9zhWcVpzmw== + util-deprecate@^1.0.1, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" @@ -6482,6 +6761,11 @@ walker@^1.0.7, walker@^1.0.8: dependencies: makeerror "1.0.12" +warn-once@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/warn-once/-/warn-once-0.1.1.tgz#952088f4fb56896e73fd4e6a3767272a3fccce43" + integrity sha512-VkQZJbO8zVImzYFteBXvBOZEl1qL175WH8VmZcxF2fZAoudNhNDvHi+doCaAEdU2l2vtcIwa2zn0QK5+I1HQ3Q== + wcwidth@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8"