diff --git a/.DS_Store b/.DS_Store
index a0055a4..a0b1ad1 100644
Binary files a/.DS_Store and b/.DS_Store differ
diff --git a/app/.DS_Store b/app/.DS_Store
index 7be623e..fb333cf 100644
Binary files a/app/.DS_Store and b/app/.DS_Store differ
diff --git a/app/JAM/.DS_Store b/app/JAM/.DS_Store
new file mode 100644
index 0000000..a4b90d4
Binary files /dev/null and b/app/JAM/.DS_Store differ
diff --git a/app/JAM/.expo/README.md b/app/JAM/.expo/README.md
new file mode 100755
index 0000000..f7eb5fe
--- /dev/null
+++ b/app/JAM/.expo/README.md
@@ -0,0 +1,8 @@
+> Why do I have a folder named ".expo" in my project?
+The ".expo" folder is created when an Expo project is started using "expo start" command.
+> What do the files contain?
+- "devices.json": contains information about devices that have recently opened this project. This is used to populate the "Development sessions" list in your development builds.
+- "settings.json": contains the server configuration that is used to serve the application manifest.
+> Should I commit the ".expo" folder?
+No, you should not share the ".expo" folder. It does not contain any information that is relevant for other developers working on the project, it is specific to your machine.
+Upon project creation, the ".expo" folder is already added to your ".gitignore" file.
diff --git a/app/JAM/.expo/devices.json b/app/JAM/.expo/devices.json
new file mode 100755
index 0000000..5efff6c
--- /dev/null
+++ b/app/JAM/.expo/devices.json
@@ -0,0 +1,3 @@
+{
+ "devices": []
+}
diff --git a/app/JAM/.idea/vcs.xml b/app/JAM/.idea/vcs.xml
old mode 100755
new mode 100644
index 35eb1dd..8fe5bdb
--- a/app/JAM/.idea/vcs.xml
+++ b/app/JAM/.idea/vcs.xml
@@ -2,5 +2,6 @@
+
\ No newline at end of file
diff --git a/app/JAM/.idea/workspace.xml b/app/JAM/.idea/workspace.xml
new file mode 100644
index 0000000..264cd14
--- /dev/null
+++ b/app/JAM/.idea/workspace.xml
@@ -0,0 +1,126 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {
+ "associatedIndex": 3
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1696348181888
+
+
+ 1696348181888
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/JAM/activities/Authentication.js b/app/JAM/activities/Authentication.js
index f262cc8..9611489 100755
--- a/app/JAM/activities/Authentication.js
+++ b/app/JAM/activities/Authentication.js
@@ -19,6 +19,7 @@ import {Ionicons} from "@expo/vector-icons";
import {signIn, signUp} from "../services/AuthService";
import {FIREBASE_AUTH, FIREBASE_DB} from "../config/FirebaseConfig";
import ImagePickerBox from "../components/ImagePickerBox";
+import {useTranslation} from "react-i18next";
function Authentication({navigation}){
const windowHeight = useWindowDimensions().height;
@@ -39,6 +40,7 @@ function Authentication({navigation}){
error: ''
});
const auth = FIREBASE_AUTH;
+ const { t } = useTranslation();
const toggleShowPassword = () => {
setShowPassword(!showPassword);
};
@@ -119,101 +121,101 @@ function Authentication({navigation}){
- {selectedIndex === 0 ?
-
- setLoginCredentials({ ...loginCredentials, email: text })}
- />
-
+ {selectedIndex === 0 ?
+
+ setLoginCredentials({ ...loginCredentials, email: text })}
+ />
+
+ {setPassword(text); setLoginCredentials({ ...loginCredentials, password: text })}}
+ value={password}
+ inputMode="text"
+ autoComplete="password"
+ placeholder={t('passwordPlaceHolder')}
+ cursorColor={Colors.primary}
+ placeholderTextColor={Colors.grey}
+ style={[styles.textInput, {paddingHorizontal: 0}]}
+
+ />
+
+
+ {signIn(auth, loginCredentials, setLoginCredentials, navigation)}}/>
+ {loginCredentials.error ? {loginCredentials.error} : null}
+
+ {t('passwordForgotLink')}
+
+
+ :
+
+
+ setRegistrationCredentials({ ...registrationCredentials, email: text })}
+ />
{setPassword(text); setLoginCredentials({ ...loginCredentials, password: text })}}
- value={password}
+ inputMode="text"
+ autoComplete="username"
+ placeholder={t('namePlaceHolder')}
+ cursorColor={Colors.primary}
+ placeholderTextColor={Colors.grey}
+ style={[styles.textInput, {marginTop: 20}]}
+ onChangeText={(text) => setRegistrationCredentials({ ...registrationCredentials, displayName: text })}
+ />
+ setRegistrationCredentials({ ...registrationCredentials, password: text })}
/>
- setRegistrationCredentials({ ...registrationCredentials, confirmPass: text })}
/>
+ {
+ signUp(auth, registrationCredentials, setRegistrationCredentials, image, navigation);
+ }}/>
+ {registrationCredentials.error ? {registrationCredentials.error} : null}
- {signIn(auth, loginCredentials, setLoginCredentials, navigation)}}/>
- {loginCredentials.error ? {loginCredentials.error} : null}
-
- Hai dimenticato la password?
-
-
- :
-
-
- setRegistrationCredentials({ ...registrationCredentials, email: text })}
- />
- setRegistrationCredentials({ ...registrationCredentials, displayName: text })}
- />
- setRegistrationCredentials({ ...registrationCredentials, password: text })}
- />
- setRegistrationCredentials({ ...registrationCredentials, confirmPass: text })}
- />
- {
- signUp(auth, registrationCredentials, setRegistrationCredentials, image, navigation);
- }}/>
- {registrationCredentials.error ? {registrationCredentials.error} : null}
-
- }
+ }
{
setSelectedIndex(event.nativeEvent.selectedSegmentIndex)
diff --git a/app/JAM/activities/Favourites.js b/app/JAM/activities/Favourites.js
index 108eb7e..1b6c2a1 100755
--- a/app/JAM/activities/Favourites.js
+++ b/app/JAM/activities/Favourites.js
@@ -5,12 +5,13 @@ import {useContext, useEffect, useState} from "react";
import {getUserFavourites} from "../services/UserService";
import {StreetsInfosContext} from "../components/StreetsInfosProvider";
import {getStatusComponent} from "../services/StreetService";
+import {useTranslation} from "react-i18next";
function Favourites({navigation}){
const [favs, setFavs] = useState([])
const [filteredFavs, setFilteredFavs] = useState([])
const { streetsInfos, updateFavs } = useContext(StreetsInfosContext);
-
+ const { t } = useTranslation();
function getDotColor(status) {
if(status === 'free') {
return Colors.green;
@@ -71,7 +72,7 @@ function Favourites({navigation}){
gap: 10
},
streetRowLabel: {
- color: 'white',
+ color: 'white',
fontWeight: "bold",
fontSize: 18
},
@@ -95,10 +96,10 @@ function Favourites({navigation}){
}
+ renderItem={({item}) => }
ItemSeparatorComponent={StreetsItemSeparator}
KeyExtractor={({item}) => item.title}
- ListEmptyComponent={() => {return(Aggiungi le strade di tuo interesse ai preferiti per visualizzarle facilmente e ricevere aggiornamenti )}}
+ ListEmptyComponent={() => {return({t('emptyFavourites')} )}}
/>
diff --git a/app/JAM/activities/Feed.js b/app/JAM/activities/Feed.js
index 871a0b0..70b80cf 100755
--- a/app/JAM/activities/Feed.js
+++ b/app/JAM/activities/Feed.js
@@ -14,10 +14,12 @@ import Animated, {
withTiming
} from "react-native-reanimated"
import {GestureHandlerRootView, PanGestureHandler} from "react-native-gesture-handler";
+import {useTranslation} from "react-i18next";
function Feed(){
const [notifications, setNotifications] = useState(new Map());
const {updateNotifications} = useContext(StreetsInfosContext);
+ const { t } = useTranslation();
const deviceWidth = Dimensions.get('window').width;
const threshold = -deviceWidth * 0.4;
@@ -61,7 +63,7 @@ function Feed(){
{title}
{timeAgo((date.toDate().getTime()) / 1000)}
- {description}
+ {getNotificationDesc(title, description, notificationType)}
@@ -116,7 +118,15 @@ function Feed(){
} else {
const days = Math.floor(timeDifference / 86400);
const hours = Math.floor((timeDifference % 86400) / 3600);
- return `${days}d ${hours}h ago`;
+ return `${days}d ago`;
+ }
+ }
+
+ function getNotificationDesc(title, description, notificationType) {
+ if(notificationType === "notifyAlmostFull" || notificationType === "notifyFull" || notificationType === "notifyFree") {
+ return t(notificationType.replace("notify", "").toLowerCase() + "StreetNotificationBody", {streetName: title});
+ } else {
+ return description;
}
}
@@ -155,9 +165,11 @@ function Feed(){
color: 'white',
flexWrap: 'wrap',
flexDirection: "row",
+ flexShrink: 1
},
notificationInfos: {
- flexGrow: 1
+ flexGrow: 1,
+ maxWidth: "80%"
},
notificationsContainer: {
width: '100%'
@@ -179,17 +191,17 @@ function Feed(){
-
- notifications[a]['date'].toDate() - notifications[b]['date'].toDate() > 0 ? -1 : 1
- )}
- renderItem={({item}) => - }
- KeyExtractor={({item}) => item}
- style={styles.flatList}
- persistentScrollbar={true}
- showsVerticalScrollIndicator={true}
- contentContainerStyle={{ paddingBottom: 300 }}
- />
+
+ notifications[a]['date'].toDate() - notifications[b]['date'].toDate() > 0 ? -1 : 1
+ )}
+ renderItem={({item}) => - }
+ KeyExtractor={({item}) => item}
+ style={styles.flatList}
+ persistentScrollbar={true}
+ showsVerticalScrollIndicator={true}
+ contentContainerStyle={{ paddingBottom: 300 }}
+ />
diff --git a/app/JAM/activities/Home.js b/app/JAM/activities/Home.js
index 34485af..ce4212f 100755
--- a/app/JAM/activities/Home.js
+++ b/app/JAM/activities/Home.js
@@ -19,7 +19,6 @@ function Home({navigation}) {
useEffect(() => {
const polyLinesToPlot = new Map();
- const toNotify = [];
for(let streetName of streetsInfos.keys()) {
const origin = {latitude: streetsInfos.get(streetName).latStart, longitude: streetsInfos.get(streetName).lngStart};
const destination = {latitude: streetsInfos.get(streetName).latEnd, longitude: streetsInfos.get(streetName).lngEnd};
diff --git a/app/JAM/activities/Onboarding.js b/app/JAM/activities/Onboarding.js
index 0ca92a0..39ca24d 100755
--- a/app/JAM/activities/Onboarding.js
+++ b/app/JAM/activities/Onboarding.js
@@ -1,16 +1,16 @@
import {Image, ImageBackground, StyleSheet, Text, View} from "react-native";
import {StatusBar} from "expo-status-bar";
import Constants from "expo-constants";
-import {Heading} from "@gluestack-ui/themed";
import PrimaryButton from "../components/PrimaryButton";
import SecondaryButton from "../components/SecondaryButton";
import {Colors} from "../res/Colors";
import SegmentedControl from "@react-native-segmented-control/segmented-control";
-import {MaterialCommunityIcons} from "@expo/vector-icons";
import {useState} from "react";
+import {useTranslation} from "react-i18next";
function Onboarding({ navigation }) {
const [selectedIndex, setSelectedIndex] = useState(0);
+ const {t, i18n} = useTranslation();
const styles = StyleSheet.create({
onboardingBG: {
@@ -76,8 +76,8 @@ function Onboarding({ navigation }) {
- Benvenuto in JAM!
- JAM è un app che ti aiuta a trovare parcheggio
+ {t('onboardingHeading1')}
+ {t('onboardingSubHeading1')}
:
@@ -87,8 +87,8 @@ function Onboarding({ navigation }) {
- Controlla la Heat map!
- Tieni sotto controllo la situazione dei parcheggi nelle varie vie della città
+ {t('onboardingHeading2')}
+ {t('onboardingSubHeading2')}
:
@@ -98,8 +98,8 @@ function Onboarding({ navigation }) {
- Trova parcheggio!
- Raggiungi il punto indicato dalla mappa e parcheggia la tua auto
+ {t('onboardingHeading3')}
+ {t('onboardingSubHeading3')}
:
@@ -109,7 +109,7 @@ function Onboarding({ navigation }) {
{selectedIndex > 0 ?
- {setSelectedIndex(selectedIndex-1)}}/>
+ {setSelectedIndex(selectedIndex-1)}}/>
:
null
}
@@ -127,7 +127,7 @@ function Onboarding({ navigation }) {
style={{height: 20, borderRadius: 50, width: "20%"}}
/>
- {
+ {
if(selectedIndex < 2) {
setSelectedIndex(selectedIndex + 1)
} else {
diff --git a/app/JAM/activities/Profile.js b/app/JAM/activities/Profile.js
index 653b5de..e12ac3e 100755
--- a/app/JAM/activities/Profile.js
+++ b/app/JAM/activities/Profile.js
@@ -3,8 +3,10 @@ import TopBar from "./TopBar";
import {FIREBASE_AUTH} from "../config/FirebaseConfig";
import {Colors} from "../res/Colors";
import {MaterialIcons} from "@expo/vector-icons";
+import {useTranslation} from "react-i18next";
function Profile({navigation}){
+ const { t } = useTranslation();
const styles = StyleSheet.create({
container: {
height: "100%",
@@ -42,18 +44,18 @@ function Profile({navigation}){
- Nome:
+ {t('nameLabel')}
{FIREBASE_AUTH.currentUser.displayName}
- Indirizzo Email:
+ {t('emailLabel')}
{FIREBASE_AUTH.currentUser.email}
- Email verificata: {FIREBASE_AUTH.currentUser.emailVerified ? : }
+ {t('emailVerLabel')}{FIREBASE_AUTH.currentUser.emailVerified ? : }
)
diff --git a/app/JAM/activities/Settings.js b/app/JAM/activities/Settings.js
new file mode 100755
index 0000000..c4301ab
--- /dev/null
+++ b/app/JAM/activities/Settings.js
@@ -0,0 +1,66 @@
+import {StyleSheet, Text, View} from "react-native";
+import TopBar from "./TopBar";
+import {Colors} from "../res/Colors";
+import {Picker} from "@react-native-picker/picker";
+import {useEffect, useReducer, useState} from "react";
+import i18n from "../services/i18n"
+import {useTranslation} from "react-i18next";
+import {changeUserLanguagePref} from "../services/UserService";
+
+function Settings({navigation}){
+ const [selectedLanguage, setSelectedLanguage] = useState(i18n.language);
+ const { t } = useTranslation();
+
+ const styles = StyleSheet.create({
+ container: {
+ height: "100%",
+ alignItems: "center",
+ backgroundColor: Colors.surface200
+ },
+ settingsContainer: {
+ paddingHorizontal: 20,
+ width: "100%"
+ },
+ settingRow: {
+ flexDirection: "row",
+ alignItems: "center",
+ justifyContent: "space-between",
+ width: "100%",
+ backgroundColor: Colors.surface500,
+ padding: 15,
+ marginVertical: 10,
+ borderRadius: 10
+ },
+ settingLabel: {
+ color: "white",
+ fontWeight: "bold",
+ fontSize: 16
+ },
+ picker: {
+ width: 100
+ },
+ pickerItem: {
+ height: 50
+ }
+ })
+ return(
+
+
+
+
+ {t('languageLabel')}
+
+ {setSelectedLanguage(itemValue); i18n.changeLanguage(itemValue); changeUserLanguagePref(itemValue);}
+ }>
+
+
+
+
+
+
+ )
+}
+
+export default Settings;
diff --git a/app/JAM/activities/Street.js b/app/JAM/activities/Street.js
index bf10357..9ca56c8 100644
--- a/app/JAM/activities/Street.js
+++ b/app/JAM/activities/Street.js
@@ -6,11 +6,13 @@ import {useContext} from "react";
import {StreetsInfosContext} from "../components/StreetsInfosProvider";
import MapViewDirections from "react-native-maps-directions";
import {getStatusComponent} from "../services/StreetService";
+import {useTranslation} from "react-i18next";
function Street({route, navigation}) {
const {streetName} = route.params;
const {streetsInfos} = useContext(StreetsInfosContext);
const GOOGLE_MAPS_APIKEY = 'AIzaSyCMVvS9_LtrL_sfNoXu27hfhWBaWtYrUss';
+ const { t } = useTranslation();
const origin = {latitude: streetsInfos.get(streetName).latStart, longitude: streetsInfos.get(streetName).lngStart};
const destination = {latitude: streetsInfos.get(streetName).latEnd, longitude: streetsInfos.get(streetName).lngEnd};
@@ -81,16 +83,16 @@ function Street({route, navigation}) {
/>
- Status:
+ {t('statusLabel')}
{getStatusComponent(streetsInfos.get(streetName).status)}
- Coordinate
+ {t('coordsLabel')}
- Inizio:
+ {t('startLabel')}
{streetsInfos.get(streetName).latStart + "° " + streetsInfos.get(streetName).lngStart + "°"}
- Fine:
+ {t('endLabel')}
{streetsInfos.get(streetName).latEnd + "° " + streetsInfos.get(streetName).lngEnd + "°"}
diff --git a/app/JAM/activities/TopBar.js b/app/JAM/activities/TopBar.js
index c73c6d8..061c353 100755
--- a/app/JAM/activities/TopBar.js
+++ b/app/JAM/activities/TopBar.js
@@ -15,8 +15,10 @@ import {
removeFromFavourite
} from "../services/UserService";
import {StreetsInfosContext} from "../components/StreetsInfosProvider";
+import {useTranslation} from "react-i18next";
function TopBar({page, navigation}){
+ const { t } = useTranslation();
const styles = StyleSheet.create({
topBarContainer: {
paddingTop: Constants.statusBarHeight,
@@ -36,7 +38,9 @@ function TopBar({page, navigation}){
userPillContainer: {
flexDirection: "row",
width: "100%",
- paddingHorizontal: 20
+ paddingHorizontal: 20,
+ justifyContent: "center",
+ alignItems: "center",
},
headingContainer: {
flexDirection: "row",
@@ -69,6 +73,10 @@ function TopBar({page, navigation}){
rightBtn: {
position: "absolute",
right: 20
+ },
+ leftBtn: {
+ position: "absolute",
+ left: 20
}
})
if(page === "Home") {
@@ -76,6 +84,9 @@ function TopBar({page, navigation}){
+ {navigation.navigate('Settings')}}>
+
+
{navigation.navigate('Profile')}} style={{marginStart: "auto"}}>
@@ -96,7 +107,7 @@ function TopBar({page, navigation}){
- Il tuo feed
+ {t('feedHeading')}
{notificationsPref ?
{changeUserNotificationsPref(false); setNotificationsPref(false);}}>
@@ -114,7 +125,7 @@ function TopBar({page, navigation}){
- I tuoi preferiti
+ {t('favouritesHeading')}
)
@@ -126,13 +137,25 @@ function TopBar({page, navigation}){
{navigation.navigate('Home')}}>
- Il tuo profilo
+ {t('profileHeading')}
{signOut(FIREBASE_AUTH)}}>
)
+ } else if(page === "Settings") {
+ return(
+
+
+
+ {navigation.navigate('Home')}} style={styles.leftBtn}>
+
+
+ {t('settingsHeading')}
+
+
+ )
} else if(page.split('/')[0] === "Street") {
const [isFav, setIsFav] = useState(false);
const {setUpdateFavs} = useContext(StreetsInfosContext);
diff --git a/app/JAM/components/ImagePickerBox.js b/app/JAM/components/ImagePickerBox.js
index 1a3bda9..f1a7b8f 100755
--- a/app/JAM/components/ImagePickerBox.js
+++ b/app/JAM/components/ImagePickerBox.js
@@ -2,8 +2,10 @@ import React, { useState, useEffect } from 'react';
import {Button, Image, View, Platform, StyleSheet, TouchableOpacity, Text} from 'react-native';
import * as ImagePicker from 'expo-image-picker';
import {Colors} from "../res/Colors";
+import {useTranslation} from "react-i18next";
export default function ImagePickerBox({image, setImage}) {
+ const { t } = useTranslation();
const styles = StyleSheet.create({
imagePickerContainer: {
@@ -52,7 +54,7 @@ export default function ImagePickerBox({image, setImage}) {
{image ?
:
- Immagine profilo
+ {t('profilePicPlaceHolder')}
}
diff --git a/app/JAM/components/StreetModal.js b/app/JAM/components/StreetModal.js
index 60dc4d0..6aa16e4 100644
--- a/app/JAM/components/StreetModal.js
+++ b/app/JAM/components/StreetModal.js
@@ -7,10 +7,12 @@ import {useContext, useEffect, useState} from "react";
import {addToFavourite, checkIfFavourite, removeFromFavourite} from "../services/UserService";
import {getStatusComponent} from "../services/StreetService";
import {StreetsInfosContext} from "./StreetsInfosProvider";
+import {useTranslation} from "react-i18next";
function StreetModal({isVisible, streetName, streetInfos, onClose}) {
const [isFavourite, setIsFavourite] = useState(false);
const {setUpdateFavs} = useContext(StreetsInfosContext);
+ const {t, i18n} = useTranslation();
async function retrieveIsFavourite() {
setIsFavourite(await checkIfFavourite(streetName));
}
@@ -47,7 +49,7 @@ function StreetModal({isVisible, streetName, streetInfos, onClose}) {
marginTop: 10
},
bodyLabel: {
- color: Colors.grey,
+ color: Colors.grey,
fontWeight: "bold",
fontSize: 22
},
@@ -79,7 +81,7 @@ function StreetModal({isVisible, streetName, streetInfos, onClose}) {
marginTop: 30
},
row: {
- display: "flex",
+ display: "flex",
flexDirection: "row",
gap: 10
}
@@ -97,24 +99,24 @@ function StreetModal({isVisible, streetName, streetInfos, onClose}) {
{streetName}
- Status:
+ {i18n.t('statusLabel')}
{getStatusComponent(streetInfos.status)}
- Coordinate
+ {i18n.t('coordsLabel')}
- Inizio:
+ {i18n.t('startLabel')}
{streetInfos.latStart + "° " + streetInfos.lngStart + "°"}
- Fine:
+ {i18n.t('endLabel')}
{streetInfos.latEnd + "° " + streetInfos.lngEnd + "°"}
{
isFavourite ?
- , 'Rimuovi dai preferiti']} onPress={() => {removeFromFavourite(streetName).then(() => {retrieveIsFavourite(); setUpdateFavs(currentUpdate => currentUpdate+1);})}}/>
- :
- , 'Aggiungi ai preferiti']} onPress={() => {addToFavourite(streetName).then(() => {retrieveIsFavourite(); setUpdateFavs(currentUpdate => currentUpdate+1);})}}/>
+ , 'Rimuovi dai preferiti']} onPress={() => {removeFromFavourite(streetName).then(() => {retrieveIsFavourite(); setUpdateFavs(currentUpdate => currentUpdate+1);})}}/>
+ :
+ , 'Aggiungi ai preferiti']} onPress={() => {addToFavourite(streetName).then(() => {retrieveIsFavourite(); setUpdateFavs(currentUpdate => currentUpdate+1);})}}/>
}
diff --git a/app/JAM/components/UserPill.js b/app/JAM/components/UserPill.js
index 979bf43..9e0ed41 100755
--- a/app/JAM/components/UserPill.js
+++ b/app/JAM/components/UserPill.js
@@ -1,11 +1,6 @@
import {Image, View, StyleSheet, Text, Pressable, Modal, TouchableOpacity} from "react-native";
import {Colors} from "../res/Colors";
import {useState} from "react";
-import {signOut} from "firebase/auth";
-import {FIREBASE_AUTH} from "../config/FirebaseConfig";
-import {Feather} from "@expo/vector-icons";
-import {LinearGradient} from "expo-linear-gradient";
-import ModalDropdown from 'react-native-modal-dropdown';
function UserPill({username, propic}){
const [modalVisible, setModalVisible] = useState(false);
diff --git a/app/JAM/config/FirebaseConfig.js b/app/JAM/config/FirebaseConfig.js
index 7eced55..078f716 100755
--- a/app/JAM/config/FirebaseConfig.js
+++ b/app/JAM/config/FirebaseConfig.js
@@ -1,13 +1,13 @@
// Import the functions you need from the SDKs you need
import { initializeApp } from "firebase/app";
import { getAnalytics } from "firebase/analytics";
-import {getAuth} from "firebase/auth";
-import {getStorage} from "firebase/storage"
-import {getFirestore} from "firebase/firestore"
+import {getAuth, initializeAuth, getReactNativePersistence } from "firebase/auth";
+import {getStorage} from "firebase/storage";
+import {getFirestore} from "firebase/firestore";
+import ReactNativeAsyncStorage from '@react-native-async-storage/async-storage';
// TODO: Add SDKs for Firebase products that you want to use
// https://firebase.google.com/docs/web/setup#available-libraries
-// Your web app's Firebase configuration
// For Firebase JS SDK v7.20.0 and later, measurementId is optional
const firebaseConfig = {
apiKey: "AIzaSyCMVvS9_LtrL_sfNoXu27hfhWBaWtYrUss",
@@ -21,6 +21,9 @@ const firebaseConfig = {
// Initialize Firebase
export const FIREBASE_APP = initializeApp(firebaseConfig);
+initializeAuth(FIREBASE_APP, {
+ persistence: getReactNativePersistence(ReactNativeAsyncStorage)
+})
export const FIREBASE_ANALYTICS = getAnalytics(FIREBASE_APP);
export const FIREBASE_AUTH = getAuth(FIREBASE_APP);
diff --git a/app/JAM/metro.config.js b/app/JAM/metro.config.js
index 9cfc0c1..1476a0b 100755
--- a/app/JAM/metro.config.js
+++ b/app/JAM/metro.config.js
@@ -4,5 +4,6 @@ const { getDefaultConfig } = require('expo/metro-config');
/** @type {import('expo/metro-config').MetroConfig} */
const defaultConfig = getDefaultConfig(__dirname);
defaultConfig.resolver.assetExts.push('cjs');
+defaultConfig.resolver.sourceExts.push('mjs');
module.exports = defaultConfig;
diff --git a/app/JAM/navigation/HomeStack.js b/app/JAM/navigation/HomeStack.js
index 560843f..5548214 100755
--- a/app/JAM/navigation/HomeStack.js
+++ b/app/JAM/navigation/HomeStack.js
@@ -3,6 +3,7 @@ import { NavigationContainer } from '@react-navigation/native';
import {createNativeStackNavigator} from '@react-navigation/native-stack';
import Home from "../activities/Home";
import Profile from "../activities/Profile";
+import Settings from "../activities/Settings";
const Stack = createNativeStackNavigator();
@@ -15,6 +16,7 @@ export default function HomeStack() {
}}>
+
);
diff --git a/app/JAM/navigation/UserStack.js b/app/JAM/navigation/UserStack.js
index 3f08de5..46dadc4 100755
--- a/app/JAM/navigation/UserStack.js
+++ b/app/JAM/navigation/UserStack.js
@@ -16,7 +16,8 @@ import {StreetsInfosContext} from "../components/StreetsInfosProvider";
import FavsStack from "./FavsStack";
import Constants from "expo-constants";
import * as Notifications from "expo-notifications";
-import {registerForPushNotificationsAsync} from "../services/UserService";
+import {getUserLanguagePref, registerForPushNotificationsAsync} from "../services/UserService";
+import i18n from "../services/i18n";
const Tab = createBottomTabNavigator();
@@ -34,6 +35,17 @@ export default function UserStack() {
return token.data;
}
+ async function checkLangCorrespondence() {
+ const languagePref = await getUserLanguagePref();
+ if((languagePref !== undefined || languagePref !== null) && languagePref !== i18n.language) {
+ await i18n.changeLanguage(languagePref);
+ }
+ }
+
+ useEffect(() => {
+ checkLangCorrespondence();
+ }, []);
+
useEffect(() => {
registerForPushNotificationsAsync({
projectId
@@ -77,6 +89,7 @@ export default function UserStack() {
}, 20000);
})();
}, []);
+
const styles = StyleSheet.create({
iconContainer: {
backgroundColor: Colors.surface200,
@@ -93,29 +106,29 @@ export default function UserStack() {
return (
({
- tabBarIcon: ({ focused, color, size }) => {
+ tabBarIcon: ({ focused, color, size }) => {
- if (route.name === 'Home') {
- return ;
- } else if (route.name === 'Feed') {
- return ;
- } else if (route.name === 'Favourites') {
- return ;
- }
- },
- tabBarActiveTintColor: Colors.primary,
- tabBarInactiveTintColor: "white",
- tabBarStyle: {
- paddingTop: 20,
- backgroundColor: Colors.surface500,
- borderTopLeftRadius: 30,
- borderTopRightRadius: 30,
- height: 90,
- position: 'absolute'
- },
- headerShown: false,
- tabBarShowLabel: false
- })}>
+ if (route.name === 'Home') {
+ return ;
+ } else if (route.name === 'Feed') {
+ return ;
+ } else if (route.name === 'Favourites') {
+ return ;
+ }
+ },
+ tabBarActiveTintColor: Colors.primary,
+ tabBarInactiveTintColor: "white",
+ tabBarStyle: {
+ paddingTop: 20,
+ backgroundColor: Colors.surface500,
+ borderTopLeftRadius: 30,
+ borderTopRightRadius: 30,
+ height: 90,
+ position: 'absolute'
+ },
+ headerShown: false,
+ tabBarShowLabel: false
+ })}>
diff --git a/app/JAM/package-lock.json b/app/JAM/package-lock.json
index 5d61ef2..601accd 100755
--- a/app/JAM/package-lock.json
+++ b/app/JAM/package-lock.json
@@ -9,10 +9,10 @@
"version": "1.0.0",
"dependencies": {
"@expo/vector-icons": "^13.0.0",
- "@gluestack-style/react": "^0.2.51",
- "@gluestack-ui/themed": "^0.1.55",
"@react-google-maps/api": "^2.19.2",
+ "@react-native-async-storage/async-storage": "1.18.2",
"@react-native-firebase/app": "^18.5.0",
+ "@react-native-picker/picker": "2.4.10",
"@react-native-segmented-control/segmented-control": "2.4.1",
"@react-navigation/bottom-tabs": "^6.5.9",
"@react-navigation/native": "^6.1.8",
@@ -28,12 +28,15 @@
"expo-device": "~5.4.0",
"expo-font": "^11.4.0",
"expo-image-picker": "~14.3.2",
+ "expo-localization": "~14.3.0",
"expo-location": "~16.1.0",
"expo-notifications": "~0.20.1",
"expo-status-bar": "~1.6.0",
"firebase": "^10.4.0",
"geolib": "^3.3.1",
+ "i18next": "^23.7.1",
"react": "18.2.0",
+ "react-i18next": "^13.3.1",
"react-native": "0.72.6",
"react-native-gesture-handler": "~2.12.0",
"react-native-maps": "1.7.1",
@@ -45,6 +48,7 @@
"react-native-screens": "~3.22.0",
"react-native-svg": "13.9.0",
"react-native-uuid": "^2.0.1",
+ "typescript": "^5.1.3",
"url": "^0.11.3",
"webpack": "^5.88.2"
},
@@ -54,18 +58,6 @@
"webpack-cli": "^5.1.4"
}
},
- "node_modules/@alloc/quick-lru": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz",
- "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==",
- "peer": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/@ampproject/remapping": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz",
@@ -1968,9 +1960,9 @@
"integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA=="
},
"node_modules/@babel/runtime": {
- "version": "7.23.1",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.1.tgz",
- "integrity": "sha512-hC2v6p8ZSI/W0HUzh3V8C5g+NwSKzKPtJwSpTjwl0o297GP9+ZLQSkdvHz46CM3LqyoXxq+5G9komY+eSqSO0g==",
+ "version": "7.23.2",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.2.tgz",
+ "integrity": "sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==",
"dependencies": {
"regenerator-runtime": "^0.14.0"
},
@@ -2721,11 +2713,6 @@
"node": ">=8"
}
},
- "node_modules/@expo/html-elements": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/@expo/html-elements/-/html-elements-0.5.1.tgz",
- "integrity": "sha512-BDAVI3ayykNykAeAc3B2USSiA244te2WAJDYske/AtDnm/AWZM/DE9lCwSkysuu7uOMcNp78LM2L/v6TwvxqZQ=="
- },
"node_modules/@expo/image-utils": {
"version": "0.3.22",
"resolved": "https://registry.npmjs.org/@expo/image-utils/-/image-utils-0.3.22.tgz",
@@ -3938,755 +3925,301 @@
"resolved": "https://registry.npmjs.org/@firebase/webchannel-wrapper/-/webchannel-wrapper-0.10.3.tgz",
"integrity": "sha512-+ZplYUN3HOpgCfgInqgdDAbkGGVzES1cs32JJpeqoh87SkRobGXElJx+1GZSaDqzFL+bYiX18qEcBK76mYs8uA=="
},
- "node_modules/@formatjs/ecma402-abstract": {
- "version": "1.17.2",
- "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.17.2.tgz",
- "integrity": "sha512-k2mTh0m+IV1HRdU0xXM617tSQTi53tVR2muvYOsBeYcUgEAyxV1FOC7Qj279th3fBVQ+Dj6muvNJZcHSPNdbKg==",
- "dependencies": {
- "@formatjs/intl-localematcher": "0.4.2",
- "tslib": "^2.4.0"
- }
- },
- "node_modules/@formatjs/fast-memoize": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.2.0.tgz",
- "integrity": "sha512-hnk/nY8FyrL5YxwP9e4r9dqeM6cAbo8PeU9UjyXojZMNvVad2Z06FAVHyR3Ecw6fza+0GH7vdJgiKIVXTMbSBA==",
- "dependencies": {
- "tslib": "^2.4.0"
- }
- },
- "node_modules/@formatjs/icu-messageformat-parser": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.6.2.tgz",
- "integrity": "sha512-nF/Iww7sc5h+1MBCDRm68qpHTCG4xvGzYs/x9HFcDETSGScaJ1Fcadk5U/NXjXeCtzD+DhN4BAwKFVclHfKMdA==",
- "dependencies": {
- "@formatjs/ecma402-abstract": "1.17.2",
- "@formatjs/icu-skeleton-parser": "1.6.2",
- "tslib": "^2.4.0"
- }
- },
- "node_modules/@formatjs/icu-skeleton-parser": {
- "version": "1.6.2",
- "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.6.2.tgz",
- "integrity": "sha512-VtB9Slo4ZL6QgtDFJ8Injvscf0xiDd4bIV93SOJTBjUF4xe2nAWOoSjLEtqIG+hlIs1sNrVKAaFo3nuTI4r5ZA==",
- "dependencies": {
- "@formatjs/ecma402-abstract": "1.17.2",
- "tslib": "^2.4.0"
- }
- },
- "node_modules/@formatjs/intl-localematcher": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.4.2.tgz",
- "integrity": "sha512-BGdtJFmaNJy5An/Zan4OId/yR9Ih1OojFjcduX/xOvq798OgWSyDtd6Qd5jqJXwJs1ipe4Fxu9+cshic5Ox2tA==",
- "dependencies": {
- "tslib": "^2.4.0"
- }
- },
"node_modules/@gar/promisify": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz",
"integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw=="
},
- "node_modules/@gluestack-style/animation-plugin": {
- "version": "0.1.12",
- "resolved": "https://registry.npmjs.org/@gluestack-style/animation-plugin/-/animation-plugin-0.1.12.tgz",
- "integrity": "sha512-lkj8iY5JBnhroUkP5gWE1zEpocb5GAK/G9SxL8DdWYQrsWOFpXr/mF/K67Dbxiv/n4B9BVff7sNTAddju+4UAw==",
- "dependencies": {
- "@legendapp/motion": "^2.2.0"
- }
- },
- "node_modules/@gluestack-style/react": {
- "version": "0.2.51",
- "resolved": "https://registry.npmjs.org/@gluestack-style/react/-/react-0.2.51.tgz",
- "integrity": "sha512-21TLr+e7KneP8N1d1iMKG6npMdYb/oPN/t5KZ/2kns2mg9NVCrfVmVuuMYKo+Xcej95BFOHuGuomskzLwdK1HQ==",
+ "node_modules/@googlemaps/js-api-loader": {
+ "version": "1.16.2",
+ "resolved": "https://registry.npmjs.org/@googlemaps/js-api-loader/-/js-api-loader-1.16.2.tgz",
+ "integrity": "sha512-psGw5u0QM6humao48Hn4lrChOM2/rA43ZCm3tKK9qQsEj1/VzqkCqnvGfEOshDbBQflydfaRovbKwZMF4AyqbA==",
"dependencies": {
- "inline-style-prefixer": "^6.0.1",
- "normalize-css-color": "^1.0.2"
+ "fast-deep-equal": "^3.1.3"
}
},
- "node_modules/@gluestack-ui/actionsheet": {
- "version": "0.2.26",
- "resolved": "https://registry.npmjs.org/@gluestack-ui/actionsheet/-/actionsheet-0.2.26.tgz",
- "integrity": "sha512-iIG/+WDezBY3wHHcSy4e9PDrIVaZFyeTGAzlfX60xmLyof1S4uaRVgo2dDOoVFVN2Lyxzp8k+jhiss5p8dTmlw==",
+ "node_modules/@googlemaps/markerclusterer": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/@googlemaps/markerclusterer/-/markerclusterer-2.3.2.tgz",
+ "integrity": "sha512-zb9OQP8XscZp2Npt1uQUYnGKu1miuq4DPP28JyDuFd6HV17HCEcjV9MtBi4muG/iVRXXvuHW9bRCnHbao9ITfw==",
"dependencies": {
- "@gluestack-ui/hooks": "^0.1.2",
- "@gluestack-ui/overlay": "^0.1.7",
- "@gluestack-ui/transitions": "^0.1.8",
- "@gluestack-ui/utils": "^0.1.5",
- "@react-native-aria/dialog": "0.1.1",
- "@react-native-aria/focus": "^0.2.8",
- "@react-native-aria/interactions": "^0.2.10"
- },
- "peerDependencies": {
- "react": ">=16",
- "react-dom": ">=16"
+ "fast-deep-equal": "^3.1.3",
+ "supercluster": "^8.0.1"
}
},
- "node_modules/@gluestack-ui/alert": {
- "version": "0.1.9",
- "resolved": "https://registry.npmjs.org/@gluestack-ui/alert/-/alert-0.1.9.tgz",
- "integrity": "sha512-HoiGAeY40b5P8fdRVQ3wQ8LvAhX2s8/oWMprIEH5a3yEQMt4rTInEaR/bumhA80JQcVTBcG1zUXjKZ6J2+l5wg==",
+ "node_modules/@graphql-typed-document-node/core": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.2.0.tgz",
+ "integrity": "sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==",
"peerDependencies": {
- "react": ">=16",
- "react-dom": ">=16"
+ "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
}
},
- "node_modules/@gluestack-ui/alert-dialog": {
- "version": "0.1.19",
- "resolved": "https://registry.npmjs.org/@gluestack-ui/alert-dialog/-/alert-dialog-0.1.19.tgz",
- "integrity": "sha512-ELpwcgeXwFF/GB4+mMimw+g16Cy8BTNgZRb6canfDyiDOxgsXTrPduNwLheGIca7IsEwLA41yBsaUK4KHd9GHw==",
+ "node_modules/@grpc/grpc-js": {
+ "version": "1.9.5",
+ "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.9.5.tgz",
+ "integrity": "sha512-iouYNlPxRAwZ2XboDT+OfRKHuaKHiqjB5VFYZ0NFrHkbEF+AV3muIUY9olQsp8uxU4VvRCMiRk9ftzFDGb61aw==",
"dependencies": {
- "@gluestack-ui/hooks": "^0.1.2",
- "@gluestack-ui/overlay": "^0.1.7",
- "@gluestack-ui/utils": "^0.1.5",
- "@react-native-aria/dialog": "^0.1.1",
- "@react-native-aria/focus": "^0.2.8",
- "@react-native-aria/interactions": "^0.2.10"
+ "@grpc/proto-loader": "^0.7.8",
+ "@types/node": ">=12.12.47"
},
- "peerDependencies": {
- "react": ">=16",
- "react-dom": ">=16"
+ "engines": {
+ "node": "^8.13.0 || >=10.10.0"
}
},
- "node_modules/@gluestack-ui/avatar": {
- "version": "0.1.11",
- "resolved": "https://registry.npmjs.org/@gluestack-ui/avatar/-/avatar-0.1.11.tgz",
- "integrity": "sha512-+icEkhgjaM0TgH11f4ewlC+X1Hdp7fJ9mUooe/uhfPwq6ySRGmeSbj16tZTKZvbAW1D+hHx3564EIqes144Kug==",
+ "node_modules/@grpc/proto-loader": {
+ "version": "0.7.10",
+ "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.10.tgz",
+ "integrity": "sha512-CAqDfoaQ8ykFd9zqBDn4k6iWT9loLAlc2ETmDFS9JCD70gDcnA4L3AFEo2iV7KyAtAAHFW9ftq1Fz+Vsgq80RQ==",
"dependencies": {
- "@gluestack-ui/utils": "^0.1.5"
+ "lodash.camelcase": "^4.3.0",
+ "long": "^5.0.0",
+ "protobufjs": "^7.2.4",
+ "yargs": "^17.7.2"
},
- "peerDependencies": {
- "react": ">=16",
- "react-dom": ">=16"
- }
- },
- "node_modules/@gluestack-ui/button": {
- "version": "0.1.28",
- "resolved": "https://registry.npmjs.org/@gluestack-ui/button/-/button-0.1.28.tgz",
- "integrity": "sha512-8kneGmqcLnbLDbjOQDIuLK1Go6movKNQPiHC9n7TCOiMmoVZPnqohuZ0cN6Nxc87owd20D2BeIYaqg64ZTWP/A==",
- "dependencies": {
- "@gluestack-ui/utils": "0.1.9",
- "@react-native-aria/focus": "^0.2.8",
- "@react-native-aria/interactions": "^0.2.10"
+ "bin": {
+ "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js"
},
- "peerDependencies": {
- "react": ">=16",
- "react-dom": ">=16"
+ "engines": {
+ "node": ">=6"
}
},
- "node_modules/@gluestack-ui/checkbox": {
- "version": "0.1.18",
- "resolved": "https://registry.npmjs.org/@gluestack-ui/checkbox/-/checkbox-0.1.18.tgz",
- "integrity": "sha512-wf0SmBexuptDbX1AQy2cLriiglZO+s906YlAgPzYgkb/QbTdlJ5P2VHNGRRG0qIPh3HTPeLkRZk+kd3Qosd+ng==",
+ "node_modules/@hapi/hoek": {
+ "version": "9.3.0",
+ "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz",
+ "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ=="
+ },
+ "node_modules/@hapi/topo": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz",
+ "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==",
"dependencies": {
- "@gluestack-ui/form-control": "^0.1.10",
- "@gluestack-ui/utils": "^0.1.5",
- "@react-aria/visually-hidden": "^3.8.1",
- "@react-native-aria/checkbox": "^0.2.3",
- "@react-native-aria/focus": "^0.2.8",
- "@react-native-aria/interactions": "^0.2.10",
- "@react-stately/checkbox": "^3.4.2"
- },
- "peerDependencies": {
- "react": ">=16",
- "react-dom": ">=16"
+ "@hapi/hoek": "^9.0.0"
}
},
- "node_modules/@gluestack-ui/divider": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/@gluestack-ui/divider/-/divider-0.1.5.tgz",
- "integrity": "sha512-5x6soIXugWyMhhufpcw54hNoGoZWrEEOb8Y/5caAGNV2YVsLACenztdkmedi5sFDfRidd407fIxjQ9zElChoCQ==",
- "peerDependencies": {
- "react": ">=16",
- "react-dom": ">=16"
- }
+ "node_modules/@ide/backoff": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@ide/backoff/-/backoff-1.0.0.tgz",
+ "integrity": "sha512-F0YfUDjvT+Mtt/R4xdl2X0EYCHMMiJqNLdxHD++jDT5ydEFIyqbCHh51Qx2E211dgZprPKhV7sHmnXKpLuvc5g=="
},
- "node_modules/@gluestack-ui/fab": {
- "version": "0.1.13",
- "resolved": "https://registry.npmjs.org/@gluestack-ui/fab/-/fab-0.1.13.tgz",
- "integrity": "sha512-PjmZkPK5Zc3cfJS2ixMEo23Pbi4dVcn8GMbkxc/c5DeBg7TchEcvmxKe/G/zG0sUfstb8vm63GJ6q+9hYnilYA==",
+ "node_modules/@jest/create-cache-key-function": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-29.7.0.tgz",
+ "integrity": "sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA==",
"dependencies": {
- "@gluestack-ui/utils": "^0.1.9",
- "@react-native-aria/focus": "^0.2.8",
- "@react-native-aria/interactions": "^0.2.10"
+ "@jest/types": "^29.6.3"
},
- "peerDependencies": {
- "react": ">=16",
- "react-dom": ">=16"
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/@gluestack-ui/form-control": {
- "version": "0.1.11",
- "resolved": "https://registry.npmjs.org/@gluestack-ui/form-control/-/form-control-0.1.11.tgz",
- "integrity": "sha512-gVE+QUTimsWpvukFP0e0w1Yfe2DGAtJaXsXNHgnEzCRY//CVo0GNz5TfMPYw+sh9+S+Luik4870ciUvuw5ntXQ==",
+ "node_modules/@jest/create-cache-key-function/node_modules/@jest/types": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
+ "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
"dependencies": {
- "@gluestack-ui/utils": "^0.1.5",
- "@react-native-aria/focus": "^0.2.7"
+ "@jest/schemas": "^29.6.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
},
- "peerDependencies": {
- "react": ">=16",
- "react-dom": ">=16"
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/@gluestack-ui/hooks": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/@gluestack-ui/hooks/-/hooks-0.1.4.tgz",
- "integrity": "sha512-QrWs4v9QepWYSzoLjVmLTMk5dEHb5t3kARrZoMto7SX8pkb018uPESmCCg7ev4bPJqbji7A7vmTUZsjM/vfnvw==",
- "peerDependencies": {
- "react": ">=16",
- "react-dom": ">=16"
+ "node_modules/@jest/create-cache-key-function/node_modules/@types/yargs": {
+ "version": "17.0.26",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.26.tgz",
+ "integrity": "sha512-Y3vDy2X6zw/ZCumcwLpdhM5L7jmyGpmBCTYMHDLqT2IKVMYRRLdv6ZakA+wxhra6Z/3bwhNbNl9bDGXaFU+6rw==",
+ "dependencies": {
+ "@types/yargs-parser": "*"
}
},
- "node_modules/@gluestack-ui/hstack": {
- "version": "0.1.11",
- "resolved": "https://registry.npmjs.org/@gluestack-ui/hstack/-/hstack-0.1.11.tgz",
- "integrity": "sha512-Oaqopb/idtO4qw64GbIt0Gr7otJMmG0S+YFBhYWuilPNA6ugjmnnFw5JrN+uxMg1dZOwRAKUTFCyNeiJZgKW9w==",
+ "node_modules/@jest/create-cache-key-function/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dependencies": {
- "@gluestack-ui/utils": "^0.1.5"
+ "color-convert": "^2.0.1"
},
- "peerDependencies": {
- "react": ">=16",
- "react-dom": ">=16"
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
- "node_modules/@gluestack-ui/icon": {
- "version": "0.1.14",
- "resolved": "https://registry.npmjs.org/@gluestack-ui/icon/-/icon-0.1.14.tgz",
- "integrity": "sha512-FTU9Zg6iQplVOyGDBiphTxBCN5v5yeeyOM8onVcKegt5AAIkgTZ0VdkWEAfd3DvU4yby1F0CUe5IENx+6KA6ug==",
+ "node_modules/@jest/create-cache-key-function/node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dependencies": {
- "@gluestack-ui/provider": "^0.1.6",
- "@gluestack-ui/utils": "^0.1.5",
- "@react-native-aria/focus": "^0.2.7"
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
},
- "peerDependencies": {
- "react": ">=16",
- "react-dom": ">=16"
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
}
},
- "node_modules/@gluestack-ui/image": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/@gluestack-ui/image/-/image-0.1.2.tgz",
- "integrity": "sha512-97mePIc6dm2xhv4jSmkoTB7jEI0P2HePPso/iat3xVRCj9nU6L45VxDt1/I9cZ0eNpMlN4hnETNmXtEgAeDQ+w==",
+ "node_modules/@jest/create-cache-key-function/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": {
- "@gluestack-ui/utils": "0.1.9",
- "@react-native-aria/focus": "^0.2.8",
- "@react-native-aria/interactions": "^0.2.10"
+ "color-name": "~1.1.4"
},
- "peerDependencies": {
- "react": ">=16",
- "react-dom": ">=16"
+ "engines": {
+ "node": ">=7.0.0"
}
},
- "node_modules/@gluestack-ui/input": {
- "version": "0.1.17",
- "resolved": "https://registry.npmjs.org/@gluestack-ui/input/-/input-0.1.17.tgz",
- "integrity": "sha512-4Dac5UVJStofC2BOtSNGN9NfRDiVoXb3zjncDkcPxRGY6e60LybNcKq8932Ori8GvBubVuMLtFgagJtR7az+7A==",
- "dependencies": {
- "@gluestack-ui/form-control": "^0.1.10",
- "@gluestack-ui/utils": "^0.1.9",
- "@react-native-aria/focus": "^0.2.7",
- "@react-native-aria/interactions": "^0.2.8"
- },
- "peerDependencies": {
- "react": ">=16",
- "react-dom": ">=16"
+ "node_modules/@jest/create-cache-key-function/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/@jest/create-cache-key-function/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "engines": {
+ "node": ">=8"
}
},
- "node_modules/@gluestack-ui/linear-gradient": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/@gluestack-ui/linear-gradient/-/linear-gradient-0.1.1.tgz",
- "integrity": "sha512-riDwCcRyhqHGo+0w2pVIE1I2FwbHas5dLHmsA15t74R/U2jKTgESoqKueUwg74Ao9S0MibnJrI1/SyfiIXjNjA==",
+ "node_modules/@jest/create-cache-key-function/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dependencies": {
- "@gluestack-ui/utils": "0.1.9",
- "@react-native-aria/focus": "^0.2.8",
- "@react-native-aria/interactions": "^0.2.10",
- "expo-linear-gradient": "12.3.0"
+ "has-flag": "^4.0.0"
},
- "peerDependencies": {
- "react": ">=16",
- "react-dom": ">=16"
+ "engines": {
+ "node": ">=8"
}
},
- "node_modules/@gluestack-ui/link": {
- "version": "0.1.11",
- "resolved": "https://registry.npmjs.org/@gluestack-ui/link/-/link-0.1.11.tgz",
- "integrity": "sha512-hiIutUdTHoJkbhg5Qi8TLVtsS2iR08VekDGMUqGevp1HG5prpknGQPIDyGBGGx9Lxf8N36RLl05hezh535jJbg==",
+ "node_modules/@jest/environment": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz",
+ "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==",
"dependencies": {
- "@gluestack-ui/utils": "^0.1.5",
- "@react-native-aria/focus": "^0.2.8",
- "@react-native-aria/interactions": "^0.2.10"
+ "@jest/fake-timers": "^29.7.0",
+ "@jest/types": "^29.6.3",
+ "@types/node": "*",
+ "jest-mock": "^29.7.0"
},
- "peerDependencies": {
- "react": ">=16",
- "react-dom": ">=16"
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/@gluestack-ui/menu": {
- "version": "0.2.21",
- "resolved": "https://registry.npmjs.org/@gluestack-ui/menu/-/menu-0.2.21.tgz",
- "integrity": "sha512-F+3IY3NHu5CYHANtJDtKCje9GV55GmwxJq1ff+rmYYt3xJm8Gg9gRnxELxfx5mAAlYSb0aqCGq3CFNNx8SSVFw==",
+ "node_modules/@jest/environment/node_modules/@jest/types": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
+ "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
"dependencies": {
- "@gluestack-ui/hooks": "^0.1.2",
- "@gluestack-ui/overlay": "^0.1.7",
- "@gluestack-ui/utils": "^0.1.5",
- "@react-native-aria/focus": "^0.2.8",
- "@react-native-aria/interactions": "^0.2.10",
- "@react-native-aria/menu": "^0.2.7",
- "@react-native-aria/overlays": "0.3.7",
- "@react-stately/utils": "^3.6.0",
- "react-stately": "^3.21.0"
+ "@jest/schemas": "^29.6.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
},
- "peerDependencies": {
- "react": ">=16",
- "react-dom": ">=16"
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/@gluestack-ui/modal": {
- "version": "0.1.23",
- "resolved": "https://registry.npmjs.org/@gluestack-ui/modal/-/modal-0.1.23.tgz",
- "integrity": "sha512-YuAvcGSaxJ6VZM2VsivUDkHUa2QkOaMbx/+XV+9sMJzWDXyfl3l8XOG1Kz3K75Mc51wFtco/0PqZdZJJ9A+DIg==",
+ "node_modules/@jest/environment/node_modules/@types/yargs": {
+ "version": "17.0.26",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.26.tgz",
+ "integrity": "sha512-Y3vDy2X6zw/ZCumcwLpdhM5L7jmyGpmBCTYMHDLqT2IKVMYRRLdv6ZakA+wxhra6Z/3bwhNbNl9bDGXaFU+6rw==",
"dependencies": {
- "@gluestack-ui/hooks": "^0.1.2",
- "@gluestack-ui/overlay": "^0.1.7",
- "@gluestack-ui/utils": "^0.1.5",
- "@react-native-aria/dialog": "^0.1.1",
- "@react-native-aria/focus": "^0.2.8",
- "@react-native-aria/interactions": "^0.2.10",
- "@react-native-aria/overlays": "0.3.7"
- },
- "peerDependencies": {
- "react": ">=16",
- "react-dom": ">=16"
+ "@types/yargs-parser": "*"
}
},
- "node_modules/@gluestack-ui/overlay": {
- "version": "0.1.9",
- "resolved": "https://registry.npmjs.org/@gluestack-ui/overlay/-/overlay-0.1.9.tgz",
- "integrity": "sha512-BF8bysxYSTuKXOb0Vy3nIOOXLb4YH/CYFiM8OBtmBvU1+eNhN5sMyjBR0XfEAwB9LaLsPu+ApixDPTOE71J3Ag==",
+ "node_modules/@jest/environment/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dependencies": {
- "@react-native-aria/focus": "^0.2.7",
- "@react-native-aria/interactions": "^0.2.10",
- "@react-native-aria/overlays": "^0.3.7"
+ "color-convert": "^2.0.1"
},
- "peerDependencies": {
- "react": ">=16",
- "react-dom": ">=16"
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
- "node_modules/@gluestack-ui/popover": {
- "version": "0.1.24",
- "resolved": "https://registry.npmjs.org/@gluestack-ui/popover/-/popover-0.1.24.tgz",
- "integrity": "sha512-yp9pbACpMOe1Ni74XGEak048l64FcahQ15D/lRgN2CzlWBjDIorCkvFdWbBpFGishg9gtiwIgOXu6M4TcY8vWQ==",
+ "node_modules/@jest/environment/node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dependencies": {
- "@gluestack-ui/hooks": "^0.1.2",
- "@gluestack-ui/overlay": "^0.1.7",
- "@gluestack-ui/utils": "^0.1.5",
- "@react-native-aria/dialog": "^0.1.1",
- "@react-native-aria/focus": "^0.2.8",
- "@react-native-aria/interactions": "^0.2.10",
- "@react-native-aria/overlays": "0.3.7"
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
},
- "peerDependencies": {
- "react": ">=16",
- "react-dom": ">=16"
- }
- },
- "node_modules/@gluestack-ui/pressable": {
- "version": "0.1.9",
- "resolved": "https://registry.npmjs.org/@gluestack-ui/pressable/-/pressable-0.1.9.tgz",
- "integrity": "sha512-hWWJ+7z0g/P2nbxDr60JBnHIA676oTg7EG1FfEgd25gvyWzVJ+JjObhrxHb4V4ILK7RkaQeB1K+esAl2bSBytA==",
- "dependencies": {
- "@gluestack-ui/utils": "^0.1.6",
- "@react-native-aria/focus": "^0.2.8",
- "@react-native-aria/interactions": "^0.2.10"
- },
- "peerDependencies": {
- "react": ">=16",
- "react-dom": ">=16"
- }
- },
- "node_modules/@gluestack-ui/progress": {
- "version": "0.1.8",
- "resolved": "https://registry.npmjs.org/@gluestack-ui/progress/-/progress-0.1.8.tgz",
- "integrity": "sha512-8YbG4vOU3hZT2u+WyUaf1+F/40lEePu9V1aT8xAuB753PDy4iX/Pv6YOmMiHMMh5YdJR7B9oi6znR7tAupKU6g==",
- "dependencies": {
- "@gluestack-ui/utils": "^0.1.5"
- },
- "peerDependencies": {
- "react": ">=16",
- "react-dom": ">=16"
- }
- },
- "node_modules/@gluestack-ui/provider": {
- "version": "0.1.10",
- "resolved": "https://registry.npmjs.org/@gluestack-ui/provider/-/provider-0.1.10.tgz",
- "integrity": "sha512-zAfwQM3AUETLL8Br1GUAsnOdn1RhF/Acd33DawbfFSH9GS/RXtgAgt/Fkh7ANirIxCAYmg5z8G9EN+egIbyuwA==",
- "dependencies": {
- "@react-native-aria/interactions": "^0.2.10",
- "tsconfig": "7",
- "typescript": "^4.9.4"
- },
- "peerDependencies": {
- "react": ">=16",
- "react-dom": ">=16"
- }
- },
- "node_modules/@gluestack-ui/radio": {
- "version": "0.1.19",
- "resolved": "https://registry.npmjs.org/@gluestack-ui/radio/-/radio-0.1.19.tgz",
- "integrity": "sha512-fvbMcmEZQlzxwYDoZpn5EsK6ZNHQPgrhy0wh2AwtV6WUhOg1n71DirZQ3MtDTei5CrKyg/y9fF4ERGuvvn3RCw==",
- "dependencies": {
- "@gluestack-ui/form-control": "^0.1.10",
- "@gluestack-ui/utils": "^0.1.5",
- "@react-aria/visually-hidden": "^3.7.0",
- "@react-native-aria/focus": "^0.2.8",
- "@react-native-aria/interactions": "^0.2.10",
- "@react-native-aria/radio": "^0.2.5",
- "@react-stately/radio": "^3.8.1"
- },
- "peerDependencies": {
- "react": ">=16",
- "react-dom": ">=16"
- }
- },
- "node_modules/@gluestack-ui/react-native-aria": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/@gluestack-ui/react-native-aria/-/react-native-aria-0.1.5.tgz",
- "integrity": "sha512-6IaE4fcBaGMu3kSDKAoo1wE5qXcoKDX5YA14zzYzXN2d67/K9NYSjpoo/GbxDWZVl45X6Z9QLS/SBP7SmsPO+Q==",
- "dependencies": {
- "@react-native-aria/focus": "^0.2.7"
- },
- "peerDependencies": {
- "react": ">=16",
- "react-dom": ">=16"
- }
- },
- "node_modules/@gluestack-ui/select": {
- "version": "0.1.15",
- "resolved": "https://registry.npmjs.org/@gluestack-ui/select/-/select-0.1.15.tgz",
- "integrity": "sha512-KwnCsIj8/n2uRpktuVIj6ddMcaLbTJUgL49HpGTR5rgrfa2/XiY931lOA3DzKSFUv2PVB071X+ORyCRL5EOENg==",
- "dependencies": {
- "@gluestack-ui/form-control": "^0.1.10",
- "@gluestack-ui/hooks": "^0.1.2",
- "@gluestack-ui/utils": "^0.1.5",
- "@react-native-aria/focus": "^0.2.7"
- },
- "peerDependencies": {
- "react": ">=16",
- "react-dom": ">=16"
- }
- },
- "node_modules/@gluestack-ui/slider": {
- "version": "0.1.13",
- "resolved": "https://registry.npmjs.org/@gluestack-ui/slider/-/slider-0.1.13.tgz",
- "integrity": "sha512-68DnOQC1JOhtazpMUoJWRMH0iM9s7IzcaJun+OjwKjJcBTajIF4wkd7LhTR6YDSRigDWgTLTbtrgtWYNjX4dqg==",
- "dependencies": {
- "@gluestack-ui/form-control": "^0.1.10",
- "@gluestack-ui/hooks": "^0.1.2",
- "@gluestack-ui/utils": "^0.1.9",
- "@react-aria/visually-hidden": "^3.8.1",
- "@react-native-aria/interactions": "^0.2.8",
- "@react-native-aria/slider": "^0.2.7",
- "@react-stately/slider": "^3.2.4"
- },
- "peerDependencies": {
- "react": ">=16",
- "react-dom": ">=16"
- }
- },
- "node_modules/@gluestack-ui/spinner": {
- "version": "0.1.10",
- "resolved": "https://registry.npmjs.org/@gluestack-ui/spinner/-/spinner-0.1.10.tgz",
- "integrity": "sha512-pTUQzA+bzE3ZqnijqVoJqbVlbZWs8TxdVwyju1RAw7QcEGiQh1Eo1Jpe+A5Ic50NvgdsQmsGpGm0QM3NNl6W7A==",
- "peerDependencies": {
- "react": ">=16",
- "react-dom": ">=16"
- }
- },
- "node_modules/@gluestack-ui/switch": {
- "version": "0.1.13",
- "resolved": "https://registry.npmjs.org/@gluestack-ui/switch/-/switch-0.1.13.tgz",
- "integrity": "sha512-1dyotnbYMSyq4apCVlDy6NfwKDlMGa1bBh4a8gCOpdQdICjGEmyJ6Ve9t6Gnq0ec/SbEvfiHzRUuzc8EVjSKmw==",
- "dependencies": {
- "@gluestack-ui/form-control": "^0.1.8",
- "@gluestack-ui/utils": "^0.1.5",
- "@react-native-aria/focus": "^0.2.7",
- "@react-native-aria/interactions": "^0.2.8",
- "@react-stately/toggle": "^3.4.4"
- },
- "peerDependencies": {
- "react": ">=16",
- "react-dom": ">=16"
- }
- },
- "node_modules/@gluestack-ui/tabs": {
- "version": "0.1.12",
- "resolved": "https://registry.npmjs.org/@gluestack-ui/tabs/-/tabs-0.1.12.tgz",
- "integrity": "sha512-9O+lxcvNMe9Q5Ezgh8CGJEP42qgUdkPcOBLa4z7cSzBLF0PV1VqAvZ/J3yaR0V01O+0w7MiYEwd8abu0AolzGg==",
- "dependencies": {
- "@gluestack-ui/utils": "^0.1.5",
- "@react-native-aria/focus": "^0.2.8",
- "@react-native-aria/interactions": "^0.2.10"
- },
- "peerDependencies": {
- "react": ">=16",
- "react-dom": ">=16"
- }
- },
- "node_modules/@gluestack-ui/textarea": {
- "version": "0.1.14",
- "resolved": "https://registry.npmjs.org/@gluestack-ui/textarea/-/textarea-0.1.14.tgz",
- "integrity": "sha512-XwX57eD1AzcAYiMCGmLSAnxq+36jaDJxLOIXcqA24aYwnVYWJYYafFQusqdqIODqer9EIF0PKaH5vr2c6yEj6Q==",
- "dependencies": {
- "@gluestack-ui/form-control": "^0.1.10",
- "@gluestack-ui/utils": "^0.1.9",
- "@react-native-aria/focus": "^0.2.7"
- },
- "peerDependencies": {
- "react": ">=16",
- "react-dom": ">=16"
- }
- },
- "node_modules/@gluestack-ui/themed": {
- "version": "0.1.55",
- "resolved": "https://registry.npmjs.org/@gluestack-ui/themed/-/themed-0.1.55.tgz",
- "integrity": "sha512-Msgk80CB9cG0q/jvwsqFLVB6pmKzpNjTq+iwlmmhR0Tz7wCWY/J4CWeKQ3yhjEpZ9Cgce/ZHIR3gV9DWlQTLRg==",
- "dependencies": {
- "@expo/html-elements": "latest",
- "@gluestack-style/animation-plugin": "^0.1.12",
- "@gluestack-ui/actionsheet": "^0.2.26",
- "@gluestack-ui/alert": "^0.1.9",
- "@gluestack-ui/alert-dialog": "^0.1.19",
- "@gluestack-ui/avatar": "^0.1.11",
- "@gluestack-ui/button": "^0.1.28",
- "@gluestack-ui/checkbox": "^0.1.18",
- "@gluestack-ui/divider": "^0.1.5",
- "@gluestack-ui/fab": "^0.1.13",
- "@gluestack-ui/form-control": "^0.1.11",
- "@gluestack-ui/hstack": "^0.1.11",
- "@gluestack-ui/icon": "^0.1.14",
- "@gluestack-ui/image": "^0.1.2",
- "@gluestack-ui/input": "^0.1.17",
- "@gluestack-ui/linear-gradient": "^0.1.1",
- "@gluestack-ui/link": "^0.1.11",
- "@gluestack-ui/menu": "^0.2.21",
- "@gluestack-ui/modal": "^0.1.23",
- "@gluestack-ui/overlay": "^0.1.9",
- "@gluestack-ui/popover": "^0.1.24",
- "@gluestack-ui/pressable": "^0.1.9",
- "@gluestack-ui/progress": "^0.1.8",
- "@gluestack-ui/provider": "^0.1.10",
- "@gluestack-ui/radio": "^0.1.19",
- "@gluestack-ui/select": "^0.1.15",
- "@gluestack-ui/slider": "^0.1.13",
- "@gluestack-ui/spinner": "^0.1.10",
- "@gluestack-ui/switch": "^0.1.13",
- "@gluestack-ui/tabs": "^0.1.12",
- "@gluestack-ui/textarea": "^0.1.14",
- "@gluestack-ui/toast": "^0.1.16",
- "@gluestack-ui/tooltip": "^0.1.20",
- "@gluestack-ui/vstack": "^0.1.11",
- "@legendapp/motion": "latest"
- },
- "peerDependencies": {
- "@gluestack-style/react": ">=0.2.38",
- "@types/react-native": ">=0.72",
- "react": ">=16",
- "react-dom": ">=16",
- "react-native": ">=0.72",
- "react-native-svg": ">=13.4.0",
- "react-native-web": ">=0.19"
- }
- },
- "node_modules/@gluestack-ui/toast": {
- "version": "0.1.16",
- "resolved": "https://registry.npmjs.org/@gluestack-ui/toast/-/toast-0.1.16.tgz",
- "integrity": "sha512-G1ep2vAmu5DOZYKoM2433FqZsz4NfPpGTwsxClavxPUr3BY7XtRFUoAe3obfZlwZ3SYcxnH9AcqMm3Krew2xeg==",
- "dependencies": {
- "@gluestack-ui/hooks": "^0.1.2",
- "@gluestack-ui/overlay": "^0.1.7",
- "@gluestack-ui/transitions": "^0.1.8",
- "@gluestack-ui/utils": "^0.1.5",
- "@react-native-aria/focus": "^0.2.7"
- },
- "peerDependencies": {
- "react": ">=16",
- "react-dom": ">=16"
- }
- },
- "node_modules/@gluestack-ui/tooltip": {
- "version": "0.1.20",
- "resolved": "https://registry.npmjs.org/@gluestack-ui/tooltip/-/tooltip-0.1.20.tgz",
- "integrity": "sha512-SsnM6tdFe8V6qwx3vXr1SgmHYIBee7lO5eTjf5YHPQF9ZID/QbJ/ZchH7yEohaWudF87hprQuIJUGh6nvcAQPg==",
- "dependencies": {
- "@gluestack-ui/hooks": "^0.1.2",
- "@gluestack-ui/overlay": "^0.1.7",
- "@gluestack-ui/utils": "^0.1.5",
- "@react-native-aria/focus": "^0.2.7",
- "@react-native-aria/interactions": "^0.2.10",
- "@react-native-aria/overlays": "0.3.7"
- },
- "peerDependencies": {
- "react": ">=16",
- "react-dom": ">=16"
- }
- },
- "node_modules/@gluestack-ui/transitions": {
- "version": "0.1.10",
- "resolved": "https://registry.npmjs.org/@gluestack-ui/transitions/-/transitions-0.1.10.tgz",
- "integrity": "sha512-oOwYAmbebAowDCDZyRdGwhK2of46b642OZQxBBkln/BX7YEvY4PhQIfup0HUCG9YA5IzlQnw0iwqREbaVNKIgA==",
- "dependencies": {
- "@gluestack-ui/overlay": "^0.1.7",
- "@gluestack-ui/react-native-aria": "^0.1.5",
- "@gluestack-ui/utils": "^0.1.9",
- "@react-native-aria/focus": "^0.2.7"
- },
- "peerDependencies": {
- "react": ">=16",
- "react-dom": ">=16"
- }
- },
- "node_modules/@gluestack-ui/utils": {
- "version": "0.1.9",
- "resolved": "https://registry.npmjs.org/@gluestack-ui/utils/-/utils-0.1.9.tgz",
- "integrity": "sha512-VG0ai84YHuWpePDoa+UrgJTFERJBXbM3rGPRCtHIMjvGMWviyzQXSVU7k5iu5YUgaLhADSK+c/pww9bK9MZzgw==",
- "dependencies": {
- "@react-native-aria/focus": "^0.2.7"
+ "engines": {
+ "node": ">=10"
},
- "peerDependencies": {
- "react": ">=16",
- "react-dom": ">=16"
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
}
},
- "node_modules/@gluestack-ui/vstack": {
- "version": "0.1.11",
- "resolved": "https://registry.npmjs.org/@gluestack-ui/vstack/-/vstack-0.1.11.tgz",
- "integrity": "sha512-WFwhY3qVUuEVukx4rT+1crFMzrh3uQ3/mgwmJ1Mrr7jnWsttKivNrTjju3jyVTBgQJkLHuyFFL18dus8bVb5nA==",
+ "node_modules/@jest/environment/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": {
- "@gluestack-ui/utils": "^0.1.5"
+ "color-name": "~1.1.4"
},
- "peerDependencies": {
- "react": ">=16",
- "react-dom": ">=16"
- }
- },
- "node_modules/@googlemaps/js-api-loader": {
- "version": "1.16.2",
- "resolved": "https://registry.npmjs.org/@googlemaps/js-api-loader/-/js-api-loader-1.16.2.tgz",
- "integrity": "sha512-psGw5u0QM6humao48Hn4lrChOM2/rA43ZCm3tKK9qQsEj1/VzqkCqnvGfEOshDbBQflydfaRovbKwZMF4AyqbA==",
- "dependencies": {
- "fast-deep-equal": "^3.1.3"
- }
- },
- "node_modules/@googlemaps/markerclusterer": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/@googlemaps/markerclusterer/-/markerclusterer-2.3.2.tgz",
- "integrity": "sha512-zb9OQP8XscZp2Npt1uQUYnGKu1miuq4DPP28JyDuFd6HV17HCEcjV9MtBi4muG/iVRXXvuHW9bRCnHbao9ITfw==",
- "dependencies": {
- "fast-deep-equal": "^3.1.3",
- "supercluster": "^8.0.1"
+ "engines": {
+ "node": ">=7.0.0"
}
},
- "node_modules/@graphql-typed-document-node/core": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.2.0.tgz",
- "integrity": "sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==",
- "peerDependencies": {
- "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
- }
+ "node_modules/@jest/environment/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/@grpc/grpc-js": {
- "version": "1.9.5",
- "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.9.5.tgz",
- "integrity": "sha512-iouYNlPxRAwZ2XboDT+OfRKHuaKHiqjB5VFYZ0NFrHkbEF+AV3muIUY9olQsp8uxU4VvRCMiRk9ftzFDGb61aw==",
- "dependencies": {
- "@grpc/proto-loader": "^0.7.8",
- "@types/node": ">=12.12.47"
- },
+ "node_modules/@jest/environment/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"engines": {
- "node": "^8.13.0 || >=10.10.0"
+ "node": ">=8"
}
},
- "node_modules/@grpc/proto-loader": {
- "version": "0.7.10",
- "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.10.tgz",
- "integrity": "sha512-CAqDfoaQ8ykFd9zqBDn4k6iWT9loLAlc2ETmDFS9JCD70gDcnA4L3AFEo2iV7KyAtAAHFW9ftq1Fz+Vsgq80RQ==",
+ "node_modules/@jest/environment/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dependencies": {
- "lodash.camelcase": "^4.3.0",
- "long": "^5.0.0",
- "protobufjs": "^7.2.4",
- "yargs": "^17.7.2"
- },
- "bin": {
- "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js"
+ "has-flag": "^4.0.0"
},
"engines": {
- "node": ">=6"
- }
- },
- "node_modules/@hapi/hoek": {
- "version": "9.3.0",
- "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz",
- "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ=="
- },
- "node_modules/@hapi/topo": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz",
- "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==",
- "dependencies": {
- "@hapi/hoek": "^9.0.0"
- }
- },
- "node_modules/@ide/backoff": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@ide/backoff/-/backoff-1.0.0.tgz",
- "integrity": "sha512-F0YfUDjvT+Mtt/R4xdl2X0EYCHMMiJqNLdxHD++jDT5ydEFIyqbCHh51Qx2E211dgZprPKhV7sHmnXKpLuvc5g=="
- },
- "node_modules/@internationalized/date": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/@internationalized/date/-/date-3.5.0.tgz",
- "integrity": "sha512-nw0Q+oRkizBWMioseI8+2TeUPEyopJVz5YxoYVzR0W1v+2YytiYah7s/ot35F149q/xAg4F1gT/6eTd+tsUpFQ==",
- "dependencies": {
- "@swc/helpers": "^0.5.0"
- }
- },
- "node_modules/@internationalized/message": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/@internationalized/message/-/message-3.1.1.tgz",
- "integrity": "sha512-ZgHxf5HAPIaR0th+w0RUD62yF6vxitjlprSxmLJ1tam7FOekqRSDELMg4Cr/DdszG5YLsp5BG3FgHgqquQZbqw==",
- "dependencies": {
- "@swc/helpers": "^0.5.0",
- "intl-messageformat": "^10.1.0"
- }
- },
- "node_modules/@internationalized/number": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/@internationalized/number/-/number-3.3.0.tgz",
- "integrity": "sha512-PuxgnKE5NJMOGKUcX1QROo8jq7sW7UWLrL5B6Rfe8BdWgU/be04cVvLyCeALD46vvbAv3d1mUvyHav/Q9a237g==",
- "dependencies": {
- "@swc/helpers": "^0.5.0"
- }
- },
- "node_modules/@internationalized/string": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/@internationalized/string/-/string-3.1.1.tgz",
- "integrity": "sha512-fvSr6YRoVPgONiVIUhgCmIAlifMVCeej/snPZVzbzRPxGpHl3o1GRe+d/qh92D8KhgOciruDUH8I5mjdfdjzfA==",
- "dependencies": {
- "@swc/helpers": "^0.5.0"
+ "node": ">=8"
}
},
- "node_modules/@jest/create-cache-key-function": {
+ "node_modules/@jest/fake-timers": {
"version": "29.7.0",
- "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-29.7.0.tgz",
- "integrity": "sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA==",
+ "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz",
+ "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==",
"dependencies": {
- "@jest/types": "^29.6.3"
+ "@jest/types": "^29.6.3",
+ "@sinonjs/fake-timers": "^10.0.2",
+ "@types/node": "*",
+ "jest-message-util": "^29.7.0",
+ "jest-mock": "^29.7.0",
+ "jest-util": "^29.7.0"
},
"engines": {
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/@jest/create-cache-key-function/node_modules/@jest/types": {
+ "node_modules/@jest/fake-timers/node_modules/@jest/types": {
"version": "29.6.3",
"resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
"integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
@@ -4702,7 +4235,7 @@
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/@jest/create-cache-key-function/node_modules/@types/yargs": {
+ "node_modules/@jest/fake-timers/node_modules/@types/yargs": {
"version": "17.0.26",
"resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.26.tgz",
"integrity": "sha512-Y3vDy2X6zw/ZCumcwLpdhM5L7jmyGpmBCTYMHDLqT2IKVMYRRLdv6ZakA+wxhra6Z/3bwhNbNl9bDGXaFU+6rw==",
@@ -4710,7 +4243,7 @@
"@types/yargs-parser": "*"
}
},
- "node_modules/@jest/create-cache-key-function/node_modules/ansi-styles": {
+ "node_modules/@jest/fake-timers/node_modules/ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
@@ -4724,7 +4257,7 @@
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
- "node_modules/@jest/create-cache-key-function/node_modules/chalk": {
+ "node_modules/@jest/fake-timers/node_modules/chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
@@ -4739,7 +4272,7 @@
"url": "https://github.com/chalk/chalk?sponsor=1"
}
},
- "node_modules/@jest/create-cache-key-function/node_modules/color-convert": {
+ "node_modules/@jest/fake-timers/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==",
@@ -4750,12 +4283,12 @@
"node": ">=7.0.0"
}
},
- "node_modules/@jest/create-cache-key-function/node_modules/color-name": {
+ "node_modules/@jest/fake-timers/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/@jest/create-cache-key-function/node_modules/has-flag": {
+ "node_modules/@jest/fake-timers/node_modules/has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
@@ -4763,7 +4296,7 @@
"node": ">=8"
}
},
- "node_modules/@jest/create-cache-key-function/node_modules/supports-color": {
+ "node_modules/@jest/fake-timers/node_modules/supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
@@ -4774,227 +4307,21 @@
"node": ">=8"
}
},
- "node_modules/@jest/environment": {
- "version": "29.7.0",
- "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz",
- "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==",
+ "node_modules/@jest/schemas": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz",
+ "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==",
"dependencies": {
- "@jest/fake-timers": "^29.7.0",
- "@jest/types": "^29.6.3",
- "@types/node": "*",
- "jest-mock": "^29.7.0"
+ "@sinclair/typebox": "^0.27.8"
},
"engines": {
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/@jest/environment/node_modules/@jest/types": {
- "version": "29.6.3",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
- "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
- "dependencies": {
- "@jest/schemas": "^29.6.3",
- "@types/istanbul-lib-coverage": "^2.0.0",
- "@types/istanbul-reports": "^3.0.0",
- "@types/node": "*",
- "@types/yargs": "^17.0.8",
- "chalk": "^4.0.0"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
- "node_modules/@jest/environment/node_modules/@types/yargs": {
- "version": "17.0.26",
- "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.26.tgz",
- "integrity": "sha512-Y3vDy2X6zw/ZCumcwLpdhM5L7jmyGpmBCTYMHDLqT2IKVMYRRLdv6ZakA+wxhra6Z/3bwhNbNl9bDGXaFU+6rw==",
- "dependencies": {
- "@types/yargs-parser": "*"
- }
- },
- "node_modules/@jest/environment/node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/@jest/environment/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/@jest/environment/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/@jest/environment/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/@jest/environment/node_modules/has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@jest/environment/node_modules/supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@jest/fake-timers": {
- "version": "29.7.0",
- "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz",
- "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==",
- "dependencies": {
- "@jest/types": "^29.6.3",
- "@sinonjs/fake-timers": "^10.0.2",
- "@types/node": "*",
- "jest-message-util": "^29.7.0",
- "jest-mock": "^29.7.0",
- "jest-util": "^29.7.0"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
- "node_modules/@jest/fake-timers/node_modules/@jest/types": {
- "version": "29.6.3",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
- "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
- "dependencies": {
- "@jest/schemas": "^29.6.3",
- "@types/istanbul-lib-coverage": "^2.0.0",
- "@types/istanbul-reports": "^3.0.0",
- "@types/node": "*",
- "@types/yargs": "^17.0.8",
- "chalk": "^4.0.0"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
- "node_modules/@jest/fake-timers/node_modules/@types/yargs": {
- "version": "17.0.26",
- "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.26.tgz",
- "integrity": "sha512-Y3vDy2X6zw/ZCumcwLpdhM5L7jmyGpmBCTYMHDLqT2IKVMYRRLdv6ZakA+wxhra6Z/3bwhNbNl9bDGXaFU+6rw==",
- "dependencies": {
- "@types/yargs-parser": "*"
- }
- },
- "node_modules/@jest/fake-timers/node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/@jest/fake-timers/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/@jest/fake-timers/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/@jest/fake-timers/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/@jest/fake-timers/node_modules/has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@jest/fake-timers/node_modules/supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@jest/schemas": {
- "version": "29.6.3",
- "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz",
- "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==",
- "dependencies": {
- "@sinclair/typebox": "^0.27.8"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
- "node_modules/@jest/types": {
- "version": "26.6.2",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
- "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
+ "node_modules/@jest/types": {
+ "version": "26.6.2",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
+ "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
"dependencies": {
"@types/istanbul-lib-coverage": "^2.0.0",
"@types/istanbul-reports": "^3.0.0",
@@ -5122,32 +4449,6 @@
"@jridgewell/sourcemap-codec": "^1.4.14"
}
},
- "node_modules/@legendapp/motion": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/@legendapp/motion/-/motion-2.2.1.tgz",
- "integrity": "sha512-kh9+05qHvBLPT+qR2XE+KzP5KgqLqaqE0aZ19xu5yxKp8X+JH7d9SHPj6W5yo5ttSzaPx0IqApYMtHDVk73FvQ==",
- "dependencies": {
- "@legendapp/tools": "2.0.1"
- },
- "peerDependencies": {
- "nativewind": "^2.0.0",
- "react": ">=16",
- "react-native": "*"
- }
- },
- "node_modules/@legendapp/tools": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/@legendapp/tools/-/tools-2.0.1.tgz",
- "integrity": "sha512-Kxt0HWvWElRK6oybHRzcYxdgaKGwuaiRNreS7usW7QuHXRIHaH4yMcW2YNRG4DHE5fpefv+Bno/BohQcCE4FaA==",
- "peerDependencies": {
- "react": ">=16"
- },
- "peerDependenciesMeta": {
- "react": {
- "optional": true
- }
- }
- },
"node_modules/@nodelib/fs.scandir": {
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
@@ -5311,478 +4612,47 @@
"resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz",
"integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw=="
},
- "node_modules/@react-aria/checkbox": {
- "version": "3.11.1",
- "resolved": "https://registry.npmjs.org/@react-aria/checkbox/-/checkbox-3.11.1.tgz",
- "integrity": "sha512-lg6vwUjxrBgh8ZOBfiI/BI4DQpH6nTzYEc7abjVIdp3Vgwvr6gnllxw58+JcsRVa/Iw2BRyWW0KZiKB1e/pb7Q==",
+ "node_modules/@react-google-maps/api": {
+ "version": "2.19.2",
+ "resolved": "https://registry.npmjs.org/@react-google-maps/api/-/api-2.19.2.tgz",
+ "integrity": "sha512-Vt57XWzCKfsUjKOmFUl2erVVfOePkPK5OigF/f+q7UuV/Nm9KDDy1PMFBx+wNahEqOd6a32BxfsykEhBnbU9wQ==",
"dependencies": {
- "@react-aria/label": "^3.7.1",
- "@react-aria/toggle": "^3.8.1",
- "@react-aria/utils": "^3.21.0",
- "@react-stately/checkbox": "^3.5.1",
- "@react-stately/toggle": "^3.6.3",
- "@react-types/checkbox": "^3.5.2",
- "@react-types/shared": "^3.21.0",
- "@swc/helpers": "^0.5.0"
+ "@googlemaps/js-api-loader": "1.16.2",
+ "@googlemaps/markerclusterer": "2.3.2",
+ "@react-google-maps/infobox": "2.19.2",
+ "@react-google-maps/marker-clusterer": "2.19.2",
+ "@types/google.maps": "3.53.5",
+ "invariant": "2.2.4"
},
"peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ "react": "^16.8 || ^17 || ^18",
+ "react-dom": "^16.8 || ^17 || ^18"
}
},
- "node_modules/@react-aria/dialog": {
- "version": "3.5.6",
- "resolved": "https://registry.npmjs.org/@react-aria/dialog/-/dialog-3.5.6.tgz",
- "integrity": "sha512-X1bVcDHvBG0mVyPcP4L1C42+6eynTN9QDww6aHmHJkyJMv6xYqlM7/MieKoc3BHO3XS6agMWRll4JaSgOzU1iA==",
- "dependencies": {
- "@react-aria/focus": "^3.14.2",
- "@react-aria/overlays": "^3.18.0",
- "@react-aria/utils": "^3.21.0",
- "@react-stately/overlays": "^3.6.3",
- "@react-types/dialog": "^3.5.6",
- "@react-types/shared": "^3.21.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
- }
+ "node_modules/@react-google-maps/api/node_modules/@types/google.maps": {
+ "version": "3.53.5",
+ "resolved": "https://registry.npmjs.org/@types/google.maps/-/google.maps-3.53.5.tgz",
+ "integrity": "sha512-HoRq4Te8J6krH7hj+TfdYepqegoKZCj3kkaK5gf+ySFSHLvyqYkDvkrtbcVJXQ6QBphQ0h1TF7p4J6sOh4r/zg=="
},
- "node_modules/@react-aria/focus": {
- "version": "3.14.2",
- "resolved": "https://registry.npmjs.org/@react-aria/focus/-/focus-3.14.2.tgz",
- "integrity": "sha512-ozP3g+C/fp3BAgI7dhFgBSzJCOwlW+pKaUlv7ay+btzXX0nc3jgt26uPSDr+Yv2tQcHcQnxfP0kHlXLS7to+lA==",
- "dependencies": {
- "@react-aria/interactions": "^3.19.0",
- "@react-aria/utils": "^3.21.0",
- "@react-types/shared": "^3.21.0",
- "@swc/helpers": "^0.5.0",
- "clsx": "^1.1.1"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
- }
+ "node_modules/@react-google-maps/infobox": {
+ "version": "2.19.2",
+ "resolved": "https://registry.npmjs.org/@react-google-maps/infobox/-/infobox-2.19.2.tgz",
+ "integrity": "sha512-6wvBqeJsQ/eFSvoxg+9VoncQvNoVCdmxzxRpLvmjPD+nNC6mHM0vJH1xSqaKijkMrfLJT0nfkTGpovrF896jwg=="
},
- "node_modules/@react-aria/i18n": {
- "version": "3.8.3",
- "resolved": "https://registry.npmjs.org/@react-aria/i18n/-/i18n-3.8.3.tgz",
- "integrity": "sha512-Q3jF+cwXfFIJFeCMX5M+JX8qcNm3TEoWFrcFGfYoKnq740zaWosuuAaGh2iSfUUooDtwGG6X6uUJbZfBIK4j4w==",
- "dependencies": {
- "@internationalized/date": "^3.5.0",
- "@internationalized/message": "^3.1.1",
- "@internationalized/number": "^3.3.0",
- "@internationalized/string": "^3.1.1",
- "@react-aria/ssr": "^3.8.0",
- "@react-aria/utils": "^3.21.0",
- "@react-types/shared": "^3.21.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
- }
+ "node_modules/@react-google-maps/marker-clusterer": {
+ "version": "2.19.2",
+ "resolved": "https://registry.npmjs.org/@react-google-maps/marker-clusterer/-/marker-clusterer-2.19.2.tgz",
+ "integrity": "sha512-x9ibmsP0ZVqzyCo1Pitbw+4b6iEXRw/r1TCy3vOUR3eKrzWLnHYZMR325BkZW2r8fnuWE/V3Fp4QZOP9qYORCw=="
},
- "node_modules/@react-aria/interactions": {
- "version": "3.19.0",
- "resolved": "https://registry.npmjs.org/@react-aria/interactions/-/interactions-3.19.0.tgz",
- "integrity": "sha512-nJ8VTmEOYJAAvV7wzeQVnamxWd3j16hGAzG++onjhluSWWKO1jMRN6WG9LDwvT5mBI0VYwf7JdVB3QBaCa9fsQ==",
+ "node_modules/@react-native-async-storage/async-storage": {
+ "version": "1.18.2",
+ "resolved": "https://registry.npmjs.org/@react-native-async-storage/async-storage/-/async-storage-1.18.2.tgz",
+ "integrity": "sha512-dM8AfdoeIxlh+zqgr0o5+vCTPQ0Ru1mrPzONZMsr7ufp5h+6WgNxQNza7t0r5qQ6b04AJqTlBNixTWZxqP649Q==",
"dependencies": {
- "@react-aria/ssr": "^3.8.0",
- "@react-aria/utils": "^3.21.0",
- "@react-types/shared": "^3.21.0",
- "@swc/helpers": "^0.5.0"
+ "merge-options": "^3.0.4"
},
"peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
- }
- },
- "node_modules/@react-aria/label": {
- "version": "3.7.1",
- "resolved": "https://registry.npmjs.org/@react-aria/label/-/label-3.7.1.tgz",
- "integrity": "sha512-/MMHGXVlz6HvZyPDX9mu4an8rM8v5t68jGnyBoaAL8oultWHI1bVRJ/Ro8rT0zY/68m5EWtwNYNyvcZ2X3JZ/w==",
- "dependencies": {
- "@react-aria/utils": "^3.21.0",
- "@react-types/label": "^3.8.1",
- "@react-types/shared": "^3.21.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
- }
- },
- "node_modules/@react-aria/menu": {
- "version": "3.11.0",
- "resolved": "https://registry.npmjs.org/@react-aria/menu/-/menu-3.11.0.tgz",
- "integrity": "sha512-rPHMHPkmdJdatxlvV4lYFA4z5d9HSlBS9b0LUsL5iheoyXIgdiD/WF4y6W5ye+j4ZnZTO1lA6hIopIcSE/G/vg==",
- "dependencies": {
- "@react-aria/focus": "^3.14.2",
- "@react-aria/i18n": "^3.8.3",
- "@react-aria/interactions": "^3.19.0",
- "@react-aria/overlays": "^3.18.0",
- "@react-aria/selection": "^3.17.0",
- "@react-aria/utils": "^3.21.0",
- "@react-stately/collections": "^3.10.2",
- "@react-stately/menu": "^3.5.6",
- "@react-stately/tree": "^3.7.3",
- "@react-types/button": "^3.9.0",
- "@react-types/menu": "^3.9.5",
- "@react-types/shared": "^3.21.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
- }
- },
- "node_modules/@react-aria/overlays": {
- "version": "3.18.0",
- "resolved": "https://registry.npmjs.org/@react-aria/overlays/-/overlays-3.18.0.tgz",
- "integrity": "sha512-2y1QlDgR3CNN0koFFreSFlWgMuzhdZQ9CAVw6vUJaL5qZcIcS8H/1AzjNj81/sGrY2+iSauPpLNOh37lqDkKqQ==",
- "dependencies": {
- "@react-aria/focus": "^3.14.2",
- "@react-aria/i18n": "^3.8.3",
- "@react-aria/interactions": "^3.19.0",
- "@react-aria/ssr": "^3.8.0",
- "@react-aria/utils": "^3.21.0",
- "@react-aria/visually-hidden": "^3.8.5",
- "@react-stately/overlays": "^3.6.3",
- "@react-types/button": "^3.9.0",
- "@react-types/overlays": "^3.8.3",
- "@react-types/shared": "^3.21.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
- }
- },
- "node_modules/@react-aria/radio": {
- "version": "3.8.1",
- "resolved": "https://registry.npmjs.org/@react-aria/radio/-/radio-3.8.1.tgz",
- "integrity": "sha512-RliB3qQ4/WhcZIN2XpQzDIO/Yhzei0OYYFYZKHLGLaFIiVI2phDZQLhQc35HEBBw3TvHnaO5NzGQmZ9zt5p5Jg==",
- "dependencies": {
- "@react-aria/focus": "^3.14.2",
- "@react-aria/i18n": "^3.8.3",
- "@react-aria/interactions": "^3.19.0",
- "@react-aria/label": "^3.7.1",
- "@react-aria/utils": "^3.21.0",
- "@react-stately/radio": "^3.9.1",
- "@react-types/radio": "^3.5.2",
- "@react-types/shared": "^3.21.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
- }
- },
- "node_modules/@react-aria/selection": {
- "version": "3.17.0",
- "resolved": "https://registry.npmjs.org/@react-aria/selection/-/selection-3.17.0.tgz",
- "integrity": "sha512-Dmf2ri+czVDVIBdEq9KTbIqbohDaENnCUDCPqHmh87oJhrIZhgy29zsZIR5/j+zJzD59Ogy63weZ4yFnMzFtEw==",
- "dependencies": {
- "@react-aria/focus": "^3.14.2",
- "@react-aria/i18n": "^3.8.3",
- "@react-aria/interactions": "^3.19.0",
- "@react-aria/utils": "^3.21.0",
- "@react-stately/collections": "^3.10.2",
- "@react-stately/selection": "^3.14.0",
- "@react-types/shared": "^3.21.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
- }
- },
- "node_modules/@react-aria/slider": {
- "version": "3.7.1",
- "resolved": "https://registry.npmjs.org/@react-aria/slider/-/slider-3.7.1.tgz",
- "integrity": "sha512-9fm2pszF+Ljf4fy9meJLh7zN+IwQkng+y2M5v1mg9BagOmupjoEYTPrZ5grrnJuD7FMgoXQ5sCr/kvHSZyfJnQ==",
- "dependencies": {
- "@react-aria/focus": "^3.14.2",
- "@react-aria/i18n": "^3.8.3",
- "@react-aria/interactions": "^3.19.0",
- "@react-aria/label": "^3.7.1",
- "@react-aria/utils": "^3.21.0",
- "@react-stately/radio": "^3.9.1",
- "@react-stately/slider": "^3.4.3",
- "@react-types/radio": "^3.5.2",
- "@react-types/shared": "^3.21.0",
- "@react-types/slider": "^3.6.2",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
- }
- },
- "node_modules/@react-aria/ssr": {
- "version": "3.8.0",
- "resolved": "https://registry.npmjs.org/@react-aria/ssr/-/ssr-3.8.0.tgz",
- "integrity": "sha512-Y54xs483rglN5DxbwfCPHxnkvZ+gZ0LbSYmR72LyWPGft8hN/lrl1VRS1EW2SMjnkEWlj+Km2mwvA3kEHDUA0A==",
- "dependencies": {
- "@swc/helpers": "^0.5.0"
- },
- "engines": {
- "node": ">= 12"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
- }
- },
- "node_modules/@react-aria/toggle": {
- "version": "3.8.1",
- "resolved": "https://registry.npmjs.org/@react-aria/toggle/-/toggle-3.8.1.tgz",
- "integrity": "sha512-TGJdKIVcPHVH8zJ7RRTa5bGwO1+x6Sx3CM91V9O0Fhd5PlHxfob/eTrGMOCdmPeBUMd7rRBMfmGuQnp5e6iw9A==",
- "dependencies": {
- "@react-aria/focus": "^3.14.2",
- "@react-aria/interactions": "^3.19.0",
- "@react-aria/utils": "^3.21.0",
- "@react-stately/toggle": "^3.6.3",
- "@react-types/checkbox": "^3.5.2",
- "@react-types/shared": "^3.21.0",
- "@react-types/switch": "^3.4.2",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
- }
- },
- "node_modules/@react-aria/utils": {
- "version": "3.21.0",
- "resolved": "https://registry.npmjs.org/@react-aria/utils/-/utils-3.21.0.tgz",
- "integrity": "sha512-0ZNaXgvbWnqqiG7FB0qhAIENN7CmBU30AnyTzz5ZZgvJexUJkhd2GMjvTqrBZ6zSjeMpUEIKg5PUA1eptGRPww==",
- "dependencies": {
- "@react-aria/ssr": "^3.8.0",
- "@react-stately/utils": "^3.8.0",
- "@react-types/shared": "^3.21.0",
- "@swc/helpers": "^0.5.0",
- "clsx": "^1.1.1"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
- }
- },
- "node_modules/@react-aria/visually-hidden": {
- "version": "3.8.5",
- "resolved": "https://registry.npmjs.org/@react-aria/visually-hidden/-/visually-hidden-3.8.5.tgz",
- "integrity": "sha512-uJcYQ3FSuJIIvaRXrTdYl/EFMDML0WV5A8nl7IrO5AMTa2HG9CG04ufeFj2BH48gbbgzlRsiYM41SRSaKjYqBg==",
- "dependencies": {
- "@react-aria/interactions": "^3.19.0",
- "@react-aria/utils": "^3.21.0",
- "@react-types/shared": "^3.21.0",
- "@swc/helpers": "^0.5.0",
- "clsx": "^1.1.1"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
- }
- },
- "node_modules/@react-google-maps/api": {
- "version": "2.19.2",
- "resolved": "https://registry.npmjs.org/@react-google-maps/api/-/api-2.19.2.tgz",
- "integrity": "sha512-Vt57XWzCKfsUjKOmFUl2erVVfOePkPK5OigF/f+q7UuV/Nm9KDDy1PMFBx+wNahEqOd6a32BxfsykEhBnbU9wQ==",
- "dependencies": {
- "@googlemaps/js-api-loader": "1.16.2",
- "@googlemaps/markerclusterer": "2.3.2",
- "@react-google-maps/infobox": "2.19.2",
- "@react-google-maps/marker-clusterer": "2.19.2",
- "@types/google.maps": "3.53.5",
- "invariant": "2.2.4"
- },
- "peerDependencies": {
- "react": "^16.8 || ^17 || ^18",
- "react-dom": "^16.8 || ^17 || ^18"
- }
- },
- "node_modules/@react-google-maps/api/node_modules/@types/google.maps": {
- "version": "3.53.5",
- "resolved": "https://registry.npmjs.org/@types/google.maps/-/google.maps-3.53.5.tgz",
- "integrity": "sha512-HoRq4Te8J6krH7hj+TfdYepqegoKZCj3kkaK5gf+ySFSHLvyqYkDvkrtbcVJXQ6QBphQ0h1TF7p4J6sOh4r/zg=="
- },
- "node_modules/@react-google-maps/infobox": {
- "version": "2.19.2",
- "resolved": "https://registry.npmjs.org/@react-google-maps/infobox/-/infobox-2.19.2.tgz",
- "integrity": "sha512-6wvBqeJsQ/eFSvoxg+9VoncQvNoVCdmxzxRpLvmjPD+nNC6mHM0vJH1xSqaKijkMrfLJT0nfkTGpovrF896jwg=="
- },
- "node_modules/@react-google-maps/marker-clusterer": {
- "version": "2.19.2",
- "resolved": "https://registry.npmjs.org/@react-google-maps/marker-clusterer/-/marker-clusterer-2.19.2.tgz",
- "integrity": "sha512-x9ibmsP0ZVqzyCo1Pitbw+4b6iEXRw/r1TCy3vOUR3eKrzWLnHYZMR325BkZW2r8fnuWE/V3Fp4QZOP9qYORCw=="
- },
- "node_modules/@react-native-aria/checkbox": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/@react-native-aria/checkbox/-/checkbox-0.2.3.tgz",
- "integrity": "sha512-YtWtXGg5tvOaV6v1CmbusXoOZvGRAVYygms9qNeUF7/B8/iDNGSKjlxHE5LVOLRtJO/B9ndZnr6RkL326ceyng==",
- "dependencies": {
- "@react-aria/checkbox": "^3.2.1",
- "@react-aria/utils": "^3.6.0",
- "@react-native-aria/toggle": "^0.2.3",
- "@react-native-aria/utils": "^0.2.6",
- "@react-stately/toggle": "^3.2.1"
- },
- "peerDependencies": {
- "react": "*",
- "react-native": "*"
- }
- },
- "node_modules/@react-native-aria/dialog": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/@react-native-aria/dialog/-/dialog-0.1.1.tgz",
- "integrity": "sha512-/f2Coy6C1GkedoA+EaOTX0KqnT0+kdb6kvTKCVRcdAtiaxPKpkmfGVBeRqRh2ui47uw5yVD0JKENhxHkym9RAg==",
- "dependencies": {
- "@react-aria/dialog": "*",
- "@react-native-aria/utils": "^0.2.8",
- "@react-types/dialog": "*",
- "@react-types/shared": "*"
- },
- "peerDependencies": {
- "react": "*",
- "react-native": "*"
- }
- },
- "node_modules/@react-native-aria/focus": {
- "version": "0.2.8",
- "resolved": "https://registry.npmjs.org/@react-native-aria/focus/-/focus-0.2.8.tgz",
- "integrity": "sha512-1dIby+o37J2m4oV59TkjlirOXvn5SWtr8Z2dYkHvPe8oip8pEzH/jIl8uXFyvQJmRYA9n7Ju5ucThJJ/4Py8hw==",
- "dependencies": {
- "@react-aria/focus": "^3.2.3"
- },
- "peerDependencies": {
- "react": "*",
- "react-native": "*"
- }
- },
- "node_modules/@react-native-aria/interactions": {
- "version": "0.2.10",
- "resolved": "https://registry.npmjs.org/@react-native-aria/interactions/-/interactions-0.2.10.tgz",
- "integrity": "sha512-J0Scz4ndwaqa13e7XwwKRx0jXhVCUAmT/i1udVYyXW/rANAXnnAxuWJDWuZOO/XiQ5eoN7OqIlYUkJG4NnDUOA==",
- "dependencies": {
- "@react-aria/interactions": "^3.3.2",
- "@react-aria/utils": "^3.6.0",
- "@react-native-aria/utils": "^0.2.6"
- },
- "peerDependencies": {
- "react": "*",
- "react-native": "*"
- }
- },
- "node_modules/@react-native-aria/menu": {
- "version": "0.2.7",
- "resolved": "https://registry.npmjs.org/@react-native-aria/menu/-/menu-0.2.7.tgz",
- "integrity": "sha512-+DshGgJF2ZzHv66uTCAkyQGb6WjYmTKyLZV4ec2wSPCRPtVLdCgysnUpEzKqEWzFNjAHuOvscngQfj6YQpkHtw==",
- "dependencies": {
- "@react-aria/interactions": "^3.3.2",
- "@react-aria/menu": "^3.1.3",
- "@react-aria/selection": "^3.3.1",
- "@react-aria/utils": "^3.6.0",
- "@react-native-aria/interactions": "^0.2.3",
- "@react-native-aria/overlays": "^0.2.1",
- "@react-native-aria/utils": "^0.2.6",
- "@react-stately/collections": "^3.3.0",
- "@react-stately/menu": "^3.2.1",
- "@react-stately/tree": "^3.1.2",
- "@react-types/menu": "^3.1.1"
- },
- "peerDependencies": {
- "react": "*",
- "react-native": "*"
- }
- },
- "node_modules/@react-native-aria/menu/node_modules/@react-native-aria/overlays": {
- "version": "0.2.11",
- "resolved": "https://registry.npmjs.org/@react-native-aria/overlays/-/overlays-0.2.11.tgz",
- "integrity": "sha512-wLCTXeVRkMNKJZIadLVpEI2TGV/iVPM0sby9HCovovC/TVs7avEccpNvaU3qL9//GRkLKwTVWcfG9BQ4sf8QPA==",
- "dependencies": {
- "@react-aria/overlays": "^3.6.0",
- "@react-native-aria/utils": "^0.2.6",
- "@react-stately/overlays": "^3.1.1",
- "@react-types/overlays": "^3.4.0"
- },
- "peerDependencies": {
- "react": "*",
- "react-dom": "*",
- "react-native": "*"
- }
- },
- "node_modules/@react-native-aria/overlays": {
- "version": "0.3.7",
- "resolved": "https://registry.npmjs.org/@react-native-aria/overlays/-/overlays-0.3.7.tgz",
- "integrity": "sha512-R0egaQoQtwMG6HA4hAoLFHcQOMLfv2WBIjPdnF6OJHxqFW2+Kzw9j2WqwjV90/cP1evU/iWnzKX48ed83xAh9Q==",
- "dependencies": {
- "@react-aria/interactions": "^3.3.2",
- "@react-aria/overlays": "^3.7.0",
- "@react-native-aria/utils": "^0.2.8",
- "@react-stately/overlays": "^3.1.1",
- "@react-types/overlays": "^3.4.0",
- "dom-helpers": "^5.0.0"
- },
- "peerDependencies": {
- "react": "*",
- "react-dom": "*",
- "react-native": "*"
- }
- },
- "node_modules/@react-native-aria/radio": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/@react-native-aria/radio/-/radio-0.2.5.tgz",
- "integrity": "sha512-kTfCjRMZH+Z2C70VxjomPO8eXBcHPa5zcuOUotyhR10WsrKZJlwwnA75t2xDq8zsxKnABJRfThv7rSlAjkFSeg==",
- "dependencies": {
- "@react-aria/radio": "^3.1.2",
- "@react-aria/utils": "^3.6.0",
- "@react-native-aria/interactions": "^0.2.3",
- "@react-native-aria/utils": "^0.2.6",
- "@react-stately/radio": "^3.2.1",
- "@react-types/radio": "^3.1.1"
- },
- "peerDependencies": {
- "react": "*",
- "react-native": "*"
- }
- },
- "node_modules/@react-native-aria/slider": {
- "version": "0.2.7",
- "resolved": "https://registry.npmjs.org/@react-native-aria/slider/-/slider-0.2.7.tgz",
- "integrity": "sha512-9SacbsDHz8TlLJsC69dRpP15BhDv2sV1LtffVJvwufRoFCdKvEzYyWA6Mu7GxWQR7OoTzl4kYvP0IEArNAgczA==",
- "dependencies": {
- "@react-aria/focus": "^3.2.3",
- "@react-aria/interactions": "^3.3.2",
- "@react-aria/label": "^3.1.1",
- "@react-aria/slider": "^3.0.1",
- "@react-aria/utils": "^3.6.0",
- "@react-native-aria/utils": "^0.2.8",
- "@react-stately/slider": "^3.0.1"
- },
- "peerDependencies": {
- "react": "*",
- "react-native": "*"
- }
- },
- "node_modules/@react-native-aria/toggle": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/@react-native-aria/toggle/-/toggle-0.2.3.tgz",
- "integrity": "sha512-3aOlchMxpR0b2h3Z7V0aYZaQMVJD6uKOWKWJm82VsLrni4iDnDX/mLv30ujuuK3+LclUhVlJd2kRuCl+xnf3XQ==",
- "dependencies": {
- "@react-aria/focus": "^3.2.3",
- "@react-aria/utils": "^3.6.0",
- "@react-native-aria/interactions": "^0.2.3",
- "@react-native-aria/utils": "^0.2.6",
- "@react-stately/toggle": "^3.2.1",
- "@react-types/checkbox": "^3.2.1"
- },
- "peerDependencies": {
- "react": "*",
- "react-native": "*"
- }
- },
- "node_modules/@react-native-aria/utils": {
- "version": "0.2.8",
- "resolved": "https://registry.npmjs.org/@react-native-aria/utils/-/utils-0.2.8.tgz",
- "integrity": "sha512-x375tG1itv3irLFRnURLsdK2djuvhFJHizSDUtLCo8skQwfjslED5t4sUkQ49di4G850gaVJz0fCcCx/pHX7CA==",
- "dependencies": {
- "@react-aria/ssr": "^3.0.1",
- "@react-aria/utils": "^3.3.0"
- },
- "peerDependencies": {
- "react": "*",
- "react-native": "*"
+ "react-native": "^0.0.0-0 || 0.60 - 0.72 || 1000.0.0"
}
},
"node_modules/@react-native-community/cli": {
@@ -7770,772 +6640,186 @@
"peerDependenciesMeta": {
"expo": {
"optional": true
- }
- }
- },
- "node_modules/@react-native-segmented-control/segmented-control": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/@react-native-segmented-control/segmented-control/-/segmented-control-2.4.1.tgz",
- "integrity": "sha512-c8Q7TP14CD6vJ38VO5SWoIcxfwLPIz/4zRKJnJOJ0xKkMxkrUu089m86Y0dSvo+T3c1NQyvBFRtKWrPqbqG6tg==",
- "peerDependencies": {
- "react": ">=16.0",
- "react-native": ">=0.62"
- }
- },
- "node_modules/@react-native/assets-registry": {
- "version": "0.72.0",
- "resolved": "https://registry.npmjs.org/@react-native/assets-registry/-/assets-registry-0.72.0.tgz",
- "integrity": "sha512-Im93xRJuHHxb1wniGhBMsxLwcfzdYreSZVQGDoMJgkd6+Iky61LInGEHnQCTN0fKNYF1Dvcofb4uMmE1RQHXHQ=="
- },
- "node_modules/@react-native/codegen": {
- "version": "0.72.7",
- "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.72.7.tgz",
- "integrity": "sha512-O7xNcGeXGbY+VoqBGNlZ3O05gxfATlwE1Q1qQf5E38dK+tXn5BY4u0jaQ9DPjfE8pBba8g/BYI1N44lynidMtg==",
- "dependencies": {
- "@babel/parser": "^7.20.0",
- "flow-parser": "^0.206.0",
- "jscodeshift": "^0.14.0",
- "nullthrows": "^1.1.1"
- },
- "peerDependencies": {
- "@babel/preset-env": "^7.1.6"
- }
- },
- "node_modules/@react-native/gradle-plugin": {
- "version": "0.72.11",
- "resolved": "https://registry.npmjs.org/@react-native/gradle-plugin/-/gradle-plugin-0.72.11.tgz",
- "integrity": "sha512-P9iRnxiR2w7EHcZ0mJ+fmbPzMby77ZzV6y9sJI3lVLJzF7TLSdbwcQyD3lwMsiL+q5lKUHoZJS4sYmih+P2HXw=="
- },
- "node_modules/@react-native/js-polyfills": {
- "version": "0.72.1",
- "resolved": "https://registry.npmjs.org/@react-native/js-polyfills/-/js-polyfills-0.72.1.tgz",
- "integrity": "sha512-cRPZh2rBswFnGt5X5EUEPs0r+pAsXxYsifv/fgy9ZLQokuT52bPH+9xjDR+7TafRua5CttGW83wP4TntRcWNDA=="
- },
- "node_modules/@react-native/normalize-color": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@react-native/normalize-color/-/normalize-color-2.1.0.tgz",
- "integrity": "sha512-Z1jQI2NpdFJCVgpY+8Dq/Bt3d+YUi1928Q+/CZm/oh66fzM0RUl54vvuXlPJKybH4pdCZey1eDTPaLHkMPNgWA=="
- },
- "node_modules/@react-native/normalize-colors": {
- "version": "0.72.0",
- "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.72.0.tgz",
- "integrity": "sha512-285lfdqSXaqKuBbbtP9qL2tDrfxdOFtIMvkKadtleRQkdOxx+uzGvFr82KHmc/sSiMtfXGp7JnFYWVh4sFl7Yw=="
- },
- "node_modules/@react-native/virtualized-lists": {
- "version": "0.72.8",
- "resolved": "https://registry.npmjs.org/@react-native/virtualized-lists/-/virtualized-lists-0.72.8.tgz",
- "integrity": "sha512-J3Q4Bkuo99k7mu+jPS9gSUSgq+lLRSI/+ahXNwV92XgJ/8UgOTxu2LPwhJnBk/sQKxq7E8WkZBnBiozukQMqrw==",
- "dependencies": {
- "invariant": "^2.2.4",
- "nullthrows": "^1.1.1"
- },
- "peerDependencies": {
- "react-native": "*"
- }
- },
- "node_modules/@react-navigation/bottom-tabs": {
- "version": "6.5.9",
- "resolved": "https://registry.npmjs.org/@react-navigation/bottom-tabs/-/bottom-tabs-6.5.9.tgz",
- "integrity": "sha512-366D4pwq41qKqzsrEk3OPW9atTQJrfrLHPJhX3NLOinRIuDrxal1jJwN3vzNZoEg7gIEKaPYckuqUKg0zRFdog==",
- "dependencies": {
- "@react-navigation/elements": "^1.3.19",
- "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.9",
- "resolved": "https://registry.npmjs.org/@react-navigation/core/-/core-6.4.9.tgz",
- "integrity": "sha512-G9GH7bP9x0qqupxZnkSftnkn4JoXancElTvFc8FVGfEvxnxP+gBo3wqcknyBi7M5Vad4qecsYjCOa9wqsftv9g==",
- "dependencies": {
- "@react-navigation/routers": "^6.1.9",
- "escape-string-regexp": "^4.0.0",
- "nanoid": "^3.1.23",
- "query-string": "^7.1.3",
- "react-is": "^16.13.0",
- "use-latest-callback": "^0.1.5"
- },
- "peerDependencies": {
- "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",
- "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
- },
- "node_modules/@react-navigation/elements": {
- "version": "1.3.19",
- "resolved": "https://registry.npmjs.org/@react-navigation/elements/-/elements-1.3.19.tgz",
- "integrity": "sha512-7hLvSYKPuDS070pza5gd43WDX7QgfuEmuTWNbCJhKdWlLudYmq3qzxGCBwCfO2dEI6+p8tla5wruaWiGKAbTYw==",
- "peerDependencies": {
- "@react-navigation/native": "^6.0.0",
- "react": "*",
- "react-native": "*",
- "react-native-safe-area-context": ">= 3.0.0"
- }
- },
- "node_modules/@react-navigation/native": {
- "version": "6.1.8",
- "resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-6.1.8.tgz",
- "integrity": "sha512-0alti852nV+8oCVm9H80G6kZvrHoy51+rXBvVCRUs2rNDDozC/xPZs8tyeCJkqdw3cpxZDK8ndXF22uWq28+0Q==",
- "dependencies": {
- "@react-navigation/core": "^6.4.9",
- "escape-string-regexp": "^4.0.0",
- "fast-deep-equal": "^3.1.3",
- "nanoid": "^3.1.23"
- },
- "peerDependencies": {
- "react": "*",
- "react-native": "*"
- }
- },
- "node_modules/@react-navigation/native-stack": {
- "version": "6.9.14",
- "resolved": "https://registry.npmjs.org/@react-navigation/native-stack/-/native-stack-6.9.14.tgz",
- "integrity": "sha512-7RiZkvMFN6f0kmANc63B/0m9ttQ2JpDIPWQwPU93FP698s19KTOyu7uxgl7Oi3bvsqHFO5JfiR7B+4h8lh9dxw==",
- "dependencies": {
- "@react-navigation/elements": "^1.3.19",
- "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/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.9",
- "resolved": "https://registry.npmjs.org/@react-navigation/routers/-/routers-6.1.9.tgz",
- "integrity": "sha512-lTM8gSFHSfkJvQkxacGM6VJtBt61ip2XO54aNfswD+KMw6eeZ4oehl7m0me3CR9hnDE4+60iAZR8sAhvCiI3NA==",
- "dependencies": {
- "nanoid": "^3.1.23"
- }
- },
- "node_modules/@react-stately/calendar": {
- "version": "3.4.1",
- "resolved": "https://registry.npmjs.org/@react-stately/calendar/-/calendar-3.4.1.tgz",
- "integrity": "sha512-XKCdrXNA7/ukZ842EeDZfLqYUQDv/x5RoAVkzTbp++3U/MLM1XZXsqj+5xVlQfJiWpQzM9L6ySjxzzgepJDeuw==",
- "dependencies": {
- "@internationalized/date": "^3.5.0",
- "@react-stately/utils": "^3.8.0",
- "@react-types/calendar": "^3.4.1",
- "@react-types/datepicker": "^3.6.1",
- "@react-types/shared": "^3.21.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
- }
- },
- "node_modules/@react-stately/checkbox": {
- "version": "3.5.1",
- "resolved": "https://registry.npmjs.org/@react-stately/checkbox/-/checkbox-3.5.1.tgz",
- "integrity": "sha512-j+EbHpZgS8J2LbysbVDK3vQAJc7YZHOjHRX20auEzVmulAFKwkRpevo/R5gEL4EpOz4bRyu+BH/jbssHXG+Ezw==",
- "dependencies": {
- "@react-stately/toggle": "^3.6.3",
- "@react-stately/utils": "^3.8.0",
- "@react-types/checkbox": "^3.5.2",
- "@react-types/shared": "^3.21.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
- }
- },
- "node_modules/@react-stately/collections": {
- "version": "3.10.2",
- "resolved": "https://registry.npmjs.org/@react-stately/collections/-/collections-3.10.2.tgz",
- "integrity": "sha512-h+LzCa1gWhVRWVH8uR+ZxsKmFSx7kW3RIlcjWjhfyc59BzXCuojsOJKTTAyPVFP/3kOdJeltw8g/reV1Cw/x6Q==",
- "dependencies": {
- "@react-types/shared": "^3.21.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
- }
- },
- "node_modules/@react-stately/combobox": {
- "version": "3.7.1",
- "resolved": "https://registry.npmjs.org/@react-stately/combobox/-/combobox-3.7.1.tgz",
- "integrity": "sha512-JMKsbhCgP8HpwRjHLBmJILzyU9WzWykjXyP4QF/ifmkzGRjC/s46+Ieq+WonjVaLNGCoi6XqhYn2x2RyACSbsQ==",
- "dependencies": {
- "@react-stately/collections": "^3.10.2",
- "@react-stately/list": "^3.10.0",
- "@react-stately/menu": "^3.5.6",
- "@react-stately/select": "^3.5.5",
- "@react-stately/utils": "^3.8.0",
- "@react-types/combobox": "^3.8.1",
- "@react-types/shared": "^3.21.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
- }
- },
- "node_modules/@react-stately/data": {
- "version": "3.10.3",
- "resolved": "https://registry.npmjs.org/@react-stately/data/-/data-3.10.3.tgz",
- "integrity": "sha512-cC9mxCZU4N9GbdOB4g2/J8+W+860GvBd874to0ObSc/XOR4VbuIsxAFIabW5UwmJV+XaqqK4TUBG0C6YScXeWQ==",
- "dependencies": {
- "@react-types/shared": "^3.21.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
- }
- },
- "node_modules/@react-stately/datepicker": {
- "version": "3.8.0",
- "resolved": "https://registry.npmjs.org/@react-stately/datepicker/-/datepicker-3.8.0.tgz",
- "integrity": "sha512-6YDSmkrRafYCWhRHks8Z2tZavM1rqSOy8GY8VYjYMCVTFpRuhPK9TQaFv2BdzZL/vJ6OGThxqoglcEwywZVq2g==",
- "dependencies": {
- "@internationalized/date": "^3.5.0",
- "@internationalized/string": "^3.1.1",
- "@react-stately/overlays": "^3.6.3",
- "@react-stately/utils": "^3.8.0",
- "@react-types/datepicker": "^3.6.1",
- "@react-types/shared": "^3.21.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
- }
- },
- "node_modules/@react-stately/dnd": {
- "version": "3.2.5",
- "resolved": "https://registry.npmjs.org/@react-stately/dnd/-/dnd-3.2.5.tgz",
- "integrity": "sha512-f9S+ycjAMEaz9HqGxkx4jsqo/ZS8kh0o97rxSKpGFKPZ02UMFWCr9lJI1p3hVGukiMahrmsNtoQXAvMcFAZyQQ==",
- "dependencies": {
- "@react-stately/selection": "^3.14.0",
- "@react-types/shared": "^3.21.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
- }
- },
- "node_modules/@react-stately/flags": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@react-stately/flags/-/flags-3.0.0.tgz",
- "integrity": "sha512-e3i2ItHbIa0eEwmSXAnPdD7K8syW76JjGe8ENxwFJPW/H1Pu9RJfjkCb/Mq0WSPN/TpxBb54+I9TgrGhbCoZ9w==",
- "dependencies": {
- "@swc/helpers": "^0.4.14"
- }
- },
- "node_modules/@react-stately/flags/node_modules/@swc/helpers": {
- "version": "0.4.36",
- "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.36.tgz",
- "integrity": "sha512-5lxnyLEYFskErRPenYItLRSge5DjrJngYKdVjRSrWfza9G6KkgHEXi0vUZiyUeMU5JfXH1YnvXZzSp8ul88o2Q==",
- "dependencies": {
- "legacy-swc-helpers": "npm:@swc/helpers@=0.4.14",
- "tslib": "^2.4.0"
- }
- },
- "node_modules/@react-stately/grid": {
- "version": "3.8.2",
- "resolved": "https://registry.npmjs.org/@react-stately/grid/-/grid-3.8.2.tgz",
- "integrity": "sha512-CB5QpYjXFatuXZodj3r0vIiqTysUe6DURZdJu6RKG2Elx19n2k49fKyx7P7CTKD2sPBOMSSX4edWuTzpL8Tl+A==",
- "dependencies": {
- "@react-stately/collections": "^3.10.2",
- "@react-stately/selection": "^3.14.0",
- "@react-types/grid": "^3.2.2",
- "@react-types/shared": "^3.21.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
- }
- },
- "node_modules/@react-stately/list": {
- "version": "3.10.0",
- "resolved": "https://registry.npmjs.org/@react-stately/list/-/list-3.10.0.tgz",
- "integrity": "sha512-Yspumiln2fvzoO8AND8jNAIfBu1XPaYioeeDmsB5Vrya2EvOkzEGsauQSNBJ6Vhee1fQqpnmzH1HB0jfIKUfzg==",
- "dependencies": {
- "@react-stately/collections": "^3.10.2",
- "@react-stately/selection": "^3.14.0",
- "@react-stately/utils": "^3.8.0",
- "@react-types/shared": "^3.21.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
- }
- },
- "node_modules/@react-stately/menu": {
- "version": "3.5.6",
- "resolved": "https://registry.npmjs.org/@react-stately/menu/-/menu-3.5.6.tgz",
- "integrity": "sha512-Cm82SVda1qP71Fcz8ohIn3JYKmKCuSUIFr1WsEo/YwDPkX0x9+ev6rmphHTsxDdkCLcYHSTQL6e2KL0wAg50zA==",
- "dependencies": {
- "@react-stately/overlays": "^3.6.3",
- "@react-stately/utils": "^3.8.0",
- "@react-types/menu": "^3.9.5",
- "@react-types/shared": "^3.21.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
- }
- },
- "node_modules/@react-stately/numberfield": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/@react-stately/numberfield/-/numberfield-3.6.2.tgz",
- "integrity": "sha512-li/SO3BU3RGySRNlXhPRKr161GJyNbQe6kjnj+0BFTS/ST9nxCgxFK4llHf+S+I/shNI6+0U2nAjE85QOv4emQ==",
- "dependencies": {
- "@internationalized/number": "^3.3.0",
- "@react-stately/utils": "^3.8.0",
- "@react-types/numberfield": "^3.6.1",
- "@react-types/shared": "^3.21.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
- }
- },
- "node_modules/@react-stately/overlays": {
- "version": "3.6.3",
- "resolved": "https://registry.npmjs.org/@react-stately/overlays/-/overlays-3.6.3.tgz",
- "integrity": "sha512-K3eIiYAdAGTepYqNf2pVb+lPqLoVudXwmxPhyOSZXzjgpynD6tR3E9QfWQtkMazBuU73PnNX7zkH4l87r2AmTg==",
- "dependencies": {
- "@react-stately/utils": "^3.8.0",
- "@react-types/overlays": "^3.8.3",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
- }
- },
- "node_modules/@react-stately/radio": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/@react-stately/radio/-/radio-3.9.1.tgz",
- "integrity": "sha512-DrQPHiP9pz1uQbBP/NDFdO8uOZigPbvuAWPUNK7Gq6kye5lW+RsS97IUnYJePNTSMvhiAVz/aleBt05Gr/PZmg==",
- "dependencies": {
- "@react-stately/utils": "^3.8.0",
- "@react-types/radio": "^3.5.2",
- "@react-types/shared": "^3.21.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
- }
- },
- "node_modules/@react-stately/searchfield": {
- "version": "3.4.6",
- "resolved": "https://registry.npmjs.org/@react-stately/searchfield/-/searchfield-3.4.6.tgz",
- "integrity": "sha512-DeVacER0MD35gzQjrYpX/e3k8rjKF82W0OooTkRjeQ2U48femZkQpmp3O+j10foQx2LLaxqt9PSW7QS0Ww1bCA==",
- "dependencies": {
- "@react-stately/utils": "^3.8.0",
- "@react-types/searchfield": "^3.5.1",
- "@react-types/shared": "^3.21.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
- }
- },
- "node_modules/@react-stately/select": {
- "version": "3.5.5",
- "resolved": "https://registry.npmjs.org/@react-stately/select/-/select-3.5.5.tgz",
- "integrity": "sha512-nDkvFeAZbN7dK/Ty+mk1h4LZYYaoPpkwrG49wa67DTHkCc8Zk2+UEjhKPwOK20th4vfJKHzKjVa0Dtq4DIj0rw==",
- "dependencies": {
- "@react-stately/collections": "^3.10.2",
- "@react-stately/list": "^3.10.0",
- "@react-stately/menu": "^3.5.6",
- "@react-stately/selection": "^3.14.0",
- "@react-stately/utils": "^3.8.0",
- "@react-types/select": "^3.8.4",
- "@react-types/shared": "^3.21.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
- }
- },
- "node_modules/@react-stately/selection": {
- "version": "3.14.0",
- "resolved": "https://registry.npmjs.org/@react-stately/selection/-/selection-3.14.0.tgz",
- "integrity": "sha512-E5rNH+gVGDJQDSnPO30ynu6jZ0Z0++VPUbM5Bu3P/bZ3+TgoTtDDvlONba3fspgSBDfdnHpsuG9eqYnDtEAyYA==",
- "dependencies": {
- "@react-stately/collections": "^3.10.2",
- "@react-stately/utils": "^3.8.0",
- "@react-types/shared": "^3.21.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
- }
- },
- "node_modules/@react-stately/slider": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/@react-stately/slider/-/slider-3.4.3.tgz",
- "integrity": "sha512-BWtDTnGRByAfk64t/xDMSaroYnwTVIguyzaHezy28wXGHxBl+l+qTSL2DCSokTSfqnfMs2FckXNh5LUVc8NjSg==",
- "dependencies": {
- "@react-aria/i18n": "^3.8.3",
- "@react-aria/utils": "^3.21.0",
- "@react-stately/utils": "^3.8.0",
- "@react-types/shared": "^3.21.0",
- "@react-types/slider": "^3.6.2",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
- }
- },
- "node_modules/@react-stately/table": {
- "version": "3.11.2",
- "resolved": "https://registry.npmjs.org/@react-stately/table/-/table-3.11.2.tgz",
- "integrity": "sha512-EVgksPAsnEoqeT+5ej4aGJdu9kAu3LCDqQfnmif2P/R1BP5eDU1Kv0N/mV/90Xp546g7kuZ1wS2if/hWDXEA5g==",
- "dependencies": {
- "@react-stately/collections": "^3.10.2",
- "@react-stately/flags": "^3.0.0",
- "@react-stately/grid": "^3.8.2",
- "@react-stately/selection": "^3.14.0",
- "@react-stately/utils": "^3.8.0",
- "@react-types/grid": "^3.2.2",
- "@react-types/shared": "^3.21.0",
- "@react-types/table": "^3.9.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
- }
- },
- "node_modules/@react-stately/tabs": {
- "version": "3.6.1",
- "resolved": "https://registry.npmjs.org/@react-stately/tabs/-/tabs-3.6.1.tgz",
- "integrity": "sha512-akGmejEaXg2RMZuWbRZ0W1MLr515e0uV0iVZefKBlcHtD/mK9K9Bo2XxBScf0TIhaPJ6Qa2w2k2+V7RmT7r8Ag==",
- "dependencies": {
- "@react-stately/list": "^3.10.0",
- "@react-stately/utils": "^3.8.0",
- "@react-types/shared": "^3.21.0",
- "@react-types/tabs": "^3.3.3",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
- }
- },
- "node_modules/@react-stately/toggle": {
- "version": "3.6.3",
- "resolved": "https://registry.npmjs.org/@react-stately/toggle/-/toggle-3.6.3.tgz",
- "integrity": "sha512-4kIMTjRjtaapFk4NVmBoFDUYfkmyqDaYAmHpRyEIHTDpBYn0xpxZL/MHv9WuLYa4MjJLRp0MeicuWiZ4ai7f6Q==",
- "dependencies": {
- "@react-stately/utils": "^3.8.0",
- "@react-types/checkbox": "^3.5.2",
- "@react-types/shared": "^3.21.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
- }
- },
- "node_modules/@react-stately/tooltip": {
- "version": "3.4.5",
- "resolved": "https://registry.npmjs.org/@react-stately/tooltip/-/tooltip-3.4.5.tgz",
- "integrity": "sha512-VrwQcjnrNddSulh+Zql8P8cORRnWqSPkHPqQwD/Ly91Rva3gUIy+VwnYeThbGDxRzlUv1wfN+UQraEcrgwSZ/Q==",
- "dependencies": {
- "@react-stately/overlays": "^3.6.3",
- "@react-stately/utils": "^3.8.0",
- "@react-types/tooltip": "^3.4.5",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
- }
- },
- "node_modules/@react-stately/tree": {
- "version": "3.7.3",
- "resolved": "https://registry.npmjs.org/@react-stately/tree/-/tree-3.7.3.tgz",
- "integrity": "sha512-wB/68qetgCYTe7OMqbTFmtWRrEqVdIH2VlACPCsMlECr3lW9TrrbrOwlHIJfLhkxWvY3kSCoKcOJ5KTiJC9LGA==",
- "dependencies": {
- "@react-stately/collections": "^3.10.2",
- "@react-stately/selection": "^3.14.0",
- "@react-stately/utils": "^3.8.0",
- "@react-types/shared": "^3.21.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
- }
- },
- "node_modules/@react-stately/utils": {
- "version": "3.8.0",
- "resolved": "https://registry.npmjs.org/@react-stately/utils/-/utils-3.8.0.tgz",
- "integrity": "sha512-wCIoFDbt/uwNkWIBF+xV+21k8Z8Sj5qGO3uptTcVmjYcZngOaGGyB4NkiuZhmhG70Pkv+yVrRwoC1+4oav9cCg==",
- "dependencies": {
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
- }
- },
- "node_modules/@react-types/button": {
- "version": "3.9.0",
- "resolved": "https://registry.npmjs.org/@react-types/button/-/button-3.9.0.tgz",
- "integrity": "sha512-YhbchUDB7yL88ZFA0Zqod6qOMdzCLD5yVRmhWymk0yNLvB7EB1XX4c5sRANalfZSFP0RpCTlkjB05Hzp4+xOYg==",
- "dependencies": {
- "@react-types/shared": "^3.21.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
- }
- },
- "node_modules/@react-types/calendar": {
- "version": "3.4.1",
- "resolved": "https://registry.npmjs.org/@react-types/calendar/-/calendar-3.4.1.tgz",
- "integrity": "sha512-tiCkHi6IQtYcVoAESG79eUBWDXoo8NImo+Mj8WAWpo1lOA3SV1W2PpeXkoRNqtloilQ0aYcmsaJJUhciQG4ndg==",
- "dependencies": {
- "@internationalized/date": "^3.5.0",
- "@react-types/shared": "^3.21.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
- }
- },
- "node_modules/@react-types/checkbox": {
- "version": "3.5.2",
- "resolved": "https://registry.npmjs.org/@react-types/checkbox/-/checkbox-3.5.2.tgz",
- "integrity": "sha512-iRQrbY8vRRya3bt3i7sHAifhP/ozfkly1/TItkRK5MNPRNPRDKns55D8ZFkRMj4NSyKQpjVt1zzlBXrnSOxWdQ==",
- "dependencies": {
- "@react-types/shared": "^3.21.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
- }
- },
- "node_modules/@react-types/combobox": {
- "version": "3.8.1",
- "resolved": "https://registry.npmjs.org/@react-types/combobox/-/combobox-3.8.1.tgz",
- "integrity": "sha512-F910tk8K5qE0TksJ9LRGcJIpaPzpsCnFxT6E9oJH3ssK4N8qZL8QfT9tIKo2XWhK9Uxb/tIZOGQwA8Cn7TyZrA==",
- "dependencies": {
- "@react-types/shared": "^3.21.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
- }
- },
- "node_modules/@react-types/datepicker": {
- "version": "3.6.1",
- "resolved": "https://registry.npmjs.org/@react-types/datepicker/-/datepicker-3.6.1.tgz",
- "integrity": "sha512-/M+0e9hL9w98f5k4EoxeH2UfPsUPoS6fvmFsmwUZJcDiw7wP510XngnDLy9GOHj9xgqagZ20S79cxcEuTq7U6g==",
- "dependencies": {
- "@internationalized/date": "^3.5.0",
- "@react-types/calendar": "^3.4.1",
- "@react-types/overlays": "^3.8.3",
- "@react-types/shared": "^3.21.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
- }
- },
- "node_modules/@react-types/dialog": {
- "version": "3.5.6",
- "resolved": "https://registry.npmjs.org/@react-types/dialog/-/dialog-3.5.6.tgz",
- "integrity": "sha512-lwwaAgoi4xe4eEJxBns+cBIRstIPTKWWddMkp51r7Teeh2uKs1Wki7N+Acb9CfT6JQTQDqtVJm6K76rcqNBVwg==",
- "dependencies": {
- "@react-types/overlays": "^3.8.3",
- "@react-types/shared": "^3.21.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
}
},
- "node_modules/@react-types/grid": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/@react-types/grid/-/grid-3.2.2.tgz",
- "integrity": "sha512-R4USOpn1xfsWVGwZsakRlIdsBA10XNCnAUcRXQTn2JmzLjDCtcln6uYo9IFob080lQuvjkSw3j4zkw7Yo4Qepg==",
- "dependencies": {
- "@react-types/shared": "^3.21.0"
- },
+ "node_modules/@react-native-picker/picker": {
+ "version": "2.4.10",
+ "resolved": "https://registry.npmjs.org/@react-native-picker/picker/-/picker-2.4.10.tgz",
+ "integrity": "sha512-EvAlHmPEPOwvbP6Pjg/gtDV3XJzIjIxr10fXFNlX5r9HeHw582G1Zt2o8FLyB718nOttgj8HYUTGxvhu4N65sQ==",
"peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ "react": ">=16",
+ "react-native": ">=0.57"
}
},
- "node_modules/@react-types/label": {
- "version": "3.8.1",
- "resolved": "https://registry.npmjs.org/@react-types/label/-/label-3.8.1.tgz",
- "integrity": "sha512-fA6zMTF2TmfU7H8JBJi0pNd8t5Ak4gO+ZA3cZBysf8r3EmdAsgr3LLqFaGTnZzPH1Fux6c7ARI3qjVpyNiejZQ==",
- "dependencies": {
- "@react-types/shared": "^3.21.0"
- },
+ "node_modules/@react-native-segmented-control/segmented-control": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/@react-native-segmented-control/segmented-control/-/segmented-control-2.4.1.tgz",
+ "integrity": "sha512-c8Q7TP14CD6vJ38VO5SWoIcxfwLPIz/4zRKJnJOJ0xKkMxkrUu089m86Y0dSvo+T3c1NQyvBFRtKWrPqbqG6tg==",
"peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ "react": ">=16.0",
+ "react-native": ">=0.62"
}
},
- "node_modules/@react-types/menu": {
- "version": "3.9.5",
- "resolved": "https://registry.npmjs.org/@react-types/menu/-/menu-3.9.5.tgz",
- "integrity": "sha512-KB5lJM0p9PxwpVlHV9sRdpjh+sqINeHrJgGizy/cQI9bj26nupiEgamSD14dULNI6BFT9DkgKCsobBtE04DDKQ==",
- "dependencies": {
- "@react-types/overlays": "^3.8.3",
- "@react-types/shared": "^3.21.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
- }
+ "node_modules/@react-native/assets-registry": {
+ "version": "0.72.0",
+ "resolved": "https://registry.npmjs.org/@react-native/assets-registry/-/assets-registry-0.72.0.tgz",
+ "integrity": "sha512-Im93xRJuHHxb1wniGhBMsxLwcfzdYreSZVQGDoMJgkd6+Iky61LInGEHnQCTN0fKNYF1Dvcofb4uMmE1RQHXHQ=="
},
- "node_modules/@react-types/numberfield": {
- "version": "3.6.1",
- "resolved": "https://registry.npmjs.org/@react-types/numberfield/-/numberfield-3.6.1.tgz",
- "integrity": "sha512-jdMCN0mQ7eZkPrCKYkkG+jSjcG2VQ5P7mR9tTaCQeQK1wo+tF/8LWD+6n6dU7hH/qlU9sxVEg3U3kJ9sgNK+Hw==",
+ "node_modules/@react-native/codegen": {
+ "version": "0.72.7",
+ "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.72.7.tgz",
+ "integrity": "sha512-O7xNcGeXGbY+VoqBGNlZ3O05gxfATlwE1Q1qQf5E38dK+tXn5BY4u0jaQ9DPjfE8pBba8g/BYI1N44lynidMtg==",
"dependencies": {
- "@react-types/shared": "^3.21.0"
+ "@babel/parser": "^7.20.0",
+ "flow-parser": "^0.206.0",
+ "jscodeshift": "^0.14.0",
+ "nullthrows": "^1.1.1"
},
"peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ "@babel/preset-env": "^7.1.6"
}
},
- "node_modules/@react-types/overlays": {
- "version": "3.8.3",
- "resolved": "https://registry.npmjs.org/@react-types/overlays/-/overlays-3.8.3.tgz",
- "integrity": "sha512-TrCG2I2+V+TD0PGi3CqfnyU5jEzcelSGgYJQvVxsl5Vv3ri7naBLIsOjF9x66tPxhINLCPUtOze/WYRAexp8aw==",
- "dependencies": {
- "@react-types/shared": "^3.21.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
- }
+ "node_modules/@react-native/gradle-plugin": {
+ "version": "0.72.11",
+ "resolved": "https://registry.npmjs.org/@react-native/gradle-plugin/-/gradle-plugin-0.72.11.tgz",
+ "integrity": "sha512-P9iRnxiR2w7EHcZ0mJ+fmbPzMby77ZzV6y9sJI3lVLJzF7TLSdbwcQyD3lwMsiL+q5lKUHoZJS4sYmih+P2HXw=="
},
- "node_modules/@react-types/radio": {
- "version": "3.5.2",
- "resolved": "https://registry.npmjs.org/@react-types/radio/-/radio-3.5.2.tgz",
- "integrity": "sha512-crYQ+97abd5v0Iw9X+Tt+E7KWdm5ckr4g0+Iy8byV1g6MyiBOsNtq9QT99TOzyWJPqqD8T9qZfAOk49wK7KEDg==",
+ "node_modules/@react-native/js-polyfills": {
+ "version": "0.72.1",
+ "resolved": "https://registry.npmjs.org/@react-native/js-polyfills/-/js-polyfills-0.72.1.tgz",
+ "integrity": "sha512-cRPZh2rBswFnGt5X5EUEPs0r+pAsXxYsifv/fgy9ZLQokuT52bPH+9xjDR+7TafRua5CttGW83wP4TntRcWNDA=="
+ },
+ "node_modules/@react-native/normalize-color": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/@react-native/normalize-color/-/normalize-color-2.1.0.tgz",
+ "integrity": "sha512-Z1jQI2NpdFJCVgpY+8Dq/Bt3d+YUi1928Q+/CZm/oh66fzM0RUl54vvuXlPJKybH4pdCZey1eDTPaLHkMPNgWA=="
+ },
+ "node_modules/@react-native/normalize-colors": {
+ "version": "0.72.0",
+ "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.72.0.tgz",
+ "integrity": "sha512-285lfdqSXaqKuBbbtP9qL2tDrfxdOFtIMvkKadtleRQkdOxx+uzGvFr82KHmc/sSiMtfXGp7JnFYWVh4sFl7Yw=="
+ },
+ "node_modules/@react-native/virtualized-lists": {
+ "version": "0.72.8",
+ "resolved": "https://registry.npmjs.org/@react-native/virtualized-lists/-/virtualized-lists-0.72.8.tgz",
+ "integrity": "sha512-J3Q4Bkuo99k7mu+jPS9gSUSgq+lLRSI/+ahXNwV92XgJ/8UgOTxu2LPwhJnBk/sQKxq7E8WkZBnBiozukQMqrw==",
"dependencies": {
- "@react-types/shared": "^3.21.0"
+ "invariant": "^2.2.4",
+ "nullthrows": "^1.1.1"
},
"peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ "react-native": "*"
}
},
- "node_modules/@react-types/searchfield": {
- "version": "3.5.1",
- "resolved": "https://registry.npmjs.org/@react-types/searchfield/-/searchfield-3.5.1.tgz",
- "integrity": "sha512-+v9fo50JrZOfFzbdgJsW39hyTFv1gVH458nx82aidYJzQocFJniiAEl0ZhhRzbE8RijyjLleKIAY+klPeFmEaQ==",
+ "node_modules/@react-navigation/bottom-tabs": {
+ "version": "6.5.9",
+ "resolved": "https://registry.npmjs.org/@react-navigation/bottom-tabs/-/bottom-tabs-6.5.9.tgz",
+ "integrity": "sha512-366D4pwq41qKqzsrEk3OPW9atTQJrfrLHPJhX3NLOinRIuDrxal1jJwN3vzNZoEg7gIEKaPYckuqUKg0zRFdog==",
"dependencies": {
- "@react-types/shared": "^3.21.0",
- "@react-types/textfield": "^3.8.1"
+ "@react-navigation/elements": "^1.3.19",
+ "color": "^4.2.3",
+ "warn-once": "^0.1.0"
},
"peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ "@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-types/select": {
- "version": "3.8.4",
- "resolved": "https://registry.npmjs.org/@react-types/select/-/select-3.8.4.tgz",
- "integrity": "sha512-jHBaLiAHTcYPz52kuJpypBbR0WAA+YCZHy2HH+W8711HuTqePZCEp6QAWHK9Fw0qwSZQ052jYaWvOsgEZZ6ojQ==",
+ "node_modules/@react-navigation/core": {
+ "version": "6.4.9",
+ "resolved": "https://registry.npmjs.org/@react-navigation/core/-/core-6.4.9.tgz",
+ "integrity": "sha512-G9GH7bP9x0qqupxZnkSftnkn4JoXancElTvFc8FVGfEvxnxP+gBo3wqcknyBi7M5Vad4qecsYjCOa9wqsftv9g==",
"dependencies": {
- "@react-types/shared": "^3.21.0"
+ "@react-navigation/routers": "^6.1.9",
+ "escape-string-regexp": "^4.0.0",
+ "nanoid": "^3.1.23",
+ "query-string": "^7.1.3",
+ "react-is": "^16.13.0",
+ "use-latest-callback": "^0.1.5"
},
"peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
- }
- },
- "node_modules/@react-types/shared": {
- "version": "3.21.0",
- "resolved": "https://registry.npmjs.org/@react-types/shared/-/shared-3.21.0.tgz",
- "integrity": "sha512-wJA2cUF8dP4LkuNUt9Vh2kkfiQb2NLnV2pPXxVnKJZ7d4x2/7VPccN+LYPnH8m0X3+rt50cxWuPKQmjxSsCFOg==",
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ "react": "*"
}
},
- "node_modules/@react-types/slider": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/@react-types/slider/-/slider-3.6.2.tgz",
- "integrity": "sha512-LSvna1gpOvBxOBI5I/CYEtkAshWYwPlxE9F/jCaxCa9Q7E9xZp1hFFGY87iQ1A3vQM5SCa5PFStwOvXO7rA55w==",
- "dependencies": {
- "@react-types/shared": "^3.21.0"
+ "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"
},
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@react-types/switch": {
- "version": "3.4.2",
- "resolved": "https://registry.npmjs.org/@react-types/switch/-/switch-3.4.2.tgz",
- "integrity": "sha512-OQWpawikWhF+ET1/kE0/JeJVr6gHjkR72p/idTsT7RUJySBcehhAscbIA8iWzVWJvdFCVF2hG7uzBAJTeDMr9A==",
- "dependencies": {
- "@react-types/checkbox": "^3.5.2",
- "@react-types/shared": "^3.21.0"
- },
+ "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",
+ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
+ },
+ "node_modules/@react-navigation/elements": {
+ "version": "1.3.19",
+ "resolved": "https://registry.npmjs.org/@react-navigation/elements/-/elements-1.3.19.tgz",
+ "integrity": "sha512-7hLvSYKPuDS070pza5gd43WDX7QgfuEmuTWNbCJhKdWlLudYmq3qzxGCBwCfO2dEI6+p8tla5wruaWiGKAbTYw==",
"peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ "@react-navigation/native": "^6.0.0",
+ "react": "*",
+ "react-native": "*",
+ "react-native-safe-area-context": ">= 3.0.0"
}
},
- "node_modules/@react-types/table": {
- "version": "3.9.0",
- "resolved": "https://registry.npmjs.org/@react-types/table/-/table-3.9.0.tgz",
- "integrity": "sha512-WOLxZ3tzLA4gxRxvnsZhnnQDbh4Qe/johpHNk4coSOFOP5W8PbunPacXnbvdPkSx6rqrOIzCnYcZCtgk4gDQmg==",
+ "node_modules/@react-navigation/native": {
+ "version": "6.1.8",
+ "resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-6.1.8.tgz",
+ "integrity": "sha512-0alti852nV+8oCVm9H80G6kZvrHoy51+rXBvVCRUs2rNDDozC/xPZs8tyeCJkqdw3cpxZDK8ndXF22uWq28+0Q==",
"dependencies": {
- "@react-types/grid": "^3.2.2",
- "@react-types/shared": "^3.21.0"
+ "@react-navigation/core": "^6.4.9",
+ "escape-string-regexp": "^4.0.0",
+ "fast-deep-equal": "^3.1.3",
+ "nanoid": "^3.1.23"
},
"peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ "react": "*",
+ "react-native": "*"
}
},
- "node_modules/@react-types/tabs": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/@react-types/tabs/-/tabs-3.3.3.tgz",
- "integrity": "sha512-Zc4g5TIwJpKS5fiT9m4dypbCr1xqtauL4wqM76fGERCAZy0FwXTH/yjzHJDYKyWFJrQNWtJ0KAhJR/ZqKDVnIw==",
+ "node_modules/@react-navigation/native-stack": {
+ "version": "6.9.14",
+ "resolved": "https://registry.npmjs.org/@react-navigation/native-stack/-/native-stack-6.9.14.tgz",
+ "integrity": "sha512-7RiZkvMFN6f0kmANc63B/0m9ttQ2JpDIPWQwPU93FP698s19KTOyu7uxgl7Oi3bvsqHFO5JfiR7B+4h8lh9dxw==",
"dependencies": {
- "@react-types/shared": "^3.21.0"
+ "@react-navigation/elements": "^1.3.19",
+ "warn-once": "^0.1.0"
},
"peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ "@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-types/textfield": {
- "version": "3.8.1",
- "resolved": "https://registry.npmjs.org/@react-types/textfield/-/textfield-3.8.1.tgz",
- "integrity": "sha512-p8Xmew9kzJd+tCM7h9LyebZHpv7SH1IE1Nu13hLCOV5cZ/tVVVCwjNGLMv4MtUpSn++H42YLJgAW9Uif+a+RHg==",
- "dependencies": {
- "@react-types/shared": "^3.21.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"
},
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@react-types/tooltip": {
- "version": "3.4.5",
- "resolved": "https://registry.npmjs.org/@react-types/tooltip/-/tooltip-3.4.5.tgz",
- "integrity": "sha512-pv87Vlu+Pn1Titw199y5aiSuXF/GHX+fBCihi9BeePqtwYm505e/Si01BNh5ejCeXXOS4JIMuXwmGGzGVdGk6Q==",
+ "node_modules/@react-navigation/routers": {
+ "version": "6.1.9",
+ "resolved": "https://registry.npmjs.org/@react-navigation/routers/-/routers-6.1.9.tgz",
+ "integrity": "sha512-lTM8gSFHSfkJvQkxacGM6VJtBt61ip2XO54aNfswD+KMw6eeZ4oehl7m0me3CR9hnDE4+60iAZR8sAhvCiI3NA==",
"dependencies": {
- "@react-types/overlays": "^3.8.3",
- "@react-types/shared": "^3.21.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ "nanoid": "^3.1.23"
}
},
"node_modules/@segment/loosely-validate-event": {
@@ -8586,14 +6870,6 @@
"@sinonjs/commons": "^3.0.0"
}
},
- "node_modules/@swc/helpers": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.2.tgz",
- "integrity": "sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==",
- "dependencies": {
- "tslib": "^2.4.0"
- }
- },
"node_modules/@taoqf/react-native-mqtt": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/@taoqf/react-native-mqtt/-/react-native-mqtt-3.0.4.tgz",
@@ -8739,16 +7015,6 @@
"@types/react": "*"
}
},
- "node_modules/@types/react-native": {
- "version": "0.72.3",
- "resolved": "https://registry.npmjs.org/@types/react-native/-/react-native-0.72.3.tgz",
- "integrity": "sha512-9+g+DBJIY3bG7+ZlYzKPr9kxTQxUuZQgLWZhYK4RlIcrsm3qaJhL2PU2e/K4CjnzznWCo2Islgec94x2z1pG4Q==",
- "peer": true,
- "dependencies": {
- "@react-native/virtualized-lists": "^0.72.4",
- "@types/react": "*"
- }
- },
"node_modules/@types/scheduler": {
"version": "0.16.4",
"resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.4.tgz",
@@ -8759,16 +7025,6 @@
"resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz",
"integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw=="
},
- "node_modules/@types/strip-bom": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@types/strip-bom/-/strip-bom-3.0.0.tgz",
- "integrity": "sha512-xevGOReSYGM7g/kUBZzPqCrR/KYAo+F0yiPc85WFTJa0MSLtyFTVTU6cJu/aV4mid7IffDIWqo69THF2o4JiEQ=="
- },
- "node_modules/@types/strip-json-comments": {
- "version": "0.0.30",
- "resolved": "https://registry.npmjs.org/@types/strip-json-comments/-/strip-json-comments-0.0.30.tgz",
- "integrity": "sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ=="
- },
"node_modules/@types/yargs": {
"version": "15.0.16",
"resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.16.tgz",
@@ -9467,15 +7723,6 @@
"node": ">=0.6"
}
},
- "node_modules/binary-extensions": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
- "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
- "peer": true,
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/bl": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
@@ -9814,24 +8061,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/camelcase-css": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz",
- "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==",
- "peer": true,
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/camelize": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz",
- "integrity": "sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==",
- "peer": true,
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
"node_modules/caniuse-lite": {
"version": "1.0.30001543",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001543.tgz",
@@ -9872,33 +8101,6 @@
"node": "*"
}
},
- "node_modules/chokidar": {
- "version": "3.5.3",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
- "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
- "funding": [
- {
- "type": "individual",
- "url": "https://paulmillr.com/funding/"
- }
- ],
- "peer": true,
- "dependencies": {
- "anymatch": "~3.1.2",
- "braces": "~3.0.2",
- "glob-parent": "~5.1.2",
- "is-binary-path": "~2.1.0",
- "is-glob": "~4.0.1",
- "normalize-path": "~3.0.0",
- "readdirp": "~3.6.0"
- },
- "engines": {
- "node": ">= 8.10.0"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.2"
- }
- },
"node_modules/chownr": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
@@ -10004,14 +8206,6 @@
"node": ">=6"
}
},
- "node_modules/clsx": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz",
- "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==",
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/color": {
"version": "4.2.3",
"resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz",
@@ -10309,29 +8503,16 @@
"node": ">=8"
}
},
- "node_modules/css-color-keywords": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz",
- "integrity": "sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==",
- "peer": true,
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/css-in-js-utils": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/css-in-js-utils/-/css-in-js-utils-3.1.0.tgz",
"integrity": "sha512-fJAcud6B3rRu+KHYk+Bwf+WFL2MDCJJ1XG9x137tJQ0xYxor7XziQtuGFbWNdqrvF4Tk26O3H73nfVqXt/fW1A==",
+ "optional": true,
+ "peer": true,
"dependencies": {
"hyphenate-style-name": "^1.0.3"
}
},
- "node_modules/css-mediaquery": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/css-mediaquery/-/css-mediaquery-0.1.2.tgz",
- "integrity": "sha512-COtn4EROW5dBGlE/4PiKnh6rZpAPxDeFLaEEwt4i10jpDMFt2EhQGS79QmmrO+iKCHv0PU/HrOWEhijFd1x99Q==",
- "peer": true
- },
"node_modules/css-select": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz",
@@ -10347,17 +8528,6 @@
"url": "https://github.com/sponsors/fb55"
}
},
- "node_modules/css-to-react-native": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.2.0.tgz",
- "integrity": "sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==",
- "peer": true,
- "dependencies": {
- "camelize": "^1.0.0",
- "css-color-keywords": "^1.0.0",
- "postcss-value-parser": "^4.0.2"
- }
- },
"node_modules/css-tree": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz",
@@ -10389,18 +8559,6 @@
"url": "https://github.com/sponsors/fb55"
}
},
- "node_modules/cssesc": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
- "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
- "peer": true,
- "bin": {
- "cssesc": "bin/cssesc"
- },
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/csstype": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz",
@@ -10627,12 +8785,6 @@
"node": ">=0.10"
}
},
- "node_modules/didyoumean": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
- "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==",
- "peer": true
- },
"node_modules/dir-glob": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
@@ -10644,21 +8796,6 @@
"node": ">=8"
}
},
- "node_modules/dlv": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz",
- "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==",
- "peer": true
- },
- "node_modules/dom-helpers": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz",
- "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==",
- "dependencies": {
- "@babel/runtime": "^7.8.7",
- "csstype": "^3.0.2"
- }
- },
"node_modules/dom-serializer": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz",
@@ -11220,10 +9357,13 @@
"expo": "*"
}
},
- "node_modules/expo-linear-gradient": {
- "version": "12.3.0",
- "resolved": "https://registry.npmjs.org/expo-linear-gradient/-/expo-linear-gradient-12.3.0.tgz",
- "integrity": "sha512-f9e+Oxe5z7fNQarTBZXilMyswlkbYWQHONVfq8MqmiEnW3h9XsxxmVJLG8uVQSQPUsbW+x1UUT/tnU6mkMWeLg==",
+ "node_modules/expo-localization": {
+ "version": "14.3.0",
+ "resolved": "https://registry.npmjs.org/expo-localization/-/expo-localization-14.3.0.tgz",
+ "integrity": "sha512-TML3TeVtwpfuSNwbhBspC9XsGJaa0TWJNh+UaR/35YP9fQiaJfVWUMSrAq84ba6rY1Pm3kti07LV8UUa505oqg==",
+ "dependencies": {
+ "rtl-detect": "^1.0.2"
+ },
"peerDependencies": {
"expo": "*"
}
@@ -11735,7 +9875,9 @@
"node_modules/fast-loops": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/fast-loops/-/fast-loops-1.1.3.tgz",
- "integrity": "sha512-8EZzEP0eKkEEVX+drtd9mtuQ+/QrlfW/5MlwcwK5Nds6EkZ/tRzEexkzUY2mIssnAyVLT+TKHuRXmFNNXYUd6g=="
+ "integrity": "sha512-8EZzEP0eKkEEVX+drtd9mtuQ+/QrlfW/5MlwcwK5Nds6EkZ/tRzEexkzUY2mIssnAyVLT+TKHuRXmFNNXYUd6g==",
+ "optional": true,
+ "peer": true
},
"node_modules/fast-xml-parser": {
"version": "4.3.2",
@@ -12445,6 +10587,14 @@
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
},
+ "node_modules/html-parse-stringify": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz",
+ "integrity": "sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==",
+ "dependencies": {
+ "void-elements": "3.1.0"
+ }
+ },
"node_modules/http-errors": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
@@ -12493,11 +10643,35 @@
"node": ">=10.17.0"
}
},
- "node_modules/hyphenate-style-name": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz",
- "integrity": "sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ=="
- },
+ "node_modules/hyphenate-style-name": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz",
+ "integrity": "sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==",
+ "optional": true,
+ "peer": true
+ },
+ "node_modules/i18next": {
+ "version": "23.7.1",
+ "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.7.1.tgz",
+ "integrity": "sha512-lD2lZkdhb9jnIGGc2ja8ER6cGStgJ+jFVL336Sa1C37//2Q8odC617ek2oafYbbs0/a+BbUqKe5JPST2r88UEQ==",
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://locize.com"
+ },
+ {
+ "type": "individual",
+ "url": "https://locize.com/i18next.html"
+ },
+ {
+ "type": "individual",
+ "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project"
+ }
+ ],
+ "dependencies": {
+ "@babel/runtime": "^7.23.2"
+ }
+ },
"node_modules/iconv-lite": {
"version": "0.4.24",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
@@ -12702,6 +10876,8 @@
"version": "6.0.4",
"resolved": "https://registry.npmjs.org/inline-style-prefixer/-/inline-style-prefixer-6.0.4.tgz",
"integrity": "sha512-FwXmZC2zbeeS7NzGjJ6pAiqRhXR0ugUShSNb6GApMl6da0/XGc4MOJsoWAywia52EEWbXNSy0pzkwz/+Y+swSg==",
+ "optional": true,
+ "peer": true,
"dependencies": {
"css-in-js-utils": "^3.1.0",
"fast-loops": "^1.1.3"
@@ -12728,17 +10904,6 @@
"node": ">=10.13.0"
}
},
- "node_modules/intl-messageformat": {
- "version": "10.5.3",
- "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.5.3.tgz",
- "integrity": "sha512-TzKn1uhJBMyuKTO4zUX47SU+d66fu1W9tVzIiZrQ6hBqQQeYscBMIzKL/qEXnFbJrH9uU5VV3+T5fWib4SIcKA==",
- "dependencies": {
- "@formatjs/ecma402-abstract": "1.17.2",
- "@formatjs/fast-memoize": "2.2.0",
- "@formatjs/icu-messageformat-parser": "2.6.2",
- "tslib": "^2.4.0"
- }
- },
"node_modules/invariant": {
"version": "2.2.4",
"resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
@@ -12800,18 +10965,6 @@
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
"integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg=="
},
- "node_modules/is-binary-path": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
- "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
- "peer": true,
- "dependencies": {
- "binary-extensions": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/is-buffer": {
"version": "1.1.6",
"resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
@@ -12995,6 +11148,14 @@
"node": ">=8"
}
},
+ "node_modules/is-plain-obj": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
+ "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/is-plain-object": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
@@ -13743,15 +11904,6 @@
"resolved": "https://registry.npmjs.org/jimp-compact/-/jimp-compact-0.16.1.tgz",
"integrity": "sha512-dZ6Ra7u1G8c4Letq/B5EzAxj4tLFHL+cGtdpR+PVm4yzPDj+lCk+AbivWt1eOM+ikzkowtyV7qSqX6qr3t71Ww=="
},
- "node_modules/jiti": {
- "version": "1.20.0",
- "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.20.0.tgz",
- "integrity": "sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA==",
- "peer": true,
- "bin": {
- "jiti": "bin/jiti.js"
- }
- },
"node_modules/joi": {
"version": "17.10.2",
"resolved": "https://registry.npmjs.org/joi/-/joi-17.10.2.tgz",
@@ -13991,15 +12143,6 @@
"node": ">=6"
}
},
- "node_modules/legacy-swc-helpers": {
- "name": "@swc/helpers",
- "version": "0.4.14",
- "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.14.tgz",
- "integrity": "sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==",
- "dependencies": {
- "tslib": "^2.4.0"
- }
- },
"node_modules/leven": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
@@ -14185,15 +12328,6 @@
"url": "https://opencollective.com/parcel"
}
},
- "node_modules/lilconfig": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz",
- "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==",
- "peer": true,
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/lines-and-columns": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
@@ -14532,6 +12666,17 @@
"resolved": "https://registry.npmjs.org/memory-cache/-/memory-cache-0.2.0.tgz",
"integrity": "sha512-OcjA+jzjOYzKmKS6IQVALHLVz+rNTMPoJvCztFaZxwG14wtAW7VRZjwTQu06vKCYOxh4jVnik7ya0SXTB0W+xA=="
},
+ "node_modules/merge-options": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-3.0.4.tgz",
+ "integrity": "sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==",
+ "dependencies": {
+ "is-plain-obj": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/merge-stream": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
@@ -15459,65 +13604,6 @@
"node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
}
},
- "node_modules/nativewind": {
- "version": "2.0.11",
- "resolved": "https://registry.npmjs.org/nativewind/-/nativewind-2.0.11.tgz",
- "integrity": "sha512-qCEXUwKW21RYJ33KRAJl3zXq2bCq82WoI564fI21D/TiqhfmstZOqPN53RF8qK1NDK6PGl56b2xaTxgObEePEg==",
- "peer": true,
- "dependencies": {
- "@babel/generator": "^7.18.7",
- "@babel/helper-module-imports": "7.18.6",
- "@babel/types": "7.19.0",
- "css-mediaquery": "^0.1.2",
- "css-to-react-native": "^3.0.0",
- "micromatch": "^4.0.5",
- "postcss": "^8.4.12",
- "postcss-calc": "^8.2.4",
- "postcss-color-functional-notation": "^4.2.2",
- "postcss-css-variables": "^0.18.0",
- "postcss-nested": "^5.0.6",
- "react-is": "^18.1.0",
- "use-sync-external-store": "^1.1.0"
- },
- "engines": {
- "node": ">=14.18"
- },
- "peerDependencies": {
- "tailwindcss": "~3"
- }
- },
- "node_modules/nativewind/node_modules/@babel/helper-module-imports": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz",
- "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==",
- "peer": true,
- "dependencies": {
- "@babel/types": "^7.18.6"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/nativewind/node_modules/@babel/types": {
- "version": "7.19.0",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.0.tgz",
- "integrity": "sha512-YuGopBq3ke25BVSiS6fgF49Ul9gH1x70Bcr6bqRLjWCkcX8Hre1/5+z+IiWOIerRMSSEfGZVB9z9kyq7wVs9YA==",
- "peer": true,
- "dependencies": {
- "@babel/helper-string-parser": "^7.18.10",
- "@babel/helper-validator-identifier": "^7.18.6",
- "to-fast-properties": "^2.0.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/nativewind/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==",
- "peer": true
- },
"node_modules/ncp": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz",
@@ -15628,11 +13714,6 @@
"url": "https://github.com/sponsors/antelle"
}
},
- "node_modules/normalize-css-color": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/normalize-css-color/-/normalize-css-color-1.0.2.tgz",
- "integrity": "sha512-jPJ/V7Cp1UytdidsPqviKEElFQJs22hUUgK5BOPHTwOonNCk7/2qOxhhqzEajmFrWJowADFfOFh1V+aWkRfy+w=="
- },
"node_modules/normalize-path": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
@@ -15703,15 +13784,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/object-hash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
- "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==",
- "peer": true,
- "engines": {
- "node": ">= 6"
- }
- },
"node_modules/object-inspect": {
"version": "1.12.3",
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz",
@@ -16300,153 +14372,11 @@
"node": "^10 || ^12 || >=14"
}
},
- "node_modules/postcss-calc": {
- "version": "8.2.4",
- "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz",
- "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==",
- "peer": true,
- "dependencies": {
- "postcss-selector-parser": "^6.0.9",
- "postcss-value-parser": "^4.2.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.2"
- }
- },
- "node_modules/postcss-color-functional-notation": {
- "version": "4.2.4",
- "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz",
- "integrity": "sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==",
- "peer": true,
- "dependencies": {
- "postcss-value-parser": "^4.2.0"
- },
- "engines": {
- "node": "^12 || ^14 || >=16"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
- },
- "peerDependencies": {
- "postcss": "^8.2"
- }
- },
- "node_modules/postcss-css-variables": {
- "version": "0.18.0",
- "resolved": "https://registry.npmjs.org/postcss-css-variables/-/postcss-css-variables-0.18.0.tgz",
- "integrity": "sha512-lYS802gHbzn1GI+lXvy9MYIYDuGnl1WB4FTKoqMQqJ3Mab09A7a/1wZvGTkCEZJTM8mSbIyb1mJYn8f0aPye0Q==",
- "peer": true,
- "dependencies": {
- "balanced-match": "^1.0.0",
- "escape-string-regexp": "^1.0.3",
- "extend": "^3.0.1"
- },
- "peerDependencies": {
- "postcss": "^8.2.6"
- }
- },
- "node_modules/postcss-import": {
- "version": "15.1.0",
- "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz",
- "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==",
- "peer": true,
- "dependencies": {
- "postcss-value-parser": "^4.0.0",
- "read-cache": "^1.0.0",
- "resolve": "^1.1.7"
- },
- "engines": {
- "node": ">=14.0.0"
- },
- "peerDependencies": {
- "postcss": "^8.0.0"
- }
- },
- "node_modules/postcss-js": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz",
- "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==",
- "peer": true,
- "dependencies": {
- "camelcase-css": "^2.0.1"
- },
- "engines": {
- "node": "^12 || ^14 || >= 16"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- "peerDependencies": {
- "postcss": "^8.4.21"
- }
- },
- "node_modules/postcss-load-config": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz",
- "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==",
- "peer": true,
- "dependencies": {
- "lilconfig": "^2.0.5",
- "yaml": "^2.1.1"
- },
- "engines": {
- "node": ">= 14"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- "peerDependencies": {
- "postcss": ">=8.0.9",
- "ts-node": ">=9.0.0"
- },
- "peerDependenciesMeta": {
- "postcss": {
- "optional": true
- },
- "ts-node": {
- "optional": true
- }
- }
- },
- "node_modules/postcss-nested": {
- "version": "5.0.6",
- "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.6.tgz",
- "integrity": "sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==",
- "peer": true,
- "dependencies": {
- "postcss-selector-parser": "^6.0.6"
- },
- "engines": {
- "node": ">=12.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- "peerDependencies": {
- "postcss": "^8.2.14"
- }
- },
- "node_modules/postcss-selector-parser": {
- "version": "6.0.13",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz",
- "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==",
- "peer": true,
- "dependencies": {
- "cssesc": "^3.0.0",
- "util-deprecate": "^1.0.2"
- },
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/postcss-value-parser": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
"integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
+ "optional": true,
"peer": true
},
"node_modules/pretty-bytes": {
@@ -16801,6 +14731,27 @@
"react": ">=17.0.0"
}
},
+ "node_modules/react-i18next": {
+ "version": "13.3.1",
+ "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-13.3.1.tgz",
+ "integrity": "sha512-JAtYREK879JXaN9GdzfBI4yJeo/XyLeXWUsRABvYXiFUakhZJ40l+kaTo+i+A/3cKIED41kS/HAbZ5BzFtq/Og==",
+ "dependencies": {
+ "@babel/runtime": "^7.22.5",
+ "html-parse-stringify": "^3.0.1"
+ },
+ "peerDependencies": {
+ "i18next": ">= 23.2.3",
+ "react": ">= 16.8.0"
+ },
+ "peerDependenciesMeta": {
+ "react-dom": {
+ "optional": true
+ },
+ "react-native": {
+ "optional": true
+ }
+ }
+ },
"node_modules/react-is": {
"version": "17.0.2",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
@@ -16991,6 +14942,7 @@
"version": "0.19.9",
"resolved": "https://registry.npmjs.org/react-native-web/-/react-native-web-0.19.9.tgz",
"integrity": "sha512-m69arZbS6FV+BNSKE6R/NQwUX+CzxCkYM7AJlSLlS8dz3BDzlaxG8Bzqtzv/r3r1YFowhnZLBXVKIwovKDw49g==",
+ "optional": true,
"peer": true,
"dependencies": {
"@babel/runtime": "^7.18.6",
@@ -17011,6 +14963,7 @@
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz",
"integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==",
+ "optional": true,
"peer": true
},
"node_modules/react-native/node_modules/promise": {
@@ -17054,56 +15007,6 @@
"react": "^16.0.0 || ^17.0.0 || ^18.0.0"
}
},
- "node_modules/react-stately": {
- "version": "3.27.0",
- "resolved": "https://registry.npmjs.org/react-stately/-/react-stately-3.27.0.tgz",
- "integrity": "sha512-C5ubKP33M3SmilXYv2vHYgfSLsOM0jlZ8y1KyEKWeJzN4yxy0sGku2SRUpUWTDdncB5lOeLE21EZBJVz71wePA==",
- "dependencies": {
- "@react-stately/calendar": "^3.4.1",
- "@react-stately/checkbox": "^3.5.1",
- "@react-stately/collections": "^3.10.2",
- "@react-stately/combobox": "^3.7.1",
- "@react-stately/data": "^3.10.3",
- "@react-stately/datepicker": "^3.8.0",
- "@react-stately/dnd": "^3.2.5",
- "@react-stately/list": "^3.10.0",
- "@react-stately/menu": "^3.5.6",
- "@react-stately/numberfield": "^3.6.2",
- "@react-stately/overlays": "^3.6.3",
- "@react-stately/radio": "^3.9.1",
- "@react-stately/searchfield": "^3.4.6",
- "@react-stately/select": "^3.5.5",
- "@react-stately/selection": "^3.14.0",
- "@react-stately/slider": "^3.4.3",
- "@react-stately/table": "^3.11.2",
- "@react-stately/tabs": "^3.6.1",
- "@react-stately/toggle": "^3.6.3",
- "@react-stately/tooltip": "^3.4.5",
- "@react-stately/tree": "^3.7.3",
- "@react-types/shared": "^3.21.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
- }
- },
- "node_modules/read-cache": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
- "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==",
- "peer": true,
- "dependencies": {
- "pify": "^2.3.0"
- }
- },
- "node_modules/read-cache/node_modules/pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
- "peer": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/readable-stream": {
"version": "2.3.8",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
@@ -17118,18 +15021,6 @@
"util-deprecate": "~1.0.1"
}
},
- "node_modules/readdirp": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
- "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
- "peer": true,
- "dependencies": {
- "picomatch": "^2.2.1"
- },
- "engines": {
- "node": ">=8.10.0"
- }
- },
"node_modules/readline": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/readline/-/readline-1.3.0.tgz",
@@ -17368,6 +15259,11 @@
"rimraf": "bin.js"
}
},
+ "node_modules/rtl-detect": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/rtl-detect/-/rtl-detect-1.1.2.tgz",
+ "integrity": "sha512-PGMBq03+TTG/p/cRB7HCLKJ1MgDIi07+QU1faSjiYRfmY5UsAttV9Hs08jDAHVwcOwmVLcSJkpwyfXszVjWfIQ=="
+ },
"node_modules/run-parallel": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
@@ -17897,14 +15793,6 @@
"node": ">=6"
}
},
- "node_modules/strip-bom": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
- "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/strip-eof": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
@@ -17943,6 +15831,7 @@
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/styleq/-/styleq-0.1.3.tgz",
"integrity": "sha512-3ZUifmCDCQanjeej1f6kyl/BeP/Vae5EYkQ9iJfUm/QwZvlgnZzyflqAsAWYURdtea8Vkvswu2GrC57h3qffcA==",
+ "optional": true,
"peer": true
},
"node_modules/sucrase": {
@@ -18084,80 +15973,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/tailwindcss": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.3.tgz",
- "integrity": "sha512-A0KgSkef7eE4Mf+nKJ83i75TMyq8HqY3qmFIJSWy8bNt0v1lG7jUcpGpoTFxAwYcWOphcTBLPPJg+bDfhDf52w==",
- "peer": true,
- "dependencies": {
- "@alloc/quick-lru": "^5.2.0",
- "arg": "^5.0.2",
- "chokidar": "^3.5.3",
- "didyoumean": "^1.2.2",
- "dlv": "^1.1.3",
- "fast-glob": "^3.2.12",
- "glob-parent": "^6.0.2",
- "is-glob": "^4.0.3",
- "jiti": "^1.18.2",
- "lilconfig": "^2.1.0",
- "micromatch": "^4.0.5",
- "normalize-path": "^3.0.0",
- "object-hash": "^3.0.0",
- "picocolors": "^1.0.0",
- "postcss": "^8.4.23",
- "postcss-import": "^15.1.0",
- "postcss-js": "^4.0.1",
- "postcss-load-config": "^4.0.1",
- "postcss-nested": "^6.0.1",
- "postcss-selector-parser": "^6.0.11",
- "resolve": "^1.22.2",
- "sucrase": "^3.32.0"
- },
- "bin": {
- "tailwind": "lib/cli.js",
- "tailwindcss": "lib/cli.js"
- },
- "engines": {
- "node": ">=14.0.0"
- }
- },
- "node_modules/tailwindcss/node_modules/arg": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz",
- "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==",
- "peer": true
- },
- "node_modules/tailwindcss/node_modules/glob-parent": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
- "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
- "peer": true,
- "dependencies": {
- "is-glob": "^4.0.3"
- },
- "engines": {
- "node": ">=10.13.0"
- }
- },
- "node_modules/tailwindcss/node_modules/postcss-nested": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz",
- "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==",
- "peer": true,
- "dependencies": {
- "postcss-selector-parser": "^6.0.11"
- },
- "engines": {
- "node": ">=12.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- "peerDependencies": {
- "postcss": "^8.2.14"
- }
- },
"node_modules/tapable": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
@@ -18471,17 +16286,6 @@
"resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz",
"integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA=="
},
- "node_modules/tsconfig": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/tsconfig/-/tsconfig-7.0.0.tgz",
- "integrity": "sha512-vZXmzPrL+EmC4T/4rVlT2jNVMWCi/O4DIiSj3UHg1OE5kCKbk4mfrXc6dZksLgRM/TZlKnousKH9bbTazUWRRw==",
- "dependencies": {
- "@types/strip-bom": "^3.0.0",
- "@types/strip-json-comments": "0.0.30",
- "strip-bom": "^3.0.0",
- "strip-json-comments": "^2.0.0"
- }
- },
"node_modules/tslib": {
"version": "2.6.2",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
@@ -18529,15 +16333,15 @@
"integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA=="
},
"node_modules/typescript": {
- "version": "4.9.5",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz",
- "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==",
+ "version": "5.2.2",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz",
+ "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==",
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
},
"engines": {
- "node": ">=4.2.0"
+ "node": ">=14.17"
}
},
"node_modules/ua-parser-js": {
@@ -18845,6 +16649,14 @@
"resolved": "https://registry.npmjs.org/vlq/-/vlq-1.0.1.tgz",
"integrity": "sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w=="
},
+ "node_modules/void-elements": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz",
+ "integrity": "sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/walker": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz",
diff --git a/app/JAM/package.json b/app/JAM/package.json
index d268317..29f305b 100755
--- a/app/JAM/package.json
+++ b/app/JAM/package.json
@@ -10,10 +10,9 @@
},
"dependencies": {
"@expo/vector-icons": "^13.0.0",
- "@gluestack-style/react": "^0.2.51",
- "@gluestack-ui/themed": "^0.1.55",
"@react-google-maps/api": "^2.19.2",
"@react-native-firebase/app": "^18.5.0",
+ "@react-native-picker/picker": "2.4.10",
"@react-native-segmented-control/segmented-control": "2.4.1",
"@react-navigation/bottom-tabs": "^6.5.9",
"@react-navigation/native": "^6.1.8",
@@ -29,12 +28,15 @@
"expo-device": "~5.4.0",
"expo-font": "^11.4.0",
"expo-image-picker": "~14.3.2",
+ "expo-localization": "~14.3.0",
"expo-location": "~16.1.0",
"expo-notifications": "~0.20.1",
"expo-status-bar": "~1.6.0",
"firebase": "^10.4.0",
"geolib": "^3.3.1",
+ "i18next": "^23.7.1",
"react": "18.2.0",
+ "react-i18next": "^13.3.1",
"react-native": "0.72.6",
"react-native-gesture-handler": "~2.12.0",
"react-native-maps": "1.7.1",
@@ -47,7 +49,9 @@
"react-native-svg": "13.9.0",
"react-native-uuid": "^2.0.1",
"url": "^0.11.3",
- "webpack": "^5.88.2"
+ "webpack": "^5.88.2",
+ "typescript": "^5.1.3",
+ "@react-native-async-storage/async-storage": "1.18.2"
},
"devDependencies": {
"@babel/core": "^7.20.0",
diff --git a/app/JAM/res/lang/en.json b/app/JAM/res/lang/en.json
new file mode 100644
index 0000000..87e1483
--- /dev/null
+++ b/app/JAM/res/lang/en.json
@@ -0,0 +1,50 @@
+{
+ "onboardingHeading1": "Welcome to JAM!",
+ "onboardingSubHeading1": "JAM is an app that helps you find parking",
+ "onboardingHeading2": "Check the map!",
+ "onboardingSubHeading2": "Keep track of parking availability in various streets across the city",
+ "onboardingHeading3": "Find parking!",
+ "onboardingSubHeading3": "Reach the point marked on the map and park your car",
+ "nextBtnOnboarding": "Next",
+ "backBtnOnboarding": "Back",
+ "emailPlaceHolder": "Email",
+ "passwordPlaceHolder": "Password",
+ "loginBtn": "Login",
+ "passwordForgotLink": "Forgot your password?",
+ "segmentControlLogin": "Login",
+ "segmentControlRegister": "Register",
+ "namePlaceHolder": "Name",
+ "confirmPasswordPlaceHolder": "Confirm password",
+ "profilePicPlaceHolder": "Profile picture",
+ "registerBtn": "Register",
+ "favouritesHeading": "Your favourites",
+ "profileHeading": "Your profile",
+ "settingsHeading": "Settings",
+ "feedHeading": "Your feed",
+ "nameLabel": "Name:",
+ "emailLabel": "Email address:",
+ "emailVerLabel": "Email verified:",
+ "statusLabel": "Status:",
+ "coordsLabel": "Coordinates",
+ "startLabel": "Start:",
+ "endLabel": "End:",
+ "freeStreet": "Free",
+ "almostFullStreet": "Almost full",
+ "fullStreet": "Full",
+ "isWithSpaces": " is ",
+ "languageLabel": "Language:",
+ "emptyFavourites": "Add your preferred streets to favourites for easy access and updates",
+ "freeStreetNotificationBody": "Good news, {{streetName}} is free!",
+ "almostfullStreetNotificationBody": "Hurry up! {{streetName}} is almost full",
+ "fullStreetNotificationBody": "No luck! {{streetName}} is full...",
+ "alreadyInUseEmail": "Email address is already in use by another account",
+ "invalidEmailAddress": "Invalid email address",
+ "weakPassword": "Password is too weak",
+ "incorrectPassword": "Wrong password",
+ "userNotFound": "User not found",
+ "userAccountDisabled": "User account is disabled",
+ "invalidCredentials": "Invalid credentials",
+ "allFields": "Fill all the fields",
+ "passwordDoNotMatch": "The passwords do not match",
+ "genericError": "An error occurred"
+}
diff --git a/app/JAM/res/lang/it.json b/app/JAM/res/lang/it.json
new file mode 100644
index 0000000..5a4d7be
--- /dev/null
+++ b/app/JAM/res/lang/it.json
@@ -0,0 +1,50 @@
+{
+ "onboardingHeading1": "Benvenuto in JAM!",
+ "onboardingSubHeading1": "JAM è un app che ti aiuta a trovare parcheggio",
+ "onboardingHeading2": "Controlla la mappa!",
+ "onboardingSubHeading2": "Tieni sotto controllo la situazione dei parcheggi nelle varie vie della città",
+ "onboardingHeading3": "Trova parcheggio!",
+ "onboardingSubHeading3": "Raggiungi il punto individuato dalla mappa e parcheggia la tua auto",
+ "nextBtnOnboarding": "Avanti",
+ "backBtnOnboarding": "Indietro",
+ "emailPlaceHolder": "Email",
+ "passwordPlaceHolder": "Password",
+ "loginBtn": "Login",
+ "passwordForgotLink": "Hai dimenticato la password?",
+ "segmentControlLogin": "Login",
+ "segmentControlRegister": "Registrati",
+ "namePlaceHolder": "Nome",
+ "confirmPasswordPlaceHolder": "Conferma password",
+ "profilePicPlaceHolder": "Immagine profilo",
+ "registerBtn": "Registrati",
+ "favouritesHeading": "I tuoi preferiti",
+ "profileHeading": "Il tuo profilo",
+ "settingsHeading": "Impostazioni",
+ "feedHeading": "Il tuo feed",
+ "nameLabel": "Nome:",
+ "emailLabel": "Indirizzo Email:",
+ "emailVerLabel": "Email verificata:",
+ "statusLabel": "Status:",
+ "coordsLabel": "Coordinate",
+ "startLabel": "Inizio:",
+ "endLabel": "Fine:",
+ "freeStreet": "Libera",
+ "almostFullStreet": "Quasi piena",
+ "fullStreet": "Piena",
+ "isWithSpaces": " è ",
+ "languageLabel": "Lingua:",
+ "emptyFavourites": "Aggiungi le strade ai preferiti per una visualizzazione rapida e ricevere aggiornamenti",
+ "freeStreetNotificationBody": "Buone notizie, {{streetName}} è libera!",
+ "almostFullStreetNotificationBody": "Sbrigati! {{streetName}} è quasi piena",
+ "fullStreetNotificationBody": "Niente da fare! {{streetName}} è piena...",
+ "alreadyInUseEmail": "Indirizzo email già in uso",
+ "invalidEmailAddress": "Indirizzo email non valido",
+ "weakPassword": "Password troppo debole",
+ "incorrectPassword": "Password sbagliata",
+ "userNotFound": "Utente non trovato",
+ "userAccountDisabled": "Account disabilitato",
+ "invalidCredentials": "Credenziali non valide",
+ "allFields": "Compilare tutti i campi",
+ "passwordDoNotMatch": "Le password non corrispondono",
+ "genericError": "Si è verificato un errore"
+}
diff --git a/app/JAM/services/AuthService.js b/app/JAM/services/AuthService.js
index b7f4483..dc0704f 100755
--- a/app/JAM/services/AuthService.js
+++ b/app/JAM/services/AuthService.js
@@ -3,20 +3,21 @@ import {getDownloadURL, ref, uploadBytes} from "firebase/storage";
import {FIREBASE_AUTH, FIREBASE_DB} from "../config/FirebaseConfig";
import uuid from "react-native-uuid";
import {createDefaultUserFields} from "./UserService";
+import i18n from "../services/i18n";
export async function signUp(auth, credentials, setCredentials, image, navigation) {
console.log(credentials);
if(credentials.password !== credentials.confirmPass) {
setCredentials({
...credentials,
- error: 'Le password non corrispondono'
+ error: i18n.t("passwordDoNotMatch")
})
return;
}
if(credentials.email === '' || credentials.password === '' || credentials.confirmPass === '' || credentials.displayName === '') {
setCredentials({
...credentials,
- error: 'Compilare tutti i campi'
+ error: i18n.t("allFields")
})
return;
}
@@ -29,10 +30,34 @@ export async function signUp(auth, credentials, setCredentials, image, navigatio
});
await createDefaultUserFields(FIREBASE_AUTH.currentUser.uid);
} catch (error) {
- setCredentials({
- ...credentials,
- error: error.message,
- })
+ console.log(error.code);
+ switch (error.code) {
+ case 'auth/email-already-in-use':
+ setCredentials({
+ ...credentials,
+ error: i18n.t("alreadyInUseEmail"),
+ });
+ break;
+ case 'auth/invalid-email':
+ setCredentials({
+ ...credentials,
+ error: i18n.t("invalidEmailAddress"),
+ });
+ break;
+ case 'auth/weak-password':
+ setCredentials({
+ ...credentials,
+ error: i18n.t("weakPassword"),
+ });
+ break;
+
+ default:
+ setCredentials({
+ ...credentials,
+ error: i18n.t("genericError"),
+ });
+ break;
+ }
}
}
@@ -40,7 +65,7 @@ export async function signIn(auth, credentials, setCredentials, navigation) {
if (credentials.email === "" || credentials.password === "") {
setCredentials({
...credentials,
- error: "La password e la mail sono obbligatorie",
+ error: i18n.t("allFields"),
});
return;
}
@@ -48,10 +73,46 @@ export async function signIn(auth, credentials, setCredentials, navigation) {
try {
await signInWithEmailAndPassword(auth, credentials.email, credentials.password);
} catch (error) {
- setCredentials({
- ...credentials,
- error: error.message,
- });
+ console.log(error.code);
+ switch (error.code) {
+ case "auth/invalid-email":
+ setCredentials({
+ ...credentials,
+ error: i18n.t("invalidEmailAddress"),
+ });
+ break;
+ case "auth/user-disabled":
+ setCredentials({
+ ...credentials,
+ error: i18n.t("userAccountDisabled"),
+ });
+ break;
+ case "auth/user-not-found":
+ setCredentials({
+ ...credentials,
+ error: i18n.t("userNotFound"),
+ });
+ break;
+ case "auth/wrong-password":
+ setCredentials({
+ ...credentials,
+ error: i18n.t("incorrectPassword"),
+ });
+ break;
+ case "auth/invalid-login-credentials":
+ setCredentials({
+ ...credentials,
+ error: i18n.t("invalidCredentials"),
+ });
+ break;
+
+ default:
+ setCredentials({
+ ...credentials,
+ error: i18n.t("genericError"),
+ });
+ break;
+ }
}
}
diff --git a/app/JAM/services/StreetService.js b/app/JAM/services/StreetService.js
index 3267566..0fcfc41 100644
--- a/app/JAM/services/StreetService.js
+++ b/app/JAM/services/StreetService.js
@@ -1,6 +1,8 @@
import {Text, View, StyleSheet} from "react-native";
import {FontAwesome5, Ionicons} from "@expo/vector-icons";
import {Colors} from "../res/Colors";
+import i18n from "i18next";
+
const styles = StyleSheet.create({
statusContainer: {
@@ -21,21 +23,21 @@ export function getStatusComponent(status) {
return(
- {"Libero"}
+ {i18n.t('freeStreet')}
)
} else if(status === 'almost full') {
return(
- {"Quasi pieno"}
+ {i18n.t('almostFullStreet')}
)
} else {
return(
- {"Pieno"}
+ {i18n.t('fullStreet')}
)
}
diff --git a/app/JAM/services/UserService.js b/app/JAM/services/UserService.js
index 9fa8a50..5f3dfb9 100644
--- a/app/JAM/services/UserService.js
+++ b/app/JAM/services/UserService.js
@@ -10,6 +10,7 @@ export async function createDefaultUserFields(userUUID) {
const usersRef = doc(FIREBASE_FIRESTORE, "users", userUUID);
try {
await setDoc(usersRef, {
+ language: "",
favourites: [],
notifications: {},
notificationsAlert: true
@@ -20,6 +21,31 @@ export async function createDefaultUserFields(userUUID) {
}
}
+export async function changeUserLanguagePref(value) {
+ const userRef = doc(FIREBASE_FIRESTORE, "users", FIREBASE_AUTH.currentUser.uid);
+ await updateDoc(userRef, {language: value});
+}
+
+export async function getUserLanguagePref() {
+ const currentUser= FIREBASE_AUTH.currentUser;
+ if (currentUser) {
+ try {
+ const userRef = doc(FIREBASE_FIRESTORE, "users", currentUser.uid);
+ const userDoc = await getDoc(userRef);
+ if (userDoc.exists()) {
+ const userData = userDoc.data();
+ return userData.language;
+ } else {
+ console.log("User document not found");
+ }
+ } catch (error) {
+ console.error("Error getting user document:", error);
+ }
+ } else {
+ console.log("No user is currently signed in.");
+ }
+}
+
export async function getUserNotificationsPref() {
const currentUser= FIREBASE_AUTH.currentUser;
if (currentUser) {
diff --git a/app/JAM/services/i18n.js b/app/JAM/services/i18n.js
new file mode 100644
index 0000000..6803cc4
--- /dev/null
+++ b/app/JAM/services/i18n.js
@@ -0,0 +1,19 @@
+import en from "../res/lang/en.json";
+import it from "../res/lang/it.json";
+import * as Localization from "expo-localization";
+import i18n from "i18next";
+import {initReactI18next} from "react-i18next";
+
+export const languageResources = {
+ en: {translation: en},
+ it: {translation: it}
+}
+
+i18n.use(initReactI18next).init({
+ compatibilityJSON: 'v3',
+ lng: Localization.locale,
+ fallbackLng: 'en',
+ resources: languageResources
+})
+
+export default i18n;