diff --git a/App.tsx b/App.tsx
index 56ec656..6e61713 100644
--- a/App.tsx
+++ b/App.tsx
@@ -1,10 +1,14 @@
import React from 'react';
import { SafeAreaView, StatusBar, StyleSheet, useColorScheme } from 'react-native';
-import { NavigationContainer } from '@react-navigation/native'; // 네비게이션 컨테이너 import
-import { createNativeStackNavigator } from '@react-navigation/native-stack'; // 네이티브 스택 네비게이터 import
+import { NavigationContainer } from '@react-navigation/native';
+import { createNativeStackNavigator } from '@react-navigation/native-stack';
import MainPage from './src/components/Home/Main/MainPage';
import SeekerMainPage from './src/components/Home/Main/SeekerMainPage'; // SeekerMainPage 컴포넌트 불러오기
import SetterMainPage from './src/components/Home/Main/SetterMainPage'; // SeekerMainPage 컴포넌트 불러오기
+import MyPageHome from './src/components/Home/MyPage/MyPageHome'; // MyPageHomeerMainPage 컴포넌트 불러오기
+import MyPageTabView from './src/components/Home/MyPage/MyPageTabView';
+import PortfolioPage from './src/components/Home/MyPage/PortfolioPage';
+import Review from './src/components/Home/MyPage/Review';
import { Colors } from 'react-native/Libraries/NewAppScreen';
const Stack = createNativeStackNavigator();
@@ -24,6 +28,10 @@ function App(): React.JSX.Element {
+
+
+
+
{/* 추가적인 스크린 설정 가능 */}
diff --git a/babel.config.js b/babel.config.js
index f7b3da3..f97e2f9 100644
--- a/babel.config.js
+++ b/babel.config.js
@@ -1,3 +1,6 @@
module.exports = {
- presets: ['module:@react-native/babel-preset'],
+ presets: [
+ 'module:@react-native/babel-preset',
+ ],
+ plugins: ['react-native-reanimated/plugin'], // 추가
};
diff --git a/package-lock.json b/package-lock.json
index f37727f..d4b5fa0 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -13,12 +13,16 @@
"react": "18.3.1",
"react-native": "0.75.3",
"react-native-chart-kit": "^6.12.0",
+ "react-native-collapsible-tab-view": "^8.0.0",
+ "react-native-pager-view": "^6.4.1",
+ "react-native-reanimated": "^3.15.3",
"react-native-safe-area-context": "^4.11.0",
"react-native-screens": "^3.34.0",
"react-native-svg": "^15.7.1",
"react-native-vector-icons": "^10.2.0",
"react-navigation": "^4.4.4",
- "react-navigation-stack": "^2.10.4"
+ "react-navigation-stack": "^2.10.4",
+ "styled-components": "^6.1.13"
},
"devDependencies": {
"@babel/core": "^7.20.0",
@@ -30,9 +34,11 @@
"@react-native/typescript-config": "0.75.3",
"@types/react": "^18.2.6",
"@types/react-test-renderer": "^18.0.0",
+ "@types/styled-components": "^5.1.34",
"babel-jest": "^29.6.3",
"eslint": "^8.19.0",
"jest": "^29.6.3",
+ "metro-react-native-babel-preset": "^0.77.0",
"prettier": "2.8.8",
"react-test-renderer": "18.3.1",
"typescript": "5.0.4"
@@ -219,6 +225,19 @@
"@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
}
},
+ "node_modules/@babel/helper-environment-visitor": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz",
+ "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.24.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
"node_modules/@babel/helper-member-expression-to-functions": {
"version": "7.24.8",
"license": "MIT",
@@ -511,6 +530,26 @@
"@babel/core": "^7.0.0"
}
},
+ "node_modules/@babel/plugin-proposal-async-generator-functions": {
+ "version": "7.20.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz",
+ "integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==",
+ "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-async-generator-functions instead.",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-environment-visitor": "^7.18.9",
+ "@babel/helper-plugin-utils": "^7.20.2",
+ "@babel/helper-remap-async-to-generator": "^7.18.9",
+ "@babel/plugin-syntax-async-generators": "^7.8.4"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
"node_modules/@babel/plugin-proposal-class-properties": {
"version": "7.18.6",
"license": "MIT",
@@ -553,6 +592,63 @@
"@babel/core": "^7.0.0-0"
}
},
+ "node_modules/@babel/plugin-proposal-numeric-separator": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz",
+ "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==",
+ "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead.",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/plugin-syntax-numeric-separator": "^7.10.4"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-proposal-object-rest-spread": {
+ "version": "7.20.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz",
+ "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==",
+ "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead.",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/compat-data": "^7.20.5",
+ "@babel/helper-compilation-targets": "^7.20.7",
+ "@babel/helper-plugin-utils": "^7.20.2",
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
+ "@babel/plugin-transform-parameters": "^7.20.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-proposal-optional-catch-binding": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz",
+ "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==",
+ "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-catch-binding instead.",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
"node_modules/@babel/plugin-proposal-optional-chaining": {
"version": "7.21.0",
"license": "MIT",
@@ -1860,6 +1956,27 @@
"node": ">=0.8.0"
}
},
+ "node_modules/@emotion/is-prop-valid": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.2.tgz",
+ "integrity": "sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw==",
+ "license": "MIT",
+ "dependencies": {
+ "@emotion/memoize": "^0.8.1"
+ }
+ },
+ "node_modules/@emotion/memoize": {
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz",
+ "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==",
+ "license": "MIT"
+ },
+ "node_modules/@emotion/unitless": {
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.1.tgz",
+ "integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==",
+ "license": "MIT"
+ },
"node_modules/@eslint-community/eslint-utils": {
"version": "4.4.0",
"dev": true,
@@ -3215,6 +3332,17 @@
"license": "MIT",
"peer": true
},
+ "node_modules/@types/hoist-non-react-statics": {
+ "version": "3.3.5",
+ "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.5.tgz",
+ "integrity": "sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/react": "*",
+ "hoist-non-react-statics": "^3.3.0"
+ }
+ },
"node_modules/@types/istanbul-lib-coverage": {
"version": "2.0.6",
"license": "MIT"
@@ -3283,6 +3411,24 @@
"version": "2.0.3",
"license": "MIT"
},
+ "node_modules/@types/styled-components": {
+ "version": "5.1.34",
+ "resolved": "https://registry.npmjs.org/@types/styled-components/-/styled-components-5.1.34.tgz",
+ "integrity": "sha512-mmiVvwpYklFIv9E8qfxuPyIt/OuyIrn6gMOAMOFUO3WJfSrSE+sGUoa4PiZj77Ut7bKZpaa6o1fBKS/4TOEvnA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/hoist-non-react-statics": "*",
+ "@types/react": "*",
+ "csstype": "^3.0.2"
+ }
+ },
+ "node_modules/@types/stylis": {
+ "version": "4.2.5",
+ "resolved": "https://registry.npmjs.org/@types/stylis/-/stylis-4.2.5.tgz",
+ "integrity": "sha512-1Xve+NMN7FWjY14vLoY5tL3BVEQ/n42YLwaqJIPYhotZ9uBHt87VceMwWQpzmdEt2TNXIorIFG+YeCUUW7RInw==",
+ "license": "MIT"
+ },
"node_modules/@types/yargs": {
"version": "17.0.33",
"license": "MIT",
@@ -4201,6 +4347,15 @@
"node": ">=6"
}
},
+ "node_modules/camelize": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz",
+ "integrity": "sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==",
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/caniuse-lite": {
"version": "1.0.30001663",
"funding": [
@@ -4588,6 +4743,15 @@
"node": ">= 8"
}
},
+ "node_modules/css-color-keywords": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz",
+ "integrity": "sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==",
+ "license": "ISC",
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/css-select": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz",
@@ -4604,6 +4768,17 @@
"url": "https://github.com/sponsors/fb55"
}
},
+ "node_modules/css-to-react-native": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.2.0.tgz",
+ "integrity": "sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==",
+ "license": "MIT",
+ "dependencies": {
+ "camelize": "^1.0.0",
+ "css-color-keywords": "^1.0.0",
+ "postcss-value-parser": "^4.0.2"
+ }
+ },
"node_modules/css-tree": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz",
@@ -4631,7 +4806,6 @@
},
"node_modules/csstype": {
"version": "3.1.3",
- "devOptional": true,
"license": "MIT"
},
"node_modules/data-view-buffer": {
@@ -4795,6 +4969,15 @@
"node": ">= 0.8"
}
},
+ "node_modules/dequal": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
+ "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/destroy": {
"version": "1.2.0",
"license": "MIT",
@@ -8038,6 +8221,70 @@
"node": ">=18"
}
},
+ "node_modules/metro-react-native-babel-preset": {
+ "version": "0.77.0",
+ "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.77.0.tgz",
+ "integrity": "sha512-HPPD+bTxADtoE4y/4t1txgTQ1LVR6imOBy7RMHUsqMVTbekoi8Ph5YI9vKX2VMPtVWeFt0w9YnCSLPa76GcXsA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/core": "^7.20.0",
+ "@babel/plugin-proposal-async-generator-functions": "^7.0.0",
+ "@babel/plugin-proposal-class-properties": "^7.18.0",
+ "@babel/plugin-proposal-export-default-from": "^7.0.0",
+ "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.0",
+ "@babel/plugin-proposal-numeric-separator": "^7.0.0",
+ "@babel/plugin-proposal-object-rest-spread": "^7.20.0",
+ "@babel/plugin-proposal-optional-catch-binding": "^7.0.0",
+ "@babel/plugin-proposal-optional-chaining": "^7.20.0",
+ "@babel/plugin-syntax-dynamic-import": "^7.8.0",
+ "@babel/plugin-syntax-export-default-from": "^7.0.0",
+ "@babel/plugin-syntax-flow": "^7.18.0",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0",
+ "@babel/plugin-syntax-optional-chaining": "^7.0.0",
+ "@babel/plugin-transform-arrow-functions": "^7.0.0",
+ "@babel/plugin-transform-async-to-generator": "^7.20.0",
+ "@babel/plugin-transform-block-scoping": "^7.0.0",
+ "@babel/plugin-transform-classes": "^7.0.0",
+ "@babel/plugin-transform-computed-properties": "^7.0.0",
+ "@babel/plugin-transform-destructuring": "^7.20.0",
+ "@babel/plugin-transform-flow-strip-types": "^7.20.0",
+ "@babel/plugin-transform-function-name": "^7.0.0",
+ "@babel/plugin-transform-literals": "^7.0.0",
+ "@babel/plugin-transform-modules-commonjs": "^7.0.0",
+ "@babel/plugin-transform-named-capturing-groups-regex": "^7.0.0",
+ "@babel/plugin-transform-parameters": "^7.0.0",
+ "@babel/plugin-transform-react-display-name": "^7.0.0",
+ "@babel/plugin-transform-react-jsx": "^7.0.0",
+ "@babel/plugin-transform-react-jsx-self": "^7.0.0",
+ "@babel/plugin-transform-react-jsx-source": "^7.0.0",
+ "@babel/plugin-transform-runtime": "^7.0.0",
+ "@babel/plugin-transform-shorthand-properties": "^7.0.0",
+ "@babel/plugin-transform-spread": "^7.0.0",
+ "@babel/plugin-transform-sticky-regex": "^7.0.0",
+ "@babel/plugin-transform-typescript": "^7.5.0",
+ "@babel/plugin-transform-unicode-regex": "^7.0.0",
+ "@babel/template": "^7.0.0",
+ "babel-plugin-transform-flow-enums": "^0.0.2",
+ "react-refresh": "^0.4.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@babel/core": "*"
+ }
+ },
+ "node_modules/metro-react-native-babel-preset/node_modules/react-refresh": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.4.3.tgz",
+ "integrity": "sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/metro-resolver": {
"version": "0.80.12",
"license": "MIT",
@@ -8781,6 +9028,40 @@
"node": ">= 0.4"
}
},
+ "node_modules/postcss": {
+ "version": "8.4.38",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz",
+ "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/postcss"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "nanoid": "^3.3.7",
+ "picocolors": "^1.0.0",
+ "source-map-js": "^1.2.0"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14"
+ }
+ },
+ "node_modules/postcss-value-parser": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
+ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
+ "license": "MIT"
+ },
"node_modules/prelude-ls": {
"version": "1.2.1",
"dev": true,
@@ -8970,6 +9251,30 @@
}
}
},
+ "node_modules/react-dom": {
+ "version": "18.3.1",
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz",
+ "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "loose-envify": "^1.1.0",
+ "scheduler": "^0.23.2"
+ },
+ "peerDependencies": {
+ "react": "^18.3.1"
+ }
+ },
+ "node_modules/react-dom/node_modules/scheduler": {
+ "version": "0.23.2",
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz",
+ "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "loose-envify": "^1.1.0"
+ }
+ },
"node_modules/react-freeze": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/react-freeze/-/react-freeze-1.0.4.tgz",
@@ -9062,6 +9367,27 @@
"react-native-svg": "> 6.4.1"
}
},
+ "node_modules/react-native-collapsible-tab-view": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/react-native-collapsible-tab-view/-/react-native-collapsible-tab-view-8.0.0.tgz",
+ "integrity": "sha512-p3/CfBtCn/7qAllFeBM8KI4cCqqYfE0gzO/bh/oX6ewk2hE7HF0QQpZBGZlLdLJDo1lUXRlTSP2VLAYgky2maw==",
+ "license": "MIT",
+ "dependencies": {
+ "use-deep-compare": "^1.1.0"
+ },
+ "peerDependencies": {
+ "@shopify/flash-list": ">=1.0.0",
+ "react": "*",
+ "react-native": "*",
+ "react-native-pager-view": "*",
+ "react-native-reanimated": ">=3.8.1"
+ },
+ "peerDependenciesMeta": {
+ "@shopify/flash-list": {
+ "optional": true
+ }
+ }
+ },
"node_modules/react-native-gesture-handler": {
"version": "2.19.0",
"resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-2.19.0.tgz",
@@ -9088,6 +9414,40 @@
"react-native": ">=0.42.0"
}
},
+ "node_modules/react-native-pager-view": {
+ "version": "6.4.1",
+ "resolved": "https://registry.npmjs.org/react-native-pager-view/-/react-native-pager-view-6.4.1.tgz",
+ "integrity": "sha512-HnDxXTRHnR6WJ/vnOitv0C32KG9MJjxLnxswuQlBJmQ7RxF2GWOHSPIRAdZ9fLxdLstV38z9Oz1C95+t+yXkcg==",
+ "license": "MIT",
+ "peerDependencies": {
+ "react": "*",
+ "react-native": "*"
+ }
+ },
+ "node_modules/react-native-reanimated": {
+ "version": "3.15.3",
+ "resolved": "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-3.15.3.tgz",
+ "integrity": "sha512-5QBk/7PZvZ98Adxm4MRyglwzsRzReTQIe4Hd2wbBBAZ68IC4OYKvsc8cPEjgx3/1mG8HgHFYhbcDe5U2RjeFqw==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/plugin-transform-arrow-functions": "^7.0.0-0",
+ "@babel/plugin-transform-class-properties": "^7.0.0-0",
+ "@babel/plugin-transform-classes": "^7.0.0-0",
+ "@babel/plugin-transform-nullish-coalescing-operator": "^7.0.0-0",
+ "@babel/plugin-transform-optional-chaining": "^7.0.0-0",
+ "@babel/plugin-transform-shorthand-properties": "^7.0.0-0",
+ "@babel/plugin-transform-template-literals": "^7.0.0-0",
+ "@babel/plugin-transform-unicode-regex": "^7.0.0-0",
+ "@babel/preset-typescript": "^7.16.7",
+ "convert-source-map": "^2.0.0",
+ "invariant": "^2.2.4"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0",
+ "react": "*",
+ "react-native": "*"
+ }
+ },
"node_modules/react-native-safe-area-context": {
"version": "4.11.0",
"resolved": "https://registry.npmjs.org/react-native-safe-area-context/-/react-native-safe-area-context-4.11.0.tgz",
@@ -9332,6 +9692,8 @@
},
"node_modules/react-test-renderer/node_modules/scheduler": {
"version": "0.23.2",
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz",
+ "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -9761,6 +10123,12 @@
"node": ">=8"
}
},
+ "node_modules/shallowequal": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz",
+ "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==",
+ "license": "MIT"
+ },
"node_modules/shebang-command": {
"version": "2.0.0",
"license": "MIT",
@@ -9868,6 +10236,15 @@
"node": ">=0.10.0"
}
},
+ "node_modules/source-map-js": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
+ "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/source-map-support": {
"version": "0.5.21",
"license": "MIT",
@@ -10099,6 +10476,46 @@
"version": "1.0.5",
"license": "MIT"
},
+ "node_modules/styled-components": {
+ "version": "6.1.13",
+ "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-6.1.13.tgz",
+ "integrity": "sha512-M0+N2xSnAtwcVAQeFEsGWFFxXDftHUD7XrKla06QbpUMmbmtFBMMTcKWvFXtWxuD5qQkB8iU5gk6QASlx2ZRMw==",
+ "license": "MIT",
+ "dependencies": {
+ "@emotion/is-prop-valid": "1.2.2",
+ "@emotion/unitless": "0.8.1",
+ "@types/stylis": "4.2.5",
+ "css-to-react-native": "3.2.0",
+ "csstype": "3.1.3",
+ "postcss": "8.4.38",
+ "shallowequal": "1.1.0",
+ "stylis": "4.3.2",
+ "tslib": "2.6.2"
+ },
+ "engines": {
+ "node": ">= 16"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/styled-components"
+ },
+ "peerDependencies": {
+ "react": ">= 16.8.0",
+ "react-dom": ">= 16.8.0"
+ }
+ },
+ "node_modules/styled-components/node_modules/tslib": {
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
+ "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==",
+ "license": "0BSD"
+ },
+ "node_modules/stylis": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.2.tgz",
+ "integrity": "sha512-bhtUjWd/z6ltJiQwg0dUfxEJ+W+jdqQd8TbWLWyeIJHlnsqmGLRFFd8e5mA0AZi/zx90smXRlN66YMTcaSFifg==",
+ "license": "MIT"
+ },
"node_modules/sudo-prompt": {
"version": "9.2.1",
"license": "MIT"
@@ -10469,6 +10886,18 @@
"punycode": "^2.1.0"
}
},
+ "node_modules/use-deep-compare": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/use-deep-compare/-/use-deep-compare-1.3.0.tgz",
+ "integrity": "sha512-94iG+dEdEP/Sl3WWde+w9StIunlV8Dgj+vkt5wTwMoFQLaijiEZSXXy8KtcStpmEDtIptRJiNeD4ACTtVvnIKA==",
+ "license": "MIT",
+ "dependencies": {
+ "dequal": "2.0.3"
+ },
+ "peerDependencies": {
+ "react": ">=16.8.0"
+ }
+ },
"node_modules/use-latest-callback": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/use-latest-callback/-/use-latest-callback-0.2.1.tgz",
diff --git a/package.json b/package.json
index ba00832..07d3160 100644
--- a/package.json
+++ b/package.json
@@ -15,12 +15,16 @@
"react": "18.3.1",
"react-native": "0.75.3",
"react-native-chart-kit": "^6.12.0",
+ "react-native-collapsible-tab-view": "^8.0.0",
+ "react-native-pager-view": "^6.4.1",
+ "react-native-reanimated": "^3.15.3",
"react-native-safe-area-context": "^4.11.0",
"react-native-screens": "^3.34.0",
"react-native-svg": "^15.7.1",
"react-native-vector-icons": "^10.2.0",
"react-navigation": "^4.4.4",
- "react-navigation-stack": "^2.10.4"
+ "react-navigation-stack": "^2.10.4",
+ "styled-components": "^6.1.13"
},
"devDependencies": {
"@babel/core": "^7.20.0",
@@ -32,9 +36,11 @@
"@react-native/typescript-config": "0.75.3",
"@types/react": "^18.2.6",
"@types/react-test-renderer": "^18.0.0",
+ "@types/styled-components": "^5.1.34",
"babel-jest": "^29.6.3",
"eslint": "^8.19.0",
"jest": "^29.6.3",
+ "metro-react-native-babel-preset": "^0.77.0",
"prettier": "2.8.8",
"react-test-renderer": "18.3.1",
"typescript": "5.0.4"
diff --git a/src/assets/Portfolio/Portfolio_1.jpg b/src/assets/Portfolio/Portfolio_1.jpg
new file mode 100644
index 0000000..b631b62
Binary files /dev/null and b/src/assets/Portfolio/Portfolio_1.jpg differ
diff --git a/src/assets/Portfolio/Portfolio_2.jpg b/src/assets/Portfolio/Portfolio_2.jpg
new file mode 100644
index 0000000..3938d0a
Binary files /dev/null and b/src/assets/Portfolio/Portfolio_2.jpg differ
diff --git a/src/assets/Portfolio/Portfolio_3.jpg b/src/assets/Portfolio/Portfolio_3.jpg
new file mode 100644
index 0000000..65aa0eb
Binary files /dev/null and b/src/assets/Portfolio/Portfolio_3.jpg differ
diff --git a/src/assets/Portfolio/Portfolio_4.jpg b/src/assets/Portfolio/Portfolio_4.jpg
new file mode 100644
index 0000000..7812a3a
Binary files /dev/null and b/src/assets/Portfolio/Portfolio_4.jpg differ
diff --git a/src/components/Home/Main/MainPage.tsx b/src/components/Home/Main/MainPage.tsx
index 70ab36d..e8cebf4 100644
--- a/src/components/Home/Main/MainPage.tsx
+++ b/src/components/Home/Main/MainPage.tsx
@@ -1,7 +1,6 @@
import React from 'react';
import { View, Text, StyleSheet, TouchableOpacity, Dimensions } from 'react-native';
import { useNavigation } from '@react-navigation/native'; // 네비게이션 훅 추가
-
const MainPage = () => {
const navigation = useNavigation(); // 네비게이션 객체 사용
@@ -26,7 +25,16 @@ const MainPage = () => {
+
+ 임시버튼(하단바 생성후 하단 바로 옮길것)
+ navigation.navigate('MyPageTabView')}
+>
+ 마이페이지
+
+
);
};
diff --git a/src/components/Home/MyPage/MyPageHome.tsx b/src/components/Home/MyPage/MyPageHome.tsx
new file mode 100644
index 0000000..226260c
--- /dev/null
+++ b/src/components/Home/MyPage/MyPageHome.tsx
@@ -0,0 +1,73 @@
+import React from 'react';
+import { View, Text, StyleSheet, TouchableOpacity, Dimensions } from 'react-native';
+
+const SetterMainPage = () => {
+ return (
+
+ Main Page
+ Matching
+
+
+ 현재 제안서의 수락 현황은.....
+
+
+ {/* 버튼들 */}
+
+
+ 요청서 수락하기
+
+
+ 제안서 작성하기
+
+
+
+
+
+ );
+};
+
+const styles = StyleSheet.create({
+ container: {
+ flex: 1,
+ justifyContent: 'center',
+ alignItems: 'center',
+ },
+ header: {
+ fontSize: 30,
+ fontWeight: 'bold',
+ marginBottom: 10,
+ },
+ subHeader: {
+ fontSize: 20,
+ marginBottom: 20,
+ },
+ chartContainer: {
+ alignItems: 'center',
+ marginBottom: 30,
+ },
+ buttonContainer: {
+ flexDirection: 'row',
+ justifyContent: 'space-around',
+ width: '80%',
+ marginBottom: 20,
+ },
+ singleButtonContainer: {
+ alignItems: 'center',
+ width: '80%',
+ },
+ button: {
+ backgroundColor: '#e0e0e0',
+ padding: 10,
+ borderRadius: 10,
+ alignItems: 'center',
+ justifyContent: 'center',
+ width: 140,
+ height: 60,
+ },
+ buttonText: {
+ fontSize: 16,
+ fontWeight: 'bold',
+ },
+});
+
+export default SetterMainPage;
diff --git a/src/components/Home/MyPage/MyPageTabView.tsx b/src/components/Home/MyPage/MyPageTabView.tsx
new file mode 100644
index 0000000..9742670
--- /dev/null
+++ b/src/components/Home/MyPage/MyPageTabView.tsx
@@ -0,0 +1,79 @@
+import React, { useState } from 'react';
+import { SafeAreaView, View, Text, Image, ImageBackground } from 'react-native';
+import { Tabs, MaterialTabBar } from 'react-native-collapsible-tab-view';
+import { StackScreenProps } from '@react-navigation/stack';
+import { HomeStackParams } from '../../../pages/Home';
+
+import PortfolioPage from './PortfolioPage';
+import Review from './Review';
+
+export const ProfileSection = ({ navigation }: { navigation: any }) => {
+ const UserName = '닉네임';
+ const selfIntroduce = '인스타 link /n 블로그 link 링크드인 예정';
+
+
+ return (
+
+
+
+
+
+ {UserName}
+
+ {selfIntroduce}
+
+
+ );
+};
+
+const MyPageTabView = ({ navigation, route }: StackScreenProps) => {
+ const [routes] = useState([
+ { key: 'portfolio', title: 'Portfolio' },
+ { key: 'review', title: 'Review' }
+ ]);
+
+ return (
+
+ }
+ headerContainerStyle={{
+ shadowOpacity: 0,
+ borderBottomWidth: 1,
+ borderColor: '#D9D9D9'
+ }}
+ renderTabBar={props => (
+
+ )}
+ >
+ {routes.map(route => (
+
+ {route.key === 'portfolio' && }
+ {route.key === 'review' && }
+
+ ))}
+
+
+ );
+};
+
+export default MyPageTabView;
diff --git a/src/components/Home/MyPage/PortfolioPage.tsx b/src/components/Home/MyPage/PortfolioPage.tsx
new file mode 100644
index 0000000..3d31e60
--- /dev/null
+++ b/src/components/Home/MyPage/PortfolioPage.tsx
@@ -0,0 +1,82 @@
+import React from 'react';
+import { View, Text, Image, FlatList, TouchableOpacity } from 'react-native';
+import { Tabs } from 'react-native-collapsible-tab-view';
+import styled from 'styled-components/native';
+
+const PortfolioPage = () => {
+ const data = [
+ { label: '실력/경력', data: '한국패션디자인공모전 동상\n업씨패션회사 인턴 6개월' },
+ { label: '포트폴리오', data: 'portfolio' }
+ ];
+
+ // 로컬 이미지 데이터
+ const portfolioImages = [
+ { id: 1, source: require('../../../assets/Portfolio/Portfolio_1.jpg') },
+ { id: 2, source: require('../../../assets/Portfolio/Portfolio_2.jpg') },
+ { id: 3, source: require('../../../assets/Portfolio/Portfolio_3.jpg') },
+ { id: 4, source: require('../../../assets/Portfolio/Portfolio_4.jpg') },
+ ];
+
+ return (
+ {
+ if (item.label === '포트폴리오') {
+ return (
+
+ {item.label}
+ image.id.toString()}
+ renderItem={({ item: image }) => (
+
+
+
+
+
+ )}
+ />
+
+ );
+ } else {
+ return (
+
+ {item.label}
+ {item.data}
+
+ );
+ }
+ }}
+ keyExtractor={(item, index) => index.toString()}
+ />
+ );
+};
+
+// 스타일 정의
+const InfoSection = styled.View`
+ flex-direction: row;
+ justify-content: space-between;
+ padding: 16px;
+ border-bottom-width: 1px;
+ border-color: #DFDFDF;
+`;
+
+const PortfolioSection = styled.View`
+ padding: 16px;
+ border-bottom-width: 1px;
+ border-color: #DFDFDF;
+`;
+
+const ImageContainer = styled.View`
+ flex: 1;
+ margin: 5px;
+`;
+
+const PortfolioImage = styled.Image`
+ width: 100px;
+ height: 100px;
+ border-radius: 8px;
+`;
+
+export default PortfolioPage;
diff --git a/src/components/Home/MyPage/Review.tsx b/src/components/Home/MyPage/Review.tsx
new file mode 100644
index 0000000..ebcf46b
--- /dev/null
+++ b/src/components/Home/MyPage/Review.tsx
@@ -0,0 +1,88 @@
+import React from 'react';
+import { View, Text, FlatList } from 'react-native';
+import { Tabs } from 'react-native-collapsible-tab-view';
+import styled from 'styled-components/native';
+
+// 필요한 컴포넌트를 임포트하세요
+// import Slider from 'your-path';
+// import StarRating from 'your-path';
+// import ReviewComment from 'your-path';
+// import ReviewItem from 'your-path';
+
+// 상수 정의
+const LIGHTGRAY = '#D3D3D3';
+const BLACK = '#000000';
+
+// SummarySection 컴포넌트 정의
+const SummarySection = () => {
+ return (
+
+
+
+ 4.0
+
+
+ {[1, 2, 3, 4, 5].map((idx) => (
+
+ {idx}점
+ 3
+
+ ))}
+
+
+
+ 거래
+
+
+ 디자인
+
+
+ );
+};
+
+// 스타일 정의
+const ItemContainer = styled.View`
+ flex-direction: row;
+ padding: 5px;
+`;
+
+const Container = styled.View`
+ padding-vertical: 20px;
+ padding-horizontal: 40px;
+ border-bottom-color: ${LIGHTGRAY};
+ border-bottom-width: 1px;
+`;
+
+const RatingContainer = styled.View`
+ align-items: center;
+ justify-content: center;
+ padding-vertical: 15px;
+`;
+
+const SliderContainer = styled.View`
+ padding-horizontal: 40px;
+ flex: 1;
+`;
+
+// Review 컴포넌트 정의
+interface ReviewProps {
+ flatListRef: React.RefObject>;
+}
+
+const Review: React.FC = ({ flatListRef }) => {
+ return (
+ index.toString()}
+ style={{ marginBottom: 60 }}
+ />
+ );
+};
+
+// Review 컴포넌트를 default export로 내보냅니다.
+export default Review;
diff --git a/yarn.lock b/yarn.lock
index bf94f37..b843edf 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -14,7 +14,7 @@
"@babel/highlight" "^7.24.7"
picocolors "^1.0.0"
-"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.25.2", "@babel/compat-data@^7.25.4":
+"@babel/compat-data@^7.20.5", "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.25.2", "@babel/compat-data@^7.25.4":
version "7.25.4"
"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.0.0-0 || ^8.0.0-0 <8.0.0", "@babel/core@^7.11.0", "@babel/core@^7.11.6", "@babel/core@^7.12.0", "@babel/core@^7.12.3", "@babel/core@^7.13.0", "@babel/core@^7.13.16", "@babel/core@^7.20.0", "@babel/core@^7.23.9", "@babel/core@^7.4.0 || ^8.0.0-0 <8.0.0", "@babel/core@^7.8.0":
@@ -62,7 +62,7 @@
"@babel/traverse" "^7.24.7"
"@babel/types" "^7.24.7"
-"@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.24.7", "@babel/helper-compilation-targets@^7.24.8", "@babel/helper-compilation-targets@^7.25.2":
+"@babel/helper-compilation-targets@^7.20.7", "@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.24.7", "@babel/helper-compilation-targets@^7.24.8", "@babel/helper-compilation-targets@^7.25.2":
version "7.25.2"
dependencies:
"@babel/compat-data" "^7.25.2"
@@ -98,6 +98,13 @@
lodash.debounce "^4.0.8"
resolve "^1.14.2"
+"@babel/helper-environment-visitor@^7.18.9":
+ version "7.24.7"
+ resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz"
+ integrity sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==
+ dependencies:
+ "@babel/types" "^7.24.7"
+
"@babel/helper-member-expression-to-functions@^7.24.8":
version "7.24.8"
dependencies:
@@ -126,7 +133,7 @@
"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.24.7", "@babel/helper-plugin-utils@^7.24.8", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3":
version "7.24.8"
-"@babel/helper-remap-async-to-generator@^7.24.7", "@babel/helper-remap-async-to-generator@^7.25.0":
+"@babel/helper-remap-async-to-generator@^7.18.9", "@babel/helper-remap-async-to-generator@^7.24.7", "@babel/helper-remap-async-to-generator@^7.25.0":
version "7.25.0"
dependencies:
"@babel/helper-annotate-as-pure" "^7.24.7"
@@ -216,7 +223,17 @@
"@babel/helper-plugin-utils" "^7.24.8"
"@babel/traverse" "^7.25.0"
-"@babel/plugin-proposal-class-properties@^7.13.0":
+"@babel/plugin-proposal-async-generator-functions@^7.0.0":
+ version "7.20.7"
+ resolved "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz"
+ integrity sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==
+ dependencies:
+ "@babel/helper-environment-visitor" "^7.18.9"
+ "@babel/helper-plugin-utils" "^7.20.2"
+ "@babel/helper-remap-async-to-generator" "^7.18.9"
+ "@babel/plugin-syntax-async-generators" "^7.8.4"
+
+"@babel/plugin-proposal-class-properties@^7.13.0", "@babel/plugin-proposal-class-properties@^7.18.0":
version "7.18.6"
dependencies:
"@babel/helper-create-class-features-plugin" "^7.18.6"
@@ -228,13 +245,40 @@
"@babel/helper-plugin-utils" "^7.24.7"
"@babel/plugin-syntax-export-default-from" "^7.24.7"
-"@babel/plugin-proposal-nullish-coalescing-operator@^7.13.8":
+"@babel/plugin-proposal-nullish-coalescing-operator@^7.13.8", "@babel/plugin-proposal-nullish-coalescing-operator@^7.18.0":
version "7.18.6"
dependencies:
"@babel/helper-plugin-utils" "^7.18.6"
"@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
-"@babel/plugin-proposal-optional-chaining@^7.13.12":
+"@babel/plugin-proposal-numeric-separator@^7.0.0":
+ version "7.18.6"
+ resolved "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz"
+ integrity sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.18.6"
+ "@babel/plugin-syntax-numeric-separator" "^7.10.4"
+
+"@babel/plugin-proposal-object-rest-spread@^7.20.0":
+ version "7.20.7"
+ resolved "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz"
+ integrity sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==
+ dependencies:
+ "@babel/compat-data" "^7.20.5"
+ "@babel/helper-compilation-targets" "^7.20.7"
+ "@babel/helper-plugin-utils" "^7.20.2"
+ "@babel/plugin-syntax-object-rest-spread" "^7.8.3"
+ "@babel/plugin-transform-parameters" "^7.20.7"
+
+"@babel/plugin-proposal-optional-catch-binding@^7.0.0":
+ version "7.18.6"
+ resolved "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz"
+ integrity sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.18.6"
+ "@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
+
+"@babel/plugin-proposal-optional-chaining@^7.13.12", "@babel/plugin-proposal-optional-chaining@^7.20.0":
version "7.21.0"
dependencies:
"@babel/helper-plugin-utils" "^7.20.2"
@@ -360,7 +404,7 @@
"@babel/helper-create-regexp-features-plugin" "^7.18.6"
"@babel/helper-plugin-utils" "^7.18.6"
-"@babel/plugin-transform-arrow-functions@^7.0.0", "@babel/plugin-transform-arrow-functions@^7.24.7":
+"@babel/plugin-transform-arrow-functions@^7.0.0", "@babel/plugin-transform-arrow-functions@^7.0.0-0", "@babel/plugin-transform-arrow-functions@^7.24.7":
version "7.24.7"
dependencies:
"@babel/helper-plugin-utils" "^7.24.7"
@@ -390,7 +434,7 @@
dependencies:
"@babel/helper-plugin-utils" "^7.24.8"
-"@babel/plugin-transform-class-properties@^7.24.1", "@babel/plugin-transform-class-properties@^7.25.4":
+"@babel/plugin-transform-class-properties@^7.0.0-0", "@babel/plugin-transform-class-properties@^7.24.1", "@babel/plugin-transform-class-properties@^7.25.4":
version "7.25.4"
dependencies:
"@babel/helper-create-class-features-plugin" "^7.25.4"
@@ -403,7 +447,7 @@
"@babel/helper-plugin-utils" "^7.24.7"
"@babel/plugin-syntax-class-static-block" "^7.14.5"
-"@babel/plugin-transform-classes@^7.0.0", "@babel/plugin-transform-classes@^7.25.4":
+"@babel/plugin-transform-classes@^7.0.0", "@babel/plugin-transform-classes@^7.0.0-0", "@babel/plugin-transform-classes@^7.25.4":
version "7.25.4"
dependencies:
"@babel/helper-annotate-as-pure" "^7.24.7"
@@ -538,7 +582,7 @@
dependencies:
"@babel/helper-plugin-utils" "^7.24.7"
-"@babel/plugin-transform-nullish-coalescing-operator@^7.24.1", "@babel/plugin-transform-nullish-coalescing-operator@^7.24.7":
+"@babel/plugin-transform-nullish-coalescing-operator@^7.0.0-0", "@babel/plugin-transform-nullish-coalescing-operator@^7.24.1", "@babel/plugin-transform-nullish-coalescing-operator@^7.24.7":
version "7.24.7"
dependencies:
"@babel/helper-plugin-utils" "^7.24.7"
@@ -570,14 +614,14 @@
"@babel/helper-plugin-utils" "^7.24.7"
"@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
-"@babel/plugin-transform-optional-chaining@^7.24.5", "@babel/plugin-transform-optional-chaining@^7.24.7", "@babel/plugin-transform-optional-chaining@^7.24.8":
+"@babel/plugin-transform-optional-chaining@^7.0.0-0", "@babel/plugin-transform-optional-chaining@^7.24.5", "@babel/plugin-transform-optional-chaining@^7.24.7", "@babel/plugin-transform-optional-chaining@^7.24.8":
version "7.24.8"
dependencies:
"@babel/helper-plugin-utils" "^7.24.8"
"@babel/helper-skip-transparent-expression-wrappers" "^7.24.7"
"@babel/plugin-syntax-optional-chaining" "^7.8.3"
-"@babel/plugin-transform-parameters@^7.0.0", "@babel/plugin-transform-parameters@^7.24.7":
+"@babel/plugin-transform-parameters@^7.0.0", "@babel/plugin-transform-parameters@^7.20.7", "@babel/plugin-transform-parameters@^7.24.7":
version "7.24.7"
dependencies:
"@babel/helper-plugin-utils" "^7.24.7"
@@ -646,7 +690,7 @@
babel-plugin-polyfill-regenerator "^0.6.1"
semver "^6.3.1"
-"@babel/plugin-transform-shorthand-properties@^7.0.0", "@babel/plugin-transform-shorthand-properties@^7.24.7":
+"@babel/plugin-transform-shorthand-properties@^7.0.0", "@babel/plugin-transform-shorthand-properties@^7.0.0-0", "@babel/plugin-transform-shorthand-properties@^7.24.7":
version "7.24.7"
dependencies:
"@babel/helper-plugin-utils" "^7.24.7"
@@ -662,7 +706,7 @@
dependencies:
"@babel/helper-plugin-utils" "^7.24.7"
-"@babel/plugin-transform-template-literals@^7.24.7":
+"@babel/plugin-transform-template-literals@^7.0.0-0", "@babel/plugin-transform-template-literals@^7.24.7":
version "7.24.7"
dependencies:
"@babel/helper-plugin-utils" "^7.24.7"
@@ -692,7 +736,7 @@
"@babel/helper-create-regexp-features-plugin" "^7.24.7"
"@babel/helper-plugin-utils" "^7.24.7"
-"@babel/plugin-transform-unicode-regex@^7.0.0", "@babel/plugin-transform-unicode-regex@^7.24.7":
+"@babel/plugin-transform-unicode-regex@^7.0.0", "@babel/plugin-transform-unicode-regex@^7.0.0-0", "@babel/plugin-transform-unicode-regex@^7.24.7":
version "7.24.7"
dependencies:
"@babel/helper-create-regexp-features-plugin" "^7.24.7"
@@ -805,7 +849,7 @@
"@babel/types" "^7.4.4"
esutils "^2.0.2"
-"@babel/preset-typescript@^7.13.0":
+"@babel/preset-typescript@^7.13.0", "@babel/preset-typescript@^7.16.7":
version "7.24.7"
dependencies:
"@babel/helper-plugin-utils" "^7.24.7"
@@ -866,6 +910,23 @@
dependencies:
"@types/hammerjs" "^2.0.36"
+"@emotion/is-prop-valid@1.2.2":
+ version "1.2.2"
+ resolved "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.2.tgz"
+ integrity sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw==
+ dependencies:
+ "@emotion/memoize" "^0.8.1"
+
+"@emotion/memoize@^0.8.1":
+ version "0.8.1"
+ resolved "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz"
+ integrity sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==
+
+"@emotion/unitless@0.8.1":
+ version "0.8.1"
+ resolved "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.1.tgz"
+ integrity sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==
+
"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0":
version "4.4.0"
dependencies:
@@ -1552,6 +1613,14 @@
resolved "https://registry.npmjs.org/@types/hammerjs/-/hammerjs-2.0.45.tgz"
integrity sha512-qkcUlZmX6c4J8q45taBKTL3p+LbITgyx7qhlPYOdOHZB7B31K0mXbP5YA7i7SgDeEGuI9MnumiKPEMrxg8j3KQ==
+"@types/hoist-non-react-statics@*":
+ version "3.3.5"
+ resolved "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.5.tgz"
+ integrity sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg==
+ dependencies:
+ "@types/react" "*"
+ hoist-non-react-statics "^3.3.0"
+
"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1":
version "2.0.6"
@@ -1598,6 +1667,20 @@
"@types/stack-utils@^2.0.0":
version "2.0.3"
+"@types/styled-components@^5.1.34":
+ version "5.1.34"
+ resolved "https://registry.npmjs.org/@types/styled-components/-/styled-components-5.1.34.tgz"
+ integrity sha512-mmiVvwpYklFIv9E8qfxuPyIt/OuyIrn6gMOAMOFUO3WJfSrSE+sGUoa4PiZj77Ut7bKZpaa6o1fBKS/4TOEvnA==
+ dependencies:
+ "@types/hoist-non-react-statics" "*"
+ "@types/react" "*"
+ csstype "^3.0.2"
+
+"@types/stylis@4.2.5":
+ version "4.2.5"
+ resolved "https://registry.npmjs.org/@types/stylis/-/stylis-4.2.5.tgz"
+ integrity sha512-1Xve+NMN7FWjY14vLoY5tL3BVEQ/n42YLwaqJIPYhotZ9uBHt87VceMwWQpzmdEt2TNXIorIFG+YeCUUW7RInw==
+
"@types/yargs-parser@*":
version "21.0.3"
@@ -2052,6 +2135,11 @@ camelcase@^5.0.0, camelcase@^5.3.1:
camelcase@^6.2.0:
version "6.3.0"
+camelize@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz"
+ integrity sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==
+
caniuse-lite@^1.0.30001646:
version "1.0.30001663"
@@ -2264,6 +2352,11 @@ cross-spawn@^7.0.2, cross-spawn@^7.0.3:
shebang-command "^2.0.0"
which "^2.0.1"
+css-color-keywords@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz"
+ integrity sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==
+
css-select@^5.1.0:
version "5.1.0"
resolved "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz"
@@ -2275,6 +2368,15 @@ css-select@^5.1.0:
domutils "^3.0.1"
nth-check "^2.0.1"
+css-to-react-native@3.2.0:
+ version "3.2.0"
+ resolved "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.2.0.tgz"
+ integrity sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==
+ dependencies:
+ camelize "^1.0.0"
+ css-color-keywords "^1.0.0"
+ postcss-value-parser "^4.0.2"
+
css-tree@^1.1.3:
version "1.1.3"
resolved "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz"
@@ -2288,7 +2390,7 @@ css-what@^6.1.0:
resolved "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz"
integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==
-csstype@^3.0.2:
+csstype@^3.0.2, csstype@3.1.3:
version "3.1.3"
data-view-buffer@^1.0.1:
@@ -2377,6 +2479,11 @@ denodeify@^1.2.1:
depd@2.0.0:
version "2.0.0"
+dequal@2.0.3:
+ version "2.0.3"
+ resolved "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz"
+ integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==
+
destroy@1.2.0:
version "1.2.0"
@@ -3913,6 +4020,51 @@ metro-minify-terser@0.80.12:
flow-enums-runtime "^0.0.6"
terser "^5.15.0"
+metro-react-native-babel-preset@^0.77.0:
+ version "0.77.0"
+ resolved "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.77.0.tgz"
+ integrity sha512-HPPD+bTxADtoE4y/4t1txgTQ1LVR6imOBy7RMHUsqMVTbekoi8Ph5YI9vKX2VMPtVWeFt0w9YnCSLPa76GcXsA==
+ dependencies:
+ "@babel/core" "^7.20.0"
+ "@babel/plugin-proposal-async-generator-functions" "^7.0.0"
+ "@babel/plugin-proposal-class-properties" "^7.18.0"
+ "@babel/plugin-proposal-export-default-from" "^7.0.0"
+ "@babel/plugin-proposal-nullish-coalescing-operator" "^7.18.0"
+ "@babel/plugin-proposal-numeric-separator" "^7.0.0"
+ "@babel/plugin-proposal-object-rest-spread" "^7.20.0"
+ "@babel/plugin-proposal-optional-catch-binding" "^7.0.0"
+ "@babel/plugin-proposal-optional-chaining" "^7.20.0"
+ "@babel/plugin-syntax-dynamic-import" "^7.8.0"
+ "@babel/plugin-syntax-export-default-from" "^7.0.0"
+ "@babel/plugin-syntax-flow" "^7.18.0"
+ "@babel/plugin-syntax-nullish-coalescing-operator" "^7.0.0"
+ "@babel/plugin-syntax-optional-chaining" "^7.0.0"
+ "@babel/plugin-transform-arrow-functions" "^7.0.0"
+ "@babel/plugin-transform-async-to-generator" "^7.20.0"
+ "@babel/plugin-transform-block-scoping" "^7.0.0"
+ "@babel/plugin-transform-classes" "^7.0.0"
+ "@babel/plugin-transform-computed-properties" "^7.0.0"
+ "@babel/plugin-transform-destructuring" "^7.20.0"
+ "@babel/plugin-transform-flow-strip-types" "^7.20.0"
+ "@babel/plugin-transform-function-name" "^7.0.0"
+ "@babel/plugin-transform-literals" "^7.0.0"
+ "@babel/plugin-transform-modules-commonjs" "^7.0.0"
+ "@babel/plugin-transform-named-capturing-groups-regex" "^7.0.0"
+ "@babel/plugin-transform-parameters" "^7.0.0"
+ "@babel/plugin-transform-react-display-name" "^7.0.0"
+ "@babel/plugin-transform-react-jsx" "^7.0.0"
+ "@babel/plugin-transform-react-jsx-self" "^7.0.0"
+ "@babel/plugin-transform-react-jsx-source" "^7.0.0"
+ "@babel/plugin-transform-runtime" "^7.0.0"
+ "@babel/plugin-transform-shorthand-properties" "^7.0.0"
+ "@babel/plugin-transform-spread" "^7.0.0"
+ "@babel/plugin-transform-sticky-regex" "^7.0.0"
+ "@babel/plugin-transform-typescript" "^7.5.0"
+ "@babel/plugin-transform-unicode-regex" "^7.0.0"
+ "@babel/template" "^7.0.0"
+ babel-plugin-transform-flow-enums "^0.0.2"
+ react-refresh "^0.4.0"
+
metro-resolver@0.80.12:
version "0.80.12"
dependencies:
@@ -4074,7 +4226,7 @@ ms@^2.1.3, ms@2.1.3:
ms@2.0.0:
version "2.0.0"
-nanoid@^3.1.23:
+nanoid@^3.1.23, nanoid@^3.3.7:
version "3.3.7"
resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz"
integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==
@@ -4350,6 +4502,20 @@ point-in-polygon@^1.0.1:
possible-typed-array-names@^1.0.0:
version "1.0.0"
+postcss-value-parser@^4.0.2:
+ version "4.2.0"
+ resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz"
+ integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
+
+postcss@8.4.38:
+ version "8.4.38"
+ resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz"
+ integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==
+ dependencies:
+ nanoid "^3.3.7"
+ picocolors "^1.0.0"
+ source-map-js "^1.2.0"
+
prelude-ls@^1.2.1:
version "1.2.1"
@@ -4443,6 +4609,14 @@ react-devtools-core@^5.3.1:
shell-quote "^1.6.1"
ws "^7"
+"react-dom@>= 16.8.0":
+ version "18.3.1"
+ resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz"
+ integrity sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==
+ dependencies:
+ loose-envify "^1.1.0"
+ scheduler "^0.23.2"
+
react-freeze@^1.0.0:
version "1.0.4"
resolved "https://registry.npmjs.org/react-freeze/-/react-freeze-1.0.4.tgz"
@@ -4476,6 +4650,13 @@ react-native-chart-kit@^6.12.0:
paths-js "^0.4.10"
point-in-polygon "^1.0.1"
+react-native-collapsible-tab-view@^8.0.0:
+ version "8.0.0"
+ resolved "https://registry.npmjs.org/react-native-collapsible-tab-view/-/react-native-collapsible-tab-view-8.0.0.tgz"
+ integrity sha512-p3/CfBtCn/7qAllFeBM8KI4cCqqYfE0gzO/bh/oX6ewk2hE7HF0QQpZBGZlLdLJDo1lUXRlTSP2VLAYgky2maw==
+ dependencies:
+ use-deep-compare "^1.1.0"
+
"react-native-gesture-handler@>= 1.5.0":
version "2.19.0"
resolved "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-2.19.0.tgz"
@@ -4491,6 +4672,28 @@ react-native-iphone-x-helper@^1.3.0:
resolved "https://registry.npmjs.org/react-native-iphone-x-helper/-/react-native-iphone-x-helper-1.3.1.tgz"
integrity sha512-HOf0jzRnq2/aFUcdCJ9w9JGzN3gdEg0zFE4FyYlp4jtidqU03D5X7ZegGKfT1EWteR0gPBGp9ye5T5FvSWi9Yg==
+react-native-pager-view@*, react-native-pager-view@^6.4.1:
+ version "6.4.1"
+ resolved "https://registry.npmjs.org/react-native-pager-view/-/react-native-pager-view-6.4.1.tgz"
+ integrity sha512-HnDxXTRHnR6WJ/vnOitv0C32KG9MJjxLnxswuQlBJmQ7RxF2GWOHSPIRAdZ9fLxdLstV38z9Oz1C95+t+yXkcg==
+
+react-native-reanimated@^3.15.3, react-native-reanimated@>=3.8.1:
+ version "3.15.3"
+ resolved "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-3.15.3.tgz"
+ integrity sha512-5QBk/7PZvZ98Adxm4MRyglwzsRzReTQIe4Hd2wbBBAZ68IC4OYKvsc8cPEjgx3/1mG8HgHFYhbcDe5U2RjeFqw==
+ dependencies:
+ "@babel/plugin-transform-arrow-functions" "^7.0.0-0"
+ "@babel/plugin-transform-class-properties" "^7.0.0-0"
+ "@babel/plugin-transform-classes" "^7.0.0-0"
+ "@babel/plugin-transform-nullish-coalescing-operator" "^7.0.0-0"
+ "@babel/plugin-transform-optional-chaining" "^7.0.0-0"
+ "@babel/plugin-transform-shorthand-properties" "^7.0.0-0"
+ "@babel/plugin-transform-template-literals" "^7.0.0-0"
+ "@babel/plugin-transform-unicode-regex" "^7.0.0-0"
+ "@babel/preset-typescript" "^7.16.7"
+ convert-source-map "^2.0.0"
+ invariant "^2.2.4"
+
react-native-safe-area-context@^4.11.0, "react-native-safe-area-context@>= 0.6.0", "react-native-safe-area-context@>= 3.0.0":
version "4.11.0"
resolved "https://registry.npmjs.org/react-native-safe-area-context/-/react-native-safe-area-context-4.11.0.tgz"
@@ -4590,6 +4793,11 @@ react-navigation@^4.1.1, react-navigation@^4.4.4:
react-refresh@^0.14.0:
version "0.14.2"
+react-refresh@^0.4.0:
+ version "0.4.3"
+ resolved "https://registry.npmjs.org/react-refresh/-/react-refresh-0.4.3.tgz"
+ integrity sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA==
+
react-shallow-renderer@^16.15.0:
version "16.15.0"
dependencies:
@@ -4603,7 +4811,7 @@ react-test-renderer@18.3.1:
react-shallow-renderer "^16.15.0"
scheduler "^0.23.2"
-react@*, "react@^16.0.0 || ^17.0.0 || ^18.0.0", react@^18.2.0, react@^18.3.1, "react@> 16.7.0", react@>=16.0, react@>=16.8, react@>=17.0.0, react@18.3.1:
+react@*, "react@^16.0.0 || ^17.0.0 || ^18.0.0", react@^18.2.0, react@^18.3.1, "react@> 16.7.0", "react@>= 16.8.0", react@>=16.0, react@>=16.8, react@>=16.8.0, react@>=17.0.0, react@18.3.1:
version "18.3.1"
dependencies:
loose-envify "^1.1.0"
@@ -4774,6 +4982,8 @@ safe-regex-test@^1.0.3:
scheduler@^0.23.2:
version "0.23.2"
+ resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz"
+ integrity sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==
dependencies:
loose-envify "^1.1.0"
@@ -4869,6 +5079,11 @@ shallow-clone@^3.0.0:
dependencies:
kind-of "^6.0.2"
+shallowequal@1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz"
+ integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==
+
shebang-command@^2.0.0:
version "2.0.0"
dependencies:
@@ -4911,6 +5126,11 @@ slice-ansi@^2.0.0:
astral-regex "^1.0.0"
is-fullwidth-code-point "^2.0.0"
+source-map-js@^1.2.0:
+ version "1.2.1"
+ resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz"
+ integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==
+
source-map-support@^0.5.16, source-map-support@~0.5.20:
version "0.5.21"
dependencies:
@@ -5058,6 +5278,26 @@ strip-json-comments@^3.1.1:
strnum@^1.0.5:
version "1.0.5"
+styled-components@^6.1.13:
+ version "6.1.13"
+ resolved "https://registry.npmjs.org/styled-components/-/styled-components-6.1.13.tgz"
+ integrity sha512-M0+N2xSnAtwcVAQeFEsGWFFxXDftHUD7XrKla06QbpUMmbmtFBMMTcKWvFXtWxuD5qQkB8iU5gk6QASlx2ZRMw==
+ dependencies:
+ "@emotion/is-prop-valid" "1.2.2"
+ "@emotion/unitless" "0.8.1"
+ "@types/stylis" "4.2.5"
+ css-to-react-native "3.2.0"
+ csstype "3.1.3"
+ postcss "8.4.38"
+ shallowequal "1.1.0"
+ stylis "4.3.2"
+ tslib "2.6.2"
+
+stylis@4.3.2:
+ version "4.3.2"
+ resolved "https://registry.npmjs.org/stylis/-/stylis-4.3.2.tgz"
+ integrity sha512-bhtUjWd/z6ltJiQwg0dUfxEJ+W+jdqQd8TbWLWyeIJHlnsqmGLRFFd8e5mA0AZi/zx90smXRlN66YMTcaSFifg==
+
sudo-prompt@^9.0.0:
version "9.2.1"
@@ -5137,6 +5377,11 @@ tslib@^1.8.1:
tslib@^2.0.1:
version "2.7.0"
+tslib@2.6.2:
+ version "2.6.2"
+ resolved "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz"
+ integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==
+
tsutils@^3.21.0:
version "3.21.0"
dependencies:
@@ -5241,6 +5486,13 @@ uri-js@^4.2.2:
dependencies:
punycode "^2.1.0"
+use-deep-compare@^1.1.0:
+ version "1.3.0"
+ resolved "https://registry.npmjs.org/use-deep-compare/-/use-deep-compare-1.3.0.tgz"
+ integrity sha512-94iG+dEdEP/Sl3WWde+w9StIunlV8Dgj+vkt5wTwMoFQLaijiEZSXXy8KtcStpmEDtIptRJiNeD4ACTtVvnIKA==
+ dependencies:
+ dequal "2.0.3"
+
use-latest-callback@^0.2.1:
version "0.2.1"
resolved "https://registry.npmjs.org/use-latest-callback/-/use-latest-callback-0.2.1.tgz"