diff --git a/code/app/base-app/babel.config.js b/code/app/base-app/babel.config.js
deleted file mode 100644
index 7bf1b249..00000000
--- a/code/app/base-app/babel.config.js
+++ /dev/null
@@ -1,9 +0,0 @@
-module.exports = function (api) {
- api.cache(true);
- return {
- presets: [
- ["babel-preset-expo", { jsxImportSource: "nativewind" }],
- "nativewind/babel",
- ],
- };
-};
\ No newline at end of file
diff --git a/code/app/base-app/nativewind-env.d.ts b/code/app/base-app/nativewind-env.d.ts
deleted file mode 100644
index c0d83807..00000000
--- a/code/app/base-app/nativewind-env.d.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-///
-
-// NOTE: This file should not be edited and should be committed with your source code. It is generated by NativeWind.
\ No newline at end of file
diff --git a/code/app/base-app/src/app/(tabs)/_layout.tsx b/code/app/base-app/src/app/(tabs)/_layout.tsx
deleted file mode 100644
index 5c59f244..00000000
--- a/code/app/base-app/src/app/(tabs)/_layout.tsx
+++ /dev/null
@@ -1,22 +0,0 @@
-import { Tabs, TabSlot } from 'expo-router/ui' // ✅ 从 expo-router/ui 导入
-import { CustomTabBar } from '@/components/CustomTabBar'
-
-export default function TabsLayout() {
- return (
-
- {/* 渲染当前激活的页面内容 */}
-
-
- {/* 您的自定义 TabBar */}
-
-
- )
-}
diff --git a/code/app/base-app/src/app/(tabs)/app-center.tsx b/code/app/base-app/src/app/(tabs)/app-center.tsx
deleted file mode 100644
index 1aa3b9d4..00000000
--- a/code/app/base-app/src/app/(tabs)/app-center.tsx
+++ /dev/null
@@ -1,26 +0,0 @@
-import { Ionicons } from '@expo/vector-icons'
-import { router } from 'expo-router'
-import { StyleSheet, Text, View } from 'react-native'
-import { Button, ButtonIcon, ButtonText } from '@/components/ui/button'
-
-export default function Tab() {
- const to404 = () => {
- router.navigate('/abc')
- }
-
- return (
-
-
-
- )
-}
-
-const styles = StyleSheet.create({
- container: {
- flex: 1,
- justifyContent: 'center',
- alignItems: 'center',
- },
-})
diff --git a/code/app/base-app/src/app/(tabs)/chat.tsx b/code/app/base-app/src/app/(tabs)/chat.tsx
deleted file mode 100644
index 01e195f0..00000000
--- a/code/app/base-app/src/app/(tabs)/chat.tsx
+++ /dev/null
@@ -1,17 +0,0 @@
-import { StyleSheet, Text, View } from 'react-native'
-
-export default function Tab() {
- return (
-
- Chat [Settings]
-
- )
-}
-
-const styles = StyleSheet.create({
- container: {
- flex: 1,
- justifyContent: 'center',
- alignItems: 'center',
- },
-})
diff --git a/code/app/base-app/src/app/(tabs)/dating.tsx b/code/app/base-app/src/app/(tabs)/dating.tsx
deleted file mode 100644
index 27bf78b1..00000000
--- a/code/app/base-app/src/app/(tabs)/dating.tsx
+++ /dev/null
@@ -1,17 +0,0 @@
-import { StyleSheet, Text, View } from 'react-native'
-
-export default function Tab() {
- return (
-
- heart [Settings]
-
- )
-}
-
-const styles = StyleSheet.create({
- container: {
- flex: 1,
- justifyContent: 'center',
- alignItems: 'center',
- },
-})
diff --git a/code/app/base-app/src/app/(tabs)/finance.tsx b/code/app/base-app/src/app/(tabs)/finance.tsx
deleted file mode 100644
index 60f2e48f..00000000
--- a/code/app/base-app/src/app/(tabs)/finance.tsx
+++ /dev/null
@@ -1,42 +0,0 @@
-// App.tsx
-import React, { useEffect } from 'react'
-import { Button, Text, View } from 'react-native'
-import { useUserStore } from '@/store/userStore'
-
-export default function App() {
- const { userInfo, token, setUserInfo, setToken, logout } = useUserStore()
-
- // 模拟 App 启动后读取状态
- useEffect(() => {
- console.log('用户信息:', userInfo)
- console.log('Token:', token)
- }, [userInfo, token])
-
- return (
-
-
- User Info:
- {userInfo ? userInfo.username : '未登录'}
-
-
- Token:
- {token || '无'}
-
-
-
- )
-}
diff --git a/code/app/base-app/src/app/(tabs)/profile.tsx b/code/app/base-app/src/app/(tabs)/profile.tsx
deleted file mode 100644
index e7aceecc..00000000
--- a/code/app/base-app/src/app/(tabs)/profile.tsx
+++ /dev/null
@@ -1,17 +0,0 @@
-import { StyleSheet, Text, View } from 'react-native'
-
-export default function Tab() {
- return (
-
- Tab [Settings]
-
- )
-}
-
-const styles = StyleSheet.create({
- container: {
- flex: 1,
- justifyContent: 'center',
- alignItems: 'center',
- },
-})
diff --git a/code/app/base-app/src/components/CustomTabBar.tsx b/code/app/base-app/src/components/CustomTabBar.tsx
deleted file mode 100644
index d6430250..00000000
--- a/code/app/base-app/src/components/CustomTabBar.tsx
+++ /dev/null
@@ -1,67 +0,0 @@
-import type { MotiProps } from 'moti'
-import { TabList, TabTrigger } from 'expo-router/ui'
-import { icons } from 'lucide-react-native'
-import { motifySvg } from 'moti/svg'
-import { Text, View } from 'react-native'
-
-type IconNames = keyof typeof icons
-
-type IconProp = {
- name: IconNames
- size?: number
-} & MotiProps
-
-interface TabbarItem {
- icon: IconNames
- name: string
- href: string
- label: string
-}
-
-interface CustomTabBarProps {
- data: TabbarItem[]
-}
-
-function Icon({ name, size = 24, ...rest }: IconProp) {
- const IconComponent = motifySvg(icons[name] as any)()
- return
-}
-
-export function CustomTabBar({ data }: CustomTabBarProps) {
- return (
-
-
- {data.map(item => (
-
-
-
- {item.label}
-
-
- ))}
-
-
- )
-}
diff --git a/code/app/base-app/src/store/userStore.ts b/code/app/base-app/src/store/userStore.ts
deleted file mode 100644
index 37e58b80..00000000
--- a/code/app/base-app/src/store/userStore.ts
+++ /dev/null
@@ -1,31 +0,0 @@
-// store/userStore.ts
-import AsyncStorage from '@react-native-async-storage/async-storage'
-import { create } from 'zustand'
-import { createJSONStorage, persist } from 'zustand/middleware'
-
-interface UserState {
- userInfo: { userId: string, username: string } | null
- token: string | null
- setUserInfo: (userInfo: UserState['userInfo']) => void
- setToken: (token: string) => void
- logout: () => void
-}
-
-export const useUserStore = create()(
- persist(
- (set, get) => ({
- userInfo: null,
- token: null,
- setUserInfo: userInfo => set({ userInfo }),
- setToken: token => set({ token }),
- logout: () => {
- console.log('当前 token:', get().token) // 使用 get 获取最新状态
- set({ userInfo: null, token: null })
- },
- }),
- {
- name: 'user-storage', // 存储在 AsyncStorage 的 key
- storage: createJSONStorage(() => AsyncStorage),
- },
- ),
-)
diff --git a/code/app/base-app/src/styles/global.css b/code/app/base-app/src/styles/global.css
deleted file mode 100644
index bd6213e1..00000000
--- a/code/app/base-app/src/styles/global.css
+++ /dev/null
@@ -1,3 +0,0 @@
-@tailwind base;
-@tailwind components;
-@tailwind utilities;
\ No newline at end of file
diff --git a/code/app/base-app/test.html b/code/app/base-app/test.html
deleted file mode 100644
index fabd4742..00000000
--- a/code/app/base-app/test.html
+++ /dev/null
@@ -1,91 +0,0 @@
-
-
-
-
-
- TabBar 毛玻璃示例
-
-
-
-
-
这里是页面内容,TabBar 放在底部。
-
背景是浅灰渐变,所以毛玻璃效果会明显。
-
-
-
-
-
diff --git a/code/app/base-app/.gitignore b/code/base-project/base-app/.gitignore
similarity index 100%
rename from code/app/base-app/.gitignore
rename to code/base-project/base-app/.gitignore
diff --git a/code/app/base-app/.vscode/settings.json b/code/base-project/base-app/.vscode/settings.json
similarity index 100%
rename from code/app/base-app/.vscode/settings.json
rename to code/base-project/base-app/.vscode/settings.json
diff --git a/code/app/base-app/app.json b/code/base-project/base-app/app.json
similarity index 100%
rename from code/app/base-app/app.json
rename to code/base-project/base-app/app.json
index 1f66d34d..5efc9f45 100644
--- a/code/app/base-app/app.json
+++ b/code/base-project/base-app/app.json
@@ -2,12 +2,12 @@
"expo": {
"name": "base-app",
"slug": "base-app",
- "scheme": "oneao",
"version": "1.0.0",
"orientation": "portrait",
"icon": "./assets/icon.png",
"userInterfaceStyle": "light",
"newArchEnabled": true,
+ "scheme": "oneao",
"splash": {
"image": "./assets/splash-icon.png",
"resizeMode": "contain",
diff --git a/code/app/base-app/assets/adaptive-icon.png b/code/base-project/base-app/assets/adaptive-icon.png
similarity index 100%
rename from code/app/base-app/assets/adaptive-icon.png
rename to code/base-project/base-app/assets/adaptive-icon.png
diff --git a/code/app/base-app/assets/favicon.png b/code/base-project/base-app/assets/favicon.png
similarity index 100%
rename from code/app/base-app/assets/favicon.png
rename to code/base-project/base-app/assets/favicon.png
diff --git a/code/app/base-app/assets/icon.png b/code/base-project/base-app/assets/icon.png
similarity index 100%
rename from code/app/base-app/assets/icon.png
rename to code/base-project/base-app/assets/icon.png
diff --git a/code/app/base-app/assets/splash-icon.png b/code/base-project/base-app/assets/splash-icon.png
similarity index 100%
rename from code/app/base-app/assets/splash-icon.png
rename to code/base-project/base-app/assets/splash-icon.png
diff --git a/code/base-project/base-app/babel.config.js b/code/base-project/base-app/babel.config.js
new file mode 100644
index 00000000..39d20356
--- /dev/null
+++ b/code/base-project/base-app/babel.config.js
@@ -0,0 +1,9 @@
+module.exports = function (api) {
+ api.cache(true)
+ return {
+ presets: [
+ ['babel-preset-expo', { jsxImportSource: 'nativewind' }],
+ 'nativewind/babel',
+ ],
+ }
+}
diff --git a/code/app/base-app/eslint.config.mjs b/code/base-project/base-app/eslint.config.mjs
similarity index 100%
rename from code/app/base-app/eslint.config.mjs
rename to code/base-project/base-app/eslint.config.mjs
diff --git a/code/app/base-app/metro.config.js b/code/base-project/base-app/metro.config.js
similarity index 67%
rename from code/app/base-app/metro.config.js
rename to code/base-project/base-app/metro.config.js
index 8f530606..63773b1a 100644
--- a/code/app/base-app/metro.config.js
+++ b/code/base-project/base-app/metro.config.js
@@ -1,6 +1,7 @@
+// Learn more https://docs.expo.io/guides/customizing-metro
const { getDefaultConfig } = require('expo/metro-config')
const { withNativeWind } = require('nativewind/metro')
-
+/** @type {import('expo/metro-config').MetroConfig} */
const config = getDefaultConfig(__dirname)
module.exports = withNativeWind(config, { input: './src/styles/global.css' })
diff --git a/code/base-project/base-app/nativewind-env.d.ts b/code/base-project/base-app/nativewind-env.d.ts
new file mode 100644
index 00000000..fbca8c7e
--- /dev/null
+++ b/code/base-project/base-app/nativewind-env.d.ts
@@ -0,0 +1 @@
+///
\ No newline at end of file
diff --git a/code/app/base-app/package.json b/code/base-project/base-app/package.json
similarity index 72%
rename from code/app/base-app/package.json
rename to code/base-project/base-app/package.json
index 74d86f3f..fd31d590 100644
--- a/code/app/base-app/package.json
+++ b/code/base-project/base-app/package.json
@@ -10,34 +10,31 @@
"web": "expo start --web"
},
"dependencies": {
- "@expo/vector-icons": "^15.0.3",
- "@gluestack-ui/core": "^3.0.10",
+ "@gluestack-ui/core": "^3.0.12",
"@gluestack-ui/utils": "^3.0.11",
"@gluestack/ui-next-adapter": "^3.0.3",
+ "@legendapp/motion": "^2.4.0",
"@react-native-async-storage/async-storage": "2.2.0",
"expo": "~54.0.20",
- "expo-blur": "~15.0.7",
"expo-constants": "~18.0.10",
"expo-font": "~14.0.9",
"expo-linking": "~8.0.8",
- "expo-router": "~6.0.13",
+ "expo-router": "~6.0.14",
"expo-splash-screen": "~31.0.10",
"expo-status-bar": "~3.0.8",
- "lucide-react-native": "^0.548.0",
- "moti": "^0.30.0",
+ "lucide-react-native": "^0.552.0",
"nativewind": "^4.2.1",
"react": "19.1.0",
"react-native": "0.81.5",
"react-native-gesture-handler": "~2.28.0",
- "react-native-reanimated": "~3.17.5",
- "react-native-safe-area-context": "5.4.0",
+ "react-native-reanimated": "~4.1.3",
+ "react-native-safe-area-context": "~5.6.1",
"react-native-screens": "~4.16.0",
"react-native-svg": "15.12.1",
- "react-native-worklets": "0.5.1",
"zustand": "^5.0.8"
},
"devDependencies": {
- "@antfu/eslint-config": "^6.1.0",
+ "@antfu/eslint-config": "^6.2.0",
"@types/react": "~19.1.0",
"eslint": "^9.38.0",
"tailwindcss": "^3.4.17",
diff --git a/code/app/base-app/pnpm-lock.yaml b/code/base-project/base-app/pnpm-lock.yaml
similarity index 92%
rename from code/app/base-app/pnpm-lock.yaml
rename to code/base-project/base-app/pnpm-lock.yaml
index 5d378711..1fdf003c 100644
--- a/code/app/base-app/pnpm-lock.yaml
+++ b/code/base-project/base-app/pnpm-lock.yaml
@@ -8,54 +8,48 @@ importers:
.:
dependencies:
- '@expo/vector-icons':
- specifier: ^15.0.3
- version: 15.0.3(expo-font@14.0.9(expo@54.0.20)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
'@gluestack-ui/core':
- specifier: ^3.0.10
- version: 3.0.10(@gluestack-ui/utils@3.0.11(react-dom@19.2.0(react@19.1.0))(react-native-web@0.21.2(react-dom@19.2.0(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)(tailwindcss@3.4.17))(react-native-safe-area-context@5.4.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-svg@15.12.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-web@0.21.2(react-dom@19.2.0(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
+ specifier: ^3.0.12
+ version: 3.0.12(@gluestack-ui/utils@3.0.11(react-dom@19.2.0(react@19.1.0))(react-native-web@0.21.2(react-dom@19.2.0(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)(tailwindcss@3.4.18(yaml@2.8.1)))(react-native-safe-area-context@5.6.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-svg@15.12.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-web@0.21.2(react-dom@19.2.0(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
'@gluestack-ui/utils':
specifier: ^3.0.11
- version: 3.0.11(react-dom@19.2.0(react@19.1.0))(react-native-web@0.21.2(react-dom@19.2.0(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)(tailwindcss@3.4.17)
+ version: 3.0.11(react-dom@19.2.0(react@19.1.0))(react-native-web@0.21.2(react-dom@19.2.0(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)(tailwindcss@3.4.18(yaml@2.8.1))
'@gluestack/ui-next-adapter':
specifier: ^3.0.3
version: 3.0.3
+ '@legendapp/motion':
+ specifier: ^2.4.0
+ version: 2.4.0(nativewind@4.2.1(react-native-reanimated@4.1.3(@babel/core@7.28.5)(react-native-worklets@0.5.2(@babel/core@7.28.5)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.6.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-svg@15.12.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)(tailwindcss@3.4.18(yaml@2.8.1)))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
'@react-native-async-storage/async-storage':
specifier: 2.2.0
version: 2.2.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))
expo:
specifier: ~54.0.20
- version: 54.0.20(@babel/core@7.28.5)(@expo/metro-runtime@6.1.2)(expo-router@6.0.13)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
- expo-blur:
- specifier: ~15.0.7
- version: 15.0.7(expo@54.0.20)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
+ version: 54.0.21(@babel/core@7.28.5)(@expo/metro-runtime@6.1.2)(expo-router@6.0.14)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
expo-constants:
specifier: ~18.0.10
- version: 18.0.10(expo@54.0.20)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))
+ version: 18.0.10(expo@54.0.21)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))
expo-font:
specifier: ~14.0.9
- version: 14.0.9(expo@54.0.20)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
+ version: 14.0.9(expo@54.0.21)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
expo-linking:
specifier: ~8.0.8
- version: 8.0.8(expo@54.0.20)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
+ version: 8.0.8(expo@54.0.21)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
expo-router:
- specifier: ~6.0.13
- version: 6.0.13(@expo/metro-runtime@6.1.2)(@types/react@19.1.17)(expo-constants@18.0.10)(expo-linking@8.0.8)(expo@54.0.20)(react-dom@19.2.0(react@19.1.0))(react-native-gesture-handler@2.28.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-reanimated@3.17.5(@babel/core@7.28.5)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.4.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-screens@4.16.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-web@0.21.2(react-dom@19.2.0(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
+ specifier: ~6.0.14
+ version: 6.0.14(@expo/metro-runtime@6.1.2)(@types/react@19.1.17)(expo-constants@18.0.10)(expo-linking@8.0.8)(expo@54.0.21)(react-dom@19.2.0(react@19.1.0))(react-native-gesture-handler@2.28.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-reanimated@4.1.3(@babel/core@7.28.5)(react-native-worklets@0.5.2(@babel/core@7.28.5)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.6.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-screens@4.16.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-web@0.21.2(react-dom@19.2.0(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
expo-splash-screen:
specifier: ~31.0.10
- version: 31.0.10(expo@54.0.20)
+ version: 31.0.10(expo@54.0.21)
expo-status-bar:
specifier: ~3.0.8
version: 3.0.8(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
lucide-react-native:
- specifier: ^0.548.0
- version: 0.548.0(react-native-svg@15.12.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
- moti:
- specifier: ^0.30.0
- version: 0.30.0(react-dom@19.2.0(react@19.1.0))(react-native-reanimated@3.17.5(@babel/core@7.28.5)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react@19.1.0)
+ specifier: ^0.552.0
+ version: 0.552.0(react-native-svg@15.12.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
nativewind:
specifier: ^4.2.1
- version: 4.2.1(react-native-reanimated@3.17.5(@babel/core@7.28.5)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.4.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-svg@15.12.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)(tailwindcss@3.4.17)
+ version: 4.2.1(react-native-reanimated@4.1.3(@babel/core@7.28.5)(react-native-worklets@0.5.2(@babel/core@7.28.5)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.6.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-svg@15.12.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)(tailwindcss@3.4.18(yaml@2.8.1))
react:
specifier: 19.1.0
version: 19.1.0
@@ -66,36 +60,33 @@ importers:
specifier: ~2.28.0
version: 2.28.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
react-native-reanimated:
- specifier: ~3.17.5
- version: 3.17.5(@babel/core@7.28.5)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
+ specifier: ~4.1.3
+ version: 4.1.3(@babel/core@7.28.5)(react-native-worklets@0.5.2(@babel/core@7.28.5)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
react-native-safe-area-context:
- specifier: 5.4.0
- version: 5.4.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
+ specifier: ~5.6.1
+ version: 5.6.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
react-native-screens:
specifier: ~4.16.0
version: 4.16.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
react-native-svg:
specifier: 15.12.1
version: 15.12.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
- react-native-worklets:
- specifier: 0.5.1
- version: 0.5.1(@babel/core@7.28.5)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
zustand:
specifier: ^5.0.8
version: 5.0.8(@types/react@19.1.17)(react@19.1.0)(use-sync-external-store@1.6.0(react@19.1.0))
devDependencies:
'@antfu/eslint-config':
- specifier: ^6.1.0
- version: 6.1.0(@vue/compiler-sfc@3.5.22)(eslint@9.38.0(jiti@1.21.7))(typescript@5.9.3)
+ specifier: ^6.2.0
+ version: 6.2.0(@vue/compiler-sfc@3.5.22)(eslint@9.39.0(jiti@1.21.7))(typescript@5.9.3)
'@types/react':
specifier: ~19.1.0
version: 19.1.17
eslint:
specifier: ^9.38.0
- version: 9.38.0(jiti@1.21.7)
+ version: 9.39.0(jiti@1.21.7)
tailwindcss:
specifier: ^3.4.17
- version: 3.4.17
+ version: 3.4.18(yaml@2.8.1)
typescript:
specifier: ~5.9.2
version: 5.9.3
@@ -114,8 +105,8 @@ packages:
resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
engines: {node: '>=10'}
- '@antfu/eslint-config@6.1.0':
- resolution: {integrity: sha512-m/L9TGvtG3r4tkfq5BY6THz7pk0g6yuJwwA0SkLEDHJJpt0upuABhs8v3SU8yaPtCGUxq8k2QTLMZ3WPg4vSdw==}
+ '@antfu/eslint-config@6.2.0':
+ resolution: {integrity: sha512-ksasd+mJk441HHodwPh3Nhmwo9jSHUmgQyfTxMQM05U7SjDS0fy2KnXnPx0Vhc/CqKiJnx8wGpQCCJibyASX9Q==}
hasBin: true
peerDependencies:
'@eslint-react/eslint-plugin': ^2.0.1
@@ -685,12 +676,6 @@ packages:
resolution: {integrity: sha512-XQsZgjm2EcVUiZQf11UBJQfmZeEmOW8DpI1gsFeln6w0ae0ii4dMQEQ0kjl6DspdWX1aGY1/loyXnP0JS06e/A==}
engines: {node: '>=0.8.0'}
- '@emotion/is-prop-valid@0.8.8':
- resolution: {integrity: sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==}
-
- '@emotion/memoize@0.7.4':
- resolution: {integrity: sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==}
-
'@es-joy/jsdoccomment@0.50.2':
resolution: {integrity: sha512-YAdE/IJSpwbOTiaURNCKECdAwqrJuFiZhylmesBcIRawtYKnBR2wxPhoIewMg+Yu+QuYvHfJNReWpoxGBKOChA==}
engines: {node: '>=18'}
@@ -699,8 +684,8 @@ packages:
resolution: {integrity: sha512-g+RihtzFgGTx2WYCuTHbdOXJeAlGnROws0TeALx9ow/ZmOROOZkVg5wp/B44n0WJgI4SQFP1eWM2iRPlU2Y14w==}
engines: {node: '>=20.11.0'}
- '@es-joy/resolve.exports@1.0.0':
- resolution: {integrity: sha512-bbrmzsAZ9GA/3oBS6r8PWMtZarEhKHr413hak8ArwMEZ5DtaLErnkcyEWUsXy7urBcmVu/TpDzHPDVM5uIbx9A==}
+ '@es-joy/resolve.exports@1.2.0':
+ resolution: {integrity: sha512-Q9hjxWI5xBM+qW2enxfe8wDKdFWMfd0Z29k5ZJnuBqD/CasY5Zryj09aCA6owbGATWz+39p5uIdaHXpopOcG8g==}
engines: {node: '>=10'}
'@eslint-community/eslint-plugin-eslint-comments@4.5.0':
@@ -719,8 +704,8 @@ packages:
resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==}
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
- '@eslint/compat@1.4.0':
- resolution: {integrity: sha512-DEzm5dKeDBPm3r08Ixli/0cmxr8LkRdwxMRUIJBlSCpAwSrvFEJpVBzV+66JhDxiaqKxnRzCXhtiMiczF7Hglg==}
+ '@eslint/compat@1.4.1':
+ resolution: {integrity: sha512-cfO82V9zxxGBxcQDr1lfaYB7wykTa0b00mGa36FrJl7iTFd0Z2cHfEYuxcBRP/iNijCsWsEkA+jzT8hGYmv33w==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.40 || 9
@@ -732,24 +717,24 @@ packages:
resolution: {integrity: sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/config-helpers@0.4.1':
- resolution: {integrity: sha512-csZAzkNhsgwb0I/UAV6/RGFTbiakPCf0ZrGmrIxQpYvGZ00PhTkSnyKNolphgIvmnJeGw6rcGVEXfTzUnFuEvw==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- '@eslint/core@0.15.2':
- resolution: {integrity: sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg==}
+ '@eslint/config-helpers@0.4.2':
+ resolution: {integrity: sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/core@0.16.0':
resolution: {integrity: sha512-nmC8/totwobIiFcGkDza3GIKfAw1+hLiYVrh3I1nIomQ8PEr5cxg34jnkmGawul/ep52wGRAcyeDCNtWKSOj4Q==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@eslint/core@0.17.0':
+ resolution: {integrity: sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
'@eslint/eslintrc@3.3.1':
resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/js@9.38.0':
- resolution: {integrity: sha512-UZ1VpFvXf9J06YG9xQBdnzU+kthors6KjhMAl6f4gH4usHyh31rUf2DLGInT8RFYIReYXNSydgPY0V2LuWgl7A==}
+ '@eslint/js@9.39.0':
+ resolution: {integrity: sha512-BIhe0sW91JGPiaF1mOuPy5v8NflqfjIcDNpC+LbW9f609WVRX1rArrhi6Z2ymvrAry9jw+5POTj4t2t62o8Bmw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/markdown@7.5.0':
@@ -760,16 +745,12 @@ packages:
resolution: {integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/plugin-kit@0.3.5':
- resolution: {integrity: sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==}
+ '@eslint/plugin-kit@0.4.1':
+ resolution: {integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/plugin-kit@0.4.0':
- resolution: {integrity: sha512-sB5uyeq+dwCWyPi31B2gQlVlo+j5brPlWx4yZBrEaRo/nhdDE8Xke1gsGgtiBdaBTxuTkceLVuVt/pclrasb0A==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- '@expo/cli@54.0.13':
- resolution: {integrity: sha512-wUJVTByZzDN0q8UjXDlu6WD2BWoTJCKVVBGUBNmvViDX4FhnESwefmtXPoO54QUUKs6vY89WZryHllGArGfLLw==}
+ '@expo/cli@54.0.14':
+ resolution: {integrity: sha512-M7QW/GHx1FJg+CGgChGKerYXmCGWDskJ8S6w+8m49IBZ41CMDeWRH5snQkFoGCttF8WnzhGiX+nu69AFnEuDHQ==}
hasBin: true
peerDependencies:
expo: '*'
@@ -828,8 +809,8 @@ packages:
'@modelcontextprotocol/sdk':
optional: true
- '@expo/metro-config@54.0.7':
- resolution: {integrity: sha512-bXluEygLrd7cIh/erpjIIC2xDeanaebcwzF+DUMD5vAqHU3o0QXAF3jRV/LsjXZud9V5eRpyCRZ3tLQL0iv8WA==}
+ '@expo/metro-config@54.0.8':
+ resolution: {integrity: sha512-rCkDQ8IT6sgcGNy48O2cTE4NlazCAgAIsD5qBsNPJLZSS0XbaILvAgGsFt/4nrx0GMGj6iQcOn5ifwV4NssTmw==}
peerDependencies:
expo: '*'
peerDependenciesMeta:
@@ -907,8 +888,8 @@ packages:
'@formatjs/intl-localematcher@0.6.2':
resolution: {integrity: sha512-XOMO2Hupl0wdd172Y06h6kLpBz6Dv+J4okPLl4LPtzbr8f66WbIoy4ev98EBuZ6ZK4h5ydTN6XneT4QVpD7cdA==}
- '@gluestack-ui/core@3.0.10':
- resolution: {integrity: sha512-Ctw4CYCsfT2YUNz0n5hDoTfv7G72SRxirqwFv+VmhCwDrtVab/fV7qbqLMnBEEr19o1iP1bE0ztJ3IQHEqXw4g==}
+ '@gluestack-ui/core@3.0.12':
+ resolution: {integrity: sha512-TyNjDUJrZF/FTqcSEPBR87wZQ3yvbWuTjn0tG5AFYzYfMCw0IpfTigmzoajN9KHensN0xNwHoAkXKaHlhy11yQ==}
engines: {node: '>=18'}
peerDependencies:
'@gluestack-ui/utils': '>=2.0.0'
@@ -1022,23 +1003,20 @@ packages:
'@jridgewell/trace-mapping@0.3.31':
resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
- '@motionone/animation@10.18.0':
- resolution: {integrity: sha512-9z2p5GFGCm0gBsZbi8rVMOAJCtw1WqBTIPw3ozk06gDvZInBPIsQcHgYogEJ4yuHJ+akuW8g1SEIOpTOvYs8hw==}
+ '@legendapp/motion@2.4.0':
+ resolution: {integrity: sha512-AAYpRLGvxGD5hIGl9sVHyoUufr66zoH82PuxYcKiPSMdCBI3jwZFWh6CuHjV1leRKVIRk2py1rSvIVabG8eqcw==}
+ peerDependencies:
+ nativewind: '*'
+ react: '>=16'
+ react-native: '*'
- '@motionone/dom@10.12.0':
- resolution: {integrity: sha512-UdPTtLMAktHiqV0atOczNYyDd/d8Cf5fFsd1tua03PqTwwCe/6lwhLSQ8a7TbnQ5SN0gm44N1slBfj+ORIhrqw==}
-
- '@motionone/easing@10.18.0':
- resolution: {integrity: sha512-VcjByo7XpdLS4o9T8t99JtgxkdMcNWD3yHU/n6CLEz3bkmKDRZyYQ/wmSf6daum8ZXqfUAgFeCZSpJZIMxaCzg==}
-
- '@motionone/generators@10.18.0':
- resolution: {integrity: sha512-+qfkC2DtkDj4tHPu+AFKVfR/C30O1vYdvsGYaR13W/1cczPrrcjdvYCj0VLFuRMN+lP1xvpNZHCRNM4fBzn1jg==}
-
- '@motionone/types@10.17.1':
- resolution: {integrity: sha512-KaC4kgiODDz8hswCrS0btrVrzyU2CSQKO7Ps90ibBVSQmjkrt2teqta6/sOG59v7+dPnKMAg13jyqtMKV2yJ7A==}
-
- '@motionone/utils@10.18.0':
- resolution: {integrity: sha512-3XVF7sgyTSI2KWvTf6uLlBJ5iAgRgmvp3bpuOiQJvInd4nZ19ET8lX5unn30SlmRH7hXbBbH+Gxd0m0klJ3Xtw==}
+ '@legendapp/tools@2.0.1':
+ resolution: {integrity: sha512-Kxt0HWvWElRK6oybHRzcYxdgaKGwuaiRNreS7usW7QuHXRIHaH4yMcW2YNRG4DHE5fpefv+Bno/BohQcCE4FaA==}
+ peerDependencies:
+ react: '>=16'
+ peerDependenciesMeta:
+ react:
+ optional: true
'@nodelib/fs.scandir@2.1.5':
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
@@ -1631,25 +1609,25 @@ packages:
'@types/react':
optional: true
- '@react-navigation/bottom-tabs@7.5.0':
- resolution: {integrity: sha512-JY9yQDQTv7avXqXdrToyn6ogcBqY2gTXg7C1J6OWZGz7QhlnPZQm375T4nYBWqVWsODVNeNagkCPptZGOxI1rg==}
+ '@react-navigation/bottom-tabs@7.7.2':
+ resolution: {integrity: sha512-IA1+N9VrZPQiUmNI/T4co/zXyxSZ1m07pbRUBtnZAwqrybNLZh3qsfPIvy+jL89owyGgZEw1UUscHT0EyEhkbQ==}
peerDependencies:
- '@react-navigation/native': ^7.1.18
+ '@react-navigation/native': ^7.1.19
react: '>= 18.2.0'
react-native: '*'
react-native-safe-area-context: '>= 4.0.0'
react-native-screens: '>= 4.0.0'
- '@react-navigation/core@7.12.4':
- resolution: {integrity: sha512-xLFho76FA7v500XID5z/8YfGTvjQPw7/fXsq4BIrVSqetNe/o/v+KAocEw4ots6kyv3XvSTyiWKh2g3pN6xZ9Q==}
+ '@react-navigation/core@7.13.0':
+ resolution: {integrity: sha512-Fc/SO23HnlGnkou/z8JQUzwEMvhxuUhr4rdPTIZp/c8q1atq3k632Nfh8fEiGtk+MP1wtIvXdN2a5hBIWpLq3g==}
peerDependencies:
react: '>= 18.2.0'
- '@react-navigation/elements@2.7.0':
- resolution: {integrity: sha512-lqlUUTqzKJrm3WYmiy901DSpa5wW8DWSmqNqWlRFWDVjx6SSjOUThQpdMnVXhydPtrTo74yVUPB27oe/jrvo4Q==}
+ '@react-navigation/elements@2.8.0':
+ resolution: {integrity: sha512-uvSOkYOF7wfgkt57cl+6fZ2vQgTiYYyJleZzuWthPKHK4nDq2M4sc9SSzgK9GS9UCJFRBErNtl3S+/ErtrwREw==}
peerDependencies:
'@react-native-masked-view/masked-view': '>= 0.2.0'
- '@react-navigation/native': ^7.1.18
+ '@react-navigation/native': ^7.1.19
react: '>= 18.2.0'
react-native: '*'
react-native-safe-area-context: '>= 4.0.0'
@@ -1657,17 +1635,17 @@ packages:
'@react-native-masked-view/masked-view':
optional: true
- '@react-navigation/native-stack@7.5.1':
- resolution: {integrity: sha512-OTn+thYqa5z43j8CyVsi/pTAAZHj27ly/fsd9zz8l8ypxoGhYz7Ro0+Gb9MsL+9Yw1QJTXzJ8dk41+Ay1MafKg==}
+ '@react-navigation/native-stack@7.6.1':
+ resolution: {integrity: sha512-JbYhLzZD6dHv23bGYusToaOlsdEdMgL/QtKEhwV9fEKgFNoDvkZlak8rTPJUrOlC56QwMOPe1vLG83udlNeVYQ==}
peerDependencies:
- '@react-navigation/native': ^7.1.18
+ '@react-navigation/native': ^7.1.19
react: '>= 18.2.0'
react-native: '*'
react-native-safe-area-context: '>= 4.0.0'
react-native-screens: '>= 4.0.0'
- '@react-navigation/native@7.1.18':
- resolution: {integrity: sha512-DZgd6860dxcq3YX7UzIXeBr6m3UgXvo9acxp5jiJyIZXdR00Br9JwVkO7e0bUeTA2d3Z8dsmtAR84Y86NnH64Q==}
+ '@react-navigation/native@7.1.19':
+ resolution: {integrity: sha512-fM7q8di4Q8sp2WUhiUWOe7bEDRyRhbzsKQOd5N2k+lHeCx3UncsRYuw4Q/KN0EovM3wWKqMMmhy/YWuEO04kgw==}
peerDependencies:
react: '>= 18.2.0'
react-native: '*'
@@ -2007,8 +1985,8 @@ packages:
'@types/ms@2.1.0':
resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==}
- '@types/node@24.9.1':
- resolution: {integrity: sha512-QoiaXANRkSXK6p0Duvt56W208du4P9Uye9hWLWgGMDTEoKPhuenzNcC4vGUmrNkiOKTlIrBoyNQYNpSwfEZXSg==}
+ '@types/node@24.9.2':
+ resolution: {integrity: sha512-uWN8YqxXxqFMX2RqGOrumsKeti4LlmIMIyV0lgut4jx7KQBcBiW6vkDtIBvHnHIquwNfJhk8v2OtmO8zXWHfPA==}
'@types/react@19.1.17':
resolution: {integrity: sha512-Qec1E3mhALmaspIrhWt9jkQMNdw6bReVu64mjvhbhq2NFPftLPVr+l1SZgmw/66WwBNpDh7ao5AT6gF5v41PFA==}
@@ -2095,8 +2073,8 @@ packages:
peerDependencies:
'@urql/core': ^5.0.0
- '@vitest/eslint-plugin@1.3.25':
- resolution: {integrity: sha512-7qM/FrA2VyUmrorP0TQ/Oqhn6wsAcktg6euBn0XmpgF0yT2mDxjziu2QLy86i2mOJ41Wtt55z6aUWo+bfmyAeg==}
+ '@vitest/eslint-plugin@1.4.0':
+ resolution: {integrity: sha512-TMzJ0Vqdsc71stblzI0ZdqSnt6Bp4mJ+amD3Hv3qhKK82hBUnznYfnLwA80gdGfe5V24ysndMOoSGrol6fyvbA==}
engines: {node: '>=18'}
peerDependencies:
eslint: '>=8.57.0'
@@ -2294,8 +2272,8 @@ packages:
base64-js@1.5.1:
resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
- baseline-browser-mapping@2.8.20:
- resolution: {integrity: sha512-JMWsdF+O8Orq3EMukbUN1QfbLK9mX2CkUmQBcW2T0s8OmdAUL5LLM/6wFwSrqXzlXB13yhyK9gTKS1rIizOduQ==}
+ baseline-browser-mapping@2.8.22:
+ resolution: {integrity: sha512-/tk9kky/d8T8CTXIQYASLyhAxR5VwL3zct1oAoVTaOUHwrmsGnfbRwNdEq+vOl2BN8i3PcDdP0o4Q+jjKQoFbQ==}
hasBin: true
better-opn@3.0.2:
@@ -2376,8 +2354,8 @@ packages:
resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==}
engines: {node: '>=10'}
- caniuse-lite@1.0.30001751:
- resolution: {integrity: sha512-A0QJhug0Ly64Ii3eIqHu5X51ebln3k4yTUkY1j8drqpWHVreg/VLijN48cZ1bYPiqOQuqpkIKnzr/Ul8V+p6Cw==}
+ caniuse-lite@1.0.30001752:
+ resolution: {integrity: sha512-vKUk7beoukxE47P5gcVNKkDRzXdVofotshHwfR9vmpeFKxmI5PBpgOMC18LUJUA/DvJ70Y7RveasIBraqsyO/g==}
ccount@2.0.1:
resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
@@ -2676,8 +2654,8 @@ packages:
ee-first@1.1.1:
resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
- electron-to-chromium@1.5.240:
- resolution: {integrity: sha512-OBwbZjWgrCOH+g6uJsA2/7Twpas2OlepS9uvByJjR2datRDuKGYeD+nP8lBBks2qnB7bGJNHDUx7c/YLaT3QMQ==}
+ electron-to-chromium@1.5.244:
+ resolution: {integrity: sha512-OszpBN7xZX4vWMPJwB9illkN/znA8M36GQqQxi6MNy9axWxhOfJyZZJtSLQCpEFLHP2xK33BiWx9aIuIEXVCcw==}
emoji-regex@8.0.0:
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
@@ -2797,8 +2775,8 @@ packages:
typescript:
optional: true
- eslint-plugin-jsdoc@61.1.9:
- resolution: {integrity: sha512-X2AzSGbq1CzBRgKcVAu2qzOV9ogqygkUDk5AX6eNK5G+kY3I5Op5E5b99fE+FN0/bGnk2KGcsMIG6ZLF+di69A==}
+ eslint-plugin-jsdoc@61.1.11:
+ resolution: {integrity: sha512-c+NQQOFd+ZTjFt0pfFMB8OTumExg0vf8mlJsOtLj6qTDGewtLh7bhwoDgBg6rIiTziYc8N4u4dYmSdAIn0yTEQ==}
engines: {node: '>=20.11.0'}
peerDependencies:
eslint: ^7.0.0 || ^8.0.0 || ^9.0.0
@@ -2842,11 +2820,11 @@ packages:
peerDependencies:
eslint: '>=6.0.0'
- eslint-plugin-unicorn@61.0.2:
- resolution: {integrity: sha512-zLihukvneYT7f74GNbVJXfWIiNQmkc/a9vYBTE4qPkQZswolWNdu+Wsp9sIXno1JOzdn6OUwLPd19ekXVkahRA==}
+ eslint-plugin-unicorn@62.0.0:
+ resolution: {integrity: sha512-HIlIkGLkvf29YEiS/ImuDZQbP12gWyx5i3C6XrRxMvVdqMroCI9qoVYCoIl17ChN+U89pn9sVwLxhIWj5nEc7g==}
engines: {node: ^20.10.0 || >=21.0.0}
peerDependencies:
- eslint: '>=9.29.0'
+ eslint: '>=9.38.0'
eslint-plugin-unused-imports@4.3.0:
resolution: {integrity: sha512-ZFBmXMGBYfHttdRtOG9nFFpmUvMtbHSjsKrS20vdWdbfiVYsO3yA2SGYy9i9XmZJDfMGBflZGBCm70SEnFQtOA==}
@@ -2895,8 +2873,8 @@ packages:
resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- eslint@9.38.0:
- resolution: {integrity: sha512-t5aPOpmtJcZcz5UJyY2GbvpDlsK5E8JqRqoKtfiKE3cNh437KIqfJr3A3AKf5k64NPx6d0G3dno6XDY05PqPtw==}
+ eslint@9.39.0:
+ resolution: {integrity: sha512-iy2GE3MHrYTL5lrCtMZ0X1KLEKKUjmK0kzwcnefhR66txcEmXZD2YWgR5GNdcEwkNx3a0siYkSvl0vIC+Svjmg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
hasBin: true
peerDependencies:
@@ -2955,13 +2933,6 @@ packages:
react: '*'
react-native: '*'
- expo-blur@15.0.7:
- resolution: {integrity: sha512-SugQQbQd+zRPy8z2G5qDD4NqhcD7srBF7fN7O7yq6q7ZFK59VWvpDxtMoUkmSfdxgqONsrBN/rLdk00USADrMg==}
- peerDependencies:
- expo: '*'
- react: '*'
- react-native: '*'
-
expo-constants@18.0.10:
resolution: {integrity: sha512-Rhtv+X974k0Cahmvx6p7ER5+pNhBC0XbP1lRviL2J1Xl4sT2FBaIuIxF/0I0CbhOsySf0ksqc5caFweAy9Ewiw==}
peerDependencies:
@@ -2997,20 +2968,20 @@ packages:
resolution: {integrity: sha512-tSMYGnfZmAaN77X8iMLiaSgbCFnA7eh6s2ac09J2N2N0Rcf2RCE27jg0c0XenTMTWUcM4QvLhsNHof/WtlKqPw==}
hasBin: true
- expo-modules-core@3.0.22:
- resolution: {integrity: sha512-FqG5oelITFTLcIfGwoJP8Qsk65be/eiEjz354NdAurnhFARHAVYOOIsUehArvm75ISdZOIZEaTSjCudmkA3kKg==}
+ expo-modules-core@3.0.23:
+ resolution: {integrity: sha512-NYHi5LK/cdIyOjK9ZQAgfDPCOqER26cIbU3gzsce7YdnsmlNFR0qMfWOj9zAmaFBviC2kCkCOmitwk4357Td3Q==}
peerDependencies:
react: '*'
react-native: '*'
- expo-router@6.0.13:
- resolution: {integrity: sha512-ngvdEah2+/Xf3/2SSrEuaW9qawUYlkh3NEpw0ZSsjUjgliKTI2rtw1H+dNnIsZEcvnGe/b8UvQHai60KnhAnJw==}
+ expo-router@6.0.14:
+ resolution: {integrity: sha512-vizLO4SgnMEL+PPs2dXr+etEOuksjue7yUQBCtfCEdqoDkQlB0r35zI7rS34Wt53sxKWSlM2p+038qQEpxtiFw==}
peerDependencies:
'@expo/metro-runtime': ^6.1.2
'@react-navigation/drawer': ^7.5.0
'@testing-library/react-native': '>= 12.0.0'
expo: '*'
- expo-constants: ^18.0.9
+ expo-constants: ^18.0.10
expo-linking: ^8.0.8
react: '*'
react-dom: '*'
@@ -3037,8 +3008,8 @@ packages:
react-server-dom-webpack:
optional: true
- expo-server@1.0.2:
- resolution: {integrity: sha512-QlQLjFuwgCiBc+Qq0IyBBHiZK1RS0NJSsKVB5iECMJrR04q7PhkaF7dON0fhvo00COy4fT9rJ5brrJDpFro/gA==}
+ expo-server@1.0.3:
+ resolution: {integrity: sha512-SOwdzM/BFAL+vTFlUDJG6ljhyk6TyTl+LRK3ubGmN+Pf18ENRqKj37U8krc5vH926sAsB3IFcE8kJEYf4dG7PA==}
engines: {node: '>=20.16.0'}
expo-splash-screen@31.0.10:
@@ -3052,8 +3023,8 @@ packages:
react: '*'
react-native: '*'
- expo@54.0.20:
- resolution: {integrity: sha512-mWHky+H63W60P5Oo+VbtqzF2sLvdaoSSwG57H9rlq1DrgIla++QJZuwJkXXo55lYPymVmkVhwG6FjWYKKylwpw==}
+ expo@54.0.21:
+ resolution: {integrity: sha512-I3kzMNW/43a71pt6hT0Zebd2zAPIMMeucUDDEdfUKYrzzTRwISZfVAv0dp8GWKHHDjZsy+FjE4RQCMdyKmiDeQ==}
hasBin: true
peerDependencies:
'@expo/dom-webview': '*'
@@ -3164,15 +3135,6 @@ packages:
resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==}
engines: {node: '>=0.4.x'}
- framer-motion@6.5.1:
- resolution: {integrity: sha512-o1BGqqposwi7cgDrtg0dNONhkmPsUFDaLcKXigzuTFC5x58mE8iyTazxSudFzmT6MEyJKfjjU8ItoMe3W+3fiw==}
- peerDependencies:
- react: '>=16.8 || ^17.0.0 || ^18.0.0'
- react-dom: '>=16.8 || ^17.0.0 || ^18.0.0'
-
- framesync@6.0.1:
- resolution: {integrity: sha512-fUY88kXvGiIItgNC7wcTOl0SNRCVXMKSWW2Yzfmn7EKNc+MpCzcz9DhdHcdjbrtN3c6R4H5dTY2jiCpPdysEjA==}
-
freeport-async@2.0.0:
resolution: {integrity: sha512-K7od3Uw45AJg00XUmy15+Hae2hOcgKcmN3/EF6Y7i01O0gaqiRx8sUSpsb9+BRNL8RPBrhzPsVfy8q9ADlJuWQ==}
engines: {node: '>=8'}
@@ -3250,8 +3212,8 @@ packages:
resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==}
engines: {node: '>=18'}
- globals@16.4.0:
- resolution: {integrity: sha512-ob/2LcVVaVGCYN+r14cnwnoDPUufjiYgSqRhiFD0Q1iI4Odora5RE8Iv1D24hAz5oMophRGkGz+yuvQmmUMnMw==}
+ globals@16.5.0:
+ resolution: {integrity: sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ==}
engines: {node: '>=18'}
globrex@0.1.2:
@@ -3287,9 +3249,6 @@ packages:
hermes-parser@0.32.0:
resolution: {integrity: sha512-g4nBOWFpuiTqjR3LZdRxKUkij9iyveWeuks7INEsMX741f3r9xxrOe8TeQfUxtda0eXmiIFiMQzoeSQEno33Hw==}
- hey-listen@1.0.8:
- resolution: {integrity: sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==}
-
hoist-non-react-statics@3.3.2:
resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==}
@@ -3485,11 +3444,6 @@ packages:
resolution: {integrity: sha512-+LexoTRyYui5iOhJGn13N9ZazL23nAHGkXsa1p/C8yeq79WRfLBag6ZZ0FQG2aRoc9yfo59JT9EYCQonOkHKkQ==}
engines: {node: '>=20.0.0'}
- jsesc@3.0.2:
- resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==}
- engines: {node: '>=6'}
- hasBin: true
-
jsesc@3.1.0:
resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==}
engines: {node: '>=6'}
@@ -3597,56 +3551,48 @@ packages:
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [linux]
- libc: [glibc]
lightningcss-linux-arm64-gnu@1.30.2:
resolution: {integrity: sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A==}
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [linux]
- libc: [glibc]
lightningcss-linux-arm64-musl@1.27.0:
resolution: {integrity: sha512-rCGBm2ax7kQ9pBSeITfCW9XSVF69VX+fm5DIpvDZQl4NnQoMQyRwhZQm9pd59m8leZ1IesRqWk2v/DntMo26lg==}
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [linux]
- libc: [musl]
lightningcss-linux-arm64-musl@1.30.2:
resolution: {integrity: sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==}
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [linux]
- libc: [musl]
lightningcss-linux-x64-gnu@1.27.0:
resolution: {integrity: sha512-Dk/jovSI7qqhJDiUibvaikNKI2x6kWPN79AQiD/E/KeQWMjdGe9kw51RAgoWFDi0coP4jinaH14Nrt/J8z3U4A==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [linux]
- libc: [glibc]
lightningcss-linux-x64-gnu@1.30.2:
resolution: {integrity: sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [linux]
- libc: [glibc]
lightningcss-linux-x64-musl@1.27.0:
resolution: {integrity: sha512-QKjTxXm8A9s6v9Tg3Fk0gscCQA1t/HMoF7Woy1u68wCk5kS4fR+q3vXa1p3++REW784cRAtkYKrPy6JKibrEZA==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [linux]
- libc: [musl]
lightningcss-linux-x64-musl@1.30.2:
resolution: {integrity: sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [linux]
- libc: [musl]
lightningcss-win32-arm64-msvc@1.27.0:
resolution: {integrity: sha512-/wXegPS1hnhkeG4OXQKEMQeJd48RDC3qdh+OA8pCuOPCyvnm/yEayrJdJVqzBsqpy1aJklRCVxscpFur80o6iQ==}
@@ -3728,8 +3674,8 @@ packages:
lru-cache@5.1.1:
resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
- lucide-react-native@0.548.0:
- resolution: {integrity: sha512-me46HEAZsJJLH3/5FVBOcr3NFkwHZSsaEi2MSlbyGvqx4aVQA8XNDAepYqCleTWpOz+iM3A0J8VAZXg3um810Q==}
+ lucide-react-native@0.552.0:
+ resolution: {integrity: sha512-PWTUYyljcpHNql46wbaFk5lm0fdKg+2TnfsN/1KyuWw9McNNWZKkEqhz1k2n7wO/ZWB7jkM8QJCkZZT/SuQykw==}
peerDependencies:
react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0
react-native: '*'
@@ -4057,11 +4003,6 @@ packages:
mlly@1.8.0:
resolution: {integrity: sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==}
- moti@0.30.0:
- resolution: {integrity: sha512-YN78mcefo8kvJaL+TZNyusq6YA2aMFvBPl8WiLPy4eb4wqgOFggJOjP9bUr2YO8PrAt0uusmRG8K4RPL4OhCsA==}
- peerDependencies:
- react-native-reanimated: '*'
-
ms@2.0.0:
resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
@@ -4116,8 +4057,8 @@ packages:
node-int64@0.4.0:
resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==}
- node-releases@2.0.26:
- resolution: {integrity: sha512-S2M9YimhSjBSvYnlr5/+umAnPHE++ODwt5e2Ij6FoX45HA/s4vHdkDx1eax2pAPeAOqu4s9b7ppahsyEFdVqQA==}
+ node-releases@2.0.27:
+ resolution: {integrity: sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==}
normalize-path@3.0.0:
resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
@@ -4301,9 +4242,6 @@ packages:
pnpm-workspace-yaml@1.3.0:
resolution: {integrity: sha512-Krb5q8Totd5mVuLx7we+EFHq/AfxA75nbfTm25Q1pIf606+RlaKUG+PXH8SDihfe5b5k4H09gE+sL47L1t5lbw==}
- popmotion@11.0.3:
- resolution: {integrity: sha512-Y55FLdj3UxkR7Vl3s7Qr4e9m0onSnP8W7d/xQLsoJM40vs6UKHFdygs6SWryasTZYqugMjm3BepCF4CWXDiHgA==}
-
postcss-import@15.1.0:
resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
engines: {node: '>=14.0.0'}
@@ -4316,16 +4254,22 @@ packages:
peerDependencies:
postcss: ^8.4.21
- postcss-load-config@4.0.2:
- resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==}
- engines: {node: '>= 14'}
+ postcss-load-config@6.0.1:
+ resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==}
+ engines: {node: '>= 18'}
peerDependencies:
+ jiti: '>=1.21.0'
postcss: '>=8.0.9'
- ts-node: '>=9.0.0'
+ tsx: ^4.8.1
+ yaml: ^2.4.2
peerDependenciesMeta:
+ jiti:
+ optional: true
postcss:
optional: true
- ts-node:
+ tsx:
+ optional: true
+ yaml:
optional: true
postcss-nested@6.2.0:
@@ -4462,27 +4406,22 @@ packages:
react: '*'
react-native: '*'
- react-native-is-edge-to-edge@1.1.7:
- resolution: {integrity: sha512-EH6i7E8epJGIcu7KpfXYXiV2JFIYITtq+rVS8uEb+92naMRBdxhTuS8Wn2Q7j9sqyO0B+Xbaaf9VdipIAmGW4w==}
- peerDependencies:
- react: '*'
- react-native: '*'
-
react-native-is-edge-to-edge@1.2.1:
resolution: {integrity: sha512-FLbPWl/MyYQWz+KwqOZsSyj2JmLKglHatd3xLZWskXOpRaio4LfEDEz8E/A6uD8QoTHW6Aobw1jbEwK7KMgR7Q==}
peerDependencies:
react: '*'
react-native: '*'
- react-native-reanimated@3.17.5:
- resolution: {integrity: sha512-SxBK7wQfJ4UoWoJqQnmIC7ZjuNgVb9rcY5Xc67upXAFKftWg0rnkknTw6vgwnjRcvYThrjzUVti66XoZdDJGtw==}
+ react-native-reanimated@4.1.3:
+ resolution: {integrity: sha512-GP8wsi1u3nqvC1fMab/m8gfFwFyldawElCcUSBJQgfrXeLmsPPUOpDw44lbLeCpcwUuLa05WTVePdTEwCLTUZg==}
peerDependencies:
'@babel/core': ^7.0.0-0
react: '*'
react-native: '*'
+ react-native-worklets: '>=0.5.0'
- react-native-safe-area-context@5.4.0:
- resolution: {integrity: sha512-JaEThVyJcLhA+vU0NU8bZ0a1ih6GiF4faZ+ArZLqpYbL6j7R3caRqj+mE3lEtKCuHgwjLg3bCxLL1GPUJZVqUA==}
+ react-native-safe-area-context@5.6.1:
+ resolution: {integrity: sha512-/wJE58HLEAkATzhhX1xSr+fostLsK8Q97EfpfMDKo8jlOc1QKESSX/FQrhk7HhQH/2uSaox4Y86sNaI02kteiA==}
peerDependencies:
react: '*'
react-native: '*'
@@ -4505,8 +4444,8 @@ packages:
react: ^18.0.0 || ^19.0.0
react-dom: ^18.0.0 || ^19.0.0
- react-native-worklets@0.5.1:
- resolution: {integrity: sha512-lJG6Uk9YuojjEX/tQrCbcbmpdLCSFxDK1rJlkDhgqkVi1KZzG7cdcBFQRqyNOOzR9Y0CXNuldmtWTGOyM0k0+w==}
+ react-native-worklets@0.5.2:
+ resolution: {integrity: sha512-lCzmuIPAK/UaOJYEPgYpVqrsxby1I54f7PyyZUMEO04nwc00CDrCvv9lCTY1daLHYTF8lS3f9zlzErfVsIKqkA==}
peerDependencies:
'@babel/core': ^7.0.0-0
react: '*'
@@ -4602,10 +4541,6 @@ packages:
regjsgen@0.8.0:
resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==}
- regjsparser@0.12.0:
- resolution: {integrity: sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==}
- hasBin: true
-
regjsparser@0.13.0:
resolution: {integrity: sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==}
hasBin: true
@@ -4868,9 +4803,6 @@ packages:
structured-headers@0.4.1:
resolution: {integrity: sha512-0MP/Cxx5SzeeZ10p/bZI0S6MpgD+yxAhi1BOQ34jgnMXsCq3j1t6tQnZu+KdlL7dvJTLT3g9xN8tl10TqgFMcg==}
- style-value-types@5.0.0:
- resolution: {integrity: sha512-08yq36Ikn4kx4YU6RD7jWEv27v4V+PUsOGa4n/as8Et3CuODMJQ00ENeAVXAeydX4Z2j1XHZF1K2sX4mGl18fA==}
-
styleq@0.1.3:
resolution: {integrity: sha512-3ZUifmCDCQanjeej1f6kyl/BeP/Vae5EYkQ9iJfUm/QwZvlgnZzyflqAsAWYURdtea8Vkvswu2GrC57h3qffcA==}
@@ -4912,8 +4844,8 @@ packages:
peerDependencies:
tailwindcss: '*'
- tailwindcss@3.4.17:
- resolution: {integrity: sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==}
+ tailwindcss@3.4.18:
+ resolution: {integrity: sha512-6A2rnmW5xZMdw11LYjhcI5846rt9pbLSabY5XPxo+XWdxwZaFEn47Go4NzFiHu9sNNmr/kXivP1vStfvMaK1GQ==}
engines: {node: '>=14.0.0'}
hasBin: true
@@ -4921,8 +4853,8 @@ packages:
resolution: {integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==}
engines: {node: '>=6'}
- tar@7.5.1:
- resolution: {integrity: sha512-nlGpxf+hv0v7GkWBK2V9spgactGOp0qvfWRxUMjqHyzrt3SgwE48DIv/FhqPHJYLHpgW1opq3nERbz5Anq7n1g==}
+ tar@7.5.2:
+ resolution: {integrity: sha512-7NyxrTE4Anh8km8iEy7o0QYPs+0JKBTj5ZaqHg6B39erLg0qYXN3BijtShwbsNSvQ+LN75+KV+C4QR/f6Gwnpg==}
engines: {node: '>=18'}
temp-dir@2.0.0:
@@ -5321,44 +5253,44 @@ snapshots:
'@alloc/quick-lru@5.2.0': {}
- '@antfu/eslint-config@6.1.0(@vue/compiler-sfc@3.5.22)(eslint@9.38.0(jiti@1.21.7))(typescript@5.9.3)':
+ '@antfu/eslint-config@6.2.0(@vue/compiler-sfc@3.5.22)(eslint@9.39.0(jiti@1.21.7))(typescript@5.9.3)':
dependencies:
'@antfu/install-pkg': 1.1.0
'@clack/prompts': 0.11.0
- '@eslint-community/eslint-plugin-eslint-comments': 4.5.0(eslint@9.38.0(jiti@1.21.7))
+ '@eslint-community/eslint-plugin-eslint-comments': 4.5.0(eslint@9.39.0(jiti@1.21.7))
'@eslint/markdown': 7.5.0
- '@stylistic/eslint-plugin': 5.5.0(eslint@9.38.0(jiti@1.21.7))
- '@typescript-eslint/eslint-plugin': 8.46.2(@typescript-eslint/parser@8.46.2(eslint@9.38.0(jiti@1.21.7))(typescript@5.9.3))(eslint@9.38.0(jiti@1.21.7))(typescript@5.9.3)
- '@typescript-eslint/parser': 8.46.2(eslint@9.38.0(jiti@1.21.7))(typescript@5.9.3)
- '@vitest/eslint-plugin': 1.3.25(eslint@9.38.0(jiti@1.21.7))(typescript@5.9.3)
+ '@stylistic/eslint-plugin': 5.5.0(eslint@9.39.0(jiti@1.21.7))
+ '@typescript-eslint/eslint-plugin': 8.46.2(@typescript-eslint/parser@8.46.2(eslint@9.39.0(jiti@1.21.7))(typescript@5.9.3))(eslint@9.39.0(jiti@1.21.7))(typescript@5.9.3)
+ '@typescript-eslint/parser': 8.46.2(eslint@9.39.0(jiti@1.21.7))(typescript@5.9.3)
+ '@vitest/eslint-plugin': 1.4.0(eslint@9.39.0(jiti@1.21.7))(typescript@5.9.3)
ansis: 4.2.0
cac: 6.7.14
- eslint: 9.38.0(jiti@1.21.7)
- eslint-config-flat-gitignore: 2.1.0(eslint@9.38.0(jiti@1.21.7))
+ eslint: 9.39.0(jiti@1.21.7)
+ eslint-config-flat-gitignore: 2.1.0(eslint@9.39.0(jiti@1.21.7))
eslint-flat-config-utils: 2.1.4
- eslint-merge-processors: 2.0.0(eslint@9.38.0(jiti@1.21.7))
- eslint-plugin-antfu: 3.1.1(eslint@9.38.0(jiti@1.21.7))
- eslint-plugin-command: 3.3.1(eslint@9.38.0(jiti@1.21.7))
- eslint-plugin-import-lite: 0.3.0(eslint@9.38.0(jiti@1.21.7))(typescript@5.9.3)
- eslint-plugin-jsdoc: 61.1.9(eslint@9.38.0(jiti@1.21.7))
- eslint-plugin-jsonc: 2.21.0(eslint@9.38.0(jiti@1.21.7))
- eslint-plugin-n: 17.23.1(eslint@9.38.0(jiti@1.21.7))(typescript@5.9.3)
+ eslint-merge-processors: 2.0.0(eslint@9.39.0(jiti@1.21.7))
+ eslint-plugin-antfu: 3.1.1(eslint@9.39.0(jiti@1.21.7))
+ eslint-plugin-command: 3.3.1(eslint@9.39.0(jiti@1.21.7))
+ eslint-plugin-import-lite: 0.3.0(eslint@9.39.0(jiti@1.21.7))(typescript@5.9.3)
+ eslint-plugin-jsdoc: 61.1.11(eslint@9.39.0(jiti@1.21.7))
+ eslint-plugin-jsonc: 2.21.0(eslint@9.39.0(jiti@1.21.7))
+ eslint-plugin-n: 17.23.1(eslint@9.39.0(jiti@1.21.7))(typescript@5.9.3)
eslint-plugin-no-only-tests: 3.3.0
- eslint-plugin-perfectionist: 4.15.1(eslint@9.38.0(jiti@1.21.7))(typescript@5.9.3)
- eslint-plugin-pnpm: 1.3.0(eslint@9.38.0(jiti@1.21.7))
- eslint-plugin-regexp: 2.10.0(eslint@9.38.0(jiti@1.21.7))
- eslint-plugin-toml: 0.12.0(eslint@9.38.0(jiti@1.21.7))
- eslint-plugin-unicorn: 61.0.2(eslint@9.38.0(jiti@1.21.7))
- eslint-plugin-unused-imports: 4.3.0(@typescript-eslint/eslint-plugin@8.46.2(@typescript-eslint/parser@8.46.2(eslint@9.38.0(jiti@1.21.7))(typescript@5.9.3))(eslint@9.38.0(jiti@1.21.7))(typescript@5.9.3))(eslint@9.38.0(jiti@1.21.7))
- eslint-plugin-vue: 10.5.1(@stylistic/eslint-plugin@5.5.0(eslint@9.38.0(jiti@1.21.7)))(@typescript-eslint/parser@8.46.2(eslint@9.38.0(jiti@1.21.7))(typescript@5.9.3))(eslint@9.38.0(jiti@1.21.7))(vue-eslint-parser@10.2.0(eslint@9.38.0(jiti@1.21.7)))
- eslint-plugin-yml: 1.19.0(eslint@9.38.0(jiti@1.21.7))
- eslint-processor-vue-blocks: 2.0.0(@vue/compiler-sfc@3.5.22)(eslint@9.38.0(jiti@1.21.7))
- globals: 16.4.0
+ eslint-plugin-perfectionist: 4.15.1(eslint@9.39.0(jiti@1.21.7))(typescript@5.9.3)
+ eslint-plugin-pnpm: 1.3.0(eslint@9.39.0(jiti@1.21.7))
+ eslint-plugin-regexp: 2.10.0(eslint@9.39.0(jiti@1.21.7))
+ eslint-plugin-toml: 0.12.0(eslint@9.39.0(jiti@1.21.7))
+ eslint-plugin-unicorn: 62.0.0(eslint@9.39.0(jiti@1.21.7))
+ eslint-plugin-unused-imports: 4.3.0(@typescript-eslint/eslint-plugin@8.46.2(@typescript-eslint/parser@8.46.2(eslint@9.39.0(jiti@1.21.7))(typescript@5.9.3))(eslint@9.39.0(jiti@1.21.7))(typescript@5.9.3))(eslint@9.39.0(jiti@1.21.7))
+ eslint-plugin-vue: 10.5.1(@stylistic/eslint-plugin@5.5.0(eslint@9.39.0(jiti@1.21.7)))(@typescript-eslint/parser@8.46.2(eslint@9.39.0(jiti@1.21.7))(typescript@5.9.3))(eslint@9.39.0(jiti@1.21.7))(vue-eslint-parser@10.2.0(eslint@9.39.0(jiti@1.21.7)))
+ eslint-plugin-yml: 1.19.0(eslint@9.39.0(jiti@1.21.7))
+ eslint-processor-vue-blocks: 2.0.0(@vue/compiler-sfc@3.5.22)(eslint@9.39.0(jiti@1.21.7))
+ globals: 16.5.0
jsonc-eslint-parser: 2.4.1
local-pkg: 1.1.2
parse-gitignore: 2.0.0
toml-eslint-parser: 0.10.0
- vue-eslint-parser: 10.2.0(eslint@9.38.0(jiti@1.21.7))
+ vue-eslint-parser: 10.2.0(eslint@9.39.0(jiti@1.21.7))
yaml-eslint-parser: 1.3.0
transitivePeerDependencies:
- '@eslint/json'
@@ -5997,14 +5929,6 @@ snapshots:
dependencies:
'@types/hammerjs': 2.0.46
- '@emotion/is-prop-valid@0.8.8':
- dependencies:
- '@emotion/memoize': 0.7.4
- optional: true
-
- '@emotion/memoize@0.7.4':
- optional: true
-
'@es-joy/jsdoccomment@0.50.2':
dependencies:
'@types/estree': 1.0.8
@@ -6021,26 +5945,26 @@ snapshots:
esquery: 1.6.0
jsdoc-type-pratt-parser: 6.10.0
- '@es-joy/resolve.exports@1.0.0': {}
+ '@es-joy/resolve.exports@1.2.0': {}
- '@eslint-community/eslint-plugin-eslint-comments@4.5.0(eslint@9.38.0(jiti@1.21.7))':
+ '@eslint-community/eslint-plugin-eslint-comments@4.5.0(eslint@9.39.0(jiti@1.21.7))':
dependencies:
escape-string-regexp: 4.0.0
- eslint: 9.38.0(jiti@1.21.7)
+ eslint: 9.39.0(jiti@1.21.7)
ignore: 5.3.2
- '@eslint-community/eslint-utils@4.9.0(eslint@9.38.0(jiti@1.21.7))':
+ '@eslint-community/eslint-utils@4.9.0(eslint@9.39.0(jiti@1.21.7))':
dependencies:
- eslint: 9.38.0(jiti@1.21.7)
+ eslint: 9.39.0(jiti@1.21.7)
eslint-visitor-keys: 3.4.3
'@eslint-community/regexpp@4.12.2': {}
- '@eslint/compat@1.4.0(eslint@9.38.0(jiti@1.21.7))':
+ '@eslint/compat@1.4.1(eslint@9.39.0(jiti@1.21.7))':
dependencies:
- '@eslint/core': 0.16.0
+ '@eslint/core': 0.17.0
optionalDependencies:
- eslint: 9.38.0(jiti@1.21.7)
+ eslint: 9.39.0(jiti@1.21.7)
'@eslint/config-array@0.21.1':
dependencies:
@@ -6050,15 +5974,15 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@eslint/config-helpers@0.4.1':
+ '@eslint/config-helpers@0.4.2':
dependencies:
- '@eslint/core': 0.16.0
+ '@eslint/core': 0.17.0
- '@eslint/core@0.15.2':
+ '@eslint/core@0.16.0':
dependencies:
'@types/json-schema': 7.0.15
- '@eslint/core@0.16.0':
+ '@eslint/core@0.17.0':
dependencies:
'@types/json-schema': 7.0.15
@@ -6076,12 +6000,12 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@eslint/js@9.38.0': {}
+ '@eslint/js@9.39.0': {}
'@eslint/markdown@7.5.0':
dependencies:
'@eslint/core': 0.16.0
- '@eslint/plugin-kit': 0.4.0
+ '@eslint/plugin-kit': 0.4.1
github-slugger: 2.0.0
mdast-util-from-markdown: 2.0.2
mdast-util-frontmatter: 2.0.1
@@ -6094,17 +6018,12 @@ snapshots:
'@eslint/object-schema@2.1.7': {}
- '@eslint/plugin-kit@0.3.5':
+ '@eslint/plugin-kit@0.4.1':
dependencies:
- '@eslint/core': 0.15.2
+ '@eslint/core': 0.17.0
levn: 0.4.1
- '@eslint/plugin-kit@0.4.0':
- dependencies:
- '@eslint/core': 0.16.0
- levn: 0.4.1
-
- '@expo/cli@54.0.13(expo-router@6.0.13)(expo@54.0.20)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))':
+ '@expo/cli@54.0.14(expo-router@6.0.14)(expo@54.0.21)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))':
dependencies:
'@0no-co/graphql.web': 1.2.0
'@expo/code-signing-certificates': 0.0.5
@@ -6116,11 +6035,11 @@ snapshots:
'@expo/json-file': 10.0.7
'@expo/mcp-tunnel': 0.0.8
'@expo/metro': 54.1.0
- '@expo/metro-config': 54.0.7(expo@54.0.20)
+ '@expo/metro-config': 54.0.8(expo@54.0.21)
'@expo/osascript': 2.3.7
'@expo/package-manager': 1.9.8
'@expo/plist': 0.4.7
- '@expo/prebuild-config': 54.0.6(expo@54.0.20)
+ '@expo/prebuild-config': 54.0.6(expo@54.0.21)
'@expo/schema-utils': 0.1.7
'@expo/spawn-async': 1.7.2
'@expo/ws-tunnel': 1.0.6
@@ -6139,8 +6058,8 @@ snapshots:
connect: 3.7.0
debug: 4.4.3
env-editor: 0.4.2
- expo: 54.0.20(@babel/core@7.28.5)(@expo/metro-runtime@6.1.2)(expo-router@6.0.13)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
- expo-server: 1.0.2
+ expo: 54.0.21(@babel/core@7.28.5)(@expo/metro-runtime@6.1.2)(expo-router@6.0.14)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
+ expo-server: 1.0.3
freeport-async: 2.0.0
getenv: 2.0.0
glob: 10.4.5
@@ -6166,13 +6085,13 @@ snapshots:
source-map-support: 0.5.21
stacktrace-parser: 0.1.11
structured-headers: 0.4.1
- tar: 7.5.1
+ tar: 7.5.2
terminal-link: 2.1.1
undici: 6.22.0
wrap-ansi: 7.0.0
ws: 8.18.3
optionalDependencies:
- expo-router: 6.0.13(@expo/metro-runtime@6.1.2)(@types/react@19.1.17)(expo-constants@18.0.10)(expo-linking@8.0.8)(expo@54.0.20)(react-dom@19.2.0(react@19.1.0))(react-native-gesture-handler@2.28.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-reanimated@3.17.5(@babel/core@7.28.5)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.4.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-screens@4.16.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-web@0.21.2(react-dom@19.2.0(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
+ expo-router: 6.0.14(@expo/metro-runtime@6.1.2)(@types/react@19.1.17)(expo-constants@18.0.10)(expo-linking@8.0.8)(expo@54.0.21)(react-dom@19.2.0(react@19.1.0))(react-native-gesture-handler@2.28.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-reanimated@4.1.3(@babel/core@7.28.5)(react-native-worklets@0.5.2(@babel/core@7.28.5)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.6.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-screens@4.16.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-web@0.21.2(react-dom@19.2.0(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
react-native: 0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0)
transitivePeerDependencies:
- '@modelcontextprotocol/sdk'
@@ -6293,7 +6212,7 @@ snapshots:
- bufferutil
- utf-8-validate
- '@expo/metro-config@54.0.7(expo@54.0.20)':
+ '@expo/metro-config@54.0.8(expo@54.0.21)':
dependencies:
'@babel/code-frame': 7.27.1
'@babel/core': 7.28.5
@@ -6317,16 +6236,16 @@ snapshots:
postcss: 8.4.49
resolve-from: 5.0.0
optionalDependencies:
- expo: 54.0.20(@babel/core@7.28.5)(@expo/metro-runtime@6.1.2)(expo-router@6.0.13)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
+ expo: 54.0.21(@babel/core@7.28.5)(@expo/metro-runtime@6.1.2)(expo-router@6.0.14)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
transitivePeerDependencies:
- bufferutil
- supports-color
- utf-8-validate
- '@expo/metro-runtime@6.1.2(expo@54.0.20)(react-dom@19.2.0(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)':
+ '@expo/metro-runtime@6.1.2(expo@54.0.21)(react-dom@19.2.0(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)':
dependencies:
anser: 1.4.10
- expo: 54.0.20(@babel/core@7.28.5)(@expo/metro-runtime@6.1.2)(expo-router@6.0.13)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
+ expo: 54.0.21(@babel/core@7.28.5)(@expo/metro-runtime@6.1.2)(expo-router@6.0.14)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
pretty-format: 29.7.0
react: 19.1.0
react-native: 0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0)
@@ -6374,7 +6293,7 @@ snapshots:
base64-js: 1.5.1
xmlbuilder: 15.1.1
- '@expo/prebuild-config@54.0.6(expo@54.0.20)':
+ '@expo/prebuild-config@54.0.6(expo@54.0.21)':
dependencies:
'@expo/config': 12.0.10
'@expo/config-plugins': 54.0.2
@@ -6383,7 +6302,7 @@ snapshots:
'@expo/json-file': 10.0.7
'@react-native/normalize-colors': 0.81.5
debug: 4.4.3
- expo: 54.0.20(@babel/core@7.28.5)(@expo/metro-runtime@6.1.2)(expo-router@6.0.13)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
+ expo: 54.0.21(@babel/core@7.28.5)(@expo/metro-runtime@6.1.2)(expo-router@6.0.14)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
resolve-from: 5.0.0
semver: 7.7.3
xml2js: 0.6.0
@@ -6400,9 +6319,9 @@ snapshots:
'@expo/sudo-prompt@9.3.2': {}
- '@expo/vector-icons@15.0.3(expo-font@14.0.9(expo@54.0.20)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)':
+ '@expo/vector-icons@15.0.3(expo-font@14.0.9(expo@54.0.21)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)':
dependencies:
- expo-font: 14.0.9(expo@54.0.20)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
+ expo-font: 14.0.9(expo@54.0.21)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
react: 19.1.0
react-native: 0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0)
@@ -6441,16 +6360,16 @@ snapshots:
dependencies:
tslib: 2.8.1
- '@gluestack-ui/core@3.0.10(@gluestack-ui/utils@3.0.11(react-dom@19.2.0(react@19.1.0))(react-native-web@0.21.2(react-dom@19.2.0(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)(tailwindcss@3.4.17))(react-native-safe-area-context@5.4.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-svg@15.12.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-web@0.21.2(react-dom@19.2.0(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)':
+ '@gluestack-ui/core@3.0.12(@gluestack-ui/utils@3.0.11(react-dom@19.2.0(react@19.1.0))(react-native-web@0.21.2(react-dom@19.2.0(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)(tailwindcss@3.4.18(yaml@2.8.1)))(react-native-safe-area-context@5.6.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-svg@15.12.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-web@0.21.2(react-dom@19.2.0(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)':
dependencies:
- '@gluestack-ui/utils': 3.0.11(react-dom@19.2.0(react@19.1.0))(react-native-web@0.21.2(react-dom@19.2.0(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)(tailwindcss@3.4.17)
+ '@gluestack-ui/utils': 3.0.11(react-dom@19.2.0(react@19.1.0))(react-native-web@0.21.2(react-dom@19.2.0(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)(tailwindcss@3.4.18(yaml@2.8.1))
react: 19.1.0
react-native: 0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0)
- react-native-safe-area-context: 5.4.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
+ react-native-safe-area-context: 5.6.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
react-native-svg: 15.12.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
react-native-web: 0.21.2(react-dom@19.2.0(react@19.1.0))(react@19.1.0)
- '@gluestack-ui/utils@3.0.11(react-dom@19.2.0(react@19.1.0))(react-native-web@0.21.2(react-dom@19.2.0(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)(tailwindcss@3.4.17)':
+ '@gluestack-ui/utils@3.0.11(react-dom@19.2.0(react@19.1.0))(react-native-web@0.21.2(react-dom@19.2.0(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)(tailwindcss@3.4.18(yaml@2.8.1))':
dependencies:
dom-helpers: 6.0.1
react: 19.1.0
@@ -6458,8 +6377,8 @@ snapshots:
react-native: 0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0)
react-native-web: 0.21.2(react-dom@19.2.0(react@19.1.0))(react@19.1.0)
react-stately: 3.42.0(react@19.1.0)
- tailwind-variants: 0.1.20(tailwindcss@3.4.17)
- tailwindcss: 3.4.17
+ tailwind-variants: 0.1.20(tailwindcss@3.4.18(yaml@2.8.1))
+ tailwindcss: 3.4.18(yaml@2.8.1)
transitivePeerDependencies:
- react-dom
@@ -6529,14 +6448,14 @@ snapshots:
dependencies:
'@jest/fake-timers': 29.7.0
'@jest/types': 29.6.3
- '@types/node': 24.9.1
+ '@types/node': 24.9.2
jest-mock: 29.7.0
'@jest/fake-timers@29.7.0':
dependencies:
'@jest/types': 29.6.3
'@sinonjs/fake-timers': 10.3.0
- '@types/node': 24.9.1
+ '@types/node': 24.9.2
jest-message-util: 29.7.0
jest-mock: 29.7.0
jest-util: 29.7.0
@@ -6570,7 +6489,7 @@ snapshots:
'@jest/schemas': 29.6.3
'@types/istanbul-lib-coverage': 2.0.6
'@types/istanbul-reports': 3.0.4
- '@types/node': 24.9.1
+ '@types/node': 24.9.2
'@types/yargs': 17.0.34
chalk: 4.1.2
@@ -6598,40 +6517,16 @@ snapshots:
'@jridgewell/resolve-uri': 3.1.2
'@jridgewell/sourcemap-codec': 1.5.5
- '@motionone/animation@10.18.0':
+ '@legendapp/motion@2.4.0(nativewind@4.2.1(react-native-reanimated@4.1.3(@babel/core@7.28.5)(react-native-worklets@0.5.2(@babel/core@7.28.5)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.6.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-svg@15.12.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)(tailwindcss@3.4.18(yaml@2.8.1)))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)':
dependencies:
- '@motionone/easing': 10.18.0
- '@motionone/types': 10.17.1
- '@motionone/utils': 10.18.0
- tslib: 2.8.1
+ '@legendapp/tools': 2.0.1(react@19.1.0)
+ nativewind: 4.2.1(react-native-reanimated@4.1.3(@babel/core@7.28.5)(react-native-worklets@0.5.2(@babel/core@7.28.5)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.6.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-svg@15.12.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)(tailwindcss@3.4.18(yaml@2.8.1))
+ react: 19.1.0
+ react-native: 0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0)
- '@motionone/dom@10.12.0':
- dependencies:
- '@motionone/animation': 10.18.0
- '@motionone/generators': 10.18.0
- '@motionone/types': 10.17.1
- '@motionone/utils': 10.18.0
- hey-listen: 1.0.8
- tslib: 2.8.1
-
- '@motionone/easing@10.18.0':
- dependencies:
- '@motionone/utils': 10.18.0
- tslib: 2.8.1
-
- '@motionone/generators@10.18.0':
- dependencies:
- '@motionone/types': 10.17.1
- '@motionone/utils': 10.18.0
- tslib: 2.8.1
-
- '@motionone/types@10.17.1': {}
-
- '@motionone/utils@10.18.0':
- dependencies:
- '@motionone/types': 10.17.1
- hey-listen: 1.0.8
- tslib: 2.8.1
+ '@legendapp/tools@2.0.1(react@19.1.0)':
+ optionalDependencies:
+ react: 19.1.0
'@nodelib/fs.scandir@2.1.5':
dependencies:
@@ -7559,22 +7454,24 @@ snapshots:
optionalDependencies:
'@types/react': 19.1.17
- '@react-navigation/bottom-tabs@7.5.0(@react-navigation/native@7.1.18(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.4.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-screens@4.16.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)':
+ '@react-navigation/bottom-tabs@7.7.2(@react-navigation/native@7.1.19(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.6.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-screens@4.16.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)':
dependencies:
- '@react-navigation/elements': 2.7.0(@react-navigation/native@7.1.18(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.4.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
- '@react-navigation/native': 7.1.18(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
+ '@react-navigation/elements': 2.8.0(@react-navigation/native@7.1.19(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.6.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
+ '@react-navigation/native': 7.1.19(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
color: 4.2.3
react: 19.1.0
react-native: 0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0)
- react-native-safe-area-context: 5.4.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
+ react-native-safe-area-context: 5.6.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
react-native-screens: 4.16.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
+ sf-symbols-typescript: 2.1.0
transitivePeerDependencies:
- '@react-native-masked-view/masked-view'
- '@react-navigation/core@7.12.4(react@19.1.0)':
+ '@react-navigation/core@7.13.0(react@19.1.0)':
dependencies:
'@react-navigation/routers': 7.5.1
escape-string-regexp: 4.0.0
+ fast-deep-equal: 3.1.3
nanoid: 3.3.11
query-string: 7.1.3
react: 19.1.0
@@ -7582,33 +7479,33 @@ snapshots:
use-latest-callback: 0.2.6(react@19.1.0)
use-sync-external-store: 1.6.0(react@19.1.0)
- '@react-navigation/elements@2.7.0(@react-navigation/native@7.1.18(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.4.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)':
+ '@react-navigation/elements@2.8.0(@react-navigation/native@7.1.19(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.6.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)':
dependencies:
- '@react-navigation/native': 7.1.18(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
+ '@react-navigation/native': 7.1.19(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
color: 4.2.3
react: 19.1.0
react-native: 0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0)
- react-native-safe-area-context: 5.4.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
+ react-native-safe-area-context: 5.6.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
use-latest-callback: 0.2.6(react@19.1.0)
use-sync-external-store: 1.6.0(react@19.1.0)
- '@react-navigation/native-stack@7.5.1(@react-navigation/native@7.1.18(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.4.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-screens@4.16.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)':
+ '@react-navigation/native-stack@7.6.1(@react-navigation/native@7.1.19(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.6.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-screens@4.16.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)':
dependencies:
- '@react-navigation/elements': 2.7.0(@react-navigation/native@7.1.18(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.4.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
- '@react-navigation/native': 7.1.18(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
+ '@react-navigation/elements': 2.8.0(@react-navigation/native@7.1.19(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.6.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
+ '@react-navigation/native': 7.1.19(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
color: 4.2.3
react: 19.1.0
react-native: 0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0)
- react-native-safe-area-context: 5.4.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
+ react-native-safe-area-context: 5.6.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
react-native-screens: 4.16.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
sf-symbols-typescript: 2.1.0
warn-once: 0.1.1
transitivePeerDependencies:
- '@react-native-masked-view/masked-view'
- '@react-navigation/native@7.1.18(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)':
+ '@react-navigation/native@7.1.19(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)':
dependencies:
- '@react-navigation/core': 7.12.4(react@19.1.0)
+ '@react-navigation/core': 7.13.0(react@19.1.0)
escape-string-regexp: 4.0.0
fast-deep-equal: 3.1.3
nanoid: 3.3.11
@@ -8004,11 +7901,11 @@ snapshots:
dependencies:
'@sinonjs/commons': 3.0.1
- '@stylistic/eslint-plugin@5.5.0(eslint@9.38.0(jiti@1.21.7))':
+ '@stylistic/eslint-plugin@5.5.0(eslint@9.39.0(jiti@1.21.7))':
dependencies:
- '@eslint-community/eslint-utils': 4.9.0(eslint@9.38.0(jiti@1.21.7))
+ '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.0(jiti@1.21.7))
'@typescript-eslint/types': 8.46.2
- eslint: 9.38.0(jiti@1.21.7)
+ eslint: 9.39.0(jiti@1.21.7)
eslint-visitor-keys: 4.2.1
espree: 10.4.0
estraverse: 5.3.0
@@ -8047,7 +7944,7 @@ snapshots:
'@types/graceful-fs@4.1.9':
dependencies:
- '@types/node': 24.9.1
+ '@types/node': 24.9.2
'@types/hammerjs@2.0.46': {}
@@ -8069,7 +7966,7 @@ snapshots:
'@types/ms@2.1.0': {}
- '@types/node@24.9.1':
+ '@types/node@24.9.2':
dependencies:
undici-types: 7.16.0
@@ -8087,15 +7984,15 @@ snapshots:
dependencies:
'@types/yargs-parser': 21.0.3
- '@typescript-eslint/eslint-plugin@8.46.2(@typescript-eslint/parser@8.46.2(eslint@9.38.0(jiti@1.21.7))(typescript@5.9.3))(eslint@9.38.0(jiti@1.21.7))(typescript@5.9.3)':
+ '@typescript-eslint/eslint-plugin@8.46.2(@typescript-eslint/parser@8.46.2(eslint@9.39.0(jiti@1.21.7))(typescript@5.9.3))(eslint@9.39.0(jiti@1.21.7))(typescript@5.9.3)':
dependencies:
'@eslint-community/regexpp': 4.12.2
- '@typescript-eslint/parser': 8.46.2(eslint@9.38.0(jiti@1.21.7))(typescript@5.9.3)
+ '@typescript-eslint/parser': 8.46.2(eslint@9.39.0(jiti@1.21.7))(typescript@5.9.3)
'@typescript-eslint/scope-manager': 8.46.2
- '@typescript-eslint/type-utils': 8.46.2(eslint@9.38.0(jiti@1.21.7))(typescript@5.9.3)
- '@typescript-eslint/utils': 8.46.2(eslint@9.38.0(jiti@1.21.7))(typescript@5.9.3)
+ '@typescript-eslint/type-utils': 8.46.2(eslint@9.39.0(jiti@1.21.7))(typescript@5.9.3)
+ '@typescript-eslint/utils': 8.46.2(eslint@9.39.0(jiti@1.21.7))(typescript@5.9.3)
'@typescript-eslint/visitor-keys': 8.46.2
- eslint: 9.38.0(jiti@1.21.7)
+ eslint: 9.39.0(jiti@1.21.7)
graphemer: 1.4.0
ignore: 7.0.5
natural-compare: 1.4.0
@@ -8104,14 +8001,14 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/parser@8.46.2(eslint@9.38.0(jiti@1.21.7))(typescript@5.9.3)':
+ '@typescript-eslint/parser@8.46.2(eslint@9.39.0(jiti@1.21.7))(typescript@5.9.3)':
dependencies:
'@typescript-eslint/scope-manager': 8.46.2
'@typescript-eslint/types': 8.46.2
'@typescript-eslint/typescript-estree': 8.46.2(typescript@5.9.3)
'@typescript-eslint/visitor-keys': 8.46.2
debug: 4.4.3
- eslint: 9.38.0(jiti@1.21.7)
+ eslint: 9.39.0(jiti@1.21.7)
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
@@ -8134,13 +8031,13 @@ snapshots:
dependencies:
typescript: 5.9.3
- '@typescript-eslint/type-utils@8.46.2(eslint@9.38.0(jiti@1.21.7))(typescript@5.9.3)':
+ '@typescript-eslint/type-utils@8.46.2(eslint@9.39.0(jiti@1.21.7))(typescript@5.9.3)':
dependencies:
'@typescript-eslint/types': 8.46.2
'@typescript-eslint/typescript-estree': 8.46.2(typescript@5.9.3)
- '@typescript-eslint/utils': 8.46.2(eslint@9.38.0(jiti@1.21.7))(typescript@5.9.3)
+ '@typescript-eslint/utils': 8.46.2(eslint@9.39.0(jiti@1.21.7))(typescript@5.9.3)
debug: 4.4.3
- eslint: 9.38.0(jiti@1.21.7)
+ eslint: 9.39.0(jiti@1.21.7)
ts-api-utils: 2.1.0(typescript@5.9.3)
typescript: 5.9.3
transitivePeerDependencies:
@@ -8164,13 +8061,13 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/utils@8.46.2(eslint@9.38.0(jiti@1.21.7))(typescript@5.9.3)':
+ '@typescript-eslint/utils@8.46.2(eslint@9.39.0(jiti@1.21.7))(typescript@5.9.3)':
dependencies:
- '@eslint-community/eslint-utils': 4.9.0(eslint@9.38.0(jiti@1.21.7))
+ '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.0(jiti@1.21.7))
'@typescript-eslint/scope-manager': 8.46.2
'@typescript-eslint/types': 8.46.2
'@typescript-eslint/typescript-estree': 8.46.2(typescript@5.9.3)
- eslint: 9.38.0(jiti@1.21.7)
+ eslint: 9.39.0(jiti@1.21.7)
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
@@ -8194,11 +8091,11 @@ snapshots:
'@urql/core': 5.2.0
wonka: 6.3.5
- '@vitest/eslint-plugin@1.3.25(eslint@9.38.0(jiti@1.21.7))(typescript@5.9.3)':
+ '@vitest/eslint-plugin@1.4.0(eslint@9.39.0(jiti@1.21.7))(typescript@5.9.3)':
dependencies:
'@typescript-eslint/scope-manager': 8.46.2
- '@typescript-eslint/utils': 8.46.2(eslint@9.38.0(jiti@1.21.7))(typescript@5.9.3)
- eslint: 9.38.0(jiti@1.21.7)
+ '@typescript-eslint/utils': 8.46.2(eslint@9.39.0(jiti@1.21.7))(typescript@5.9.3)
+ eslint: 9.39.0(jiti@1.21.7)
optionalDependencies:
typescript: 5.9.3
transitivePeerDependencies:
@@ -8404,7 +8301,7 @@ snapshots:
'@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.28.5)
'@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.28.5)
- babel-preset-expo@54.0.6(@babel/core@7.28.5)(@babel/runtime@7.28.4)(expo@54.0.20)(react-refresh@0.14.2):
+ babel-preset-expo@54.0.6(@babel/core@7.28.5)(@babel/runtime@7.28.4)(expo@54.0.21)(react-refresh@0.14.2):
dependencies:
'@babel/helper-module-imports': 7.27.1
'@babel/plugin-proposal-decorators': 7.28.0(@babel/core@7.28.5)
@@ -8431,7 +8328,7 @@ snapshots:
resolve-from: 5.0.0
optionalDependencies:
'@babel/runtime': 7.28.4
- expo: 54.0.20(@babel/core@7.28.5)(@expo/metro-runtime@6.1.2)(expo-router@6.0.13)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
+ expo: 54.0.21(@babel/core@7.28.5)(@expo/metro-runtime@6.1.2)(expo-router@6.0.14)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
transitivePeerDependencies:
- '@babel/core'
- supports-color
@@ -8446,7 +8343,7 @@ snapshots:
base64-js@1.5.1: {}
- baseline-browser-mapping@2.8.20: {}
+ baseline-browser-mapping@2.8.22: {}
better-opn@3.0.2:
dependencies:
@@ -8485,10 +8382,10 @@ snapshots:
browserslist@4.27.0:
dependencies:
- baseline-browser-mapping: 2.8.20
- caniuse-lite: 1.0.30001751
- electron-to-chromium: 1.5.240
- node-releases: 2.0.26
+ baseline-browser-mapping: 2.8.22
+ caniuse-lite: 1.0.30001752
+ electron-to-chromium: 1.5.244
+ node-releases: 2.0.27
update-browserslist-db: 1.1.4(browserslist@4.27.0)
bser@2.1.1:
@@ -8516,7 +8413,7 @@ snapshots:
camelcase@6.3.0: {}
- caniuse-lite@1.0.30001751: {}
+ caniuse-lite@1.0.30001752: {}
ccount@2.0.1: {}
@@ -8551,7 +8448,7 @@ snapshots:
chrome-launcher@0.15.2:
dependencies:
- '@types/node': 24.9.1
+ '@types/node': 24.9.2
escape-string-regexp: 4.0.0
is-wsl: 2.2.0
lighthouse-logger: 1.4.2
@@ -8560,7 +8457,7 @@ snapshots:
chromium-edge-launcher@0.2.0:
dependencies:
- '@types/node': 24.9.1
+ '@types/node': 24.9.2
escape-string-regexp: 4.0.0
is-wsl: 2.2.0
lighthouse-logger: 1.4.2
@@ -8798,7 +8695,7 @@ snapshots:
ee-first@1.1.1: {}
- electron-to-chromium@1.5.240: {}
+ electron-to-chromium@1.5.244: {}
emoji-regex@8.0.0: {}
@@ -8835,68 +8732,68 @@ snapshots:
escape-string-regexp@5.0.0: {}
- eslint-compat-utils@0.5.1(eslint@9.38.0(jiti@1.21.7)):
+ eslint-compat-utils@0.5.1(eslint@9.39.0(jiti@1.21.7)):
dependencies:
- eslint: 9.38.0(jiti@1.21.7)
+ eslint: 9.39.0(jiti@1.21.7)
semver: 7.7.3
- eslint-compat-utils@0.6.5(eslint@9.38.0(jiti@1.21.7)):
+ eslint-compat-utils@0.6.5(eslint@9.39.0(jiti@1.21.7)):
dependencies:
- eslint: 9.38.0(jiti@1.21.7)
+ eslint: 9.39.0(jiti@1.21.7)
semver: 7.7.3
- eslint-config-flat-gitignore@2.1.0(eslint@9.38.0(jiti@1.21.7)):
+ eslint-config-flat-gitignore@2.1.0(eslint@9.39.0(jiti@1.21.7)):
dependencies:
- '@eslint/compat': 1.4.0(eslint@9.38.0(jiti@1.21.7))
- eslint: 9.38.0(jiti@1.21.7)
+ '@eslint/compat': 1.4.1(eslint@9.39.0(jiti@1.21.7))
+ eslint: 9.39.0(jiti@1.21.7)
eslint-flat-config-utils@2.1.4:
dependencies:
pathe: 2.0.3
- eslint-json-compat-utils@0.2.1(eslint@9.38.0(jiti@1.21.7))(jsonc-eslint-parser@2.4.1):
+ eslint-json-compat-utils@0.2.1(eslint@9.39.0(jiti@1.21.7))(jsonc-eslint-parser@2.4.1):
dependencies:
- eslint: 9.38.0(jiti@1.21.7)
+ eslint: 9.39.0(jiti@1.21.7)
esquery: 1.6.0
jsonc-eslint-parser: 2.4.1
- eslint-merge-processors@2.0.0(eslint@9.38.0(jiti@1.21.7)):
+ eslint-merge-processors@2.0.0(eslint@9.39.0(jiti@1.21.7)):
dependencies:
- eslint: 9.38.0(jiti@1.21.7)
+ eslint: 9.39.0(jiti@1.21.7)
- eslint-plugin-antfu@3.1.1(eslint@9.38.0(jiti@1.21.7)):
+ eslint-plugin-antfu@3.1.1(eslint@9.39.0(jiti@1.21.7)):
dependencies:
- eslint: 9.38.0(jiti@1.21.7)
+ eslint: 9.39.0(jiti@1.21.7)
- eslint-plugin-command@3.3.1(eslint@9.38.0(jiti@1.21.7)):
+ eslint-plugin-command@3.3.1(eslint@9.39.0(jiti@1.21.7)):
dependencies:
'@es-joy/jsdoccomment': 0.50.2
- eslint: 9.38.0(jiti@1.21.7)
+ eslint: 9.39.0(jiti@1.21.7)
- eslint-plugin-es-x@7.8.0(eslint@9.38.0(jiti@1.21.7)):
+ eslint-plugin-es-x@7.8.0(eslint@9.39.0(jiti@1.21.7)):
dependencies:
- '@eslint-community/eslint-utils': 4.9.0(eslint@9.38.0(jiti@1.21.7))
+ '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.0(jiti@1.21.7))
'@eslint-community/regexpp': 4.12.2
- eslint: 9.38.0(jiti@1.21.7)
- eslint-compat-utils: 0.5.1(eslint@9.38.0(jiti@1.21.7))
+ eslint: 9.39.0(jiti@1.21.7)
+ eslint-compat-utils: 0.5.1(eslint@9.39.0(jiti@1.21.7))
- eslint-plugin-import-lite@0.3.0(eslint@9.38.0(jiti@1.21.7))(typescript@5.9.3):
+ eslint-plugin-import-lite@0.3.0(eslint@9.39.0(jiti@1.21.7))(typescript@5.9.3):
dependencies:
- '@eslint-community/eslint-utils': 4.9.0(eslint@9.38.0(jiti@1.21.7))
+ '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.0(jiti@1.21.7))
'@typescript-eslint/types': 8.46.2
- eslint: 9.38.0(jiti@1.21.7)
+ eslint: 9.39.0(jiti@1.21.7)
optionalDependencies:
typescript: 5.9.3
- eslint-plugin-jsdoc@61.1.9(eslint@9.38.0(jiti@1.21.7)):
+ eslint-plugin-jsdoc@61.1.11(eslint@9.39.0(jiti@1.21.7)):
dependencies:
'@es-joy/jsdoccomment': 0.76.0
- '@es-joy/resolve.exports': 1.0.0
+ '@es-joy/resolve.exports': 1.2.0
are-docs-informative: 0.0.2
comment-parser: 1.4.1
debug: 4.4.3
escape-string-regexp: 4.0.0
- eslint: 9.38.0(jiti@1.21.7)
+ eslint: 9.39.0(jiti@1.21.7)
espree: 10.4.0
esquery: 1.6.0
html-entities: 2.6.0
@@ -8908,13 +8805,13 @@ snapshots:
transitivePeerDependencies:
- supports-color
- eslint-plugin-jsonc@2.21.0(eslint@9.38.0(jiti@1.21.7)):
+ eslint-plugin-jsonc@2.21.0(eslint@9.39.0(jiti@1.21.7)):
dependencies:
- '@eslint-community/eslint-utils': 4.9.0(eslint@9.38.0(jiti@1.21.7))
+ '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.0(jiti@1.21.7))
diff-sequences: 27.5.1
- eslint: 9.38.0(jiti@1.21.7)
- eslint-compat-utils: 0.6.5(eslint@9.38.0(jiti@1.21.7))
- eslint-json-compat-utils: 0.2.1(eslint@9.38.0(jiti@1.21.7))(jsonc-eslint-parser@2.4.1)
+ eslint: 9.39.0(jiti@1.21.7)
+ eslint-compat-utils: 0.6.5(eslint@9.39.0(jiti@1.21.7))
+ eslint-json-compat-utils: 0.2.1(eslint@9.39.0(jiti@1.21.7))(jsonc-eslint-parser@2.4.1)
espree: 10.4.0
graphemer: 1.4.0
jsonc-eslint-parser: 2.4.1
@@ -8923,12 +8820,12 @@ snapshots:
transitivePeerDependencies:
- '@eslint/json'
- eslint-plugin-n@17.23.1(eslint@9.38.0(jiti@1.21.7))(typescript@5.9.3):
+ eslint-plugin-n@17.23.1(eslint@9.39.0(jiti@1.21.7))(typescript@5.9.3):
dependencies:
- '@eslint-community/eslint-utils': 4.9.0(eslint@9.38.0(jiti@1.21.7))
+ '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.0(jiti@1.21.7))
enhanced-resolve: 5.18.3
- eslint: 9.38.0(jiti@1.21.7)
- eslint-plugin-es-x: 7.8.0(eslint@9.38.0(jiti@1.21.7))
+ eslint: 9.39.0(jiti@1.21.7)
+ eslint-plugin-es-x: 7.8.0(eslint@9.39.0(jiti@1.21.7))
get-tsconfig: 4.13.0
globals: 15.15.0
globrex: 0.1.2
@@ -8940,105 +8837,105 @@ snapshots:
eslint-plugin-no-only-tests@3.3.0: {}
- eslint-plugin-perfectionist@4.15.1(eslint@9.38.0(jiti@1.21.7))(typescript@5.9.3):
+ eslint-plugin-perfectionist@4.15.1(eslint@9.39.0(jiti@1.21.7))(typescript@5.9.3):
dependencies:
'@typescript-eslint/types': 8.46.2
- '@typescript-eslint/utils': 8.46.2(eslint@9.38.0(jiti@1.21.7))(typescript@5.9.3)
- eslint: 9.38.0(jiti@1.21.7)
+ '@typescript-eslint/utils': 8.46.2(eslint@9.39.0(jiti@1.21.7))(typescript@5.9.3)
+ eslint: 9.39.0(jiti@1.21.7)
natural-orderby: 5.0.0
transitivePeerDependencies:
- supports-color
- typescript
- eslint-plugin-pnpm@1.3.0(eslint@9.38.0(jiti@1.21.7)):
+ eslint-plugin-pnpm@1.3.0(eslint@9.39.0(jiti@1.21.7)):
dependencies:
empathic: 2.0.0
- eslint: 9.38.0(jiti@1.21.7)
+ eslint: 9.39.0(jiti@1.21.7)
jsonc-eslint-parser: 2.4.1
pathe: 2.0.3
pnpm-workspace-yaml: 1.3.0
tinyglobby: 0.2.15
yaml-eslint-parser: 1.3.0
- eslint-plugin-regexp@2.10.0(eslint@9.38.0(jiti@1.21.7)):
+ eslint-plugin-regexp@2.10.0(eslint@9.39.0(jiti@1.21.7)):
dependencies:
- '@eslint-community/eslint-utils': 4.9.0(eslint@9.38.0(jiti@1.21.7))
+ '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.0(jiti@1.21.7))
'@eslint-community/regexpp': 4.12.2
comment-parser: 1.4.1
- eslint: 9.38.0(jiti@1.21.7)
+ eslint: 9.39.0(jiti@1.21.7)
jsdoc-type-pratt-parser: 4.8.0
refa: 0.12.1
regexp-ast-analysis: 0.7.1
scslre: 0.3.0
- eslint-plugin-toml@0.12.0(eslint@9.38.0(jiti@1.21.7)):
+ eslint-plugin-toml@0.12.0(eslint@9.39.0(jiti@1.21.7)):
dependencies:
debug: 4.4.3
- eslint: 9.38.0(jiti@1.21.7)
- eslint-compat-utils: 0.6.5(eslint@9.38.0(jiti@1.21.7))
+ eslint: 9.39.0(jiti@1.21.7)
+ eslint-compat-utils: 0.6.5(eslint@9.39.0(jiti@1.21.7))
lodash: 4.17.21
toml-eslint-parser: 0.10.0
transitivePeerDependencies:
- supports-color
- eslint-plugin-unicorn@61.0.2(eslint@9.38.0(jiti@1.21.7)):
+ eslint-plugin-unicorn@62.0.0(eslint@9.39.0(jiti@1.21.7)):
dependencies:
'@babel/helper-validator-identifier': 7.28.5
- '@eslint-community/eslint-utils': 4.9.0(eslint@9.38.0(jiti@1.21.7))
- '@eslint/plugin-kit': 0.3.5
+ '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.0(jiti@1.21.7))
+ '@eslint/plugin-kit': 0.4.1
change-case: 5.4.4
ci-info: 4.3.1
clean-regexp: 1.0.0
core-js-compat: 3.46.0
- eslint: 9.38.0(jiti@1.21.7)
+ eslint: 9.39.0(jiti@1.21.7)
esquery: 1.6.0
find-up-simple: 1.0.1
- globals: 16.4.0
+ globals: 16.5.0
indent-string: 5.0.0
is-builtin-module: 5.0.0
jsesc: 3.1.0
pluralize: 8.0.0
regexp-tree: 0.1.27
- regjsparser: 0.12.0
+ regjsparser: 0.13.0
semver: 7.7.3
strip-indent: 4.1.1
- eslint-plugin-unused-imports@4.3.0(@typescript-eslint/eslint-plugin@8.46.2(@typescript-eslint/parser@8.46.2(eslint@9.38.0(jiti@1.21.7))(typescript@5.9.3))(eslint@9.38.0(jiti@1.21.7))(typescript@5.9.3))(eslint@9.38.0(jiti@1.21.7)):
+ eslint-plugin-unused-imports@4.3.0(@typescript-eslint/eslint-plugin@8.46.2(@typescript-eslint/parser@8.46.2(eslint@9.39.0(jiti@1.21.7))(typescript@5.9.3))(eslint@9.39.0(jiti@1.21.7))(typescript@5.9.3))(eslint@9.39.0(jiti@1.21.7)):
dependencies:
- eslint: 9.38.0(jiti@1.21.7)
+ eslint: 9.39.0(jiti@1.21.7)
optionalDependencies:
- '@typescript-eslint/eslint-plugin': 8.46.2(@typescript-eslint/parser@8.46.2(eslint@9.38.0(jiti@1.21.7))(typescript@5.9.3))(eslint@9.38.0(jiti@1.21.7))(typescript@5.9.3)
+ '@typescript-eslint/eslint-plugin': 8.46.2(@typescript-eslint/parser@8.46.2(eslint@9.39.0(jiti@1.21.7))(typescript@5.9.3))(eslint@9.39.0(jiti@1.21.7))(typescript@5.9.3)
- eslint-plugin-vue@10.5.1(@stylistic/eslint-plugin@5.5.0(eslint@9.38.0(jiti@1.21.7)))(@typescript-eslint/parser@8.46.2(eslint@9.38.0(jiti@1.21.7))(typescript@5.9.3))(eslint@9.38.0(jiti@1.21.7))(vue-eslint-parser@10.2.0(eslint@9.38.0(jiti@1.21.7))):
+ eslint-plugin-vue@10.5.1(@stylistic/eslint-plugin@5.5.0(eslint@9.39.0(jiti@1.21.7)))(@typescript-eslint/parser@8.46.2(eslint@9.39.0(jiti@1.21.7))(typescript@5.9.3))(eslint@9.39.0(jiti@1.21.7))(vue-eslint-parser@10.2.0(eslint@9.39.0(jiti@1.21.7))):
dependencies:
- '@eslint-community/eslint-utils': 4.9.0(eslint@9.38.0(jiti@1.21.7))
- eslint: 9.38.0(jiti@1.21.7)
+ '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.0(jiti@1.21.7))
+ eslint: 9.39.0(jiti@1.21.7)
natural-compare: 1.4.0
nth-check: 2.1.1
postcss-selector-parser: 6.1.2
semver: 7.7.3
- vue-eslint-parser: 10.2.0(eslint@9.38.0(jiti@1.21.7))
+ vue-eslint-parser: 10.2.0(eslint@9.39.0(jiti@1.21.7))
xml-name-validator: 4.0.0
optionalDependencies:
- '@stylistic/eslint-plugin': 5.5.0(eslint@9.38.0(jiti@1.21.7))
- '@typescript-eslint/parser': 8.46.2(eslint@9.38.0(jiti@1.21.7))(typescript@5.9.3)
+ '@stylistic/eslint-plugin': 5.5.0(eslint@9.39.0(jiti@1.21.7))
+ '@typescript-eslint/parser': 8.46.2(eslint@9.39.0(jiti@1.21.7))(typescript@5.9.3)
- eslint-plugin-yml@1.19.0(eslint@9.38.0(jiti@1.21.7)):
+ eslint-plugin-yml@1.19.0(eslint@9.39.0(jiti@1.21.7)):
dependencies:
debug: 4.4.3
diff-sequences: 27.5.1
escape-string-regexp: 4.0.0
- eslint: 9.38.0(jiti@1.21.7)
- eslint-compat-utils: 0.6.5(eslint@9.38.0(jiti@1.21.7))
+ eslint: 9.39.0(jiti@1.21.7)
+ eslint-compat-utils: 0.6.5(eslint@9.39.0(jiti@1.21.7))
natural-compare: 1.4.0
yaml-eslint-parser: 1.3.0
transitivePeerDependencies:
- supports-color
- eslint-processor-vue-blocks@2.0.0(@vue/compiler-sfc@3.5.22)(eslint@9.38.0(jiti@1.21.7)):
+ eslint-processor-vue-blocks@2.0.0(@vue/compiler-sfc@3.5.22)(eslint@9.39.0(jiti@1.21.7)):
dependencies:
'@vue/compiler-sfc': 3.5.22
- eslint: 9.38.0(jiti@1.21.7)
+ eslint: 9.39.0(jiti@1.21.7)
eslint-scope@8.4.0:
dependencies:
@@ -9049,16 +8946,16 @@ snapshots:
eslint-visitor-keys@4.2.1: {}
- eslint@9.38.0(jiti@1.21.7):
+ eslint@9.39.0(jiti@1.21.7):
dependencies:
- '@eslint-community/eslint-utils': 4.9.0(eslint@9.38.0(jiti@1.21.7))
+ '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.0(jiti@1.21.7))
'@eslint-community/regexpp': 4.12.2
'@eslint/config-array': 0.21.1
- '@eslint/config-helpers': 0.4.1
- '@eslint/core': 0.16.0
+ '@eslint/config-helpers': 0.4.2
+ '@eslint/core': 0.17.0
'@eslint/eslintrc': 3.3.1
- '@eslint/js': 9.38.0
- '@eslint/plugin-kit': 0.4.0
+ '@eslint/js': 9.39.0
+ '@eslint/plugin-kit': 0.4.1
'@humanfs/node': 0.16.7
'@humanwhocodes/module-importer': 1.0.1
'@humanwhocodes/retry': 0.4.3
@@ -9124,51 +9021,45 @@ snapshots:
exec-async@2.2.0: {}
- expo-asset@12.0.9(expo@54.0.20)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0):
+ expo-asset@12.0.9(expo@54.0.21)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0):
dependencies:
'@expo/image-utils': 0.8.7
- expo: 54.0.20(@babel/core@7.28.5)(@expo/metro-runtime@6.1.2)(expo-router@6.0.13)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
- expo-constants: 18.0.10(expo@54.0.20)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))
+ expo: 54.0.21(@babel/core@7.28.5)(@expo/metro-runtime@6.1.2)(expo-router@6.0.14)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
+ expo-constants: 18.0.10(expo@54.0.21)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))
react: 19.1.0
react-native: 0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0)
transitivePeerDependencies:
- supports-color
- expo-blur@15.0.7(expo@54.0.20)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0):
- dependencies:
- expo: 54.0.20(@babel/core@7.28.5)(@expo/metro-runtime@6.1.2)(expo-router@6.0.13)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
- react: 19.1.0
- react-native: 0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0)
-
- expo-constants@18.0.10(expo@54.0.20)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0)):
+ expo-constants@18.0.10(expo@54.0.21)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0)):
dependencies:
'@expo/config': 12.0.10
'@expo/env': 2.0.7
- expo: 54.0.20(@babel/core@7.28.5)(@expo/metro-runtime@6.1.2)(expo-router@6.0.13)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
+ expo: 54.0.21(@babel/core@7.28.5)(@expo/metro-runtime@6.1.2)(expo-router@6.0.14)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
react-native: 0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0)
transitivePeerDependencies:
- supports-color
- expo-file-system@19.0.17(expo@54.0.20)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0)):
+ expo-file-system@19.0.17(expo@54.0.21)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0)):
dependencies:
- expo: 54.0.20(@babel/core@7.28.5)(@expo/metro-runtime@6.1.2)(expo-router@6.0.13)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
+ expo: 54.0.21(@babel/core@7.28.5)(@expo/metro-runtime@6.1.2)(expo-router@6.0.14)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
react-native: 0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0)
- expo-font@14.0.9(expo@54.0.20)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0):
+ expo-font@14.0.9(expo@54.0.21)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0):
dependencies:
- expo: 54.0.20(@babel/core@7.28.5)(@expo/metro-runtime@6.1.2)(expo-router@6.0.13)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
+ expo: 54.0.21(@babel/core@7.28.5)(@expo/metro-runtime@6.1.2)(expo-router@6.0.14)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
fontfaceobserver: 2.3.0
react: 19.1.0
react-native: 0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0)
- expo-keep-awake@15.0.7(expo@54.0.20)(react@19.1.0):
+ expo-keep-awake@15.0.7(expo@54.0.21)(react@19.1.0):
dependencies:
- expo: 54.0.20(@babel/core@7.28.5)(@expo/metro-runtime@6.1.2)(expo-router@6.0.13)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
+ expo: 54.0.21(@babel/core@7.28.5)(@expo/metro-runtime@6.1.2)(expo-router@6.0.14)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
react: 19.1.0
- expo-linking@8.0.8(expo@54.0.20)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0):
+ expo-linking@8.0.8(expo@54.0.21)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0):
dependencies:
- expo-constants: 18.0.10(expo@54.0.20)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))
+ expo-constants: 18.0.10(expo@54.0.21)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))
invariant: 2.2.4
react: 19.1.0
react-native: 0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0)
@@ -9185,28 +9076,28 @@ snapshots:
require-from-string: 2.0.2
resolve-from: 5.0.0
- expo-modules-core@3.0.22(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0):
+ expo-modules-core@3.0.23(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0):
dependencies:
invariant: 2.2.4
react: 19.1.0
react-native: 0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0)
- expo-router@6.0.13(@expo/metro-runtime@6.1.2)(@types/react@19.1.17)(expo-constants@18.0.10)(expo-linking@8.0.8)(expo@54.0.20)(react-dom@19.2.0(react@19.1.0))(react-native-gesture-handler@2.28.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-reanimated@3.17.5(@babel/core@7.28.5)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.4.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-screens@4.16.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-web@0.21.2(react-dom@19.2.0(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0):
+ expo-router@6.0.14(@expo/metro-runtime@6.1.2)(@types/react@19.1.17)(expo-constants@18.0.10)(expo-linking@8.0.8)(expo@54.0.21)(react-dom@19.2.0(react@19.1.0))(react-native-gesture-handler@2.28.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-reanimated@4.1.3(@babel/core@7.28.5)(react-native-worklets@0.5.2(@babel/core@7.28.5)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.6.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-screens@4.16.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-web@0.21.2(react-dom@19.2.0(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0):
dependencies:
- '@expo/metro-runtime': 6.1.2(expo@54.0.20)(react-dom@19.2.0(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
+ '@expo/metro-runtime': 6.1.2(expo@54.0.21)(react-dom@19.2.0(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
'@expo/schema-utils': 0.1.7
'@radix-ui/react-slot': 1.2.0(@types/react@19.1.17)(react@19.1.0)
'@radix-ui/react-tabs': 1.1.13(@types/react@19.1.17)(react-dom@19.2.0(react@19.1.0))(react@19.1.0)
- '@react-navigation/bottom-tabs': 7.5.0(@react-navigation/native@7.1.18(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.4.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-screens@4.16.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
- '@react-navigation/native': 7.1.18(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
- '@react-navigation/native-stack': 7.5.1(@react-navigation/native@7.1.18(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.4.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-screens@4.16.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
+ '@react-navigation/bottom-tabs': 7.7.2(@react-navigation/native@7.1.19(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.6.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-screens@4.16.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
+ '@react-navigation/native': 7.1.19(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
+ '@react-navigation/native-stack': 7.6.1(@react-navigation/native@7.1.19(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.6.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-screens@4.16.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
client-only: 0.0.1
debug: 4.4.3
escape-string-regexp: 4.0.0
- expo: 54.0.20(@babel/core@7.28.5)(@expo/metro-runtime@6.1.2)(expo-router@6.0.13)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
- expo-constants: 18.0.10(expo@54.0.20)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))
- expo-linking: 8.0.8(expo@54.0.20)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
- expo-server: 1.0.2
+ expo: 54.0.21(@babel/core@7.28.5)(@expo/metro-runtime@6.1.2)(expo-router@6.0.14)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
+ expo-constants: 18.0.10(expo@54.0.21)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))
+ expo-linking: 8.0.8(expo@54.0.21)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
+ expo-server: 1.0.3
fast-deep-equal: 3.1.3
invariant: 2.2.4
nanoid: 3.3.11
@@ -9215,7 +9106,7 @@ snapshots:
react-fast-compare: 3.2.2
react-native: 0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0)
react-native-is-edge-to-edge: 1.2.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
- react-native-safe-area-context: 5.4.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
+ react-native-safe-area-context: 5.6.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
react-native-screens: 4.16.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
semver: 7.6.3
server-only: 0.0.1
@@ -9226,7 +9117,7 @@ snapshots:
optionalDependencies:
react-dom: 19.2.0(react@19.1.0)
react-native-gesture-handler: 2.28.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
- react-native-reanimated: 3.17.5(@babel/core@7.28.5)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
+ react-native-reanimated: 4.1.3(@babel/core@7.28.5)(react-native-worklets@0.5.2(@babel/core@7.28.5)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
react-native-web: 0.21.2(react-dom@19.2.0(react@19.1.0))(react@19.1.0)
transitivePeerDependencies:
- '@react-native-masked-view/masked-view'
@@ -9234,12 +9125,12 @@ snapshots:
- '@types/react-dom'
- supports-color
- expo-server@1.0.2: {}
+ expo-server@1.0.3: {}
- expo-splash-screen@31.0.10(expo@54.0.20):
+ expo-splash-screen@31.0.10(expo@54.0.21):
dependencies:
- '@expo/prebuild-config': 54.0.6(expo@54.0.20)
- expo: 54.0.20(@babel/core@7.28.5)(@expo/metro-runtime@6.1.2)(expo-router@6.0.13)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
+ '@expo/prebuild-config': 54.0.6(expo@54.0.21)
+ expo: 54.0.21(@babel/core@7.28.5)(@expo/metro-runtime@6.1.2)(expo-router@6.0.14)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
transitivePeerDependencies:
- supports-color
@@ -9249,33 +9140,33 @@ snapshots:
react-native: 0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0)
react-native-is-edge-to-edge: 1.2.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
- expo@54.0.20(@babel/core@7.28.5)(@expo/metro-runtime@6.1.2)(expo-router@6.0.13)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0):
+ expo@54.0.21(@babel/core@7.28.5)(@expo/metro-runtime@6.1.2)(expo-router@6.0.14)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0):
dependencies:
'@babel/runtime': 7.28.4
- '@expo/cli': 54.0.13(expo-router@6.0.13)(expo@54.0.20)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))
+ '@expo/cli': 54.0.14(expo-router@6.0.14)(expo@54.0.21)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))
'@expo/config': 12.0.10
'@expo/config-plugins': 54.0.2
'@expo/devtools': 0.1.7(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
'@expo/fingerprint': 0.15.2
'@expo/metro': 54.1.0
- '@expo/metro-config': 54.0.7(expo@54.0.20)
- '@expo/vector-icons': 15.0.3(expo-font@14.0.9(expo@54.0.20)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
+ '@expo/metro-config': 54.0.8(expo@54.0.21)
+ '@expo/vector-icons': 15.0.3(expo-font@14.0.9(expo@54.0.21)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
'@ungap/structured-clone': 1.3.0
- babel-preset-expo: 54.0.6(@babel/core@7.28.5)(@babel/runtime@7.28.4)(expo@54.0.20)(react-refresh@0.14.2)
- expo-asset: 12.0.9(expo@54.0.20)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
- expo-constants: 18.0.10(expo@54.0.20)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))
- expo-file-system: 19.0.17(expo@54.0.20)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))
- expo-font: 14.0.9(expo@54.0.20)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
- expo-keep-awake: 15.0.7(expo@54.0.20)(react@19.1.0)
+ babel-preset-expo: 54.0.6(@babel/core@7.28.5)(@babel/runtime@7.28.4)(expo@54.0.21)(react-refresh@0.14.2)
+ expo-asset: 12.0.9(expo@54.0.21)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
+ expo-constants: 18.0.10(expo@54.0.21)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))
+ expo-file-system: 19.0.17(expo@54.0.21)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))
+ expo-font: 14.0.9(expo@54.0.21)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
+ expo-keep-awake: 15.0.7(expo@54.0.21)(react@19.1.0)
expo-modules-autolinking: 3.0.19
- expo-modules-core: 3.0.22(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
+ expo-modules-core: 3.0.23(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
pretty-format: 29.7.0
react: 19.1.0
react-native: 0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0)
react-refresh: 0.14.2
whatwg-url-without-unicode: 8.0.0-3
optionalDependencies:
- '@expo/metro-runtime': 6.1.2(expo@54.0.20)(react-dom@19.2.0(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
+ '@expo/metro-runtime': 6.1.2(expo@54.0.21)(react-dom@19.2.0(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
transitivePeerDependencies:
- '@babel/core'
- '@modelcontextprotocol/sdk'
@@ -9389,23 +9280,6 @@ snapshots:
format@0.2.2: {}
- framer-motion@6.5.1(react-dom@19.2.0(react@19.1.0))(react@19.1.0):
- dependencies:
- '@motionone/dom': 10.12.0
- framesync: 6.0.1
- hey-listen: 1.0.8
- popmotion: 11.0.3
- react: 19.1.0
- react-dom: 19.2.0(react@19.1.0)
- style-value-types: 5.0.0
- tslib: 2.8.1
- optionalDependencies:
- '@emotion/is-prop-valid': 0.8.8
-
- framesync@6.0.1:
- dependencies:
- tslib: 2.8.1
-
freeport-async@2.0.0: {}
fresh@0.5.2: {}
@@ -9473,7 +9347,7 @@ snapshots:
globals@15.15.0: {}
- globals@16.4.0: {}
+ globals@16.5.0: {}
globrex@0.1.2: {}
@@ -9501,8 +9375,6 @@ snapshots:
dependencies:
hermes-estree: 0.32.0
- hey-listen@1.0.8: {}
-
hoist-non-react-statics@3.3.2:
dependencies:
react-is: 16.13.1
@@ -9630,7 +9502,7 @@ snapshots:
'@jest/environment': 29.7.0
'@jest/fake-timers': 29.7.0
'@jest/types': 29.6.3
- '@types/node': 24.9.1
+ '@types/node': 24.9.2
jest-mock: 29.7.0
jest-util: 29.7.0
@@ -9640,7 +9512,7 @@ snapshots:
dependencies:
'@jest/types': 29.6.3
'@types/graceful-fs': 4.1.9
- '@types/node': 24.9.1
+ '@types/node': 24.9.2
anymatch: 3.1.3
fb-watchman: 2.0.2
graceful-fs: 4.2.11
@@ -9667,7 +9539,7 @@ snapshots:
jest-mock@29.7.0:
dependencies:
'@jest/types': 29.6.3
- '@types/node': 24.9.1
+ '@types/node': 24.9.2
jest-util: 29.7.0
jest-regex-util@29.6.3: {}
@@ -9675,7 +9547,7 @@ snapshots:
jest-util@29.7.0:
dependencies:
'@jest/types': 29.6.3
- '@types/node': 24.9.1
+ '@types/node': 24.9.2
chalk: 4.1.2
ci-info: 3.9.0
graceful-fs: 4.2.11
@@ -9692,7 +9564,7 @@ snapshots:
jest-worker@29.7.0:
dependencies:
- '@types/node': 24.9.1
+ '@types/node': 24.9.2
jest-util: 29.7.0
merge-stream: 2.0.0
supports-color: 8.1.1
@@ -9720,8 +9592,6 @@ snapshots:
jsdoc-type-pratt-parser@6.10.0: {}
- jsesc@3.0.2: {}
-
jsesc@3.1.0: {}
json-buffer@3.0.1: {}
@@ -9903,7 +9773,7 @@ snapshots:
dependencies:
yallist: 3.1.1
- lucide-react-native@0.548.0(react-native-svg@15.12.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0):
+ lucide-react-native@0.552.0(react-native-svg@15.12.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0):
dependencies:
react: 19.1.0
react-native: 0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0)
@@ -10638,14 +10508,6 @@ snapshots:
pkg-types: 1.3.1
ufo: 1.6.1
- moti@0.30.0(react-dom@19.2.0(react@19.1.0))(react-native-reanimated@3.17.5(@babel/core@7.28.5)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react@19.1.0):
- dependencies:
- framer-motion: 6.5.1(react-dom@19.2.0(react@19.1.0))(react@19.1.0)
- react-native-reanimated: 3.17.5(@babel/core@7.28.5)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
- transitivePeerDependencies:
- - react
- - react-dom
-
ms@2.0.0: {}
ms@2.1.3: {}
@@ -10658,12 +10520,12 @@ snapshots:
nanoid@3.3.11: {}
- nativewind@4.2.1(react-native-reanimated@3.17.5(@babel/core@7.28.5)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.4.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-svg@15.12.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)(tailwindcss@3.4.17):
+ nativewind@4.2.1(react-native-reanimated@4.1.3(@babel/core@7.28.5)(react-native-worklets@0.5.2(@babel/core@7.28.5)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.6.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-svg@15.12.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)(tailwindcss@3.4.18(yaml@2.8.1)):
dependencies:
comment-json: 4.4.1
debug: 4.4.3
- react-native-css-interop: 0.2.1(react-native-reanimated@3.17.5(@babel/core@7.28.5)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.4.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-svg@15.12.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)(tailwindcss@3.4.17)
- tailwindcss: 3.4.17
+ react-native-css-interop: 0.2.1(react-native-reanimated@4.1.3(@babel/core@7.28.5)(react-native-worklets@0.5.2(@babel/core@7.28.5)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.6.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-svg@15.12.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)(tailwindcss@3.4.18(yaml@2.8.1))
+ tailwindcss: 3.4.18(yaml@2.8.1)
transitivePeerDependencies:
- react
- react-native
@@ -10690,7 +10552,7 @@ snapshots:
node-int64@0.4.0: {}
- node-releases@2.0.26: {}
+ node-releases@2.0.27: {}
normalize-path@3.0.0: {}
@@ -10861,13 +10723,6 @@ snapshots:
dependencies:
yaml: 2.8.1
- popmotion@11.0.3:
- dependencies:
- framesync: 6.0.1
- hey-listen: 1.0.8
- style-value-types: 5.0.0
- tslib: 2.8.1
-
postcss-import@15.1.0(postcss@8.5.6):
dependencies:
postcss: 8.5.6
@@ -10880,12 +10735,13 @@ snapshots:
camelcase-css: 2.0.1
postcss: 8.5.6
- postcss-load-config@4.0.2(postcss@8.5.6):
+ postcss-load-config@6.0.1(jiti@1.21.7)(postcss@8.5.6)(yaml@2.8.1):
dependencies:
lilconfig: 3.1.3
- yaml: 2.8.1
optionalDependencies:
+ jiti: 1.21.7
postcss: 8.5.6
+ yaml: 2.8.1
postcss-nested@6.2.0(postcss@8.5.6):
dependencies:
@@ -11038,7 +10894,7 @@ snapshots:
react-is@19.2.0: {}
- react-native-css-interop@0.2.1(react-native-reanimated@3.17.5(@babel/core@7.28.5)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.4.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-svg@15.12.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)(tailwindcss@3.4.17):
+ react-native-css-interop@0.2.1(react-native-reanimated@4.1.3(@babel/core@7.28.5)(react-native-worklets@0.5.2(@babel/core@7.28.5)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.6.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-svg@15.12.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)(tailwindcss@3.4.18(yaml@2.8.1)):
dependencies:
'@babel/helper-module-imports': 7.27.1
'@babel/traverse': 7.28.5
@@ -11047,11 +10903,11 @@ snapshots:
lightningcss: 1.27.0
react: 19.1.0
react-native: 0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0)
- react-native-reanimated: 3.17.5(@babel/core@7.28.5)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
+ react-native-reanimated: 4.1.3(@babel/core@7.28.5)(react-native-worklets@0.5.2(@babel/core@7.28.5)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
semver: 7.7.3
- tailwindcss: 3.4.17
+ tailwindcss: 3.4.18(yaml@2.8.1)
optionalDependencies:
- react-native-safe-area-context: 5.4.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
+ react-native-safe-area-context: 5.6.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
react-native-svg: 15.12.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
transitivePeerDependencies:
- supports-color
@@ -11064,37 +10920,21 @@ snapshots:
react: 19.1.0
react-native: 0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0)
- react-native-is-edge-to-edge@1.1.7(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0):
- dependencies:
- react: 19.1.0
- react-native: 0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0)
-
react-native-is-edge-to-edge@1.2.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0):
dependencies:
react: 19.1.0
react-native: 0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0)
- react-native-reanimated@3.17.5(@babel/core@7.28.5)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0):
+ react-native-reanimated@4.1.3(@babel/core@7.28.5)(react-native-worklets@0.5.2(@babel/core@7.28.5)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0):
dependencies:
'@babel/core': 7.28.5
- '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.28.5)
- '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.28.5)
- '@babel/plugin-transform-classes': 7.28.4(@babel/core@7.28.5)
- '@babel/plugin-transform-nullish-coalescing-operator': 7.27.1(@babel/core@7.28.5)
- '@babel/plugin-transform-optional-chaining': 7.28.5(@babel/core@7.28.5)
- '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.28.5)
- '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.28.5)
- '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.28.5)
- '@babel/preset-typescript': 7.28.5(@babel/core@7.28.5)
- convert-source-map: 2.0.0
- invariant: 2.2.4
react: 19.1.0
react-native: 0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0)
- react-native-is-edge-to-edge: 1.1.7(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
- transitivePeerDependencies:
- - supports-color
+ react-native-is-edge-to-edge: 1.2.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
+ react-native-worklets: 0.5.2(@babel/core@7.28.5)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
+ semver: 7.7.2
- react-native-safe-area-context@5.4.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0):
+ react-native-safe-area-context@5.6.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0):
dependencies:
react: 19.1.0
react-native: 0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0)
@@ -11130,7 +10970,7 @@ snapshots:
transitivePeerDependencies:
- encoding
- react-native-worklets@0.5.1(@babel/core@7.28.5)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0):
+ react-native-worklets@0.5.2(@babel/core@7.28.5)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0):
dependencies:
'@babel/core': 7.28.5
'@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.28.5)
@@ -11295,10 +11135,6 @@ snapshots:
regjsgen@0.8.0: {}
- regjsparser@0.12.0:
- dependencies:
- jsesc: 3.0.2
-
regjsparser@0.13.0:
dependencies:
jsesc: 3.1.0
@@ -11535,11 +11371,6 @@ snapshots:
structured-headers@0.4.1: {}
- style-value-types@5.0.0:
- dependencies:
- hey-listen: 1.0.8
- tslib: 2.8.1
-
styleq@0.1.3: {}
sucrase@3.35.0:
@@ -11577,12 +11408,12 @@ snapshots:
tailwind-merge@1.14.0: {}
- tailwind-variants@0.1.20(tailwindcss@3.4.17):
+ tailwind-variants@0.1.20(tailwindcss@3.4.18(yaml@2.8.1)):
dependencies:
tailwind-merge: 1.14.0
- tailwindcss: 3.4.17
+ tailwindcss: 3.4.18(yaml@2.8.1)
- tailwindcss@3.4.17:
+ tailwindcss@3.4.18(yaml@2.8.1):
dependencies:
'@alloc/quick-lru': 5.2.0
arg: 5.0.2
@@ -11601,17 +11432,18 @@ snapshots:
postcss: 8.5.6
postcss-import: 15.1.0(postcss@8.5.6)
postcss-js: 4.1.0(postcss@8.5.6)
- postcss-load-config: 4.0.2(postcss@8.5.6)
+ postcss-load-config: 6.0.1(jiti@1.21.7)(postcss@8.5.6)(yaml@2.8.1)
postcss-nested: 6.2.0(postcss@8.5.6)
postcss-selector-parser: 6.1.2
resolve: 1.22.11
sucrase: 3.35.0
transitivePeerDependencies:
- - ts-node
+ - tsx
+ - yaml
tapable@2.3.0: {}
- tar@7.5.1:
+ tar@7.5.2:
dependencies:
'@isaacs/fs-minipass': 4.0.1
chownr: 3.0.0
@@ -11800,10 +11632,10 @@ snapshots:
vlq@1.0.1: {}
- vue-eslint-parser@10.2.0(eslint@9.38.0(jiti@1.21.7)):
+ vue-eslint-parser@10.2.0(eslint@9.39.0(jiti@1.21.7)):
dependencies:
debug: 4.4.3
- eslint: 9.38.0(jiti@1.21.7)
+ eslint: 9.39.0(jiti@1.21.7)
eslint-scope: 8.4.0
eslint-visitor-keys: 4.2.1
espree: 10.4.0
diff --git a/code/app/base-app/pnpm-workspace.yaml b/code/base-project/base-app/pnpm-workspace.yaml
similarity index 100%
rename from code/app/base-app/pnpm-workspace.yaml
rename to code/base-project/base-app/pnpm-workspace.yaml
diff --git a/code/base-project/base-app/src/app/(tabs)/_layout.tsx b/code/base-project/base-app/src/app/(tabs)/_layout.tsx
new file mode 100644
index 00000000..c80f3267
--- /dev/null
+++ b/code/base-project/base-app/src/app/(tabs)/_layout.tsx
@@ -0,0 +1,45 @@
+import type { TabbarItem } from '@/components/custom/app-tabbar'
+import AppTabbar from '@/components/custom/app-tabbar'
+import { useToast } from '@/utils/toast'
+
+export default function TabsLayout() {
+ const toast = useToast()
+
+ const tabbarOptions: TabbarItem[] = [
+ {
+ name: 'user',
+ href: '/user',
+ icon: 'CircleCheckBig',
+ },
+
+ {
+ name: 'money',
+ href: '/money',
+ icon: 'CircleDollarSign',
+ },
+ {
+ name: 'app',
+ icon: 'LayoutGrid',
+ activeIcon: 'Smile',
+ iconSize: 26,
+ onPress: () => {
+ toast.show({
+ title: '该功能尚未开发,请尽情期待!',
+ })
+ },
+ },
+ {
+ name: 'chat',
+ href: '/chat',
+ icon: 'MessageCircle',
+ },
+ {
+ name: 'love',
+ href: '/love',
+ icon: 'Heart',
+ },
+ ]
+ return (
+
+ )
+}
diff --git a/code/base-project/base-app/src/app/(tabs)/chat.tsx b/code/base-project/base-app/src/app/(tabs)/chat.tsx
new file mode 100644
index 00000000..2e193448
--- /dev/null
+++ b/code/base-project/base-app/src/app/(tabs)/chat.tsx
@@ -0,0 +1,9 @@
+import { Text, View } from 'react-native'
+
+export default function Chat() {
+ return (
+
+ Chat
+
+ )
+}
diff --git a/code/base-project/base-app/src/app/(tabs)/love.tsx b/code/base-project/base-app/src/app/(tabs)/love.tsx
new file mode 100644
index 00000000..a9294d2a
--- /dev/null
+++ b/code/base-project/base-app/src/app/(tabs)/love.tsx
@@ -0,0 +1,9 @@
+import { Text, View } from 'react-native'
+
+export default function Love() {
+ return (
+
+ Love
+
+ )
+}
diff --git a/code/base-project/base-app/src/app/(tabs)/money.tsx b/code/base-project/base-app/src/app/(tabs)/money.tsx
new file mode 100644
index 00000000..c74a72fd
--- /dev/null
+++ b/code/base-project/base-app/src/app/(tabs)/money.tsx
@@ -0,0 +1,9 @@
+import { Text, View } from 'react-native'
+
+export default function Money() {
+ return (
+
+ Money
+
+ )
+}
diff --git a/code/base-project/base-app/src/app/(tabs)/user.tsx b/code/base-project/base-app/src/app/(tabs)/user.tsx
new file mode 100644
index 00000000..042ec7bd
--- /dev/null
+++ b/code/base-project/base-app/src/app/(tabs)/user.tsx
@@ -0,0 +1,9 @@
+import { Text, View } from 'react-native'
+
+export default function User() {
+ return (
+
+ User
+
+ )
+}
diff --git a/code/app/base-app/src/app/+middleware.tsx b/code/base-project/base-app/src/app/+middleware.tsx
similarity index 100%
rename from code/app/base-app/src/app/+middleware.tsx
rename to code/base-project/base-app/src/app/+middleware.tsx
diff --git a/code/app/base-app/src/app/+native-intent.tsx b/code/base-project/base-app/src/app/+native-intent.tsx
similarity index 100%
rename from code/app/base-app/src/app/+native-intent.tsx
rename to code/base-project/base-app/src/app/+native-intent.tsx
diff --git a/code/app/base-app/src/app/+not-found.tsx b/code/base-project/base-app/src/app/+not-found.tsx
similarity index 89%
rename from code/app/base-app/src/app/+not-found.tsx
rename to code/base-project/base-app/src/app/+not-found.tsx
index 3155c6a7..e99a3c70 100644
--- a/code/app/base-app/src/app/+not-found.tsx
+++ b/code/base-project/base-app/src/app/+not-found.tsx
@@ -1,6 +1,6 @@
import { router, Stack } from 'expo-router'
import { ArrowLeft } from 'lucide-react-native'
-import { EmptyState } from '@/components/empty-status'
+import { EmptyState } from '@/components/common/empty-status'
export default function NotFound() {
return (
diff --git a/code/app/base-app/src/app/_layout.tsx b/code/base-project/base-app/src/app/_layout.tsx
similarity index 64%
rename from code/app/base-app/src/app/_layout.tsx
rename to code/base-project/base-app/src/app/_layout.tsx
index 3242a551..ec2b4c2b 100644
--- a/code/app/base-app/src/app/_layout.tsx
+++ b/code/base-project/base-app/src/app/_layout.tsx
@@ -1,12 +1,14 @@
import type { ErrorBoundaryProps } from 'expo-router'
+import { ToastProvider } from '@gluestack-ui/core/toast/creator'
import { useFonts } from 'expo-font'
import { Stack } from 'expo-router'
import * as SplashScreen from 'expo-splash-screen'
import { StatusBar } from 'expo-status-bar'
import { RefreshCw } from 'lucide-react-native'
import { useEffect } from 'react'
-import { EmptyState } from '@/components/empty-status'
+import { EmptyState } from '@/components/common/empty-status'
import { GluestackUIProvider } from '@/components/ui/gluestack-ui-provider'
+import { ToastProviderWrapper } from '@/utils/toast'
import '@/styles/global.css'
import 'react-native-reanimated'
import 'react-native-gesture-handler'
@@ -29,7 +31,7 @@ export function ErrorBoundary({ error, retry }: ErrorBoundaryProps) {
}
export default function RootLayout() {
- const [loaded, error] = useFonts({
+ const [loaded] = useFonts({
SpaceMono: require('@/static/fonts/SpaceMono-Regular.ttf'),
})
@@ -41,19 +43,23 @@ export default function RootLayout() {
return (
-
-
-
-
-
+
+
+
+
+
+
+
+
+
)
}
diff --git a/code/app/base-app/src/components/empty-status/index.tsx b/code/base-project/base-app/src/components/common/empty-status.tsx
similarity index 100%
rename from code/app/base-app/src/components/empty-status/index.tsx
rename to code/base-project/base-app/src/components/common/empty-status.tsx
diff --git a/code/base-project/base-app/src/components/custom/app-tabbar.tsx b/code/base-project/base-app/src/components/custom/app-tabbar.tsx
new file mode 100644
index 00000000..4b31cb63
--- /dev/null
+++ b/code/base-project/base-app/src/components/custom/app-tabbar.tsx
@@ -0,0 +1,137 @@
+import { usePathname } from 'expo-router'
+import { TabList, Tabs, TabSlot, TabTrigger } from 'expo-router/ui'
+import { icons } from 'lucide-react-native'
+import { useEffect, useState } from 'react'
+import { Pressable, View } from 'react-native'
+import Animated, {
+ useAnimatedStyle,
+ useSharedValue,
+ withSequence,
+ withTiming,
+} from 'react-native-reanimated'
+
+export interface TabbarItem {
+ icon: keyof typeof icons
+ iconSize?: number
+ activeIcon?: keyof typeof icons
+ name: string
+ href?: string
+ onPress?: () => void
+}
+
+interface AppTabbarProps {
+ data: TabbarItem[]
+ onTabPress?: (item: TabbarItem) => void
+}
+
+function TabButton({
+ icon,
+ activeIcon,
+ iconSize = 24,
+ isFocused = false,
+ onPress,
+}: {
+ icon: keyof typeof icons
+ activeIcon?: keyof typeof icons
+ iconSize?: number
+ isFocused?: boolean
+ onPress?: () => void
+}) {
+ const activeColor = '#333'
+ const inactiveColor = '#aaa'
+
+ const scale = useSharedValue(1)
+ const animatedStyle = useAnimatedStyle(() => ({
+ transform: [{ scale: scale.value }],
+ }))
+
+ const IconComponent = icons[isFocused && activeIcon ? activeIcon : icon]
+
+ const handlePress = () => {
+ scale.value = withSequence(
+ withTiming(0.9, { duration: 200 }),
+ withTiming(1, { duration: 200 }),
+ )
+ onPress?.()
+ }
+
+ return (
+
+
+
+
+
+ )
+}
+
+export default function AppTabbar({ data, onTabPress }: AppTabbarProps) {
+ const pathname = usePathname()
+
+ // 初始选中 Tab
+ const defaultTab = data.find(item => item.href === pathname)?.name
+ ?? data.find(item => item.href)?.name
+ ?? data[0]?.name
+ const [activeTab, setActiveTab] = useState(defaultTab)
+
+ // 当 pathname 改变(路由跳转)时,同步高亮
+ useEffect(() => {
+ const matchTab = data.find(item => item.href === pathname)
+ if (matchTab) {
+ setActiveTab(matchTab.name)
+ }
+ // 如果没有匹配的路由,保持当前的 activeTab 不变
+ // 这样无 href 的项就能保持选中状态
+ }, [pathname, data])
+
+ const handleTabPress = (item: TabbarItem) => {
+ setActiveTab(item.name)
+ item.onPress?.()
+ onTabPress?.(item)
+ }
+
+ return (
+
+
+
+
+
+ {data.map((item) => {
+ const isFocused = activeTab === item.name
+
+ if (item.href) {
+ return (
+
+ handleTabPress(item)}
+ />
+
+ )
+ }
+
+ return (
+ handleTabPress(item)}
+ isFocused={isFocused}
+ />
+ )
+ })}
+
+
+
+ )
+}
diff --git a/code/app/base-app/src/components/ui/button/index.tsx b/code/base-project/base-app/src/components/ui/button/index.tsx
similarity index 90%
rename from code/app/base-app/src/components/ui/button/index.tsx
rename to code/base-project/base-app/src/components/ui/button/index.tsx
index 9ddd9cab..fd4b6397 100644
--- a/code/app/base-app/src/components/ui/button/index.tsx
+++ b/code/base-project/base-app/src/components/ui/button/index.tsx
@@ -1,28 +1,27 @@
-'use client'
-import type { VariantProps } from '@gluestack-ui/utils/nativewind-utils'
-import { createButton } from '@gluestack-ui/core/button/creator'
-import { PrimitiveIcon, UIIcon } from '@gluestack-ui/core/icon/creator'
+'use client';
+import React from 'react';
+import { createButton } from '@gluestack-ui/core/button/creator';
import {
tva,
- useStyleContext,
-
withStyleContext,
-} from '@gluestack-ui/utils/nativewind-utils'
-import { cssInterop } from 'nativewind'
-import React from 'react'
-import { ActivityIndicator, Pressable, Text, View } from 'react-native'
+ useStyleContext,
+ type VariantProps,
+} from '@gluestack-ui/utils/nativewind-utils';
+import { cssInterop } from 'nativewind';
+import { ActivityIndicator, Pressable, Text, View } from 'react-native';
+import { PrimitiveIcon, UIIcon } from '@gluestack-ui/core/icon/creator';
-const SCOPE = 'BUTTON'
+const SCOPE = 'BUTTON';
-const Root = withStyleContext(Pressable, SCOPE)
+const Root = withStyleContext(Pressable, SCOPE);
const UIButton = createButton({
- Root,
+ Root: Root,
Text,
Group: View,
Spinner: ActivityIndicator,
Icon: UIIcon,
-})
+});
cssInterop(PrimitiveIcon, {
className: {
@@ -35,7 +34,7 @@ cssInterop(PrimitiveIcon, {
stroke: true,
},
},
-})
+});
const buttonStyle = tva({
base: 'group/button rounded bg-primary-500 flex-row items-center justify-center data-[focus-visible=true]:web:outline-none data-[focus-visible=true]:web:ring-2 data-[disabled=true]:opacity-40 gap-2',
@@ -117,7 +116,7 @@ const buttonStyle = tva({
'bg-transparent data-[hover=true]:bg-background-50 data-[active=true]:bg-transparent',
},
],
-})
+});
const buttonTextStyle = tva({
base: 'text-typography-0 font-semibold web:select-none',
@@ -196,7 +195,7 @@ const buttonTextStyle = tva({
'text-primary-500 data-[hover=true]:text-primary-500 data-[active=true]:text-primary-500',
},
],
-})
+});
const buttonIconStyle = tva({
base: 'fill-none',
@@ -252,7 +251,7 @@ const buttonIconStyle = tva({
'text-typography-0 data-[hover=true]:text-typography-0 data-[active=true]:text-typography-0',
},
],
-})
+});
const buttonGroupStyle = tva({
base: '',
@@ -277,13 +276,13 @@ const buttonGroupStyle = tva({
'column-reverse': 'flex-col-reverse',
},
},
-})
+});
type IButtonProps = Omit<
React.ComponentPropsWithoutRef,
'context'
->
-& VariantProps & { className?: string }
+> &
+ VariantProps & { className?: string };
const Button = React.forwardRef<
React.ElementRef,
@@ -291,7 +290,7 @@ const Button = React.forwardRef<
>(
(
{ className, variant = 'solid', size = 'md', action = 'primary', ...props },
- ref,
+ ref
) => {
return (
- )
- },
-)
+ );
+ }
+);
-type IButtonTextProps = React.ComponentPropsWithoutRef
- & VariantProps & { className?: string }
+type IButtonTextProps = React.ComponentPropsWithoutRef &
+ VariantProps & { className?: string };
const ButtonText = React.forwardRef<
React.ElementRef,
@@ -315,7 +314,7 @@ const ButtonText = React.forwardRef<
variant: parentVariant,
size: parentSize,
action: parentAction,
- } = useStyleContext(SCOPE)
+ } = useStyleContext(SCOPE);
return (
- )
-})
+ );
+});
-const ButtonSpinner = UIButton.Spinner
+const ButtonSpinner = UIButton.Spinner;
-type IButtonIcon = React.ComponentPropsWithoutRef
- & VariantProps & {
- className?: string | undefined
- as?: React.ElementType
- height?: number
- width?: number
- }
+type IButtonIcon = React.ComponentPropsWithoutRef &
+ VariantProps & {
+ className?: string | undefined;
+ as?: React.ElementType;
+ height?: number;
+ width?: number;
+ };
const ButtonIcon = React.forwardRef<
React.ElementRef,
@@ -354,7 +353,7 @@ const ButtonIcon = React.forwardRef<
variant: parentVariant,
size: parentSize,
action: parentAction,
- } = useStyleContext(SCOPE)
+ } = useStyleContext(SCOPE);
if (typeof size === 'number') {
return (
@@ -364,11 +363,10 @@ const ButtonIcon = React.forwardRef<
className={buttonIconStyle({ class: className })}
size={size}
/>
- )
- }
- else if (
- (props.height !== undefined || props.width !== undefined)
- && size === undefined
+ );
+ } else if (
+ (props.height !== undefined || props.width !== undefined) &&
+ size === undefined
) {
return (
- )
+ );
}
return (
- )
-})
+ );
+});
-type IButtonGroupProps = React.ComponentPropsWithoutRef
- & VariantProps
+type IButtonGroupProps = React.ComponentPropsWithoutRef &
+ VariantProps;
const ButtonGroup = React.forwardRef<
React.ElementRef,
@@ -410,7 +408,7 @@ const ButtonGroup = React.forwardRef<
flexDirection = 'column',
...props
},
- ref,
+ ref
) => {
return (
- )
- },
-)
+ );
+ }
+);
-Button.displayName = 'Button'
-ButtonText.displayName = 'ButtonText'
-ButtonSpinner.displayName = 'ButtonSpinner'
-ButtonIcon.displayName = 'ButtonIcon'
-ButtonGroup.displayName = 'ButtonGroup'
+Button.displayName = 'Button';
+ButtonText.displayName = 'ButtonText';
+ButtonSpinner.displayName = 'ButtonSpinner';
+ButtonIcon.displayName = 'ButtonIcon';
+ButtonGroup.displayName = 'ButtonGroup';
-export { Button, ButtonGroup, ButtonIcon, ButtonSpinner, ButtonText }
+export { Button, ButtonText, ButtonSpinner, ButtonIcon, ButtonGroup };
diff --git a/code/app/base-app/src/components/ui/gluestack-ui-provider/config.ts b/code/base-project/base-app/src/components/ui/gluestack-ui-provider/config.ts
similarity index 100%
rename from code/app/base-app/src/components/ui/gluestack-ui-provider/config.ts
rename to code/base-project/base-app/src/components/ui/gluestack-ui-provider/config.ts
diff --git a/code/app/base-app/src/components/ui/gluestack-ui-provider/dependencies.json b/code/base-project/base-app/src/components/ui/gluestack-ui-provider/dependencies.json
similarity index 100%
rename from code/app/base-app/src/components/ui/gluestack-ui-provider/dependencies.json
rename to code/base-project/base-app/src/components/ui/gluestack-ui-provider/dependencies.json
diff --git a/code/app/base-app/src/components/ui/gluestack-ui-provider/index.next15.tsx b/code/base-project/base-app/src/components/ui/gluestack-ui-provider/index.next15.tsx
similarity index 100%
rename from code/app/base-app/src/components/ui/gluestack-ui-provider/index.next15.tsx
rename to code/base-project/base-app/src/components/ui/gluestack-ui-provider/index.next15.tsx
diff --git a/code/app/base-app/src/components/ui/gluestack-ui-provider/index.tsx b/code/base-project/base-app/src/components/ui/gluestack-ui-provider/index.tsx
similarity index 100%
rename from code/app/base-app/src/components/ui/gluestack-ui-provider/index.tsx
rename to code/base-project/base-app/src/components/ui/gluestack-ui-provider/index.tsx
diff --git a/code/app/base-app/src/components/ui/gluestack-ui-provider/index.web.tsx b/code/base-project/base-app/src/components/ui/gluestack-ui-provider/index.web.tsx
similarity index 100%
rename from code/app/base-app/src/components/ui/gluestack-ui-provider/index.web.tsx
rename to code/base-project/base-app/src/components/ui/gluestack-ui-provider/index.web.tsx
diff --git a/code/app/base-app/src/components/ui/gluestack-ui-provider/script.ts b/code/base-project/base-app/src/components/ui/gluestack-ui-provider/script.ts
similarity index 100%
rename from code/app/base-app/src/components/ui/gluestack-ui-provider/script.ts
rename to code/base-project/base-app/src/components/ui/gluestack-ui-provider/script.ts
diff --git a/code/base-project/base-app/src/components/ui/toast/index.tsx b/code/base-project/base-app/src/components/ui/toast/index.tsx
new file mode 100644
index 00000000..36b05a62
--- /dev/null
+++ b/code/base-project/base-app/src/components/ui/toast/index.tsx
@@ -0,0 +1,240 @@
+'use client'
+import type { VariantProps } from '@gluestack-ui/utils/nativewind-utils'
+import type {
+ MotionComponentProps,
+} from '@legendapp/motion'
+import type { ViewStyle } from 'react-native'
+import { createToastHook } from '@gluestack-ui/core/toast/creator'
+import { tva, useStyleContext, withStyleContext } from '@gluestack-ui/utils/nativewind-utils'
+import {
+ AnimatePresence,
+ Motion,
+} from '@legendapp/motion'
+import { cssInterop } from 'nativewind'
+
+import React from 'react'
+import { AccessibilityInfo, Text, View } from 'react-native'
+
+type IMotionViewProps = React.ComponentProps
+ & MotionComponentProps
+
+const MotionView = Motion.View as React.ComponentType
+
+const useToast = createToastHook(MotionView, AnimatePresence)
+const SCOPE = 'TOAST'
+
+cssInterop(MotionView, { className: 'style' })
+
+const toastStyle = tva({
+ base: 'p-4 m-1 rounded-md gap-1 web:pointer-events-auto shadow-hard-5 border-outline-100',
+ variants: {
+ action: {
+ error: 'bg-error-800',
+ warning: 'bg-warning-700',
+ success: 'bg-success-700',
+ info: 'bg-info-700',
+ muted: 'bg-background-800',
+ },
+
+ variant: {
+ solid: '',
+ outline: 'border bg-background-0',
+ },
+ },
+})
+
+const toastTitleStyle = tva({
+ base: 'text-typography-0 font-medium font-body tracking-md text-left',
+ variants: {
+ isTruncated: {
+ true: '',
+ },
+ bold: {
+ true: 'font-bold',
+ },
+ underline: {
+ true: 'underline',
+ },
+ strikeThrough: {
+ true: 'line-through',
+ },
+ size: {
+ '2xs': 'text-2xs',
+ 'xs': 'text-xs',
+ 'sm': 'text-sm',
+ 'md': 'text-base',
+ 'lg': 'text-lg',
+ 'xl': 'text-xl',
+ '2xl': 'text-2xl',
+ '3xl': 'text-3xl',
+ '4xl': 'text-4xl',
+ '5xl': 'text-5xl',
+ '6xl': 'text-6xl',
+ },
+ },
+ parentVariants: {
+ variant: {
+ solid: '',
+ outline: '',
+ },
+ action: {
+ error: '',
+ warning: '',
+ success: '',
+ info: '',
+ muted: '',
+ },
+ },
+ parentCompoundVariants: [
+ {
+ variant: 'outline',
+ action: 'error',
+ class: 'text-error-800',
+ },
+ {
+ variant: 'outline',
+ action: 'warning',
+ class: 'text-warning-800',
+ },
+ {
+ variant: 'outline',
+ action: 'success',
+ class: 'text-success-800',
+ },
+ {
+ variant: 'outline',
+ action: 'info',
+ class: 'text-info-800',
+ },
+ {
+ variant: 'outline',
+ action: 'muted',
+ class: 'text-background-800',
+ },
+ ],
+})
+
+const toastDescriptionStyle = tva({
+ base: 'font-normal font-body tracking-md text-left',
+ variants: {
+ isTruncated: {
+ true: '',
+ },
+ bold: {
+ true: 'font-bold',
+ },
+ underline: {
+ true: 'underline',
+ },
+ strikeThrough: {
+ true: 'line-through',
+ },
+ size: {
+ '2xs': 'text-2xs',
+ 'xs': 'text-xs',
+ 'sm': 'text-sm',
+ 'md': 'text-base',
+ 'lg': 'text-lg',
+ 'xl': 'text-xl',
+ '2xl': 'text-2xl',
+ '3xl': 'text-3xl',
+ '4xl': 'text-4xl',
+ '5xl': 'text-5xl',
+ '6xl': 'text-6xl',
+ },
+ },
+ parentVariants: {
+ variant: {
+ solid: 'text-typography-50',
+ outline: 'text-typography-900',
+ },
+ },
+})
+
+const Root = withStyleContext(View, SCOPE)
+type IToastProps = React.ComponentProps & {
+ className?: string
+} & VariantProps
+
+const Toast = React.forwardRef, IToastProps>(
+ (
+ { className, variant = 'solid', action = 'muted', ...props },
+ ref,
+ ) => {
+ return (
+
+ )
+ },
+)
+
+type IToastTitleProps = React.ComponentProps & {
+ className?: string
+} & VariantProps
+
+const ToastTitle = React.forwardRef<
+ React.ComponentRef,
+ IToastTitleProps
+>(({ className, size = 'md', children, ...props }, ref) => {
+ const { variant: parentVariant, action: parentAction }
+ = useStyleContext(SCOPE)
+ React.useEffect(() => {
+ // Issue from react-native side
+ // Hack for now, will fix this later
+ AccessibilityInfo.announceForAccessibility(children as string)
+ }, [children])
+
+ return (
+
+ {children}
+
+ )
+})
+
+type IToastDescriptionProps = React.ComponentProps & {
+ className?: string
+} & VariantProps
+
+const ToastDescription = React.forwardRef<
+ React.ComponentRef,
+ IToastDescriptionProps
+>(({ className, size = 'md', ...props }, ref) => {
+ const { variant: parentVariant } = useStyleContext(SCOPE)
+ return (
+
+ )
+})
+
+Toast.displayName = 'Toast'
+ToastTitle.displayName = 'ToastTitle'
+ToastDescription.displayName = 'ToastDescription'
+
+export { Toast, ToastDescription, ToastTitle, useToast }
diff --git a/code/app/base-app/src/static/fonts/SpaceMono-Regular.ttf b/code/base-project/base-app/src/static/fonts/SpaceMono-Regular.ttf
similarity index 100%
rename from code/app/base-app/src/static/fonts/SpaceMono-Regular.ttf
rename to code/base-project/base-app/src/static/fonts/SpaceMono-Regular.ttf
diff --git a/code/app/base-app/src/static/images/404.png b/code/base-project/base-app/src/static/images/404.png
similarity index 100%
rename from code/app/base-app/src/static/images/404.png
rename to code/base-project/base-app/src/static/images/404.png
diff --git a/code/app/base-app/src/static/images/network-lost.svg b/code/base-project/base-app/src/static/images/network-lost.svg
similarity index 100%
rename from code/app/base-app/src/static/images/network-lost.svg
rename to code/base-project/base-app/src/static/images/network-lost.svg
diff --git a/code/app/base-app/src/static/images/server-down.png b/code/base-project/base-app/src/static/images/server-down.png
similarity index 100%
rename from code/app/base-app/src/static/images/server-down.png
rename to code/base-project/base-app/src/static/images/server-down.png
diff --git a/code/app/base-app/src/static/images/server-error.png b/code/base-project/base-app/src/static/images/server-error.png
similarity index 100%
rename from code/app/base-app/src/static/images/server-error.png
rename to code/base-project/base-app/src/static/images/server-error.png
diff --git a/code/app/base-app/global.css b/code/base-project/base-app/src/styles/global.css
similarity index 100%
rename from code/app/base-app/global.css
rename to code/base-project/base-app/src/styles/global.css
diff --git a/code/base-project/base-app/src/utils/toast.tsx b/code/base-project/base-app/src/utils/toast.tsx
new file mode 100644
index 00000000..7228559c
--- /dev/null
+++ b/code/base-project/base-app/src/utils/toast.tsx
@@ -0,0 +1,71 @@
+import type { IToastProps } from '@gluestack-ui/core/lib/esm/toast/creator/types'
+import React, { useRef } from 'react'
+import { Toast, ToastDescription, ToastTitle, useToast as useGluestackToast } from '@/components/ui/toast'
+
+type ToastVariant = 'solid' | 'outline'
+type ToastAction = 'error' | 'warning' | 'success' | 'info' | 'muted'
+
+interface ShowToastOptions extends IToastProps {
+ title?: React.ReactNode
+ description?: React.ReactNode
+ variant?: ToastVariant
+ action?: ToastAction
+}
+
+export function ToastProviderWrapper({ children }: { children: React.ReactNode }) {
+ const toast = useGluestackToast()
+ const toastRef = useRef(toast)
+ toastRef.current = toast
+
+ return <>{children}>
+}
+
+/**
+ * 自定义 Hook,用法:
+ * const toast = useToast();
+ * toast.show({ ... });
+ * toast.close(id);
+ * toast.closeAll();
+ */
+export function useToast() {
+ const toast = useGluestackToast()
+
+ return {
+ show: (options: ShowToastOptions) => {
+ const id = Math.random().toString()
+
+ toast.show({
+ id,
+ placement: options.placement ?? 'top',
+ duration: options.duration !== undefined ? options.duration : 3000,
+ avoidKeyboard: options.avoidKeyboard ?? false,
+ containerStyle: options.containerStyle,
+ onCloseComplete: options.onCloseComplete,
+ render: options.render
+ ? () => options.render!({ id })
+ : ({ id }) => (
+
+ {options.title && {options.title}}
+ {options.description && {options.description}}
+
+ ),
+ })
+
+ return id
+ },
+
+ close: (id: string) => {
+ toast.close(id)
+ },
+
+ closeAll: () => {
+ toast.closeAll()
+ },
+
+ isActive: (id: string) => toast.isActive(id),
+ }
+}
diff --git a/code/app/base-app/tailwind.config.js b/code/base-project/base-app/tailwind.config.js
similarity index 100%
rename from code/app/base-app/tailwind.config.js
rename to code/base-project/base-app/tailwind.config.js
diff --git a/code/app/base-app/tsconfig.json b/code/base-project/base-app/tsconfig.json
similarity index 99%
rename from code/app/base-app/tsconfig.json
rename to code/base-project/base-app/tsconfig.json
index 1d5a1875..4ffc7b86 100644
--- a/code/app/base-app/tsconfig.json
+++ b/code/base-project/base-app/tsconfig.json
@@ -19,4 +19,4 @@
"node_modules",
"dist"
]
-}
\ No newline at end of file
+}
diff --git a/notes/前端开发/react-native/expo.md b/notes/前端开发/react-native/expo.md
index c384a86c..ebf247b8 100644
--- a/notes/前端开发/react-native/expo.md
+++ b/notes/前端开发/react-native/expo.md
@@ -32,7 +32,7 @@ npx expo start
## 集成 [antfu-eslint](https://github.com/antfu/eslint-config)
-可以使用快捷命令:
+可以使用快捷命令(推荐):
```bash
pnpm dlx @antfu/eslint-config@latest
@@ -127,7 +127,7 @@ export default antfu({
1. 安装依赖
```bash
- npx expo add nativewind react-native-reanimated@~3.17.4 react-native-safe-area-context@5.4.0
+ npx expo add nativewind react-native-reanimated react-native-safe-area-context
npx expo add tailwindcss@^3.4.17 -- --save-dev
```
@@ -598,6 +598,14 @@ export const ZhaoPinIcon: React.FC = ({ size = 30, color = '#fff', ..
}
```
+## 集成[lucide](https://lucide.dev/icons/)
+
+```
+npx expo add lucide-react-native
+```
+
+
+
## 集成[expo-router](expo-router)
@@ -605,7 +613,7 @@ export const ZhaoPinIcon: React.FC = ({ size = 30, color = '#fff', ..
1. 安装相关依赖
```bash
- npx expo install expo-router react-native-safe-area-context react-native-screens expo-linking expo-constants expo-status-bar
+ npx expo add expo-router react-native-safe-area-context react-native-screens expo-linking expo-constants expo-status-bar
```
2. 修改 `package.json`
@@ -705,8 +713,8 @@ lottie例子网站:https://lottiefiles.com/free-animations
安装依赖:
```bash
-npx expo install zustand
-npx expo install @react-native-async-storage/async-storage
+npx expo add zustand
+npx expo add @react-native-async-storage/async-storage
```
使用demo:
@@ -791,6 +799,23 @@ export default function App() {
+## 集成moti
+
+```bash
+npx expo add moti
+npx expo add react-native-reanimated react-native-gesture-handler
+npx expo add react-native-gesture-handler
+```
+
+引入:
+
+```ts
+import 'react-native-reanimated'
+import 'react-native-gesture-handler'
+```
+
+
+
## 配置深度链接