diff --git a/package.json b/package.json index 8418907307e..9183b5fe964 100644 --- a/package.json +++ b/package.json @@ -339,6 +339,7 @@ "@types/qs": "6.9.7", "@types/react": "18.2.65", "@types/react-native-extra-dimensions-android": "1.2.3", + "@types/react-native-indicators": "0.16.6", "@types/react-test-renderer": "18.3.0", "@types/styled-components": "5.1.7", "@types/url-parse": "1.4.3", diff --git a/src/components/ActivityIndicator.js b/src/components/ActivityIndicator.tsx similarity index 66% rename from src/components/ActivityIndicator.js rename to src/components/ActivityIndicator.tsx index 0336e902e1a..d78faeb2e30 100644 --- a/src/components/ActivityIndicator.js +++ b/src/components/ActivityIndicator.tsx @@ -5,9 +5,15 @@ import { Centered } from './layout'; import styled from '@/styled-thing'; import { position } from '@/styles'; -const Container = styled(Centered)(({ size }) => position.sizeAsObject(Number(size))); +const Container = styled(Centered)(({ size }: { size: number }) => position.sizeAsObject(Number(size))); -export default function ActivityIndicator({ color, isInteraction = false, size = 25, ...props }) { +type ActivityIndicatorProps = { + color?: string; + isInteraction?: boolean; + size?: number; +}; + +export default function ActivityIndicator({ color, isInteraction = false, size = 25, ...props }: ActivityIndicatorProps) { const { colors } = useTheme(); return ( diff --git a/src/components/activity-list/ActivityList.js b/src/components/activity-list/ActivityList.js deleted file mode 100644 index 877ae43aa21..00000000000 --- a/src/components/activity-list/ActivityList.js +++ /dev/null @@ -1,145 +0,0 @@ -import * as lang from '@/languages'; -import React, { useCallback, useEffect, useMemo, useState } from 'react'; -import { SectionList, StyleSheet, View } from 'react-native'; -import sectionListGetItemLayout from 'react-native-section-list-get-item-layout'; -import ActivityIndicator from '../ActivityIndicator'; -import Spinner from '../Spinner'; -import { ButtonPressAnimation } from '../animations'; -import { CoinRowHeight } from '../coin-row/CoinRow'; -import Text from '../text/Text'; -import ActivityListEmptyState from './ActivityListEmptyState'; -import ActivityListHeader from './ActivityListHeader'; -import styled from '@/styled-thing'; -import { useTheme } from '@/theme'; -import { useSectionListScrollToTopContext } from '@/navigation/SectionListScrollToTopContext'; -import { safeAreaInsetValues } from '@/utils'; -import { Network } from '@/chains/types'; - -const sx = StyleSheet.create({ - sectionHeader: { - paddingVertical: 18, - }, -}); - -const ActivityListHeaderHeight = 42; -const TRANSACTION_COIN_ROW_VERTICAL_PADDING = 7; - -const getItemLayout = sectionListGetItemLayout({ - getItemHeight: () => CoinRowHeight + TRANSACTION_COIN_ROW_VERTICAL_PADDING * 2, - getSectionHeaderHeight: () => ActivityListHeaderHeight, -}); - -const keyExtractor = ({ hash, timestamp, transactionDisplayDetails }) => - hash || (timestamp ? timestamp.ms : transactionDisplayDetails?.timestampInMs || 0); - -const renderSectionHeader = ({ section, colors }) => { - return ( - - - - ); -}; - -const LoadingSpinner = android ? Spinner : ActivityIndicator; - -const FooterWrapper = styled(ButtonPressAnimation)({ - alignItems: 'center', - height: 40, - justifyContent: 'center', - paddingBottom: 10, - width: '100%', -}); - -function ListFooterComponent({ label, onPress }) { - const [isLoading, setIsLoading] = useState(false); - const { colors } = useTheme(); - - useEffect(() => { - if (isLoading) { - onPress(); - setIsLoading(false); - } - }, [isLoading, setIsLoading, onPress]); - const onPressWrapper = () => { - setIsLoading(true); - }; - return ( - - {isLoading ? ( - - ) : ( - - {label} - - )} - - ); -} - -const ActivityList = ({ - hasPendingTransaction, - header, - nativeCurrency, - network, - nextPage, - remainingItemsLabel, - requests, - sections, - transactionsCount, -}) => { - const { setScrollToTopRef } = useSectionListScrollToTopContext(); - - const pendingTransactionsCount = useMemo(() => { - let currentPendingTransactionsCount = 0; - const pendingTxSection = sections[requests?.length ? 1 : 0]; - - if (pendingTxSection && pendingTxSection.title === lang.t(lang.l.transactions.pending_title)) { - currentPendingTransactionsCount = pendingTxSection.data.length; - } - return currentPendingTransactionsCount; - }, [sections, requests]); - - const { colors } = useTheme(); - const renderSectionHeaderWithTheme = useCallback(({ section }) => renderSectionHeader({ colors, section }), [colors]); - - const handleListRef = ref => { - if (!ref) return; - setScrollToTopRef(ref); - }; - - if (network === Network.mainnet) { - return ( - remainingItemsLabel && } - ref={handleListRef} - ListHeaderComponent={header} - alwaysBounceVertical={false} - contentContainerStyle={{ paddingBottom: !transactionsCount ? 0 : 90 }} - extraData={{ - hasPendingTransaction, - nativeCurrency, - pendingTransactionsCount, - }} - testID={'wallet-activity-list'} - ListEmptyComponent={} - getItemLayout={getItemLayout} - initialNumToRender={12} - keyExtractor={keyExtractor} - removeClippedSubviews - renderSectionHeader={renderSectionHeaderWithTheme} - scrollIndicatorInsets={{ - bottom: safeAreaInsetValues.bottom + 14, - }} - sections={sections} - /> - ); - } - - return ( - - {header} - - ); -}; - -export default ActivityList; diff --git a/src/components/activity-list/ActivityList.tsx b/src/components/activity-list/ActivityList.tsx new file mode 100644 index 00000000000..326c06e3337 --- /dev/null +++ b/src/components/activity-list/ActivityList.tsx @@ -0,0 +1,133 @@ +import React, { useCallback, useEffect, useState } from 'react'; +import { SectionList, StyleSheet, View } from 'react-native'; +import sectionListGetItemLayout from 'react-native-section-list-get-item-layout'; +import ActivityIndicator from '../ActivityIndicator'; +import Spinner from '../Spinner'; +import { ButtonPressAnimation } from '../animations'; +import { CoinRowHeight } from '../coin-row/CoinRow'; +import Text from '../text/Text'; +import ActivityListEmptyState from './ActivityListEmptyState'; +import ActivityListHeader from './ActivityListHeader'; +import styled from '@/styled-thing'; +import { ThemeContextProps, useTheme } from '@/theme'; +import { useSectionListScrollToTopContext } from '@/navigation/SectionListScrollToTopContext'; +import { safeAreaInsetValues } from '@/utils'; +import { useAccountSettings, useAccountTransactions } from '@/hooks'; +import { usePendingTransactionsStore } from '@/state/pendingTransactions'; +import { TransactionSections, TransactionItemForSectionList } from '@/helpers/buildTransactionsSectionsSelector'; + +const sx = StyleSheet.create({ + sectionHeader: { + paddingVertical: 18, + }, +}); + +const ActivityListHeaderHeight = 42; +const TRANSACTION_COIN_ROW_VERTICAL_PADDING = 7; + +const getItemLayout = sectionListGetItemLayout({ + getItemHeight: () => CoinRowHeight + TRANSACTION_COIN_ROW_VERTICAL_PADDING * 2, + getSectionHeaderHeight: () => ActivityListHeaderHeight, +}); + +const keyExtractor = (data: TransactionSections['data'][number]) => { + if ('hash' in data) { + return (data.hash || data.timestamp ? data.timestamp?.toString() : performance.now().toString()) ?? performance.now().toString(); + } + return ( + (data.displayDetails?.timestampInMs ? data.displayDetails.timestampInMs.toString() : performance.now().toString()) ?? + performance.now().toString() + ); +}; + +const renderSectionHeader = ({ section, colors }: { section: TransactionSections; colors: ThemeContextProps['colors'] }) => { + return ( + + + + ); +}; + +const LoadingSpinner = android ? Spinner : ActivityIndicator; + +const FooterWrapper = styled(ButtonPressAnimation)({ + alignItems: 'center', + height: 40, + justifyContent: 'center', + paddingBottom: 10, + width: '100%', +}); + +function ListFooterComponent({ label, onPress }: { label: string; onPress: () => void }) { + const [isLoading, setIsLoading] = useState(false); + const { colors } = useTheme(); + + useEffect(() => { + if (isLoading) { + onPress(); + setIsLoading(false); + } + }, [isLoading, setIsLoading, onPress]); + const onPressWrapper = () => { + setIsLoading(true); + }; + return ( + + {isLoading ? ( + + ) : ( + + {label} + + )} + + ); +} + +const ActivityList = () => { + const { accountAddress, nativeCurrency } = useAccountSettings(); + + const { setScrollToTopRef } = useSectionListScrollToTopContext(); + const { sections, nextPage, transactionsCount, remainingItemsLabel } = useAccountTransactions(); + const pendingTransactions = usePendingTransactionsStore(state => state.pendingTransactions[accountAddress] || []); + + const { colors } = useTheme(); + const renderSectionHeaderWithTheme = useCallback( + ({ section }: { section: TransactionSections }) => renderSectionHeader({ colors, section }), + [colors] + ); + + const handleScrollToTopRef = (ref: SectionList | null) => { + if (!ref) return; + // @ts-expect-error - no idea why this is not working + setScrollToTopRef(ref); + }; + + return ( + + ListFooterComponent={() => remainingItemsLabel && } + ref={handleScrollToTopRef} + alwaysBounceVertical={false} + contentContainerStyle={{ paddingBottom: !transactionsCount ? 0 : 90 }} + extraData={{ + hasPendingTransaction: pendingTransactions.length > 0, + nativeCurrency, + pendingTransactionsCount: pendingTransactions.length, + }} + testID={'wallet-activity-list'} + ListEmptyComponent={} + // @ts-expect-error - mismatch between react-native-section-list-get-item-layout and SectionList + getItemLayout={getItemLayout} + initialNumToRender={12} + keyExtractor={keyExtractor} + removeClippedSubviews + renderSectionHeader={renderSectionHeaderWithTheme} + scrollIndicatorInsets={{ + bottom: safeAreaInsetValues.bottom + 14, + }} + sections={sections} + /> + ); +}; + +export default ActivityList; diff --git a/src/components/activity-list/ActivityListEmptyState.js b/src/components/activity-list/ActivityListEmptyState.tsx similarity index 87% rename from src/components/activity-list/ActivityListEmptyState.js rename to src/components/activity-list/ActivityListEmptyState.tsx index f744450074a..c99d12b31c9 100644 --- a/src/components/activity-list/ActivityListEmptyState.js +++ b/src/components/activity-list/ActivityListEmptyState.tsx @@ -16,13 +16,19 @@ const Container = styled(Column)({ width: 200, }); -const ActivityListEmptyState = ({ children, emoji, label }) => { +type ActivityListEmptyStateProps = { + children?: React.ReactNode; + emoji: string; + label: string; +}; + +const ActivityListEmptyState = ({ children, emoji, label }: ActivityListEmptyStateProps) => { const { top: topInset } = useSafeAreaInsets(); const { colors, isDarkMode } = useTheme(); return ( - {children} + {children && children} diff --git a/src/components/activity-list/LoadingState.js b/src/components/activity-list/LoadingState.tsx similarity index 76% rename from src/components/activity-list/LoadingState.js rename to src/components/activity-list/LoadingState.tsx index 5eeb07a2b20..3fd4e4f51f2 100644 --- a/src/components/activity-list/LoadingState.js +++ b/src/components/activity-list/LoadingState.tsx @@ -3,7 +3,11 @@ import { AssetListItemSkeleton } from '../asset-list'; import { Column } from '../layout'; import { times } from '@/helpers/utilities'; -const LoadingState = ({ children }) => ( +type LoadingStateProps = { + children: React.ReactNode; +}; + +const LoadingState = ({ children }: LoadingStateProps) => ( {children} diff --git a/src/components/activity-list/index.js b/src/components/activity-list/index.ts similarity index 100% rename from src/components/activity-list/index.js rename to src/components/activity-list/index.ts diff --git a/src/helpers/buildTransactionsSectionsSelector.tsx b/src/helpers/buildTransactionsSectionsSelector.tsx index 60ba4e14f18..ce22f1f1a3b 100644 --- a/src/helpers/buildTransactionsSectionsSelector.tsx +++ b/src/helpers/buildTransactionsSectionsSelector.tsx @@ -8,11 +8,29 @@ import * as i18n from '@/languages'; import { WalletconnectRequestData } from '@/redux/requests'; import { ThemeContextProps } from '@/theme'; import { Contact } from '@/redux/contacts'; +import { SectionListData } from 'react-native'; -type RainbowTransactionWithContact = RainbowTransaction & { +export type RainbowTransactionWithContact = RainbowTransaction & { contact: Contact | null; }; +type Section = { + title: string; + data: T[]; + renderItem: ({ item }: { item: T }) => JSX.Element; +}; + +export type WalletconnectSection = Section; +export type TransactionSection = Section; + +export type TransactionSections = WalletconnectSection | TransactionSection; + +export type TransactionItemForSectionList = WalletconnectRequestData | RainbowTransactionWithContact; + +export type TransactionSectionsResult = { + sections: SectionListData[]; +}; + // bad news const groupTransactionByDate = ({ status, minedAt }: { status: TransactionStatus; minedAt: string }) => { if (status === TransactionStatus.pending) { @@ -66,16 +84,12 @@ export const buildTransactionsSections = ({ theme: ThemeContextProps; transactions: RainbowTransaction[]; nativeCurrency: NativeCurrencyKey; -}) => { +}): TransactionSectionsResult => { if (!transactions) { return { sections: [] }; } - let sectionedTransactions: { - title: string; - data: RainbowTransactionWithContact[]; - renderItem: ({ item }: { item: RainbowTransactionWithContact }) => JSX.Element; - }[] = []; + let sectionedTransactions: TransactionSections[] = []; const transactionsWithContacts = transactions?.map(addContactInfo(contacts)); @@ -84,11 +98,7 @@ export const buildTransactionsSections = ({ const test = Object.keys(transactionsByDate); const filter = test.filter(key => key !== 'Dropped'); - const sectioned: { - title: string; - data: RainbowTransactionWithContact[]; - renderItem: ({ item }: { item: RainbowTransactionWithContact }) => JSX.Element; - }[] = filter.map((section: string) => { + const sectioned: TransactionSection[] = filter.map((section: string) => { const sectionData: RainbowTransactionWithContact[] = transactionsByDate[section].map(txn => { const typeTxn = txn as RainbowTransactionWithContact; const res = { @@ -118,18 +128,14 @@ export const buildTransactionsSections = ({ } } - // i18n - let requestsToApprove: any = []; if (!isEmpty(requests)) { - requestsToApprove = [ - { - data: requests, - renderItem: ({ item }: any) => , - title: i18n.t(i18n.l.walletconnect.requests), - }, - ]; + sectionedTransactions.push({ + data: requests, + renderItem: ({ item }: { item: WalletconnectRequestData }) => , + title: i18n.t(i18n.l.walletconnect.requests), + }); } return { - sections: requestsToApprove.concat(sectionedTransactions), + sections: sectionedTransactions as SectionListData[], }; }; diff --git a/src/navigation/SectionListScrollToTopContext.tsx b/src/navigation/SectionListScrollToTopContext.tsx index 6ceb07b898c..158b95450da 100644 --- a/src/navigation/SectionListScrollToTopContext.tsx +++ b/src/navigation/SectionListScrollToTopContext.tsx @@ -1,20 +1,22 @@ import React, { createContext, useState } from 'react'; import { SectionList } from 'react-native'; -export const SectionListScrollToTopContext = createContext<{ +type SectionListScrollToTopContextType = { scrollToTop: () => void; - setScrollToTopRef: (ref: SectionList | null) => void; -}>({ + setScrollToTopRef: (ref: SectionList | null) => void; +}; + +export const SectionListScrollToTopContext = createContext>({ scrollToTop: () => {}, setScrollToTopRef: () => {}, }); -type ScrollToTopProviderProps = { +type ScrollToTopProviderProps = { children: React.ReactNode; }; -const SectionListScrollToTopProvider: React.FC = ({ children }) => { - const [scrollToTopRef, setScrollToTopRef] = useState(null); +function SectionListScrollToTopProvider({ children }: ScrollToTopProviderProps) { + const [scrollToTopRef, setScrollToTopRef] = useState | null>(null); const scrollToTop = () => { if (!scrollToTopRef?.props.sections.length) return; @@ -28,8 +30,10 @@ const SectionListScrollToTopProvider: React.FC = ({ ch return ( {children} ); -}; +} -export const useSectionListScrollToTopContext = () => React.useContext(SectionListScrollToTopContext); +export function useSectionListScrollToTopContext() { + return React.useContext(SectionListScrollToTopContext) as SectionListScrollToTopContextType; +} export default SectionListScrollToTopProvider; diff --git a/src/screens/ENSIntroSheet.tsx b/src/screens/ENSIntroSheet.tsx index 2cd29eb9a00..e90ec57ebe5 100644 --- a/src/screens/ENSIntroSheet.tsx +++ b/src/screens/ENSIntroSheet.tsx @@ -223,7 +223,6 @@ export default function ENSIntroSheet() { {isLoading && ( - {/* @ts-expect-error JavaScript component */} )} diff --git a/src/screens/ProfileScreen.js b/src/screens/ProfileScreen.tsx similarity index 64% rename from src/screens/ProfileScreen.js rename to src/screens/ProfileScreen.tsx index bede588182e..63b32a3e6a6 100644 --- a/src/screens/ProfileScreen.js +++ b/src/screens/ProfileScreen.tsx @@ -1,10 +1,9 @@ -import { useIsFocused } from '@react-navigation/native'; -import React, { useCallback, useEffect, useState } from 'react'; +import React, { useCallback } from 'react'; import { ActivityList } from '../components/activity-list'; import { Page } from '../components/layout'; import { useNavigation } from '../navigation/Navigation'; import { ButtonPressAnimation } from '@/components/animations'; -import { useAccountProfile, useAccountSettings, useAccountTransactions, useRequests } from '@/hooks'; +import { useAccountProfile, useAccountSettings, useAccountTransactions } from '@/hooks'; import Routes from '@/navigation/routesNames'; import styled from '@/styled-thing'; import { position } from '@/styles'; @@ -13,34 +12,18 @@ import ImageAvatar from '@/components/contacts/ImageAvatar'; import { ContactAvatar } from '@/components/contacts'; import { usePendingTransactionWatcher } from '@/hooks/usePendingTransactionWatcher'; -const ACTIVITY_LIST_INITIALIZATION_DELAY = 5000; - const ProfileScreenPage = styled(Page)({ ...position.sizeAsObject('100%'), flex: 1, }); export default function ProfileScreen() { - const [activityListInitialized, setActivityListInitialized] = useState(false); - const isFocused = useIsFocused(); const { navigate } = useNavigation(); - const accountTransactions = useAccountTransactions(activityListInitialized, isFocused); - - const { isLoadingTransactions: isLoading, sections, transactionsCount } = accountTransactions; - const { pendingRequestCount } = useRequests(); - const { network, accountAddress } = useAccountSettings(); + const { accountAddress } = useAccountSettings(); const { accountSymbol, accountColor, accountImage } = useAccountProfile(); usePendingTransactionWatcher({ address: accountAddress }); - const isEmpty = !transactionsCount && !pendingRequestCount; - - useEffect(() => { - setTimeout(() => { - setActivityListInitialized(true); - }, ACTIVITY_LIST_INITIALIZATION_DELAY); - }, []); - const onChangeWallet = useCallback(() => { navigate(Routes.CHANGE_WALLET_SHEET); }, [navigate]); @@ -61,7 +44,7 @@ export default function ProfileScreen() { } /> - + ); } diff --git a/yarn.lock b/yarn.lock index ae432be3ab8..d917e8a6078 100644 --- a/yarn.lock +++ b/yarn.lock @@ -127,6 +127,18 @@ __metadata: languageName: node linkType: hard +"@babel/generator@npm:^7.25.6": + version: 7.25.6 + resolution: "@babel/generator@npm:7.25.6" + dependencies: + "@babel/types": "npm:^7.25.6" + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.25" + jsesc: "npm:^2.5.1" + checksum: 10c0/f89282cce4ddc63654470b98086994d219407d025497f483eb03ba102086e11e2b685b27122f6ff2e1d93b5b5fa0c3a6b7e974fbf2e4a75b685041a746a4291e + languageName: node + linkType: hard + "@babel/helper-annotate-as-pure@npm:^7.0.0, @babel/helper-annotate-as-pure@npm:^7.22.5, @babel/helper-annotate-as-pure@npm:^7.24.7": version: 7.24.7 resolution: "@babel/helper-annotate-as-pure@npm:7.24.7" @@ -188,6 +200,23 @@ __metadata: languageName: node linkType: hard +"@babel/helper-create-class-features-plugin@npm:^7.25.4": + version: 7.25.4 + resolution: "@babel/helper-create-class-features-plugin@npm:7.25.4" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.24.7" + "@babel/helper-member-expression-to-functions": "npm:^7.24.8" + "@babel/helper-optimise-call-expression": "npm:^7.24.7" + "@babel/helper-replace-supers": "npm:^7.25.0" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.24.7" + "@babel/traverse": "npm:^7.25.4" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/a765d9e0482e13cf96642fa8aa28e6f7d4d7d39f37840d6246e5e10a7c47f47c52d52522edd3073f229449d17ec0db6f9b7b5e398bff6bb0b4994d65957a164c + languageName: node + linkType: hard + "@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.24.7": version: 7.24.7 resolution: "@babel/helper-create-regexp-features-plugin@npm:7.24.7" @@ -341,7 +370,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-remap-async-to-generator@npm:^7.18.9": +"@babel/helper-remap-async-to-generator@npm:^7.18.9, @babel/helper-remap-async-to-generator@npm:^7.25.0": version: 7.25.0 resolution: "@babel/helper-remap-async-to-generator@npm:7.25.0" dependencies: @@ -526,6 +555,17 @@ __metadata: languageName: node linkType: hard +"@babel/parser@npm:^7.25.6": + version: 7.25.6 + resolution: "@babel/parser@npm:7.25.6" + dependencies: + "@babel/types": "npm:^7.25.6" + bin: + parser: ./bin/babel-parser.js + checksum: 10c0/f88a0e895dbb096fd37c4527ea97d12b5fc013720602580a941ac3a339698872f0c911e318c292b184c36b5fbe23b612f05aff9d24071bc847c7b1c21552c41d + languageName: node + linkType: hard + "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.24.7" @@ -988,6 +1028,20 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-async-generator-functions@npm:^7.24.3": + version: 7.25.4 + resolution: "@babel/plugin-transform-async-generator-functions@npm:7.25.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.24.8" + "@babel/helper-remap-async-to-generator": "npm:^7.25.0" + "@babel/plugin-syntax-async-generators": "npm:^7.8.4" + "@babel/traverse": "npm:^7.25.4" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/efed6f6be90b25ad77c15a622a0dc0b22dbf5d45599c207ab8fbc4e959aef21f574fa467d9cf872e45de664a46c32334e78dee2332d82f5f27e26249a34a0920 + languageName: node + linkType: hard + "@babel/plugin-transform-async-to-generator@npm:^7.20.0, @babel/plugin-transform-async-to-generator@npm:^7.20.7, @babel/plugin-transform-async-to-generator@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-async-to-generator@npm:7.24.7" @@ -1035,6 +1089,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-class-properties@npm:^7.24.1": + version: 7.25.4 + resolution: "@babel/plugin-transform-class-properties@npm:7.25.4" + dependencies: + "@babel/helper-create-class-features-plugin": "npm:^7.25.4" + "@babel/helper-plugin-utils": "npm:^7.24.8" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/0b41bc8a5920d3d17c7c06220b601cf43e0a32ac34f05f05cd0cdf08915e4521b1b707cb1e60942b4fc68a5dfac09f0444a8720e0c72ce76fb039e8ec5263115 + languageName: node + linkType: hard + "@babel/plugin-transform-class-static-block@npm:^7.22.0, @babel/plugin-transform-class-static-block@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-class-static-block@npm:7.24.7" @@ -1176,7 +1242,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-for-of@npm:^7.21.5, @babel/plugin-transform-for-of@npm:^7.24.7": +"@babel/plugin-transform-for-of@npm:^7.0.0, @babel/plugin-transform-for-of@npm:^7.21.5, @babel/plugin-transform-for-of@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-for-of@npm:7.24.7" dependencies: @@ -1224,7 +1290,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-logical-assignment-operators@npm:^7.22.0, @babel/plugin-transform-logical-assignment-operators@npm:^7.24.7": +"@babel/plugin-transform-logical-assignment-operators@npm:^7.22.0, @babel/plugin-transform-logical-assignment-operators@npm:^7.24.1, @babel/plugin-transform-logical-assignment-operators@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.24.7" dependencies: @@ -1321,7 +1387,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.0.0-0, @babel/plugin-transform-nullish-coalescing-operator@npm:^7.22.0, @babel/plugin-transform-nullish-coalescing-operator@npm:^7.24.7": +"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.0.0-0, @babel/plugin-transform-nullish-coalescing-operator@npm:^7.22.0, @babel/plugin-transform-nullish-coalescing-operator@npm:^7.24.1, @babel/plugin-transform-nullish-coalescing-operator@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.24.7" dependencies: @@ -1333,7 +1399,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-numeric-separator@npm:^7.22.0, @babel/plugin-transform-numeric-separator@npm:^7.24.7": +"@babel/plugin-transform-numeric-separator@npm:^7.22.0, @babel/plugin-transform-numeric-separator@npm:^7.24.1, @babel/plugin-transform-numeric-separator@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-numeric-separator@npm:7.24.7" dependencies: @@ -1345,7 +1411,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-object-rest-spread@npm:^7.22.0, @babel/plugin-transform-object-rest-spread@npm:^7.24.7": +"@babel/plugin-transform-object-rest-spread@npm:^7.22.0, @babel/plugin-transform-object-rest-spread@npm:^7.24.5, @babel/plugin-transform-object-rest-spread@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-object-rest-spread@npm:7.24.7" dependencies: @@ -1371,7 +1437,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-optional-catch-binding@npm:^7.22.0, @babel/plugin-transform-optional-catch-binding@npm:^7.24.7": +"@babel/plugin-transform-optional-catch-binding@npm:^7.22.0, @babel/plugin-transform-optional-catch-binding@npm:^7.24.1, @babel/plugin-transform-optional-catch-binding@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.24.7" dependencies: @@ -1383,7 +1449,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-optional-chaining@npm:^7.0.0-0, @babel/plugin-transform-optional-chaining@npm:^7.22.0, @babel/plugin-transform-optional-chaining@npm:^7.24.7, @babel/plugin-transform-optional-chaining@npm:^7.24.8": +"@babel/plugin-transform-optional-chaining@npm:^7.0.0-0, @babel/plugin-transform-optional-chaining@npm:^7.22.0, @babel/plugin-transform-optional-chaining@npm:^7.24.5, @babel/plugin-transform-optional-chaining@npm:^7.24.7, @babel/plugin-transform-optional-chaining@npm:^7.24.8": version: 7.24.8 resolution: "@babel/plugin-transform-optional-chaining@npm:7.24.8" dependencies: @@ -1504,7 +1570,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-regenerator@npm:^7.21.5, @babel/plugin-transform-regenerator@npm:^7.24.7": +"@babel/plugin-transform-regenerator@npm:^7.20.0, @babel/plugin-transform-regenerator@npm:^7.21.5, @babel/plugin-transform-regenerator@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-regenerator@npm:7.24.7" dependencies: @@ -2007,6 +2073,21 @@ __metadata: languageName: node linkType: hard +"@babel/traverse@npm:^7.25.4": + version: 7.25.6 + resolution: "@babel/traverse@npm:7.25.6" + dependencies: + "@babel/code-frame": "npm:^7.24.7" + "@babel/generator": "npm:^7.25.6" + "@babel/parser": "npm:^7.25.6" + "@babel/template": "npm:^7.25.0" + "@babel/types": "npm:^7.25.6" + debug: "npm:^4.3.1" + globals: "npm:^11.1.0" + checksum: 10c0/964304c6fa46bd705428ba380bf73177eeb481c3f26d82ea3d0661242b59e0dd4329d23886035e9ca9a4ceb565c03a76fd615109830687a27bcd350059d6377e + languageName: node + linkType: hard + "@babel/types@npm:^7.0.0, @babel/types@npm:^7.0.0-beta.49, @babel/types@npm:^7.1.6, @babel/types@npm:^7.18.9, @babel/types@npm:^7.20.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.22.0, @babel/types@npm:^7.24.7, @babel/types@npm:^7.24.8, @babel/types@npm:^7.24.9, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": version: 7.24.9 resolution: "@babel/types@npm:7.24.9" @@ -2029,6 +2110,17 @@ __metadata: languageName: node linkType: hard +"@babel/types@npm:^7.25.6": + version: 7.25.6 + resolution: "@babel/types@npm:7.25.6" + dependencies: + "@babel/helper-string-parser": "npm:^7.24.8" + "@babel/helper-validator-identifier": "npm:^7.24.7" + to-fast-properties: "npm:^2.0.0" + checksum: 10c0/89d45fbee24e27a05dca2d08300a26b905bd384a480448823f6723c72d3a30327c517476389b7280ce8cb9a2c48ef8f47da7f9f6d326faf6f53fd6b68237bdc4 + languageName: node + linkType: hard + "@bankify/react-native-animate-number@npm:0.2.1": version: 0.2.1 resolution: "@bankify/react-native-animate-number@npm:0.2.1" @@ -4500,6 +4592,18 @@ __metadata: languageName: node linkType: hard +"@react-native-community/cli-clean@npm:14.1.0": + version: 14.1.0 + resolution: "@react-native-community/cli-clean@npm:14.1.0" + dependencies: + "@react-native-community/cli-tools": "npm:14.1.0" + chalk: "npm:^4.1.2" + execa: "npm:^5.0.0" + fast-glob: "npm:^3.3.2" + checksum: 10c0/57ed359c11b5f58da61ca22213394d56db815538d0df459a99017fb38450d35b6ef5c0ccc997c48c34160fc08898147593d7cd1e8ab78b3cea988020d0d6ce88 + languageName: node + linkType: hard + "@react-native-community/cli-config@npm:13.6.9": version: 13.6.9 resolution: "@react-native-community/cli-config@npm:13.6.9" @@ -4514,6 +4618,20 @@ __metadata: languageName: node linkType: hard +"@react-native-community/cli-config@npm:14.1.0": + version: 14.1.0 + resolution: "@react-native-community/cli-config@npm:14.1.0" + dependencies: + "@react-native-community/cli-tools": "npm:14.1.0" + chalk: "npm:^4.1.2" + cosmiconfig: "npm:^9.0.0" + deepmerge: "npm:^4.3.0" + fast-glob: "npm:^3.3.2" + joi: "npm:^17.2.1" + checksum: 10c0/3e4ebea0eb17e52c42e5d60eb9219c84f2cf8d804bc083ae483ffae504bf0c6077c5e859c72311caa319f0dc8d2fc4b69c4230ee3aba5e9f2c1c0461c9c538ea + languageName: node + linkType: hard + "@react-native-community/cli-debugger-ui@npm:13.6.9": version: 13.6.9 resolution: "@react-native-community/cli-debugger-ui@npm:13.6.9" @@ -4523,6 +4641,15 @@ __metadata: languageName: node linkType: hard +"@react-native-community/cli-debugger-ui@npm:14.1.0": + version: 14.1.0 + resolution: "@react-native-community/cli-debugger-ui@npm:14.1.0" + dependencies: + serve-static: "npm:^1.13.1" + checksum: 10c0/e673412c042ed2c40e06b59e85c9964303384d69547b13a7e093ad53a8ddc9a9df4cf0ba647b645601e362bb37c2d8bd8616097e6e880c4da04df1dd1f22d87e + languageName: node + linkType: hard + "@react-native-community/cli-doctor@npm:13.6.9": version: 13.6.9 resolution: "@react-native-community/cli-doctor@npm:13.6.9" @@ -4548,6 +4675,30 @@ __metadata: languageName: node linkType: hard +"@react-native-community/cli-doctor@npm:14.1.0": + version: 14.1.0 + resolution: "@react-native-community/cli-doctor@npm:14.1.0" + dependencies: + "@react-native-community/cli-config": "npm:14.1.0" + "@react-native-community/cli-platform-android": "npm:14.1.0" + "@react-native-community/cli-platform-apple": "npm:14.1.0" + "@react-native-community/cli-platform-ios": "npm:14.1.0" + "@react-native-community/cli-tools": "npm:14.1.0" + chalk: "npm:^4.1.2" + command-exists: "npm:^1.2.8" + deepmerge: "npm:^4.3.0" + envinfo: "npm:^7.13.0" + execa: "npm:^5.0.0" + node-stream-zip: "npm:^1.9.1" + ora: "npm:^5.4.1" + semver: "npm:^7.5.2" + strip-ansi: "npm:^5.2.0" + wcwidth: "npm:^1.0.1" + yaml: "npm:^2.2.1" + checksum: 10c0/4293e05195deb6d5e920317874c27dd0f7a39da0f7c5152f7e72187d92b1915d576929d069c3e92869d474a1ae36d2a77b9e298b378019519b112384308f5240 + languageName: node + linkType: hard + "@react-native-community/cli-hermes@npm:13.6.9": version: 13.6.9 resolution: "@react-native-community/cli-hermes@npm:13.6.9" @@ -4574,6 +4725,20 @@ __metadata: languageName: node linkType: hard +"@react-native-community/cli-platform-android@npm:14.1.0": + version: 14.1.0 + resolution: "@react-native-community/cli-platform-android@npm:14.1.0" + dependencies: + "@react-native-community/cli-tools": "npm:14.1.0" + chalk: "npm:^4.1.2" + execa: "npm:^5.0.0" + fast-glob: "npm:^3.3.2" + fast-xml-parser: "npm:^4.4.1" + logkitty: "npm:^0.7.1" + checksum: 10c0/634b0303e783c0e481b03af0a4223bf70b98d09fdada69b10a820d9d637ba76f1674451be13aaf78bbb9a094e7a2cd59cc7b840b5a4ea73ba9b8a32e7480f778 + languageName: node + linkType: hard + "@react-native-community/cli-platform-apple@npm:13.6.9": version: 13.6.9 resolution: "@react-native-community/cli-platform-apple@npm:13.6.9" @@ -4588,6 +4753,20 @@ __metadata: languageName: node linkType: hard +"@react-native-community/cli-platform-apple@npm:14.1.0": + version: 14.1.0 + resolution: "@react-native-community/cli-platform-apple@npm:14.1.0" + dependencies: + "@react-native-community/cli-tools": "npm:14.1.0" + chalk: "npm:^4.1.2" + execa: "npm:^5.0.0" + fast-glob: "npm:^3.3.2" + fast-xml-parser: "npm:^4.4.1" + ora: "npm:^5.4.1" + checksum: 10c0/04c15a024b99a17a0f7fe75dcf2c454d541021950e4fbff494a2ced11654ee9f2a49944f5a6d1c0329abd33a0a95c3f5b58a11d3790968c93f9f1dc769c517a3 + languageName: node + linkType: hard + "@react-native-community/cli-platform-ios@npm:13.6.9": version: 13.6.9 resolution: "@react-native-community/cli-platform-ios@npm:13.6.9" @@ -4597,6 +4776,15 @@ __metadata: languageName: node linkType: hard +"@react-native-community/cli-platform-ios@npm:14.1.0": + version: 14.1.0 + resolution: "@react-native-community/cli-platform-ios@npm:14.1.0" + dependencies: + "@react-native-community/cli-platform-apple": "npm:14.1.0" + checksum: 10c0/67f89496fe4405dc055ab478e9331ca8c34687f2983bb421188834e1ef9877c1e47fb420f58eb6d4df3088cd64454eb6b3af1c9c02c771f654443fae3033d515 + languageName: node + linkType: hard + "@react-native-community/cli-server-api@npm:13.6.9": version: 13.6.9 resolution: "@react-native-community/cli-server-api@npm:13.6.9" @@ -4614,6 +4802,23 @@ __metadata: languageName: node linkType: hard +"@react-native-community/cli-server-api@npm:14.1.0": + version: 14.1.0 + resolution: "@react-native-community/cli-server-api@npm:14.1.0" + dependencies: + "@react-native-community/cli-debugger-ui": "npm:14.1.0" + "@react-native-community/cli-tools": "npm:14.1.0" + compression: "npm:^1.7.1" + connect: "npm:^3.6.5" + errorhandler: "npm:^1.5.1" + nocache: "npm:^3.0.1" + pretty-format: "npm:^26.6.2" + serve-static: "npm:^1.13.1" + ws: "npm:^6.2.3" + checksum: 10c0/e79ba3311b70661bdabfdfa4d5f6a4737081140332093811ea67cee38ac15b835e829830e996a105842cf166fa0dc4c9d697fff34c8f48ca69490b40651b21ac + languageName: node + linkType: hard + "@react-native-community/cli-tools@npm:13.6.9": version: 13.6.9 resolution: "@react-native-community/cli-tools@npm:13.6.9" @@ -4633,6 +4838,24 @@ __metadata: languageName: node linkType: hard +"@react-native-community/cli-tools@npm:14.1.0": + version: 14.1.0 + resolution: "@react-native-community/cli-tools@npm:14.1.0" + dependencies: + appdirsjs: "npm:^1.2.4" + chalk: "npm:^4.1.2" + execa: "npm:^5.0.0" + find-up: "npm:^5.0.0" + mime: "npm:^2.4.1" + open: "npm:^6.2.0" + ora: "npm:^5.4.1" + semver: "npm:^7.5.2" + shell-quote: "npm:^1.7.3" + sudo-prompt: "npm:^9.0.0" + checksum: 10c0/982fff928966f44db88bb1e2b968cf9908b4156570bd2a8f71d087c9b64c3840e92db4e5217d3c787b1ffd57c3fd1c79aab5f81611e8862f75e22c4e49b7b322 + languageName: node + linkType: hard + "@react-native-community/cli-types@npm:13.6.9": version: 13.6.9 resolution: "@react-native-community/cli-types@npm:13.6.9" @@ -4642,6 +4865,15 @@ __metadata: languageName: node linkType: hard +"@react-native-community/cli-types@npm:14.1.0": + version: 14.1.0 + resolution: "@react-native-community/cli-types@npm:14.1.0" + dependencies: + joi: "npm:^17.2.1" + checksum: 10c0/bb7acced460cc73b3c849f07df52794c4be7845669adb97834b0b715c325266bec9cfefd89b4ac8d31a464073790d99bc624f1454d3579630a36dd9502033b36 + languageName: node + linkType: hard + "@react-native-community/cli@npm:13.6.9": version: 13.6.9 resolution: "@react-native-community/cli@npm:13.6.9" @@ -4669,6 +4901,32 @@ __metadata: languageName: node linkType: hard +"@react-native-community/cli@npm:14.1.0": + version: 14.1.0 + resolution: "@react-native-community/cli@npm:14.1.0" + dependencies: + "@react-native-community/cli-clean": "npm:14.1.0" + "@react-native-community/cli-config": "npm:14.1.0" + "@react-native-community/cli-debugger-ui": "npm:14.1.0" + "@react-native-community/cli-doctor": "npm:14.1.0" + "@react-native-community/cli-server-api": "npm:14.1.0" + "@react-native-community/cli-tools": "npm:14.1.0" + "@react-native-community/cli-types": "npm:14.1.0" + chalk: "npm:^4.1.2" + commander: "npm:^9.4.1" + deepmerge: "npm:^4.3.0" + execa: "npm:^5.0.0" + find-up: "npm:^5.0.0" + fs-extra: "npm:^8.1.0" + graceful-fs: "npm:^4.1.3" + prompts: "npm:^2.4.2" + semver: "npm:^7.5.2" + bin: + rnc-cli: build/bin.js + checksum: 10c0/6f9cbba7d0f8c851333efc286fb469c59c61c7b5ce79dcfa4d6a4b205e917e99d0df0174db73b9f37b4160935b73d523cfd34b82e5171f8cca16b1e52d2525c4 + languageName: node + linkType: hard + "@react-native-community/netinfo@npm:9.0.0": version: 9.0.0 resolution: "@react-native-community/netinfo@npm:9.0.0" @@ -4745,6 +5003,13 @@ __metadata: languageName: node linkType: hard +"@react-native/assets-registry@npm:0.75.3": + version: 0.75.3 + resolution: "@react-native/assets-registry@npm:0.75.3" + checksum: 10c0/3e3fdd873223f7450f9ba71d70381acd36a2a50410c6d927a08f100f8022844dfd5dc6df0d057b3286eed840fb24773ae5953af0f607625adeccafd9205471d6 + languageName: node + linkType: hard + "@react-native/babel-plugin-codegen@npm:0.74.83": version: 0.74.83 resolution: "@react-native/babel-plugin-codegen@npm:0.74.83" @@ -4763,6 +5028,15 @@ __metadata: languageName: node linkType: hard +"@react-native/babel-plugin-codegen@npm:0.75.3": + version: 0.75.3 + resolution: "@react-native/babel-plugin-codegen@npm:0.75.3" + dependencies: + "@react-native/codegen": "npm:0.75.3" + checksum: 10c0/fefea255bab71ea1babe26e6256ff1f21e0743502ce2721ed596e67774de64c2087628d5a4d0c37fca39bb5a0e4c21ebfd0778a2a5876b232ccd4d1b6e06a6b9 + languageName: node + linkType: hard + "@react-native/babel-preset@npm:0.74.83": version: 0.74.83 resolution: "@react-native/babel-preset@npm:0.74.83" @@ -4869,6 +5143,61 @@ __metadata: languageName: node linkType: hard +"@react-native/babel-preset@npm:0.75.3": + version: 0.75.3 + resolution: "@react-native/babel-preset@npm:0.75.3" + dependencies: + "@babel/core": "npm:^7.20.0" + "@babel/plugin-proposal-export-default-from": "npm:^7.0.0" + "@babel/plugin-syntax-dynamic-import": "npm:^7.8.0" + "@babel/plugin-syntax-export-default-from": "npm:^7.0.0" + "@babel/plugin-syntax-flow": "npm:^7.18.0" + "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.0.0" + "@babel/plugin-syntax-optional-chaining": "npm:^7.0.0" + "@babel/plugin-transform-arrow-functions": "npm:^7.0.0" + "@babel/plugin-transform-async-generator-functions": "npm:^7.24.3" + "@babel/plugin-transform-async-to-generator": "npm:^7.20.0" + "@babel/plugin-transform-block-scoping": "npm:^7.0.0" + "@babel/plugin-transform-class-properties": "npm:^7.24.1" + "@babel/plugin-transform-classes": "npm:^7.0.0" + "@babel/plugin-transform-computed-properties": "npm:^7.0.0" + "@babel/plugin-transform-destructuring": "npm:^7.20.0" + "@babel/plugin-transform-flow-strip-types": "npm:^7.20.0" + "@babel/plugin-transform-for-of": "npm:^7.0.0" + "@babel/plugin-transform-function-name": "npm:^7.0.0" + "@babel/plugin-transform-literals": "npm:^7.0.0" + "@babel/plugin-transform-logical-assignment-operators": "npm:^7.24.1" + "@babel/plugin-transform-modules-commonjs": "npm:^7.0.0" + "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.0.0" + "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.24.1" + "@babel/plugin-transform-numeric-separator": "npm:^7.24.1" + "@babel/plugin-transform-object-rest-spread": "npm:^7.24.5" + "@babel/plugin-transform-optional-catch-binding": "npm:^7.24.1" + "@babel/plugin-transform-optional-chaining": "npm:^7.24.5" + "@babel/plugin-transform-parameters": "npm:^7.0.0" + "@babel/plugin-transform-private-methods": "npm:^7.22.5" + "@babel/plugin-transform-private-property-in-object": "npm:^7.22.11" + "@babel/plugin-transform-react-display-name": "npm:^7.0.0" + "@babel/plugin-transform-react-jsx": "npm:^7.0.0" + "@babel/plugin-transform-react-jsx-self": "npm:^7.0.0" + "@babel/plugin-transform-react-jsx-source": "npm:^7.0.0" + "@babel/plugin-transform-regenerator": "npm:^7.20.0" + "@babel/plugin-transform-runtime": "npm:^7.0.0" + "@babel/plugin-transform-shorthand-properties": "npm:^7.0.0" + "@babel/plugin-transform-spread": "npm:^7.0.0" + "@babel/plugin-transform-sticky-regex": "npm:^7.0.0" + "@babel/plugin-transform-typescript": "npm:^7.5.0" + "@babel/plugin-transform-unicode-regex": "npm:^7.0.0" + "@babel/template": "npm:^7.0.0" + "@react-native/babel-plugin-codegen": "npm:0.75.3" + babel-plugin-transform-flow-enums: "npm:^0.0.2" + react-refresh: "npm:^0.14.0" + peerDependencies: + "@babel/core": "*" + checksum: 10c0/293ca45e6e2a5890f24e2f556e399eec4219fce50d65ad894fb1524712bccade8acea47b229d75a6d95522cec547a7856a4201eb2ceb683b1843aad4e01dec8c + languageName: node + linkType: hard + "@react-native/codegen@npm:0.74.83": version: 0.74.83 resolution: "@react-native/codegen@npm:0.74.83" @@ -4903,6 +5232,24 @@ __metadata: languageName: node linkType: hard +"@react-native/codegen@npm:0.75.3": + version: 0.75.3 + resolution: "@react-native/codegen@npm:0.75.3" + dependencies: + "@babel/parser": "npm:^7.20.0" + glob: "npm:^7.1.1" + hermes-parser: "npm:0.22.0" + invariant: "npm:^2.2.4" + jscodeshift: "npm:^0.14.0" + mkdirp: "npm:^0.5.1" + nullthrows: "npm:^1.1.1" + yargs: "npm:^17.6.2" + peerDependencies: + "@babel/preset-env": ^7.1.6 + checksum: 10c0/2a0a6c5b89443e363632d871c2816b0c72cf036038ab364e42b641ca0069cbc5b91b6fe13df227d97b0262b2e955d2a1932e271d68e15706941aba39b378f670 + languageName: node + linkType: hard + "@react-native/community-cli-plugin@npm:0.74.85": version: 0.74.85 resolution: "@react-native/community-cli-plugin@npm:0.74.85" @@ -4923,6 +5270,25 @@ __metadata: languageName: node linkType: hard +"@react-native/community-cli-plugin@npm:0.75.3": + version: 0.75.3 + resolution: "@react-native/community-cli-plugin@npm:0.75.3" + dependencies: + "@react-native-community/cli-server-api": "npm:14.1.0" + "@react-native-community/cli-tools": "npm:14.1.0" + "@react-native/dev-middleware": "npm:0.75.3" + "@react-native/metro-babel-transformer": "npm:0.75.3" + chalk: "npm:^4.0.0" + execa: "npm:^5.1.1" + metro: "npm:^0.80.3" + metro-config: "npm:^0.80.3" + metro-core: "npm:^0.80.3" + node-fetch: "npm:^2.2.0" + readline: "npm:^1.3.0" + checksum: 10c0/b00ca74f7f2aa6da37892c52e0ad147b7654c251bacf1d751f63b201f8137beaba446f07102652ea4e74116ee710f4abd4ceb0f48aa62f972b1eba1cc673ec07 + languageName: node + linkType: hard + "@react-native/debugger-frontend@npm:0.74.85": version: 0.74.85 resolution: "@react-native/debugger-frontend@npm:0.74.85" @@ -4930,6 +5296,13 @@ __metadata: languageName: node linkType: hard +"@react-native/debugger-frontend@npm:0.75.3": + version: 0.75.3 + resolution: "@react-native/debugger-frontend@npm:0.75.3" + checksum: 10c0/0232d2f3f4bf47a560ee46d2f3b82ab554ee72dbca0fc6ebfc6b5368c98d75d90712c4aa16c616e6549889650b6020dd88940cc64e03b45a9d89051a17f1b230 + languageName: node + linkType: hard + "@react-native/dev-middleware@npm:0.74.85": version: 0.74.85 resolution: "@react-native/dev-middleware@npm:0.74.85" @@ -4951,6 +5324,26 @@ __metadata: languageName: node linkType: hard +"@react-native/dev-middleware@npm:0.75.3": + version: 0.75.3 + resolution: "@react-native/dev-middleware@npm:0.75.3" + dependencies: + "@isaacs/ttlcache": "npm:^1.4.1" + "@react-native/debugger-frontend": "npm:0.75.3" + chrome-launcher: "npm:^0.15.2" + chromium-edge-launcher: "npm:^0.2.0" + connect: "npm:^3.6.5" + debug: "npm:^2.2.0" + node-fetch: "npm:^2.2.0" + nullthrows: "npm:^1.1.1" + open: "npm:^7.0.3" + selfsigned: "npm:^2.4.1" + serve-static: "npm:^1.13.1" + ws: "npm:^6.2.2" + checksum: 10c0/52d9ad8440bfefe55a16495e014f0fa6270c594891f1c442ae752108aa1233353cfe25212b17badfe0b27dae24ea9936cb5d921169f0cd62b5226f5fb6de2b06 + languageName: node + linkType: hard + "@react-native/gradle-plugin@npm:0.74.85": version: 0.74.85 resolution: "@react-native/gradle-plugin@npm:0.74.85" @@ -4958,6 +5351,13 @@ __metadata: languageName: node linkType: hard +"@react-native/gradle-plugin@npm:0.75.3": + version: 0.75.3 + resolution: "@react-native/gradle-plugin@npm:0.75.3" + checksum: 10c0/825a6b27d719b74e49032b9868cac39aebf29159bf123549ad91df36018a6f587da7988b340b6b76687999b5e3ca096a35b896e2312a6bccce696a6d80de8c69 + languageName: node + linkType: hard + "@react-native/js-polyfills@npm:0.74.83": version: 0.74.83 resolution: "@react-native/js-polyfills@npm:0.74.83" @@ -4972,6 +5372,13 @@ __metadata: languageName: node linkType: hard +"@react-native/js-polyfills@npm:0.75.3": + version: 0.75.3 + resolution: "@react-native/js-polyfills@npm:0.75.3" + checksum: 10c0/5d8c8a35fa03570a5b41b5a49c92efedaeb6ddf9ac1436103aca711430e23aeeca0390bf73c2880758d60b5fc1905daf394eae75a0dc3d5d62b5df2586b787d4 + languageName: node + linkType: hard + "@react-native/metro-babel-transformer@npm:0.74.83": version: 0.74.83 resolution: "@react-native/metro-babel-transformer@npm:0.74.83" @@ -5000,6 +5407,20 @@ __metadata: languageName: node linkType: hard +"@react-native/metro-babel-transformer@npm:0.75.3": + version: 0.75.3 + resolution: "@react-native/metro-babel-transformer@npm:0.75.3" + dependencies: + "@babel/core": "npm:^7.20.0" + "@react-native/babel-preset": "npm:0.75.3" + hermes-parser: "npm:0.22.0" + nullthrows: "npm:^1.1.1" + peerDependencies: + "@babel/core": "*" + checksum: 10c0/0f9eedeb5106da3e2de64aa308081103ddaa113fae10d3f5c4d3bf5dd0791fa5b7e848b23d1ddc466197279f6a23a28141ba2078e3ec6ec41a26667be82ad9be + languageName: node + linkType: hard + "@react-native/metro-config@npm:0.74.83": version: 0.74.83 resolution: "@react-native/metro-config@npm:0.74.83" @@ -5026,6 +5447,13 @@ __metadata: languageName: node linkType: hard +"@react-native/normalize-colors@npm:0.75.3": + version: 0.75.3 + resolution: "@react-native/normalize-colors@npm:0.75.3" + checksum: 10c0/1dae85647ffaf8306f9f35ae4dc1cd438a03075e9a2c245c52a119fd643f9ce98813b7036e2665efed788dd82c071c6c9e25b92666320a374af332aae50f949d + languageName: node + linkType: hard + "@react-native/typescript-config@npm:0.74.83": version: 0.74.83 resolution: "@react-native/typescript-config@npm:0.74.83" @@ -5050,6 +5478,23 @@ __metadata: languageName: node linkType: hard +"@react-native/virtualized-lists@npm:0.75.3": + version: 0.75.3 + resolution: "@react-native/virtualized-lists@npm:0.75.3" + dependencies: + invariant: "npm:^2.2.4" + nullthrows: "npm:^1.1.1" + peerDependencies: + "@types/react": ^18.2.6 + react: "*" + react-native: "*" + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10c0/2b52507497aff4f8b7204f0fef3562be10e76581f0ed787f817e7fb38f667f87208cd395e126bc911c685b69a5557e460c7b09cbc16a3d2b6d4640edf73cf9f9 + languageName: node + linkType: hard + "@react-native/virtualized-lists@npm:^0.72.4": version: 0.72.8 resolution: "@react-native/virtualized-lists@npm:0.72.8" @@ -6498,6 +6943,16 @@ __metadata: languageName: node linkType: hard +"@types/react-native-indicators@npm:0.16.6": + version: 0.16.6 + resolution: "@types/react-native-indicators@npm:0.16.6" + dependencies: + "@types/react": "npm:*" + react-native: "npm:*" + checksum: 10c0/057d4f68be6143e44cfed622728c66f577b4fae48034da9922475cf81b895077e0ee325c76b10f4361bd17a6eb71cabcf2c8bc61413e30767a498bfb3c80fee0 + languageName: node + linkType: hard + "@types/react-native@npm:*": version: 0.72.8 resolution: "@types/react-native@npm:0.72.8" @@ -7927,6 +8382,7 @@ __metadata: "@types/qs": "npm:6.9.7" "@types/react": "npm:18.2.65" "@types/react-native-extra-dimensions-android": "npm:1.2.3" + "@types/react-native-indicators": "npm:0.16.6" "@types/react-redux": "npm:7.1.9" "@types/react-test-renderer": "npm:18.3.0" "@types/styled-components": "npm:5.1.7" @@ -10264,6 +10720,20 @@ __metadata: languageName: node linkType: hard +"chromium-edge-launcher@npm:^0.2.0": + version: 0.2.0 + resolution: "chromium-edge-launcher@npm:0.2.0" + dependencies: + "@types/node": "npm:*" + escape-string-regexp: "npm:^4.0.0" + is-wsl: "npm:^2.2.0" + lighthouse-logger: "npm:^1.0.0" + mkdirp: "npm:^1.0.4" + rimraf: "npm:^3.0.2" + checksum: 10c0/880972816dd9b95c0eb77d1f707569667a8cce7cc29fe9c8d199c47fdfbe4971e9da3e5a29f61c4ecec29437ac7cebbbb5afc30bec96306579d1121e7340606a + languageName: node + linkType: hard + "ci-info@npm:^2.0.0": version: 2.0.0 resolution: "ci-info@npm:2.0.0" @@ -10916,6 +11386,23 @@ __metadata: languageName: node linkType: hard +"cosmiconfig@npm:^9.0.0": + version: 9.0.0 + resolution: "cosmiconfig@npm:9.0.0" + dependencies: + env-paths: "npm:^2.2.1" + import-fresh: "npm:^3.3.0" + js-yaml: "npm:^4.1.0" + parse-json: "npm:^5.2.0" + peerDependencies: + typescript: ">=4.9.5" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/1c1703be4f02a250b1d6ca3267e408ce16abfe8364193891afc94c2d5c060b69611fdc8d97af74b7e6d5d1aac0ab2fb94d6b079573146bc2d756c2484ce5f0ee + languageName: node + linkType: hard + "crc-32@npm:^1.2.0": version: 1.2.2 resolution: "crc-32@npm:1.2.2" @@ -12315,14 +12802,14 @@ __metadata: languageName: node linkType: hard -"env-paths@npm:^2.2.0": +"env-paths@npm:^2.2.0, env-paths@npm:^2.2.1": version: 2.2.1 resolution: "env-paths@npm:2.2.1" checksum: 10c0/285325677bf00e30845e330eec32894f5105529db97496ee3f598478e50f008c5352a41a30e5e72ec9de8a542b5a570b85699cd63bd2bc646dbcb9f311d83bc4 languageName: node linkType: hard -"envinfo@npm:^7.10.0": +"envinfo@npm:^7.10.0, envinfo@npm:^7.13.0": version: 7.14.0 resolution: "envinfo@npm:7.14.0" bin: @@ -13459,7 +13946,7 @@ __metadata: languageName: node linkType: hard -"fast-xml-parser@npm:^4.0.12, fast-xml-parser@npm:^4.2.4": +"fast-xml-parser@npm:^4.0.12, fast-xml-parser@npm:^4.2.4, fast-xml-parser@npm:^4.4.1": version: 4.5.0 resolution: "fast-xml-parser@npm:4.5.0" dependencies: @@ -14824,6 +15311,13 @@ __metadata: languageName: node linkType: hard +"hermes-estree@npm:0.22.0": + version: 0.22.0 + resolution: "hermes-estree@npm:0.22.0" + checksum: 10c0/4e39ea6b7032568c2d314268e0cbe807b0d004fa397886d8416b1b695bfa477bd4571617b03f24845228e747554491f4bfb13bbb0e289659d7c57ea02273c050 + languageName: node + linkType: hard + "hermes-parser@npm:0.19.1": version: 0.19.1 resolution: "hermes-parser@npm:0.19.1" @@ -14842,6 +15336,15 @@ __metadata: languageName: node linkType: hard +"hermes-parser@npm:0.22.0": + version: 0.22.0 + resolution: "hermes-parser@npm:0.22.0" + dependencies: + hermes-estree: "npm:0.22.0" + checksum: 10c0/095fad12ccd21ed151494c61b5b900abde78d89579e34c1748a526eed0f64657bee2cd3f30ae270881092d8f244e3386266b78496b866428b7d215fa13daef1e + languageName: node + linkType: hard + "hermes-profile-transformer@npm:^0.0.6": version: 0.0.6 resolution: "hermes-profile-transformer@npm:0.0.6" @@ -15159,7 +15662,7 @@ __metadata: languageName: node linkType: hard -"import-fresh@npm:^3.0.0, import-fresh@npm:^3.2.1": +"import-fresh@npm:^3.0.0, import-fresh@npm:^3.2.1, import-fresh@npm:^3.3.0": version: 3.3.0 resolution: "import-fresh@npm:3.3.0" dependencies: @@ -21540,6 +22043,61 @@ react-native-safe-area-view@rainbow-me/react-native-safe-area-view: languageName: node linkType: hard +"react-native@npm:*": + version: 0.75.3 + resolution: "react-native@npm:0.75.3" + dependencies: + "@jest/create-cache-key-function": "npm:^29.6.3" + "@react-native-community/cli": "npm:14.1.0" + "@react-native-community/cli-platform-android": "npm:14.1.0" + "@react-native-community/cli-platform-ios": "npm:14.1.0" + "@react-native/assets-registry": "npm:0.75.3" + "@react-native/codegen": "npm:0.75.3" + "@react-native/community-cli-plugin": "npm:0.75.3" + "@react-native/gradle-plugin": "npm:0.75.3" + "@react-native/js-polyfills": "npm:0.75.3" + "@react-native/normalize-colors": "npm:0.75.3" + "@react-native/virtualized-lists": "npm:0.75.3" + abort-controller: "npm:^3.0.0" + anser: "npm:^1.4.9" + ansi-regex: "npm:^5.0.0" + base64-js: "npm:^1.5.1" + chalk: "npm:^4.0.0" + commander: "npm:^9.4.1" + event-target-shim: "npm:^5.0.1" + flow-enums-runtime: "npm:^0.0.6" + glob: "npm:^7.1.1" + invariant: "npm:^2.2.4" + jest-environment-node: "npm:^29.6.3" + jsc-android: "npm:^250231.0.0" + memoize-one: "npm:^5.0.0" + metro-runtime: "npm:^0.80.3" + metro-source-map: "npm:^0.80.3" + mkdirp: "npm:^0.5.1" + nullthrows: "npm:^1.1.1" + pretty-format: "npm:^26.5.2" + promise: "npm:^8.3.0" + react-devtools-core: "npm:^5.3.1" + react-refresh: "npm:^0.14.0" + regenerator-runtime: "npm:^0.13.2" + scheduler: "npm:0.24.0-canary-efb381bbf-20230505" + semver: "npm:^7.1.3" + stacktrace-parser: "npm:^0.1.10" + whatwg-fetch: "npm:^3.0.0" + ws: "npm:^6.2.2" + yargs: "npm:^17.6.2" + peerDependencies: + "@types/react": ^18.2.6 + react: ^18.2.0 + peerDependenciesMeta: + "@types/react": + optional: true + bin: + react-native: cli.js + checksum: 10c0/4afde38e3d31087acbe3c76f0b1cb184042c6c1fd67aa67511cc03b322e3a06eb45d3dde236ef35c330929521ccdafb9b03bd78ff6062c2c6769a610f8f88160 + languageName: node + linkType: hard + "react-native@npm:0.74.3": version: 0.74.3 resolution: "react-native@npm:0.74.3" @@ -22738,7 +23296,7 @@ react-native-safe-area-view@rainbow-me/react-native-safe-area-view: languageName: node linkType: hard -"semver@npm:^7.0.0, semver@npm:^7.2.1, semver@npm:^7.3.2, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.5.2, semver@npm:^7.5.3, semver@npm:^7.5.4": +"semver@npm:^7.0.0, semver@npm:^7.1.3, semver@npm:^7.2.1, semver@npm:^7.3.2, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.5.2, semver@npm:^7.5.3, semver@npm:^7.5.4": version: 7.6.3 resolution: "semver@npm:7.6.3" bin: @@ -25874,7 +26432,7 @@ react-native-safe-area-view@rainbow-me/react-native-safe-area-view: languageName: node linkType: hard -"ws@npm:^6.2.2": +"ws@npm:^6.2.2, ws@npm:^6.2.3": version: 6.2.3 resolution: "ws@npm:6.2.3" dependencies: