diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000..a064e3c
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,6 @@
+{
+ "cSpell.words": [
+ "Ionicons",
+ "Signup"
+ ]
+}
\ No newline at end of file
diff --git a/App.tsx b/App.tsx
index eca3657..eba1970 100644
--- a/App.tsx
+++ b/App.tsx
@@ -1,17 +1,26 @@
-
+import { NavigationContainer } from '@react-navigation/native';
import { createNativeStackNavigator } from '@react-navigation/native-stack';
import { StatusBar } from 'expo-status-bar';
import React from 'react';
import Navigation from './Navigation/Navigation'
+import { View } from 'react-native';
+import { SafeAreaView } from 'react-native';
+import { Colors } from './styles';
+import { CartProvider } from './Components/Context/CartContext';
const Stack = createNativeStackNavigator();
-
export default function App() {
return (
- <>
-
-
- >
+
+
+
+
+ {/* SO THE CONTENT WONT BE ABOVE STATUS BAR */}
+
+
+
+
+
);
}
\ No newline at end of file
diff --git a/Components/BackButton/BackButton.tsx b/Components/BackButton/BackButton.tsx
new file mode 100644
index 0000000..273e77f
--- /dev/null
+++ b/Components/BackButton/BackButton.tsx
@@ -0,0 +1,15 @@
+import { TouchableOpacity, View, Image, Pressable } from "react-native";
+import styles from "./Styles";
+
+function BackButton ({action}:any) {
+
+ return(
+
+
+
+
+
+ );
+}
+
+export default BackButton;
\ No newline at end of file
diff --git a/Components/BackButton/Styles.ts b/Components/BackButton/Styles.ts
new file mode 100644
index 0000000..b6cbf0b
--- /dev/null
+++ b/Components/BackButton/Styles.ts
@@ -0,0 +1,11 @@
+import { StyleSheet } from "react-native";
+
+const styles = StyleSheet.create({
+ arrowButton: {
+ padding: 5,
+ width: 30,
+ resizeMode: 'contain',
+ },
+ });
+
+ export default styles
\ No newline at end of file
diff --git a/Components/ButtonRemove/ButtonRemove.tsx b/Components/ButtonRemove/ButtonRemove.tsx
new file mode 100644
index 0000000..64a8406
--- /dev/null
+++ b/Components/ButtonRemove/ButtonRemove.tsx
@@ -0,0 +1,15 @@
+import React, { useContext } from 'react';
+import { TouchableOpacity, View, Image, Text, StyleSheet } from 'react-native';
+import styles from './Styles';
+
+function ButtonRemove({ onPress }: any) {
+ return (
+
+
+ -
+
+
+ );
+}
+
+export default ButtonRemove;
diff --git a/Components/ButtonRemove/Styles.ts b/Components/ButtonRemove/Styles.ts
new file mode 100644
index 0000000..b019d52
--- /dev/null
+++ b/Components/ButtonRemove/Styles.ts
@@ -0,0 +1,29 @@
+import { StyleSheet } from "react-native";
+import { Colors } from "../../styles";
+
+const styles = StyleSheet.create({
+container: {
+ position: 'absolute',
+ width: 50,
+ height: 50,
+ borderRadius: 25,
+ backgroundColor: Colors.removeButton,
+ justifyContent: 'center',
+ alignItems: 'center',
+ shadowColor: 'black',
+ shadowOffset: {width: 1, height: 2},
+ shadowOpacity: 0.25,
+ shadowRadius: 4,
+ elevation: 2, //ANDROID
+ },
+ text:{
+ fontSize: 48,
+ fontWeight: '600',
+ color: Colors.cardTitle,
+ textAlign: 'center',
+ lineHeight: 52,
+ },
+
+});
+
+export default styles;
\ No newline at end of file
diff --git a/Components/CartButton/CartButton.tsx b/Components/CartButton/CartButton.tsx
new file mode 100644
index 0000000..88b66a3
--- /dev/null
+++ b/Components/CartButton/CartButton.tsx
@@ -0,0 +1,18 @@
+import React, { useContext } from 'react';
+import { TouchableOpacity, View, Image, Text, StyleSheet } from 'react-native';
+import styles from './Styles';
+import { CartContext } from '../Context/CartContext';
+
+function CartButton({ onPress, cartCount }: any) {
+ const cartCounter = useContext(CartContext);
+ return (
+
+
+
+ {cartCounter.cards.length}
+
+
+ );
+}
+
+export default CartButton;
diff --git a/Components/CartButton/Styles.ts b/Components/CartButton/Styles.ts
new file mode 100644
index 0000000..0e7b1f0
--- /dev/null
+++ b/Components/CartButton/Styles.ts
@@ -0,0 +1,26 @@
+import { StyleSheet } from "react-native";
+
+const styles = StyleSheet.create({
+ cartButton: {
+ width: 28,
+ height: 28,
+ position: 'absolute'
+ },
+ badge: {
+ position: 'relative',
+ left: 17,
+ bottom: 4,
+ backgroundColor: 'green',
+ borderRadius: 10,
+ width: 15,
+ height: 15,
+ justifyContent: 'center',
+ alignItems: 'center',
+ },
+ badgeText: {
+ color: 'white',
+ fontSize: 9,
+ },
+});
+
+export default styles;
\ No newline at end of file
diff --git a/Components/Context/CartContext.tsx b/Components/Context/CartContext.tsx
new file mode 100644
index 0000000..01fa7c9
--- /dev/null
+++ b/Components/Context/CartContext.tsx
@@ -0,0 +1,45 @@
+import React, { createContext, useState } from "react";
+
+type CardData = {
+ id: number;
+ title: string;
+ price: number;
+ image: string;
+ description: string;
+};
+
+type CartContextType = {
+ cards: CardData[];
+ addCard: (card: CardData) => void;
+ removeCard: (cardId: number) => void;
+ clearCart: () => void;
+};
+
+export const CartContext = createContext({
+ cards: [],
+ addCard: () => {},
+ removeCard: () => {},
+ clearCart: () => {},
+});
+
+export const CartProvider: React.FC> = ({ children }) => {
+ const [cards, setCards] = useState([]);
+
+ const addCard = (card: CardData) => {
+ setCards((prevCards) => [...prevCards, card]);
+ };
+
+ const removeCard = (cardId: number) => {
+ setCards((prevCards) => prevCards.filter((card) => card.id !== cardId));
+ };
+
+ const clearCart = ()=>{
+ setCards([]);
+ }
+
+ return (
+
+ {children}
+
+ );
+};
diff --git a/Components/FavoriteButton/FavoriteButton.tsx b/Components/FavoriteButton/FavoriteButton.tsx
new file mode 100644
index 0000000..0d10f44
--- /dev/null
+++ b/Components/FavoriteButton/FavoriteButton.tsx
@@ -0,0 +1,29 @@
+import React, { useState } from "react";
+import { TouchableOpacity, View } from "react-native";
+import { Ionicons } from "@expo/vector-icons";
+import { Colors } from "../../styles/index";
+
+type Props ={
+ size: number,
+}
+const FavoriteButton = ({size}:Props) => {
+ const [isFavorite, setIsFavorite] = useState(false);
+
+ const handlePress = () => {
+ setIsFavorite(!isFavorite);
+ };
+
+ return (
+
+
+
+
+
+ );
+};
+
+export default FavoriteButton;
diff --git a/Components/GridCard/GridCard.tsx b/Components/GridCard/GridCard.tsx
new file mode 100644
index 0000000..cfbecee
--- /dev/null
+++ b/Components/GridCard/GridCard.tsx
@@ -0,0 +1,74 @@
+import { Text, View, FlatList, Image, TouchableOpacity } from "react-native";
+import styles from "./Styles";
+import React, { useState, useEffect } from "react";
+import axios from "axios";
+import FavoriteButton from "../FavoriteButton/FavoriteButton";
+import { useNavigation } from "@react-navigation/native";
+import { PriceCardHome } from "../PriceCardHome/PriceCardHome";
+
+type IconData = {
+ id: number;
+ title: string;
+ price: number;
+ image: string;
+ description: string;
+};
+
+const GridCard = (): JSX.Element => {
+ const [cardsData, setCardsData] = useState([]);
+ const navigation = useNavigation();
+
+ useEffect(() => {
+ fetchCardsData();
+ }, []);
+
+ const fetchCardsData = async () => {
+ try {
+ const response = await axios.get("https://fakestoreapi.com/products/");
+ setCardsData(response.data);
+ } catch (error) {
+ console.error("Error fetching data: ", error);
+ }
+ };
+
+ const handleCardPress = (item: IconData) => {
+ navigation.navigate("ProductScreen", {
+ id: item.id,
+ title: item.title,
+ price: item.price,
+ image: item.image,
+ description: item.description,
+ });
+ };
+ const renderCard = ({ item }: { item: IconData }) => (
+ handleCardPress(item)}>
+
+
+ {item.title}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+
+ return (
+ item.id.toString()}
+ />
+ );
+};
+
+export default GridCard;
diff --git a/Components/GridCard/Styles.ts b/Components/GridCard/Styles.ts
new file mode 100644
index 0000000..8c1240c
--- /dev/null
+++ b/Components/GridCard/Styles.ts
@@ -0,0 +1,47 @@
+import { Colors } from "../../styles/index";
+import { StyleSheet } from "react-native";
+
+const styles = StyleSheet.create({
+ cardContainer: {
+ flex: 1,
+ backgroundColor: Colors.white,
+ height: 226,
+ width: 186,
+ margin: 5,
+ borderRadius: 10,
+ padding: 5,
+ justifyContent: 'center',
+ },
+ card :{
+ alignItems: 'center',
+ },
+ imageContainer: {
+ marginBottom: 10,
+ },
+ cardImage: {
+ alignSelf: "center",
+ width: 120,
+ height: 120,
+ top: 14,
+ marginBottom: 10,
+ },
+ productTitle: {
+ textAlign: 'left',
+ color: Colors.background,
+ fontSize: 12,
+ fontWeight: "700",
+ width: 145,
+ },
+
+ priceAndFavoriteContainer: {
+ flexDirection: "row",
+ alignItems: "center",
+ justifyContent: "space-between",
+ marginTop: 4,
+ },
+ priceContainer:{
+ marginRight: 10,
+ }
+});
+
+export default styles;
diff --git a/Components/NotificationCard/NotificationCard.tsx b/Components/NotificationCard/NotificationCard.tsx
new file mode 100644
index 0000000..b176761
--- /dev/null
+++ b/Components/NotificationCard/NotificationCard.tsx
@@ -0,0 +1,18 @@
+import { TouchableOpacity, View, Text } from "react-native";
+import styles from "./Styles";
+
+function NotificationCard({ children, onPress}: any) {
+ return(
+
+
+ Good!
+ {children}
+
+
+ OK
+
+
+ );
+}
+
+export default NotificationCard;
\ No newline at end of file
diff --git a/Components/NotificationCard/Styles.ts b/Components/NotificationCard/Styles.ts
new file mode 100644
index 0000000..139206a
--- /dev/null
+++ b/Components/NotificationCard/Styles.ts
@@ -0,0 +1,42 @@
+import { StyleSheet } from "react-native";
+import { Colors } from "../../styles";
+
+const styles = StyleSheet.create({
+ container: {
+ marginLeft: 20,
+ backgroundColor: Colors.cardTitle,
+ width: 320,
+ height: 190,
+ borderRadius: 5,
+ borderWidth: 0.5,
+ padding: 5,
+ shadowColor: 'rgba(0, 0, 0, 0.25)',
+ shadowOffset: {width: 0, height: 3},
+ shadowOpacity: 0.25,
+ shadowRadius: 4,
+ elevation: 3, //ANDROID
+ },
+ textContainer: {
+ marginTop: 12,
+ marginLeft: 18,
+ },
+ cardTitle: {
+ fontSize: 20,
+ fontWeight: '600',
+ },
+ cardText: {
+ fontSize: 16,
+ fontWeight: '400',
+ marginTop: 14,
+ },
+ okText: {
+ fontSize: 20,
+ fontWeight: '600',
+ },
+ okContainer: {
+ marginTop: 65,
+ marginLeft: 260,
+ }
+ });
+
+ export default styles
\ No newline at end of file
diff --git a/Components/PriceCard/PriceCard.tsx b/Components/PriceCard/PriceCard.tsx
new file mode 100644
index 0000000..675b4dd
--- /dev/null
+++ b/Components/PriceCard/PriceCard.tsx
@@ -0,0 +1,18 @@
+import React from "react";
+import { View, Text } from "react-native";
+import Styles from "./Styles";
+
+interface Props {
+ priceText: string;
+ priceNumber: number;
+}
+
+export const PriceCard = ({ priceText, priceNumber }: Props): JSX.Element => {
+ return (
+
+
+ {priceText} {priceNumber}
+
+
+ );
+};
diff --git a/Components/PriceCard/Styles.ts b/Components/PriceCard/Styles.ts
new file mode 100644
index 0000000..922b688
--- /dev/null
+++ b/Components/PriceCard/Styles.ts
@@ -0,0 +1,33 @@
+import { Colors } from "../../styles/index";
+import { StyleSheet } from "react-native";
+
+const styles = StyleSheet.create({
+ textPriceCard: {
+ //position: "absolute",
+ //alignSelf: "center",
+ //marginTop: 6,
+ color: Colors.primary,
+ fontSize: 18,
+ fontWeight: "600",
+ textAlign: "center",
+ //justifyContent: 'center',
+ },
+ priceCard: {
+ backgroundColor: Colors.priceButton,
+ borderRadius: 8,
+ //paddingVertical: 15,
+ //paddingHorizontal: 18,
+ width: 125,
+ height: 50,
+ //left: 7,
+ //marginTop: 7,
+ justifyContent: 'center',
+ shadowColor: 'black',
+ shadowOffset: {width: 1, height: 4},
+ shadowOpacity: 0.25,
+ shadowRadius: 4,
+ elevation: 4, //ANDROID
+ },
+});
+
+export default styles;
\ No newline at end of file
diff --git a/Components/PriceCardHome/PriceCardHome.tsx b/Components/PriceCardHome/PriceCardHome.tsx
new file mode 100644
index 0000000..3af5a91
--- /dev/null
+++ b/Components/PriceCardHome/PriceCardHome.tsx
@@ -0,0 +1,19 @@
+import React from "react";
+import { View, Text, StyleProp, ViewStyle } from "react-native";
+import Styles from "./Styles";
+
+interface Props {
+ priceText: string;
+ priceNumber: number;
+ style?: StyleProp;
+}
+
+export const PriceCardHome = ({ style, priceText, priceNumber }: Props): JSX.Element => {
+ return (
+
+
+ {priceText} {priceNumber}
+
+
+ );
+};
diff --git a/Components/PriceCardHome/Styles.ts b/Components/PriceCardHome/Styles.ts
new file mode 100644
index 0000000..39bc00c
--- /dev/null
+++ b/Components/PriceCardHome/Styles.ts
@@ -0,0 +1,33 @@
+import { Colors } from "../../styles/index";
+import { StyleSheet } from "react-native";
+
+const styles = StyleSheet.create({
+ textPriceCard: {
+ //position: "absolute",
+ //alignSelf: "center",
+ //marginTop: 6,
+ color: Colors.primary,
+ fontSize: 14,
+ fontWeight: "600",
+ textAlign: "center",
+ //justifyContent: 'center',
+ },
+ priceCard: {
+ backgroundColor: Colors.priceButton,
+ borderRadius: 8,
+ //paddingVertical: 15,
+ //paddingHorizontal: 18,
+ width: 109,
+ height: 30,
+ //left: 7,
+ //marginTop: 7,
+ justifyContent: 'center',
+ shadowColor: 'black',
+ shadowOffset: {width: 1, height: 4},
+ shadowOpacity: 0.25,
+ shadowRadius: 4,
+ elevation: 4, //ANDROID
+ },
+});
+
+export default styles;
\ No newline at end of file
diff --git a/Components/PrimaryButton/PrimaryButton.tsx b/Components/PrimaryButton/PrimaryButton.tsx
new file mode 100644
index 0000000..ced444e
--- /dev/null
+++ b/Components/PrimaryButton/PrimaryButton.tsx
@@ -0,0 +1,26 @@
+import { View, Text, Pressable, Image } from "react-native";
+import React, { useState } from 'react';
+import Icon from 'react-native-vector-icons/FontAwesome';
+import styles from "./Styles";
+
+function PrimaryButton({ children, onPress }: any) { {/* PRESS -> NAVIGATION || CHILDREN -> TEXT */}
+ const [pressed, setPressed] = useState(false);
+
+ return (
+ setPressed(true)}
+ onPressOut={() => setPressed(false)}
+ >
+
+ {!pressed ?
+ {children} :
+
+ //
+ }
+
+
+ );
+}
+
+export default PrimaryButton;
\ No newline at end of file
diff --git a/Components/PrimaryButton/Styles.ts b/Components/PrimaryButton/Styles.ts
new file mode 100644
index 0000000..4e3782e
--- /dev/null
+++ b/Components/PrimaryButton/Styles.ts
@@ -0,0 +1,50 @@
+import { StyleSheet } from "react-native";
+import { Colors } from "../../styles";
+
+const styles = StyleSheet.create({
+ container: {
+ alignItems: 'center',
+ },
+ button: {
+ backgroundColor: Colors.buttonBuy,
+ width: 260,
+ height: 55,
+ borderRadius: 25,
+ padding: 17,
+ marginTop: 15,
+ shadowColor: 'black',
+ shadowOffset: {width: 1, height: 5},
+ shadowOpacity: 0.20,
+ shadowRadius: 4,
+ elevation: 4, //ANDROID
+ },
+ buttonText: {
+ color: 'white',
+ textAlign: "center",
+ justifyContent: 'center',
+ fontSize: 16,
+ textTransform: "uppercase",
+ fontWeight: 'bold',
+ },
+ pressed: {
+ opacity: 0.7,
+ },/*
+ icon: {
+ alignSelf: 'center',
+ marginRight: 10,
+ },*/
+ refresh: {
+ alignSelf: 'center',
+ width: 20,
+ height: 20,
+ resizeMode: 'contain',
+ },
+ quantityBox: {
+ width: 15,
+ height: 15,
+ borderRadius: 7.5,
+ backgroundColor: "green",
+ }
+ });
+
+ export default styles
\ No newline at end of file
diff --git a/Components/QuantityButton/QuantityButton.tsx b/Components/QuantityButton/QuantityButton.tsx
new file mode 100644
index 0000000..fa8051c
--- /dev/null
+++ b/Components/QuantityButton/QuantityButton.tsx
@@ -0,0 +1,36 @@
+import { useState } from "react";
+import { TouchableOpacity, View, Text } from "react-native";
+import styles from "./Styles";
+
+type QuantityButtonProps = {
+ quantity: number;
+ onQuantityChange: (newQuantity: number) => void;
+ };
+
+ export const QuantityButton = ({quantity, onQuantityChange}: QuantityButtonProps): JSX.Element => {
+ const decreaseNumber = () => {
+ if (quantity > 1) {
+ onQuantityChange(quantity - 1);
+ }
+ };
+
+ const increaseNumber = () => {
+ onQuantityChange(quantity + 1);
+ };
+
+ return (
+
+
+
+ -
+
+
+ {quantity}
+
+
+ +
+
+
+
+ );
+};
\ No newline at end of file
diff --git a/Components/QuantityButton/Styles.ts b/Components/QuantityButton/Styles.ts
new file mode 100644
index 0000000..20693b0
--- /dev/null
+++ b/Components/QuantityButton/Styles.ts
@@ -0,0 +1,40 @@
+import { Colors } from '../../styles/index';
+import { StyleSheet} from 'react-native';
+
+const styles = StyleSheet.create({
+ quantityContainer: {
+ flexDirection: 'row',
+ alignItems: 'center',
+ justifyContent: 'center',
+ margin: 10,
+ },
+ quantityButton: {
+ width: 50,
+ height: 50,
+ backgroundColor: Colors.background,
+ borderRadius: 50,
+ justifyContent: 'center',
+ shadowColor: 'black',
+ shadowOffset: {width: 1, height: 4},
+ shadowOpacity: 0.25,
+ shadowRadius: 4,
+ elevation: 4, //ANDROID
+ },
+ qtButtonText: {
+ fontSize: 46,
+ fontWeight: '500',
+ color: Colors.primary,
+ textAlign: 'center',
+ lineHeight: 52,
+ },
+ quantityText: {
+ fontSize: 42,
+ fontWeight: '400',
+ color: Colors.primary,
+ textAlign: 'center',
+ marginLeft: 10,
+ marginRight: 10,
+ },
+})
+
+export default styles
\ No newline at end of file
diff --git a/Components/StarsIcon/StarsIcon.tsx b/Components/StarsIcon/StarsIcon.tsx
new file mode 100644
index 0000000..9908388
--- /dev/null
+++ b/Components/StarsIcon/StarsIcon.tsx
@@ -0,0 +1,29 @@
+import React, { useState } from "react";
+import { TouchableOpacity, View } from "react-native";
+import { Ionicons } from "@expo/vector-icons";
+import { Colors } from "../../styles/index";
+
+
+
+const StarsIcon = () => {
+ const [isFavorite, setIsFavorite] = useState(false);
+
+ const handlePress = () => {
+ setIsFavorite(!isFavorite);
+ };
+
+ return (
+
+
+
+
+
+ );
+};
+
+export default StarsIcon;
+
diff --git a/Navigation/Authstack.tsx b/Navigation/Authstack.tsx
index 8b38469..eb1f005 100644
--- a/Navigation/Authstack.tsx
+++ b/Navigation/Authstack.tsx
@@ -1,8 +1,9 @@
-import LoginScreen from '../Screens/LoginScreen/Index';
-import SignupScreen from '../Screens/SignUpScreen/Index';
-import HomeScreen from '../Screens/HomeScreen/HomeScreen';
import { createNativeStackNavigator } from '@react-navigation/native-stack';
-import { Colors } from '../Styles/Index';
+import { Colors } from '../styles/index';
+import BottomTab from './BottomTab';
+import LoginScreen from '../Screens/LoginScreen';
+import ProductScreen from '../Screens/ProductScreen';
+import SignUpScreen from '../Screens/SignUpScreen';
const Stack = createNativeStackNavigator();
@@ -10,14 +11,14 @@ export default function AuthStack() {
return (
-
-
+
+
+
);
}
\ No newline at end of file
diff --git a/Navigation/BottomTab.tsx b/Navigation/BottomTab.tsx
new file mode 100644
index 0000000..07acd82
--- /dev/null
+++ b/Navigation/BottomTab.tsx
@@ -0,0 +1,86 @@
+import { createBottomTabNavigator } from "@react-navigation/bottom-tabs";
+import { Colors } from "../styles";
+import { View, Image, Text } from "react-native";
+import HomeScreen from "../Screens/HomeScreen";
+import { CartScreen } from "../Screens/CartScreen";
+
+
+const Tab = createBottomTabNavigator();
+
+function BottomTab() {
+ return (
+
+ (
+
+
+
+ HOME
+
+
+ ),
+ }}
+ />
+
+ (
+
+
+
+ CART
+
+
+ ),
+ }}
+ />
+
+ );
+}
+
+export default BottomTab;
diff --git a/Navigation/Navigation.tsx b/Navigation/Navigation.tsx
index 1cf56c5..af586b7 100644
--- a/Navigation/Navigation.tsx
+++ b/Navigation/Navigation.tsx
@@ -1,9 +1,7 @@
-import { NavigationContainer } from '@react-navigation/native';
import AuthStack from './Authstack'
+
export default function Navigation() {
return (
-
-
);
}
\ No newline at end of file
diff --git a/Screens/CartScreen/Index.tsx b/Screens/CartScreen/Index.tsx
new file mode 100644
index 0000000..49bc773
--- /dev/null
+++ b/Screens/CartScreen/Index.tsx
@@ -0,0 +1,85 @@
+import { ScrollView, View, Text,Image,TouchableOpacity,Alert } from "react-native";
+import styles from "./Styles";
+import PrimaryButton from "../../Components/PrimaryButton/PrimaryButton";
+import { CartContext } from "../../Components/Context/CartContext";
+import React, { useContext } from "react";
+import { PriceCardHome } from "../../Components/PriceCardHome/PriceCardHome";
+import ButtonRemove from "../../Components/ButtonRemove/ButtonRemove";
+
+
+export const CartScreen = () => {
+ const cartContext = useContext(CartContext);
+
+ const handleBuyButtonPress = () => {
+ Alert.alert(
+ "Good!",
+ "Product successfully purchased.",
+ [{ text: "OK", onPress: clearCart }],
+ { cancelable: false }
+ );
+ };
+
+
+
+ const TotalPrice = () => { //sum total price function
+ return cartContext.cards.reduce((total, card) => total + card.price, 0);
+ };
+ const removeCard = (cardId: number) => {
+ cartContext.removeCard(cardId);
+ };
+ const clearCart = () => {
+ cartContext.clearCart();
+ };
+
+
+
+ return(
+
+
+
+ TOTAL
+
+ R$
+ {TotalPrice().toFixed(2)}
+
+
+ {cartContext.cards.length === 0 ? (
+
+ Ops, Empty Cart :{"("}
+ Add a product
+ ) : (
+
+ {/* Render cards */}
+ {cartContext.cards.map((card,index) => (
+
+
+
+ removeCard(card.id)}/>
+
+
+
+
+ {card.title}
+
+
+
+
+
+
+
+
+
+ ))}
+
+ )}
+
+
+ BUY
+
+
+ );
+}
\ No newline at end of file
diff --git a/Screens/CartScreen/Styles.ts b/Screens/CartScreen/Styles.ts
new file mode 100644
index 0000000..700b712
--- /dev/null
+++ b/Screens/CartScreen/Styles.ts
@@ -0,0 +1,114 @@
+import { StyleSheet } from "react-native";
+import { Colors } from "../../styles";
+
+const styles = StyleSheet.create({
+ container:{
+ flex:1,
+ backgroundColor: Colors.background,
+ },
+ textContainer:{
+ marginLeft: 40,
+ marginTop: 30,
+ },
+ cardContainer: {
+ flex: 1,
+ backgroundColor: Colors.white,
+ height: 226,
+ width: 186,
+ margin: 5,
+ borderRadius: 10,
+ padding: 5,
+ justifyContent: 'center',
+ },
+ card:{
+ backgroundColor: Colors.cardProduct,
+ borderRadius: 20,
+ padding: 10,
+ marginLeft: 20,
+ marginRight: 20,
+ marginBottom: 20,
+ width: 358,
+ height: 139,
+ },
+ productTitle: {
+ width: '60%',
+ fontSize: 14,
+ color: Colors.background,
+ fontWeight: "bold",
+ marginTop:10,
+ marginBottom: 10,
+ marginLeft: 130,
+ },
+ EmptyCartTextUp:{
+ fontSize: 25,
+ justifyContent: 'center',
+ color: Colors.white,
+ marginTop: '40%',
+ marginBottom: '10%',
+ textAlign: 'center',
+ },
+ EmptyCartTextDown:{
+ textAlign: 'center',
+ fontSize: 18,
+ justifyContent: 'center',
+ marginBottom: '40%',
+ color: Colors.white,
+ },
+ cardImage: {
+ alignSelf: "center",
+ width: 120,
+ height: 120,
+ top: 14,
+ marginBottom: 10,
+ },
+ imageContainer:{
+ position: 'absolute',
+ justifyContent: "center",
+ alignItems: "center",
+ marginBottom: 10,
+ },
+ totalText: {
+ fontSize: 20,
+ fontWeight: '700',
+ color: Colors.titleText,
+ },
+ priceText:{
+ fontSize: 32,
+ fontWeight: '600',
+ color: Colors.primary,
+ marginRight: 2,
+ marginBottom: 30,
+ },
+ priceContainer: {
+ marginTop: 10,
+ flexDirection: 'row',
+ },
+ priceCardContainer: {
+ marginLeft: 128,
+ },
+ priceCard: {
+ width: 138,
+ height: 43,
+ marginTop: 10,
+ },
+ line: {
+ marginTop: 50,
+ borderWidth: 1,
+ borderBottomColor: Colors.input,
+ },
+ buttonContainer:{
+ bottom: 0,
+ width: "100%",
+ alignItems: "center",
+ justifyContent: "center",
+ marginBottom: 20,
+ padding: 5,
+ },
+ buttonRemove:{
+ bottom: 12,
+ left: 300,
+ zIndex: 1,
+ },
+})
+
+export default styles;
\ No newline at end of file
diff --git a/Screens/HomeScreen/GridCard.tsx b/Screens/HomeScreen/GridCard.tsx
deleted file mode 100644
index 077f44f..0000000
--- a/Screens/HomeScreen/GridCard.tsx
+++ /dev/null
@@ -1,46 +0,0 @@
-import { Text, View,FlatList} from 'react-native';
-import styles from './Styles'
-import React, { useState } from 'react';
-
-const Array =[
- {id:'1',value:'1'},
- {id:'2',value:'2'},
- {id:'3',value:'3'},
- {id:'4',value:'4'},
- {id:'5',value:'5'},
- {id:'6',value:'6'},
- {id:'7',value:'7'},
- {id:'8',value:'8'},
- {id:'9',value:'9'},
- {id:'10',value:'10'},
- {id:'11',value:'11'},
- {id:'12',value:'12'},
- {id:'13',value:'13'},
- {id:'14',value:'14'},
- {id:'15',value:'15'},
- {id:'16',value:'16'}
-];
- function Card(){// cards body
- return(
-
-
-
- );
-}
-
-function GridCard() { //flatlist with a grid of cards
- const [listItens,setListItens] = useState(Array);
- return(
-
- index.toString()}
- />
-
- );
- }
-
-
-export default GridCard;
\ No newline at end of file
diff --git a/Screens/HomeScreen/HomeScreen.tsx b/Screens/HomeScreen/HomeScreen.tsx
deleted file mode 100644
index 1de3620..0000000
--- a/Screens/HomeScreen/HomeScreen.tsx
+++ /dev/null
@@ -1,14 +0,0 @@
-import { Text, View} from 'react-native';
-import GridCard from './GridCard';
-import styles from './Styles'
-
-function HomeScreen() {
- return(
-
- HOME
-
-
- );
- }
-
-export default HomeScreen;
\ No newline at end of file
diff --git a/Screens/HomeScreen/Index.tsx b/Screens/HomeScreen/Index.tsx
new file mode 100644
index 0000000..b038462
--- /dev/null
+++ b/Screens/HomeScreen/Index.tsx
@@ -0,0 +1,32 @@
+import { Text, View} from 'react-native';
+import GridCard from '../../Components/GridCard/GridCard';
+import styles from './Styles'
+import CartButton from '../../Components/CartButton/CartButton';
+import { NavProps } from '../../types/navigation';
+
+function HomeScreen({navigation}:NavProps) {
+ const handleCartButton = () => {
+ navigation.navigate('Cart');
+ }
+
+ return(
+
+
+
+
+ Welcome
+ User
+
+
+
+
+
+
+
+
+
+
+ );
+ }
+
+export default HomeScreen;
\ No newline at end of file
diff --git a/Screens/HomeScreen/Styles.ts b/Screens/HomeScreen/Styles.ts
index ca0f5f1..67ee720 100644
--- a/Screens/HomeScreen/Styles.ts
+++ b/Screens/HomeScreen/Styles.ts
@@ -1,25 +1,57 @@
-import { Colors } from '../../Styles/Index';
-import { StyleSheet} from 'react-native';
+import { Colors } from "../../styles/index";
+import { StyleSheet } from "react-native";
const styles = StyleSheet.create({
- container:{
- flex:1,
- },
- card:{
- flex:1,
- backgroundColor: Colors.card,
- height:226,
- width:186,
- margin: 5,
- borderRadius:10,
- },
- title: {
- color: Colors.primary,
- marginTop:15,
- marginLeft:15,
- marginBottom: 20,
- fontSize: 20,
- },
+ container: {
+ flex: 1,
+ backgroundColor: Colors.background,
+ },
+ card: {
+ flex: 1,
+ backgroundColor: Colors.white,
+ height: 226,
+ width: 186,
+ margin: 5,
+ borderRadius: 10,
+ padding: 5,
+ },
+ header:{
+ flexDirection: 'row',
+ alignItems: 'baseline',
+ justifyContent: 'space-between',
+ marginTop: 10,
+ //marginTop: 20,
+ },
+ cartButton: {
+ marginRight: 30,
+ alignItems: 'flex-end',
+ },
+ headerTextContainer:{
+ marginLeft: 15,
+ },
+ title: {
+ color: Colors.primary,
+ fontSize: 20,
+ fontWeight: '500',
+ textAlign: 'left',
+ },
+ titleUp: {
+ color: Colors.white,
+ fontSize: 14,
+ fontWeight: '500',
+ textAlign: 'left',
+ },
+ line: {
+ borderWidth: 3,
+ width: 55,
+ borderBottomColor: Colors.white,
+ alignSelf: 'flex-start',
+ },
+ gridContent:{
+ //marginTop: 5,
+ padding: 10,
+ flex: 1,
+ }
});
-
-export default styles
\ No newline at end of file
+
+export default styles;
diff --git a/Screens/LoginScreen/Index.tsx b/Screens/LoginScreen/Index.tsx
index 139f63a..e27ca17 100644
--- a/Screens/LoginScreen/Index.tsx
+++ b/Screens/LoginScreen/Index.tsx
@@ -1,12 +1,12 @@
import { Text, View,TextInput,Image, TouchableOpacity,Pressable} from 'react-native';
import styles from './Styles'
import React, { useState } from 'react';
-import{ NavProps } from '../../Types/navigation';
+import{ NavProps } from '../../types/navigation';
const icons={// Assets icons
- mail:require('../../Assets/mail_.png'),
- lock:require('../../Assets/lock_.png'),
- user:require('../../Assets/user_.png')
+ mail:require('../../assets/mail_.png'),
+ lock:require('../../assets/lock_.png'),
+ user:require('../../assets/user_.png')
}
function LoginScreen({ navigation } :NavProps) {
@@ -77,7 +77,7 @@ function LoginScreen({ navigation } :NavProps) {
Don't have an account?
- Sing Up
+ Sign Up
diff --git a/Screens/LoginScreen/Styles.ts b/Screens/LoginScreen/Styles.ts
index 4e9f775..dbba1da 100644
--- a/Screens/LoginScreen/Styles.ts
+++ b/Screens/LoginScreen/Styles.ts
@@ -1,11 +1,11 @@
-import { Colors } from '../../Styles/Index';
+import { Colors } from '../../styles/index';
import { StyleSheet} from 'react-native';
const styles = StyleSheet.create({
container: {
flex: 1,
alignItems: 'flex-start',
justifyContent: 'center',
-
+ backgroundColor: Colors.background,
},
title: {
color: Colors.primary,
@@ -50,16 +50,16 @@ const styles = StyleSheet.create({
alignItems: 'flex-start',
justifyContent: 'flex-start',
textAlign: 'left',
- color: Colors.erro,
+ color: Colors.error,
marginTop: -12,
marginLeft: 60,
},
invalidLabel: {
- borderColor: Colors.erro,
+ borderColor: Colors.error,
borderWidth: 2,
},
buttonText: {
- color: Colors.inputPlaceHolder,
+ color: Colors.loginButtonText,
fontSize: 18,
padding: 5,
alignItems: 'center',
diff --git a/Screens/ProductScreen/Index.tsx b/Screens/ProductScreen/Index.tsx
new file mode 100644
index 0000000..78cd609
--- /dev/null
+++ b/Screens/ProductScreen/Index.tsx
@@ -0,0 +1,155 @@
+import { View, Text, Image, TouchableOpacity, ScrollView, Modal } from "react-native";
+import { PriceCard } from "../../Components/PriceCard/PriceCard";
+import StarsIcon from "../../Components/StarsIcon/StarsIcon"
+import FavoriteButton from "../../Components/FavoriteButton/FavoriteButton";
+import styles from "./Styles";
+import { useNavigation } from "@react-navigation/native";
+import React, { useState, useEffect, useContext } from "react";
+import CartButton from "../../Components/CartButton/CartButton";
+import PrimaryButton from "../../Components/PrimaryButton/PrimaryButton";
+import { QuantityButton } from "../../Components/QuantityButton/QuantityButton";
+import { CartContext } from "../../Components/Context/CartContext";
+import NotificationCard from "../../Components/NotificationCard/NotificationCard";
+
+
+type IconData = {
+ id_: string;
+ title_: string;
+ price_: number;
+ image_: string;
+ description_: string;
+};
+
+const ProductScreen = ({ route }: { route: any }) => {
+ const {id, title, price, image, description } = route.params;
+ const navigation = useNavigation();
+
+ const [productId, setProductId] = useState(id);
+ const [productTitle, setProductTitle] = useState(title);
+ const [productPrice, setProductPrice] = useState(price);
+ const [productImage, setProductImage] = useState(image);
+ const [productDescription, setProductDescription] = useState(description);
+ const [showNotification, setShowNotification] = useState(false);
+ const [productQuantity, setProductQuantity] = useState(1);
+
+ const generateRandomValue = () => {
+ return Math.floor(Math.random() * Number.MAX_SAFE_INTEGER);
+ };
+
+ useEffect(() => {
+ setProductId(id);
+ setProductTitle(title);
+ setProductPrice(price);
+ setProductImage(image);
+ setProductDescription(description);
+ }, [id,title, price, image, description]);
+
+ const iconData: IconData = {
+ id_: productId,
+ title_: productTitle,
+ price_: productPrice,
+ image_: productImage,
+ description_: productDescription
+ };
+
+ const cartContext = useContext(CartContext);
+
+ const handleBackButtonPress = () => {
+ navigation.navigate("Home");
+ };
+
+ const handleCartButtonPress = () => {
+ navigation.navigate("Cart");
+ };
+
+ const handleQuantityChange = (newQuantity: number) => {
+ setProductQuantity(newQuantity);
+ };
+
+ const handleCartButtonPressValue = () => {
+ for (let i = 0; i < productQuantity; i++) {
+ cartContext.addCard({
+ id: generateRandomValue(),
+ title: iconData.title_,
+ price: iconData.price_,
+ image: iconData.image_,
+ description: iconData.description_,
+ });
+ }
+ setShowNotification(true);
+ };
+
+ const handleNotificationOkPress = () => {
+ setShowNotification(false); // Hides the warning when pressing the "OK" button on the warning
+ // navigation.navigate('Cart');
+ };
+
+
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {productTitle}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {productDescription}
+
+ ADD TO CART
+
+
+
+
+
+
+ Product added to cart.
+
+
+
+
+
+
+ );
+};
+export default ProductScreen;
\ No newline at end of file
diff --git a/Screens/ProductScreen/Styles.ts b/Screens/ProductScreen/Styles.ts
new file mode 100644
index 0000000..84335fc
--- /dev/null
+++ b/Screens/ProductScreen/Styles.ts
@@ -0,0 +1,125 @@
+import { Colors } from '../../styles/index';
+import { StyleSheet} from 'react-native';
+
+const styles = StyleSheet.create({
+ container: {
+ flex: 1,
+ },
+ otherContainer: {
+ marginTop: 30,
+ marginLeft: 15,
+ marginRight: 15,
+ //justifyContent: 'center',
+ //alignContent: 'center',
+ },
+ card: {
+ backgroundColor: Colors.cardProduct,
+ borderRadius: 20,
+ padding: 10,
+ marginLeft: 20,
+ marginRight: 20,
+ //alignItems: 'center',
+ marginBottom: 20,
+ },
+
+ headerCard:{
+ // display:'flex',
+ flexDirection:'row',
+ alignItems:'flex-start',
+ //gap: 10,
+ justifyContent: 'center',
+ },
+
+ productTitle: {
+ width: '80%',
+ fontSize: 16,
+ color: Colors.background,
+ fontWeight: "bold",
+ marginTop:10,
+ marginBottom: 10,
+ marginLeft: 20,
+ },
+ favoriteButton:{
+ marginRight: 15,
+ },
+
+ cardImage: {
+ width: "80%",
+ justifyContent: 'center',
+ height: 240,
+ marginBottom: 10,
+ marginTop: 20,
+ },
+
+ imageContainer:{
+ justifyContent: "center",
+ alignItems: "center",
+ marginBottom: 10,
+ },
+
+ starsIconContainer:{
+ flexDirection:'row',
+ justifyContent:'flex-start',
+ //alignItems:'center',
+ gap: 3,
+ marginLeft: 5,
+ marginBottom: 20,
+ },
+ priceContainer: {
+ flexDirection:'row',
+ alignItems: 'center',
+ //padding: 10,
+ justifyContent: 'center',
+ //marginLeft: 5,
+ //width: 177,
+ },
+ productDescription:{
+ fontSize: 11,
+ color: Colors.background,
+ fontWeight: "bold",
+ marginTop:20,
+ marginBottom: 10,
+ marginLeft:5,
+ marginRight:5,
+ },
+ backButton: {
+ // marginTop: 5,
+ marginLeft: 20,
+ //marginBottom: 30,
+ //alignSelf: 'flex-start',
+ },
+ arrowButton:{
+ //padding: 5,
+ width: 30,
+ resizeMode: 'contain',
+ //marginBottom: 40,
+ },
+ buttonsContainer:{
+ flexDirection: 'row',
+ justifyContent: 'space-between',
+ height: 40,
+ alignItems: 'center', // Adicionado para centralizar verticalmente os botões
+ marginBottom: 20,
+ },
+ cartButton: {
+ //marginRight: 45,
+ //marginTop: 45,
+ // alignSelf: 'flex-start',
+ marginRight: 30,
+ marginBottom: 15,
+ },
+ buyButton:{
+ alignItems: 'center',
+ padding: 5,
+ marginBottom: 10,
+ },
+ notificationContainer: {
+ flex: 1,
+ backgroundColor: 'rgba(0, 0, 0, 0.5)', // Cor de fundo transparente para criar um efeito de sobreposição
+ justifyContent: 'center',
+ alignItems: 'center',
+ paddingHorizontal: 20,
+ },
+})
+
+export default styles
\ No newline at end of file
diff --git a/Screens/SignUpScreen/Index.tsx b/Screens/SignUpScreen/Index.tsx
index e2a7f90..6bbea65 100644
--- a/Screens/SignUpScreen/Index.tsx
+++ b/Screens/SignUpScreen/Index.tsx
@@ -2,13 +2,13 @@ import { Text, View,TextInput, TouchableOpacity,Pressable,Image} from 'react-na
import Checkbox from 'expo-checkbox';
import styles from './Styles'
import React, { useState } from 'react';
-import{ NavProps } from '../../Types/navigation';
-import { Colors } from 'react-native/Libraries/NewAppScreen';
+import{ NavProps } from '../../types/navigation';
+
const icons={ // Assets icons
- mail:require('../../Assets/mail_.png'),
- lock:require('../../Assets/lock_.png'),
- user:require('../../Assets/user_.png')
+ mail:require('../../assets/mail_.png'),
+ lock:require('../../assets/lock_.png'),
+ user:require('../../assets/user_.png')
}
function SignUpScreen({ navigation } :NavProps) {
@@ -61,7 +61,7 @@ function SignUpScreen({ navigation } :NavProps) {
}
return (
- SING UP
+ SIGN UP
Already have an account?
- Sing In
+ Log In
diff --git a/Screens/SignUpScreen/Styles.ts b/Screens/SignUpScreen/Styles.ts
index 1831627..ea7ec7e 100644
--- a/Screens/SignUpScreen/Styles.ts
+++ b/Screens/SignUpScreen/Styles.ts
@@ -1,10 +1,11 @@
-import { Colors } from '../../Styles/Index';
+import { Colors } from '../../styles/index';
import { StyleSheet} from 'react-native';
const styles = StyleSheet.create({
container: {
flex: 1,
alignItems: 'flex-start',
justifyContent: 'center',
+ backgroundColor: Colors.background,
},
image:{
marginHorizontal: 10,
@@ -33,7 +34,7 @@ const styles = StyleSheet.create({
alignItems: 'flex-start',
justifyContent: 'flex-start',
textAlign: 'left',
- color: Colors.erro,
+ color: Colors.error,
marginTop: -12,
marginLeft: 60
},
@@ -72,11 +73,11 @@ const styles = StyleSheet.create({
alignItems: 'center',
},
invalidLabel: {
- borderColor: Colors.erro,
+ borderColor: Colors.error,
borderWidth: 2,
},
buttonText: {
- color: Colors.inputPlaceHolder,
+ color: Colors.loginButtonText,
fontSize: 18,
padding: 5,
alignItems: 'center',
diff --git a/assets/arrow.png b/assets/arrow.png
new file mode 100644
index 0000000..b10e053
Binary files /dev/null and b/assets/arrow.png differ
diff --git a/assets/basket-icon-orange.png b/assets/basket-icon-orange.png
new file mode 100644
index 0000000..46ceea8
Binary files /dev/null and b/assets/basket-icon-orange.png differ
diff --git a/assets/basket-icon-white.png b/assets/basket-icon-white.png
new file mode 100644
index 0000000..2038b08
Binary files /dev/null and b/assets/basket-icon-white.png differ
diff --git a/assets/cart-icon.png b/assets/cart-icon.png
new file mode 100644
index 0000000..beef408
Binary files /dev/null and b/assets/cart-icon.png differ
diff --git a/assets/home-icon-orange.png b/assets/home-icon-orange.png
new file mode 100644
index 0000000..f9db021
Binary files /dev/null and b/assets/home-icon-orange.png differ
diff --git a/assets/home-icon-white.png b/assets/home-icon-white.png
new file mode 100644
index 0000000..ab7f52b
Binary files /dev/null and b/assets/home-icon-white.png differ
diff --git a/assets/refresh-icon.png b/assets/refresh-icon.png
new file mode 100644
index 0000000..da9ae8b
Binary files /dev/null and b/assets/refresh-icon.png differ
diff --git a/package-lock.json b/package-lock.json
index ec46200..a663850 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -8,22 +8,29 @@
"name": "logincompassuol",
"version": "1.0.0",
"dependencies": {
+ "@expo/vector-icons": "^13.0.0",
"@react-native-community/checkbox": "^0.5.15",
+ "@react-navigation/bottom-tabs": "^6.5.7",
"@react-navigation/native": "^6.1.6",
"@react-navigation/native-stack": "^6.9.12",
+ "axios": "^1.4.0",
"expo": "~48.0.11",
"expo-checkbox": "~2.3.1",
"expo-status-bar": "~1.4.4",
"react": "18.2.0",
- "react-native": "0.71.6",
- "react-native-safe-area-context": "^4.5.1",
+ "react-native": "0.71.8",
+ "react-native-safe-area-context": "4.5.0",
"react-native-screens": "^3.20.0",
- "styled-components": "^5.3.10"
+ "styled-components": "^5.3.10",
+ "uuid": "^9.0.0"
},
"devDependencies": {
"@babel/core": "^7.20.0",
"@types/react": "~18.0.14",
+ "@types/react-native": "^0.72.0",
+ "@types/react-native-vector-icons": "^6.4.13",
"@types/styled-components": "^5.1.26",
+ "@types/uuid": "^9.0.1",
"typescript": "^4.9.4"
}
},
@@ -51,28 +58,28 @@
}
},
"node_modules/@babel/compat-data": {
- "version": "7.21.4",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.4.tgz",
- "integrity": "sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g==",
+ "version": "7.22.3",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.3.tgz",
+ "integrity": "sha512-aNtko9OPOwVESUFp3MZfD8Uzxl7JzSeJpd7npIoxCasU37PFbAQRpKglkaKwlHOyeJdrREpo8TW8ldrkYWwvIQ==",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/core": {
- "version": "7.21.4",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.4.tgz",
- "integrity": "sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA==",
+ "version": "7.22.1",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.1.tgz",
+ "integrity": "sha512-Hkqu7J4ynysSXxmAahpN1jjRwVJ+NdpraFLIWflgjpVob3KNyK3/tIUc7Q7szed8WMp0JNa7Qtd1E9Oo22F9gA==",
"dependencies": {
"@ampproject/remapping": "^2.2.0",
"@babel/code-frame": "^7.21.4",
- "@babel/generator": "^7.21.4",
- "@babel/helper-compilation-targets": "^7.21.4",
- "@babel/helper-module-transforms": "^7.21.2",
- "@babel/helpers": "^7.21.0",
- "@babel/parser": "^7.21.4",
- "@babel/template": "^7.20.7",
- "@babel/traverse": "^7.21.4",
- "@babel/types": "^7.21.4",
+ "@babel/generator": "^7.22.0",
+ "@babel/helper-compilation-targets": "^7.22.1",
+ "@babel/helper-module-transforms": "^7.22.1",
+ "@babel/helpers": "^7.22.0",
+ "@babel/parser": "^7.22.0",
+ "@babel/template": "^7.21.9",
+ "@babel/traverse": "^7.22.1",
+ "@babel/types": "^7.22.0",
"convert-source-map": "^1.7.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
@@ -88,11 +95,11 @@
}
},
"node_modules/@babel/generator": {
- "version": "7.21.4",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.4.tgz",
- "integrity": "sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA==",
+ "version": "7.22.3",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.3.tgz",
+ "integrity": "sha512-C17MW4wlk//ES/CJDL51kPNwl+qiBQyN7b9SKyVp11BLGFeSPoVaHrv+MNt8jwQFhQWowW88z1eeBx3pFz9v8A==",
"dependencies": {
- "@babel/types": "^7.21.4",
+ "@babel/types": "^7.22.3",
"@jridgewell/gen-mapping": "^0.3.2",
"@jridgewell/trace-mapping": "^0.3.17",
"jsesc": "^2.5.1"
@@ -113,23 +120,22 @@
}
},
"node_modules/@babel/helper-builder-binary-assignment-operator-visitor": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz",
- "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==",
+ "version": "7.22.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.3.tgz",
+ "integrity": "sha512-ahEoxgqNoYXm0k22TvOke48i1PkavGu0qGCmcq9ugi6gnmvKNaMjKBSrZTnWUi1CFEeNAUiVba0Wtzm03aSkJg==",
"dependencies": {
- "@babel/helper-explode-assignable-expression": "^7.18.6",
- "@babel/types": "^7.18.9"
+ "@babel/types": "^7.22.3"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-compilation-targets": {
- "version": "7.21.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.4.tgz",
- "integrity": "sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==",
+ "version": "7.22.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.1.tgz",
+ "integrity": "sha512-Rqx13UM3yVB5q0D/KwQ8+SPfX/+Rnsy1Lw1k/UwOC4KC6qrzIQoY3lYnBu5EHKBlEHHcj0M0W8ltPSkD8rqfsQ==",
"dependencies": {
- "@babel/compat-data": "^7.21.4",
+ "@babel/compat-data": "^7.22.0",
"@babel/helper-validator-option": "^7.21.0",
"browserslist": "^4.21.3",
"lru-cache": "^5.1.1",
@@ -143,18 +149,19 @@
}
},
"node_modules/@babel/helper-create-class-features-plugin": {
- "version": "7.21.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.4.tgz",
- "integrity": "sha512-46QrX2CQlaFRF4TkwfTt6nJD7IHq8539cCL7SDpqWSDeJKY1xylKKY5F/33mJhLZ3mFvKv2gGrVS6NkyF6qs+Q==",
+ "version": "7.22.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.1.tgz",
+ "integrity": "sha512-SowrZ9BWzYFgzUMwUmowbPSGu6CXL5MSuuCkG3bejahSpSymioPmuLdhPxNOc9MjuNGjy7M/HaXvJ8G82Lywlw==",
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.18.6",
- "@babel/helper-environment-visitor": "^7.18.9",
+ "@babel/helper-environment-visitor": "^7.22.1",
"@babel/helper-function-name": "^7.21.0",
- "@babel/helper-member-expression-to-functions": "^7.21.0",
+ "@babel/helper-member-expression-to-functions": "^7.22.0",
"@babel/helper-optimise-call-expression": "^7.18.6",
- "@babel/helper-replace-supers": "^7.20.7",
+ "@babel/helper-replace-supers": "^7.22.1",
"@babel/helper-skip-transparent-expression-wrappers": "^7.20.0",
- "@babel/helper-split-export-declaration": "^7.18.6"
+ "@babel/helper-split-export-declaration": "^7.18.6",
+ "semver": "^6.3.0"
},
"engines": {
"node": ">=6.9.0"
@@ -164,12 +171,13 @@
}
},
"node_modules/@babel/helper-create-regexp-features-plugin": {
- "version": "7.21.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.21.4.tgz",
- "integrity": "sha512-M00OuhU+0GyZ5iBBN9czjugzWrEq2vDpf/zCYHxxf93ul/Q5rv+a5h+/+0WnI1AebHNVtl5bFV0qsJoH23DbfA==",
+ "version": "7.22.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.1.tgz",
+ "integrity": "sha512-WWjdnfR3LPIe+0EY8td7WmjhytxXtjKAEpnAxun/hkNiyOaPlvGK+NZaBFIdi9ndYV3Gav7BpFvtUwnaJlwi1w==",
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.18.6",
- "regexpu-core": "^5.3.1"
+ "regexpu-core": "^5.3.1",
+ "semver": "^6.3.0"
},
"engines": {
"node": ">=6.9.0"
@@ -179,9 +187,9 @@
}
},
"node_modules/@babel/helper-define-polyfill-provider": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz",
- "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==",
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.0.tgz",
+ "integrity": "sha512-RnanLx5ETe6aybRi1cO/edaRH+bNYWaryCEmjDDYyNr4wnSzyOp8T0dWipmqVHKEY3AbVKUom50AKSlj1zmKbg==",
"dependencies": {
"@babel/helper-compilation-targets": "^7.17.7",
"@babel/helper-plugin-utils": "^7.16.7",
@@ -195,20 +203,9 @@
}
},
"node_modules/@babel/helper-environment-visitor": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz",
- "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-explode-assignable-expression": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz",
- "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==",
- "dependencies": {
- "@babel/types": "^7.18.6"
- },
+ "version": "7.22.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.1.tgz",
+ "integrity": "sha512-Z2tgopurB/kTbidvzeBrc2To3PUP/9i5MUe+fU6QJCQDyPwSH2oRapkLw3KGECDYSjhQZCNxEvNvZlLw8JjGwA==",
"engines": {
"node": ">=6.9.0"
}
@@ -237,11 +234,11 @@
}
},
"node_modules/@babel/helper-member-expression-to-functions": {
- "version": "7.21.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.21.0.tgz",
- "integrity": "sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q==",
+ "version": "7.22.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.3.tgz",
+ "integrity": "sha512-Gl7sK04b/2WOb6OPVeNy9eFKeD3L6++CzL3ykPOWqTn08xgYYK0wz4TUh2feIImDXxcVW3/9WQ1NMKY66/jfZA==",
"dependencies": {
- "@babel/types": "^7.21.0"
+ "@babel/types": "^7.22.3"
},
"engines": {
"node": ">=6.9.0"
@@ -259,18 +256,18 @@
}
},
"node_modules/@babel/helper-module-transforms": {
- "version": "7.21.2",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz",
- "integrity": "sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==",
+ "version": "7.22.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.1.tgz",
+ "integrity": "sha512-dxAe9E7ySDGbQdCVOY/4+UcD8M9ZFqZcZhSPsPacvCG4M+9lwtDDQfI2EoaSvmf7W/8yCBkGU0m7Pvt1ru3UZw==",
"dependencies": {
- "@babel/helper-environment-visitor": "^7.18.9",
- "@babel/helper-module-imports": "^7.18.6",
- "@babel/helper-simple-access": "^7.20.2",
+ "@babel/helper-environment-visitor": "^7.22.1",
+ "@babel/helper-module-imports": "^7.21.4",
+ "@babel/helper-simple-access": "^7.21.5",
"@babel/helper-split-export-declaration": "^7.18.6",
"@babel/helper-validator-identifier": "^7.19.1",
- "@babel/template": "^7.20.7",
- "@babel/traverse": "^7.21.2",
- "@babel/types": "^7.21.2"
+ "@babel/template": "^7.21.9",
+ "@babel/traverse": "^7.22.1",
+ "@babel/types": "^7.22.0"
},
"engines": {
"node": ">=6.9.0"
@@ -288,9 +285,9 @@
}
},
"node_modules/@babel/helper-plugin-utils": {
- "version": "7.20.2",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz",
- "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==",
+ "version": "7.21.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.21.5.tgz",
+ "integrity": "sha512-0WDaIlXKOX/3KfBK/dwP1oQGiPh6rjMkT7HIRv7i5RR2VUMwrx5ZL0dwBkKx7+SW1zwNdgjHd34IMk5ZjTeHVg==",
"engines": {
"node": ">=6.9.0"
}
@@ -313,27 +310,27 @@
}
},
"node_modules/@babel/helper-replace-supers": {
- "version": "7.20.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz",
- "integrity": "sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==",
+ "version": "7.22.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.1.tgz",
+ "integrity": "sha512-ut4qrkE4AuSfrwHSps51ekR1ZY/ygrP1tp0WFm8oVq6nzc/hvfV/22JylndIbsf2U2M9LOMwiSddr6y+78j+OQ==",
"dependencies": {
- "@babel/helper-environment-visitor": "^7.18.9",
- "@babel/helper-member-expression-to-functions": "^7.20.7",
+ "@babel/helper-environment-visitor": "^7.22.1",
+ "@babel/helper-member-expression-to-functions": "^7.22.0",
"@babel/helper-optimise-call-expression": "^7.18.6",
- "@babel/template": "^7.20.7",
- "@babel/traverse": "^7.20.7",
- "@babel/types": "^7.20.7"
+ "@babel/template": "^7.21.9",
+ "@babel/traverse": "^7.22.1",
+ "@babel/types": "^7.22.0"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-simple-access": {
- "version": "7.20.2",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz",
- "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==",
+ "version": "7.21.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.21.5.tgz",
+ "integrity": "sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg==",
"dependencies": {
- "@babel/types": "^7.20.2"
+ "@babel/types": "^7.21.5"
},
"engines": {
"node": ">=6.9.0"
@@ -362,9 +359,9 @@
}
},
"node_modules/@babel/helper-string-parser": {
- "version": "7.19.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz",
- "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==",
+ "version": "7.21.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz",
+ "integrity": "sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==",
"engines": {
"node": ">=6.9.0"
}
@@ -400,13 +397,13 @@
}
},
"node_modules/@babel/helpers": {
- "version": "7.21.0",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.0.tgz",
- "integrity": "sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==",
+ "version": "7.22.3",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.3.tgz",
+ "integrity": "sha512-jBJ7jWblbgr7r6wYZHMdIqKc73ycaTcCaWRq4/2LpuPHcx7xMlZvpGQkOYc9HeSjn6rcx15CPlgVcBtZ4WZJ2w==",
"dependencies": {
- "@babel/template": "^7.20.7",
- "@babel/traverse": "^7.21.0",
- "@babel/types": "^7.21.0"
+ "@babel/template": "^7.21.9",
+ "@babel/traverse": "^7.22.1",
+ "@babel/types": "^7.22.3"
},
"engines": {
"node": ">=6.9.0"
@@ -426,9 +423,9 @@
}
},
"node_modules/@babel/parser": {
- "version": "7.21.4",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.4.tgz",
- "integrity": "sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==",
+ "version": "7.22.3",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.3.tgz",
+ "integrity": "sha512-vrukxyW/ep8UD1UDzOYpTKQ6abgjFoeG6L+4ar9+c5TN9QnlqiOi6QK7LSR5ewm/ERyGkT/Ai6VboNrxhbr9Uw==",
"bin": {
"parser": "bin/babel-parser.js"
},
@@ -451,13 +448,13 @@
}
},
"node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
- "version": "7.20.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz",
- "integrity": "sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==",
+ "version": "7.22.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.3.tgz",
+ "integrity": "sha512-6r4yRwEnorYByILoDRnEqxtojYKuiIv9FojW2E8GUKo9eWBwbKcd9IiZOZpdyXc64RmyGGyPu3/uAcrz/dq2kQ==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.20.2",
+ "@babel/helper-plugin-utils": "^7.21.5",
"@babel/helper-skip-transparent-expression-wrappers": "^7.20.0",
- "@babel/plugin-proposal-optional-chaining": "^7.20.7"
+ "@babel/plugin-transform-optional-chaining": "^7.22.3"
},
"engines": {
"node": ">=6.9.0"
@@ -498,47 +495,16 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-proposal-class-static-block": {
- "version": "7.21.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.21.0.tgz",
- "integrity": "sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw==",
- "dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.21.0",
- "@babel/helper-plugin-utils": "^7.20.2",
- "@babel/plugin-syntax-class-static-block": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.12.0"
- }
- },
"node_modules/@babel/plugin-proposal-decorators": {
- "version": "7.21.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.21.0.tgz",
- "integrity": "sha512-MfgX49uRrFUTL/HvWtmx3zmpyzMMr4MTj3d527MLlr/4RTT9G/ytFFP7qet2uM2Ve03b+BkpWUpK+lRXnQ+v9w==",
+ "version": "7.22.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.22.3.tgz",
+ "integrity": "sha512-XjTKH3sHr6pPqG+hR1NCdVupwiosfdKM2oSMyKQVQ5Bym9l/p7BuLAqT5U32zZzRCfPq/TPRPzMiiTE9bOXU4w==",
"dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.21.0",
- "@babel/helper-plugin-utils": "^7.20.2",
- "@babel/helper-replace-supers": "^7.20.7",
+ "@babel/helper-create-class-features-plugin": "^7.22.1",
+ "@babel/helper-plugin-utils": "^7.21.5",
+ "@babel/helper-replace-supers": "^7.22.1",
"@babel/helper-split-export-declaration": "^7.18.6",
- "@babel/plugin-syntax-decorators": "^7.21.0"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-proposal-dynamic-import": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz",
- "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.18.6",
- "@babel/plugin-syntax-dynamic-import": "^7.8.3"
+ "@babel/plugin-syntax-decorators": "^7.22.3"
},
"engines": {
"node": ">=6.9.0"
@@ -562,51 +528,6 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-proposal-export-namespace-from": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz",
- "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.18.9",
- "@babel/plugin-syntax-export-namespace-from": "^7.8.3"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-proposal-json-strings": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz",
- "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.18.6",
- "@babel/plugin-syntax-json-strings": "^7.8.3"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-proposal-logical-assignment-operators": {
- "version": "7.20.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz",
- "integrity": "sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.20.2",
- "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
"node_modules/@babel/plugin-proposal-nullish-coalescing-operator": {
"version": "7.18.6",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz",
@@ -622,21 +543,6 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-proposal-numeric-separator": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz",
- "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.18.6",
- "@babel/plugin-syntax-numeric-separator": "^7.10.4"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
"node_modules/@babel/plugin-proposal-object-rest-spread": {
"version": "7.20.7",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz",
@@ -686,21 +592,6 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-proposal-private-methods": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz",
- "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==",
- "dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.18.6",
- "@babel/helper-plugin-utils": "^7.18.6"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
"node_modules/@babel/plugin-proposal-private-property-in-object": {
"version": "7.21.0",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0.tgz",
@@ -770,11 +661,11 @@
}
},
"node_modules/@babel/plugin-syntax-decorators": {
- "version": "7.21.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.21.0.tgz",
- "integrity": "sha512-tIoPpGBR8UuM4++ccWN3gifhVvQu7ZizuR1fklhRJrd5ewgbkUS+0KVFeWWxELtn18NTLoW32XV7zyOgIAiz+w==",
+ "version": "7.22.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.22.3.tgz",
+ "integrity": "sha512-R16Zuge73+8/nLcDjkIpyhi5wIbN7i7fiuLJR8yQX7vPAa/ltUKtd3iLbb4AgP5nrLi91HnNUNosELIGUGH1bg==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.20.2"
+ "@babel/helper-plugin-utils": "^7.21.5"
},
"engines": {
"node": ">=6.9.0"
@@ -847,6 +738,31 @@
"@babel/core": "^7.0.0-0"
}
},
+ "node_modules/@babel/plugin-syntax-import-attributes": {
+ "version": "7.22.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.3.tgz",
+ "integrity": "sha512-i35jZJv6aO7hxEbIWQ41adVfOzjm9dcYDNeWlBMd8p0ZQRtNUCBrmGwZt+H5lb+oOC9a3svp956KP0oWGA1YsA==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.21.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-import-meta": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz",
+ "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
"node_modules/@babel/plugin-syntax-json-strings": {
"version": "7.8.3",
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
@@ -980,12 +896,44 @@
"@babel/core": "^7.0.0-0"
}
},
+ "node_modules/@babel/plugin-syntax-unicode-sets-regex": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz",
+ "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==",
+ "dependencies": {
+ "@babel/helper-create-regexp-features-plugin": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
"node_modules/@babel/plugin-transform-arrow-functions": {
- "version": "7.20.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz",
- "integrity": "sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==",
+ "version": "7.21.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.21.5.tgz",
+ "integrity": "sha512-wb1mhwGOCaXHDTcsRYMKF9e5bbMgqwxtqa2Y1ifH96dXJPwbuLX9qHy3clhrxVqgMz7nyNXs8VkxdH8UBcjKqA==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.20.2"
+ "@babel/helper-plugin-utils": "^7.21.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-async-generator-functions": {
+ "version": "7.22.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.3.tgz",
+ "integrity": "sha512-36A4Aq48t66btydbZd5Fk0/xJqbpg/v4QWI4AH4cYHBXy9Mu42UOupZpebKFiCFNT9S9rJFcsld0gsv0ayLjtA==",
+ "dependencies": {
+ "@babel/helper-environment-visitor": "^7.22.1",
+ "@babel/helper-plugin-utils": "^7.21.5",
+ "@babel/helper-remap-async-to-generator": "^7.18.9",
+ "@babel/plugin-syntax-async-generators": "^7.8.4"
},
"engines": {
"node": ">=6.9.0"
@@ -1038,6 +986,37 @@
"@babel/core": "^7.0.0-0"
}
},
+ "node_modules/@babel/plugin-transform-class-properties": {
+ "version": "7.22.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.3.tgz",
+ "integrity": "sha512-mASLsd6rhOrLZ5F3WbCxkzl67mmOnqik0zrg5W6D/X0QMW7HtvnoL1dRARLKIbMP3vXwkwziuLesPqWVGIl6Bw==",
+ "dependencies": {
+ "@babel/helper-create-class-features-plugin": "^7.22.1",
+ "@babel/helper-plugin-utils": "^7.21.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-class-static-block": {
+ "version": "7.22.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.3.tgz",
+ "integrity": "sha512-5BirgNWNOx7cwbTJCOmKFJ1pZjwk5MUfMIwiBBvsirCJMZeQgs5pk6i1OlkVg+1Vef5LfBahFOrdCnAWvkVKMw==",
+ "dependencies": {
+ "@babel/helper-create-class-features-plugin": "^7.22.1",
+ "@babel/helper-plugin-utils": "^7.21.5",
+ "@babel/plugin-syntax-class-static-block": "^7.14.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.12.0"
+ }
+ },
"node_modules/@babel/plugin-transform-classes": {
"version": "7.21.0",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.21.0.tgz",
@@ -1061,11 +1040,11 @@
}
},
"node_modules/@babel/plugin-transform-computed-properties": {
- "version": "7.20.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz",
- "integrity": "sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==",
+ "version": "7.21.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.21.5.tgz",
+ "integrity": "sha512-TR653Ki3pAwxBxUe8srfF3e4Pe3FTA46uaNHYyQwIoM4oWKSoOZiDNyHJ0oIoDIUPSRQbQG7jzgVBX3FPVne1Q==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.20.2",
+ "@babel/helper-plugin-utils": "^7.21.5",
"@babel/template": "^7.20.7"
},
"engines": {
@@ -1118,6 +1097,21 @@
"@babel/core": "^7.0.0-0"
}
},
+ "node_modules/@babel/plugin-transform-dynamic-import": {
+ "version": "7.22.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.1.tgz",
+ "integrity": "sha512-rlhWtONnVBPdmt+jeewS0qSnMz/3yLFrqAP8hHC6EDcrYRSyuz9f9yQhHvVn2Ad6+yO9fHXac5piudeYrInxwQ==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.21.5",
+ "@babel/plugin-syntax-dynamic-import": "^7.8.3"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
"node_modules/@babel/plugin-transform-exponentiation-operator": {
"version": "7.18.6",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz",
@@ -1133,6 +1127,21 @@
"@babel/core": "^7.0.0-0"
}
},
+ "node_modules/@babel/plugin-transform-export-namespace-from": {
+ "version": "7.22.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.3.tgz",
+ "integrity": "sha512-5Ti1cHLTDnt3vX61P9KZ5IG09bFXp4cDVFJIAeCZuxu9OXXJJZp5iP0n/rzM2+iAutJY+KWEyyHcRaHlpQ/P5g==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.21.5",
+ "@babel/plugin-syntax-export-namespace-from": "^7.8.3"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
"node_modules/@babel/plugin-transform-flow-strip-types": {
"version": "7.21.0",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.21.0.tgz",
@@ -1149,11 +1158,11 @@
}
},
"node_modules/@babel/plugin-transform-for-of": {
- "version": "7.21.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.21.0.tgz",
- "integrity": "sha512-LlUYlydgDkKpIY7mcBWvyPPmMcOphEyYA27Ef4xpbh1IiDNLr0kZsos2nf92vz3IccvJI25QUwp86Eo5s6HmBQ==",
+ "version": "7.21.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.21.5.tgz",
+ "integrity": "sha512-nYWpjKW/7j/I/mZkGVgHJXh4bA1sfdFnJoOXwJuj4m3Q2EraO/8ZyrkCau9P5tbHQk01RMSt6KYLCsW7730SXQ==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.20.2"
+ "@babel/helper-plugin-utils": "^7.21.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1178,6 +1187,21 @@
"@babel/core": "^7.0.0-0"
}
},
+ "node_modules/@babel/plugin-transform-json-strings": {
+ "version": "7.22.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.3.tgz",
+ "integrity": "sha512-IuvOMdeOOY2X4hRNAT6kwbePtK21BUyrAEgLKviL8pL6AEEVUVcqtRdN/HJXBLGIbt9T3ETmXRnFedRRmQNTYw==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.21.5",
+ "@babel/plugin-syntax-json-strings": "^7.8.3"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
"node_modules/@babel/plugin-transform-literals": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz",
@@ -1192,6 +1216,21 @@
"@babel/core": "^7.0.0-0"
}
},
+ "node_modules/@babel/plugin-transform-logical-assignment-operators": {
+ "version": "7.22.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.3.tgz",
+ "integrity": "sha512-CbayIfOw4av2v/HYZEsH+Klks3NC2/MFIR3QR8gnpGNNPEaq2fdlVCRYG/paKs7/5hvBLQ+H70pGWOHtlNEWNA==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.21.5",
+ "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
"node_modules/@babel/plugin-transform-member-expression-literals": {
"version": "7.18.6",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz",
@@ -1222,13 +1261,13 @@
}
},
"node_modules/@babel/plugin-transform-modules-commonjs": {
- "version": "7.21.2",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.2.tgz",
- "integrity": "sha512-Cln+Yy04Gxua7iPdj6nOV96smLGjpElir5YwzF0LBPKoPlLDNJePNlrGGaybAJkd0zKRnOVXOgizSqPYMNYkzA==",
+ "version": "7.21.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.5.tgz",
+ "integrity": "sha512-OVryBEgKUbtqMoB7eG2rs6UFexJi6Zj6FDXx+esBLPTCxCNxAY9o+8Di7IsUGJ+AVhp5ncK0fxWUBd0/1gPhrQ==",
"dependencies": {
- "@babel/helper-module-transforms": "^7.21.2",
- "@babel/helper-plugin-utils": "^7.20.2",
- "@babel/helper-simple-access": "^7.20.2"
+ "@babel/helper-module-transforms": "^7.21.5",
+ "@babel/helper-plugin-utils": "^7.21.5",
+ "@babel/helper-simple-access": "^7.21.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1238,13 +1277,13 @@
}
},
"node_modules/@babel/plugin-transform-modules-systemjs": {
- "version": "7.20.11",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz",
- "integrity": "sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==",
+ "version": "7.22.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.22.3.tgz",
+ "integrity": "sha512-V21W3bKLxO3ZjcBJZ8biSvo5gQ85uIXW2vJfh7JSWf/4SLUSr1tOoHX3ruN4+Oqa2m+BKfsxTR1I+PsvkIWvNw==",
"dependencies": {
"@babel/helper-hoist-variables": "^7.18.6",
- "@babel/helper-module-transforms": "^7.20.11",
- "@babel/helper-plugin-utils": "^7.20.2",
+ "@babel/helper-module-transforms": "^7.22.1",
+ "@babel/helper-plugin-utils": "^7.21.5",
"@babel/helper-validator-identifier": "^7.19.1"
},
"engines": {
@@ -1270,12 +1309,12 @@
}
},
"node_modules/@babel/plugin-transform-named-capturing-groups-regex": {
- "version": "7.20.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz",
- "integrity": "sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==",
+ "version": "7.22.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.3.tgz",
+ "integrity": "sha512-c6HrD/LpUdNNJsISQZpds3TXvfYIAbo+efE9aWmY/PmSRD0agrJ9cPMt4BmArwUQ7ZymEWTFjTyp+yReLJZh0Q==",
"dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.20.5",
- "@babel/helper-plugin-utils": "^7.20.2"
+ "@babel/helper-create-regexp-features-plugin": "^7.22.1",
+ "@babel/helper-plugin-utils": "^7.21.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1285,11 +1324,59 @@
}
},
"node_modules/@babel/plugin-transform-new-target": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz",
- "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==",
+ "version": "7.22.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.3.tgz",
+ "integrity": "sha512-5RuJdSo89wKdkRTqtM9RVVJzHum9c2s0te9rB7vZC1zKKxcioWIy+xcu4OoIAjyFZhb/bp5KkunuLin1q7Ct+w==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.18.6"
+ "@babel/helper-plugin-utils": "^7.21.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-nullish-coalescing-operator": {
+ "version": "7.22.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.3.tgz",
+ "integrity": "sha512-CpaoNp16nX7ROtLONNuCyenYdY/l7ZsR6aoVa7rW7nMWisoNoQNIH5Iay/4LDyRjKMuElMqXiBoOQCDLTMGZiw==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.21.5",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-numeric-separator": {
+ "version": "7.22.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.3.tgz",
+ "integrity": "sha512-+AF88fPDJrnseMh5vD9+SH6wq4ZMvpiTMHh58uLs+giMEyASFVhcT3NkoyO+NebFCNnpHJEq5AXO2txV4AGPDQ==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.21.5",
+ "@babel/plugin-syntax-numeric-separator": "^7.10.4"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-object-rest-spread": {
+ "version": "7.22.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.3.tgz",
+ "integrity": "sha512-38bzTsqMMCI46/TQnJwPPpy33EjLCc1Gsm2hRTF6zTMWnKsN61vdrpuzIEGQyKEhDSYDKyZHrrd5FMj4gcUHhw==",
+ "dependencies": {
+ "@babel/compat-data": "^7.22.3",
+ "@babel/helper-compilation-targets": "^7.22.1",
+ "@babel/helper-plugin-utils": "^7.21.5",
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
+ "@babel/plugin-transform-parameters": "^7.22.3"
},
"engines": {
"node": ">=6.9.0"
@@ -1313,12 +1400,75 @@
"@babel/core": "^7.0.0-0"
}
},
+ "node_modules/@babel/plugin-transform-optional-catch-binding": {
+ "version": "7.22.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.3.tgz",
+ "integrity": "sha512-bnDFWXFzWY0BsOyqaoSXvMQ2F35zutQipugog/rqotL2S4ciFOKlRYUu9djt4iq09oh2/34hqfRR2k1dIvuu4g==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.21.5",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-optional-chaining": {
+ "version": "7.22.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.3.tgz",
+ "integrity": "sha512-63v3/UFFxhPKT8j8u1jTTGVyITxl7/7AfOqK8C5gz1rHURPUGe3y5mvIf68eYKGoBNahtJnTxBKug4BQOnzeJg==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.21.5",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0",
+ "@babel/plugin-syntax-optional-chaining": "^7.8.3"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
"node_modules/@babel/plugin-transform-parameters": {
- "version": "7.21.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.21.3.tgz",
- "integrity": "sha512-Wxc+TvppQG9xWFYatvCGPvZ6+SIUxQ2ZdiBP+PHYMIjnPXD+uThCshaz4NZOnODAtBjjcVQQ/3OKs9LW28purQ==",
+ "version": "7.22.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.3.tgz",
+ "integrity": "sha512-x7QHQJHPuD9VmfpzboyGJ5aHEr9r7DsAsdxdhJiTB3J3j8dyl+NFZ+rX5Q2RWFDCs61c06qBfS4ys2QYn8UkMw==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.20.2"
+ "@babel/helper-plugin-utils": "^7.21.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-private-methods": {
+ "version": "7.22.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.3.tgz",
+ "integrity": "sha512-fC7jtjBPFqhqpPAE+O4LKwnLq7gGkD3ZmC2E3i4qWH34mH3gOg2Xrq5YMHUq6DM30xhqM1DNftiRaSqVjEG+ug==",
+ "dependencies": {
+ "@babel/helper-create-class-features-plugin": "^7.22.1",
+ "@babel/helper-plugin-utils": "^7.21.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-private-property-in-object": {
+ "version": "7.22.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.3.tgz",
+ "integrity": "sha512-C7MMl4qWLpgVCbXfj3UW8rR1xeCnisQ0cU7YJHV//8oNBS0aCIVg1vFnZXxOckHhEpQyqNNkWmvSEWnMLlc+Vw==",
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.18.6",
+ "@babel/helper-create-class-features-plugin": "^7.22.1",
+ "@babel/helper-plugin-utils": "^7.21.5",
+ "@babel/plugin-syntax-private-property-in-object": "^7.14.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1356,15 +1506,15 @@
}
},
"node_modules/@babel/plugin-transform-react-jsx": {
- "version": "7.21.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.21.0.tgz",
- "integrity": "sha512-6OAWljMvQrZjR2DaNhVfRz6dkCAVV+ymcLUmaf8bccGOHn2v5rHJK3tTpij0BuhdYWP4LLaqj5lwcdlpAAPuvg==",
+ "version": "7.22.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.3.tgz",
+ "integrity": "sha512-JEulRWG2f04a7L8VWaOngWiK6p+JOSpB+DAtwfJgOaej1qdbNxqtK7MwTBHjUA10NeFcszlFNqCdbRcirzh2uQ==",
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.18.6",
- "@babel/helper-module-imports": "^7.18.6",
- "@babel/helper-plugin-utils": "^7.20.2",
- "@babel/plugin-syntax-jsx": "^7.18.6",
- "@babel/types": "^7.21.0"
+ "@babel/helper-module-imports": "^7.21.4",
+ "@babel/helper-plugin-utils": "^7.21.5",
+ "@babel/plugin-syntax-jsx": "^7.21.4",
+ "@babel/types": "^7.22.3"
},
"engines": {
"node": ">=6.9.0"
@@ -1402,11 +1552,11 @@
}
},
"node_modules/@babel/plugin-transform-regenerator": {
- "version": "7.20.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz",
- "integrity": "sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==",
+ "version": "7.21.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.21.5.tgz",
+ "integrity": "sha512-ZoYBKDb6LyMi5yCsByQ5jmXsHAQDDYeexT1Szvlmui+lADvfSecr5Dxd/PkrTC3pAD182Fcju1VQkB4oCp9M+w==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.20.2",
+ "@babel/helper-plugin-utils": "^7.21.5",
"regenerator-transform": "^0.15.1"
},
"engines": {
@@ -1431,15 +1581,15 @@
}
},
"node_modules/@babel/plugin-transform-runtime": {
- "version": "7.21.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.21.4.tgz",
- "integrity": "sha512-1J4dhrw1h1PqnNNpzwxQ2UBymJUF8KuPjAAnlLwZcGhHAIqUigFW7cdK6GHoB64ubY4qXQNYknoUeks4Wz7CUA==",
+ "version": "7.22.2",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.22.2.tgz",
+ "integrity": "sha512-ewgWBw1pAoqFg9crO6yhZAQoKWN/iNEGqAmuYegZp+xEpvMHGyLxt0SgPZ9bWG6jx4eff6jQ4JILt5zwj/EoTg==",
"dependencies": {
"@babel/helper-module-imports": "^7.21.4",
- "@babel/helper-plugin-utils": "^7.20.2",
- "babel-plugin-polyfill-corejs2": "^0.3.3",
- "babel-plugin-polyfill-corejs3": "^0.6.0",
- "babel-plugin-polyfill-regenerator": "^0.4.1",
+ "@babel/helper-plugin-utils": "^7.21.5",
+ "babel-plugin-polyfill-corejs2": "^0.4.2",
+ "babel-plugin-polyfill-corejs3": "^0.8.1",
+ "babel-plugin-polyfill-regenerator": "^0.5.0",
"semver": "^6.3.0"
},
"engines": {
@@ -1521,14 +1671,14 @@
}
},
"node_modules/@babel/plugin-transform-typescript": {
- "version": "7.21.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.21.3.tgz",
- "integrity": "sha512-RQxPz6Iqt8T0uw/WsJNReuBpWpBqs/n7mNo18sKLoTbMp+UrEekhH+pKSVC7gWz+DNjo9gryfV8YzCiT45RgMw==",
+ "version": "7.22.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.3.tgz",
+ "integrity": "sha512-pyjnCIniO5PNaEuGxT28h0HbMru3qCVrMqVgVOz/krComdIrY9W6FCLBq9NWHY8HDGaUlan+UhmZElDENIfCcw==",
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.18.6",
- "@babel/helper-create-class-features-plugin": "^7.21.0",
- "@babel/helper-plugin-utils": "^7.20.2",
- "@babel/plugin-syntax-typescript": "^7.20.0"
+ "@babel/helper-create-class-features-plugin": "^7.22.1",
+ "@babel/helper-plugin-utils": "^7.21.5",
+ "@babel/plugin-syntax-typescript": "^7.21.4"
},
"engines": {
"node": ">=6.9.0"
@@ -1538,11 +1688,26 @@
}
},
"node_modules/@babel/plugin-transform-unicode-escapes": {
- "version": "7.18.10",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz",
- "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==",
+ "version": "7.21.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.21.5.tgz",
+ "integrity": "sha512-LYm/gTOwZqsYohlvFUe/8Tujz75LqqVC2w+2qPHLR+WyWHGCZPN1KBpJCJn+4Bk4gOkQy/IXKIge6az5MqwlOg==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.18.9"
+ "@babel/helper-plugin-utils": "^7.21.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-unicode-property-regex": {
+ "version": "7.22.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.3.tgz",
+ "integrity": "sha512-5ScJ+OmdX+O6HRuMGW4kv7RL9vIKdtdAj9wuWUKy1wbHY3jaM/UlyIiC1G7J6UJiiyMukjjK0QwL3P0vBd0yYg==",
+ "dependencies": {
+ "@babel/helper-create-regexp-features-plugin": "^7.22.1",
+ "@babel/helper-plugin-utils": "^7.21.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1566,38 +1731,41 @@
"@babel/core": "^7.0.0-0"
}
},
+ "node_modules/@babel/plugin-transform-unicode-sets-regex": {
+ "version": "7.22.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.3.tgz",
+ "integrity": "sha512-hNufLdkF8vqywRp+P55j4FHXqAX2LRUccoZHH7AFn1pq5ZOO2ISKW9w13bFZVjBoTqeve2HOgoJCcaziJVhGNw==",
+ "dependencies": {
+ "@babel/helper-create-regexp-features-plugin": "^7.22.1",
+ "@babel/helper-plugin-utils": "^7.21.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
"node_modules/@babel/preset-env": {
- "version": "7.21.4",
- "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.21.4.tgz",
- "integrity": "sha512-2W57zHs2yDLm6GD5ZpvNn71lZ0B/iypSdIeq25OurDKji6AdzV07qp4s3n1/x5BqtiGaTrPN3nerlSCaC5qNTw==",
+ "version": "7.22.2",
+ "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.2.tgz",
+ "integrity": "sha512-UPNK9pgphMULvA2EMKIWHU90C47PKyuvQ8pE1MzH7l9PgFcRabdrHhlePpBuWxYZQ+TziP2nycKoI5C1Yhdm9Q==",
"dependencies": {
- "@babel/compat-data": "^7.21.4",
- "@babel/helper-compilation-targets": "^7.21.4",
- "@babel/helper-plugin-utils": "^7.20.2",
+ "@babel/compat-data": "^7.22.0",
+ "@babel/helper-compilation-targets": "^7.22.1",
+ "@babel/helper-plugin-utils": "^7.21.5",
"@babel/helper-validator-option": "^7.21.0",
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6",
- "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.20.7",
- "@babel/plugin-proposal-async-generator-functions": "^7.20.7",
- "@babel/plugin-proposal-class-properties": "^7.18.6",
- "@babel/plugin-proposal-class-static-block": "^7.21.0",
- "@babel/plugin-proposal-dynamic-import": "^7.18.6",
- "@babel/plugin-proposal-export-namespace-from": "^7.18.9",
- "@babel/plugin-proposal-json-strings": "^7.18.6",
- "@babel/plugin-proposal-logical-assignment-operators": "^7.20.7",
- "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6",
- "@babel/plugin-proposal-numeric-separator": "^7.18.6",
- "@babel/plugin-proposal-object-rest-spread": "^7.20.7",
- "@babel/plugin-proposal-optional-catch-binding": "^7.18.6",
- "@babel/plugin-proposal-optional-chaining": "^7.21.0",
- "@babel/plugin-proposal-private-methods": "^7.18.6",
+ "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.0",
"@babel/plugin-proposal-private-property-in-object": "^7.21.0",
- "@babel/plugin-proposal-unicode-property-regex": "^7.18.6",
"@babel/plugin-syntax-async-generators": "^7.8.4",
"@babel/plugin-syntax-class-properties": "^7.12.13",
"@babel/plugin-syntax-class-static-block": "^7.14.5",
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
"@babel/plugin-syntax-export-namespace-from": "^7.8.3",
"@babel/plugin-syntax-import-assertions": "^7.20.0",
+ "@babel/plugin-syntax-import-attributes": "^7.22.0",
+ "@babel/plugin-syntax-import-meta": "^7.10.4",
"@babel/plugin-syntax-json-strings": "^7.8.3",
"@babel/plugin-syntax-logical-assignment-operators": "^7.10.4",
"@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
@@ -1607,44 +1775,61 @@
"@babel/plugin-syntax-optional-chaining": "^7.8.3",
"@babel/plugin-syntax-private-property-in-object": "^7.14.5",
"@babel/plugin-syntax-top-level-await": "^7.14.5",
- "@babel/plugin-transform-arrow-functions": "^7.20.7",
+ "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6",
+ "@babel/plugin-transform-arrow-functions": "^7.21.5",
+ "@babel/plugin-transform-async-generator-functions": "^7.22.0",
"@babel/plugin-transform-async-to-generator": "^7.20.7",
"@babel/plugin-transform-block-scoped-functions": "^7.18.6",
"@babel/plugin-transform-block-scoping": "^7.21.0",
+ "@babel/plugin-transform-class-properties": "^7.22.0",
+ "@babel/plugin-transform-class-static-block": "^7.22.0",
"@babel/plugin-transform-classes": "^7.21.0",
- "@babel/plugin-transform-computed-properties": "^7.20.7",
+ "@babel/plugin-transform-computed-properties": "^7.21.5",
"@babel/plugin-transform-destructuring": "^7.21.3",
"@babel/plugin-transform-dotall-regex": "^7.18.6",
"@babel/plugin-transform-duplicate-keys": "^7.18.9",
+ "@babel/plugin-transform-dynamic-import": "^7.22.1",
"@babel/plugin-transform-exponentiation-operator": "^7.18.6",
- "@babel/plugin-transform-for-of": "^7.21.0",
+ "@babel/plugin-transform-export-namespace-from": "^7.22.0",
+ "@babel/plugin-transform-for-of": "^7.21.5",
"@babel/plugin-transform-function-name": "^7.18.9",
+ "@babel/plugin-transform-json-strings": "^7.22.0",
"@babel/plugin-transform-literals": "^7.18.9",
+ "@babel/plugin-transform-logical-assignment-operators": "^7.22.0",
"@babel/plugin-transform-member-expression-literals": "^7.18.6",
"@babel/plugin-transform-modules-amd": "^7.20.11",
- "@babel/plugin-transform-modules-commonjs": "^7.21.2",
- "@babel/plugin-transform-modules-systemjs": "^7.20.11",
+ "@babel/plugin-transform-modules-commonjs": "^7.21.5",
+ "@babel/plugin-transform-modules-systemjs": "^7.22.0",
"@babel/plugin-transform-modules-umd": "^7.18.6",
- "@babel/plugin-transform-named-capturing-groups-regex": "^7.20.5",
- "@babel/plugin-transform-new-target": "^7.18.6",
+ "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.0",
+ "@babel/plugin-transform-new-target": "^7.22.0",
+ "@babel/plugin-transform-nullish-coalescing-operator": "^7.22.0",
+ "@babel/plugin-transform-numeric-separator": "^7.22.0",
+ "@babel/plugin-transform-object-rest-spread": "^7.22.0",
"@babel/plugin-transform-object-super": "^7.18.6",
- "@babel/plugin-transform-parameters": "^7.21.3",
+ "@babel/plugin-transform-optional-catch-binding": "^7.22.0",
+ "@babel/plugin-transform-optional-chaining": "^7.22.0",
+ "@babel/plugin-transform-parameters": "^7.22.0",
+ "@babel/plugin-transform-private-methods": "^7.22.0",
+ "@babel/plugin-transform-private-property-in-object": "^7.22.0",
"@babel/plugin-transform-property-literals": "^7.18.6",
- "@babel/plugin-transform-regenerator": "^7.20.5",
+ "@babel/plugin-transform-regenerator": "^7.21.5",
"@babel/plugin-transform-reserved-words": "^7.18.6",
"@babel/plugin-transform-shorthand-properties": "^7.18.6",
"@babel/plugin-transform-spread": "^7.20.7",
"@babel/plugin-transform-sticky-regex": "^7.18.6",
"@babel/plugin-transform-template-literals": "^7.18.9",
"@babel/plugin-transform-typeof-symbol": "^7.18.9",
- "@babel/plugin-transform-unicode-escapes": "^7.18.10",
+ "@babel/plugin-transform-unicode-escapes": "^7.21.5",
+ "@babel/plugin-transform-unicode-property-regex": "^7.22.0",
"@babel/plugin-transform-unicode-regex": "^7.18.6",
+ "@babel/plugin-transform-unicode-sets-regex": "^7.22.0",
"@babel/preset-modules": "^0.1.5",
- "@babel/types": "^7.21.4",
- "babel-plugin-polyfill-corejs2": "^0.3.3",
- "babel-plugin-polyfill-corejs3": "^0.6.0",
- "babel-plugin-polyfill-regenerator": "^0.4.1",
- "core-js-compat": "^3.25.1",
+ "@babel/types": "^7.22.0",
+ "babel-plugin-polyfill-corejs2": "^0.4.2",
+ "babel-plugin-polyfill-corejs3": "^0.8.1",
+ "babel-plugin-polyfill-regenerator": "^0.5.0",
+ "core-js-compat": "^3.30.2",
"semver": "^6.3.0"
},
"engines": {
@@ -1686,14 +1871,14 @@
}
},
"node_modules/@babel/preset-typescript": {
- "version": "7.21.4",
- "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.21.4.tgz",
- "integrity": "sha512-sMLNWY37TCdRH/bJ6ZeeOH1nPuanED7Ai9Y/vH31IPqalioJ6ZNFUWONsakhv4r4n+I6gm5lmoE0olkgib/j/A==",
+ "version": "7.21.5",
+ "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.21.5.tgz",
+ "integrity": "sha512-iqe3sETat5EOrORXiQ6rWfoOg2y68Cs75B9wNxdPW4kixJxh7aXQE1KPdWLDniC24T/6dSnguF33W9j/ZZQcmA==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.20.2",
+ "@babel/helper-plugin-utils": "^7.21.5",
"@babel/helper-validator-option": "^7.21.0",
"@babel/plugin-syntax-jsx": "^7.21.4",
- "@babel/plugin-transform-modules-commonjs": "^7.21.2",
+ "@babel/plugin-transform-modules-commonjs": "^7.21.5",
"@babel/plugin-transform-typescript": "^7.21.3"
},
"engines": {
@@ -1727,9 +1912,9 @@
"integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA=="
},
"node_modules/@babel/runtime": {
- "version": "7.21.0",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz",
- "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==",
+ "version": "7.22.3",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.3.tgz",
+ "integrity": "sha512-XsDuspWKLUsxwCp6r7EhsExHtYfbe5oAGQ19kqngTdCPUoPQzOPdUbD/pB9PJiwb2ptYKQDjSJT3R6dC+EPqfQ==",
"dependencies": {
"regenerator-runtime": "^0.13.11"
},
@@ -1738,31 +1923,31 @@
}
},
"node_modules/@babel/template": {
- "version": "7.20.7",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz",
- "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==",
+ "version": "7.21.9",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.21.9.tgz",
+ "integrity": "sha512-MK0X5k8NKOuWRamiEfc3KEJiHMTkGZNUjzMipqCGDDc6ijRl/B7RGSKVGncu4Ro/HdyzzY6cmoXuKI2Gffk7vQ==",
"dependencies": {
- "@babel/code-frame": "^7.18.6",
- "@babel/parser": "^7.20.7",
- "@babel/types": "^7.20.7"
+ "@babel/code-frame": "^7.21.4",
+ "@babel/parser": "^7.21.9",
+ "@babel/types": "^7.21.5"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/traverse": {
- "version": "7.21.4",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.4.tgz",
- "integrity": "sha512-eyKrRHKdyZxqDm+fV1iqL9UAHMoIg0nDaGqfIOd8rKH17m5snv7Gn4qgjBoFfLz9APvjFU/ICT00NVCv1Epp8Q==",
+ "version": "7.22.1",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.1.tgz",
+ "integrity": "sha512-lAWkdCoUFnmwLBhIRLciFntGYsIIoC6vIbN8zrLPqBnJmPu7Z6nzqnKd7FsxQUNAvZfVZ0x6KdNvNp8zWIOHSQ==",
"dependencies": {
"@babel/code-frame": "^7.21.4",
- "@babel/generator": "^7.21.4",
- "@babel/helper-environment-visitor": "^7.18.9",
+ "@babel/generator": "^7.22.0",
+ "@babel/helper-environment-visitor": "^7.22.1",
"@babel/helper-function-name": "^7.21.0",
"@babel/helper-hoist-variables": "^7.18.6",
"@babel/helper-split-export-declaration": "^7.18.6",
- "@babel/parser": "^7.21.4",
- "@babel/types": "^7.21.4",
+ "@babel/parser": "^7.22.0",
+ "@babel/types": "^7.22.0",
"debug": "^4.1.0",
"globals": "^11.1.0"
},
@@ -1771,11 +1956,11 @@
}
},
"node_modules/@babel/types": {
- "version": "7.21.4",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.4.tgz",
- "integrity": "sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==",
+ "version": "7.22.3",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.3.tgz",
+ "integrity": "sha512-P3na3xIQHTKY4L0YOG7pM8M8uoUIB910WQaSiiMCZUC2Cy8XFEQONGABFnHWBa2gpGKODTAJcNhi5Zk0sLRrzg==",
"dependencies": {
- "@babel/helper-string-parser": "^7.19.4",
+ "@babel/helper-string-parser": "^7.21.5",
"@babel/helper-validator-identifier": "^7.19.1",
"to-fast-properties": "^2.0.0"
},
@@ -1784,17 +1969,17 @@
}
},
"node_modules/@emotion/is-prop-valid": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.0.tgz",
- "integrity": "sha512-3aDpDprjM0AwaxGE09bOPkNxHpBd+kA6jty3RnaEXdweX1DF1U3VQpPYb0g1IStAuK7SVQ1cy+bNBBKp4W3Fjg==",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.1.tgz",
+ "integrity": "sha512-61Mf7Ufx4aDxx1xlDeOm8aFFigGHE4z+0sKCa+IHCeZKiyP9RLD0Mmx7m8b9/Cf37f7NAvQOOJAbQQGVr5uERw==",
"dependencies": {
- "@emotion/memoize": "^0.8.0"
+ "@emotion/memoize": "^0.8.1"
}
},
"node_modules/@emotion/memoize": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.0.tgz",
- "integrity": "sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA=="
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz",
+ "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA=="
},
"node_modules/@emotion/stylis": {
"version": "0.8.5",
@@ -1830,9 +2015,9 @@
}
},
"node_modules/@expo/cli": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/@expo/cli/-/cli-0.7.0.tgz",
- "integrity": "sha512-9gjr3pRgwWzUDW/P7B4tA0QevKb+hCrvTmVc3Ce5w7CjdM3zNoBcro8vwviRHqkiB1IifG7zQh0PPStSbK+FRQ==",
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/@expo/cli/-/cli-0.7.1.tgz",
+ "integrity": "sha512-414sC4phJA5p96+bgPsyaPNwsepcOsGeErxFXp9OhqwgiQpw+H0uN9mVrvNIKLDHMVWHrW9bAFUEcpoL6VkzbQ==",
"dependencies": {
"@babel/runtime": "^7.20.0",
"@expo/code-signing-certificates": "0.0.5",
@@ -1845,7 +2030,7 @@
"@expo/osascript": "^2.0.31",
"@expo/package-manager": "~1.0.0",
"@expo/plist": "^0.0.20",
- "@expo/prebuild-config": "6.0.0",
+ "@expo/prebuild-config": "6.0.1",
"@expo/rudder-sdk-node": "1.1.1",
"@expo/spawn-async": "1.5.0",
"@expo/xcpretty": "^4.2.1",
@@ -1945,6 +2130,19 @@
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
},
+ "node_modules/@expo/cli/node_modules/form-data": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz",
+ "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==",
+ "dependencies": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "mime-types": "^2.1.12"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
"node_modules/@expo/cli/node_modules/has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
@@ -1992,9 +2190,9 @@
}
},
"node_modules/@expo/config-plugins": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-6.0.1.tgz",
- "integrity": "sha512-6mqZutxeibXFeqFfoZApFUEH2n1RxGXYMHCdJrDj4eXDBBFZ3aJ0XBoroZcHHHvfRieEsf54vNyJoWp7JZGj8g==",
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-6.0.2.tgz",
+ "integrity": "sha512-Cn01fXMHwjU042EgO9oO3Mna0o/UCrW91MQLMbJa4pXM41CYGjNgVy1EVXiuRRx/upegHhvltBw5D+JaUm8aZQ==",
"dependencies": {
"@expo/config-types": "^48.0.0",
"@expo/json-file": "~8.2.37",
@@ -2078,9 +2276,9 @@
}
},
"node_modules/@expo/config-plugins/node_modules/semver": {
- "version": "7.5.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz",
- "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==",
+ "version": "7.5.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz",
+ "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==",
"dependencies": {
"lru-cache": "^6.0.0"
},
@@ -2686,9 +2884,9 @@
}
},
"node_modules/@expo/prebuild-config": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-6.0.0.tgz",
- "integrity": "sha512-UW0QKAoRelsalVMhAG1tmegwS+2tbefvUi6/0QiKPlMLg8GFDQ5ZnzsSmuljD0SzT5yGg8oSpKYhnrXJ6pRmIQ==",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-6.0.1.tgz",
+ "integrity": "sha512-WK3FDht1tdXZGCvtG5s7HSwzhsc7Tyu2DdqV9jVUsLtGD42oqUepk13mEWlU9LOTBgLsoEueKjoSK4EXOXFctw==",
"dependencies": {
"@expo/config": "~8.0.0",
"@expo/config-plugins": "~6.0.0",
@@ -3428,9 +3626,9 @@
}
},
"node_modules/@npmcli/fs/node_modules/semver": {
- "version": "7.5.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz",
- "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==",
+ "version": "7.5.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz",
+ "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==",
"dependencies": {
"lru-cache": "^6.0.0"
},
@@ -4657,6 +4855,37 @@
"resolved": "https://registry.npmjs.org/@react-native/polyfills/-/polyfills-2.0.0.tgz",
"integrity": "sha512-K0aGNn1TjalKj+65D7ycc1//H9roAQ51GJVk5ZJQFb2teECGmzd86bYDC0aYdbRf7gtovescq4Zt6FR0tgXiHQ=="
},
+ "node_modules/@react-native/virtualized-lists": {
+ "version": "0.72.5",
+ "resolved": "https://registry.npmjs.org/@react-native/virtualized-lists/-/virtualized-lists-0.72.5.tgz",
+ "integrity": "sha512-AtKE3dez3lf89O87wC2ZglV5aPsifopQgn/UmFhXAwi18Yp1BJfEGh3sUqOPNgZNByYPAGxFANeZq44VATXeJA==",
+ "dev": true,
+ "dependencies": {
+ "invariant": "^2.2.4",
+ "nullthrows": "^1.1.1"
+ },
+ "peerDependencies": {
+ "react-native": "*",
+ "react-test-renderer": "18.2.0"
+ }
+ },
+ "node_modules/@react-navigation/bottom-tabs": {
+ "version": "6.5.7",
+ "resolved": "https://registry.npmjs.org/@react-navigation/bottom-tabs/-/bottom-tabs-6.5.7.tgz",
+ "integrity": "sha512-9oZYyRu2z7+1pr2dX5V54rHFPmlj4ztwQxFe85zwpnGcPtGIsXj7VCIdlHnjRHJBBFCszvJGQpYY6/G2+DfD+A==",
+ "dependencies": {
+ "@react-navigation/elements": "^1.3.17",
+ "color": "^4.2.3",
+ "warn-once": "^0.1.0"
+ },
+ "peerDependencies": {
+ "@react-navigation/native": "^6.0.0",
+ "react": "*",
+ "react-native": "*",
+ "react-native-safe-area-context": ">= 3.0.0",
+ "react-native-screens": ">= 3.0.0"
+ }
+ },
"node_modules/@react-navigation/core": {
"version": "6.4.8",
"resolved": "https://registry.npmjs.org/@react-navigation/core/-/core-6.4.8.tgz",
@@ -4673,17 +4902,6 @@
"react": "*"
}
},
- "node_modules/@react-navigation/core/node_modules/escape-string-regexp": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
- "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/@react-navigation/core/node_modules/react-is": {
"version": "16.13.1",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
@@ -4731,17 +4949,6 @@
"react-native-screens": ">= 3.0.0"
}
},
- "node_modules/@react-navigation/native/node_modules/escape-string-regexp": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
- "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/@react-navigation/routers": {
"version": "6.1.8",
"resolved": "https://registry.npmjs.org/@react-navigation/routers/-/routers-6.1.8.tgz",
@@ -4783,19 +4990,19 @@
"integrity": "sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ=="
},
"node_modules/@sinonjs/commons": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz",
- "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz",
+ "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==",
"dependencies": {
"type-detect": "4.0.8"
}
},
"node_modules/@sinonjs/fake-timers": {
- "version": "10.0.2",
- "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.0.2.tgz",
- "integrity": "sha512-SwUDyjWnah1AaNl7kxsa7cfLhlTYoiyhDAIgyh+El30YvXs/o7OLXpYH88Zdhyx9JExKrmHDJ+10bwIcY80Jmw==",
+ "version": "10.2.0",
+ "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.2.0.tgz",
+ "integrity": "sha512-OPwQlEdg40HAj5KNF8WW6q2KG4Z+cBCZb3m4ninfTZKaBmbIJodviQsDBoYMPHkOyJJMHnOJo5j2+LKDOhOACg==",
"dependencies": {
- "@sinonjs/commons": "^2.0.0"
+ "@sinonjs/commons": "^3.0.0"
}
},
"node_modules/@types/hoist-non-react-statics": {
@@ -4830,9 +5037,9 @@
}
},
"node_modules/@types/node": {
- "version": "18.16.0",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.0.tgz",
- "integrity": "sha512-BsAaKhB+7X+H4GnSjGhJG9Qi8Tw+inU9nJDwmD5CgOmBLEI6ArdhikpLX7DjbjDRDTbqZzU2LSQNZg8WGPiSZQ=="
+ "version": "20.2.5",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.2.5.tgz",
+ "integrity": "sha512-JJulVEQXmiY9Px5axXHeYGLSjhkZEnD+MDPDGbCbIAbMslkKwmygtZFy1X6s/075Yo94sf8GuSlFfPzysQrWZQ=="
},
"node_modules/@types/prop-types": {
"version": "15.7.5",
@@ -4851,6 +5058,35 @@
"csstype": "^3.0.2"
}
},
+ "node_modules/@types/react-native": {
+ "version": "0.72.2",
+ "resolved": "https://registry.npmjs.org/@types/react-native/-/react-native-0.72.2.tgz",
+ "integrity": "sha512-/eEjr04Zqo7mTMszuSdrLx90+j5nWhDMMOgtnKZfAYyV3RwmlpSb7F17ilmMMxZWJY81n/JZ4e6wdhMJFpjrCg==",
+ "dev": true,
+ "dependencies": {
+ "@react-native/virtualized-lists": "^0.72.4",
+ "@types/react": "*"
+ }
+ },
+ "node_modules/@types/react-native-vector-icons": {
+ "version": "6.4.13",
+ "resolved": "https://registry.npmjs.org/@types/react-native-vector-icons/-/react-native-vector-icons-6.4.13.tgz",
+ "integrity": "sha512-1PqFoKuXTSzMHwGMAr+REdYJBQAbe9xrww3ecZR0FsHcD1K+vGS/rxuAriL4rsI6+p69sZQjDzpEVAbDQcjSwA==",
+ "dev": true,
+ "dependencies": {
+ "@types/react": "*",
+ "@types/react-native": "^0.70"
+ }
+ },
+ "node_modules/@types/react-native-vector-icons/node_modules/@types/react-native": {
+ "version": "0.70.14",
+ "resolved": "https://registry.npmjs.org/@types/react-native/-/react-native-0.70.14.tgz",
+ "integrity": "sha512-Kwc+BYBrnDqvacNxKp1UtcZJnJJnTih2NYmi/ieAKlHdxEPN6sYMwmIwgHdoLHggvml6bf3DYRaH2jt+gzaLjw==",
+ "dev": true,
+ "dependencies": {
+ "@types/react": "*"
+ }
+ },
"node_modules/@types/scheduler": {
"version": "0.16.3",
"resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz",
@@ -4873,6 +5109,12 @@
"csstype": "^3.0.2"
}
},
+ "node_modules/@types/uuid": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.1.tgz",
+ "integrity": "sha512-rFT3ak0/2trgvp4yYZo5iKFEPsET7vKydKF+VRCxlQ9bpheehyAJH89dAkaLEq/j/RZXJIqcgsmPJKUP1Z28HA==",
+ "dev": true
+ },
"node_modules/@types/yargs": {
"version": "15.0.15",
"resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.15.tgz",
@@ -5168,6 +5410,16 @@
"node": ">= 4.5.0"
}
},
+ "node_modules/axios": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.4.0.tgz",
+ "integrity": "sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==",
+ "dependencies": {
+ "follow-redirects": "^1.15.0",
+ "form-data": "^4.0.0",
+ "proxy-from-env": "^1.1.0"
+ }
+ },
"node_modules/babel-core": {
"version": "7.0.0-bridge.0",
"resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz",
@@ -5192,12 +5444,12 @@
}
},
"node_modules/babel-plugin-polyfill-corejs2": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz",
- "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==",
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.3.tgz",
+ "integrity": "sha512-bM3gHc337Dta490gg+/AseNB9L4YLHxq1nGKZZSHbhXv4aTYU2MD2cjza1Ru4S6975YLTaL1K8uJf6ukJhhmtw==",
"dependencies": {
"@babel/compat-data": "^7.17.7",
- "@babel/helper-define-polyfill-provider": "^0.3.3",
+ "@babel/helper-define-polyfill-provider": "^0.4.0",
"semver": "^6.1.1"
},
"peerDependencies": {
@@ -5205,23 +5457,23 @@
}
},
"node_modules/babel-plugin-polyfill-corejs3": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz",
- "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==",
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.1.tgz",
+ "integrity": "sha512-ikFrZITKg1xH6pLND8zT14UPgjKHiGLqex7rGEZCH2EvhsneJaJPemmpQaIZV5AL03II+lXylw3UmddDK8RU5Q==",
"dependencies": {
- "@babel/helper-define-polyfill-provider": "^0.3.3",
- "core-js-compat": "^3.25.1"
+ "@babel/helper-define-polyfill-provider": "^0.4.0",
+ "core-js-compat": "^3.30.1"
},
"peerDependencies": {
"@babel/core": "^7.0.0-0"
}
},
"node_modules/babel-plugin-polyfill-regenerator": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz",
- "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==",
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.0.tgz",
+ "integrity": "sha512-hDJtKjMLVa7Z+LwnTCxoDLQj6wdc+B8dun7ayF2fYieI6OzfuvcLMB32ihJZ4UhCBwNYGl5bg/x/P9cMdnkc2g==",
"dependencies": {
- "@babel/helper-define-polyfill-provider": "^0.3.3"
+ "@babel/helper-define-polyfill-provider": "^0.4.0"
},
"peerDependencies": {
"@babel/core": "^7.0.0-0"
@@ -5233,15 +5485,15 @@
"integrity": "sha512-4djr9G6fMdwQoD6LQ7hOKAm39+y12flWgovAqS1k5O8f42YQ3A1FFMyV5kKfetZuGhZO5BmNmOdRRZQ1TixtDw=="
},
"node_modules/babel-plugin-styled-components": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-styled-components/-/babel-plugin-styled-components-2.1.1.tgz",
- "integrity": "sha512-c8lJlszObVQPguHkI+akXv8+Jgb9Ccujx0EetL7oIvwU100LxO6XAGe45qry37wUL40a5U9f23SYrivro2XKhA==",
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/babel-plugin-styled-components/-/babel-plugin-styled-components-2.1.3.tgz",
+ "integrity": "sha512-jBioLwBVHpOMU4NsueH/ADcHrjS0Y/WTpt2eGVmmuSFNEv2DF3XhcMncuZlbbjxQ4vzxg+yEr6E6TNjrIQbsJQ==",
"dependencies": {
- "@babel/helper-annotate-as-pure": "^7.16.0",
- "@babel/helper-module-imports": "^7.16.0",
+ "@babel/helper-annotate-as-pure": "^7.18.6",
+ "@babel/helper-module-imports": "^7.21.4",
"babel-plugin-syntax-jsx": "^6.18.0",
"lodash": "^4.17.21",
- "picomatch": "^2.3.0"
+ "picomatch": "^2.3.1"
},
"peerDependencies": {
"styled-components": ">= 2"
@@ -5727,9 +5979,9 @@
}
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001481",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001481.tgz",
- "integrity": "sha512-KCqHwRnaa1InZBtqXzP98LPg0ajCVujMKjqKDhZEthIpAsJl/YEIa3YvXjGXPVqzZVguccuu7ga9KOE1J9rKPQ==",
+ "version": "1.0.30001489",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001489.tgz",
+ "integrity": "sha512-x1mgZEXK8jHIfAxm+xgdpHpk50IN3z3q3zP261/WS+uvePxW8izXuCu6AHz0lkuYTlATDehiZ/tNyYBdSQsOUQ==",
"funding": [
{
"type": "opencollective",
@@ -5758,6 +6010,14 @@
"node": ">=4"
}
},
+ "node_modules/chalk/node_modules/escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
"node_modules/charenc": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz",
@@ -5898,9 +6158,9 @@
}
},
"node_modules/cli-spinners": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.8.0.tgz",
- "integrity": "sha512-/eG5sJcvEIwxcdYM86k5tPwn0MUzkX5YY3eImTGpJOZgVe4SdTMY14vQpcxgBzJ0wXwAYrS8E+c3uHeK4JNyzQ==",
+ "version": "2.9.0",
+ "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.0.tgz",
+ "integrity": "sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==",
"engines": {
"node": ">=6"
},
@@ -6005,6 +6265,18 @@
"node": ">=0.10.0"
}
},
+ "node_modules/color": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz",
+ "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==",
+ "dependencies": {
+ "color-convert": "^2.0.1",
+ "color-string": "^1.9.0"
+ },
+ "engines": {
+ "node": ">=12.5.0"
+ }
+ },
"node_modules/color-convert": {
"version": "1.9.3",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
@@ -6018,6 +6290,31 @@
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
"integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
},
+ "node_modules/color-string": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz",
+ "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==",
+ "dependencies": {
+ "color-name": "^1.0.0",
+ "simple-swizzle": "^0.2.2"
+ }
+ },
+ "node_modules/color/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/color/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
"node_modules/colorette": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz",
@@ -6170,9 +6467,9 @@
}
},
"node_modules/core-js-compat": {
- "version": "3.30.1",
- "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.30.1.tgz",
- "integrity": "sha512-d690npR7MC6P0gq4npTl5n2VQeNAmUrJ90n+MHiKS7W2+xno4o3F5GDEuylSdi6EJ3VssibSGXOa1r3YXD3Mhw==",
+ "version": "3.30.2",
+ "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.30.2.tgz",
+ "integrity": "sha512-nriW1nuJjUgvkEjIot1Spwakz52V9YkYHZAQG6A1eCgC8AA1p0zngrQEP9R0+V6hji5XilWKG1Bd0YRppmGimA==",
"dependencies": {
"browserslist": "^4.21.5"
},
@@ -6201,30 +6498,11 @@
}
},
"node_modules/cross-fetch": {
- "version": "3.1.5",
- "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz",
- "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==",
- "dependencies": {
- "node-fetch": "2.6.7"
- }
- },
- "node_modules/cross-fetch/node_modules/node-fetch": {
- "version": "2.6.7",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
- "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
+ "version": "3.1.6",
+ "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.6.tgz",
+ "integrity": "sha512-riRvo06crlE8HiqOwIpQhxwdOk4fOeR7FVM/wXoxchFEqMNUjvbs3bfo4OTgMEMHzppd4DxFBDbyySj8Cv781g==",
"dependencies": {
- "whatwg-url": "^5.0.0"
- },
- "engines": {
- "node": "4.x || >=6.0.0"
- },
- "peerDependencies": {
- "encoding": "^0.1.0"
- },
- "peerDependenciesMeta": {
- "encoding": {
- "optional": true
- }
+ "node-fetch": "^2.6.11"
}
},
"node_modules/cross-spawn": {
@@ -6491,9 +6769,9 @@
"integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
},
"node_modules/electron-to-chromium": {
- "version": "1.4.370",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.370.tgz",
- "integrity": "sha512-c+wzD4sCYQeNeasbnArwsU3ig6+lR6bwQmxfMjB6bx+XoopVSPFp+7ZLxqa90MTC+Tq9QQ5l7zsMNG9GgMBorg=="
+ "version": "1.4.411",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.411.tgz",
+ "integrity": "sha512-5VXLW4Qw89vM2WTICHua/y8v7fKGDRVa2VPOtBB9IpLvW316B+xd8yD1wTmLPY2ot/00P/qt87xdolj4aG/Lzg=="
},
"node_modules/emoji-regex": {
"version": "8.0.0",
@@ -6582,11 +6860,14 @@
"integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
},
"node_modules/escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
"engines": {
- "node": ">=0.8.0"
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/esprima": {
@@ -6773,14 +7054,14 @@
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
},
"node_modules/expo": {
- "version": "48.0.12",
- "resolved": "https://registry.npmjs.org/expo/-/expo-48.0.12.tgz",
- "integrity": "sha512-DjHYxIHOEvsM+yd2JFnRXtogTZKYWVhyT76Q8CKz91cdM7coXPtTAC23dj9nHx6aKP8RmHnpr902lY5uYPP83A==",
+ "version": "48.0.17",
+ "resolved": "https://registry.npmjs.org/expo/-/expo-48.0.17.tgz",
+ "integrity": "sha512-5T1CsMUlfI+xFB89GOU+/xtSSbSBBFVTqwgheAU0cQolfbs+YyJCMTKU5vN45N5OK+ym7p/LKPa6DQAxYPF8YQ==",
"dependencies": {
"@babel/runtime": "^7.20.0",
- "@expo/cli": "0.7.0",
+ "@expo/cli": "0.7.1",
"@expo/config": "8.0.2",
- "@expo/config-plugins": "6.0.1",
+ "@expo/config-plugins": "6.0.2",
"@expo/vector-icons": "^13.0.0",
"babel-preset-expo": "~9.3.2",
"cross-spawn": "^6.0.5",
@@ -6791,7 +7072,7 @@
"expo-font": "~11.1.1",
"expo-keep-awake": "~12.0.1",
"expo-modules-autolinking": "1.2.0",
- "expo-modules-core": "1.2.6",
+ "expo-modules-core": "1.2.7",
"fbemitter": "^3.0.0",
"getenv": "^1.0.0",
"invariant": "^2.2.4",
@@ -6843,6 +7124,15 @@
"expo": "*"
}
},
+ "node_modules/expo-constants/node_modules/uuid": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
+ "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
+ "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.",
+ "bin": {
+ "uuid": "bin/uuid"
+ }
+ },
"node_modules/expo-file-system": {
"version": "15.2.2",
"resolved": "https://registry.npmjs.org/expo-file-system/-/expo-file-system-15.2.2.tgz",
@@ -6854,6 +7144,15 @@
"expo": "*"
}
},
+ "node_modules/expo-file-system/node_modules/uuid": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
+ "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
+ "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.",
+ "bin": {
+ "uuid": "bin/uuid"
+ }
+ },
"node_modules/expo-font": {
"version": "11.1.1",
"resolved": "https://registry.npmjs.org/expo-font/-/expo-font-11.1.1.tgz",
@@ -6986,9 +7285,9 @@
}
},
"node_modules/expo-modules-core": {
- "version": "1.2.6",
- "resolved": "https://registry.npmjs.org/expo-modules-core/-/expo-modules-core-1.2.6.tgz",
- "integrity": "sha512-vyleKepkP8F6L+D55B/E4FbZ8x9pdy3yw/mdbGBkDkrmo2gmeMjOM1mKLSszOkLIqet05O7Wy8m0FZHZTo0VBg==",
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/expo-modules-core/-/expo-modules-core-1.2.7.tgz",
+ "integrity": "sha512-sulqn2M8+tIdxi6QFkKppDEzbePAscgE2LEHocYoQOgHxJpeT7axE0Hkzc+81EeviQilZzGeFZMtNMGh3c9yJg==",
"dependencies": {
"compare-versions": "^3.4.0",
"invariant": "^2.2.4"
@@ -6999,6 +7298,15 @@
"resolved": "https://registry.npmjs.org/expo-status-bar/-/expo-status-bar-1.4.4.tgz",
"integrity": "sha512-5DV0hIEWgatSC3UgQuAZBoQeaS9CqeWRZ3vzBR9R/+IUD87Adbi4FGhU10nymRqFXOizGsureButGZIXPs7zEA=="
},
+ "node_modules/expo/node_modules/uuid": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
+ "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
+ "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.",
+ "bin": {
+ "uuid": "bin/uuid"
+ }
+ },
"node_modules/extend-shallow": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
@@ -7280,6 +7588,25 @@
"node": ">=0.4.0"
}
},
+ "node_modules/follow-redirects": {
+ "version": "1.15.2",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz",
+ "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==",
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://github.com/sponsors/RubenVerborgh"
+ }
+ ],
+ "engines": {
+ "node": ">=4.0"
+ },
+ "peerDependenciesMeta": {
+ "debug": {
+ "optional": true
+ }
+ }
+ },
"node_modules/fontfaceobserver": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/fontfaceobserver/-/fontfaceobserver-2.3.0.tgz",
@@ -7294,9 +7621,9 @@
}
},
"node_modules/form-data": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz",
- "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
+ "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
"dependencies": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.8",
@@ -7362,6 +7689,19 @@
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
"integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
},
+ "node_modules/fsevents": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+ "hasInstallScript": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
+ },
"node_modules/function-bind": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
@@ -7384,12 +7724,13 @@
}
},
"node_modules/get-intrinsic": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz",
- "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz",
+ "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==",
"dependencies": {
"function-bind": "^1.1.1",
"has": "^1.0.3",
+ "has-proto": "^1.0.1",
"has-symbols": "^1.0.3"
},
"funding": {
@@ -7534,6 +7875,17 @@
"node": ">=4"
}
},
+ "node_modules/has-proto": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz",
+ "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/has-symbols": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
@@ -7874,9 +8226,9 @@
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
},
"node_modules/is-core-module": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.0.tgz",
- "integrity": "sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==",
+ "version": "2.12.1",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz",
+ "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==",
"dependencies": {
"has": "^1.0.3"
},
@@ -8348,11 +8700,6 @@
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
- "node_modules/jest-message-util/node_modules/react-is": {
- "version": "18.2.0",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
- "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w=="
- },
"node_modules/jest-message-util/node_modules/supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
@@ -9603,9 +9950,9 @@
}
},
"node_modules/metro-inspector-proxy/node_modules/yargs": {
- "version": "17.7.1",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.1.tgz",
- "integrity": "sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==",
+ "version": "17.7.2",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
+ "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
"dependencies": {
"cliui": "^8.0.1",
"escalade": "^3.1.1",
@@ -9972,9 +10319,9 @@
}
},
"node_modules/metro/node_modules/yargs": {
- "version": "17.7.1",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.1.tgz",
- "integrity": "sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==",
+ "version": "17.7.2",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
+ "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
"dependencies": {
"cliui": "^8.0.1",
"escalade": "^3.1.1",
@@ -10301,9 +10648,9 @@
}
},
"node_modules/node-fetch": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz",
- "integrity": "sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==",
+ "version": "2.6.11",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.11.tgz",
+ "integrity": "sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w==",
"dependencies": {
"whatwg-url": "^5.0.0"
},
@@ -10333,9 +10680,9 @@
"integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw=="
},
"node_modules/node-releases": {
- "version": "2.0.10",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz",
- "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w=="
+ "version": "2.0.12",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz",
+ "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ=="
},
"node_modules/node-stream-zip": {
"version": "1.15.0",
@@ -11002,6 +11349,11 @@
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
},
+ "node_modules/pretty-format/node_modules/react-is": {
+ "version": "17.0.2",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
+ "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w=="
+ },
"node_modules/process-nextick-args": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
@@ -11055,6 +11407,11 @@
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
"integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
},
+ "node_modules/proxy-from-env": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
+ "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
+ },
"node_modules/pump": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
@@ -11175,9 +11532,9 @@
}
},
"node_modules/react-devtools-core": {
- "version": "4.27.6",
- "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-4.27.6.tgz",
- "integrity": "sha512-jeFNhEzcSwpiqmw+zix5IFibNEPmUodICN7ClrlRKGktzO/3FMteMb52l1NRUiz/ABSYt9hOZ9IPgVDrg5pyUw==",
+ "version": "4.27.8",
+ "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-4.27.8.tgz",
+ "integrity": "sha512-KwoH8/wN/+m5wTItLnsgVraGNmFrcTWR3k1VimP1HjtMMw4CNF+F5vg4S/0tzTEKIdpCi2R7mPNTC+/dswZMgw==",
"dependencies": {
"shell-quote": "^1.6.1",
"ws": "^7"
@@ -11228,14 +11585,14 @@
}
},
"node_modules/react-is": {
- "version": "17.0.2",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
- "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w=="
+ "version": "18.2.0",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
+ "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w=="
},
"node_modules/react-native": {
- "version": "0.71.6",
- "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.71.6.tgz",
- "integrity": "sha512-gHrDj7qaAaiE41JwaFCh3AtvOqOLuRgZtHKzNiwxakG/wvPAYmG73ECfWHGxjxIx/QT17Hp37Da3ipCei/CayQ==",
+ "version": "0.71.8",
+ "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.71.8.tgz",
+ "integrity": "sha512-ftMAuhpgTkbHU9brrqsEyxcNrpYvXKeATY+if22Nfhhg1zW+6wn95w9otwTnA3xHkljPCbng8mUhmmERjGEl7g==",
"dependencies": {
"@jest/create-cache-key-function": "^29.2.1",
"@react-native-community/cli": "10.2.2",
@@ -11262,7 +11619,7 @@
"promise": "^8.3.0",
"react-devtools-core": "^4.26.1",
"react-native-codegen": "^0.71.5",
- "react-native-gradle-plugin": "^0.71.17",
+ "react-native-gradle-plugin": "^0.71.18",
"react-refresh": "^0.4.0",
"react-shallow-renderer": "^16.15.0",
"regenerator-runtime": "^0.13.2",
@@ -11294,14 +11651,14 @@
}
},
"node_modules/react-native-gradle-plugin": {
- "version": "0.71.17",
- "resolved": "https://registry.npmjs.org/react-native-gradle-plugin/-/react-native-gradle-plugin-0.71.17.tgz",
- "integrity": "sha512-OXXYgpISEqERwjSlaCiaQY6cTY5CH6j73gdkWpK0hedxtiWMWgH+i5TOi4hIGYitm9kQBeyDu+wim9fA8ROFJA=="
+ "version": "0.71.18",
+ "resolved": "https://registry.npmjs.org/react-native-gradle-plugin/-/react-native-gradle-plugin-0.71.18.tgz",
+ "integrity": "sha512-7F6bD7B8Xsn3JllxcwHhFcsl9aHIig47+3eN4IHFNqfLhZr++3ElDrcqfMzugM+niWbaMi7bJ0kAkAL8eCpdWg=="
},
"node_modules/react-native-safe-area-context": {
- "version": "4.5.1",
- "resolved": "https://registry.npmjs.org/react-native-safe-area-context/-/react-native-safe-area-context-4.5.1.tgz",
- "integrity": "sha512-bKcwk6zZvyz+VLoG6Uia1oiYU1jSbv1ysjEKSRLsLtPcDsbixsTc0UgfrPqjZxNTPzvYLMcr8ufA90UQauN4mw==",
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/react-native-safe-area-context/-/react-native-safe-area-context-4.5.0.tgz",
+ "integrity": "sha512-0WORnk9SkREGUg2V7jHZbuN5x4vcxj/1B0QOcXJjdYWrzZHgLcUzYWWIUecUPJh747Mwjt/42RZDOaFn3L8kPQ==",
"peerDependencies": {
"react": "*",
"react-native": "*"
@@ -11356,6 +11713,21 @@
"react": "^16.0.0 || ^17.0.0 || ^18.0.0"
}
},
+ "node_modules/react-test-renderer": {
+ "version": "18.2.0",
+ "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-18.2.0.tgz",
+ "integrity": "sha512-JWD+aQ0lh2gvh4NM3bBM42Kx+XybOxCpgYK7F8ugAlpaTSnWsX+39Z4XkOykGZAHrjwwTZT3x3KxswVWxHPUqA==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "react-is": "^18.2.0",
+ "react-shallow-renderer": "^16.15.0",
+ "scheduler": "^0.23.0"
+ },
+ "peerDependencies": {
+ "react": "^18.2.0"
+ }
+ },
"node_modules/readable-stream": {
"version": "2.3.8",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
@@ -11901,6 +12273,19 @@
"node": ">= 5.10.0"
}
},
+ "node_modules/simple-swizzle": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
+ "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==",
+ "dependencies": {
+ "is-arrayish": "^0.3.1"
+ }
+ },
+ "node_modules/simple-swizzle/node_modules/is-arrayish": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
+ "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ=="
+ },
"node_modules/sisteransi": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz",
@@ -12446,9 +12831,9 @@
"integrity": "sha512-0MP/Cxx5SzeeZ10p/bZI0S6MpgD+yxAhi1BOQ34jgnMXsCq3j1t6tQnZu+KdlL7dvJTLT3g9xN8tl10TqgFMcg=="
},
"node_modules/styled-components": {
- "version": "5.3.10",
- "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-5.3.10.tgz",
- "integrity": "sha512-3kSzSBN0TiCnGJM04UwO1HklIQQSXW7rCARUk+VyMR7clz8XVlA3jijtf5ypqoDIdNMKx3la4VvaPFR855SFcg==",
+ "version": "5.3.11",
+ "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-5.3.11.tgz",
+ "integrity": "sha512-uuzIIfnVkagcVHv9nE0VPlHPSCmXIUGKfJ42LNjxCCTDTL5sgnJ8Z7GZBq0EnLYGln77tPpEpExt2+qa+cZqSw==",
"dependencies": {
"@babel/helper-module-imports": "^7.0.0",
"@babel/traverse": "^7.4.5",
@@ -12562,13 +12947,13 @@
}
},
"node_modules/tar": {
- "version": "6.1.13",
- "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.13.tgz",
- "integrity": "sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==",
+ "version": "6.1.15",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.15.tgz",
+ "integrity": "sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==",
"dependencies": {
"chownr": "^2.0.0",
"fs-minipass": "^2.0.0",
- "minipass": "^4.0.0",
+ "minipass": "^5.0.0",
"minizlib": "^2.1.1",
"mkdirp": "^1.0.3",
"yallist": "^4.0.0"
@@ -12578,9 +12963,9 @@
}
},
"node_modules/tar/node_modules/minipass": {
- "version": "4.2.8",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz",
- "integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz",
+ "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==",
"engines": {
"node": ">=8"
}
@@ -12710,9 +13095,9 @@
}
},
"node_modules/terser": {
- "version": "5.17.1",
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.17.1.tgz",
- "integrity": "sha512-hVl35zClmpisy6oaoKALOpS0rDYLxRFLHhRuDlEGTKey9qHjS1w9GMORjuwIMt70Wan4lwsLYyWDVnWgF+KUEw==",
+ "version": "5.17.6",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-5.17.6.tgz",
+ "integrity": "sha512-V8QHcs8YuyLkLHsJO5ucyff1ykrLVsR4dNnS//L5Y3NiSXpbK1J+WMVUs67eI0KTxs9JtHhgEQpXQVHlHI92DQ==",
"dependencies": {
"@jridgewell/source-map": "^0.3.2",
"acorn": "^8.5.0",
@@ -12872,9 +13257,9 @@
"integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA=="
},
"node_modules/tslib": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz",
- "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg=="
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz",
+ "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA=="
},
"node_modules/type-detect": {
"version": "4.0.8",
@@ -13199,12 +13584,11 @@
}
},
"node_modules/uuid": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
- "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
- "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.",
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz",
+ "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==",
"bin": {
- "uuid": "bin/uuid"
+ "uuid": "dist/bin/uuid"
}
},
"node_modules/valid-url": {
diff --git a/package.json b/package.json
index 242d92d..a01d98c 100644
--- a/package.json
+++ b/package.json
@@ -9,22 +9,29 @@
"web": "expo start --web"
},
"dependencies": {
+ "@expo/vector-icons": "^13.0.0",
"@react-native-community/checkbox": "^0.5.15",
+ "@react-navigation/bottom-tabs": "^6.5.7",
"@react-navigation/native": "^6.1.6",
"@react-navigation/native-stack": "^6.9.12",
+ "axios": "^1.4.0",
"expo": "~48.0.11",
+ "expo-checkbox": "~2.3.1",
"expo-status-bar": "~1.4.4",
"react": "18.2.0",
- "react-native": "0.71.6",
- "react-native-safe-area-context": "^4.5.1",
+ "react-native": "0.71.8",
+ "react-native-safe-area-context": "4.5.0",
"react-native-screens": "^3.20.0",
"styled-components": "^5.3.10",
- "expo-checkbox": "~2.3.1"
+ "uuid": "^9.0.0"
},
"devDependencies": {
"@babel/core": "^7.20.0",
"@types/react": "~18.0.14",
+ "@types/react-native": "^0.72.0",
+ "@types/react-native-vector-icons": "^6.4.13",
"@types/styled-components": "^5.1.26",
+ "@types/uuid": "^9.0.1",
"typescript": "^4.9.4"
},
"private": true
diff --git a/styles/index.ts b/styles/index.ts
index dfedaec..3c835cf 100644
--- a/styles/index.ts
+++ b/styles/index.ts
@@ -1,11 +1,20 @@
export const Colors = {
+ //background: '#2D2D2D', -> old version
background: '#282729',
- card: '#3C3C3E',
- input: '#656262',
- inputPlaceHolder: '#A8A8A8',
- buttonBuyAdd: '#20BE4C',
primary: '#D78F3C',
warning: '#FF4B4B',
+ input: '#656262',
+ inputPlaceHolder: '#A8A8A8',
error: '#FA2E16',
-
- }
\ No newline at end of file
+ card: '#3C3C3E',
+ cardProduct:'#FFFFFF',
+ cardTitle: '#F5F5F5',
+ priceButton: '#282729',
+ buttonBuy: '#20BE4C',
+ white: '#FFFFFF',
+ tabBarColor: '#2D2D2D',
+ titleText: '#A8A8A8',
+ favoriteButton: '#000000',
+ loginButtonText: "#DBDBDB",
+ removeButton: '#FF4B4B',
+ }
diff --git a/types/navigation.ts b/types/navigation.ts
index 7035e1d..a6a766f 100644
--- a/types/navigation.ts
+++ b/types/navigation.ts
@@ -4,8 +4,11 @@ export type NavParamsList = {
Home: undefined
SignUp: undefined
Login: undefined
+ ProductScreen: {id: number,title: string, price: number, image: string, description: string}
Product: { id: number }
+ Cart: undefined
}
export type NavProps = NativeStackScreenProps
-export type ProductNavProps = NativeStackScreenProps
\ No newline at end of file
+export type ProductNavProps = NativeStackScreenProps
+