diff --git a/ios/GoogleService-Info.plist b/ios/GoogleService-Info.plist index f628dad6..0dee7f64 100644 --- a/ios/GoogleService-Info.plist +++ b/ios/GoogleService-Info.plist @@ -23,18 +23,18 @@ STORAGE_BUCKET khalis-sundar-gutka.appspot.com IS_ADS_ENABLED - + IS_ANALYTICS_ENABLED - + IS_APPINVITE_ENABLED - + IS_GCM_ENABLED - + IS_SIGNIN_ENABLED - + GOOGLE_APP_ID 1:283245223101:ios:d642e17fdae02f2f DATABASE_URL https://khalis-sundar-gutka.firebaseio.com - \ No newline at end of file + diff --git a/ios/Podfile.lock b/ios/Podfile.lock index be87585a..5bda6b59 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -201,9 +201,9 @@ PODS: - GoogleUtilities/MethodSwizzler - GoogleUtilities/UserDefaults (7.12.0): - GoogleUtilities/Logger - - hermes-engine (0.71.8): - - hermes-engine/Pre-built (= 0.71.8) - - hermes-engine/Pre-built (0.71.8) + - hermes-engine (0.71.18): + - hermes-engine/Pre-built (= 0.71.18) + - hermes-engine/Pre-built (0.71.18) - libevent (2.1.12) - nanopb (2.30909.1): - nanopb/decode (= 2.30909.1) @@ -857,7 +857,7 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/ReactCommon/yoga" SPEC CHECKSUMS: - boost: 57d2868c099736d80fcd648bf211b4431e51a558 + boost: 7dcd2de282d72e344012f7d6564d024930a6a440 CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99 DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54 FBLazyVector: 5f81939bc6d6bcd3e71bba3744753c2a88991395 @@ -885,7 +885,7 @@ SPEC CHECKSUMS: GoogleAppMeasurement: bb3c564c3efb933136af0e94899e0a46167466a8 GoogleDataTransport: 57c22343ab29bc686febbf7cbb13bad167c2d8fe GoogleUtilities: 0759d1a57ebb953965c2dfe0ba4c82e95ccc2e34 - hermes-engine: 47986d26692ae75ee7a17ab049caee8864f855de + hermes-engine: 251dcc3511fc68678e2ee96dd7d175d9489b781e libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 nanopb: d4d75c12cd1316f4a64e3c6963f879ecd4b5e0d5 OpenSSL-Universal: ebc357f1e6bc71fa463ccb2fe676756aff50e88c diff --git a/package.json b/package.json index 0616d846..3d80b81f 100644 --- a/package.json +++ b/package.json @@ -76,5 +76,6 @@ }, "jest": { "preset": "react-native" - } + }, + "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e" } diff --git a/src/ReaderScreen/components/header.jsx b/src/ReaderScreen/components/header.jsx index fd354f20..9776d276 100644 --- a/src/ReaderScreen/components/header.jsx +++ b/src/ReaderScreen/components/header.jsx @@ -6,82 +6,68 @@ import { useSelector } from "react-redux"; import colors from "@common/colors"; import { getHeaderStyles, styles } from "../styles/styles"; -const Header = React.forwardRef( - ({ navigation, title, handleBackPress, handleBookmarkPress, handleSettingsPress }, ref) => { - const isNightMode = useSelector((state) => state.isNightMode); - const getHeaderStyle = getHeaderStyles(isNightMode); - const [animationPosition] = useState(new Animated.Value(0)); +const Header = ({ + navigation, + title, + handleBackPress, + handleBookmarkPress, + handleSettingsPress, +}) => { + const isNightMode = useSelector((state) => state.isNightMode); + const getHeaderStyle = getHeaderStyles(isNightMode); + const [animationPosition] = useState(new Animated.Value(0)); + const headerLeft = () => { + return ( + { + handleBackPress(); + }} + color={colors.WHITE_COLOR} + /> + ); + }; + const headerRight = () => { + return ( + + - const headerLeft = () => { - return ( { - handleBackPress(); - }} - color={colors.WHITE_COLOR} + onPress={() => handleSettingsPress()} /> - ); - }; - const headerRight = () => { - return ( - - - handleSettingsPress()} - /> - - ); - }; - - useEffect(() => { - navigation.setOptions({ - headerShown: false, - }); - }, []); - const toggleHeader = (isHeader) => { - const value = isHeader ? 0 : -120; - Animated.timing(animationPosition, { - toValue: value, - duration: 500, - // easing: Easing.ease, - useNativeDriver: true, - }).start(); - }; + + ); + }; - React.useImperativeHandle(ref, () => ({ - toggle: toggleHeader, - })); + useEffect(() => { + navigation.setOptions({ + headerShown: false, + }); + }, []); - return ( - - - - {headerLeft()} - {title} - {headerRight()} - + return ( + + + + {headerLeft()} + {title} + {headerRight()} - - ); - } -); + + + ); +}; Header.propTypes = { navigation: PropTypes.shape().isRequired, diff --git a/src/ReaderScreen/hooks/useBookmarks.js b/src/ReaderScreen/hooks/useBookmarks.js index cb8e2361..ed0c6029 100644 --- a/src/ReaderScreen/hooks/useBookmarks.js +++ b/src/ReaderScreen/hooks/useBookmarks.js @@ -1,20 +1,17 @@ import { useEffect } from "react"; -import { useDispatch } from "react-redux"; -import { setBookmarkPosition } from "@common/actions"; -const useBookmarks = (webViewRef, shabad, bookmarkPosition) => { - const dispatch = useDispatch(); - useEffect(() => { - if ( - webViewRef.current && - webViewRef.current.postMessage && - Number(bookmarkPosition) !== -1 && - shabad.length > 0 - ) { - webViewRef.current.postMessage(JSON.stringify({ bookmark: bookmarkPosition })); - dispatch(setBookmarkPosition(-1)); +const useBookmarks = (scrollViewRef, shabad, bookmarkPosition, elementPositions) => { + const scrollToElement = (id) => { + if (scrollViewRef.current) { + scrollViewRef.current.scrollTo({ + y: elementPositions.current[id], + animated: true, + }); } - }, [bookmarkPosition, webViewRef.current, shabad]); + }; + useEffect(() => { + scrollToElement(bookmarkPosition); + }, [bookmarkPosition, scrollViewRef.current, shabad]); }; export default useBookmarks; diff --git a/src/ReaderScreen/hooks/useFetchShabad.js b/src/ReaderScreen/hooks/useFetchShabad.js index 48cffe49..cf1045d4 100644 --- a/src/ReaderScreen/hooks/useFetchShabad.js +++ b/src/ReaderScreen/hooks/useFetchShabad.js @@ -4,6 +4,7 @@ import { getShabadFromID } from "@database"; const useFetchShabad = (shabadID) => { const [shabad, setShabad] = useState([]); + const [groupedByParagraph, setGroupedByParagraph] = useState({}); const [isLoading, toggleLoading] = useState(false); const baniLength = useSelector((state) => state.baniLength); const transliterationLanguage = useSelector((state) => state.transliterationLanguage); @@ -30,6 +31,15 @@ const useFetchShabad = (shabadID) => { if (shabadData) { toggleLoading(false); setShabad(shabadData); + const byParagraph = shabadData.reduce((acc, entry) => { + // Check if the group for this paragraph_no already exists + if (!acc[entry.paragraphNum]) { + acc[entry.paragraphNum] = []; // If not, create it + } + acc[entry.paragraphNum].push(entry); // Add the entry to the group + return acc; + }, {}); + setGroupedByParagraph(byParagraph); } }, [ shabadID, @@ -56,7 +66,7 @@ const useFetchShabad = (shabadID) => { isVishraam, ]); - return { shabad, isLoading }; + return { shabad, isLoading, groupedByParagraph }; }; export default useFetchShabad; diff --git a/src/ReaderScreen/index.jsx b/src/ReaderScreen/index.jsx index e71f3f53..ad79807f 100644 --- a/src/ReaderScreen/index.jsx +++ b/src/ReaderScreen/index.jsx @@ -1,50 +1,60 @@ import React, { useState, useRef, useEffect } from "react"; +import { + StatusBar, + ActivityIndicator, + BackHandler, + Text, + TouchableWithoutFeedback, + Animated, + PanResponder, +} from "react-native"; import { useDispatch, useSelector } from "react-redux"; -import { StatusBar, ActivityIndicator, BackHandler } from "react-native"; -import { WebView } from "react-native-webview"; import PropTypes from "prop-types"; import { SafeAreaView } from "react-native-safe-area-context"; import { constant, colors, actions, useScreenAnalytics } from "@common"; -import { Header, AutoScrollComponent } from "./components"; import { useBookmarks, useFetchShabad } from "./hooks"; import { styles, nightColors } from "./styles"; -import { loadHTML } from "./utils"; +import Header from "./components/header"; const Reader = ({ navigation, route }) => { - const webViewRef = useRef(null); + const scrollViewRef = useRef(null); const headerRef = useRef(null); - const { webView } = styles; + const elementPositions = useRef({}); const { title, id } = route.params.params; const [isHeader, toggleIsHeader] = useState(true); - const [viewLoaded, toggleViewLoaded] = useState(false); - const [shabadID, setShabadID] = useState(Number(id)); + const [shabadID, setShabadID] = useState(Number(route.params.params.id)); + const [contentHeight, setContentHeight] = useState(0); + const [scrollY, setScrollY] = useState(0); + const scrollYAnimatedValue = useRef(new Animated.Value(0)).current; + const autoScrollTimer = useRef(null); const dispatch = useDispatch(); + // Redux selectors const isNightMode = useSelector((state) => state.isNightMode); + const isLarivaar = useSelector((state) => state.isLarivaar); + const isLarivaarAssist = useSelector((state) => state.isLarivaarAssist); const bookmarkPosition = useSelector((state) => state.bookmarkPosition); const isAutoScroll = useSelector((state) => state.isAutoScroll); const isStatusBar = useSelector((state) => state.isStatusBar); const isTransliteration = useSelector((state) => state.isTransliteration); - const fontSize = useSelector((state) => state.fontSize); const fontFace = useSelector((state) => state.fontFace); - const isLarivaar = useSelector((state) => state.isLarivaar); - const isLarivaarAssist = useSelector((state) => state.isLarivaarAssist); + const fontSize = useSelector((state) => state.fontSize); + const fontSizes = { EXTRA_SMALL: 14, SMALL: 16, MEDIUM: 20, LARGE: 24, EXTRA_LARGE: 30 }; const isEnglishTranslation = useSelector((state) => state.isEnglishTranslation); const isPunjabiTranslation = useSelector((state) => state.isPunjabiTranslation); const isSpanishTranslation = useSelector((state) => state.isSpanishTranslation); const isParagraphMode = useSelector((state) => state.isParagraphMode); - const isVishraam = useSelector((state) => state.isVishraam); - const vishraamOption = useSelector((state) => state.vishraamOption); const savePosition = useSelector((state) => state.savePosition); const isHeaderFooter = useSelector((state) => state.isHeaderFooter); - const { shabad, isLoading } = useFetchShabad(shabadID); + const { shabad, isLoading, groupedByParagraph } = useFetchShabad(shabadID); const [currentPosition, setCurrentPosition] = useState(savePosition[shabadID] || 0); - const { backgroundColor, safeAreaViewBack, backViewColor } = nightColors(isNightMode); + const { backgroundColor, safeAreaViewBack } = nightColors(isNightMode); const { READER_STATUS_BAR_COLOR } = colors; + useScreenAnalytics(title); - useBookmarks(webViewRef, shabad, bookmarkPosition); + useBookmarks(scrollViewRef, shabad, bookmarkPosition, elementPositions); useEffect(() => { setShabadID(Number(id)); @@ -55,53 +65,196 @@ const Reader = ({ navigation, route }) => { if (Number(savePosition[shabadID]) > 0.9) { setCurrentPosition(0); } - }, []); + }, [savePosition, shabadID]); + useEffect(() => { if (headerRef.current && headerRef.current.toggle) { headerRef.current.toggle(isHeader); } }, [isHeader]); + useEffect(() => { + if (scrollViewRef.current && currentPosition) { + scrollViewRef.current.scrollTo({ y: Number(currentPosition), animated: false }); + } + }, [currentPosition]); + const handleBackPress = () => { - webViewRef.current.postMessage(JSON.stringify({ Back: true })); + dispatch(actions.setPosition(scrollY, shabadID)); setTimeout(() => { navigation.goBack(); }, 100); - }; - const backAction = () => { - handleBackPress(); - return true; // Return `true` to prevent default behavior + return true; }; useEffect(() => { - const backHandler = BackHandler.addEventListener("hardwareBackPress", backAction); - return () => backHandler.remove(); // Clean up - }, []); + const backHandler = BackHandler.addEventListener("hardwareBackPress", handleBackPress); + return () => backHandler.remove(); + }, [handleBackPress]); const handleBookmarkPress = () => navigation.navigate(constant.BOOKMARKS, { id: shabadID }); const handleSettingsPress = () => navigation.navigate(constant.SETTINGS); - const handleMessage = (message) => { - const env = message.nativeEvent.data; - if (env === "toggle") { - // If the event is "toggle", toggle the current state of isHeader - toggleIsHeader((prev) => !prev); - dispatch(actions.toggleHeaderFooter(!isHeaderFooter)); - } else if (env === "show") { - // If the event is "show", set isHeader to true - toggleIsHeader(true); - dispatch(actions.toggleHeaderFooter(true)); - } else if (env === "hide") { - // If the event is "hide", set isHeader to false - toggleIsHeader(false); - dispatch(actions.toggleHeaderFooter(false)); - } else if (env.includes("save")) { - // Handle save event, where event is expected to be "save-" - const position = env.split("-")[1]; - setCurrentPosition(position); - dispatch(actions.setPosition(position, shabadID)); + const handleScroll = (event) => { + const currentOffset = event.nativeEvent.contentOffset.y; + setScrollY(currentOffset); + dispatch(actions.setPosition(currentOffset, shabadID)); + }; + + const handleTouchEnd = () => { + toggleIsHeader((prev) => !prev); + dispatch(actions.toggleHeaderFooter(!isHeaderFooter)); + }; + + const onContentSizeChange = (contentWidth, contentHeight) => { + setContentHeight(contentHeight); + }; + + const autoScroll = () => { + const scrollSpeed = 50; // Adjust scroll speed as needed + autoScrollTimer.current = setInterval(() => { + scrollViewRef.current.scrollTo({ + y: scrollY + 1, + animated: false, + }); + setScrollY((prev) => prev + 1); + }, scrollSpeed); + }; + + // Auto-scroll functionality + useEffect(() => { + if (isAutoScroll) { + autoScroll(); + } else if (autoScrollTimer.current) { + clearInterval(autoScrollTimer.current); + } + return () => { + if (autoScrollTimer.current) { + clearInterval(autoScrollTimer.current); + } + }; + }, [isAutoScroll, contentHeight]); + const handleLayout = (key) => (event) => { + elementPositions.current[key] = event.nativeEvent.layout.y; + }; + + const renderGurmukhi = (gurmukhiTuk) => { + if (isLarivaar && isLarivaarAssist) { + // Map each word to a component with alternating background color + + return ( + <> + {gurmukhiTuk.split(" ").map((word, index) => { + const style = index % 2 !== 0 ? { opacity: 0.6 } : {}; + return ( + + {word} + + ); + })} + + ); } + // Return the entire text as a single component if not splitting by word + return gurmukhiTuk; }; + const renderLines = (key) => { + return ( + <> + {groupedByParagraph[key].map((lineObj, index) => ( + + + {renderGurmukhi(lineObj.gurmukhi)} + {"\n"} + + {isTransliteration && {lineObj.translit}} + {isEnglishTranslation && lineObj.englishTranslation && ( + {lineObj.englishTranslation} + )} + {isPunjabiTranslation && lineObj.punjabiTranslation && ( + {lineObj.punjabiTranslation} + )} + {isSpanishTranslation && lineObj.spanishTranslation && ( + {lineObj.spanishTranslation} + )} + + ))} + + ); + }; + + const renderShabad = () => { + if (!shabad || shabad.length === 0) { + return null; + } + if (isParagraphMode) { + // Combine all lines into a paragraph + const paragraph = shabad.map((lineObj) => lineObj.line).join(" "); + return ( + + {paragraph} + + ); + } + // Render each line separately + return Object.keys(groupedByParagraph).map((key) => { + return ( + + {renderLines(key)} + + ); + }); + }; + + // PanResponder to handle user interaction + const panResponder = useRef( + PanResponder.create({ + onMoveShouldSetPanResponder: () => true, + onPanResponderGrant: () => { + // User starts interaction + if (isAutoScroll && autoScrollTimer.current) { + clearInterval(autoScrollTimer.current); + } + }, + onPanResponderRelease: () => { + // User stops interaction + if (isAutoScroll) { + autoScroll(); + } + }, + }) + ).current; return ( @@ -112,52 +265,28 @@ const Reader = ({ navigation, route }) => { />
{isLoading && } - { - setTimeout(() => { - toggleViewLoaded(true); - }, 500); - }} - ref={webViewRef} - decelerationRate="normal" - source={{ - html: loadHTML( - shabadID, - shabad, - isTransliteration, - fontSize, - fontFace, - isEnglishTranslation, - isPunjabiTranslation, - isSpanishTranslation, - isNightMode, - isLarivaar, - currentPosition - ), - baseUrl: "", - }} - style={[webView, isNightMode && { opacity: viewLoaded ? 1 : 0.1 }, backViewColor]} - onMessage={(message) => handleMessage(message)} - /> - - {isAutoScroll && } + + + {renderShabad()} + + ); }; diff --git a/src/ReaderScreen/styles/commonStyle.js b/src/ReaderScreen/styles/commonStyle.js index b0899d35..a2c4003c 100644 --- a/src/ReaderScreen/styles/commonStyle.js +++ b/src/ReaderScreen/styles/commonStyle.js @@ -6,7 +6,8 @@ const commonStyle = (header, isNightMode, type, fontSize, fontFace) => ({ color: fontColorForReader(header, isNightMode, type), textAlign: header ? "center" : "left", fontWeight: header === 0 ? "normal" : "bold", - fontFamily: type === constant.TRANSLITERATION ? undefined : fontFace, + fontFamily: + type === constant.TRANSLITERATION || type === constant.TRANSLATION ? undefined : fontFace, }); export default commonStyle; diff --git a/src/ReaderScreen/styles/styles.js b/src/ReaderScreen/styles/styles.js index acb79215..65c9cc72 100644 --- a/src/ReaderScreen/styles/styles.js +++ b/src/ReaderScreen/styles/styles.js @@ -2,9 +2,7 @@ import { StyleSheet } from "react-native"; import { constant, colors } from "@common"; export const styles = StyleSheet.create({ - gurmukhiText: { - margin: 5, - }, + gurmukhiText: { fontFamily: constant.GURBANI_AKHAR_TRUE, color: "#fff" }, translit: { fontFamily: constant.Arial, padding: 0.2, @@ -44,14 +42,7 @@ export const styles = StyleSheet.create({ height: 70, }, container: { - position: "absolute", - bottom: 20, - left: 0, - right: 0, - paddingTop: 0, - padding: 20, - overflow: "hidden", - backgroundColor: colors.READER_FOOTER_COLOR, + flex: 1, }, sliderText: { color: colors.TOOLBAR_TINT, @@ -87,6 +78,11 @@ export const styles = StyleSheet.create({ zIndex: 10, height: 60, }, + nightBackground: { + backgroundColor: colors.NIGHT_BLACK, + }, + nightText: { color: colors.WHITE_COLOR }, + dayText: { color: colors.NIGHT_BLACK }, }); export const getHeaderStyles = (isNightMode) => ({ headerTitleStyle: { diff --git a/src/common/actions/index.js b/src/common/actions/index.js index 54404f75..2dba8d10 100644 --- a/src/common/actions/index.js +++ b/src/common/actions/index.js @@ -49,10 +49,14 @@ export const toggleScreenAwake = (value) => { return { type: actionTypes.TOGGLE_SCREEN_AWAKE, value }; }; -export const setBaniLength = (length) => { +export function toggleBookmarks(value) { + return { type: actionTypes.TOGGLE_BOOKMARKS, value }; +} + +export function setBaniLength(length) { trackSettingEvent(constant.BANI_LENGTH, length); return { type: actionTypes.SET_BANI_LENGTH, length }; -}; +} export const toggleLarivaar = (value) => { trackSettingEvent(constant.LARIVAAR, value); return { type: actionTypes.TOGGLE_LARIVAAR, value }; diff --git a/src/common/constant.js b/src/common/constant.js index 7bec6288..1632848e 100644 --- a/src/common/constant.js +++ b/src/common/constant.js @@ -79,4 +79,8 @@ export default { ADD_REMINDER: "addReminder", RESET_REMINDER: "resetReminderDefault", UPDATE_REMINDER: "updateReminder", + DEFAULT_TUK_HEIGHT_NORMAL: 35, + DEFAULT_TUK_HEIGHT_MEDIUM: 60, + DEFAULT_TUK_HEIGHT_LARGE: 120, + FONT_SIZE_MULTIPLIER: 1.3, }; diff --git a/src/common/helpers.js b/src/common/helpers.js index eaaa1b8f..33dd5319 100644 --- a/src/common/helpers.js +++ b/src/common/helpers.js @@ -5,7 +5,7 @@ const FONT_SIZES = { [constant.SMALL]: 24, [constant.MEDIUM]: 30, [constant.LARGE]: 36, - [constant.EXTRA_LARGE]: 48, + [constant.EXTRA_LARGE]: 42, }; const TRANSLITERATION_MULTIPLIER = 1.25; diff --git a/src/common/reducer.js b/src/common/reducer.js index 0cc7c9e6..5c3f39ff 100644 --- a/src/common/reducer.js +++ b/src/common/reducer.js @@ -99,7 +99,7 @@ const isPunjabiTranslation = createReducer(false, { [actionTypes.TOGGLE_PUNJABI_TRANSLATION]: (state, action) => action.value, }); -const bookmarkPosition = createReducer(0, { +const bookmarkPosition = createReducer(1, { [actionTypes.SET_BOOKMARK_POSITION]: (state, action) => action.value, }); diff --git a/src/database/db.js b/src/database/db.js index 00b0d1c4..97f418ac 100644 --- a/src/database/db.js +++ b/src/database/db.js @@ -168,6 +168,7 @@ export const getShabadFromID = ( punjabiTranslations: Punjabi, spanishTranslations: Spanish, header, + paragraphNum: Paragraph, }; } } diff --git a/src/database/utils/index.js b/src/database/utils/index.js index 2ad38c59..66d78e1c 100644 --- a/src/database/utils/index.js +++ b/src/database/utils/index.js @@ -60,12 +60,14 @@ export const getWordStyle = ( }; export const createFormattedText = (words, vishraamPositions, options) => { - return words - .map((word, index) => { - const style = getWordStyle(word, index, vishraamPositions, options); - return style ? `${word}` : word; - }) - .join(options.isLarivar ? "​" : " "); + return ( + words + // .map((word, index) => { + // const style = getWordStyle(word, index, vishraamPositions, options); + // return style ? `${word}` : word; + // }) + .join(options.isLarivar && !options.isLarivarAssist ? "" : " ") + ); }; export const createParagraphObject = ( diff --git a/yarn.lock b/yarn.lock index 6a419f4d..804cba3a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -28,7 +28,7 @@ resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz" integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw== -"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.0.0-0 || ^8.0.0-0 <8.0.0", "@babel/core@^7.11.0", "@babel/core@^7.11.6", "@babel/core@^7.12.0", "@babel/core@^7.12.3", "@babel/core@^7.13.0", "@babel/core@^7.13.16", "@babel/core@^7.14.0", "@babel/core@^7.20.0", "@babel/core@^7.22.5", "@babel/core@^7.4.0 || ^8.0.0-0 <8.0.0", "@babel/core@^7.8.0": +"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.13.16", "@babel/core@^7.14.0", "@babel/core@^7.20.0", "@babel/core@^7.22.5": version "7.23.9" resolved "https://registry.npmjs.org/@babel/core/-/core-7.23.9.tgz" integrity sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw== @@ -49,7 +49,7 @@ json5 "^2.2.3" semver "^6.3.1" -"@babel/eslint-parser@^7.12.0", "@babel/eslint-parser@^7.18.2", "@babel/eslint-parser@^7.22.5": +"@babel/eslint-parser@^7.18.2", "@babel/eslint-parser@^7.22.5": version "7.23.9" resolved "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.23.9.tgz" integrity sha512-xPndlO7qxiJbn0ATvfXQBjCS7qApc9xmKHArgI/FTEFxXas5dnjC/VqM37lfZun9dclRYcn+YQAr6uDFy0bB2g== @@ -321,7 +321,7 @@ "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-export-default-from" "^7.23.3" -"@babel/plugin-proposal-nullish-coalescing-operator@^7.0.0", "@babel/plugin-proposal-nullish-coalescing-operator@^7.0.0-0", "@babel/plugin-proposal-nullish-coalescing-operator@^7.13.8": +"@babel/plugin-proposal-nullish-coalescing-operator@^7.0.0", "@babel/plugin-proposal-nullish-coalescing-operator@^7.13.8": version "7.18.6" resolved "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz" integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA== @@ -348,7 +348,7 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" -"@babel/plugin-proposal-optional-chaining@^7.0.0", "@babel/plugin-proposal-optional-chaining@^7.0.0-0", "@babel/plugin-proposal-optional-chaining@^7.13.12": +"@babel/plugin-proposal-optional-chaining@^7.0.0", "@babel/plugin-proposal-optional-chaining@^7.13.12": version "7.21.0" resolved "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz" integrity sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA== @@ -524,7 +524,7 @@ "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-arrow-functions@^7.0.0", "@babel/plugin-transform-arrow-functions@^7.0.0-0", "@babel/plugin-transform-arrow-functions@^7.23.3": +"@babel/plugin-transform-arrow-functions@^7.0.0", "@babel/plugin-transform-arrow-functions@^7.23.3": version "7.23.3" resolved "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz" integrity sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ== @@ -904,7 +904,7 @@ babel-plugin-polyfill-regenerator "^0.5.5" semver "^6.3.1" -"@babel/plugin-transform-shorthand-properties@^7.0.0", "@babel/plugin-transform-shorthand-properties@^7.0.0-0", "@babel/plugin-transform-shorthand-properties@^7.23.3": +"@babel/plugin-transform-shorthand-properties@^7.0.0", "@babel/plugin-transform-shorthand-properties@^7.23.3": version "7.23.3" resolved "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz" integrity sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg== @@ -926,7 +926,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-template-literals@^7.0.0", "@babel/plugin-transform-template-literals@^7.0.0-0", "@babel/plugin-transform-template-literals@^7.23.3": +"@babel/plugin-transform-template-literals@^7.0.0", "@babel/plugin-transform-template-literals@^7.23.3": version "7.23.3" resolved "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz" integrity sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg== @@ -981,7 +981,7 @@ "@babel/helper-create-regexp-features-plugin" "^7.22.15" "@babel/helper-plugin-utils" "^7.22.5" -"@babel/preset-env@^7.1.6", "@babel/preset-env@^7.20.0": +"@babel/preset-env@^7.20.0": version "7.23.9" resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.9.tgz" integrity sha512-3kBGTNBBk9DQiPoXYS0g0BYlwTQYUTifqgKTjxUwEUkduRT2QOa0FPGBJ+NROQhGyYO5BuTJwGvBnqKDykac6A== @@ -1520,7 +1520,7 @@ "@nodelib/fs.stat" "2.0.5" run-parallel "^1.1.9" -"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": version "2.0.5" resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== @@ -1605,7 +1605,7 @@ chalk "^4.1.2" hermes-profile-transformer "^0.0.6" -"@react-native-community/cli-platform-android@^10.2.0", "@react-native-community/cli-platform-android@10.2.0": +"@react-native-community/cli-platform-android@10.2.0", "@react-native-community/cli-platform-android@^10.2.0": version "10.2.0" resolved "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-10.2.0.tgz" integrity sha512-CBenYwGxwFdObZTn1lgxWtMGA5ms2G/ALQhkS+XTAD7KHDrCxFF9yT/fnAjFZKM6vX/1TqGI1RflruXih3kAhw== @@ -1616,7 +1616,7 @@ glob "^7.1.3" logkitty "^0.7.1" -"@react-native-community/cli-platform-ios@^10.2.5", "@react-native-community/cli-platform-ios@10.2.5": +"@react-native-community/cli-platform-ios@10.2.5", "@react-native-community/cli-platform-ios@^10.2.5": version "10.2.5" resolved "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-10.2.5.tgz" integrity sha512-hq+FZZuSBK9z82GLQfzdNDl8vbFx5UlwCLFCuTtNCROgBoapFtVZQKRP2QBftYNrQZ0dLAb01gkwxagHsQCFyg== @@ -1705,7 +1705,7 @@ prompts "^2.4.0" semver "^6.3.0" -"@react-native-community/datetimepicker@^7.3.0", "@react-native-community/datetimepicker@>=6.7.0": +"@react-native-community/datetimepicker@^7.3.0": version "7.6.2" resolved "https://registry.npmjs.org/@react-native-community/datetimepicker/-/datetimepicker-7.6.2.tgz" integrity sha512-ogZnvCmNG/lGHhEQypqz/mPymiIWD5jv6uKczg/l/aWgiKs1RDPQH1abh+R0I26aKoXmgamJJPuXKeC5eRWtZg== @@ -1746,7 +1746,7 @@ resolved "https://registry.npmjs.org/@react-native-firebase/analytics/-/analytics-18.9.0.tgz" integrity sha512-+5xuU2k+6zCG+QOzHTKLdZpD14DD9tz1m7gfO89/gO2qFdCqwOpLcBu2bb6ocsfgUE9CJkb0cFceO/m/9pe3jw== -"@react-native-firebase/app@^18.9.0", "@react-native-firebase/app@18.9.0": +"@react-native-firebase/app@^18.9.0": version "18.9.0" resolved "https://registry.npmjs.org/@react-native-firebase/app/-/app-18.9.0.tgz" integrity sha512-kMY4HVWxfz0YjQ5n9oyW9uifI5CkQfLfj2FEeQrI9mCwaCNuRw04x9Yc8LeFpew7NPEDVfty7tlL3WEjDpvNEw== @@ -1771,7 +1771,7 @@ resolved "https://registry.npmjs.org/@react-native/assets/-/assets-1.0.0.tgz" integrity sha512-KrwSpS1tKI70wuKl68DwJZYEvXktDHdZMG0k2AXD/rJVSlB23/X2CB2cutVR0HwNMJIal9HOUOBB2rVfa6UGtQ== -"@react-native/normalize-color@^2.1.0", "@react-native/normalize-color@2.1.0": +"@react-native/normalize-color@2.1.0", "@react-native/normalize-color@^2.1.0": 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== @@ -1806,7 +1806,7 @@ "@react-navigation/elements" "^1.3.21" warn-once "^0.1.0" -"@react-navigation/native@^6.0.0", "@react-navigation/native@^6.1.6": +"@react-navigation/native@^6.1.6": version "6.1.9" resolved "https://registry.npmjs.org/@react-navigation/native/-/native-6.1.9.tgz" integrity sha512-AMuJDpwXE7UlfyhIXaUCCynXmv69Kb8NzKgKJO7v0k0L+u6xUTbt6xvshmJ79vsvaFyaEH9Jg5FMzek5/S5qNw== @@ -1823,7 +1823,7 @@ dependencies: nanoid "^3.1.23" -"@reduxjs/toolkit@^1.6.1", "@reduxjs/toolkit@^1.9.5": +"@reduxjs/toolkit@^1.9.5": version "1.9.7" resolved "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-1.9.7.tgz" integrity sha512-t7v8ZPxhhKgOKtU+uyJT13lu4vL7az5aFi4IdoDs/eS548edn2M8Ik9h8fxgvMjGoAUVFSt6ZC1P5cWmQ014QQ== @@ -1833,7 +1833,7 @@ redux-thunk "^2.4.2" reselect "^4.1.8" -"@rneui/base@^4.0.0-rc.7", "@rneui/base@4.0.0-rc.7": +"@rneui/base@^4.0.0-rc.7": version "4.0.0-rc.7" resolved "https://registry.npmjs.org/@rneui/base/-/base-4.0.0-rc.7.tgz" integrity sha512-dffzoYek3Qp+7wJzC42QjI/Fu1HOUNxFIR88t1laDrBV5QZQB55f+Vu5zLbC80/bh1b8fYtl63HTIWpORuA3Eg== @@ -2006,7 +2006,7 @@ "@types/react" "*" "@types/react-native" "^0.70" -"@types/react-native@^0.70", "@types/react-native@>=0.57.7": +"@types/react-native@^0.70": version "0.70.19" resolved "https://registry.npmjs.org/@types/react-native/-/react-native-0.70.19.tgz" integrity sha512-c6WbyCgWTBgKKMESj/8b4w+zWcZSsCforson7UdXtXMecG3MxCinYi6ihhrHVPyUrVzORsvEzK8zg32z4pK6Sg== @@ -2020,7 +2020,7 @@ dependencies: "@types/react" "*" -"@types/react@*", "@types/react@^16.8 || ^17.0 || ^18.0", "@types/react@^18.0.24": +"@types/react@*", "@types/react@^18.0.24": version "18.2.48" resolved "https://registry.npmjs.org/@types/react/-/react-18.2.48.tgz" integrity sha512-qboRCl6Ie70DQQG9hhNREz81jqC1cs9EVNcjQ1AU+jH6NFfSAhVVbrrY/+nSF+Bsk4AOwm9Qa61InvMCyV+H3w== @@ -2075,7 +2075,7 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@^5.0.0", "@typescript-eslint/eslint-plugin@^5.30.5": +"@typescript-eslint/eslint-plugin@^5.30.5": version "5.62.0" resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz" integrity sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag== @@ -2091,7 +2091,7 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@^5.0.0", "@typescript-eslint/parser@^5.30.5": +"@typescript-eslint/parser@^5.30.5": version "5.62.0" resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz" integrity sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA== @@ -2137,7 +2137,7 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@^5.10.0", "@typescript-eslint/utils@5.62.0": +"@typescript-eslint/utils@5.62.0", "@typescript-eslint/utils@^5.10.0": version "5.62.0" resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz" integrity sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ== @@ -2189,7 +2189,7 @@ acorn-jsx@^5.3.2: resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== -"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^8.8.2, acorn@^8.9.0: +acorn@^8.8.2, acorn@^8.9.0: version "8.11.3" resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz" integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== @@ -2235,14 +2235,7 @@ ansi-regex@^5.0.0, ansi-regex@^5.0.1: resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== -ansi-styles@^3.2.0: - version "3.2.1" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^3.2.1: +ansi-styles@^3.2.0, ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== @@ -2607,7 +2600,7 @@ braces@^3.0.2: dependencies: fill-range "^7.0.1" -browserslist@^4.22.2, "browserslist@>= 4.21.0": +browserslist@^4.22.2: version "4.22.2" resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz" integrity sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A== @@ -2680,12 +2673,7 @@ camelcase@^5.0.0, camelcase@^5.3.1: resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -camelcase@^6.0.0: - version "6.3.0" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== - -camelcase@^6.2.0: +camelcase@^6.0.0, camelcase@^6.2.0: version "6.3.0" resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== @@ -2819,7 +2807,7 @@ color-convert@^2.0.1: dependencies: color-name "~1.1.4" -color-name@^1.0.0, color-name@1.1.3: +color-name@1.1.3, color-name@^1.0.0: version "1.1.3" resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== @@ -2966,16 +2954,7 @@ cross-spawn@^6.0.0: shebang-command "^1.2.0" which "^1.2.9" -cross-spawn@^7.0.2: - version "7.0.3" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -cross-spawn@^7.0.3: +cross-spawn@^7.0.2, cross-spawn@^7.0.3: version "7.0.3" resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== @@ -2999,7 +2978,7 @@ dayjs@^1.8.15: resolved "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz" integrity sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg== -debug@^2.2.0, debug@2.6.9: +debug@2.6.9, debug@^2.2.0: version "2.6.9" resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== @@ -3013,35 +2992,7 @@ debug@^3.2.7: dependencies: ms "^2.1.1" -debug@^4.1.0: - version "4.3.4" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - -debug@^4.1.1: - version "4.3.4" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - -debug@^4.3.1: - version "4.3.4" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - -debug@^4.3.2: - version "4.3.4" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - -debug@^4.3.4: +debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: version "4.3.4" resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== @@ -3332,26 +3283,21 @@ escape-html@~1.0.3: resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== +escape-string-regexp@2.0.0, escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== -escape-string-regexp@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz" - integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== - escape-string-regexp@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== -escape-string-regexp@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz" - integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== - eslint-config-airbnb-base@^15.0.0: version "15.0.0" resolved "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-15.0.0.tgz" @@ -3408,7 +3354,7 @@ eslint-plugin-ft-flow@^2.0.1: lodash "^4.17.21" string-natural-compare "^3.0.1" -eslint-plugin-import@^2.25.2, eslint-plugin-import@^2.25.3, eslint-plugin-import@^2.27.5: +eslint-plugin-import@^2.27.5: version "2.29.1" resolved "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz" integrity sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw== @@ -3438,7 +3384,7 @@ eslint-plugin-jest@^26.5.3: dependencies: "@typescript-eslint/utils" "^5.10.0" -eslint-plugin-jsx-a11y@^6.5.1, eslint-plugin-jsx-a11y@^6.7.1: +eslint-plugin-jsx-a11y@^6.7.1: version "6.8.0" resolved "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.8.0.tgz" integrity sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA== @@ -3467,7 +3413,7 @@ eslint-plugin-prettier@^4.2.1: dependencies: prettier-linter-helpers "^1.0.0" -eslint-plugin-react-hooks@^4.3.0, eslint-plugin-react-hooks@^4.6.0: +eslint-plugin-react-hooks@^4.6.0: version "4.6.0" resolved "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz" integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== @@ -3484,7 +3430,7 @@ eslint-plugin-react-native@^4.0.0: dependencies: eslint-plugin-react-native-globals "^0.1.1" -eslint-plugin-react@^7.28.0, eslint-plugin-react@^7.30.1, eslint-plugin-react@^7.32.2: +eslint-plugin-react@^7.30.1, eslint-plugin-react@^7.32.2: version "7.33.2" resolved "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz" integrity sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw== @@ -3506,7 +3452,7 @@ eslint-plugin-react@^7.28.0, eslint-plugin-react@^7.30.1, eslint-plugin-react@^7 semver "^6.3.1" string.prototype.matchall "^4.0.8" -eslint-scope@^5.1.1, eslint-scope@5.1.1: +eslint-scope@5.1.1, eslint-scope@^5.1.1: version "5.1.1" resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== @@ -3527,22 +3473,12 @@ eslint-visitor-keys@^2.1.0: resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz" integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== -eslint-visitor-keys@^3.3.0: - version "3.4.3" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz" - integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== - -eslint-visitor-keys@^3.4.1: - version "3.4.3" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz" - integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== - -eslint-visitor-keys@^3.4.3: +eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: version "3.4.3" resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz" integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== -eslint@*, "eslint@^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8", "eslint@^3 || ^4 || ^5 || ^6 || ^7 || ^8", "eslint@^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0", "eslint@^3.17.0 || ^4 || ^5 || ^6 || ^7 || ^8", "eslint@^6.0.0 || ^7.0.0 || ^8.0.0", "eslint@^6.0.0 || ^7.0.0 || >=8.0.0", "eslint@^7.32.0 || ^8.2.0", "eslint@^7.5.0 || ^8.0.0", eslint@^8.1.0, eslint@^8.42.0, eslint@>=4.19.1, eslint@>=7.0.0, eslint@>=7.28.0, eslint@>=8: +eslint@^8.42.0: version "8.56.0" resolved "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz" integrity sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ== @@ -3619,17 +3555,7 @@ estraverse@^4.1.1: resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== -estraverse@^5.1.0: - version "5.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -estraverse@^5.2.0: - version "5.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -estraverse@^5.3.0: +estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: version "5.3.0" resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== @@ -3830,7 +3756,7 @@ flatted@^3.2.9: resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz" integrity sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ== -flow-parser@^0.185.0, flow-parser@0.*: +flow-parser@0.*, flow-parser@^0.185.0: version "0.185.2" resolved "https://registry.npmjs.org/flow-parser/-/flow-parser-0.185.2.tgz" integrity sha512-2hJ5ACYeJCzNtiVULov6pljKOLygy0zddoqSI1fFetM+XRPpRshFdGEijtqlamA1XwyZ+7rhryI6FQFzvtLWUQ== @@ -4182,7 +4108,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@2, inherits@2.0.4: +inherits@2, inherits@2.0.4, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: version "2.0.4" resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -4196,7 +4122,7 @@ internal-slot@^1.0.5: hasown "^2.0.0" side-channel "^1.0.4" -invariant@^2.2.4, invariant@2.2.4: +invariant@2.2.4, invariant@^2.2.4: version "2.2.4" resolved "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz" integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== @@ -4737,7 +4663,7 @@ jest-resolve-dependencies@^29.7.0: jest-regex-util "^29.6.3" jest-snapshot "^29.7.0" -jest-resolve@*, jest-resolve@^29.7.0: +jest-resolve@^29.7.0: version "29.7.0" resolved "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz" integrity sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA== @@ -5578,16 +5504,16 @@ micromatch@^4.0.4: braces "^3.0.2" picomatch "^2.3.1" -"mime-db@>= 1.43.0 < 2": - version "1.53.0" - resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.53.0.tgz" - integrity sha512-oHlN/w+3MQ3rba9rqFr6V/ypF10LSkdwUysQL7GkXoTgIWeV+tcXGA852TBxH+gsh8UWoyhR1hKcoMJTuWflpg== - mime-db@1.52.0: version "1.52.0" resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== +"mime-db@>= 1.43.0 < 2": + version "1.53.0" + resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.53.0.tgz" + integrity sha512-oHlN/w+3MQ3rba9rqFr6V/ypF10LSkdwUysQL7GkXoTgIWeV+tcXGA852TBxH+gsh8UWoyhR1hKcoMJTuWflpg== + mime-types@^2.1.27, mime-types@~2.1.34: version "2.1.35" resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" @@ -5595,16 +5521,16 @@ mime-types@^2.1.27, mime-types@~2.1.34: dependencies: mime-db "1.52.0" -mime@^2.4.1: - version "2.6.0" - resolved "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz" - integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== - mime@1.6.0: version "1.6.0" resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== +mime@^2.4.1: + version "2.6.0" + resolved "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz" + integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== + mimic-fn@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" @@ -5659,11 +5585,6 @@ moment@^2.29.4: resolved "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz" integrity sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how== -ms@^2.1.1, ms@2.1.3: - version "2.1.3" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - ms@2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" @@ -5674,6 +5595,11 @@ ms@2.1.2: resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== +ms@2.1.3, ms@^2.1.1: + version "2.1.3" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + nanoid@^3.1.23: version "3.3.7" resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz" @@ -5837,13 +5763,6 @@ object.values@^1.1.6, object.values@^1.1.7: define-properties "^1.2.0" es-abstract "^1.22.1" -on-finished@~2.3.0: - version "2.3.0" - resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz" - integrity sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww== - dependencies: - ee-first "1.1.1" - on-finished@2.4.1: version "2.4.1" resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz" @@ -5851,6 +5770,13 @@ on-finished@2.4.1: dependencies: ee-first "1.1.1" +on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz" + integrity sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww== + dependencies: + ee-first "1.1.1" + on-headers@~1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz" @@ -5919,14 +5845,7 @@ p-finally@^1.0.0: resolved "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz" integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== -p-limit@^2.0.0: - version "2.3.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-limit@^2.2.0: +p-limit@^2.0.0, p-limit@^2.2.0: version "2.3.0" resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== @@ -6092,7 +6011,7 @@ prettier-linter-helpers@^1.0.0: dependencies: fast-diff "^1.1.2" -prettier@^2.4.1, prettier@>=2, prettier@>=2.0.0: +prettier@^2.4.1: version "2.8.8" resolved "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz" integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== @@ -6107,16 +6026,7 @@ pretty-format@^26.5.2, pretty-format@^26.6.2: ansi-styles "^4.0.0" react-is "^17.0.1" -pretty-format@^29.0.0: - version "29.7.0" - resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz" - integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== - dependencies: - "@jest/schemas" "^29.6.3" - ansi-styles "^5.0.0" - react-is "^18.0.0" - -pretty-format@^29.7.0: +pretty-format@^29.0.0, pretty-format@^29.7.0: version "29.7.0" resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz" integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== @@ -6215,12 +6125,7 @@ react-is@^17.0.1: resolved "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz" integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== -react-is@^18.0.0: - version "18.2.0" - resolved "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz" - integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== - -react-is@^18.2.0: +react-is@^18.0.0, react-is@^18.2.0: version "18.2.0" resolved "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz" integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== @@ -6269,7 +6174,7 @@ react-native-exception-handler@^2.10.10: resolved "https://registry.npmjs.org/react-native-exception-handler/-/react-native-exception-handler-2.10.10.tgz" integrity sha512-otAXGoZDl1689OoUJWN/rXxVbdoZ3xcmyF1uq/CsizdLwwyZqVGd6d+p/vbYvnF996FfEyAEBnHrdFxulTn51w== -react-native-gesture-handler@^2.12.0, react-native-gesture-handler@>=2.0.0: +react-native-gesture-handler@^2.12.0: version "2.14.1" resolved "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-2.14.1.tgz" integrity sha512-YiM1BApV4aKeuwsM6O4C2ufwewYEKk6VMXOt0YqEZFMwABBFWhXLySFZYjBSNRU2USGppJbfHP1q1DfFQpKhdA== @@ -6313,7 +6218,7 @@ react-native-ratings@^8.1.0: dependencies: lodash "^4.17.15" -react-native-reanimated@^3.3.0, react-native-reanimated@>=2.8.0: +react-native-reanimated@^3.3.0: version "3.6.2" resolved "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-3.6.2.tgz" integrity sha512-IIMREMOrxhtK35drfpzh2UhxNqAOHnuvGgtMofj7yHcMj16tmWZR2zFvMUf6z2MfmXv+aVgFQ6TRZ6yKYf7LNA== @@ -6328,12 +6233,12 @@ react-native-restart@^0.0.27: resolved "https://registry.npmjs.org/react-native-restart/-/react-native-restart-0.0.27.tgz" integrity sha512-8KScVICrXwcTSJ1rjWkqVTHyEKQIttm5AIMGSK1QG1+RS5owYlE4z/1DykOTdWfVl9l16FIk0w9Xzk9ZO6jxlA== -"react-native-safe-area-context@^3.1.9 || ^4.0.0", react-native-safe-area-context@^4.5.3, "react-native-safe-area-context@>= 3.0.0": +react-native-safe-area-context@^4.5.3: version "4.8.2" resolved "https://registry.npmjs.org/react-native-safe-area-context/-/react-native-safe-area-context-4.8.2.tgz" integrity sha512-ffUOv8BJQ6RqO3nLml5gxJ6ab3EestPiyWekxdzO/1MQ7NF8fW1Mzh1C5QE9yq573Xefnc7FuzGXjtesZGv7cQ== -react-native-screens@^3.20.0, "react-native-screens@>= 3.0.0": +react-native-screens@^3.20.0: version "3.29.0" resolved "https://registry.npmjs.org/react-native-screens/-/react-native-screens-3.29.0.tgz" integrity sha512-yB1GoAMamFAcYf4ku94uBPn0/ani9QG7NdI98beJ5cet2YFESYYzuEIuU+kt+CNRcO8qqKeugxlfgAa3HyTqlg== @@ -6361,7 +6266,7 @@ react-native-sqlite-storage@^6.0.1: resolved "https://registry.npmjs.org/react-native-sqlite-storage/-/react-native-sqlite-storage-6.0.1.tgz" integrity sha512-1tDFjrint6X6qSYKf3gDyz+XB+X79jfiL6xTugKHPRtF0WvqMtVgdLuNqZunIXjNEvNtNVEbXaeZ6MsguFu00A== -react-native-vector-icons@^9.2.0, react-native-vector-icons@>7.0.0: +react-native-vector-icons@^9.2.0: version "9.2.0" resolved "https://registry.npmjs.org/react-native-vector-icons/-/react-native-vector-icons-9.2.0.tgz" integrity sha512-wKYLaFuQST/chH3AJRjmOLoLy3JEs1JR6zMNgTaemFpNoXs0ztRnTxcxFD9xhX7cJe1/zoN5BpQYe7kL0m5yyA== @@ -6377,7 +6282,7 @@ react-native-webview@^13.6.2: escape-string-regexp "2.0.0" invariant "2.2.4" -react-native@*, "react-native@^0.0.0-0 || >=0.60 <1.0", react-native@>=0.14.0, react-native@>=0.57.0, react-native@>=0.57.7, react-native@>=0.59, react-native@>=0.64.0, react-native@>=0.65.0, react-native@>=0.8.0, react-native@>0.64, react-native@0.71.18: +react-native@0.71.18: version "0.71.18" resolved "https://registry.npmjs.org/react-native/-/react-native-0.71.18.tgz" integrity sha512-eWQZATriDSEHxlJFugXMxH0Z/inM1e8JwsyNIUEUj31a3oCJDA75hUy6/9oBJ5hRxjJbzpZu7+3Tq24NJk6sLQ== @@ -6418,7 +6323,7 @@ react-native@*, "react-native@^0.0.0-0 || >=0.60 <1.0", react-native@>=0.14.0, r whatwg-fetch "^3.0.0" ws "^6.2.2" -"react-redux@^7.2.1 || ^8.0.2", react-redux@^8.0.5: +react-redux@^8.0.5: version "8.1.3" resolved "https://registry.npmjs.org/react-redux/-/react-redux-8.1.3.tgz" integrity sha512-n0ZrutD7DaX/j9VscF+uTALI3oUPa/pO4Z3soOBIjuRn/FzVu6aehhysxZCLi6y7duMf52WNZGMl7CtuK5EnRw== @@ -6452,7 +6357,7 @@ react-test-renderer@18.2.0: react-shallow-renderer "^16.15.0" scheduler "^0.23.0" -react@*, "react@^16.0.0 || ^17.0.0 || ^18.0.0", "react@^16.8 || ^17.0 || ^18.0", "react@^16.8.0 || ^17.0.0 || ^18.0.0", "react@^16.9.0 || ^17.0.0 || ^18", "react@^18.0.0 || ^17.0.0 || ^16.0.0 || ^15.6.0", react@^18.2.0, react@>=16.6.0, react@>=16.8, react@>=17.0.0, react@>15.6.0, react@18.2.0: +react@18.2.0: version "18.2.0" resolved "https://registry.npmjs.org/react/-/react-18.2.0.tgz" integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== @@ -6501,7 +6406,7 @@ redux-thunk@^2.4.2: resolved "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.4.2.tgz" integrity sha512-+P3TjtnP0k/FEjcBL5FZpoovtvrTNT/UXd4/sluaSyrURlSlhLSzEdfsTBW7WsKB6yPvgd7q/iZPICFjW4o57Q== -redux@^4, "redux@^4 || ^5.0.0-beta.0", redux@^4.2.1: +redux@^4.2.1: version "4.2.1" resolved "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz" integrity sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w== @@ -6691,7 +6596,7 @@ safe-array-concat@^1.0.1: has-symbols "^1.0.3" isarray "^2.0.5" -safe-buffer@~5.1.0, safe-buffer@~5.1.1, safe-buffer@5.1.2: +safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== @@ -6717,12 +6622,7 @@ scheduler@^0.23.0: dependencies: loose-envify "^1.1.0" -semver@^5.5.0: - version "5.7.2" - resolved "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz" - integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== - -semver@^5.6.0: +semver@^5.5.0, semver@^5.6.0: version "5.7.2" resolved "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz" integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== @@ -6732,21 +6632,7 @@ semver@^6.3.0, semver@^6.3.1: resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.3.7: - version "7.5.4" - resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz" - integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== - dependencies: - lru-cache "^6.0.0" - -semver@^7.5.3: - version "7.5.4" - resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz" - integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== - dependencies: - lru-cache "^6.0.0" - -semver@^7.5.4: +semver@^7.3.7, semver@^7.5.3, semver@^7.5.4: version "7.5.4" resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz" integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== @@ -6902,14 +6788,6 @@ slice-ansi@^2.0.0: astral-regex "^1.0.0" is-fullwidth-code-point "^2.0.0" -source-map-support@^0.5.16, source-map-support@~0.5.20: - version "0.5.21" - resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz" - integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - source-map-support@0.5.13: version "0.5.13" resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz" @@ -6918,17 +6796,20 @@ source-map-support@0.5.13: buffer-from "^1.0.0" source-map "^0.6.0" -source-map@^0.5.6, source-map@0.5.6: +source-map-support@^0.5.16, source-map-support@~0.5.20: + version "0.5.21" + resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@0.5.6, source-map@^0.5.6: version "0.5.6" resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz" integrity sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA== -source-map@^0.6.0: - version "0.6.1" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -source-map@^0.6.1: +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: version "0.6.1" resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== @@ -6938,11 +6819,6 @@ source-map@^0.7.3: resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz" integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== -source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - split-on-first@^1.0.0: version "1.1.0" resolved "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz" @@ -6996,35 +6872,21 @@ stacktrace-parser@^0.1.3: dependencies: type-fest "^0.7.1" -statuses@~1.5.0: - version "1.5.0" - resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz" - integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== - statuses@2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== +statuses@~1.5.0: + version "1.5.0" + resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz" + integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== + strict-uri-encode@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz" integrity sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ== -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - string-length@^4.0.1: version "4.0.2" resolved "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz" @@ -7089,14 +6951,21 @@ string.prototype.trimstart@^1.0.7: define-properties "^1.2.0" es-abstract "^1.22.1" -strip-ansi@^5.0.0: - version "5.2.0" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz" - integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== dependencies: - ansi-regex "^4.1.0" + safe-buffer "~5.2.0" -strip-ansi@^5.2.0: +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +strip-ansi@^5.0.0, strip-ansi@^5.2.0: version "5.2.0" resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz" integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== @@ -7179,13 +7048,6 @@ supports-preserve-symlinks-flag@^1.0.0: resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== -temp@^0.8.4: - version "0.8.4" - resolved "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz" - integrity sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg== - dependencies: - rimraf "~2.6.2" - temp@0.8.3: version "0.8.3" resolved "https://registry.npmjs.org/temp/-/temp-0.8.3.tgz" @@ -7194,6 +7056,13 @@ temp@0.8.3: os-tmpdir "^1.0.0" rimraf "~2.2.6" +temp@^0.8.4: + version "0.8.4" + resolved "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz" + integrity sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg== + dependencies: + rimraf "~2.6.2" + terser@^5.15.0: version "5.34.1" resolved "https://registry.npmjs.org/terser/-/terser-5.34.1.tgz" @@ -7351,7 +7220,7 @@ typed-array-length@^1.0.4: for-each "^0.3.3" is-typed-array "^1.1.9" -"typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta", typescript@4.8.4: +typescript@4.8.4: version "4.8.4" resolved "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz" integrity sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ== @@ -7702,20 +7571,7 @@ yargs@^16.1.1: y18n "^5.0.5" yargs-parser "^20.2.2" -yargs@^17.3.1: - version "17.7.2" - resolved "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz" - integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== - dependencies: - cliui "^8.0.1" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.3" - y18n "^5.0.5" - yargs-parser "^21.1.1" - -yargs@^17.5.1: +yargs@^17.3.1, yargs@^17.5.1: version "17.7.2" resolved "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz" integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==