diff --git a/babel.config.js b/babel.config.js
index 5c770389..06392144 100644
--- a/babel.config.js
+++ b/babel.config.js
@@ -1,7 +1,10 @@
module.exports = function (api) {
api.cache(true);
return {
- presets: ['babel-preset-expo'],
+ presets: [
+ ['babel-preset-expo', { jsxImportSource: 'nativewind' }],
+ 'nativewind/babel',
+ ],
plugins: [
[
'module-resolver',
@@ -24,7 +27,6 @@ module.exports = function (api) {
],
},
],
- ['nativewind/babel', { mode: 'compileOnly' }],
'react-native-reanimated/plugin',
],
};
diff --git a/global.css b/global.css
new file mode 100644
index 00000000..b5c61c95
--- /dev/null
+++ b/global.css
@@ -0,0 +1,3 @@
+@tailwind base;
+@tailwind components;
+@tailwind utilities;
diff --git a/ios/Podfile.lock b/ios/Podfile.lock
index 187d1fde..590d52ba 100644
--- a/ios/Podfile.lock
+++ b/ios/Podfile.lock
@@ -8,17 +8,17 @@ PODS:
- EXJSONUtils (0.12.3)
- EXManifests (0.13.2):
- ExpoModulesCore
- - Expo (50.0.3):
+ - Expo (50.0.5):
- ExpoModulesCore
- - expo-dev-client (3.3.7):
+ - expo-dev-client (3.3.8):
- EXManifests
- expo-dev-launcher
- expo-dev-menu
- expo-dev-menu-interface
- EXUpdatesInterface
- - expo-dev-launcher (3.6.4):
+ - expo-dev-launcher (3.6.6):
- EXManifests
- - expo-dev-launcher/Main (= 3.6.4)
+ - expo-dev-launcher/Main (= 3.6.6)
- expo-dev-menu
- expo-dev-menu-interface
- ExpoModulesCore
@@ -27,7 +27,7 @@ PODS:
- RCT-Folly (= 2022.05.16.00)
- React-Core
- React-RCTAppDelegate
- - expo-dev-launcher/Main (3.6.4):
+ - expo-dev-launcher/Main (3.6.6):
- EXManifests
- expo-dev-launcher/Unsafe
- expo-dev-menu
@@ -38,7 +38,7 @@ PODS:
- RCT-Folly (= 2022.05.16.00)
- React-Core
- React-RCTAppDelegate
- - expo-dev-launcher/Unsafe (3.6.4):
+ - expo-dev-launcher/Unsafe (3.6.6):
- EXManifests
- expo-dev-menu
- expo-dev-menu-interface
@@ -48,14 +48,14 @@ PODS:
- RCT-Folly (= 2022.05.16.00)
- React-Core
- React-RCTAppDelegate
- - expo-dev-menu (4.5.4):
- - expo-dev-menu/Main (= 4.5.4)
- - expo-dev-menu/ReactNativeCompatibles (= 4.5.4)
+ - expo-dev-menu (4.5.5):
+ - expo-dev-menu/Main (= 4.5.5)
+ - expo-dev-menu/ReactNativeCompatibles (= 4.5.5)
- glog
- RCT-Folly (= 2022.05.16.00)
- React-Core
- expo-dev-menu-interface (1.7.2)
- - expo-dev-menu/Main (4.5.4):
+ - expo-dev-menu/Main (4.5.5):
- EXManifests
- expo-dev-menu-interface
- expo-dev-menu/Vendored
@@ -63,23 +63,23 @@ PODS:
- glog
- RCT-Folly (= 2022.05.16.00)
- React-Core
- - expo-dev-menu/ReactNativeCompatibles (4.5.4):
+ - expo-dev-menu/ReactNativeCompatibles (4.5.5):
- glog
- RCT-Folly (= 2022.05.16.00)
- React-Core
- - expo-dev-menu/SafeAreaView (4.5.4):
+ - expo-dev-menu/SafeAreaView (4.5.5):
- ExpoModulesCore
- glog
- RCT-Folly (= 2022.05.16.00)
- React-Core
- - expo-dev-menu/Vendored (4.5.4):
+ - expo-dev-menu/Vendored (4.5.5):
- expo-dev-menu/SafeAreaView
- glog
- RCT-Folly (= 2022.05.16.00)
- React-Core
- ExpoFileSystem (16.0.5):
- ExpoModulesCore
- - ExpoHead (3.4.5):
+ - ExpoHead (3.4.6):
- ExpoModulesCore
- ExpoImage (1.10.5):
- ExpoModulesCore
@@ -1197,7 +1197,7 @@ PODS:
- glog
- RCT-Folly (= 2022.05.16.00)
- React-Core
- - RNReanimated (3.6.1):
+ - RNReanimated (3.6.2):
- glog
- RCT-Folly (= 2022.05.16.00)
- React-Core
@@ -1478,13 +1478,13 @@ SPEC CHECKSUMS:
EXFont: 21b9c760abd593ce8f0d5386b558ced76018506f
EXJSONUtils: 5c42959e87be238b045ef37cc5268b16a6c0ad4a
EXManifests: 5e8c29f36c716af768a4ea47ec05e1b89ab93091
- Expo: 88b4aa68115bbb57c1a07cc30161c2352ab2fc25
- expo-dev-client: 80a81d82fd401673ab11702ce9e54115a8852f3b
- expo-dev-launcher: 448a2c920d487f3f04958fb32c00204f92d5b3ac
- expo-dev-menu: 2c26766f836f9ff51b889a245dcbabb604c1c5ea
+ Expo: 49cded7844f2ec4ffb1cc3b86504853f26952935
+ expo-dev-client: 025dce84f48b04c60c3891547732f001f6aad777
+ expo-dev-launcher: 3cddfcd8e54748d0046af07dc8e4f58dbb045e93
+ expo-dev-menu: 8088833c320b616a312ffe438fbea5df276c010e
expo-dev-menu-interface: 7ba029c9d1a82ac22b9b584c00514860b060553e
ExpoFileSystem: 04795dd4d47e76eaf12e38c92091f77d794f9e7f
- ExpoHead: dda4dd22972750dd2baa5c0231b86dc6e10ddfd9
+ ExpoHead: b4f7388cd19ef0513ec0c0329ec995c03024300d
ExpoImage: 2b71f20472f293c1fbbf2400795b03d5bf8dd598
ExpoKeepAwake: 0f5cad99603a3268e50af9a6eb8b76d0d9ac956c
ExpoLocalization: f5f5d71dc0c9514d3d77b2771144f6fed6398d04
@@ -1551,7 +1551,7 @@ SPEC CHECKSUMS:
ReactNativeAvoidSoftinput: b4ec4c8084c397a91800d21170a9949a263d288a
RNFlashList: 4b4b6b093afc0df60ae08f9cbf6ccd4c836c667a
RNGestureHandler: 25b969a1ffc806b9f9ad2e170d4a3b049c6af85e
- RNReanimated: 57f436e7aa3d277fbfed05e003230b43428157c0
+ RNReanimated: 5589be82dc26b3f94738eb7c6b1f942787532b25
RNScreens: b582cb834dc4133307562e930e8fa914b8c04ef2
RNSVG: ba3e7232f45e34b7b47e74472386cf4e1a676d0a
SDWebImage: 750adf017a315a280c60fde706ab1e552a3ae4e9
diff --git a/metro.config.js b/metro.config.js
index 9430b0f9..f3321ba3 100644
--- a/metro.config.js
+++ b/metro.config.js
@@ -1,4 +1,6 @@
-// Learn more https://docs.expo.io/guides/customizing-metro
const { getDefaultConfig } = require('expo/metro-config');
+const { withNativeWind } = require('nativewind/metro');
-module.exports = getDefaultConfig(__dirname);
+const config = getDefaultConfig(__dirname);
+
+module.exports = withNativeWind(config, { input: './global.css' });
diff --git a/nativewind-env.d.ts b/nativewind-env.d.ts
new file mode 100644
index 00000000..a13e3136
--- /dev/null
+++ b/nativewind-env.d.ts
@@ -0,0 +1 @@
+///
diff --git a/package.json b/package.json
index 2e835cb6..cbd8cdc0 100644
--- a/package.json
+++ b/package.json
@@ -38,7 +38,7 @@
"e2e-test": "maestro test .maestro/ -e APP_ID=com.obytes.development"
},
"dependencies": {
- "@expo/metro-runtime": "^3.1.1",
+ "@expo/metro-runtime": "^3.1.3",
"@gorhom/bottom-sheet": "^4.6.0",
"@hookform/resolvers": "^2.9.11",
"@react-navigation/bottom-tabs": "^6.5.11",
@@ -48,38 +48,39 @@
"@tanstack/react-query": "^4.36.1",
"app-icon-badge": "^0.0.15",
"axios": "^1.6.5",
- "expo": "~50.0.3",
- "expo-build-properties": "~0.11.0",
+ "expo": "~50.0.7",
+ "expo-build-properties": "~0.11.1",
"expo-constants": "~15.4.5",
- "expo-dev-client": "~3.3.7",
- "expo-font": "~11.10.2",
- "expo-image": "~1.10.5",
+ "expo-dev-client": "~3.3.8",
+ "expo-font": "~11.10.3",
+ "expo-image": "~1.10.6",
"expo-linking": "~6.2.2",
"expo-localization": "~14.8.3",
- "expo-router": "~3.4.5",
+ "expo-router": "~3.4.7",
"expo-splash-screen": "0.26.4",
"expo-status-bar": "~1.11.1",
"expo-system-ui": "~2.9.3",
"i18next": "^22.5.1",
"lodash.memoize": "^4.1.2",
- "nativewind": "^2.0.11",
+ "nativewind": "^4.0.23",
"react": "18.2.0",
"react-dom": "18.2.0",
"react-error-boundary": "^3.1.4",
"react-hook-form": "^7.49.3",
"react-i18next": "^12.3.1",
- "react-native": "0.73.2",
+ "react-native": "0.73.4",
"react-native-avoid-softinput": "^4.0.2",
"react-native-flash-message": "^0.4.2",
"react-native-gesture-handler": "~2.14.1",
"react-native-mmkv": "2.6.3",
- "react-native-reanimated": "~3.6.1",
+ "react-native-reanimated": "~3.6.2",
"react-native-restart": "0.0.27",
"react-native-safe-area-context": "4.8.2",
"react-native-screens": "~3.29.0",
"react-native-svg": "14.1.0",
"react-native-web": "~0.19.10",
"react-query-kit": "^1.5.2",
+ "tailwind-variants": "^0.1.20",
"zod": "^3.22.4",
"zustand": "^4.5.0"
},
@@ -111,7 +112,7 @@
"husky": "^8.0.3",
"jest": "^29.7.0",
"jest-environment-jsdom": "^29.7.0",
- "jest-expo": "50.0.1",
+ "jest-expo": "50.0.2",
"jest-junit": "^16.0.0",
"lint-staged": "^13.3.0",
"metro-babel-register": "^0.73.10",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 79eb6d25..b21244c0 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -6,29 +6,29 @@ settings:
dependencies:
'@expo/metro-runtime':
- specifier: ^3.1.1
- version: 3.1.1(react-native@0.73.2)
+ specifier: ^3.1.3
+ version: 3.1.3(react-native@0.73.4)
'@gorhom/bottom-sheet':
specifier: ^4.6.0
- version: 4.6.0(@types/react@18.2.48)(react-native-gesture-handler@2.14.1)(react-native-reanimated@3.6.1)(react-native@0.73.2)(react@18.2.0)
+ version: 4.6.0(@types/react@18.2.48)(react-native-gesture-handler@2.14.1)(react-native-reanimated@3.6.2)(react-native@0.73.4)(react@18.2.0)
'@hookform/resolvers':
specifier: ^2.9.11
version: 2.9.11(react-hook-form@7.49.3)
'@react-navigation/bottom-tabs':
specifier: ^6.5.11
- version: 6.5.11(@react-navigation/native@6.1.9)(react-native-safe-area-context@4.8.2)(react-native-screens@3.29.0)(react-native@0.73.2)(react@18.2.0)
+ version: 6.5.11(@react-navigation/native@6.1.9)(react-native-safe-area-context@4.8.2)(react-native-screens@3.29.0)(react-native@0.73.4)(react@18.2.0)
'@react-navigation/native':
specifier: ^6.1.9
- version: 6.1.9(react-native@0.73.2)(react@18.2.0)
+ version: 6.1.9(react-native@0.73.4)(react@18.2.0)
'@react-navigation/native-stack':
specifier: ^6.9.17
- version: 6.9.17(@react-navigation/native@6.1.9)(react-native-safe-area-context@4.8.2)(react-native-screens@3.29.0)(react-native@0.73.2)(react@18.2.0)
+ version: 6.9.17(@react-navigation/native@6.1.9)(react-native-safe-area-context@4.8.2)(react-native-screens@3.29.0)(react-native@0.73.4)(react@18.2.0)
'@shopify/flash-list':
specifier: 1.6.3
- version: 1.6.3(@babel/runtime@7.23.8)(react-native@0.73.2)(react@18.2.0)
+ version: 1.6.3(@babel/runtime@7.23.8)(react-native@0.73.4)(react@18.2.0)
'@tanstack/react-query':
specifier: ^4.36.1
- version: 4.36.1(react-dom@18.2.0)(react-native@0.73.2)(react@18.2.0)
+ version: 4.36.1(react-dom@18.2.0)(react-native@0.73.4)(react@18.2.0)
app-icon-badge:
specifier: ^0.0.15
version: 0.0.15
@@ -36,41 +36,41 @@ dependencies:
specifier: ^1.6.5
version: 1.6.5
expo:
- specifier: ~50.0.3
- version: 50.0.3(@babel/core@7.23.7)(@react-native/babel-preset@0.73.19)
+ specifier: ~50.0.7
+ version: 50.0.7(@babel/core@7.23.7)(@react-native/babel-preset@0.73.21)
expo-build-properties:
- specifier: ~0.11.0
- version: 0.11.0(expo@50.0.3)
+ specifier: ~0.11.1
+ version: 0.11.1(expo@50.0.7)
expo-constants:
specifier: ~15.4.5
- version: 15.4.5(expo@50.0.3)
+ version: 15.4.5(expo@50.0.7)
expo-dev-client:
- specifier: ~3.3.7
- version: 3.3.7(expo@50.0.3)
+ specifier: ~3.3.8
+ version: 3.3.8(expo@50.0.7)
expo-font:
- specifier: ~11.10.2
- version: 11.10.2(expo@50.0.3)
+ specifier: ~11.10.3
+ version: 11.10.3(expo@50.0.7)
expo-image:
- specifier: ~1.10.5
- version: 1.10.5(expo@50.0.3)
+ specifier: ~1.10.6
+ version: 1.10.6(expo@50.0.7)
expo-linking:
specifier: ~6.2.2
- version: 6.2.2(expo@50.0.3)
+ version: 6.2.2(expo@50.0.7)
expo-localization:
specifier: ~14.8.3
- version: 14.8.3(expo@50.0.3)
+ version: 14.8.3(expo@50.0.7)
expo-router:
- specifier: ~3.4.5
- version: 3.4.5(@testing-library/jest-native@5.4.3)(expo-constants@15.4.5)(expo-linking@6.2.2)(expo-modules-autolinking@1.10.2)(expo-status-bar@1.11.1)(expo@50.0.3)(react-dom@18.2.0)(react-native-reanimated@3.6.1)(react-native-safe-area-context@4.8.2)(react-native-screens@3.29.0)(react-native@0.73.2)(react@18.2.0)
+ specifier: ~3.4.7
+ version: 3.4.7(@testing-library/jest-native@5.4.3)(expo-constants@15.4.5)(expo-linking@6.2.2)(expo-modules-autolinking@1.10.3)(expo-status-bar@1.11.1)(expo@50.0.7)(react-dom@18.2.0)(react-native-reanimated@3.6.2)(react-native-safe-area-context@4.8.2)(react-native-screens@3.29.0)(react-native@0.73.4)(react@18.2.0)
expo-splash-screen:
specifier: 0.26.4
- version: 0.26.4(expo-modules-autolinking@1.10.2)(expo@50.0.3)
+ version: 0.26.4(expo-modules-autolinking@1.10.3)(expo@50.0.7)
expo-status-bar:
specifier: ~1.11.1
version: 1.11.1
expo-system-ui:
specifier: ~2.9.3
- version: 2.9.3(expo@50.0.3)
+ version: 2.9.3(expo@50.0.7)
i18next:
specifier: ^22.5.1
version: 22.5.1
@@ -78,8 +78,8 @@ dependencies:
specifier: ^4.1.2
version: 4.1.2
nativewind:
- specifier: ^2.0.11
- version: 2.0.11(react@18.2.0)(tailwindcss@3.3.2)
+ specifier: ^4.0.23
+ version: 4.0.23(@babel/core@7.23.7)(react-native-reanimated@3.6.2)(react-native-safe-area-context@4.8.2)(react-native-svg@14.1.0)(react-native@0.73.4)(react@18.2.0)(tailwindcss@3.3.2)
react:
specifier: 18.2.0
version: 18.2.0
@@ -94,43 +94,46 @@ dependencies:
version: 7.49.3(react@18.2.0)
react-i18next:
specifier: ^12.3.1
- version: 12.3.1(i18next@22.5.1)(react-dom@18.2.0)(react-native@0.73.2)(react@18.2.0)
+ version: 12.3.1(i18next@22.5.1)(react-dom@18.2.0)(react-native@0.73.4)(react@18.2.0)
react-native:
- specifier: 0.73.2
- version: 0.73.2(@babel/core@7.23.7)(@babel/preset-env@7.23.8)(react@18.2.0)
+ specifier: 0.73.4
+ version: 0.73.4(@babel/core@7.23.7)(@babel/preset-env@7.23.8)(react@18.2.0)
react-native-avoid-softinput:
specifier: ^4.0.2
- version: 4.0.2(react-native@0.73.2)(react@18.2.0)
+ version: 4.0.2(react-native@0.73.4)(react@18.2.0)
react-native-flash-message:
specifier: ^0.4.2
- version: 0.4.2(prop-types@15.8.1)(react-native@0.73.2)(react@18.2.0)
+ version: 0.4.2(prop-types@15.8.1)(react-native@0.73.4)(react@18.2.0)
react-native-gesture-handler:
specifier: ~2.14.1
- version: 2.14.1(react-native@0.73.2)(react@18.2.0)
+ version: 2.14.1(react-native@0.73.4)(react@18.2.0)
react-native-mmkv:
specifier: 2.6.3
- version: 2.6.3(react-native@0.73.2)(react@18.2.0)
+ version: 2.6.3(react-native@0.73.4)(react@18.2.0)
react-native-reanimated:
- specifier: ~3.6.1
- version: 3.6.1(@babel/core@7.23.7)(@babel/plugin-proposal-nullish-coalescing-operator@7.18.6)(@babel/plugin-proposal-optional-chaining@7.21.0)(@babel/plugin-transform-arrow-functions@7.23.3)(@babel/plugin-transform-shorthand-properties@7.23.3)(@babel/plugin-transform-template-literals@7.23.3)(react-native@0.73.2)(react@18.2.0)
+ specifier: ~3.6.2
+ version: 3.6.2(@babel/core@7.23.7)(@babel/plugin-proposal-nullish-coalescing-operator@7.18.6)(@babel/plugin-proposal-optional-chaining@7.21.0)(@babel/plugin-transform-arrow-functions@7.23.3)(@babel/plugin-transform-shorthand-properties@7.23.3)(@babel/plugin-transform-template-literals@7.23.3)(react-native@0.73.4)(react@18.2.0)
react-native-restart:
specifier: 0.0.27
- version: 0.0.27(react-native@0.73.2)(react@18.2.0)
+ version: 0.0.27(react-native@0.73.4)(react@18.2.0)
react-native-safe-area-context:
specifier: 4.8.2
- version: 4.8.2(react-native@0.73.2)(react@18.2.0)
+ version: 4.8.2(react-native@0.73.4)(react@18.2.0)
react-native-screens:
specifier: ~3.29.0
- version: 3.29.0(react-native@0.73.2)(react@18.2.0)
+ version: 3.29.0(react-native@0.73.4)(react@18.2.0)
react-native-svg:
specifier: 14.1.0
- version: 14.1.0(react-native@0.73.2)(react@18.2.0)
+ version: 14.1.0(react-native@0.73.4)(react@18.2.0)
react-native-web:
specifier: ~0.19.10
version: 0.19.10(react-dom@18.2.0)(react@18.2.0)
react-query-kit:
specifier: ^1.5.2
version: 1.5.2(@tanstack/react-query@4.36.1)
+ tailwind-variants:
+ specifier: ^0.1.20
+ version: 0.1.20(tailwindcss@3.3.2)
zod:
specifier: ^3.22.4
version: 3.22.4
@@ -159,10 +162,10 @@ devDependencies:
version: 5.17.0
'@testing-library/jest-native':
specifier: ^5.4.3
- version: 5.4.3(react-native@0.73.2)(react-test-renderer@18.2.0)(react@18.2.0)
+ version: 5.4.3(react-native@0.73.4)(react-test-renderer@18.2.0)(react@18.2.0)
'@testing-library/react-native':
specifier: ^11.5.4
- version: 11.5.4(jest@29.7.0)(react-native@0.73.2)(react-test-renderer@18.2.0)(react@18.2.0)
+ version: 11.5.4(jest@29.7.0)(react-native@0.73.4)(react-test-renderer@18.2.0)(react@18.2.0)
'@types/i18n-js':
specifier: ^3.8.9
version: 3.8.9
@@ -221,8 +224,8 @@ devDependencies:
specifier: ^29.7.0
version: 29.7.0
jest-expo:
- specifier: 50.0.1
- version: 50.0.1(@babel/core@7.23.7)(jest@29.7.0)(react@18.2.0)
+ specifier: 50.0.2
+ version: 50.0.2(@babel/core@7.23.7)(jest@29.7.0)(react@18.2.0)
jest-junit:
specifier: ^16.0.0
version: 16.0.0
@@ -435,13 +438,6 @@ packages:
dependencies:
'@babel/types': 7.23.6
- /@babel/helper-module-imports@7.18.6:
- resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.19.0
- dev: false
-
/@babel/helper-module-imports@7.22.15:
resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==}
engines: {node: '>=6.9.0'}
@@ -1684,15 +1680,6 @@ packages:
transitivePeerDependencies:
- supports-color
- /@babel/types@7.19.0:
- resolution: {integrity: sha512-YuGopBq3ke25BVSiS6fgF49Ul9gH1x70Bcr6bqRLjWCkcX8Hre1/5+z+IiWOIerRMSSEfGZVB9z9kyq7wVs9YA==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/helper-string-parser': 7.23.4
- '@babel/helper-validator-identifier': 7.22.20
- to-fast-properties: 2.0.0
- dev: false
-
/@babel/types@7.23.6:
resolution: {integrity: sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==}
engines: {node: '>=6.9.0'}
@@ -1933,8 +1920,8 @@ packages:
safe-json-stringify: 1.2.0
dev: false
- /@expo/cli@0.17.2(@react-native/babel-preset@0.73.19)(expo-modules-autolinking@1.10.2):
- resolution: {integrity: sha512-0uJGuiV8XGjsTGnga95CiCZAtAymtQlo8FxRBp7AjLKpG/oTXG7+s368H7ZIC+XQBsvWx83iv+HyXQfOtPbsxQ==}
+ /@expo/cli@0.17.5(@react-native/babel-preset@0.73.21)(expo-modules-autolinking@1.10.3):
+ resolution: {integrity: sha512-9cMquL/5bBfV73CbZcWipk3KZSo8mBqdgvkoWCtEtnnlm/879ayxzMWjVIgT5yV4w+X7+N6KkBSUIIj4t9Xqew==}
hasBin: true
dependencies:
'@babel/runtime': 7.23.8
@@ -1945,11 +1932,11 @@ packages:
'@expo/env': 0.2.1
'@expo/image-utils': 0.4.1
'@expo/json-file': 8.3.0
- '@expo/metro-config': 0.17.3(@react-native/babel-preset@0.73.19)
+ '@expo/metro-config': 0.17.4(@react-native/babel-preset@0.73.21)
'@expo/osascript': 2.1.0
'@expo/package-manager': 1.4.2
'@expo/plist': 0.1.0
- '@expo/prebuild-config': 6.7.4(expo-modules-autolinking@1.10.2)
+ '@expo/prebuild-config': 6.7.4(expo-modules-autolinking@1.10.3)
'@expo/rudder-sdk-node': 1.1.1
'@expo/spawn-async': 1.5.0
'@expo/xcpretty': 4.3.1
@@ -2003,6 +1990,7 @@ packages:
send: 0.18.0
slugify: 1.6.6
source-map-support: 0.5.21
+ stacktrace-parser: 0.1.10
structured-headers: 0.4.1
tar: 6.2.0
temp-dir: 2.0.0
@@ -2142,8 +2130,8 @@ packages:
json5: 2.2.3
write-file-atomic: 2.4.3
- /@expo/metro-config@0.17.3(@react-native/babel-preset@0.73.19):
- resolution: {integrity: sha512-YW8ixbaz6yL7/Mg1rJJejiAAVQQKjGY1wXvT2Dh487r/r9/j1yE1YRS/oRY1yItYzbnHvO0p0jMnEGfiFYL3Tg==}
+ /@expo/metro-config@0.17.4(@react-native/babel-preset@0.73.21):
+ resolution: {integrity: sha512-PxqDMuVjXQeboa6Aj8kNj4iTxIpwpfoYlF803qOjf1LE1ePlREnWNwqy65ESCBnCmekYIO5hhm1Nksa+xCvuyg==}
peerDependencies:
'@react-native/babel-preset': '*'
dependencies:
@@ -2155,7 +2143,7 @@ packages:
'@expo/env': 0.2.1
'@expo/json-file': 8.3.0
'@expo/spawn-async': 1.7.2
- '@react-native/babel-preset': 0.73.19(@babel/core@7.23.7)(@babel/preset-env@7.23.8)
+ '@react-native/babel-preset': 0.73.21(@babel/core@7.23.7)(@babel/preset-env@7.23.8)
babel-preset-fbjs: 3.4.0(@babel/core@7.23.7)
chalk: 4.1.2
debug: 4.3.4
@@ -2172,20 +2160,12 @@ packages:
- supports-color
dev: false
- /@expo/metro-runtime@3.1.1(react-native@0.73.2):
- resolution: {integrity: sha512-NTtSgYIDqoJb/3m6uxus08PcJO7FguHRRg/ZLRBXt/NNPtJ1bk9eLGspZaa5jbSniVZe2AIXW9VGPi/GwKmIbQ==}
+ /@expo/metro-runtime@3.1.3(react-native@0.73.4):
+ resolution: {integrity: sha512-u1CaQJJlSgvxBB5NJ6YMVvSDTTRzjT71dHpEBnKPZhpFv5ebVry52FZ2sEeEEA6mHG5zGxWXmHImW3hNKHh8EA==}
peerDependencies:
react-native: '*'
dependencies:
- react-native: 0.73.2(@babel/core@7.23.7)(@babel/preset-env@7.23.8)(react@18.2.0)
- dev: false
-
- /@expo/metro-runtime@3.1.2(react-native@0.73.2):
- resolution: {integrity: sha512-Wekv2AZ3HY0NG9Im8AMB1KHGyHjmALg6xekVK34724I/DLtcocLKtQEP04oI9GcAZBotAhROHH5E4ADhJAEgYg==}
- peerDependencies:
- react-native: '*'
- dependencies:
- react-native: 0.73.2(@babel/core@7.23.7)(@babel/preset-env@7.23.8)(react@18.2.0)
+ react-native: 0.73.4(@babel/core@7.23.7)(@babel/preset-env@7.23.8)(react@18.2.0)
dev: false
/@expo/osascript@2.1.0:
@@ -2220,28 +2200,7 @@ packages:
base64-js: 1.5.1
xmlbuilder: 14.0.0
- /@expo/prebuild-config@6.7.3(expo-modules-autolinking@1.10.2):
- resolution: {integrity: sha512-jZIHzlnvdg4Gnln06XR9tvirL3hSp/Jh48COhLKs51vb3THCWumUytZBS4DSMdvGwf8btnaB01Zg00xQhSDBsA==}
- peerDependencies:
- expo-modules-autolinking: '>=0.8.1'
- dependencies:
- '@expo/config': 8.5.4
- '@expo/config-plugins': 7.8.4
- '@expo/config-types': 50.0.0
- '@expo/image-utils': 0.4.1
- '@expo/json-file': 8.3.0
- debug: 4.3.4
- expo-modules-autolinking: 1.10.2
- fs-extra: 9.1.0
- resolve-from: 5.0.0
- semver: 7.5.3
- xml2js: 0.6.0
- transitivePeerDependencies:
- - encoding
- - supports-color
- dev: false
-
- /@expo/prebuild-config@6.7.4(expo-modules-autolinking@1.10.2):
+ /@expo/prebuild-config@6.7.4(expo-modules-autolinking@1.10.3):
resolution: {integrity: sha512-x8EUdCa8DTMZ/dtEXjHAdlP+ljf6oSeSKNzhycXiHhpMSMG9jEhV28ocCwc6cKsjK5GziweEiHwvrj6+vsBlhA==}
peerDependencies:
expo-modules-autolinking: '>=0.8.1'
@@ -2252,7 +2211,7 @@ packages:
'@expo/image-utils': 0.4.1
'@expo/json-file': 8.3.0
debug: 4.3.4
- expo-modules-autolinking: 1.10.2
+ expo-modules-autolinking: 1.10.3
fs-extra: 9.1.0
resolve-from: 5.0.0
semver: 7.5.3
@@ -2350,7 +2309,7 @@ packages:
resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==}
dev: false
- /@gorhom/bottom-sheet@4.6.0(@types/react@18.2.48)(react-native-gesture-handler@2.14.1)(react-native-reanimated@3.6.1)(react-native@0.73.2)(react@18.2.0):
+ /@gorhom/bottom-sheet@4.6.0(@types/react@18.2.48)(react-native-gesture-handler@2.14.1)(react-native-reanimated@3.6.2)(react-native@0.73.4)(react@18.2.0):
resolution: {integrity: sha512-XgNflkhATUqTIiMDGuLaQZAtjUzcrhGOEJGHT+7Tou1ctTMb958YRGGnU9KFo5TkD6YCZcfWfxHPi9F0FF+DjA==}
peerDependencies:
'@types/react': '*'
@@ -2365,16 +2324,16 @@ packages:
'@types/react-native':
optional: true
dependencies:
- '@gorhom/portal': 1.0.14(react-native@0.73.2)(react@18.2.0)
+ '@gorhom/portal': 1.0.14(react-native@0.73.4)(react@18.2.0)
'@types/react': 18.2.48
invariant: 2.2.4
react: 18.2.0
- react-native: 0.73.2(@babel/core@7.23.7)(@babel/preset-env@7.23.8)(react@18.2.0)
- react-native-gesture-handler: 2.14.1(react-native@0.73.2)(react@18.2.0)
- react-native-reanimated: 3.6.1(@babel/core@7.23.7)(@babel/plugin-proposal-nullish-coalescing-operator@7.18.6)(@babel/plugin-proposal-optional-chaining@7.21.0)(@babel/plugin-transform-arrow-functions@7.23.3)(@babel/plugin-transform-shorthand-properties@7.23.3)(@babel/plugin-transform-template-literals@7.23.3)(react-native@0.73.2)(react@18.2.0)
+ react-native: 0.73.4(@babel/core@7.23.7)(@babel/preset-env@7.23.8)(react@18.2.0)
+ react-native-gesture-handler: 2.14.1(react-native@0.73.4)(react@18.2.0)
+ react-native-reanimated: 3.6.2(@babel/core@7.23.7)(@babel/plugin-proposal-nullish-coalescing-operator@7.18.6)(@babel/plugin-proposal-optional-chaining@7.21.0)(@babel/plugin-transform-arrow-functions@7.23.3)(@babel/plugin-transform-shorthand-properties@7.23.3)(@babel/plugin-transform-template-literals@7.23.3)(react-native@0.73.4)(react@18.2.0)
dev: false
- /@gorhom/portal@1.0.14(react-native@0.73.2)(react@18.2.0):
+ /@gorhom/portal@1.0.14(react-native@0.73.4)(react@18.2.0):
resolution: {integrity: sha512-MXyL4xvCjmgaORr/rtryDNFy3kU4qUbKlwtQqqsygd0xX3mhKjOLn6mQK8wfu0RkoE0pBE0nAasRoHua+/QZ7A==}
peerDependencies:
react: '*'
@@ -2382,7 +2341,7 @@ packages:
dependencies:
nanoid: 3.3.7
react: 18.2.0
- react-native: 0.73.2(@babel/core@7.23.7)(@babel/preset-env@7.23.8)(react@18.2.0)
+ react-native: 0.73.4(@babel/core@7.23.7)(@babel/preset-env@7.23.8)(react@18.2.0)
dev: false
/@graphql-typed-document-node/core@3.2.0(graphql@15.8.0):
@@ -3134,19 +3093,19 @@ packages:
react: 18.2.0
dev: false
- /@react-native-community/cli-clean@12.3.0:
- resolution: {integrity: sha512-iAgLCOWYRGh9ukr+eVQnhkV/OqN3V2EGd/in33Ggn/Mj4uO6+oUncXFwB+yjlyaUNz6FfjudhIz09yYGSF+9sg==}
+ /@react-native-community/cli-clean@12.3.2:
+ resolution: {integrity: sha512-90k2hCX0ddSFPT7EN7h5SZj0XZPXP0+y/++v262hssoey3nhurwF57NGWN0XAR0o9BSW7+mBfeInfabzDraO6A==}
dependencies:
- '@react-native-community/cli-tools': 12.3.0
+ '@react-native-community/cli-tools': 12.3.2
chalk: 4.1.2
execa: 5.1.1
transitivePeerDependencies:
- encoding
- /@react-native-community/cli-config@12.3.0:
- resolution: {integrity: sha512-BrTn5ndFD9uOxO8kxBQ32EpbtOvAsQExGPI7SokdI4Zlve70FziLtTq91LTlTUgMq1InVZn/jJb3VIDk6BTInQ==}
+ /@react-native-community/cli-config@12.3.2:
+ resolution: {integrity: sha512-UUCzDjQgvAVL/57rL7eOuFUhd+d+6qfM7V8uOegQFeFEmSmvUUDLYoXpBa5vAK9JgQtSqMBJ1Shmwao+/oElxQ==}
dependencies:
- '@react-native-community/cli-tools': 12.3.0
+ '@react-native-community/cli-tools': 12.3.2
chalk: 4.1.2
cosmiconfig: 5.2.1
deepmerge: 4.3.1
@@ -3155,20 +3114,20 @@ packages:
transitivePeerDependencies:
- encoding
- /@react-native-community/cli-debugger-ui@12.3.0:
- resolution: {integrity: sha512-w3b0iwjQlk47GhZWHaeTG8kKH09NCMUJO729xSdMBXE8rlbm4kHpKbxQY9qKb6NlfWSJN4noGY+FkNZS2rRwnQ==}
+ /@react-native-community/cli-debugger-ui@12.3.2:
+ resolution: {integrity: sha512-nSWQUL+51J682DlfcC1bjkUbQbGvHCC25jpqTwHIjmmVjYCX1uHuhPSqQKgPNdvtfOkrkACxczd7kVMmetxY2Q==}
dependencies:
serve-static: 1.15.0
transitivePeerDependencies:
- supports-color
- /@react-native-community/cli-doctor@12.3.0:
- resolution: {integrity: sha512-BPCwNNesoQMkKsxB08Ayy6URgGQ8Kndv6mMhIvJSNdST3J1+x3ehBHXzG9B9Vfi+DrTKRb8lmEl/b/7VkDlPkA==}
+ /@react-native-community/cli-doctor@12.3.2:
+ resolution: {integrity: sha512-GrAabdY4qtBX49knHFvEAdLtCjkmndjTeqhYO6BhsbAeKOtspcLT/0WRgdLIaKODRa61ADNB3K5Zm4dU0QrZOg==}
dependencies:
- '@react-native-community/cli-config': 12.3.0
- '@react-native-community/cli-platform-android': 12.3.0
- '@react-native-community/cli-platform-ios': 12.3.0
- '@react-native-community/cli-tools': 12.3.0
+ '@react-native-community/cli-config': 12.3.2
+ '@react-native-community/cli-platform-android': 12.3.2
+ '@react-native-community/cli-platform-ios': 12.3.2
+ '@react-native-community/cli-tools': 12.3.2
chalk: 4.1.2
command-exists: 1.2.9
deepmerge: 4.3.1
@@ -3185,21 +3144,21 @@ packages:
transitivePeerDependencies:
- encoding
- /@react-native-community/cli-hermes@12.3.0:
- resolution: {integrity: sha512-G6FxpeZBO4AimKZwtWR3dpXRqTvsmEqlIkkxgwthdzn3LbVjDVIXKpVYU9PkR5cnT+KuAUxO0WwthrJ6Nmrrlg==}
+ /@react-native-community/cli-hermes@12.3.2:
+ resolution: {integrity: sha512-SL6F9O8ghp4ESBFH2YAPLtIN39jdnvGBKnK4FGKpDCjtB3DnUmDsGFlH46S+GGt5M6VzfG2eeKEOKf3pZ6jUzA==}
dependencies:
- '@react-native-community/cli-platform-android': 12.3.0
- '@react-native-community/cli-tools': 12.3.0
+ '@react-native-community/cli-platform-android': 12.3.2
+ '@react-native-community/cli-tools': 12.3.2
chalk: 4.1.2
hermes-profile-transformer: 0.0.6
ip: 1.1.8
transitivePeerDependencies:
- encoding
- /@react-native-community/cli-platform-android@12.3.0:
- resolution: {integrity: sha512-VU1NZw63+GLU2TnyQ919bEMThpHQ/oMFju9MCfrd3pyPJz4Sn+vc3NfnTDUVA5Z5yfLijFOkHIHr4vo/C9bjnw==}
+ /@react-native-community/cli-platform-android@12.3.2:
+ resolution: {integrity: sha512-MZ5nO8yi/N+Fj2i9BJcJ9C/ez+9/Ir7lQt49DWRo9YDmzye66mYLr/P2l/qxsixllbbDi7BXrlLpxaEhMrDopg==}
dependencies:
- '@react-native-community/cli-tools': 12.3.0
+ '@react-native-community/cli-tools': 12.3.2
chalk: 4.1.2
execa: 5.1.1
fast-xml-parser: 4.3.3
@@ -3208,10 +3167,10 @@ packages:
transitivePeerDependencies:
- encoding
- /@react-native-community/cli-platform-ios@12.3.0:
- resolution: {integrity: sha512-H95Sgt3wT7L8V75V0syFJDtv4YgqK5zbu69ko4yrXGv8dv2EBi6qZP0VMmkqXDamoPm9/U7tDTdbcf26ctnLfg==}
+ /@react-native-community/cli-platform-ios@12.3.2:
+ resolution: {integrity: sha512-OcWEAbkev1IL6SUiQnM6DQdsvfsKZhRZtoBNSj9MfdmwotVZSOEZJ+IjZ1FR9ChvMWayO9ns/o8LgoQxr1ZXeg==}
dependencies:
- '@react-native-community/cli-tools': 12.3.0
+ '@react-native-community/cli-tools': 12.3.2
chalk: 4.1.2
execa: 5.1.1
fast-xml-parser: 4.3.3
@@ -3220,14 +3179,14 @@ packages:
transitivePeerDependencies:
- encoding
- /@react-native-community/cli-plugin-metro@12.3.0:
- resolution: {integrity: sha512-tYNHIYnNmxrBcsqbE2dAnLMzlKI3Cp1p1xUgTrNaOMsGPDN1epzNfa34n6Nps3iwKElSL7Js91CzYNqgTalucA==}
+ /@react-native-community/cli-plugin-metro@12.3.2:
+ resolution: {integrity: sha512-FpFBwu+d2E7KRhYPTkKvQsWb2/JKsJv+t1tcqgQkn+oByhp+qGyXBobFB8/R3yYvRRDCSDhS+atWTJzk9TjM8g==}
- /@react-native-community/cli-server-api@12.3.0:
- resolution: {integrity: sha512-Rode8NrdyByC+lBKHHn+/W8Zu0c+DajJvLmOWbe2WY/ECvnwcd9MHHbu92hlT2EQaJ9LbLhGrSbQE3cQy9EOCw==}
+ /@react-native-community/cli-server-api@12.3.2:
+ resolution: {integrity: sha512-iwa7EO9XFA/OjI5pPLLpI/6mFVqv8L73kNck3CNOJIUCCveGXBKK0VMyOkXaf/BYnihgQrXh+x5cxbDbggr7+Q==}
dependencies:
- '@react-native-community/cli-debugger-ui': 12.3.0
- '@react-native-community/cli-tools': 12.3.0
+ '@react-native-community/cli-debugger-ui': 12.3.2
+ '@react-native-community/cli-tools': 12.3.2
compression: 1.7.4
connect: 3.7.0
errorhandler: 1.5.1
@@ -3241,8 +3200,8 @@ packages:
- supports-color
- utf-8-validate
- /@react-native-community/cli-tools@12.3.0:
- resolution: {integrity: sha512-2GafnCr8D88VdClwnm9KZfkEb+lzVoFdr/7ybqhdeYM0Vnt/tr2N+fM1EQzwI1DpzXiBzTYemw8GjRq+Utcz2Q==}
+ /@react-native-community/cli-tools@12.3.2:
+ resolution: {integrity: sha512-nDH7vuEicHI2TI0jac/DjT3fr977iWXRdgVAqPZFFczlbs7A8GQvEdGnZ1G8dqRUmg+kptw0e4hwczAOG89JzQ==}
dependencies:
appdirsjs: 1.2.7
chalk: 4.1.2
@@ -3257,25 +3216,25 @@ packages:
transitivePeerDependencies:
- encoding
- /@react-native-community/cli-types@12.3.0:
- resolution: {integrity: sha512-MgOkmrXH4zsGxhte4YqKL7d+N8ZNEd3w1wo56MZlhu5WabwCJh87wYpU5T8vyfujFLYOFuFK5jjlcbs8F4/WDw==}
+ /@react-native-community/cli-types@12.3.2:
+ resolution: {integrity: sha512-9D0UEFqLW8JmS16mjHJxUJWX8E+zJddrHILSH8AJHZ0NNHv4u2DXKdb0wFLMobFxGNxPT+VSOjc60fGvXzWHog==}
dependencies:
joi: 17.12.0
- /@react-native-community/cli@12.3.0:
- resolution: {integrity: sha512-XeQohi2E+S2+MMSz97QcEZ/bWpi8sfKiQg35XuYeJkc32Til2g0b97jRpn0/+fV0BInHoG1CQYWwHA7opMsrHg==}
+ /@react-native-community/cli@12.3.2:
+ resolution: {integrity: sha512-WgoUWwLDcf/G1Su2COUUVs3RzAwnV/vUTdISSpAUGgSc57mPabaAoUctKTnfYEhCnE3j02k3VtaVPwCAFRO3TQ==}
engines: {node: '>=18'}
hasBin: true
dependencies:
- '@react-native-community/cli-clean': 12.3.0
- '@react-native-community/cli-config': 12.3.0
- '@react-native-community/cli-debugger-ui': 12.3.0
- '@react-native-community/cli-doctor': 12.3.0
- '@react-native-community/cli-hermes': 12.3.0
- '@react-native-community/cli-plugin-metro': 12.3.0
- '@react-native-community/cli-server-api': 12.3.0
- '@react-native-community/cli-tools': 12.3.0
- '@react-native-community/cli-types': 12.3.0
+ '@react-native-community/cli-clean': 12.3.2
+ '@react-native-community/cli-config': 12.3.2
+ '@react-native-community/cli-debugger-ui': 12.3.2
+ '@react-native-community/cli-doctor': 12.3.2
+ '@react-native-community/cli-hermes': 12.3.2
+ '@react-native-community/cli-plugin-metro': 12.3.2
+ '@react-native-community/cli-server-api': 12.3.2
+ '@react-native-community/cli-tools': 12.3.2
+ '@react-native-community/cli-types': 12.3.2
chalk: 4.1.2
commander: 9.5.0
deepmerge: 4.3.1
@@ -3326,17 +3285,17 @@ packages:
resolution: {integrity: sha512-2FgAbU7uKM5SbbW9QptPPZx8N9Ke2L7bsHb+EhAanZjFZunA9PaYtyjUQ1s7HD+zDVqOQIvjkpXSv7Kejd2tqg==}
engines: {node: '>=18'}
- /@react-native/babel-plugin-codegen@0.73.2(@babel/preset-env@7.23.8):
- resolution: {integrity: sha512-PadyFZWVaWXIBP7Q5dgEL7eAd7tnsgsLjoHJB1hIRZZuVUg1Zqe3nULwC7RFAqOtr5Qx7KXChkFFcKQ3WnZzGw==}
+ /@react-native/babel-plugin-codegen@0.73.4(@babel/preset-env@7.23.8):
+ resolution: {integrity: sha512-XzRd8MJGo4Zc5KsphDHBYJzS1ryOHg8I2gOZDAUCGcwLFhdyGu1zBNDJYH2GFyDrInn9TzAbRIf3d4O+eltXQQ==}
engines: {node: '>=18'}
dependencies:
- '@react-native/codegen': 0.73.2(@babel/preset-env@7.23.8)
+ '@react-native/codegen': 0.73.3(@babel/preset-env@7.23.8)
transitivePeerDependencies:
- '@babel/preset-env'
- supports-color
- /@react-native/babel-preset@0.73.19(@babel/core@7.23.7)(@babel/preset-env@7.23.8):
- resolution: {integrity: sha512-ujon01uMOREZecIltQxPDmJ6xlVqAUFGI/JCSpeVYdxyXBoBH5dBb0ihj7h6LKH1q1jsnO9z4MxfddtypKkIbg==}
+ /@react-native/babel-preset@0.73.21(@babel/core@7.23.7)(@babel/preset-env@7.23.8):
+ resolution: {integrity: sha512-WlFttNnySKQMeujN09fRmrdWqh46QyJluM5jdtDNrkl/2Hx6N4XeDUGhABvConeK95OidVO7sFFf7sNebVXogA==}
engines: {node: '>=18'}
peerDependencies:
'@babel/core': '*'
@@ -3380,15 +3339,15 @@ packages:
'@babel/plugin-transform-typescript': 7.23.6(@babel/core@7.23.7)
'@babel/plugin-transform-unicode-regex': 7.23.3(@babel/core@7.23.7)
'@babel/template': 7.22.15
- '@react-native/babel-plugin-codegen': 0.73.2(@babel/preset-env@7.23.8)
+ '@react-native/babel-plugin-codegen': 0.73.4(@babel/preset-env@7.23.8)
babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.23.7)
react-refresh: 0.14.0
transitivePeerDependencies:
- '@babel/preset-env'
- supports-color
- /@react-native/codegen@0.73.2(@babel/preset-env@7.23.8):
- resolution: {integrity: sha512-lfy8S7umhE3QLQG5ViC4wg5N1Z+E6RnaeIw8w1voroQsXXGPB72IBozh8dAHR3+ceTxIU0KX3A8OpJI8e1+HpQ==}
+ /@react-native/codegen@0.73.3(@babel/preset-env@7.23.8):
+ resolution: {integrity: sha512-sxslCAAb8kM06vGy9Jyh4TtvjhcP36k/rvj2QE2Jdhdm61KvfafCATSIsOfc0QvnduWFcpXUPvAVyYwuv7PYDg==}
engines: {node: '>=18'}
peerDependencies:
'@babel/preset-env': ^7.1.6
@@ -3404,14 +3363,14 @@ packages:
transitivePeerDependencies:
- supports-color
- /@react-native/community-cli-plugin@0.73.12(@babel/core@7.23.7)(@babel/preset-env@7.23.8):
- resolution: {integrity: sha512-xWU06OkC1cX++Duh/cD/Wv+oZ0oSY3yqbtxAqQA2H3Q+MQltNNJM6MqIHt1VOZSabRf/LVlR1JL6U9TXJirkaw==}
+ /@react-native/community-cli-plugin@0.73.16(@babel/core@7.23.7)(@babel/preset-env@7.23.8):
+ resolution: {integrity: sha512-eNH3v3qJJF6f0n/Dck90qfC9gVOR4coAXMTdYECO33GfgjTi+73vf/SBqlXw9HICH/RNZYGPM3wca4FRF7TYeQ==}
engines: {node: '>=18'}
dependencies:
- '@react-native-community/cli-server-api': 12.3.0
- '@react-native-community/cli-tools': 12.3.0
+ '@react-native-community/cli-server-api': 12.3.2
+ '@react-native-community/cli-tools': 12.3.2
'@react-native/dev-middleware': 0.73.7
- '@react-native/metro-babel-transformer': 0.73.13(@babel/core@7.23.7)(@babel/preset-env@7.23.8)
+ '@react-native/metro-babel-transformer': 0.73.15(@babel/core@7.23.7)(@babel/preset-env@7.23.8)
chalk: 4.1.2
execa: 5.1.1
metro: 0.80.4
@@ -3457,14 +3416,14 @@ packages:
resolution: {integrity: sha512-ewMwGcumrilnF87H4jjrnvGZEaPFCAC4ebraEK+CurDDmwST/bIicI4hrOAv+0Z0F7DEK4O4H7r8q9vH7IbN4g==}
engines: {node: '>=18'}
- /@react-native/metro-babel-transformer@0.73.13(@babel/core@7.23.7)(@babel/preset-env@7.23.8):
- resolution: {integrity: sha512-k9AQifogQfgUXPlqQSoMtX2KUhniw4XvJl+nZ4hphCH7qiMDAwuP8OmkJbz5E/N+Ro9OFuLE7ax4GlwxaTsAWg==}
+ /@react-native/metro-babel-transformer@0.73.15(@babel/core@7.23.7)(@babel/preset-env@7.23.8):
+ resolution: {integrity: sha512-LlkSGaXCz+xdxc9819plmpsl4P4gZndoFtpjN3GMBIu6f7TBV0GVbyJAU4GE8fuAWPVSVL5ArOcdkWKSbI1klw==}
engines: {node: '>=18'}
peerDependencies:
'@babel/core': '*'
dependencies:
'@babel/core': 7.23.7
- '@react-native/babel-preset': 0.73.19(@babel/core@7.23.7)(@babel/preset-env@7.23.8)
+ '@react-native/babel-preset': 0.73.21(@babel/core@7.23.7)(@babel/preset-env@7.23.8)
hermes-parser: 0.15.0
nullthrows: 1.1.1
transitivePeerDependencies:
@@ -3477,7 +3436,7 @@ packages:
/@react-native/normalize-colors@0.73.2:
resolution: {integrity: sha512-bRBcb2T+I88aG74LMVHaKms2p/T8aQd8+BZ7LuuzXlRfog1bMWWn/C5i0HVuvW4RPtXQYgIlGiXVDy9Ir1So/w==}
- /@react-native/virtualized-lists@0.73.4(react-native@0.73.2):
+ /@react-native/virtualized-lists@0.73.4(react-native@0.73.4):
resolution: {integrity: sha512-HpmLg1FrEiDtrtAbXiwCgXFYyloK/dOIPIuWW3fsqukwJEWAiTzm1nXGJ7xPU5XTHiWZ4sKup5Ebaj8z7iyWog==}
engines: {node: '>=18'}
peerDependencies:
@@ -3485,9 +3444,9 @@ packages:
dependencies:
invariant: 2.2.4
nullthrows: 1.1.1
- react-native: 0.73.2(@babel/core@7.23.7)(@babel/preset-env@7.23.8)(react@18.2.0)
+ react-native: 0.73.4(@babel/core@7.23.7)(@babel/preset-env@7.23.8)(react@18.2.0)
- /@react-navigation/bottom-tabs@6.5.11(@react-navigation/native@6.1.9)(react-native-safe-area-context@4.8.2)(react-native-screens@3.29.0)(react-native@0.73.2)(react@18.2.0):
+ /@react-navigation/bottom-tabs@6.5.11(@react-navigation/native@6.1.9)(react-native-safe-area-context@4.8.2)(react-native-screens@3.29.0)(react-native@0.73.4)(react@18.2.0):
resolution: {integrity: sha512-CBN/NOdxnMvmjw+AJQI1kltOYaClTZmGec5pQ3ZNTPX86ytbIOylDIITKMfTgHZcIEFQDymx1SHeS++PIL3Szw==}
peerDependencies:
'@react-navigation/native': ^6.0.0
@@ -3496,13 +3455,13 @@ packages:
react-native-safe-area-context: '>= 3.0.0'
react-native-screens: '>= 3.0.0'
dependencies:
- '@react-navigation/elements': 1.3.21(@react-navigation/native@6.1.9)(react-native-safe-area-context@4.8.2)(react-native@0.73.2)(react@18.2.0)
- '@react-navigation/native': 6.1.9(react-native@0.73.2)(react@18.2.0)
+ '@react-navigation/elements': 1.3.21(@react-navigation/native@6.1.9)(react-native-safe-area-context@4.8.2)(react-native@0.73.4)(react@18.2.0)
+ '@react-navigation/native': 6.1.9(react-native@0.73.4)(react@18.2.0)
color: 4.2.3
react: 18.2.0
- react-native: 0.73.2(@babel/core@7.23.7)(@babel/preset-env@7.23.8)(react@18.2.0)
- react-native-safe-area-context: 4.8.2(react-native@0.73.2)(react@18.2.0)
- react-native-screens: 3.29.0(react-native@0.73.2)(react@18.2.0)
+ react-native: 0.73.4(@babel/core@7.23.7)(@babel/preset-env@7.23.8)(react@18.2.0)
+ react-native-safe-area-context: 4.8.2(react-native@0.73.4)(react@18.2.0)
+ react-native-screens: 3.29.0(react-native@0.73.4)(react@18.2.0)
warn-once: 0.1.1
dev: false
@@ -3520,7 +3479,7 @@ packages:
use-latest-callback: 0.1.9(react@18.2.0)
dev: false
- /@react-navigation/elements@1.3.21(@react-navigation/native@6.1.9)(react-native-safe-area-context@4.8.2)(react-native@0.73.2)(react@18.2.0):
+ /@react-navigation/elements@1.3.21(@react-navigation/native@6.1.9)(react-native-safe-area-context@4.8.2)(react-native@0.73.4)(react@18.2.0):
resolution: {integrity: sha512-eyS2C6McNR8ihUoYfc166O1D8VYVh9KIl0UQPI8/ZJVsStlfSTgeEEh+WXge6+7SFPnZ4ewzEJdSAHH+jzcEfg==}
peerDependencies:
'@react-navigation/native': ^6.0.0
@@ -3528,13 +3487,13 @@ packages:
react-native: '*'
react-native-safe-area-context: '>= 3.0.0'
dependencies:
- '@react-navigation/native': 6.1.9(react-native@0.73.2)(react@18.2.0)
+ '@react-navigation/native': 6.1.9(react-native@0.73.4)(react@18.2.0)
react: 18.2.0
- react-native: 0.73.2(@babel/core@7.23.7)(@babel/preset-env@7.23.8)(react@18.2.0)
- react-native-safe-area-context: 4.8.2(react-native@0.73.2)(react@18.2.0)
+ react-native: 0.73.4(@babel/core@7.23.7)(@babel/preset-env@7.23.8)(react@18.2.0)
+ react-native-safe-area-context: 4.8.2(react-native@0.73.4)(react@18.2.0)
dev: false
- /@react-navigation/native-stack@6.9.17(@react-navigation/native@6.1.9)(react-native-safe-area-context@4.8.2)(react-native-screens@3.29.0)(react-native@0.73.2)(react@18.2.0):
+ /@react-navigation/native-stack@6.9.17(@react-navigation/native@6.1.9)(react-native-safe-area-context@4.8.2)(react-native-screens@3.29.0)(react-native@0.73.4)(react@18.2.0):
resolution: {integrity: sha512-X8p8aS7JptQq7uZZNFEvfEcPf6tlK4PyVwYDdryRbG98B4bh2wFQYMThxvqa+FGEN7USEuHdv2mF0GhFKfX0ew==}
peerDependencies:
'@react-navigation/native': ^6.0.0
@@ -3543,16 +3502,16 @@ packages:
react-native-safe-area-context: '>= 3.0.0'
react-native-screens: '>= 3.0.0'
dependencies:
- '@react-navigation/elements': 1.3.21(@react-navigation/native@6.1.9)(react-native-safe-area-context@4.8.2)(react-native@0.73.2)(react@18.2.0)
- '@react-navigation/native': 6.1.9(react-native@0.73.2)(react@18.2.0)
+ '@react-navigation/elements': 1.3.21(@react-navigation/native@6.1.9)(react-native-safe-area-context@4.8.2)(react-native@0.73.4)(react@18.2.0)
+ '@react-navigation/native': 6.1.9(react-native@0.73.4)(react@18.2.0)
react: 18.2.0
- react-native: 0.73.2(@babel/core@7.23.7)(@babel/preset-env@7.23.8)(react@18.2.0)
- react-native-safe-area-context: 4.8.2(react-native@0.73.2)(react@18.2.0)
- react-native-screens: 3.29.0(react-native@0.73.2)(react@18.2.0)
+ react-native: 0.73.4(@babel/core@7.23.7)(@babel/preset-env@7.23.8)(react@18.2.0)
+ react-native-safe-area-context: 4.8.2(react-native@0.73.4)(react@18.2.0)
+ react-native-screens: 3.29.0(react-native@0.73.4)(react@18.2.0)
warn-once: 0.1.1
dev: false
- /@react-navigation/native@6.1.9(react-native@0.73.2)(react@18.2.0):
+ /@react-navigation/native@6.1.9(react-native@0.73.4)(react@18.2.0):
resolution: {integrity: sha512-AMuJDpwXE7UlfyhIXaUCCynXmv69Kb8NzKgKJO7v0k0L+u6xUTbt6xvshmJ79vsvaFyaEH9Jg5FMzek5/S5qNw==}
peerDependencies:
react: '*'
@@ -3563,7 +3522,7 @@ packages:
fast-deep-equal: 3.1.3
nanoid: 3.3.7
react: 18.2.0
- react-native: 0.73.2(@babel/core@7.23.7)(@babel/preset-env@7.23.8)(react@18.2.0)
+ react-native: 0.73.4(@babel/core@7.23.7)(@babel/preset-env@7.23.8)(react@18.2.0)
dev: false
/@react-navigation/routers@6.1.9:
@@ -3668,7 +3627,7 @@ packages:
join-component: 1.1.0
dev: false
- /@shopify/flash-list@1.6.3(@babel/runtime@7.23.8)(react-native@0.73.2)(react@18.2.0):
+ /@shopify/flash-list@1.6.3(@babel/runtime@7.23.8)(react-native@0.73.4)(react@18.2.0):
resolution: {integrity: sha512-XM2iu4CeD9SOEUxaGG3UkxfUxGPWG9yacga1yQSgskAjUsRDFTsD3y4Dyon9n8MfDwgrRpEwuijd+7NeQQoWaQ==}
peerDependencies:
'@babel/runtime': '*'
@@ -3677,8 +3636,8 @@ packages:
dependencies:
'@babel/runtime': 7.23.8
react: 18.2.0
- react-native: 0.73.2(@babel/core@7.23.7)(@babel/preset-env@7.23.8)(react@18.2.0)
- recyclerlistview: 4.2.0(react-native@0.73.2)(react@18.2.0)
+ react-native: 0.73.4(@babel/core@7.23.7)(@babel/preset-env@7.23.8)(react@18.2.0)
+ recyclerlistview: 4.2.0(react-native@0.73.4)(react@18.2.0)
tslib: 2.4.0
dev: false
@@ -3739,7 +3698,7 @@ packages:
resolution: {integrity: sha512-DJSilV5+ytBP1FbFcEJovv4rnnm/CokuVvrBEtW/Va9DvuJ3HksbXUJEpI0aV1KtuL4ZoO9AVE6PyNLzF7tLeA==}
dev: false
- /@tanstack/react-query@4.36.1(react-dom@18.2.0)(react-native@0.73.2)(react@18.2.0):
+ /@tanstack/react-query@4.36.1(react-dom@18.2.0)(react-native@0.73.4)(react@18.2.0):
resolution: {integrity: sha512-y7ySVHFyyQblPl3J3eQBWpXZkliroki3ARnBKsdJchlgt7yJLRDUcf4B8soufgiYt3pEQIkBWBx1N9/ZPIeUWw==}
peerDependencies:
react: ^16.8.0 || ^17.0.0 || ^18.0.0
@@ -3754,7 +3713,7 @@ packages:
'@tanstack/query-core': 4.36.1
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
- react-native: 0.73.2(@babel/core@7.23.7)(@babel/preset-env@7.23.8)(react@18.2.0)
+ react-native: 0.73.4(@babel/core@7.23.7)(@babel/preset-env@7.23.8)(react@18.2.0)
use-sync-external-store: 1.2.0(react@18.2.0)
dev: false
@@ -3773,7 +3732,7 @@ packages:
redent: 3.0.0
dev: true
- /@testing-library/jest-native@5.4.3(react-native@0.73.2)(react-test-renderer@18.2.0)(react@18.2.0):
+ /@testing-library/jest-native@5.4.3(react-native@0.73.4)(react-test-renderer@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-/sSDGaOuE+PJ1Z9Kp4u7PQScSVVXGud59I/qsBFFJvIbcn4P6yYw6cBnBmbPF+X9aRIsTJRDl6gzw5ZkJNm66w==}
peerDependencies:
react: '>=16.0.0'
@@ -3785,11 +3744,11 @@ packages:
jest-matcher-utils: 29.7.0
pretty-format: 29.7.0
react: 18.2.0
- react-native: 0.73.2(@babel/core@7.23.7)(@babel/preset-env@7.23.8)(react@18.2.0)
+ react-native: 0.73.4(@babel/core@7.23.7)(@babel/preset-env@7.23.8)(react@18.2.0)
react-test-renderer: 18.2.0(react@18.2.0)
redent: 3.0.0
- /@testing-library/react-native@11.5.4(jest@29.7.0)(react-native@0.73.2)(react-test-renderer@18.2.0)(react@18.2.0):
+ /@testing-library/react-native@11.5.4(jest@29.7.0)(react-native@0.73.4)(react-test-renderer@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-6DRzMHqili5pp1JRm7fh80SAP48aR25b37gohlLoKbqGBpDw8BbZTad7Luzktm9MU5DQUm7xyzg07Z1CyveVFA==}
peerDependencies:
jest: '>=28.0.0'
@@ -3803,7 +3762,7 @@ packages:
jest: 29.7.0(@types/node@20.5.1)(ts-node@10.9.2)
pretty-format: 29.7.0
react: 18.2.0
- react-native: 0.73.2(@babel/core@7.23.7)(@babel/preset-env@7.23.8)(react@18.2.0)
+ react-native: 0.73.4(@babel/core@7.23.7)(@babel/preset-env@7.23.8)(react@18.2.0)
react-test-renderer: 18.2.0(react@18.2.0)
dev: true
@@ -4695,6 +4654,22 @@ packages:
resolution: {integrity: sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==}
dev: false
+ /babel-plugin-tester@11.0.4(@babel/core@7.23.7):
+ resolution: {integrity: sha512-cqswtpSPo0e++rZB0l/54EG17LL25l9gLgh59yXfnmNxX+2lZTIOpx2zt4YI9QIClVXc8xf63J6yWwKkzy0jNg==}
+ engines: {node: ^14.20.0 || ^16.16.0 || >=18.5.0}
+ peerDependencies:
+ '@babel/core': '>=7.11.6'
+ dependencies:
+ '@babel/core': 7.23.7
+ core-js: 3.35.1
+ debug: 4.3.4
+ lodash.mergewith: 4.6.2
+ prettier: 2.8.8
+ strip-indent: 3.0.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
/babel-plugin-transform-flow-enums@0.0.2(@babel/core@7.23.7):
resolution: {integrity: sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ==}
dependencies:
@@ -4731,7 +4706,7 @@ packages:
'@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.7)
'@babel/preset-env': 7.23.8(@babel/core@7.23.7)
'@babel/preset-react': 7.23.3(@babel/core@7.23.7)
- '@react-native/babel-preset': 0.73.19(@babel/core@7.23.7)(@babel/preset-env@7.23.8)
+ '@react-native/babel-preset': 0.73.21(@babel/core@7.23.7)(@babel/preset-env@7.23.8)
babel-plugin-react-native-web: 0.18.12
react-refresh: 0.14.0
transitivePeerDependencies:
@@ -5046,10 +5021,6 @@ packages:
resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==}
engines: {node: '>=10'}
- /camelize@1.0.1:
- resolution: {integrity: sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==}
- dev: false
-
/caniuse-lite@1.0.30001579:
resolution: {integrity: sha512-u5AUVkixruKHJjw/pj9wISlcMpgFWzSrczLZbrqBSxukQixmg0SJ5sZTpvaFvxU0HoQKd4yoyAogyrAz9pzJnA==}
@@ -5457,6 +5428,11 @@ packages:
dependencies:
browserslist: 4.22.2
+ /core-js@3.35.1:
+ resolution: {integrity: sha512-IgdsbxNyMskrTFxa9lWHyMwAJU5gXOPP+1yO+K59d50VLVAIDAbs7gIv705KzALModfK3ZrSZTPNpC0PQgIZuw==}
+ requiresBuild: true
+ dev: false
+
/core-util-is@1.0.3:
resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
@@ -5581,21 +5557,12 @@ packages:
resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==}
engines: {node: '>=8'}
- /css-color-keywords@1.0.0:
- resolution: {integrity: sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==}
- engines: {node: '>=4'}
- dev: false
-
/css-in-js-utils@3.1.0:
resolution: {integrity: sha512-fJAcud6B3rRu+KHYk+Bwf+WFL2MDCJJ1XG9x137tJQ0xYxor7XziQtuGFbWNdqrvF4Tk26O3H73nfVqXt/fW1A==}
dependencies:
hyphenate-style-name: 1.0.4
dev: false
- /css-mediaquery@0.1.2:
- resolution: {integrity: sha512-COtn4EROW5dBGlE/4PiKnh6rZpAPxDeFLaEEwt4i10jpDMFt2EhQGS79QmmrO+iKCHv0PU/HrOWEhijFd1x99Q==}
- dev: false
-
/css-select@5.1.0:
resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==}
dependencies:
@@ -5606,14 +5573,6 @@ packages:
nth-check: 2.1.1
dev: false
- /css-to-react-native@3.2.0:
- resolution: {integrity: sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==}
- dependencies:
- camelize: 1.0.1
- css-color-keywords: 1.0.0
- postcss-value-parser: 4.2.0
- dev: false
-
/css-tree@1.1.3:
resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==}
engines: {node: '>=8.0.0'}
@@ -6582,13 +6541,13 @@ packages:
jest-util: 29.7.0
dev: true
- /expo-asset@9.0.2(expo@50.0.3):
+ /expo-asset@9.0.2(expo@50.0.7):
resolution: {integrity: sha512-PzYKME1MgUOoUvwtdzhAyXkjXOXGiSYqGKG/MsXwWr0Ef5wlBaBm2DCO9V6KYbng5tBPFu6hTjoRNil1tBOSow==}
dependencies:
'@react-native/assets-registry': 0.73.1
blueimp-md5: 2.19.0
- expo-constants: 15.4.5(expo@50.0.3)
- expo-file-system: 16.0.5(expo@50.0.3)
+ expo-constants: 15.4.5(expo@50.0.7)
+ expo-file-system: 16.0.6(expo@50.0.7)
invariant: 2.2.4
md5-file: 3.2.3
transitivePeerDependencies:
@@ -6596,156 +6555,146 @@ packages:
- supports-color
dev: false
- /expo-build-properties@0.11.0(expo@50.0.3):
- resolution: {integrity: sha512-14+UjV4uKCI5KsOw/BTL++T3N1OPWnOvLGoF39/o9XjB4t0wqXoSrcEl6ZbtH/b3xzd6dj9pnDDBLWDn/7uKvQ==}
+ /expo-build-properties@0.11.1(expo@50.0.7):
+ resolution: {integrity: sha512-m4j4aEjFaDuBE6KWYMxDhWgLzzSmpE7uHKAwtvXyNmRK+6JKF0gjiXi0sXgI5ngNppDQpsyPFMvqG7uQpRuCuw==}
peerDependencies:
expo: '*'
dependencies:
ajv: 8.12.0
- expo: 50.0.3(@babel/core@7.23.7)(@react-native/babel-preset@0.73.19)
+ expo: 50.0.7(@babel/core@7.23.7)(@react-native/babel-preset@0.73.21)
semver: 7.5.4
dev: false
- /expo-constants@15.4.5(expo@50.0.3):
+ /expo-constants@15.4.5(expo@50.0.7):
resolution: {integrity: sha512-1pVVjwk733hbbIjtQcvUFCme540v4gFemdNlaxM2UXKbfRCOh2hzgKN5joHMOysoXQe736TTUrRj7UaZI5Yyhg==}
peerDependencies:
expo: '*'
dependencies:
'@expo/config': 8.5.4
- expo: 50.0.3(@babel/core@7.23.7)(@react-native/babel-preset@0.73.19)
+ expo: 50.0.7(@babel/core@7.23.7)(@react-native/babel-preset@0.73.21)
transitivePeerDependencies:
- supports-color
dev: false
- /expo-dev-client@3.3.7(expo@50.0.3):
- resolution: {integrity: sha512-dsucMzezNuP7zxSxYi1EbIA16j491tD9joUlGlpvBW1IylxUmbPraOqUqdXsDxRIAJh5HgJx/8X03Xoo1j7YKw==}
+ /expo-dev-client@3.3.8(expo@50.0.7):
+ resolution: {integrity: sha512-6JpcxncWiWwq1w6SPrePpTa20z3D1qmAMMHd8f05lSCUPVBn4jTwpzrKEpGaA3EubLE5SEdxPVmvmyWw/oFFMQ==}
peerDependencies:
expo: '*'
dependencies:
- expo: 50.0.3(@babel/core@7.23.7)(@react-native/babel-preset@0.73.19)
- expo-dev-launcher: 3.6.4(expo@50.0.3)
- expo-dev-menu: 4.5.5(expo@50.0.3)
- expo-dev-menu-interface: 1.7.2(expo@50.0.3)
- expo-manifests: 0.13.2(expo@50.0.3)
- expo-updates-interface: 0.15.3(expo@50.0.3)
+ expo: 50.0.7(@babel/core@7.23.7)(@react-native/babel-preset@0.73.21)
+ expo-dev-launcher: 3.6.6(expo@50.0.7)
+ expo-dev-menu: 4.5.5(expo@50.0.7)
+ expo-dev-menu-interface: 1.7.2(expo@50.0.7)
+ expo-manifests: 0.13.2(expo@50.0.7)
+ expo-updates-interface: 0.15.3(expo@50.0.7)
transitivePeerDependencies:
- supports-color
dev: false
- /expo-dev-launcher@3.6.4(expo@50.0.3):
- resolution: {integrity: sha512-i5NGm2QeVl7ePk9nyvW1hAEg29FRMltNNEkRiK/AF77ObrD0YG/FhhidQL8C/SIIm/3RcsjAiw4buF5QRoieKg==}
+ /expo-dev-launcher@3.6.6(expo@50.0.7):
+ resolution: {integrity: sha512-jVI1YZS1YJTrniIL53BOxSZUMyJCeDLuS9SlRx1vC3tnTTN3srg5pU/zCK/DifwbF7i6NtA1iLPSBVu2K4040A==}
peerDependencies:
expo: '*'
dependencies:
ajv: 8.11.0
- expo: 50.0.3(@babel/core@7.23.7)(@react-native/babel-preset@0.73.19)
- expo-dev-menu: 4.5.4(expo@50.0.3)
- expo-manifests: 0.13.2(expo@50.0.3)
+ expo: 50.0.7(@babel/core@7.23.7)(@react-native/babel-preset@0.73.21)
+ expo-dev-menu: 4.5.5(expo@50.0.7)
+ expo-manifests: 0.13.2(expo@50.0.7)
resolve-from: 5.0.0
semver: 7.5.4
transitivePeerDependencies:
- supports-color
dev: false
- /expo-dev-menu-interface@1.7.2(expo@50.0.3):
+ /expo-dev-menu-interface@1.7.2(expo@50.0.7):
resolution: {integrity: sha512-V/geSB9rW0IPTR+d7E5CcvkV0uVUCE7SMHZqE/J0/dH06Wo8AahB16fimXeh5/hTL2Qztq8CQ41xpFUBoA9TEw==}
peerDependencies:
expo: '*'
dependencies:
- expo: 50.0.3(@babel/core@7.23.7)(@react-native/babel-preset@0.73.19)
- dev: false
-
- /expo-dev-menu@4.5.4(expo@50.0.3):
- resolution: {integrity: sha512-TLCfXKI7r5PJpMKUcslKz9J7tChdYdm6DmOEYwFQC3OLcegXzCT/H92WfTdVXU+xz5XYTcyvnIZQa7/d2Ig90g==}
- peerDependencies:
- expo: '*'
- dependencies:
- expo: 50.0.3(@babel/core@7.23.7)(@react-native/babel-preset@0.73.19)
- expo-dev-menu-interface: 1.7.2(expo@50.0.3)
- semver: 7.5.4
+ expo: 50.0.7(@babel/core@7.23.7)(@react-native/babel-preset@0.73.21)
dev: false
- /expo-dev-menu@4.5.5(expo@50.0.3):
+ /expo-dev-menu@4.5.5(expo@50.0.7):
resolution: {integrity: sha512-PcbI/SqAvueOIEtR1O0s+WvVD7yizQSqXisDSkBrTym3u8XZSN+K730kz2Z64ukY9YIPG4qWR4sd+9rcjsbMWw==}
peerDependencies:
expo: '*'
dependencies:
- expo: 50.0.3(@babel/core@7.23.7)(@react-native/babel-preset@0.73.19)
- expo-dev-menu-interface: 1.7.2(expo@50.0.3)
+ expo: 50.0.7(@babel/core@7.23.7)(@react-native/babel-preset@0.73.21)
+ expo-dev-menu-interface: 1.7.2(expo@50.0.7)
semver: 7.5.4
dev: false
- /expo-file-system@16.0.5(expo@50.0.3):
- resolution: {integrity: sha512-JpKMbKfwTaMCbwUwq7MwcSbPR7r+IqZEL3RFam3ClPHDtKLnlEoywREeaDsWjSZb7dS25hG3WqXspfTuugCDvg==}
+ /expo-file-system@16.0.6(expo@50.0.7):
+ resolution: {integrity: sha512-ATCHL7nEg2WwKeamW/SDTR9jBEqM5wncFq594ftKS5QFmhKIrX48d9jyPFGnNq+6h8AGPg4QKh2KCA4OY49L4g==}
peerDependencies:
expo: '*'
dependencies:
- expo: 50.0.3(@babel/core@7.23.7)(@react-native/babel-preset@0.73.19)
+ expo: 50.0.7(@babel/core@7.23.7)(@react-native/babel-preset@0.73.21)
dev: false
- /expo-font@11.10.2(expo@50.0.3):
- resolution: {integrity: sha512-AE0Q0LiWiVosQ/jlKUPoWoob7p3GwYM2xmLoUkuopO9RYh9NL1hZKHiMKcWBZyDG8Gww1GtBQwh7ZREST8+jjQ==}
+ /expo-font@11.10.3(expo@50.0.7):
+ resolution: {integrity: sha512-q1Td2zUvmLbCA9GV4OG4nLPw5gJuNY1VrPycsnemN1m8XWTzzs8nyECQQqrcBhgulCgcKZZJJ6U0kC2iuSoQHQ==}
peerDependencies:
expo: '*'
dependencies:
- expo: 50.0.3(@babel/core@7.23.7)(@react-native/babel-preset@0.73.19)
+ expo: 50.0.7(@babel/core@7.23.7)(@react-native/babel-preset@0.73.21)
fontfaceobserver: 2.3.0
dev: false
- /expo-image@1.10.5(expo@50.0.3):
- resolution: {integrity: sha512-IiqSU9FxpoNeSFbtVLHdLq9MIHtAUYI1hcNGXoj3fpNpPEUdjN41mPftLQPIszfWWBxgrjUu4trIVXuf/Ijy+w==}
+ /expo-image@1.10.6(expo@50.0.7):
+ resolution: {integrity: sha512-vcnAIym1eU8vQgV1re1E7rVQZStJimBa4aPDhjFfzMzbddAF7heJuagyewiUkTzbZUwYzPaZAie6VJPyWx9Ueg==}
peerDependencies:
expo: '*'
dependencies:
'@react-native/assets-registry': 0.73.1
- expo: 50.0.3(@babel/core@7.23.7)(@react-native/babel-preset@0.73.19)
+ expo: 50.0.7(@babel/core@7.23.7)(@react-native/babel-preset@0.73.21)
dev: false
/expo-json-utils@0.12.3:
resolution: {integrity: sha512-4pypQdinpNc6XY9wsZk56njvzDh+B/9mISr7FPP3CVk1QGB1nSLh883/BCDSgnsephATZkC5HG+cdE60kCAR6A==}
dev: false
- /expo-keep-awake@12.8.2(expo@50.0.3):
+ /expo-keep-awake@12.8.2(expo@50.0.7):
resolution: {integrity: sha512-uiQdGbSX24Pt8nGbnmBtrKq6xL/Tm3+DuDRGBk/3ZE/HlizzNosGRIufIMJ/4B4FRw4dw8KU81h2RLuTjbay6g==}
peerDependencies:
expo: '*'
dependencies:
- expo: 50.0.3(@babel/core@7.23.7)(@react-native/babel-preset@0.73.19)
+ expo: 50.0.7(@babel/core@7.23.7)(@react-native/babel-preset@0.73.21)
dev: false
- /expo-linking@6.2.2(expo@50.0.3):
+ /expo-linking@6.2.2(expo@50.0.7):
resolution: {integrity: sha512-FEe6lP4f7xFT/vjoHRG+tt6EPVtkEGaWNK1smpaUevmNdyCJKqW0PDB8o8sfG6y7fly8ULe8qg3HhKh5J7aqUQ==}
dependencies:
- expo-constants: 15.4.5(expo@50.0.3)
+ expo-constants: 15.4.5(expo@50.0.7)
invariant: 2.2.4
transitivePeerDependencies:
- expo
- supports-color
dev: false
- /expo-localization@14.8.3(expo@50.0.3):
+ /expo-localization@14.8.3(expo@50.0.7):
resolution: {integrity: sha512-leg1e+7ocUgfNWa7Men/g16waXtdSpBMR9tCdv3CG4wztmFU8C+87VAnnVkvHi4CCUkTLzhP3y0FcE6KIWTwdw==}
peerDependencies:
expo: '*'
dependencies:
- expo: 50.0.3(@babel/core@7.23.7)(@react-native/babel-preset@0.73.19)
+ expo: 50.0.7(@babel/core@7.23.7)(@react-native/babel-preset@0.73.21)
rtl-detect: 1.1.2
dev: false
- /expo-manifests@0.13.2(expo@50.0.3):
+ /expo-manifests@0.13.2(expo@50.0.7):
resolution: {integrity: sha512-l0Sia1WmLULx8V41K8RzGLsFoTe4qqthPRGpHjItsYn8ZB6lRrdTBM9OYp2McIflgqN1HAimUCQMFIwJyH+UmA==}
peerDependencies:
expo: '*'
dependencies:
'@expo/config': 8.5.4
- expo: 50.0.3(@babel/core@7.23.7)(@react-native/babel-preset@0.73.19)
+ expo: 50.0.7(@babel/core@7.23.7)(@react-native/babel-preset@0.73.21)
expo-json-utils: 0.12.3
transitivePeerDependencies:
- supports-color
dev: false
- /expo-modules-autolinking@1.10.2:
- resolution: {integrity: sha512-OEeoz0+zGx5EJwGtDm9pSywCr+gUCaisZV0mNkK7V3fuRl+EVPBSsI+957JwAc4ZxVps95jy28eLcRRtQ33yVg==}
+ /expo-modules-autolinking@1.10.3:
+ resolution: {integrity: sha512-pn4n2Dl4iRh/zUeiChjRIe1C7EqOw1qhccr85viQV7W6l5vgRpY0osE51ij5LKg/kJmGRcJfs12+PwbdTplbKw==}
hasBin: true
dependencies:
'@expo/config': 8.5.4
@@ -6758,14 +6707,14 @@ packages:
- supports-color
dev: false
- /expo-modules-core@1.11.8:
- resolution: {integrity: sha512-rlctE3nCNLCGv3LosGQNaTuwGrr2SyQA+hOgci/0l+VRc0gFNtvl0gskph9C0tnN1jzBeb8rRZQYVj5ih1yxcA==}
+ /expo-modules-core@1.11.9:
+ resolution: {integrity: sha512-GTUb81vcPaF+5MtlBI1u9IjrZbGdF1ZUwz3u8Gc+rOLBblkZ7pYsj2mU/tu+k0khTckI9vcH4ZBksXWvE1ncjQ==}
dependencies:
invariant: 2.2.4
dev: false
- /expo-router@3.4.5(@testing-library/jest-native@5.4.3)(expo-constants@15.4.5)(expo-linking@6.2.2)(expo-modules-autolinking@1.10.2)(expo-status-bar@1.11.1)(expo@50.0.3)(react-dom@18.2.0)(react-native-reanimated@3.6.1)(react-native-safe-area-context@4.8.2)(react-native-screens@3.29.0)(react-native@0.73.2)(react@18.2.0):
- resolution: {integrity: sha512-7wemslk5gsl7GUtqfHM/ZlBHJuY24ob6T5bNhx9+EhRka+Oupf1ocoDenSGa+T9sY4DkPNXkY+DvZuVMrtGOBg==}
+ /expo-router@3.4.7(@testing-library/jest-native@5.4.3)(expo-constants@15.4.5)(expo-linking@6.2.2)(expo-modules-autolinking@1.10.3)(expo-status-bar@1.11.1)(expo@50.0.7)(react-dom@18.2.0)(react-native-reanimated@3.6.2)(react-native-safe-area-context@4.8.2)(react-native-screens@3.29.0)(react-native@0.73.4)(react@18.2.0):
+ resolution: {integrity: sha512-B1VLols+ErUqWtRHi9j/sQhxxwlsM7AJN+jEkvrPIfvhG7qpb1Usq13893ORcHvz/UhSHeEc9nKh7qx9hS6urw==}
peerDependencies:
'@react-navigation/drawer': ^6.5.8
'@testing-library/jest-native': '*'
@@ -6784,22 +6733,22 @@ packages:
react-native-reanimated:
optional: true
dependencies:
- '@expo/metro-runtime': 3.1.2(react-native@0.73.2)
+ '@expo/metro-runtime': 3.1.3(react-native@0.73.4)
'@expo/server': 0.3.0
'@radix-ui/react-slot': 1.0.1(react@18.2.0)
- '@react-navigation/bottom-tabs': 6.5.11(@react-navigation/native@6.1.9)(react-native-safe-area-context@4.8.2)(react-native-screens@3.29.0)(react-native@0.73.2)(react@18.2.0)
- '@react-navigation/native': 6.1.9(react-native@0.73.2)(react@18.2.0)
- '@react-navigation/native-stack': 6.9.17(@react-navigation/native@6.1.9)(react-native-safe-area-context@4.8.2)(react-native-screens@3.29.0)(react-native@0.73.2)(react@18.2.0)
- '@testing-library/jest-native': 5.4.3(react-native@0.73.2)(react-test-renderer@18.2.0)(react@18.2.0)
- expo: 50.0.3(@babel/core@7.23.7)(@react-native/babel-preset@0.73.19)
- expo-constants: 15.4.5(expo@50.0.3)
- expo-linking: 6.2.2(expo@50.0.3)
- expo-splash-screen: 0.26.3(expo-modules-autolinking@1.10.2)(expo@50.0.3)
+ '@react-navigation/bottom-tabs': 6.5.11(@react-navigation/native@6.1.9)(react-native-safe-area-context@4.8.2)(react-native-screens@3.29.0)(react-native@0.73.4)(react@18.2.0)
+ '@react-navigation/native': 6.1.9(react-native@0.73.4)(react@18.2.0)
+ '@react-navigation/native-stack': 6.9.17(@react-navigation/native@6.1.9)(react-native-safe-area-context@4.8.2)(react-native-screens@3.29.0)(react-native@0.73.4)(react@18.2.0)
+ '@testing-library/jest-native': 5.4.3(react-native@0.73.4)(react-test-renderer@18.2.0)(react@18.2.0)
+ expo: 50.0.7(@babel/core@7.23.7)(@react-native/babel-preset@0.73.21)
+ expo-constants: 15.4.5(expo@50.0.7)
+ expo-linking: 6.2.2(expo@50.0.7)
+ expo-splash-screen: 0.26.4(expo-modules-autolinking@1.10.3)(expo@50.0.7)
expo-status-bar: 1.11.1
react-helmet-async: 1.3.0(react-dom@18.2.0)(react@18.2.0)
- react-native-reanimated: 3.6.1(@babel/core@7.23.7)(@babel/plugin-proposal-nullish-coalescing-operator@7.18.6)(@babel/plugin-proposal-optional-chaining@7.21.0)(@babel/plugin-transform-arrow-functions@7.23.3)(@babel/plugin-transform-shorthand-properties@7.23.3)(@babel/plugin-transform-template-literals@7.23.3)(react-native@0.73.2)(react@18.2.0)
- react-native-safe-area-context: 4.8.2(react-native@0.73.2)(react@18.2.0)
- react-native-screens: 3.29.0(react-native@0.73.2)(react@18.2.0)
+ react-native-reanimated: 3.6.2(@babel/core@7.23.7)(@babel/plugin-proposal-nullish-coalescing-operator@7.18.6)(@babel/plugin-proposal-optional-chaining@7.21.0)(@babel/plugin-transform-arrow-functions@7.23.3)(@babel/plugin-transform-shorthand-properties@7.23.3)(@babel/plugin-transform-template-literals@7.23.3)(react-native@0.73.4)(react@18.2.0)
+ react-native-safe-area-context: 4.8.2(react-native@0.73.4)(react@18.2.0)
+ react-native-screens: 3.29.0(react-native@0.73.4)(react@18.2.0)
schema-utils: 4.2.0
transitivePeerDependencies:
- encoding
@@ -6810,26 +6759,13 @@ packages:
- supports-color
dev: false
- /expo-splash-screen@0.26.3(expo-modules-autolinking@1.10.2)(expo@50.0.3):
- resolution: {integrity: sha512-zV+2J/stwdirINrcs/d0BTVjKGUoZyN2j5vTp4H4dwWWU/gA0yAkzzh5eGHySg+yTqMSr7sPJkiyZh2Hek2vBQ==}
- peerDependencies:
- expo: '*'
- dependencies:
- '@expo/prebuild-config': 6.7.3(expo-modules-autolinking@1.10.2)
- expo: 50.0.3(@babel/core@7.23.7)(@react-native/babel-preset@0.73.19)
- transitivePeerDependencies:
- - encoding
- - expo-modules-autolinking
- - supports-color
- dev: false
-
- /expo-splash-screen@0.26.4(expo-modules-autolinking@1.10.2)(expo@50.0.3):
+ /expo-splash-screen@0.26.4(expo-modules-autolinking@1.10.3)(expo@50.0.7):
resolution: {integrity: sha512-2DwofTQ0FFQCsvDysm/msENsbyNsJiAJwK3qK/oXeizECAPqD7bK19J4z9kuEbr7ORPX9MLnTQYKl6kmX3keUg==}
peerDependencies:
expo: '*'
dependencies:
- '@expo/prebuild-config': 6.7.4(expo-modules-autolinking@1.10.2)
- expo: 50.0.3(@babel/core@7.23.7)(@react-native/babel-preset@0.73.19)
+ '@expo/prebuild-config': 6.7.4(expo-modules-autolinking@1.10.3)
+ expo: 50.0.7(@babel/core@7.23.7)(@react-native/babel-preset@0.73.21)
transitivePeerDependencies:
- encoding
- expo-modules-autolinking
@@ -6840,43 +6776,43 @@ packages:
resolution: {integrity: sha512-ddQEtCOgYHTLlFUe/yH67dDBIoct5VIULthyT3LRJbEwdpzAgueKsX2FYK02ldh440V87PWKCamh7R9evk1rrg==}
dev: false
- /expo-system-ui@2.9.3(expo@50.0.3):
+ /expo-system-ui@2.9.3(expo@50.0.7):
resolution: {integrity: sha512-RNFNBLJ9lhnjOGrHhtfDc15Ry/lF+SA4kwulmHzYGqaTeYvsL9q0K0+m9qmxuDdrbKJkuurvzvjVylDNnKNFVg==}
peerDependencies:
expo: '*'
dependencies:
'@react-native/normalize-color': 2.1.0
debug: 4.3.4
- expo: 50.0.3(@babel/core@7.23.7)(@react-native/babel-preset@0.73.19)
+ expo: 50.0.7(@babel/core@7.23.7)(@react-native/babel-preset@0.73.21)
transitivePeerDependencies:
- supports-color
dev: false
- /expo-updates-interface@0.15.3(expo@50.0.3):
+ /expo-updates-interface@0.15.3(expo@50.0.7):
resolution: {integrity: sha512-uLvsbaCmUsXgJqeen8rYH/jPr874ZUCXEvWpKHxrCv5/XATPlYEaDuecbNSGQ+cu78i6MdtB4BHOwZmoH2d47A==}
peerDependencies:
expo: '*'
dependencies:
- expo: 50.0.3(@babel/core@7.23.7)(@react-native/babel-preset@0.73.19)
+ expo: 50.0.7(@babel/core@7.23.7)(@react-native/babel-preset@0.73.21)
dev: false
- /expo@50.0.3(@babel/core@7.23.7)(@react-native/babel-preset@0.73.19):
- resolution: {integrity: sha512-3Yk42YShkugC90S24Dbo0mhrq/N3Kfn30FscrjCk3o8ldXh9OdE5RhVi/mc5Cqp28nw5a4DfiGSDFs0mA0t2ng==}
+ /expo@50.0.7(@babel/core@7.23.7)(@react-native/babel-preset@0.73.21):
+ resolution: {integrity: sha512-lTqIrKOUTKHLdTuAaJzZihi1v7F8Ix1dOXVWMpToDy9zPC/s+fet0fbyXdFUxYsCUyuEDIB9tvejrTYZk8Hm0Q==}
hasBin: true
dependencies:
'@babel/runtime': 7.23.8
- '@expo/cli': 0.17.2(@react-native/babel-preset@0.73.19)(expo-modules-autolinking@1.10.2)
+ '@expo/cli': 0.17.5(@react-native/babel-preset@0.73.21)(expo-modules-autolinking@1.10.3)
'@expo/config': 8.5.4
'@expo/config-plugins': 7.8.4
- '@expo/metro-config': 0.17.3(@react-native/babel-preset@0.73.19)
+ '@expo/metro-config': 0.17.4(@react-native/babel-preset@0.73.21)
'@expo/vector-icons': 14.0.0
babel-preset-expo: 10.0.1(@babel/core@7.23.7)
- expo-asset: 9.0.2(expo@50.0.3)
- expo-file-system: 16.0.5(expo@50.0.3)
- expo-font: 11.10.2(expo@50.0.3)
- expo-keep-awake: 12.8.2(expo@50.0.3)
- expo-modules-autolinking: 1.10.2
- expo-modules-core: 1.11.8
+ expo-asset: 9.0.2(expo@50.0.7)
+ expo-file-system: 16.0.6(expo@50.0.7)
+ expo-font: 11.10.3(expo@50.0.7)
+ expo-keep-awake: 12.8.2(expo@50.0.7)
+ expo-modules-autolinking: 1.10.3
+ expo-modules-core: 1.11.9
fbemitter: 3.0.0
whatwg-url-without-unicode: 8.0.0-3
transitivePeerDependencies:
@@ -6889,10 +6825,6 @@ packages:
- utf-8-validate
dev: false
- /extend@3.0.2:
- resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
- dev: false
-
/external-editor@3.1.0:
resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==}
engines: {node: '>=4'}
@@ -8556,8 +8488,8 @@ packages:
jest-mock: 29.7.0
jest-util: 29.7.0
- /jest-expo@50.0.1(@babel/core@7.23.7)(jest@29.7.0)(react@18.2.0):
- resolution: {integrity: sha512-osvA63UDLJ/v7MG9UHjU7WJ0oZ0Krq9UhXxm2s6rdOlnt85ARocyMU57RC0T0yzPN47C9Ref45sEeOIxoV4Mzg==}
+ /jest-expo@50.0.2(@babel/core@7.23.7)(jest@29.7.0)(react@18.2.0):
+ resolution: {integrity: sha512-g9Vq4Cpndp6M+bWGNJfyxw+iiZm7o1XpaOEHgtyC1evdy4B9IsEWql1Y2xBH7uD79FwSKhaIz+xCQHZNhnSlAg==}
hasBin: true
dependencies:
'@expo/config': 8.5.4
@@ -9148,6 +9080,15 @@ packages:
dev: false
optional: true
+ /lightningcss-darwin-arm64@1.22.0:
+ resolution: {integrity: sha512-aH2be3nNny+It5YEVm8tBSSdRlBVWQV8m2oJ7dESiYRzyY/E/bQUe2xlw5caaMuhlM9aoTMtOH25yzMhir0qPg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: false
+ optional: true
+
/lightningcss-darwin-x64@1.19.0:
resolution: {integrity: sha512-Lif1wD6P4poaw9c/4Uh2z+gmrWhw/HtXFoeZ3bEsv6Ia4tt8rOJBdkfVaUJ6VXmpKHALve+iTyP2+50xY1wKPw==}
engines: {node: '>= 12.0.0'}
@@ -9157,6 +9098,24 @@ packages:
dev: false
optional: true
+ /lightningcss-darwin-x64@1.22.0:
+ resolution: {integrity: sha512-9KHRFA0Y6mNxRHeoQMp0YaI0R0O2kOgUlYPRjuasU4d+pI8NRhVn9bt0yX9VPs5ibWX1RbDViSPtGJvYYrfVAQ==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /lightningcss-freebsd-x64@1.22.0:
+ resolution: {integrity: sha512-xaYL3xperGwD85rQioDb52ozF3NAJb+9wrge3jD9lxGffplu0Mn35rXMptB8Uc2N9Mw1i3Bvl7+z1evlqVl7ww==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: false
+ optional: true
+
/lightningcss-linux-arm-gnueabihf@1.19.0:
resolution: {integrity: sha512-P15VXY5682mTXaiDtbnLYQflc8BYb774j2R84FgDLJTN6Qp0ZjWEFyN1SPqyfTj2B2TFjRHRUvQSSZ7qN4Weig==}
engines: {node: '>= 12.0.0'}
@@ -9166,6 +9125,15 @@ packages:
dev: false
optional: true
+ /lightningcss-linux-arm-gnueabihf@1.22.0:
+ resolution: {integrity: sha512-epQGvXIjOuxrZpMpMnRjK54ZqzhiHhCPLtHvw2fb6NeK2kK9YtF0wqmeTBiQ1AkbWfnnXGTstYaFNiadNK+StQ==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
/lightningcss-linux-arm64-gnu@1.19.0:
resolution: {integrity: sha512-zwXRjWqpev8wqO0sv0M1aM1PpjHz6RVIsBcxKszIG83Befuh4yNysjgHVplF9RTU7eozGe3Ts7r6we1+Qkqsww==}
engines: {node: '>= 12.0.0'}
@@ -9175,6 +9143,15 @@ packages:
dev: false
optional: true
+ /lightningcss-linux-arm64-gnu@1.22.0:
+ resolution: {integrity: sha512-AArGtKSY4DGTA8xP8SDyNyKtpsUl1Rzq6FW4JomeyUQ4nBrR71uPChksTpj3gmWuGhZeRKLeCUI1DBid/zhChg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
/lightningcss-linux-arm64-musl@1.19.0:
resolution: {integrity: sha512-vSCKO7SDnZaFN9zEloKSZM5/kC5gbzUjoJQ43BvUpyTFUX7ACs/mDfl2Eq6fdz2+uWhUh7vf92c4EaaP4udEtA==}
engines: {node: '>= 12.0.0'}
@@ -9184,6 +9161,15 @@ packages:
dev: false
optional: true
+ /lightningcss-linux-arm64-musl@1.22.0:
+ resolution: {integrity: sha512-RRraNgP8hnBPhInTTUdlFm+z16C/ghbxBG51Sw00hd7HUyKmEUKRozyc5od+/N6pOrX/bIh5vIbtMXIxsos0lg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
/lightningcss-linux-x64-gnu@1.19.0:
resolution: {integrity: sha512-0AFQKvVzXf9byrXUq9z0anMGLdZJS+XSDqidyijI5njIwj6MdbvX2UZK/c4FfNmeRa2N/8ngTffoIuOUit5eIQ==}
engines: {node: '>= 12.0.0'}
@@ -9193,6 +9179,15 @@ packages:
dev: false
optional: true
+ /lightningcss-linux-x64-gnu@1.22.0:
+ resolution: {integrity: sha512-grdrhYGRi2KrR+bsXJVI0myRADqyA7ekprGxiuK5QRNkv7kj3Yq1fERDNyzZvjisHwKUi29sYMClscbtl+/Zpw==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
/lightningcss-linux-x64-musl@1.19.0:
resolution: {integrity: sha512-SJoM8CLPt6ECCgSuWe+g0qo8dqQYVcPiW2s19dxkmSI5+Uu1GIRzyKA0b7QqmEXolA+oSJhQqCmJpzjY4CuZAg==}
engines: {node: '>= 12.0.0'}
@@ -9202,6 +9197,15 @@ packages:
dev: false
optional: true
+ /lightningcss-linux-x64-musl@1.22.0:
+ resolution: {integrity: sha512-t5f90X+iQUtIyR56oXIHMBUyQFX/zwmPt72E6Dane3P8KNGlkijTg2I75XVQS860gNoEFzV7Mm5ArRRA7u5CAQ==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
/lightningcss-win32-x64-msvc@1.19.0:
resolution: {integrity: sha512-C+VuUTeSUOAaBZZOPT7Etn/agx/MatzJzGRkeV+zEABmPuntv1zihncsi+AyGmjkkzq3wVedEy7h0/4S84mUtg==}
engines: {node: '>= 12.0.0'}
@@ -9211,6 +9215,15 @@ packages:
dev: false
optional: true
+ /lightningcss-win32-x64-msvc@1.22.0:
+ resolution: {integrity: sha512-64HTDtOOZE9PUCZJiZZQpyqXBbdby1lnztBccnqh+NtbKxjnGzP92R2ngcgeuqMPecMNqNWxgoWgTGpC+yN5Sw==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: false
+ optional: true
+
/lightningcss@1.19.0:
resolution: {integrity: sha512-yV5UR7og+Og7lQC+70DA7a8ta1uiOPnWPJfxa0wnxylev5qfo4P+4iMpzWAdYWOca4jdNQZii+bDL/l+4hUXIA==}
engines: {node: '>= 12.0.0'}
@@ -9227,6 +9240,23 @@ packages:
lightningcss-win32-x64-msvc: 1.19.0
dev: false
+ /lightningcss@1.22.0:
+ resolution: {integrity: sha512-+z0qvwRVzs4XGRXelnWRNwqsXUx8k3bSkbP8vD42kYKSk3z9OM2P3e/gagT7ei/gwh8DTS80LZOFZV6lm8Z8Fg==}
+ engines: {node: '>= 12.0.0'}
+ dependencies:
+ detect-libc: 1.0.3
+ optionalDependencies:
+ lightningcss-darwin-arm64: 1.22.0
+ lightningcss-darwin-x64: 1.22.0
+ lightningcss-freebsd-x64: 1.22.0
+ lightningcss-linux-arm-gnueabihf: 1.22.0
+ lightningcss-linux-arm64-gnu: 1.22.0
+ lightningcss-linux-arm64-musl: 1.22.0
+ lightningcss-linux-x64-gnu: 1.22.0
+ lightningcss-linux-x64-musl: 1.22.0
+ lightningcss-win32-x64-msvc: 1.22.0
+ dev: false
+
/lilconfig@2.1.0:
resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
engines: {node: '>=10'}
@@ -9403,7 +9433,6 @@ packages:
/lodash.mergewith@4.6.2:
resolution: {integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==}
- dev: true
/lodash.set@4.3.2:
resolution: {integrity: sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg==}
@@ -10040,28 +10069,22 @@ packages:
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
- /nativewind@2.0.11(react@18.2.0)(tailwindcss@3.3.2):
- resolution: {integrity: sha512-qCEXUwKW21RYJ33KRAJl3zXq2bCq82WoI564fI21D/TiqhfmstZOqPN53RF8qK1NDK6PGl56b2xaTxgObEePEg==}
- engines: {node: '>=14.18'}
+ /nativewind@4.0.23(@babel/core@7.23.7)(react-native-reanimated@3.6.2)(react-native-safe-area-context@4.8.2)(react-native-svg@14.1.0)(react-native@0.73.4)(react@18.2.0)(tailwindcss@3.3.2):
+ resolution: {integrity: sha512-7eKMjcdoZMqxmPwJhLwe5VbuwCNTdIXChxV9n4FwdzKTpZX3kNGj95J7fpqpefFPRT6yYp6SqK2n6TG/BSzA+w==}
+ engines: {node: '>=16'}
peerDependencies:
- tailwindcss: ~3
+ tailwindcss: '>3.3.0'
dependencies:
- '@babel/generator': 7.23.6
- '@babel/helper-module-imports': 7.18.6
- '@babel/types': 7.19.0
- css-mediaquery: 0.1.2
- css-to-react-native: 3.2.0
- micromatch: 4.0.5
- postcss: 8.4.33
- postcss-calc: 8.2.4(postcss@8.4.33)
- postcss-color-functional-notation: 4.2.4(postcss@8.4.33)
- postcss-css-variables: 0.18.0(postcss@8.4.33)
- postcss-nested: 5.0.6(postcss@8.4.33)
- react-is: 18.2.0
+ react-native-css-interop: 0.0.22(@babel/core@7.23.7)(react-native-reanimated@3.6.2)(react-native-safe-area-context@4.8.2)(react-native-svg@14.1.0)(react-native@0.73.4)(react@18.2.0)(tailwindcss@3.3.2)
tailwindcss: 3.3.2(ts-node@10.9.2)
- use-sync-external-store: 1.2.0(react@18.2.0)
transitivePeerDependencies:
+ - '@babel/core'
- react
+ - react-native
+ - react-native-reanimated
+ - react-native-safe-area-context
+ - react-native-svg
+ - supports-color
dev: false
/natural-compare-lite@1.4.0:
@@ -10822,37 +10845,6 @@ packages:
engines: {node: '>=12.13.0'}
dev: false
- /postcss-calc@8.2.4(postcss@8.4.33):
- resolution: {integrity: sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==}
- peerDependencies:
- postcss: ^8.2.2
- dependencies:
- postcss: 8.4.33
- postcss-selector-parser: 6.0.15
- postcss-value-parser: 4.2.0
- dev: false
-
- /postcss-color-functional-notation@4.2.4(postcss@8.4.33):
- resolution: {integrity: sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==}
- engines: {node: ^12 || ^14 || >=16}
- peerDependencies:
- postcss: ^8.2
- dependencies:
- postcss: 8.4.33
- postcss-value-parser: 4.2.0
- dev: false
-
- /postcss-css-variables@0.18.0(postcss@8.4.33):
- resolution: {integrity: sha512-lYS802gHbzn1GI+lXvy9MYIYDuGnl1WB4FTKoqMQqJ3Mab09A7a/1wZvGTkCEZJTM8mSbIyb1mJYn8f0aPye0Q==}
- peerDependencies:
- postcss: ^8.2.6
- dependencies:
- balanced-match: 1.0.2
- escape-string-regexp: 1.0.5
- extend: 3.0.2
- postcss: 8.4.33
- dev: false
-
/postcss-import@15.1.0(postcss@8.4.33):
resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
engines: {node: '>=14.0.0'}
@@ -10890,16 +10882,6 @@ packages:
ts-node: 10.9.2(@types/node@20.5.1)(typescript@5.3.3)
yaml: 2.3.4
- /postcss-nested@5.0.6(postcss@8.4.33):
- resolution: {integrity: sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==}
- engines: {node: '>=12.0'}
- peerDependencies:
- postcss: ^8.2.14
- dependencies:
- postcss: 8.4.33
- postcss-selector-parser: 6.0.15
- dev: false
-
/postcss-nested@6.0.1(postcss@8.4.33):
resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==}
engines: {node: '>=12.0'}
@@ -10948,7 +10930,6 @@ packages:
resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==}
engines: {node: '>=10.13.0'}
hasBin: true
- dev: true
/pretty-bytes@5.6.0:
resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==}
@@ -11166,7 +11147,7 @@ packages:
react: 18.2.0
dev: false
- /react-i18next@12.3.1(i18next@22.5.1)(react-dom@18.2.0)(react-native@0.73.2)(react@18.2.0):
+ /react-i18next@12.3.1(i18next@22.5.1)(react-dom@18.2.0)(react-native@0.73.4)(react@18.2.0):
resolution: {integrity: sha512-5v8E2XjZDFzK7K87eSwC7AJcAkcLt5xYZ4+yTPDAW1i7C93oOY1dnr4BaQM7un4Hm+GmghuiPvevWwlca5PwDA==}
peerDependencies:
i18next: '>= 19.0.0'
@@ -11184,7 +11165,7 @@ packages:
i18next: 22.5.1
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
- react-native: 0.73.2(@babel/core@7.23.7)(@babel/preset-env@7.23.8)(react@18.2.0)
+ react-native: 0.73.4(@babel/core@7.23.7)(@babel/preset-env@7.23.8)(react@18.2.0)
dev: false
/react-is@16.13.1:
@@ -11196,17 +11177,49 @@ packages:
/react-is@18.2.0:
resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==}
- /react-native-avoid-softinput@4.0.2(react-native@0.73.2)(react@18.2.0):
+ /react-native-avoid-softinput@4.0.2(react-native@0.73.4)(react@18.2.0):
resolution: {integrity: sha512-/i8xNWGjpu3hEPCVjW2WsWTsM/mC4zTBr3DabOrdPfgw9Ww0Na69YQY1TSXCjbTjJmWwfTToPK5OEVm+ZwHmiQ==}
peerDependencies:
react: '>=17.0.0'
react-native: '>=0.65.0'
dependencies:
react: 18.2.0
- react-native: 0.73.2(@babel/core@7.23.7)(@babel/preset-env@7.23.8)(react@18.2.0)
+ react-native: 0.73.4(@babel/core@7.23.7)(@babel/preset-env@7.23.8)(react@18.2.0)
dev: false
- /react-native-flash-message@0.4.2(prop-types@15.8.1)(react-native@0.73.2)(react@18.2.0):
+ /react-native-css-interop@0.0.22(@babel/core@7.23.7)(react-native-reanimated@3.6.2)(react-native-safe-area-context@4.8.2)(react-native-svg@14.1.0)(react-native@0.73.4)(react@18.2.0)(tailwindcss@3.3.2):
+ resolution: {integrity: sha512-JHLYHlLEqM13dy0XSxIPOWvqmQkPrqUt+KHPkbLV0sIiw/4aN6B5TPsNKZFX9bJJaZ//dAECn782R0MqDrTBWQ==}
+ engines: {node: '>=16'}
+ peerDependencies:
+ react: '>=18'
+ react-native: '*'
+ react-native-reanimated: '>=3.3.0'
+ react-native-safe-area-context: '*'
+ react-native-svg: '*'
+ tailwindcss: ~3
+ peerDependenciesMeta:
+ react-native-safe-area-context:
+ optional: true
+ react-native-svg:
+ optional: true
+ dependencies:
+ '@babel/helper-module-imports': 7.22.15
+ '@babel/traverse': 7.23.7
+ '@babel/types': 7.23.6
+ babel-plugin-tester: 11.0.4(@babel/core@7.23.7)
+ lightningcss: 1.22.0
+ react: 18.2.0
+ react-native: 0.73.4(@babel/core@7.23.7)(@babel/preset-env@7.23.8)(react@18.2.0)
+ react-native-reanimated: 3.6.2(@babel/core@7.23.7)(@babel/plugin-proposal-nullish-coalescing-operator@7.18.6)(@babel/plugin-proposal-optional-chaining@7.21.0)(@babel/plugin-transform-arrow-functions@7.23.3)(@babel/plugin-transform-shorthand-properties@7.23.3)(@babel/plugin-transform-template-literals@7.23.3)(react-native@0.73.4)(react@18.2.0)
+ react-native-safe-area-context: 4.8.2(react-native@0.73.4)(react@18.2.0)
+ react-native-svg: 14.1.0(react-native@0.73.4)(react@18.2.0)
+ tailwindcss: 3.3.2(ts-node@10.9.2)
+ transitivePeerDependencies:
+ - '@babel/core'
+ - supports-color
+ dev: false
+
+ /react-native-flash-message@0.4.2(prop-types@15.8.1)(react-native@0.73.4)(react@18.2.0):
resolution: {integrity: sha512-YvdXRW9AGMTI99S3DJZhLO0mbk/ehKv/UQf4/Df+3dtGi8DlkidRbyqCQZk1WMtZ7rN85PMTGr/xEI9CF9z0YA==}
peerDependencies:
prop-types: ^15.0 || ^16.0
@@ -11215,11 +11228,11 @@ packages:
dependencies:
prop-types: 15.8.1
react: 18.2.0
- react-native: 0.73.2(@babel/core@7.23.7)(@babel/preset-env@7.23.8)(react@18.2.0)
- react-native-iphone-screen-helper: 2.1.1(react-native@0.73.2)
+ react-native: 0.73.4(@babel/core@7.23.7)(@babel/preset-env@7.23.8)(react@18.2.0)
+ react-native-iphone-screen-helper: 2.1.1(react-native@0.73.4)
dev: false
- /react-native-gesture-handler@2.14.1(react-native@0.73.2)(react@18.2.0):
+ /react-native-gesture-handler@2.14.1(react-native@0.73.4)(react@18.2.0):
resolution: {integrity: sha512-YiM1BApV4aKeuwsM6O4C2ufwewYEKk6VMXOt0YqEZFMwABBFWhXLySFZYjBSNRU2USGppJbfHP1q1DfFQpKhdA==}
peerDependencies:
react: '*'
@@ -11231,29 +11244,29 @@ packages:
lodash: 4.17.21
prop-types: 15.8.1
react: 18.2.0
- react-native: 0.73.2(@babel/core@7.23.7)(@babel/preset-env@7.23.8)(react@18.2.0)
+ react-native: 0.73.4(@babel/core@7.23.7)(@babel/preset-env@7.23.8)(react@18.2.0)
dev: false
- /react-native-iphone-screen-helper@2.1.1(react-native@0.73.2):
+ /react-native-iphone-screen-helper@2.1.1(react-native@0.73.4):
resolution: {integrity: sha512-geuw/bli83+tOg8UpoioLk1H1aEy0wnMDusWkCazsyH6fSk6qzmgaZ2cRyyJRU8s2tG87HctZFKGTkyYzcUcfA==}
peerDependencies:
react-native: '>=0.42.0'
dependencies:
- react-native: 0.73.2(@babel/core@7.23.7)(@babel/preset-env@7.23.8)(react@18.2.0)
+ react-native: 0.73.4(@babel/core@7.23.7)(@babel/preset-env@7.23.8)(react@18.2.0)
dev: false
- /react-native-mmkv@2.6.3(react-native@0.73.2)(react@18.2.0):
+ /react-native-mmkv@2.6.3(react-native@0.73.4)(react@18.2.0):
resolution: {integrity: sha512-CkLAU5EX18eDw0Q+h6qEXPvynb+NVDu54cOY3h4h9VUhaaflfAmGWBJRQCBQz5M0VdnS8utjgJNryTAWKUTqpw==}
peerDependencies:
react: '*'
react-native: '>=0.71.0'
dependencies:
react: 18.2.0
- react-native: 0.73.2(@babel/core@7.23.7)(@babel/preset-env@7.23.8)(react@18.2.0)
+ react-native: 0.73.4(@babel/core@7.23.7)(@babel/preset-env@7.23.8)(react@18.2.0)
dev: false
- /react-native-reanimated@3.6.1(@babel/core@7.23.7)(@babel/plugin-proposal-nullish-coalescing-operator@7.18.6)(@babel/plugin-proposal-optional-chaining@7.21.0)(@babel/plugin-transform-arrow-functions@7.23.3)(@babel/plugin-transform-shorthand-properties@7.23.3)(@babel/plugin-transform-template-literals@7.23.3)(react-native@0.73.2)(react@18.2.0):
- resolution: {integrity: sha512-F4vG9Yf9PKmE3GaWtVGUpzj3SM6YY2cx1yRHCwiMd1uY7W0gU017LfcVUorboJnj0y5QZqEriEK1Usq2Y8YZqg==}
+ /react-native-reanimated@3.6.2(@babel/core@7.23.7)(@babel/plugin-proposal-nullish-coalescing-operator@7.18.6)(@babel/plugin-proposal-optional-chaining@7.21.0)(@babel/plugin-transform-arrow-functions@7.23.3)(@babel/plugin-transform-shorthand-properties@7.23.3)(@babel/plugin-transform-template-literals@7.23.3)(react-native@0.73.4)(react@18.2.0):
+ resolution: {integrity: sha512-IIMREMOrxhtK35drfpzh2UhxNqAOHnuvGgtMofj7yHcMj16tmWZR2zFvMUf6z2MfmXv+aVgFQ6TRZ6yKYf7LNA==}
peerDependencies:
'@babel/core': ^7.0.0-0
'@babel/plugin-proposal-nullish-coalescing-operator': ^7.0.0-0
@@ -11275,30 +11288,30 @@ packages:
convert-source-map: 2.0.0
invariant: 2.2.4
react: 18.2.0
- react-native: 0.73.2(@babel/core@7.23.7)(@babel/preset-env@7.23.8)(react@18.2.0)
+ react-native: 0.73.4(@babel/core@7.23.7)(@babel/preset-env@7.23.8)(react@18.2.0)
dev: false
- /react-native-restart@0.0.27(react-native@0.73.2)(react@18.2.0):
+ /react-native-restart@0.0.27(react-native@0.73.4)(react@18.2.0):
resolution: {integrity: sha512-8KScVICrXwcTSJ1rjWkqVTHyEKQIttm5AIMGSK1QG1+RS5owYlE4z/1DykOTdWfVl9l16FIk0w9Xzk9ZO6jxlA==}
peerDependencies:
react: '*'
react-native: '*'
dependencies:
react: 18.2.0
- react-native: 0.73.2(@babel/core@7.23.7)(@babel/preset-env@7.23.8)(react@18.2.0)
+ react-native: 0.73.4(@babel/core@7.23.7)(@babel/preset-env@7.23.8)(react@18.2.0)
dev: false
- /react-native-safe-area-context@4.8.2(react-native@0.73.2)(react@18.2.0):
+ /react-native-safe-area-context@4.8.2(react-native@0.73.4)(react@18.2.0):
resolution: {integrity: sha512-ffUOv8BJQ6RqO3nLml5gxJ6ab3EestPiyWekxdzO/1MQ7NF8fW1Mzh1C5QE9yq573Xefnc7FuzGXjtesZGv7cQ==}
peerDependencies:
react: '*'
react-native: '*'
dependencies:
react: 18.2.0
- react-native: 0.73.2(@babel/core@7.23.7)(@babel/preset-env@7.23.8)(react@18.2.0)
+ react-native: 0.73.4(@babel/core@7.23.7)(@babel/preset-env@7.23.8)(react@18.2.0)
dev: false
- /react-native-screens@3.29.0(react-native@0.73.2)(react@18.2.0):
+ /react-native-screens@3.29.0(react-native@0.73.4)(react@18.2.0):
resolution: {integrity: sha512-yB1GoAMamFAcYf4ku94uBPn0/ani9QG7NdI98beJ5cet2YFESYYzuEIuU+kt+CNRcO8qqKeugxlfgAa3HyTqlg==}
peerDependencies:
react: '*'
@@ -11306,11 +11319,11 @@ packages:
dependencies:
react: 18.2.0
react-freeze: 1.0.3(react@18.2.0)
- react-native: 0.73.2(@babel/core@7.23.7)(@babel/preset-env@7.23.8)(react@18.2.0)
+ react-native: 0.73.4(@babel/core@7.23.7)(@babel/preset-env@7.23.8)(react@18.2.0)
warn-once: 0.1.1
dev: false
- /react-native-svg@14.1.0(react-native@0.73.2)(react@18.2.0):
+ /react-native-svg@14.1.0(react-native@0.73.4)(react@18.2.0):
resolution: {integrity: sha512-HeseElmEk+AXGwFZl3h56s0LtYD9HyGdrpg8yd9QM26X+d7kjETrRQ9vCjtxuT5dCZEIQ5uggU1dQhzasnsCWA==}
peerDependencies:
react: '*'
@@ -11319,7 +11332,7 @@ packages:
css-select: 5.1.0
css-tree: 1.1.3
react: 18.2.0
- react-native: 0.73.2(@babel/core@7.23.7)(@babel/preset-env@7.23.8)(react@18.2.0)
+ react-native: 0.73.4(@babel/core@7.23.7)(@babel/preset-env@7.23.8)(react@18.2.0)
dev: false
/react-native-web@0.19.10(react-dom@18.2.0)(react@18.2.0):
@@ -11342,28 +11355,29 @@ packages:
- encoding
dev: false
- /react-native@0.73.2(@babel/core@7.23.7)(@babel/preset-env@7.23.8)(react@18.2.0):
- resolution: {integrity: sha512-7zj9tcUYpJUBdOdXY6cM8RcXYWkyql4kMyGZflW99E5EuFPoC7Ti+ZQSl7LP9ZPzGD0vMfslwyDW0I4tPWUCFw==}
+ /react-native@0.73.4(@babel/core@7.23.7)(@babel/preset-env@7.23.8)(react@18.2.0):
+ resolution: {integrity: sha512-VtS+Yr6OOTIuJGDECIYWzNU8QpJjASQYvMtfa/Hvm/2/h5GdB6W9H9TOmh13x07Lj4AOhNMx3XSsz6TdrO4jIg==}
engines: {node: '>=18'}
hasBin: true
peerDependencies:
react: 18.2.0
dependencies:
'@jest/create-cache-key-function': 29.7.0
- '@react-native-community/cli': 12.3.0
- '@react-native-community/cli-platform-android': 12.3.0
- '@react-native-community/cli-platform-ios': 12.3.0
+ '@react-native-community/cli': 12.3.2
+ '@react-native-community/cli-platform-android': 12.3.2
+ '@react-native-community/cli-platform-ios': 12.3.2
'@react-native/assets-registry': 0.73.1
- '@react-native/codegen': 0.73.2(@babel/preset-env@7.23.8)
- '@react-native/community-cli-plugin': 0.73.12(@babel/core@7.23.7)(@babel/preset-env@7.23.8)
+ '@react-native/codegen': 0.73.3(@babel/preset-env@7.23.8)
+ '@react-native/community-cli-plugin': 0.73.16(@babel/core@7.23.7)(@babel/preset-env@7.23.8)
'@react-native/gradle-plugin': 0.73.4
'@react-native/js-polyfills': 0.73.1
'@react-native/normalize-colors': 0.73.2
- '@react-native/virtualized-lists': 0.73.4(react-native@0.73.2)
+ '@react-native/virtualized-lists': 0.73.4(react-native@0.73.4)
abort-controller: 3.0.0
anser: 1.4.10
ansi-regex: 5.0.1
base64-js: 1.5.1
+ chalk: 4.1.2
deprecated-react-native-prop-types: 5.0.0
event-target-shim: 5.0.1
flow-enums-runtime: 0.0.6
@@ -11403,7 +11417,7 @@ packages:
'@tanstack/react-query':
optional: true
dependencies:
- '@tanstack/react-query': 4.36.1(react-dom@18.2.0)(react-native@0.73.2)(react@18.2.0)
+ '@tanstack/react-query': 4.36.1(react-dom@18.2.0)(react-native@0.73.4)(react@18.2.0)
dev: false
/react-refresh@0.14.0:
@@ -11503,7 +11517,7 @@ packages:
source-map: 0.6.1
tslib: 2.6.2
- /recyclerlistview@4.2.0(react-native@0.73.2)(react@18.2.0):
+ /recyclerlistview@4.2.0(react-native@0.73.4)(react@18.2.0):
resolution: {integrity: sha512-uuBCi0c+ggqHKwrzPX4Z/mJOzsBbjZEAwGGmlwpD/sD7raXixdAbdJ6BTcAmuWG50Cg4ru9p12M94Njwhr/27A==}
peerDependencies:
react: '>= 15.2.1'
@@ -11512,7 +11526,7 @@ packages:
lodash.debounce: 4.0.8
prop-types: 15.8.1
react: 18.2.0
- react-native: 0.73.2(@babel/core@7.23.7)(@babel/preset-env@7.23.8)(react@18.2.0)
+ react-native: 0.73.4(@babel/core@7.23.7)(@babel/preset-env@7.23.8)(react@18.2.0)
ts-object-utils: 0.0.5
dev: false
@@ -12472,6 +12486,20 @@ packages:
resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==}
dev: true
+ /tailwind-merge@1.14.0:
+ resolution: {integrity: sha512-3mFKyCo/MBcgyOTlrY8T7odzZFx+w+qKSMAmdFzRvqBfLlSigU6TZnlFHK0lkMwj9Bj8OYU+9yW9lmGuS0QEnQ==}
+ dev: false
+
+ /tailwind-variants@0.1.20(tailwindcss@3.3.2):
+ resolution: {integrity: sha512-AMh7x313t/V+eTySKB0Dal08RHY7ggYK0MSn/ad8wKWOrDUIzyiWNayRUm2PIJ4VRkvRnfNuyRuKbLV3EN+ewQ==}
+ engines: {node: '>=16.x', pnpm: '>=7.x'}
+ peerDependencies:
+ tailwindcss: '*'
+ dependencies:
+ tailwind-merge: 1.14.0
+ tailwindcss: 3.3.2(ts-node@10.9.2)
+ dev: false
+
/tailwindcss@3.3.2(ts-node@10.9.2):
resolution: {integrity: sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w==}
engines: {node: '>=14.0.0'}
diff --git a/src/app/(app)/_layout.tsx b/src/app/(app)/_layout.tsx
index 797b91d5..53ba4433 100644
--- a/src/app/(app)/_layout.tsx
+++ b/src/app/(app)/_layout.tsx
@@ -46,6 +46,7 @@ export default function TabLayout() {
name="style"
options={{
title: 'Style',
+ headerShown: false,
tabBarIcon: ({ color }) => ,
}}
/>
diff --git a/src/app/(app)/settings.tsx b/src/app/(app)/settings.tsx
index 4d61f8e0..9f7af03a 100644
--- a/src/app/(app)/settings.tsx
+++ b/src/app/(app)/settings.tsx
@@ -31,7 +31,7 @@ export default function Settings() {
-
+
{translate('settings.title')}
diff --git a/src/app/(app)/style.tsx b/src/app/(app)/style.tsx
index b45834c8..f2a7eacb 100644
--- a/src/app/(app)/style.tsx
+++ b/src/app/(app)/style.tsx
@@ -1,22 +1,22 @@
import * as React from 'react';
-import { ButtonVariants } from '@/components/button-variants';
-import { ColorVariants } from '@/components/color-variants';
-import { InputVariants } from '@/components/input-variants';
-import { TextVariants } from '@/components/text-variants';
-import { FocusAwareStatusBar, ScrollView, View } from '@/ui';
+import { Buttons } from '@/components/buttons';
+import { Colors } from '@/components/colors';
+import { Inputs } from '@/components/inputs';
+import { Typography } from '@/components/typography';
+import { FocusAwareStatusBar, SafeAreaView, ScrollView } from '@/ui';
export default function Style() {
return (
<>
-
-
-
-
-
-
+
+
+
+
+
+
>
);
diff --git a/src/app/_layout.tsx b/src/app/_layout.tsx
index 39d65744..a2b375d4 100644
--- a/src/app/_layout.tsx
+++ b/src/app/_layout.tsx
@@ -12,6 +12,9 @@ import { useThemeConfig } from '@/core/use-theme-config';
export { ErrorBoundary } from 'expo-router';
+// Import global CSS file
+import '../../global.css';
+
export const unstable_settings = {
initialRouteName: '(app)',
};
diff --git a/src/app/feed/[id].tsx b/src/app/feed/[id].tsx
index 59c516a5..12edf769 100644
--- a/src/app/feed/[id].tsx
+++ b/src/app/feed/[id].tsx
@@ -26,9 +26,7 @@ export default function Post() {
-
- Error loading post
-
+ Error loading post
);
}
@@ -37,8 +35,8 @@ export default function Post() {
- {data.title}
- {data.body}
+ {data.title}
+ {data.body}
);
}
diff --git a/src/components/button-variants.tsx b/src/components/button-variants.tsx
deleted file mode 100644
index dd0bbeea..00000000
--- a/src/components/button-variants.tsx
+++ /dev/null
@@ -1,36 +0,0 @@
-import React from 'react';
-
-import { Button, buttonVariants, View } from '@/ui';
-
-import { Title } from './title';
-
-type variant = keyof typeof buttonVariants;
-
-export const ButtonVariants = () => {
- return (
- <>
-
-
- {(Object.keys(buttonVariants) as variant[])
- .filter((v) => v !== 'defaults')
- .map((variant, index) => {
- return (
-
- );
- })}
-
-
-
-
-
- >
- );
-};
diff --git a/src/components/buttons.tsx b/src/components/buttons.tsx
new file mode 100644
index 00000000..480939f1
--- /dev/null
+++ b/src/components/buttons.tsx
@@ -0,0 +1,52 @@
+import React from 'react';
+
+import { Button, View } from '@/ui';
+
+import { Title } from './title';
+
+export const Buttons = () => {
+ return (
+ <>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ >
+ );
+};
diff --git a/src/components/card.tsx b/src/components/card.tsx
index 52076278..a5e718fa 100644
--- a/src/components/card.tsx
+++ b/src/components/card.tsx
@@ -9,19 +9,18 @@ type Props = Post;
export const Card = ({ title, body, id }: Props) => {
return (
-
+
-
- {title}
-
-
+ {title}
+
{body}
diff --git a/src/components/color-variants.tsx b/src/components/colors.tsx
similarity index 68%
rename from src/components/color-variants.tsx
rename to src/components/colors.tsx
index 1569c733..65bdec63 100644
--- a/src/components/color-variants.tsx
+++ b/src/components/colors.tsx
@@ -6,25 +6,23 @@ import colors from '@/ui/theme/colors';
import { Title } from './title';
type ColorName = keyof typeof colors;
-export const ColorVariants = () => {
+export const Colors = () => {
return (
<>
{(Object.keys(colors) as ColorName[]).map((name) => (
-
+
))}
>
);
};
-const ColorVariant = ({ name }: { name: ColorName }) => {
+const Color = ({ name }: { name: ColorName }) => {
if (typeof colors[name] === 'string') return null;
return (
-
- {name.toUpperCase()}
-
-
+ {name.toUpperCase()}
+
{Object.entries(colors[name]).map(([key, value]) => {
return (
{
const ColorCard = ({ color, value }: { value: string; color: string }) => {
return (
-
+
- {value}
+ {value}
- {color}
+ {color}
);
};
diff --git a/src/components/input-variants.tsx b/src/components/inputs.tsx
similarity index 95%
rename from src/components/input-variants.tsx
rename to src/components/inputs.tsx
index 50f9ce8a..f0db653c 100644
--- a/src/components/input-variants.tsx
+++ b/src/components/inputs.tsx
@@ -11,7 +11,7 @@ const options: Option[] = [
{ value: 'vanilla', label: 'Vanilla' },
];
-export const InputVariants = () => {
+export const Inputs = () => {
const [value, setValue] = React.useState();
return (
<>
diff --git a/src/components/login-form.tsx b/src/components/login-form.tsx
index 1b7feb76..278b42cb 100644
--- a/src/components/login-form.tsx
+++ b/src/components/login-form.tsx
@@ -32,7 +32,7 @@ export const LoginForm = ({ onSubmit = () => {} }: LoginFormProps) => {
});
return (
-
+
Sign In
@@ -61,7 +61,6 @@ export const LoginForm = ({ onSubmit = () => {} }: LoginFormProps) => {
testID="login-button"
label="Login"
onPress={handleSubmit(onSubmit)}
- variant="primary"
/>
);
diff --git a/src/components/settings/item.tsx b/src/components/settings/item.tsx
index 735ccdc7..33d1f0cb 100644
--- a/src/components/settings/item.tsx
+++ b/src/components/settings/item.tsx
@@ -1,7 +1,7 @@
import * as React from 'react';
import type { TxKeyPath } from '@/core';
-import { ArrowRight, Text, TouchableOpacity, View } from '@/ui';
+import { ArrowRight, Pressable, Text, View } from '@/ui';
type ItemProps = {
text: TxKeyPath;
@@ -12,26 +12,24 @@ type ItemProps = {
export const Item = ({ text, value, icon, onPress }: ItemProps) => {
const isPressable = onPress !== undefined;
- const Container = isPressable ? TouchableOpacity : View;
return (
-
{icon && {icon}}
-
+
-
- {value}
-
+ {value}
{isPressable && (
)}
-
+
);
};
diff --git a/src/components/settings/items-container.tsx b/src/components/settings/items-container.tsx
index 2696f80e..3c83cec0 100644
--- a/src/components/settings/items-container.tsx
+++ b/src/components/settings/items-container.tsx
@@ -11,7 +11,7 @@ type Props = {
export const ItemsContainer = ({ children, title }: Props) => {
return (
<>
- {title && }
+ {title && }
{
{children}
diff --git a/src/components/text-variants.tsx b/src/components/text-variants.tsx
deleted file mode 100644
index 25b8da04..00000000
--- a/src/components/text-variants.tsx
+++ /dev/null
@@ -1,34 +0,0 @@
-import React from 'react';
-
-import { Text, textVariants, View } from '@/ui';
-
-import { Title } from './title';
-
-type variant = keyof typeof textVariants;
-
-export const TextVariants = () => {
- return (
- <>
-
-
- {(Object.keys(textVariants) as variant[])
- .filter((v) => v !== 'defaults')
- .map((variant, index) => {
- return (
-
-
- {variant.toUpperCase()} Text
-
-
- {variant.toUpperCase()} Text
-
-
- {variant.toUpperCase()} Text
-
-
- );
- })}
-
- >
- );
-};
diff --git a/src/components/title.tsx b/src/components/title.tsx
index 1527fb84..a0dd88af 100644
--- a/src/components/title.tsx
+++ b/src/components/title.tsx
@@ -7,11 +7,9 @@ type Props = {
};
export const Title = ({ text }: Props) => {
return (
-
-
- {text}
-
-
+
+ {text}
+
);
};
diff --git a/src/components/typography.tsx b/src/components/typography.tsx
new file mode 100644
index 00000000..cd027eaf
--- /dev/null
+++ b/src/components/typography.tsx
@@ -0,0 +1,27 @@
+import React from 'react';
+
+import { Text, View } from '@/ui';
+
+import { Title } from './title';
+
+export const Typography = () => {
+ return (
+ <>
+
+
+
+ H1: Lorem ipsum dolor sit
+
+ H2: Lorem ipsum dolor sit
+ H3: Lorem ipsum dolor sit
+ H4: Lorem ipsum dolor sit
+
+ Lorem ipsum dolor sit amet consectetur, adipisicing elit. Cumque quasi
+ aut, expedita tempore ratione quidem in, corporis quia minus et
+ dolorem sunt temporibus iusto consequatur culpa. Omnis sequi debitis
+ recusandae?
+
+
+ >
+ );
+};
diff --git a/src/core/hooks/use-selected-theme.tsx b/src/core/hooks/use-selected-theme.tsx
index 82ddf4cc..e213c7f4 100644
--- a/src/core/hooks/use-selected-theme.tsx
+++ b/src/core/hooks/use-selected-theme.tsx
@@ -1,4 +1,4 @@
-import { NativeWindStyleSheet, useColorScheme } from 'nativewind';
+import { useColorScheme } from 'nativewind';
import React from 'react';
import { useMMKVString } from 'react-native-mmkv';
@@ -33,6 +33,6 @@ export const loadSelectedTheme = () => {
const theme = storage.getString(SELECTED_THEME);
if (theme !== undefined) {
console.log('theme', theme);
- NativeWindStyleSheet.setColorScheme(theme as ColorSchemeType);
+ // setColorScheme.setColorScheme(theme as ColorSchemeType);
}
};
diff --git a/src/ui/core/activity-indicator.tsx b/src/ui/core/activity-indicator.tsx
deleted file mode 100644
index 956a5120..00000000
--- a/src/ui/core/activity-indicator.tsx
+++ /dev/null
@@ -1,4 +0,0 @@
-import { styled } from 'nativewind';
-import { ActivityIndicator as NActivityIndicator } from 'react-native';
-
-export const ActivityIndicator = styled(NActivityIndicator);
diff --git a/src/ui/core/bottom-sheet/backdrop.tsx b/src/ui/core/bottom-sheet/backdrop.tsx
deleted file mode 100644
index 6eed12f5..00000000
--- a/src/ui/core/bottom-sheet/backdrop.tsx
+++ /dev/null
@@ -1,26 +0,0 @@
-import type { BottomSheetBackdropProps } from '@gorhom/bottom-sheet';
-import { useBottomSheet } from '@gorhom/bottom-sheet';
-import React from 'react';
-import { Pressable } from 'react-native';
-import Animated, { FadeIn, FadeOut } from 'react-native-reanimated';
-
-const AnimatedPressable = Animated.createAnimatedComponent(Pressable);
-
-const CustomBackdrop = ({ style }: BottomSheetBackdropProps) => {
- const { close } = useBottomSheet();
- return (
- close()}
- entering={FadeIn.duration(50)}
- exiting={FadeOut.duration(20)}
- // eslint-disable-next-line react-native/no-inline-styles
- style={[style, { backgroundColor: 'rgba(0, 0, 0, 0.4)' }]}
- />
- );
-};
-
-export const renderBackdrop = (props: BottomSheetBackdropProps) => (
-
-);
-
-export default CustomBackdrop;
diff --git a/src/ui/core/bottom-sheet/index.tsx b/src/ui/core/bottom-sheet/index.tsx
deleted file mode 100644
index 34964723..00000000
--- a/src/ui/core/bottom-sheet/index.tsx
+++ /dev/null
@@ -1 +0,0 @@
-export * from './backdrop';
diff --git a/src/ui/core/button.tsx b/src/ui/core/button.tsx
index a83a02b3..5f61f75e 100644
--- a/src/ui/core/button.tsx
+++ b/src/ui/core/button.tsx
@@ -1,85 +1,135 @@
import React from 'react';
-import type { TouchableOpacityProps } from 'react-native';
+import type { PressableProps, View } from 'react-native';
+import { ActivityIndicator, Pressable, Text } from 'react-native';
+import type { VariantProps } from 'tailwind-variants';
+import { tv } from 'tailwind-variants';
-import { ActivityIndicator } from './activity-indicator';
-import { Text } from './text';
-import { TouchableOpacity } from './touchable-opacity';
-
-type Variant = {
- container: string;
- label: string;
- indicator: string;
-};
-type VariantName = 'defaults' | 'primary' | 'outline' | 'secondary';
-type BVariant = {
- [key in VariantName]: Variant;
-};
-
-export const buttonVariants: BVariant = {
- defaults: {
- container:
- 'flex-row items-center justify-center rounded-full px-12 py-3 my-2',
- label: 'text-[16px] font-medium text-white',
- indicator: 'text-white h-[30px]',
+const button = tv({
+ slots: {
+ container: 'flex flex-row items-center justify-center rounded-md my-2 px-4',
+ label: 'text-base font-[600] font-jakarta',
+ indicator: 'text-white h-6',
},
- primary: {
- container: 'bg-black',
- label: '',
- indicator: 'text-white',
- },
- secondary: {
- container: 'bg-primary-600',
- label: 'text-secondary-600',
- indicator: 'text-white',
+
+ variants: {
+ variant: {
+ default: {
+ container: 'bg-black',
+ label: 'text-white',
+ },
+ secondary: {
+ container: 'bg-primary-600',
+ label: 'text-secondary-600',
+ indicator: 'text-white',
+ },
+ outline: {
+ container: 'border border-neutral-400',
+ label: 'text-black dark:text-charcoal-100',
+ indicator: 'text-black',
+ },
+ destructive: {
+ container: 'bg-red-600',
+ label: 'text-white',
+ indicator: 'text-white',
+ },
+ ghost: {
+ container: 'bg-transparent',
+ label: 'text-black underline underline-offset-4',
+ indicator: 'text-black',
+ },
+ link: {
+ container: 'bg-transparent',
+ label: 'text-black',
+ indicator: 'text-black',
+ },
+ },
+ size: {
+ default: {
+ container: 'h-10 px-4',
+ label: 'text-base',
+ },
+ lg: {
+ container: 'h-12 px-8',
+ label: 'text-xl',
+ },
+ sm: {
+ container: 'h-8 px-3',
+ label: 'text-sm',
+ indicator: 'h-2',
+ },
+ icon: { container: 'h-9 w-9' },
+ },
+ disabled: {
+ true: {
+ container: 'bg-neutral-300',
+ label: 'text-neutral-600',
+ indicator: 'text-neutral-400',
+ },
+ },
+ fullWidth: {
+ true: {
+ container: '',
+ },
+ false: {
+ container: 'self-center',
+ },
+ },
},
- outline: {
- container: 'border border-neutral-400',
- label: 'text-black dark:text-charcoal-100',
- indicator: 'text-black',
+ defaultVariants: {
+ variant: 'default',
+ disabled: false,
+ fullWidth: true,
+ size: 'default',
},
-};
+});
-interface Props extends TouchableOpacityProps {
- variant?: VariantName;
+type ButtonVariants = VariantProps;
+interface Props extends ButtonVariants, Omit {
label?: string;
loading?: boolean;
+ className?: string;
+ textClassName?: string;
}
-export const Button = ({
- label,
- loading = false,
- variant = 'primary',
- disabled = false,
- ...props
-}: Props) => {
- return (
-
- {loading ? (
-
- ) : (
-
- {label}
-
- )}
-
- );
-};
+export const Button = React.forwardRef(
+ (
+ {
+ label: text,
+ loading = false,
+ variant = 'default',
+ disabled = false,
+ size = 'default',
+ className = '',
+ textClassName = '',
+ ...props
+ },
+ ref
+ ) => {
+ const styles = React.useMemo(
+ () => button({ variant, disabled, size }),
+ [variant, disabled, size]
+ );
+ return (
+
+ {props.children ? (
+ props.children
+ ) : (
+ <>
+ {loading ? (
+
+ ) : (
+
+ {text}
+
+ )}
+ >
+ )}
+
+ );
+ }
+);
diff --git a/src/ui/core/image.tsx b/src/ui/core/image.tsx
index 45623bde..6c6e6166 100644
--- a/src/ui/core/image.tsx
+++ b/src/ui/core/image.tsx
@@ -1,13 +1,14 @@
import type { ImageProps } from 'expo-image';
import { Image as NImage } from 'expo-image';
-import { styled } from 'nativewind';
+import { cssInterop } from 'nativewind';
import * as React from 'react';
-const SImage = styled(NImage);
export type ImgProps = ImageProps & {
className?: string;
};
+cssInterop(NImage, { className: 'style' });
+
export const Image = ({
style,
className,
@@ -15,7 +16,7 @@ export const Image = ({
...props
}: ImgProps) => {
return (
- ;
+
+export type RuleType = { [name in keyof T]: TRule };
+export type InputControllerType = {
+ name: Path;
+ control: Control;
+ rules?: TRule;
+};
+
+interface ControlledInputProps
+ extends NInputProps,
+ InputControllerType {}
+
+export const Input = React.forwardRef((props, ref) => {
+ const { label, error, ...inputProps } = props;
+ const [isFocussed, setIsFocussed] = React.useState(false);
+ const onBlur = React.useCallback(() => setIsFocussed(false), []);
+ const onFocus = React.useCallback(() => setIsFocussed(true), []);
+
+ const styles = React.useMemo(
+ () =>
+ inputTv({
+ error: Boolean(error),
+ focused: isFocussed,
+ disabled: Boolean(props.disabled),
+ }),
+ [error, isFocussed, props.disabled]
+ );
+
+ return (
+
+ {label && {label}}
+
+ {error && (
+
+ {error}
+
+ )}
+
+ );
+});
+
+// only used with react-hook-form
+export function ControlledInput(
+ props: ControlledInputProps
+) {
+ const { name, control, rules, ...inputProps } = props;
+
+ const { field, fieldState } = useController({ control, name, rules });
+ return (
+
+ );
+}
diff --git a/src/ui/core/input/controlled-input.tsx b/src/ui/core/input/controlled-input.tsx
deleted file mode 100644
index a10438e0..00000000
--- a/src/ui/core/input/controlled-input.tsx
+++ /dev/null
@@ -1,46 +0,0 @@
-import * as React from 'react';
-import type {
- Control,
- FieldValues,
- Path,
- RegisterOptions,
-} from 'react-hook-form';
-import { useController } from 'react-hook-form';
-
-import type { NInputProps } from './input';
-import { Input } from './input';
-
-type TRule = Omit<
- RegisterOptions,
- 'valueAsNumber' | 'valueAsDate' | 'setValueAs'
->;
-
-export type RuleType = { [name in keyof T]: TRule };
-export type InputControllerType = {
- name: Path;
- control: Control;
- rules?: TRule;
-};
-
-interface ControlledInputProps
- extends NInputProps,
- InputControllerType {}
-
-// only used with react-hook-form
-export function ControlledInput(
- props: ControlledInputProps
-) {
- const { name, control, rules, ...inputProps } = props;
-
- const { field, fieldState } = useController({ control, name, rules });
- return (
-
- );
-}
diff --git a/src/ui/core/input/index.tsx b/src/ui/core/input/index.tsx
deleted file mode 100644
index 41a49e1e..00000000
--- a/src/ui/core/input/index.tsx
+++ /dev/null
@@ -1,2 +0,0 @@
-export * from './controlled-input';
-export * from './input';
diff --git a/src/ui/core/input/input.tsx b/src/ui/core/input/input.tsx
deleted file mode 100644
index a43797ea..00000000
--- a/src/ui/core/input/input.tsx
+++ /dev/null
@@ -1,76 +0,0 @@
-import { styled, useColorScheme } from 'nativewind';
-import * as React from 'react';
-import type { TextInput, TextInputProps } from 'react-native';
-import { StyleSheet } from 'react-native';
-import { TextInput as NTextInput } from 'react-native';
-
-import { isRTL } from '@/core';
-
-import colors from '../../theme/colors';
-import { Text } from '../text';
-import { View } from '../view';
-
-const STextInput = styled(NTextInput);
-
-export interface NInputProps extends TextInputProps {
- label?: string;
- disabled?: boolean;
- error?: string;
-}
-
-export const Input = React.forwardRef((props, ref) => {
- const { label, error, ...inputProps } = props;
- const { colorScheme } = useColorScheme();
- const isDark = colorScheme === 'dark';
- const [isFocussed, setIsFocussed] = React.useState(false);
- const onBlur = React.useCallback(() => setIsFocussed(false), []);
- const onFocus = React.useCallback(() => setIsFocussed(true), []);
-
- const borderColor = error
- ? 'border-danger-600'
- : isFocussed
- ? isDark
- ? 'border-white'
- : 'border-neutral-600'
- : isDark
- ? 'border-charcoal-700'
- : 'border-neutral-400';
-
- const bgColor = isDark
- ? 'bg-charcoal-800'
- : error
- ? 'bg-danger-50'
- : 'bg-neutral-200';
- const textDirection = isRTL ? 'text-right' : 'text-left';
- return (
-
- {label && (
-
- {label}
-
- )}
-
- {error && {error}}
-
- );
-});
diff --git a/src/ui/core/list/empty-list.tsx b/src/ui/core/list/empty-list.tsx
index a9212dd7..db337000 100644
--- a/src/ui/core/list/empty-list.tsx
+++ b/src/ui/core/list/empty-list.tsx
@@ -1,9 +1,8 @@
import React from 'react';
-import { ActivityIndicator } from 'react-native';
+import { ActivityIndicator, View } from 'react-native';
import { NoData } from '../../icons';
import { Text } from '../text';
-import { View } from '../view';
type Props = {
isLoading: boolean;
};
diff --git a/src/ui/core/modal.tsx b/src/ui/core/modal.tsx
new file mode 100644
index 00000000..b10d1a8b
--- /dev/null
+++ b/src/ui/core/modal.tsx
@@ -0,0 +1,197 @@
+/**
+ * Modal
+ * Dependencies:
+ * - @gorhom/bottom-sheet.
+ *
+ * Props:
+ * - All `BottomSheetModalProps` props.
+ * - `title` (string | undefined): Optional title for the modal header.
+ *
+ * Usage Example:
+ * import { Modal, useModal } from '@gorhom/bottom-sheet';
+ *
+ * function DisplayModal() {
+ * const { ref, present, dismiss } = useModal();
+ *
+ * return (
+ *
+ *
+ * Modal Content
+ *
+ *
+ * );
+ * }
+ *
+ */
+
+import type {
+ BottomSheetBackdropProps,
+ BottomSheetModalProps,
+} from '@gorhom/bottom-sheet';
+import { BottomSheetModal, useBottomSheet } from '@gorhom/bottom-sheet';
+import * as React from 'react';
+import { Pressable, View } from 'react-native';
+import Animated, { FadeIn, FadeOut } from 'react-native-reanimated';
+import { Path, Svg } from 'react-native-svg';
+
+import { Text } from './text';
+
+type ModalProps = BottomSheetModalProps & {
+ title?: string;
+};
+
+type ModalRef = React.ForwardedRef;
+
+type ModalHeaderProps = {
+ title?: string;
+ dismiss: () => void;
+};
+
+export const useModal = () => {
+ const ref = React.useRef(null);
+ const present = React.useCallback((data?: any) => {
+ ref.current?.present(data);
+ }, []);
+ const dismiss = React.useCallback(() => {
+ ref.current?.dismiss();
+ }, []);
+ return { ref, present, dismiss };
+};
+
+export const Modal = React.forwardRef(
+ (
+ {
+ snapPoints: _snapPoints = ['60%'],
+ title,
+ detached = false,
+ ...props
+ }: ModalProps,
+ ref: ModalRef
+ ) => {
+ const detachedProps = React.useMemo(
+ () => getDetachedProps(detached),
+ [detached]
+ );
+ const modal = useModal();
+ const snapPoints = React.useMemo(() => _snapPoints, [_snapPoints]);
+
+ React.useImperativeHandle(
+ ref,
+ () => (modal.ref.current as BottomSheetModal) || null
+ );
+
+ const renderHandleComponent = React.useCallback(
+ () => (
+ <>
+
+
+ >
+ ),
+ [title, modal.dismiss]
+ );
+
+ return (
+
+ );
+ }
+);
+
+/**
+ * Custom Backdrop
+ */
+
+const AnimatedPressable = Animated.createAnimatedComponent(Pressable);
+
+const CustomBackdrop = ({ style }: BottomSheetBackdropProps) => {
+ const { close } = useBottomSheet();
+ return (
+ close()}
+ entering={FadeIn.duration(50)}
+ exiting={FadeOut.duration(20)}
+ // eslint-disable-next-line react-native/no-inline-styles
+ style={[style, { backgroundColor: 'rgba(0, 0, 0, 0.4)' }]}
+ />
+ );
+};
+
+export const renderBackdrop = (props: BottomSheetBackdropProps) => (
+
+);
+
+/**
+ *
+ * @param detached
+ * @returns
+ *
+ * @description
+ * In case the modal is detached, we need to add some extra props to the modal to make it look like a detached modal.
+ */
+
+const getDetachedProps = (detached: boolean) => {
+ if (detached) {
+ return {
+ detached: true,
+ bottomInset: 46,
+ style: { marginHorizontal: 16, overflow: 'hidden' },
+ } as Partial;
+ }
+ return {} as Partial;
+};
+
+/**
+ * ModalHeader
+ */
+
+const ModalHeader = React.memo(({ title, dismiss }: ModalHeaderProps) => {
+ return (
+ <>
+ {title && (
+
+
+
+
+ {title}
+
+
+
+ )}
+
+ >
+ );
+});
+
+const CloseButton = ({ close }: { close: () => void }) => {
+ return (
+
+
+
+ );
+};
diff --git a/src/ui/core/modal/index.tsx b/src/ui/core/modal/index.tsx
deleted file mode 100644
index d9e303ab..00000000
--- a/src/ui/core/modal/index.tsx
+++ /dev/null
@@ -1,2 +0,0 @@
-export * from './modal';
-export * from './types';
diff --git a/src/ui/core/modal/modal-backdrop.tsx b/src/ui/core/modal/modal-backdrop.tsx
deleted file mode 100644
index 87e8db14..00000000
--- a/src/ui/core/modal/modal-backdrop.tsx
+++ /dev/null
@@ -1,7 +0,0 @@
-import type { BottomSheetBackdropProps } from '@gorhom/bottom-sheet';
-import { BottomSheetBackdrop } from '@gorhom/bottom-sheet';
-import React from 'react';
-
-export const renderBackdrop = (props: BottomSheetBackdropProps) => (
-
-);
diff --git a/src/ui/core/modal/modal-header.tsx b/src/ui/core/modal/modal-header.tsx
deleted file mode 100644
index 10e7b76f..00000000
--- a/src/ui/core/modal/modal-header.tsx
+++ /dev/null
@@ -1,42 +0,0 @@
-import * as React from 'react';
-
-import { Pressable } from '../pressable';
-import { Text } from '../text';
-import { View } from '../view';
-import { XClose } from './x-close';
-
-type ModalHeaderProps = {
- title?: string;
- dismiss: () => void;
-};
-
-export const ModalHeader = React.memo(
- ({ title, dismiss }: ModalHeaderProps) => {
- return (
-
-
-
-
- {title}
-
-
-
-
- );
- }
-);
-
-const CloseButton = ({ close }: { close: () => void }) => {
- return (
-
-
-
- );
-};
diff --git a/src/ui/core/modal/modal.tsx b/src/ui/core/modal/modal.tsx
deleted file mode 100644
index d960ac5a..00000000
--- a/src/ui/core/modal/modal.tsx
+++ /dev/null
@@ -1,76 +0,0 @@
-import type { BottomSheetModalProps } from '@gorhom/bottom-sheet';
-import { BottomSheetModal } from '@gorhom/bottom-sheet';
-import * as React from 'react';
-
-import { View } from '../view';
-import { renderBackdrop } from './modal-backdrop';
-import { ModalHeader } from './modal-header';
-import type { ModalProps, ModalRef } from './types';
-
-export const useModal = () => {
- const ref = React.useRef(null);
- const present = React.useCallback((data?: any) => {
- ref.current?.present(data);
- }, []);
- const dismiss = React.useCallback(() => {
- ref.current?.dismiss();
- }, []);
- return { ref, present, dismiss };
-};
-
-export const Modal = React.forwardRef(
- (
- {
- snapPoints: _snapPoints = ['60%'],
- title,
- detached = false,
- ...props
- }: ModalProps,
- ref: ModalRef
- ) => {
- const detachedProps = React.useMemo(
- () => getDetachedProps(detached),
- [detached]
- );
- const modal = useModal();
- const snapPoints = React.useMemo(() => _snapPoints, [_snapPoints]);
-
- React.useImperativeHandle(
- ref,
- () => (modal.ref.current as BottomSheetModal) || null
- );
-
- const renderHandleComponent = React.useCallback(
- () => (
- <>
-
-
- >
- ),
- [title, modal.dismiss]
- );
-
- return (
-
- );
- }
-);
-
-const getDetachedProps = (detached: boolean) => {
- if (detached) {
- return {
- detached: true,
- bottomInset: 46,
- style: { marginHorizontal: 16, overflow: 'hidden' },
- } as Partial;
- }
- return {} as Partial;
-};
diff --git a/src/ui/core/modal/types.ts b/src/ui/core/modal/types.ts
deleted file mode 100644
index d9b26acf..00000000
--- a/src/ui/core/modal/types.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import type {
- BottomSheetModal,
- BottomSheetModalProps,
-} from '@gorhom/bottom-sheet';
-
-export type ModalProps = BottomSheetModalProps & {
- title?: string;
-};
-
-// can't accept children as function because we can't pass ref to function component
-export type DynamicModalProps = Omit & {
- children: React.ReactNode;
- snapPoints?: Array;
-};
-
-export type ModalRef = React.ForwardedRef;
diff --git a/src/ui/core/modal/x-close.tsx b/src/ui/core/modal/x-close.tsx
deleted file mode 100644
index c13e5d1a..00000000
--- a/src/ui/core/modal/x-close.tsx
+++ /dev/null
@@ -1,17 +0,0 @@
-import { styled } from 'nativewind';
-import * as React from 'react';
-import type { SvgProps } from 'react-native-svg';
-import Svg, { Path } from 'react-native-svg';
-
-const SvgComponent = ({ fill = '#001136', ...props }: SvgProps) => (
-
-);
-
-export const XClose = styled(SvgComponent, {
- classProps: ['fill'],
-});
diff --git a/src/ui/core/pressable.tsx b/src/ui/core/pressable.tsx
deleted file mode 100644
index e9997677..00000000
--- a/src/ui/core/pressable.tsx
+++ /dev/null
@@ -1,4 +0,0 @@
-import { styled } from 'nativewind';
-import { Pressable as NPressable } from 'react-native';
-
-export const Pressable = styled(NPressable);
diff --git a/src/ui/core/progress-bar.tsx b/src/ui/core/progress-bar.tsx
new file mode 100644
index 00000000..a3e49fe0
--- /dev/null
+++ b/src/ui/core/progress-bar.tsx
@@ -0,0 +1,51 @@
+import React, { forwardRef, useImperativeHandle } from 'react';
+import { View } from 'react-native';
+import Animated, {
+ Easing,
+ useAnimatedStyle,
+ useSharedValue,
+ withTiming,
+} from 'react-native-reanimated';
+import { twMerge } from 'tailwind-merge';
+
+type Props = {
+ initialProgress?: number;
+ className?: string;
+};
+
+export type ProgressBarRef = {
+ setProgress: (value: number) => void;
+};
+
+export const ProgressBar = forwardRef(
+ ({ initialProgress = 0, className = '' }, ref) => {
+ const progress = useSharedValue(initialProgress ?? 0);
+ useImperativeHandle(
+ ref,
+ () => {
+ return {
+ setProgress: (value: number) => {
+ progress.value = withTiming(value, {
+ duration: 250,
+ easing: Easing.inOut(Easing.quad),
+ });
+ },
+ };
+ },
+ [progress]
+ );
+
+ const style = useAnimatedStyle(() => {
+ return {
+ width: `${progress.value}%`,
+ backgroundColor: '#000',
+ height: 2,
+ };
+ });
+ return (
+
+
+
+ );
+ }
+);
diff --git a/src/ui/core/scroll-view.tsx b/src/ui/core/scroll-view.tsx
deleted file mode 100644
index 69c0c08e..00000000
--- a/src/ui/core/scroll-view.tsx
+++ /dev/null
@@ -1,6 +0,0 @@
-import { styled } from 'nativewind';
-import { ScrollView as NScrollView } from 'react-native';
-
-export const ScrollView = styled(NScrollView, {
- classProps: ['contentContainerStyle', 'className'],
-});
diff --git a/src/ui/core/select.tsx b/src/ui/core/select.tsx
new file mode 100644
index 00000000..ab9c0d35
--- /dev/null
+++ b/src/ui/core/select.tsx
@@ -0,0 +1,236 @@
+import type { BottomSheetModal } from '@gorhom/bottom-sheet';
+import { BottomSheetFlatList } from '@gorhom/bottom-sheet';
+import { useColorScheme } from 'nativewind';
+import * as React from 'react';
+import type { FieldValues } from 'react-hook-form';
+import { useController } from 'react-hook-form';
+import { TouchableOpacity, View } from 'react-native';
+import { Pressable, type PressableProps } from 'react-native';
+import type { SvgProps } from 'react-native-svg';
+import Svg, { Path } from 'react-native-svg';
+import { tv } from 'tailwind-variants';
+
+import { CaretDown } from '@/ui/icons';
+import { colors } from '@/ui/theme';
+
+import type { InputControllerType } from './input';
+import { useModal } from './modal';
+import { Modal } from './modal';
+import { Text } from './text';
+
+const selectTv = tv({
+ slots: {
+ container: 'mb-4',
+ label: 'text-grey-100 dark:text-charcoal-100 text-sm',
+ input:
+ 'mt-0 flex-row items-center justify-center border-[0.5px] border-grey-50 px-3 py-3 rounded-xl',
+ inputValue: 'dark:text-charcoal-100',
+ },
+
+ variants: {
+ focused: {
+ true: {
+ input: 'border-neutral-600',
+ },
+ },
+ error: {
+ true: {
+ input: 'border-danger-600',
+ label: 'text-danger-600 dark:text-danger-600',
+ inputValue: 'text-danger-600',
+ },
+ },
+ disabled: {
+ true: {
+ input: 'bg-neutral-200',
+ },
+ },
+ },
+ defaultVariants: {
+ error: false,
+ disabled: false,
+ },
+});
+
+export type Option = { label: string; value: string | number };
+
+type OptionsProps = {
+ options: Option[];
+ onSelect: (option: Option) => void;
+ value?: string | number;
+};
+
+function keyExtractor(item: Option) {
+ return `select-item-${item.value}`;
+}
+
+export const Options = React.forwardRef(
+ ({ options, onSelect, value }, ref) => {
+ const height = options.length * 70 + 100;
+ const snapPoints = React.useMemo(() => [height], [height]);
+ const { colorScheme } = useColorScheme();
+ const isDark = colorScheme === 'dark';
+ const renderSelectItem = React.useCallback(
+ ({ item }: { item: Option }) => (
+