From 07401c2aa9d0675d4b11e4c810837407cbb44102 Mon Sep 17 00:00:00 2001 From: jungyungee Date: Sun, 26 Oct 2025 00:44:05 +0900 Subject: [PATCH 01/11] =?UTF-8?q?[FEAT]=20=EC=98=A4=EB=A5=98=20=EC=82=AC?= =?UTF-8?q?=ED=95=AD=20=EC=88=98=EC=A0=95=20=EB=B0=8F=20=EC=BD=94=EB=93=9C?= =?UTF-8?q?=20=EB=B3=B5=EC=9B=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .DS_Store | Bin 0 -> 6148 bytes README.md | 69 + react-messenger/.gitignore | 24 + react-messenger/README.md | 73 + react-messenger/eslint.config.js | 23 + react-messenger/index.html | 13 + react-messenger/package-lock.json | 4045 +++++++++++++++++ react-messenger/package.json | 37 + .../public/avatars/sample_image.png | Bin 0 -> 353238 bytes .../public/avatars/sample_image2.jpg | Bin 0 -> 8673 bytes react-messenger/public/data/conversation.json | 14 + react-messenger/public/data/messages.json | 108 + .../public/data/messages/chat_1.json | 108 + .../public/data/messages/chat_2.json | 42 + react-messenger/public/data/users.json | 14 + react-messenger/src/App.css | 0 react-messenger/src/App.tsx | 21 + .../src/assets/icons/CameraIcon.tsx | 43 + .../assets/icons/ContactAction/CallIcon.tsx | 23 + .../assets/icons/ContactAction/LeftIcon.tsx | 19 + .../icons/ContactAction/ProfileIcon.tsx | 25 + .../assets/icons/ContactAction/RightIcon.tsx | 19 + .../assets/icons/ContactAction/SearchIcon.tsx | 25 + .../assets/icons/ContactAction/VideoIcon.tsx | 31 + .../src/assets/icons/Main/more.svg | 3 + react-messenger/src/assets/icons/PlusIcon.tsx | 19 + react-messenger/src/assets/icons/SendIcon.tsx | 27 + .../src/assets/icons/ShowAllIcon.tsx | 19 + .../src/assets/icons/StickerIcon.tsx | 25 + .../src/components/chatList/BottomBar.tsx | 51 + .../src/components/chatList/ChatItem.tsx | 52 + .../src/components/chatList/chatFilter.tsx | 33 + .../src/components/chatRoom/ContactAction.tsx | 69 + .../src/components/chatRoom/DateDivider.tsx | 28 + .../src/components/chatRoom/MessageInput.tsx | 65 + .../src/components/chatRoom/ReceivedChat.tsx | 62 + .../src/components/chatRoom/SentChat.tsx | 51 + react-messenger/src/global.d.ts | 8 + react-messenger/src/index.css | 11 + react-messenger/src/main.tsx | 10 + react-messenger/src/pages/ChatList.tsx | 119 + react-messenger/src/pages/ChatRoom.tsx | 135 + react-messenger/src/pages/Profile.tsx | 9 + react-messenger/src/pages/ProfilePhoto.tsx | 9 + react-messenger/src/routes/index.tsx | 24 + react-messenger/src/styles/components.css | 105 + react-messenger/src/styles/theme.css | 62 + react-messenger/src/types/chat.ts | 15 + react-messenger/tailwind.config.js | 8 + react-messenger/tsconfig.app.json | 28 + react-messenger/tsconfig.json | 7 + react-messenger/tsconfig.node.json | 26 + react-messenger/vite.config.ts | 8 + 53 files changed, 5864 insertions(+) create mode 100644 .DS_Store create mode 100644 README.md create mode 100644 react-messenger/.gitignore create mode 100644 react-messenger/README.md create mode 100644 react-messenger/eslint.config.js create mode 100644 react-messenger/index.html create mode 100644 react-messenger/package-lock.json create mode 100644 react-messenger/package.json create mode 100644 react-messenger/public/avatars/sample_image.png create mode 100644 react-messenger/public/avatars/sample_image2.jpg create mode 100644 react-messenger/public/data/conversation.json create mode 100644 react-messenger/public/data/messages.json create mode 100644 react-messenger/public/data/messages/chat_1.json create mode 100644 react-messenger/public/data/messages/chat_2.json create mode 100644 react-messenger/public/data/users.json create mode 100644 react-messenger/src/App.css create mode 100644 react-messenger/src/App.tsx create mode 100644 react-messenger/src/assets/icons/CameraIcon.tsx create mode 100644 react-messenger/src/assets/icons/ContactAction/CallIcon.tsx create mode 100644 react-messenger/src/assets/icons/ContactAction/LeftIcon.tsx create mode 100644 react-messenger/src/assets/icons/ContactAction/ProfileIcon.tsx create mode 100644 react-messenger/src/assets/icons/ContactAction/RightIcon.tsx create mode 100644 react-messenger/src/assets/icons/ContactAction/SearchIcon.tsx create mode 100644 react-messenger/src/assets/icons/ContactAction/VideoIcon.tsx create mode 100644 react-messenger/src/assets/icons/Main/more.svg create mode 100644 react-messenger/src/assets/icons/PlusIcon.tsx create mode 100644 react-messenger/src/assets/icons/SendIcon.tsx create mode 100644 react-messenger/src/assets/icons/ShowAllIcon.tsx create mode 100644 react-messenger/src/assets/icons/StickerIcon.tsx create mode 100644 react-messenger/src/components/chatList/BottomBar.tsx create mode 100644 react-messenger/src/components/chatList/ChatItem.tsx create mode 100644 react-messenger/src/components/chatList/chatFilter.tsx create mode 100644 react-messenger/src/components/chatRoom/ContactAction.tsx create mode 100644 react-messenger/src/components/chatRoom/DateDivider.tsx create mode 100644 react-messenger/src/components/chatRoom/MessageInput.tsx create mode 100644 react-messenger/src/components/chatRoom/ReceivedChat.tsx create mode 100644 react-messenger/src/components/chatRoom/SentChat.tsx create mode 100644 react-messenger/src/global.d.ts create mode 100644 react-messenger/src/index.css create mode 100644 react-messenger/src/main.tsx create mode 100644 react-messenger/src/pages/ChatList.tsx create mode 100644 react-messenger/src/pages/ChatRoom.tsx create mode 100644 react-messenger/src/pages/Profile.tsx create mode 100644 react-messenger/src/pages/ProfilePhoto.tsx create mode 100644 react-messenger/src/routes/index.tsx create mode 100644 react-messenger/src/styles/components.css create mode 100644 react-messenger/src/styles/theme.css create mode 100644 react-messenger/src/types/chat.ts create mode 100644 react-messenger/tailwind.config.js create mode 100644 react-messenger/tsconfig.app.json create mode 100644 react-messenger/tsconfig.json create mode 100644 react-messenger/tsconfig.node.json create mode 100644 react-messenger/vite.config.ts diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..02a27d27a11387c46f33852c1072907a67134637 GIT binary patch literal 6148 zcmeHK&2G~`5S~o~wN)W<0IA27xTZfjn1JBmrs;tLm%1tkS_QkdiiPW~Y^OOyk$i?% z;Q@FOUI)I}-Bv9v>Mc^MooM!(ot@d$e(UTH5sA?>9T4@1$b&L=d=z&Gx3k`oj`ehb zLif?o2AxqxHGWPW0t38u&#A(i#dJc~*Ds@zPT{XU6zU`?RDwwUOx{BWf3(25H#?ct z=QjISa$e+hv%URWbXK}gp00YU-kNtDeO0rliJNIXimT6DJ5Z`fF6}ru%(K~~_hMI- zO`Mlmr4#ZrL&(vmyiC<>q^4zB>)gmRc)sUPdh7G~FbMi`5WHRV<^1)VVP6KrV6pJM zm#?E$ zC6RNa#n57F5G@d4Qh_E_*e8ZC>F`S%7g}r$nsgHO@geNU!oE<19v%Hl9Zn)N=t{?c zW8fwOE2i4x^MCLE@Bf=guI3nU3_L0ZM0XsGN0^d5TW?K{&squn0%hU2*5FkN41E+M fmXG3fs22Do8^F+FYY-lYy9j6+T;Uj4Dg%E3sd#P$ literal 0 HcmV?d00001 diff --git a/README.md b/README.md new file mode 100644 index 00000000..3363b5e5 --- /dev/null +++ b/README.md @@ -0,0 +1,69 @@ +# 3주차 과제: React Messenger + +# 서론 + +안녕하세요 🙌🏻 22기 프론트엔트 운영진 **권동욱**입니다. 이번에는 드디어 투두리스트에서 벗어나 새로운 프로젝트인 **messenger** 만들기를 진행합니다. + +이번 주는 특별하게 **디자이너와의 협업**으로 진행되는 과제입니다. 디자이너분께서 열심히 리디자인 한 메신저 프로젝트를 여러분들께서 구현해주시면 됩니다. + +동시에, 이번 주부터는 **필수** **TypeScript** 와 **tailwind CSS**를 적용해보려고 합니다. + +프로젝트의 규모가 커지게 될수록, 컴포넌트가 가지는 props의 종류 또한 다양해지게 됩니다. 무지성 코딩을 하다 보면 가끔 이 props의 구성과 이름, 어떤 타입이 들어가야 하는지 헷갈리기 마련이죠. 보통 그럴 때 다시 컴포넌트 정의 부분으로 돌아가 props의 구성을 보고 오곤 합니다. + +하지만 이럴 때, typescript를 적용한다면 컴포넌트의 구성과 그 이름, 심지어 타입까지 한번에 자동완성으로 편리하게 관리할 수 있고, 생산성이 증대되겠죠. + +또한, **React Hooks**에 조금 더 익숙해지는 것을 목표로 합니다. 여러 Hook들이 있지만 그 중에서도 `useState`, `useEffect`, `useRef`를 중점적으로 사용해 보는 과제인데요, React를 사용하면서 굉장히 자주 쓰이는 Hook들이기 때문에 이 부분을 집중적으로 공부해 보아요! + +그럼 이번 과제도 파이팅입니다!!🎉 + +# 과제 + +## 목표 + +- TypeScript를 사용해봅시다. +- useState로 컴포넌트의 상태를 관리합니다. +- useEffect와 useRef의 사용법을 이해합니다. +- tailwind CSS의 사용법에 익숙해집니다. + +## 기한 + +- 2025년 9월 27일 토요일 23:59까지 + +## Review Questions + +- 디자이너로부터 전달받은 피그마 링크, 피그마 캡처본, 디자이너와의 소통 tmi 등 +- JSX, JS, TSX, TS 각각의 확장자 개념 사용이유와 차이점. +- TypeScript를 사용하는 이유. +- SSR과 CSR 특성 및 차이점. + +## 필수 구현 기능 + +- 피그마를 보고 [결과화면](https://react-messenger-21th-kwondu.vercel.app/)과 같이 구현합니다. +- 디자인 시스템을 구축합니다. +- tailwind CSS를 사용합니다. +- 메세지를 보내면 채팅방 하단으로 스크롤을 이동시킵니다. +- 메세지에 유저 정보(프로필 사진, 이름)를 표시합니다. +- user와 message 데이터를 json 파일에 저장합니다. +- UI는 **반응형을 제외**하고 피그마파일을 따라서 진행합니다. + +### 추가 구현 기능 + +- 채팅방 상단의 프로필을 클릭하면 사용자를 변경할 수 있습니다. +- 더블 클릭 하면 감정표현을 추가합니다. +- 그 외 추가하고 싶은 기능이 있다면 마음껏 추가해 주세요! + +참고로 이번 과제는 다음 과제까지 이어지는 과제이므로 **확장성**을 충분히 고려해 주세요. 참고로 **4주차 과제에서는 유저 및 기능 추가와 Routing을** 진행합니다. 이를 위해 [zustand](https://zustand.docs.pmnd.rs/getting-started/introduction)를 이용한 상태관리를 미리 해보시는 것을 추천합니다!! + +## 링크 및 참고자료 + +- [React docs - Hook](https://ko.reactjs.org/docs/hooks-intro.html) +- [React의 Hooks 완벽 정복하기](https://velog.io/@velopert/react-hooks#1-usestate) +- [useEffect 완벽 가이드](https://overreacted.io/ko/a-complete-guide-to-useeffect/) +- [코딩 컨벤션](https://ui.toast.com/fe-guide/ko_CODING-CONVENTION) +- [타입스크립트 핸드북](https://joshua1988.github.io/ts/intro.html) +- [리액트 프로젝트에서 타입스크립트 사용하기 (시리즈)](https://velog.io/@velopert/series/react-with-typescript) +- [디자인 시스템 구축기](https://yozm.wishket.com/magazine/detail/1830/) +- [[영상] : 컴포넌트에 대한 이해](https://www.youtube.com/watch?v=21eiJc90ggo) +- [Styled Component로 디자인 시스템 구축하기](https://zaat.dev/blog/building-a-design-system-in-react-with-styled-components/) +- [Tailwind CSS 장단점, 사용법](https://wonny.space/writing/dev/hello-tailwind-css) +- [ts 절대경로 설정하기](https://tesseractjh.tistory.com/232) diff --git a/react-messenger/.gitignore b/react-messenger/.gitignore new file mode 100644 index 00000000..a547bf36 --- /dev/null +++ b/react-messenger/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/react-messenger/README.md b/react-messenger/README.md new file mode 100644 index 00000000..2075cee8 --- /dev/null +++ b/react-messenger/README.md @@ -0,0 +1,73 @@ +# React + TypeScript + Vite + +This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. + +Currently, two official plugins are available: + +- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Babel](https://babeljs.io/) for Fast Refresh +- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh + +## React Compiler + +The React Compiler is currently not compatible with SWC. See [this issue](https://github.com/vitejs/vite-plugin-react/issues/428) for tracking the progress. + +## Expanding the ESLint configuration + +If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules: + +```js +export default defineConfig([ + globalIgnores(['dist']), + { + files: ['**/*.{ts,tsx}'], + extends: [ + // Other configs... + + // Remove tseslint.configs.recommended and replace with this + tseslint.configs.recommendedTypeChecked, + // Alternatively, use this for stricter rules + tseslint.configs.strictTypeChecked, + // Optionally, add this for stylistic rules + tseslint.configs.stylisticTypeChecked, + + // Other configs... + ], + languageOptions: { + parserOptions: { + project: ['./tsconfig.node.json', './tsconfig.app.json'], + tsconfigRootDir: import.meta.dirname, + }, + // other options... + }, + }, +]) +``` + +You can also install [eslint-plugin-react-x](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x) and [eslint-plugin-react-dom](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) for React-specific lint rules: + +```js +// eslint.config.js +import reactX from 'eslint-plugin-react-x' +import reactDom from 'eslint-plugin-react-dom' + +export default defineConfig([ + globalIgnores(['dist']), + { + files: ['**/*.{ts,tsx}'], + extends: [ + // Other configs... + // Enable lint rules for React + reactX.configs['recommended-typescript'], + // Enable lint rules for React DOM + reactDom.configs.recommended, + ], + languageOptions: { + parserOptions: { + project: ['./tsconfig.node.json', './tsconfig.app.json'], + tsconfigRootDir: import.meta.dirname, + }, + // other options... + }, + }, +]) +``` diff --git a/react-messenger/eslint.config.js b/react-messenger/eslint.config.js new file mode 100644 index 00000000..b19330b1 --- /dev/null +++ b/react-messenger/eslint.config.js @@ -0,0 +1,23 @@ +import js from '@eslint/js' +import globals from 'globals' +import reactHooks from 'eslint-plugin-react-hooks' +import reactRefresh from 'eslint-plugin-react-refresh' +import tseslint from 'typescript-eslint' +import { defineConfig, globalIgnores } from 'eslint/config' + +export default defineConfig([ + globalIgnores(['dist']), + { + files: ['**/*.{ts,tsx}'], + extends: [ + js.configs.recommended, + tseslint.configs.recommended, + reactHooks.configs['recommended-latest'], + reactRefresh.configs.vite, + ], + languageOptions: { + ecmaVersion: 2020, + globals: globals.browser, + }, + }, +]) diff --git a/react-messenger/index.html b/react-messenger/index.html new file mode 100644 index 00000000..5e2c57ee --- /dev/null +++ b/react-messenger/index.html @@ -0,0 +1,13 @@ + + + + + + + react-messenger + + +
+ + + diff --git a/react-messenger/package-lock.json b/react-messenger/package-lock.json new file mode 100644 index 00000000..4c91f7e3 --- /dev/null +++ b/react-messenger/package-lock.json @@ -0,0 +1,4045 @@ +{ + "name": "react-messenger", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "react-messenger", + "version": "0.0.0", + "dependencies": { + "@tailwindcss/line-clamp": "^0.4.4", + "pretendard": "^1.3.9", + "react": "^19.1.1", + "react-dom": "^19.1.1", + "react-router-dom": "^7.9.4" + }, + "devDependencies": { + "@eslint/js": "^9.36.0", + "@swc/core": "^1.13.19", + "@tailwindcss/postcss": "^4.1.13", + "@tailwindcss/vite": "^4.1.13", + "@types/react": "^19.1.13", + "@types/react-dom": "^19.1.9", + "@vitejs/plugin-react-swc": "^4.1.0", + "autoprefixer": "^10.4.21", + "eslint": "^9.36.0", + "eslint-plugin-react-hooks": "^5.2.0", + "eslint-plugin-react-refresh": "^0.4.20", + "globals": "^16.4.0", + "tailwindcss": "^4.1.13", + "typescript": "~5.8.3", + "typescript-eslint": "^8.44.0", + "vite": "^7.1.12" + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.10.tgz", + "integrity": "sha512-0NFWnA+7l41irNuaSVlLfgNT12caWJVLzp5eAVhZ0z1qpxbockccEt3s+149rE64VUI3Ml2zt8Nv5JVc4QXTsw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.10.tgz", + "integrity": "sha512-dQAxF1dW1C3zpeCDc5KqIYuZ1tgAdRXNoZP7vkBIRtKZPYe2xVr/d3SkirklCHudW1B45tGiUlz2pUWDfbDD4w==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.10.tgz", + "integrity": "sha512-LSQa7eDahypv/VO6WKohZGPSJDq5OVOo3UoFR1E4t4Gj1W7zEQMUhI+lo81H+DtB+kP+tDgBp+M4oNCwp6kffg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.10.tgz", + "integrity": "sha512-MiC9CWdPrfhibcXwr39p9ha1x0lZJ9KaVfvzA0Wxwz9ETX4v5CHfF09bx935nHlhi+MxhA63dKRRQLiVgSUtEg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.10.tgz", + "integrity": "sha512-JC74bdXcQEpW9KkV326WpZZjLguSZ3DfS8wrrvPMHgQOIEIG/sPXEN/V8IssoJhbefLRcRqw6RQH2NnpdprtMA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.10.tgz", + "integrity": "sha512-tguWg1olF6DGqzws97pKZ8G2L7Ig1vjDmGTwcTuYHbuU6TTjJe5FXbgs5C1BBzHbJ2bo1m3WkQDbWO2PvamRcg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.10.tgz", + "integrity": "sha512-3ZioSQSg1HT2N05YxeJWYR+Libe3bREVSdWhEEgExWaDtyFbbXWb49QgPvFH8u03vUPX10JhJPcz7s9t9+boWg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.10.tgz", + "integrity": "sha512-LLgJfHJk014Aa4anGDbh8bmI5Lk+QidDmGzuC2D+vP7mv/GeSN+H39zOf7pN5N8p059FcOfs2bVlrRr4SK9WxA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.10.tgz", + "integrity": "sha512-oR31GtBTFYCqEBALI9r6WxoU/ZofZl962pouZRTEYECvNF/dtXKku8YXcJkhgK/beU+zedXfIzHijSRapJY3vg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.10.tgz", + "integrity": "sha512-5luJWN6YKBsawd5f9i4+c+geYiVEw20FVW5x0v1kEMWNq8UctFjDiMATBxLvmmHA4bf7F6hTRaJgtghFr9iziQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.10.tgz", + "integrity": "sha512-NrSCx2Kim3EnnWgS4Txn0QGt0Xipoumb6z6sUtl5bOEZIVKhzfyp/Lyw4C1DIYvzeW/5mWYPBFJU3a/8Yr75DQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.10.tgz", + "integrity": "sha512-xoSphrd4AZda8+rUDDfD9J6FUMjrkTz8itpTITM4/xgerAZZcFW7Dv+sun7333IfKxGG8gAq+3NbfEMJfiY+Eg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.10.tgz", + "integrity": "sha512-ab6eiuCwoMmYDyTnyptoKkVS3k8fy/1Uvq7Dj5czXI6DF2GqD2ToInBI0SHOp5/X1BdZ26RKc5+qjQNGRBelRA==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.10.tgz", + "integrity": "sha512-NLinzzOgZQsGpsTkEbdJTCanwA5/wozN9dSgEl12haXJBzMTpssebuXR42bthOF3z7zXFWH1AmvWunUCkBE4EA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.10.tgz", + "integrity": "sha512-FE557XdZDrtX8NMIeA8LBJX3dC2M8VGXwfrQWU7LB5SLOajfJIxmSdyL/gU1m64Zs9CBKvm4UAuBp5aJ8OgnrA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.10.tgz", + "integrity": "sha512-3BBSbgzuB9ajLoVZk0mGu+EHlBwkusRmeNYdqmznmMc9zGASFjSsxgkNsqmXugpPk00gJ0JNKh/97nxmjctdew==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.10.tgz", + "integrity": "sha512-QSX81KhFoZGwenVyPoberggdW1nrQZSvfVDAIUXr3WqLRZGZqWk/P4T8p2SP+de2Sr5HPcvjhcJzEiulKgnxtA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.10.tgz", + "integrity": "sha512-AKQM3gfYfSW8XRk8DdMCzaLUFB15dTrZfnX8WXQoOUpUBQ+NaAFCP1kPS/ykbbGYz7rxn0WS48/81l9hFl3u4A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.10.tgz", + "integrity": "sha512-7RTytDPGU6fek/hWuN9qQpeGPBZFfB4zZgcz2VK2Z5VpdUxEI8JKYsg3JfO0n/Z1E/6l05n0unDCNc4HnhQGig==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.10.tgz", + "integrity": "sha512-5Se0VM9Wtq797YFn+dLimf2Zx6McttsH2olUBsDml+lm0GOCRVebRWUvDtkY4BWYv/3NgzS8b/UM3jQNh5hYyw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.10.tgz", + "integrity": "sha512-XkA4frq1TLj4bEMB+2HnI0+4RnjbuGZfet2gs/LNs5Hc7D89ZQBHQ0gL2ND6Lzu1+QVkjp3x1gIcPKzRNP8bXw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.10.tgz", + "integrity": "sha512-AVTSBhTX8Y/Fz6OmIVBip9tJzZEUcY8WLh7I59+upa5/GPhh2/aM6bvOMQySspnCCHvFi79kMtdJS1w0DXAeag==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.10.tgz", + "integrity": "sha512-fswk3XT0Uf2pGJmOpDB7yknqhVkJQkAQOcW/ccVOtfx05LkbWOaRAtn5SaqXypeKQra1QaEa841PgrSL9ubSPQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.10.tgz", + "integrity": "sha512-ah+9b59KDTSfpaCg6VdJoOQvKjI33nTaQr4UluQwW7aEwZQsbMCfTmfEO4VyewOxx4RaDT/xCy9ra2GPWmO7Kw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.10.tgz", + "integrity": "sha512-QHPDbKkrGO8/cz9LKVnJU22HOi4pxZnZhhA2HYHez5Pz4JeffhDjf85E57Oyco163GnzNCVkZK0b/n4Y0UHcSw==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.10.tgz", + "integrity": "sha512-9KpxSVFCu0iK1owoez6aC/s/EdUQLDN3adTxGCqxMVhrPDj6bt5dbrHDXUuq+Bs2vATFBBrQS5vdQ/Ed2P+nbw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz", + "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.21.0", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.0.tgz", + "integrity": "sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.6", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/config-helpers": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.3.1.tgz", + "integrity": "sha512-xR93k9WhrDYpXHORXpxVL5oHj3Era7wo6k/Wd8/IsQNnZUTzkGS29lyn3nAT05v6ltUuTFVCCYDEGfy2Or/sPA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.15.2.tgz", + "integrity": "sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz", + "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "9.36.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.36.0.tgz", + "integrity": "sha512-uhCbYtYynH30iZErszX78U+nR3pJU3RHGQ57NXy5QupD4SBVwDeU8TNBy+MjMngc1UyIW9noKqsRqfjQTBU2dw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", + "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.5.tgz", + "integrity": "sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.15.2", + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.7", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", + "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.4.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@isaacs/fs-minipass": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", + "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.4" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-beta.35", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.35.tgz", + "integrity": "sha512-slYrCpoxJUqzFDDNlvrOYRazQUNRvWPjXA17dAOISY3rDMxX6k8K4cj2H+hEYMHF81HO3uNd5rHVigAWRM5dSg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.52.3.tgz", + "integrity": "sha512-h6cqHGZ6VdnwliFG1NXvMPTy/9PS3h8oLh7ImwR+kl+oYnQizgjxsONmmPSb2C66RksfkfIxEVtDSEcJiO0tqw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.52.3.tgz", + "integrity": "sha512-wd+u7SLT/u6knklV/ifG7gr5Qy4GUbH2hMWcDauPFJzmCZUAJ8L2bTkVXC2niOIxp8lk3iH/QX8kSrUxVZrOVw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.52.3.tgz", + "integrity": "sha512-lj9ViATR1SsqycwFkJCtYfQTheBdvlWJqzqxwc9f2qrcVrQaF/gCuBRTiTolkRWS6KvNxSk4KHZWG7tDktLgjg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.52.3.tgz", + "integrity": "sha512-+Dyo7O1KUmIsbzx1l+4V4tvEVnVQqMOIYtrxK7ncLSknl1xnMHLgn7gddJVrYPNZfEB8CIi3hK8gq8bDhb3h5A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.52.3.tgz", + "integrity": "sha512-u9Xg2FavYbD30g3DSfNhxgNrxhi6xVG4Y6i9Ur1C7xUuGDW3banRbXj+qgnIrwRN4KeJ396jchwy9bCIzbyBEQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.52.3.tgz", + "integrity": "sha512-5M8kyi/OX96wtD5qJR89a/3x5x8x5inXBZO04JWhkQb2JWavOWfjgkdvUqibGJeNNaz1/Z1PPza5/tAPXICI6A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.52.3.tgz", + "integrity": "sha512-IoerZJ4l1wRMopEHRKOO16e04iXRDyZFZnNZKrWeNquh5d6bucjezgd+OxG03mOMTnS1x7hilzb3uURPkJ0OfA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.52.3.tgz", + "integrity": "sha512-ZYdtqgHTDfvrJHSh3W22TvjWxwOgc3ThK/XjgcNGP2DIwFIPeAPNsQxrJO5XqleSlgDux2VAoWQ5iJrtaC1TbA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.52.3.tgz", + "integrity": "sha512-NcViG7A0YtuFDA6xWSgmFb6iPFzHlf5vcqb2p0lGEbT+gjrEEz8nC/EeDHvx6mnGXnGCC1SeVV+8u+smj0CeGQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.52.3.tgz", + "integrity": "sha512-d3pY7LWno6SYNXRm6Ebsq0DJGoiLXTb83AIPCXl9fmtIQs/rXoS8SJxxUNtFbJ5MiOvs+7y34np77+9l4nfFMw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.52.3.tgz", + "integrity": "sha512-3y5GA0JkBuirLqmjwAKwB0keDlI6JfGYduMlJD/Rl7fvb4Ni8iKdQs1eiunMZJhwDWdCvrcqXRY++VEBbvk6Eg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.52.3.tgz", + "integrity": "sha512-AUUH65a0p3Q0Yfm5oD2KVgzTKgwPyp9DSXc3UA7DtxhEb/WSPfbG4wqXeSN62OG5gSo18em4xv6dbfcUGXcagw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.52.3.tgz", + "integrity": "sha512-1makPhFFVBqZE+XFg3Dkq+IkQ7JvmUrwwqaYBL2CE+ZpxPaqkGaiWFEWVGyvTwZace6WLJHwjVh/+CXbKDGPmg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.52.3.tgz", + "integrity": "sha512-OOFJa28dxfl8kLOPMUOQBCO6z3X2SAfzIE276fwT52uXDWUS178KWq0pL7d6p1kz7pkzA0yQwtqL0dEPoVcRWg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.52.3.tgz", + "integrity": "sha512-jMdsML2VI5l+V7cKfZx3ak+SLlJ8fKvLJ0Eoa4b9/vCUrzXKgoKxvHqvJ/mkWhFiyp88nCkM5S2v6nIwRtPcgg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.52.3.tgz", + "integrity": "sha512-tPgGd6bY2M2LJTA1uGq8fkSPK8ZLYjDjY+ZLK9WHncCnfIz29LIXIqUgzCR0hIefzy6Hpbe8Th5WOSwTM8E7LA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.52.3.tgz", + "integrity": "sha512-BCFkJjgk+WFzP+tcSMXq77ymAPIxsX9lFJWs+2JzuZTLtksJ2o5hvgTdIcZ5+oKzUDMwI0PfWzRBYAydAHF2Mw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.52.3.tgz", + "integrity": "sha512-KTD/EqjZF3yvRaWUJdD1cW+IQBk4fbQaHYJUmP8N4XoKFZilVL8cobFSTDnjTtxWJQ3JYaMgF4nObY/+nYkumA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.52.3.tgz", + "integrity": "sha512-+zteHZdoUYLkyYKObGHieibUFLbttX2r+58l27XZauq0tcWYYuKUwY2wjeCN9oK1Um2YgH2ibd6cnX/wFD7DuA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.52.3.tgz", + "integrity": "sha512-of1iHkTQSo3kr6dTIRX6t81uj/c/b15HXVsPcEElN5sS859qHrOepM5p9G41Hah+CTqSh2r8Bm56dL2z9UQQ7g==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.52.3.tgz", + "integrity": "sha512-s0hybmlHb56mWVZQj8ra9048/WZTPLILKxcvcq+8awSZmyiSUZjjem1AhU3Tf4ZKpYhK4mg36HtHDOe8QJS5PQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.52.3.tgz", + "integrity": "sha512-zGIbEVVXVtauFgl3MRwGWEN36P5ZGenHRMgNw88X5wEhEBpq0XrMEZwOn07+ICrwM17XO5xfMZqh0OldCH5VTA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@swc/core": { + "version": "1.13.20", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.13.20.tgz", + "integrity": "sha512-w6REE95NkGhQH/baA0reb6IQjVzSy5HOz9bZnRTFgOv+a1ZDo4p6yVs4McpFOZJeu810DSHayO3mwBsBXxZcaw==", + "dev": true, + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "@swc/counter": "^0.1.3", + "@swc/types": "^0.1.25" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/swc" + }, + "optionalDependencies": { + "@swc/core-darwin-arm64": "1.13.20", + "@swc/core-darwin-x64": "1.13.20", + "@swc/core-linux-arm-gnueabihf": "1.13.20", + "@swc/core-linux-arm64-gnu": "1.13.20", + "@swc/core-linux-arm64-musl": "1.13.20", + "@swc/core-linux-x64-gnu": "1.13.20", + "@swc/core-linux-x64-musl": "1.13.20", + "@swc/core-win32-arm64-msvc": "1.13.20", + "@swc/core-win32-ia32-msvc": "1.13.20", + "@swc/core-win32-x64-msvc": "1.13.20" + }, + "peerDependencies": { + "@swc/helpers": ">=0.5.17" + }, + "peerDependenciesMeta": { + "@swc/helpers": { + "optional": true + } + } + }, + "node_modules/@swc/core-darwin-arm64": { + "version": "1.13.20", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.13.20.tgz", + "integrity": "sha512-k/nqRwm6G3tw1BbCDxc3KmAMGsuDYA5Uh4MjYm23e+UziLyHz0z7W0zja3el+yGBIZXKlgSzWVFLsFDFzVqtgg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-darwin-x64": { + "version": "1.13.20", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.13.20.tgz", + "integrity": "sha512-7xr+ACdUMNyrN87oEF1GvJIZJBAhGolfQVB0EYP08JEy8VSh//FEwfdlUz8gweaZyjOl1nuPS6ncXlKgZuZU8A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm-gnueabihf": { + "version": "1.13.20", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.13.20.tgz", + "integrity": "sha512-IaOLxU1U/oGV3lZ2T8tD5nB/5O60UFPqj5ZxYzDpCBVB73tDQDIxiDcro1X81nHbwJHjuHmbIrhoflS7LQN6+A==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-gnu": { + "version": "1.13.20", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.13.20.tgz", + "integrity": "sha512-Lg6FyotDydXGnNnlw+u7vCZzR2+fX3Q2HiULBTYl2dey3TvRyzAfEhdgMjUc4beRzf26U9rzMuTroJ6KMBCBjA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-musl": { + "version": "1.13.20", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.13.20.tgz", + "integrity": "sha512-d1SvxmFykS0Ep8nPbduV1UwCvFjZ3ESzFKQdTbkr72bge8AseILBI9TbLTmoeWndDaTesiiTKRD5Y1iAvF1wvA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-gnu": { + "version": "1.13.20", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.13.20.tgz", + "integrity": "sha512-Bwmng57EuMod58Q8GDJA8rmUgFl20taK8w8MqeeDMiCnZY2+rJrNERbIX3sXZbwsf/kCIELZ7q4ZXiwdyB4zoQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-musl": { + "version": "1.13.20", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.13.20.tgz", + "integrity": "sha512-osCm3VEKL/OIKInyhy75S5B+R+QGBdpR1B5vwTYqG/1RB4vFM3O5SDtRZabd6NV9Cxc9dcLztWyZjhs2qp63SQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-arm64-msvc": { + "version": "1.13.20", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.13.20.tgz", + "integrity": "sha512-svbQNirwEa6zwaAJPrEmQnMVZsOz8Jpr4nakFLkYIQwwJ73sBUkUJvH9ouIWmIu5bvgQrbQlRpxWTIY3e0Utlg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-ia32-msvc": { + "version": "1.13.20", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.13.20.tgz", + "integrity": "sha512-uVjjwGXJltUQK0v1qQSNGeMS6osLJuwgeTti5N7kxQ6mOfa1irxq+TX0YdIVQwIONMjzI+TP7lhqPeA9VdUjRg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-x64-msvc": { + "version": "1.13.20", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.13.20.tgz", + "integrity": "sha512-Xm1JAew/P0TgsPSXyo60IH865fAmt9b2Mzd0FBJ77Q1xA1o/Oi9teCeGChyFq3+6JFao6uT0N4mcI3BJ4WBfkA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/counter": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", + "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/@swc/types": { + "version": "0.1.25", + "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.25.tgz", + "integrity": "sha512-iAoY/qRhNH8a/hBvm3zKj9qQ4oc2+3w1unPJa2XvTK3XjeLXtzcCingVPw/9e5mn1+0yPqxcBGp9Jf0pkfMb1g==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@swc/counter": "^0.1.3" + } + }, + "node_modules/@tailwindcss/line-clamp": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/line-clamp/-/line-clamp-0.4.4.tgz", + "integrity": "sha512-5U6SY5z8N42VtrCrKlsTAA35gy2VSyYtHWCsg1H87NU1SXnEfekTVlrga9fzUDrrHcGi2Lb5KenUWb4lRQT5/g==", + "license": "MIT", + "peerDependencies": { + "tailwindcss": ">=2.0.0 || >=3.0.0 || >=3.0.0-alpha.1" + } + }, + "node_modules/@tailwindcss/node": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.13.tgz", + "integrity": "sha512-eq3ouolC1oEFOAvOMOBAmfCIqZBJuvWvvYWh5h5iOYfe1HFC6+GZ6EIL0JdM3/niGRJmnrOc+8gl9/HGUaaptw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/remapping": "^2.3.4", + "enhanced-resolve": "^5.18.3", + "jiti": "^2.5.1", + "lightningcss": "1.30.1", + "magic-string": "^0.30.18", + "source-map-js": "^1.2.1", + "tailwindcss": "4.1.13" + } + }, + "node_modules/@tailwindcss/oxide": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.13.tgz", + "integrity": "sha512-CPgsM1IpGRa880sMbYmG1s4xhAy3xEt1QULgTJGQmZUeNgXFR7s1YxYygmJyBGtou4SyEosGAGEeYqY7R53bIA==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "detect-libc": "^2.0.4", + "tar": "^7.4.3" + }, + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@tailwindcss/oxide-android-arm64": "4.1.13", + "@tailwindcss/oxide-darwin-arm64": "4.1.13", + "@tailwindcss/oxide-darwin-x64": "4.1.13", + "@tailwindcss/oxide-freebsd-x64": "4.1.13", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.13", + "@tailwindcss/oxide-linux-arm64-gnu": "4.1.13", + "@tailwindcss/oxide-linux-arm64-musl": "4.1.13", + "@tailwindcss/oxide-linux-x64-gnu": "4.1.13", + "@tailwindcss/oxide-linux-x64-musl": "4.1.13", + "@tailwindcss/oxide-wasm32-wasi": "4.1.13", + "@tailwindcss/oxide-win32-arm64-msvc": "4.1.13", + "@tailwindcss/oxide-win32-x64-msvc": "4.1.13" + } + }, + "node_modules/@tailwindcss/oxide-android-arm64": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.13.tgz", + "integrity": "sha512-BrpTrVYyejbgGo57yc8ieE+D6VT9GOgnNdmh5Sac6+t0m+v+sKQevpFVpwX3pBrM2qKrQwJ0c5eDbtjouY/+ew==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-arm64": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.13.tgz", + "integrity": "sha512-YP+Jksc4U0KHcu76UhRDHq9bx4qtBftp9ShK/7UGfq0wpaP96YVnnjFnj3ZFrUAjc5iECzODl/Ts0AN7ZPOANQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-x64": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.13.tgz", + "integrity": "sha512-aAJ3bbwrn/PQHDxCto9sxwQfT30PzyYJFG0u/BWZGeVXi5Hx6uuUOQEI2Fa43qvmUjTRQNZnGqe9t0Zntexeuw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-freebsd-x64": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.13.tgz", + "integrity": "sha512-Wt8KvASHwSXhKE/dJLCCWcTSVmBj3xhVhp/aF3RpAhGeZ3sVo7+NTfgiN8Vey/Fi8prRClDs6/f0KXPDTZE6nQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.13.tgz", + "integrity": "sha512-mbVbcAsW3Gkm2MGwA93eLtWrwajz91aXZCNSkGTx/R5eb6KpKD5q8Ueckkh9YNboU8RH7jiv+ol/I7ZyQ9H7Bw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.13.tgz", + "integrity": "sha512-wdtfkmpXiwej/yoAkrCP2DNzRXCALq9NVLgLELgLim1QpSfhQM5+ZxQQF8fkOiEpuNoKLp4nKZ6RC4kmeFH0HQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.13.tgz", + "integrity": "sha512-hZQrmtLdhyqzXHB7mkXfq0IYbxegaqTmfa1p9MBj72WPoDD3oNOh1Lnxf6xZLY9C3OV6qiCYkO1i/LrzEdW2mg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.13.tgz", + "integrity": "sha512-uaZTYWxSXyMWDJZNY1Ul7XkJTCBRFZ5Fo6wtjrgBKzZLoJNrG+WderJwAjPzuNZOnmdrVg260DKwXCFtJ/hWRQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-musl": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.13.tgz", + "integrity": "sha512-oXiPj5mi4Hdn50v5RdnuuIms0PVPI/EG4fxAfFiIKQh5TgQgX7oSuDWntHW7WNIi/yVLAiS+CRGW4RkoGSSgVQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.13.tgz", + "integrity": "sha512-+LC2nNtPovtrDwBc/nqnIKYh/W2+R69FA0hgoeOn64BdCX522u19ryLh3Vf3F8W49XBcMIxSe665kwy21FkhvA==", + "bundleDependencies": [ + "@napi-rs/wasm-runtime", + "@emnapi/core", + "@emnapi/runtime", + "@tybys/wasm-util", + "@emnapi/wasi-threads", + "tslib" + ], + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.4.5", + "@emnapi/runtime": "^1.4.5", + "@emnapi/wasi-threads": "^1.0.4", + "@napi-rs/wasm-runtime": "^0.2.12", + "@tybys/wasm-util": "^0.10.0", + "tslib": "^2.8.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.13.tgz", + "integrity": "sha512-dziTNeQXtoQ2KBXmrjCxsuPk3F3CQ/yb7ZNZNA+UkNTeiTGgfeh+gH5Pi7mRncVgcPD2xgHvkFCh/MhZWSgyQg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.13.tgz", + "integrity": "sha512-3+LKesjXydTkHk5zXX01b5KMzLV1xl2mcktBJkje7rhFUpUlYJy7IMOLqjIRQncLTa1WZZiFY/foAeB5nmaiTw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/postcss": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@tailwindcss/postcss/-/postcss-4.1.13.tgz", + "integrity": "sha512-HLgx6YSFKJT7rJqh9oJs/TkBFhxuMOfUKSBEPYwV+t78POOBsdQ7crhZLzwcH3T0UyUuOzU/GK5pk5eKr3wCiQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "@tailwindcss/node": "4.1.13", + "@tailwindcss/oxide": "4.1.13", + "postcss": "^8.4.41", + "tailwindcss": "4.1.13" + } + }, + "node_modules/@tailwindcss/vite": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.1.13.tgz", + "integrity": "sha512-0PmqLQ010N58SbMTJ7BVJ4I2xopiQn/5i6nlb4JmxzQf8zcS5+m2Cv6tqh+sfDwtIdjoEnOvwsGQ1hkUi8QEHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@tailwindcss/node": "4.1.13", + "@tailwindcss/oxide": "4.1.13", + "tailwindcss": "4.1.13" + }, + "peerDependencies": { + "vite": "^5.2.0 || ^6 || ^7" + } + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "19.1.16", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.16.tgz", + "integrity": "sha512-WBM/nDbEZmDUORKnh5i1bTnAz6vTohUf9b8esSMu+b24+srbaxa04UbJgWx78CVfNXA20sNu0odEIluZDFdCog==", + "dev": true, + "license": "MIT", + "dependencies": { + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "19.1.9", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.1.9.tgz", + "integrity": "sha512-qXRuZaOsAdXKFyOhRBg6Lqqc0yay13vN7KrIg4L7N4aaHN68ma9OK3NE1BoDFgFOTfM7zg+3/8+2n8rLUH3OKQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@types/react": "^19.0.0" + } + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.45.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.45.0.tgz", + "integrity": "sha512-HC3y9CVuevvWCl/oyZuI47dOeDF9ztdMEfMH8/DW/Mhwa9cCLnK1oD7JoTVGW/u7kFzNZUKUoyJEqkaJh5y3Wg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "8.45.0", + "@typescript-eslint/type-utils": "8.45.0", + "@typescript-eslint/utils": "8.45.0", + "@typescript-eslint/visitor-keys": "8.45.0", + "graphemer": "^1.4.0", + "ignore": "^7.0.0", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.1.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.45.0", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "8.45.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.45.0.tgz", + "integrity": "sha512-TGf22kon8KW+DeKaUmOibKWktRY8b2NSAZNdtWh798COm1NWx8+xJ6iFBtk3IvLdv6+LGLJLRlyhrhEDZWargQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/scope-manager": "8.45.0", + "@typescript-eslint/types": "8.45.0", + "@typescript-eslint/typescript-estree": "8.45.0", + "@typescript-eslint/visitor-keys": "8.45.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/project-service": { + "version": "8.45.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.45.0.tgz", + "integrity": "sha512-3pcVHwMG/iA8afdGLMuTibGR7pDsn9RjDev6CCB+naRsSYs2pns5QbinF4Xqw6YC/Sj3lMrm/Im0eMfaa61WUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/tsconfig-utils": "^8.45.0", + "@typescript-eslint/types": "^8.45.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.45.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.45.0.tgz", + "integrity": "sha512-clmm8XSNj/1dGvJeO6VGH7EUSeA0FMs+5au/u3lrA3KfG8iJ4u8ym9/j2tTEoacAffdW1TVUzXO30W1JTJS7dA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.45.0", + "@typescript-eslint/visitor-keys": "8.45.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/tsconfig-utils": { + "version": "8.45.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.45.0.tgz", + "integrity": "sha512-aFdr+c37sc+jqNMGhH+ajxPXwjv9UtFZk79k8pLoJ6p4y0snmYpPA52GuWHgt2ZF4gRRW6odsEj41uZLojDt5w==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "8.45.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.45.0.tgz", + "integrity": "sha512-bpjepLlHceKgyMEPglAeULX1vixJDgaKocp0RVJ5u4wLJIMNuKtUXIczpJCPcn2waII0yuvks/5m5/h3ZQKs0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.45.0", + "@typescript-eslint/typescript-estree": "8.45.0", + "@typescript-eslint/utils": "8.45.0", + "debug": "^4.3.4", + "ts-api-utils": "^2.1.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "8.45.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.45.0.tgz", + "integrity": "sha512-WugXLuOIq67BMgQInIxxnsSyRLFxdkJEJu8r4ngLR56q/4Q5LrbfkFRH27vMTjxEK8Pyz7QfzuZe/G15qQnVRA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.45.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.45.0.tgz", + "integrity": "sha512-GfE1NfVbLam6XQ0LcERKwdTTPlLvHvXXhOeUGC1OXi4eQBoyy1iVsW+uzJ/J9jtCz6/7GCQ9MtrQ0fml/jWCnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/project-service": "8.45.0", + "@typescript-eslint/tsconfig-utils": "8.45.0", + "@typescript-eslint/types": "8.45.0", + "@typescript-eslint/visitor-keys": "8.45.0", + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^2.1.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.45.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.45.0.tgz", + "integrity": "sha512-bxi1ht+tLYg4+XV2knz/F7RVhU0k6VrSMc9sb8DQ6fyCTrGQLHfo7lDtN0QJjZjKkLA2ThrKuCdHEvLReqtIGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.7.0", + "@typescript-eslint/scope-manager": "8.45.0", + "@typescript-eslint/types": "8.45.0", + "@typescript-eslint/typescript-estree": "8.45.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.45.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.45.0.tgz", + "integrity": "sha512-qsaFBA3e09MIDAGFUrTk+dzqtfv1XPVz8t8d1f0ybTzrCY7BKiMC5cjrl1O/P7UmHsNyW90EYSkU/ZWpmXelag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.45.0", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@vitejs/plugin-react-swc": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react-swc/-/plugin-react-swc-4.1.0.tgz", + "integrity": "sha512-Ff690TUck0Anlh7wdIcnsVMhofeEVgm44Y4OYdeeEEPSKyZHzDI9gfVBvySEhDfXtBp8tLCbfsVKPWEMEjq8/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rolldown/pluginutils": "1.0.0-beta.35", + "@swc/core": "^1.13.5" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "peerDependencies": { + "vite": "^4 || ^5 || ^6 || ^7" + } + }, + "node_modules/acorn": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/autoprefixer": { + "version": "10.4.21", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.21.tgz", + "integrity": "sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "browserslist": "^4.24.4", + "caniuse-lite": "^1.0.30001702", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.1.1", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/baseline-browser-mapping": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.9.tgz", + "integrity": "sha512-hY/u2lxLrbecMEWSB0IpGzGyDyeoMFQhCvZd2jGFSE5I17Fh01sYUBPCJtkWERw7zrac9+cIghxm/ytJa2X8iA==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.js" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.26.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.26.2.tgz", + "integrity": "sha512-ECFzp6uFOSB+dcZ5BK/IBaGWssbSYBHvuMeMt3MMFyhI0Z8SqGgEkBLARgpRH3hutIgPVsALcMwbDrJqPxQ65A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.8.3", + "caniuse-lite": "^1.0.30001741", + "electron-to-chromium": "^1.5.218", + "node-releases": "^2.0.21", + "update-browserslist-db": "^1.1.3" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001746", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001746.tgz", + "integrity": "sha512-eA7Ys/DGw+pnkWWSE/id29f2IcPHVoE8wxtvE5JdvD2V28VTDPy1yEeo11Guz0sJ4ZeGRcm3uaTcAqK1LXaphA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chownr": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", + "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/cookie": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz", + "integrity": "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "dev": true, + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/detect-libc": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.1.tgz", + "integrity": "sha512-ecqj/sy1jcK1uWrwpR67UhYrIFQ+5WlGxth34WquCbamhFA6hkkwiu37o6J5xCHdo1oixJRfVRw+ywV+Hq/0Aw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.227", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.227.tgz", + "integrity": "sha512-ITxuoPfJu3lsNWUi2lBM2PaBPYgH3uqmxut5vmBxgYvyI4AlJ6P3Cai1O76mOrkJCBzq0IxWg/NtqOrpu/0gKA==", + "dev": true, + "license": "ISC" + }, + "node_modules/enhanced-resolve": { + "version": "5.18.3", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz", + "integrity": "sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/esbuild": { + "version": "0.25.10", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.10.tgz", + "integrity": "sha512-9RiGKvCwaqxO2owP61uQ4BgNborAQskMR6QusfWzQqv7AZOg5oGehdY2pRJMTKuwxd1IDBP4rSbI5lHzU7SMsQ==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.10", + "@esbuild/android-arm": "0.25.10", + "@esbuild/android-arm64": "0.25.10", + "@esbuild/android-x64": "0.25.10", + "@esbuild/darwin-arm64": "0.25.10", + "@esbuild/darwin-x64": "0.25.10", + "@esbuild/freebsd-arm64": "0.25.10", + "@esbuild/freebsd-x64": "0.25.10", + "@esbuild/linux-arm": "0.25.10", + "@esbuild/linux-arm64": "0.25.10", + "@esbuild/linux-ia32": "0.25.10", + "@esbuild/linux-loong64": "0.25.10", + "@esbuild/linux-mips64el": "0.25.10", + "@esbuild/linux-ppc64": "0.25.10", + "@esbuild/linux-riscv64": "0.25.10", + "@esbuild/linux-s390x": "0.25.10", + "@esbuild/linux-x64": "0.25.10", + "@esbuild/netbsd-arm64": "0.25.10", + "@esbuild/netbsd-x64": "0.25.10", + "@esbuild/openbsd-arm64": "0.25.10", + "@esbuild/openbsd-x64": "0.25.10", + "@esbuild/openharmony-arm64": "0.25.10", + "@esbuild/sunos-x64": "0.25.10", + "@esbuild/win32-arm64": "0.25.10", + "@esbuild/win32-ia32": "0.25.10", + "@esbuild/win32-x64": "0.25.10" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "9.36.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.36.0.tgz", + "integrity": "sha512-hB4FIzXovouYzwzECDcUkJ4OcfOEkXTv2zRY6B9bkwjx/cprAq0uvm1nl7zvQ0/TsUk0zQiN4uPfJpB9m+rPMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.8.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.21.0", + "@eslint/config-helpers": "^0.3.1", + "@eslint/core": "^0.15.2", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "9.36.0", + "@eslint/plugin-kit": "^0.3.5", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "@types/json-schema": "^7.0.15", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.2.0.tgz", + "integrity": "sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" + } + }, + "node_modules/eslint-plugin-react-refresh": { + "version": "0.4.22", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.22.tgz", + "integrity": "sha512-atkAG6QaJMGoTLc4MDAP+rqZcfwQuTIh2IqHWFLy2TEjxr0MOK+5BSG4RzL2564AAPpZkDRsZXAUz68kjnU6Ug==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "eslint": ">=8.40" + } + }, + "node_modules/eslint-scope": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.15.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fastq": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/flatted": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "dev": true, + "license": "ISC" + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "16.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-16.4.0.tgz", + "integrity": "sha512-ob/2LcVVaVGCYN+r14cnwnoDPUufjiYgSqRhiFD0Q1iI4Odora5RE8Iv1D24hAz5oMophRGkGz+yuvQmmUMnMw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true, + "license": "MIT" + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/jiti": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.0.tgz", + "integrity": "sha512-VXe6RjJkBPj0ohtqaO8vSWP3ZhAKo66fKrFNCll4BTcwljPLz03pCbaNKfzGP5MbrCYcbJ7v0nOYYwUzTEIdXQ==", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lightningcss": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.1.tgz", + "integrity": "sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==", + "dev": true, + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-darwin-arm64": "1.30.1", + "lightningcss-darwin-x64": "1.30.1", + "lightningcss-freebsd-x64": "1.30.1", + "lightningcss-linux-arm-gnueabihf": "1.30.1", + "lightningcss-linux-arm64-gnu": "1.30.1", + "lightningcss-linux-arm64-musl": "1.30.1", + "lightningcss-linux-x64-gnu": "1.30.1", + "lightningcss-linux-x64-musl": "1.30.1", + "lightningcss-win32-arm64-msvc": "1.30.1", + "lightningcss-win32-x64-msvc": "1.30.1" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.1.tgz", + "integrity": "sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.1.tgz", + "integrity": "sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.1.tgz", + "integrity": "sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.1.tgz", + "integrity": "sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.1.tgz", + "integrity": "sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.1.tgz", + "integrity": "sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.1.tgz", + "integrity": "sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.1.tgz", + "integrity": "sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.1.tgz", + "integrity": "sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.1.tgz", + "integrity": "sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/magic-string": { + "version": "0.30.19", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.19.tgz", + "integrity": "sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minizlib": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.1.0.tgz", + "integrity": "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "minipass": "^7.1.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-releases": { + "version": "2.0.21", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.21.tgz", + "integrity": "sha512-5b0pgg78U3hwXkCM8Z9b2FJdPZlr9Psr9V2gQPESdGHqbntyFJKFW4r5TeWGFzafGY3hzs1JC62VEQMbl1JFkw==", + "dev": true, + "license": "MIT" + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "dev": true, + "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.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/pretendard": { + "version": "1.3.9", + "resolved": "https://registry.npmjs.org/pretendard/-/pretendard-1.3.9.tgz", + "integrity": "sha512-PaQAADyLY5v4kYFwkpSJHbSSYIkiriY/1xXw75TKoZ9UQQqeU+tvP05yTdZAWibiIYoo8ZKtRv8PM7w0IaywSw==", + "license": "OFL-1.1" + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/react": { + "version": "19.1.1", + "resolved": "https://registry.npmjs.org/react/-/react-19.1.1.tgz", + "integrity": "sha512-w8nqGImo45dmMIfljjMwOGtbmC/mk4CMYhWIicdSflH91J9TyCyczcPFXJzrZ/ZXcgGRFeP6BU0BEJTw6tZdfQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.1.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.1.tgz", + "integrity": "sha512-Dlq/5LAZgF0Gaz6yiqZCf6VCcZs1ghAJyrsu84Q/GT0gV+mCxbfmKNoGRKBYMJ8IEdGPqu49YWXD02GCknEDkw==", + "license": "MIT", + "dependencies": { + "scheduler": "^0.26.0" + }, + "peerDependencies": { + "react": "^19.1.1" + } + }, + "node_modules/react-router": { + "version": "7.9.4", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.9.4.tgz", + "integrity": "sha512-SD3G8HKviFHg9xj7dNODUKDFgpG4xqD5nhyd0mYoB5iISepuZAvzSr8ywxgxKJ52yRzf/HWtVHc9AWwoTbljvA==", + "license": "MIT", + "dependencies": { + "cookie": "^1.0.1", + "set-cookie-parser": "^2.6.0" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + } + } + }, + "node_modules/react-router-dom": { + "version": "7.9.4", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.9.4.tgz", + "integrity": "sha512-f30P6bIkmYvnHHa5Gcu65deIXoA2+r3Eb6PJIAddvsT9aGlchMatJ51GgpU470aSqRRbFX22T70yQNUGuW3DfA==", + "license": "MIT", + "dependencies": { + "react-router": "7.9.4" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rollup": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.52.3.tgz", + "integrity": "sha512-RIDh866U8agLgiIcdpB+COKnlCreHJLfIhWC3LVflku5YHfpnsIKigRZeFfMfCc4dVcqNVfQQ5gO/afOck064A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.52.3", + "@rollup/rollup-android-arm64": "4.52.3", + "@rollup/rollup-darwin-arm64": "4.52.3", + "@rollup/rollup-darwin-x64": "4.52.3", + "@rollup/rollup-freebsd-arm64": "4.52.3", + "@rollup/rollup-freebsd-x64": "4.52.3", + "@rollup/rollup-linux-arm-gnueabihf": "4.52.3", + "@rollup/rollup-linux-arm-musleabihf": "4.52.3", + "@rollup/rollup-linux-arm64-gnu": "4.52.3", + "@rollup/rollup-linux-arm64-musl": "4.52.3", + "@rollup/rollup-linux-loong64-gnu": "4.52.3", + "@rollup/rollup-linux-ppc64-gnu": "4.52.3", + "@rollup/rollup-linux-riscv64-gnu": "4.52.3", + "@rollup/rollup-linux-riscv64-musl": "4.52.3", + "@rollup/rollup-linux-s390x-gnu": "4.52.3", + "@rollup/rollup-linux-x64-gnu": "4.52.3", + "@rollup/rollup-linux-x64-musl": "4.52.3", + "@rollup/rollup-openharmony-arm64": "4.52.3", + "@rollup/rollup-win32-arm64-msvc": "4.52.3", + "@rollup/rollup-win32-ia32-msvc": "4.52.3", + "@rollup/rollup-win32-x64-gnu": "4.52.3", + "@rollup/rollup-win32-x64-msvc": "4.52.3", + "fsevents": "~2.3.2" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/scheduler": { + "version": "0.26.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz", + "integrity": "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==", + "license": "MIT" + }, + "node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/set-cookie-parser": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz", + "integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==", + "license": "MIT" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tailwindcss": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.13.tgz", + "integrity": "sha512-i+zidfmTqtwquj4hMEwdjshYYgMbOrPzb9a0M3ZgNa0JMoZeFC6bxZvO8yr8ozS6ix2SDz0+mvryPeBs2TFE+w==", + "license": "MIT" + }, + "node_modules/tapable": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.3.tgz", + "integrity": "sha512-ZL6DDuAlRlLGghwcfmSn9sK3Hr6ArtyudlSAiCqQ6IfE+b+HHbydbYDIG15IfS5do+7XQQBdBiubF/cV2dnDzg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/tar": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.1.tgz", + "integrity": "sha512-nlGpxf+hv0v7GkWBK2V9spgactGOp0qvfWRxUMjqHyzrt3SgwE48DIv/FhqPHJYLHpgW1opq3nERbz5Anq7n1g==", + "dev": true, + "license": "ISC", + "dependencies": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.1.0", + "yallist": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ts-api-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", + "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12" + }, + "peerDependencies": { + "typescript": ">=4.8.4" + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/typescript": { + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", + "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/typescript-eslint": { + "version": "8.45.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.45.0.tgz", + "integrity": "sha512-qzDmZw/Z5beNLUrXfd0HIW6MzIaAV5WNDxmMs9/3ojGOpYavofgNAAD/nC6tGV2PczIi0iw8vot2eAe/sBn7zg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/eslint-plugin": "8.45.0", + "@typescript-eslint/parser": "8.45.0", + "@typescript-eslint/typescript-estree": "8.45.0", + "@typescript-eslint/utils": "8.45.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", + "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/vite": { + "version": "7.1.12", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.1.12.tgz", + "integrity": "sha512-ZWyE8YXEXqJrrSLvYgrRP7p62OziLW7xI5HYGWFzOvupfAlrLvURSzv/FyGyy0eidogEM3ujU+kUG1zuHgb6Ug==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.25.0", + "fdir": "^6.5.0", + "picomatch": "^4.0.3", + "postcss": "^8.5.6", + "rollup": "^4.43.0", + "tinyglobby": "^0.2.15" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "lightningcss": "^1.21.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/vite/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/vite/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yallist": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", + "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/react-messenger/package.json b/react-messenger/package.json new file mode 100644 index 00000000..8f15062f --- /dev/null +++ b/react-messenger/package.json @@ -0,0 +1,37 @@ +{ + "name": "react-messenger", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "tsc -b && vite build", + "lint": "eslint .", + "preview": "vite preview" + }, + "dependencies": { + "@tailwindcss/line-clamp": "^0.4.4", + "pretendard": "^1.3.9", + "react": "^19.1.1", + "react-dom": "^19.1.1", + "react-router-dom": "^7.9.4" + }, + "devDependencies": { + "@eslint/js": "^9.36.0", + "@swc/core": "^1.13.19", + "@tailwindcss/postcss": "^4.1.13", + "@tailwindcss/vite": "^4.1.13", + "@types/react": "^19.1.13", + "@types/react-dom": "^19.1.9", + "@vitejs/plugin-react-swc": "^4.1.0", + "autoprefixer": "^10.4.21", + "eslint": "^9.36.0", + "eslint-plugin-react-hooks": "^5.2.0", + "eslint-plugin-react-refresh": "^0.4.20", + "globals": "^16.4.0", + "tailwindcss": "^4.1.13", + "typescript": "~5.8.3", + "typescript-eslint": "^8.44.0", + "vite": "^7.1.12" + } +} diff --git a/react-messenger/public/avatars/sample_image.png b/react-messenger/public/avatars/sample_image.png new file mode 100644 index 0000000000000000000000000000000000000000..438f4f02be5407a530adaeae624f1be222745487 GIT binary patch literal 353238 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 @EvAuSghLDo&D7 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­!S}&THkB})p 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

%f3gRlgiYL8t#FV>Iw9%^+yKm_%fo4je@DB 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 N002ovPDHLkV1k5k#p?h7 literal 0 HcmV?d00001 diff --git a/react-messenger/public/avatars/sample_image2.jpg b/react-messenger/public/avatars/sample_image2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..386d37f09a048c35d823802dfdf327bdbafdb4ab GIT binary patch literal 8673 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 bl+qklZi&f@$#$_@>_3aAWfZ+xx2699;k@ht literal 0 HcmV?d00001 diff --git a/react-messenger/public/data/conversation.json b/react-messenger/public/data/conversation.json new file mode 100644 index 00000000..0e52546f --- /dev/null +++ b/react-messenger/public/data/conversation.json @@ -0,0 +1,14 @@ +[ + { + "id": 1, + "userId": 1, + "messages": "/data/messages/chat_1.json", + "unreadCount": 0 + }, + { + "id": 2, + "userId": 2, + "messages": "/data/messages/chat_2.json", + "unreadCount": 3 + } +] diff --git a/react-messenger/public/data/messages.json b/react-messenger/public/data/messages.json new file mode 100644 index 00000000..cc33110d --- /dev/null +++ b/react-messenger/public/data/messages.json @@ -0,0 +1,108 @@ +[ + { + "id": 1, + "userId": 1, + "text": "요즘 머해??", + "type": "received", + "createdAt": "2025-09-26", + "time": "09:15" + }, + { + "id": 2, + "userId": 1, + "text": "주말에 바빠?", + "type": "received", + "createdAt": "2025-09-26", + "time": "09:17" + }, + { + "id": 3, + "userId": 1, + "text": "요즘 날씨 좋던데,, 한강이라도 갈래??", + "type": "received", + "createdAt": "2025-09-26", + "time": "09:17" + }, + { + "id": 4, + "userId": 1, + "text": "아니면 영화 보러 갈래?? 요즘 그 박정민 나온 얼굴인가? 하는 새로 나온 영화가 있는데 진짜 재밌대!!!! 약간 으스스할 것도 같고 너무 기대돼ㅐㅐ!! 너 요즘 할 일도 많고 바쁘지?ㅜㅜ 그래도 잠깐 짬내서 얼굴 보는 건 어때?? 근처에 새로 생긴 카페도 있는데 완전 분위기 좋고 디저트도 예쁘고 맛있대!! 영화 끝나고 거기 가서 수다 떨면 딱일 듯 ㅋㅋㅋ 그냥 카페만 가도 좋아!! 요즘 날씨도 선선해서 산책하기도 좋고 걷기만 해도 완전 힐링될 듯! 물론 네가 바쁘면 무리해서 볼 필요는 없으니까 편한 시간 말해주면 맞출게ㅎㅎ 사실 꼭 이번 주말이어야 하는 건 아니고 다음 주도 좋아! 근데 요즘 그 영화 인기 많아서 자리 금방 매진된다고 하더라구😅 그래서 이번 주에 보면 더 좋을 것 같긴 해!! 티켓은 내가 예매할 테니까 부담 ㄴㄴ ㅋㅋ 너는 그냥 와서 즐기기만 해!! 어떰??", + "type": "received", + "createdAt": "2025-09-26", + "time": "09:17" + }, + + { + "id": 6, + "userId": 1, + "text": "야아아ㅏㅏㅏ?", + "type": "received", + "createdAt": "2025-09-27", + "time": "14:02" + }, + { + "id": 7, + "userId": 1, + "text": "왜 연락 안봐?!!!", + "type": "received", + "createdAt": "2025-09-27", + "time": "14:05" + }, + { + "id": 8, + "userId": 1, + "text": "많이 바빠???", + "type": "received", + "createdAt": "2025-09-27", + "time": "14:07" + }, + { + "id": 9, + "userId": 0, + "text": "꺅 미안 나 플젝 때매 너무 바빳음 ㅜㅜ!", + "type": "sent", + "createdAt": "2025-09-27", + "time": "14:08" + }, + { + "id": 10, + "userId": 0, + "text": "이번주는 아무래도 진짜 에바구,,, 담주 어떰???", + "type": "sent", + "createdAt": "2025-09-27", + "time": "14:10" + }, + + { + "id": 11, + "userId": 1, + "text": "알겠어!!", + "type": "received", + "createdAt": "2025-09-27", + "time": "14:12" + }, + { + "id": 12, + "userId": 1, + "text": "담주 토욜??", + "type": "received", + "createdAt": "2025-09-27", + "time": "14:14" + }, + { + "id": 13, + "userId": 1, + "text": "끝나고 카페도 고?", + "type": "received", + "createdAt": "2025-09-27", + "time": "14:15" + }, + { + "id": 14, + "userId": 0, + "text": "그래ㅐ 좋아ㅏㅏ 담주에 보자", + "type": "sent", + "createdAt": "2025-09-27", + "time": "14:16" + } +] diff --git a/react-messenger/public/data/messages/chat_1.json b/react-messenger/public/data/messages/chat_1.json new file mode 100644 index 00000000..cc33110d --- /dev/null +++ b/react-messenger/public/data/messages/chat_1.json @@ -0,0 +1,108 @@ +[ + { + "id": 1, + "userId": 1, + "text": "요즘 머해??", + "type": "received", + "createdAt": "2025-09-26", + "time": "09:15" + }, + { + "id": 2, + "userId": 1, + "text": "주말에 바빠?", + "type": "received", + "createdAt": "2025-09-26", + "time": "09:17" + }, + { + "id": 3, + "userId": 1, + "text": "요즘 날씨 좋던데,, 한강이라도 갈래??", + "type": "received", + "createdAt": "2025-09-26", + "time": "09:17" + }, + { + "id": 4, + "userId": 1, + "text": "아니면 영화 보러 갈래?? 요즘 그 박정민 나온 얼굴인가? 하는 새로 나온 영화가 있는데 진짜 재밌대!!!! 약간 으스스할 것도 같고 너무 기대돼ㅐㅐ!! 너 요즘 할 일도 많고 바쁘지?ㅜㅜ 그래도 잠깐 짬내서 얼굴 보는 건 어때?? 근처에 새로 생긴 카페도 있는데 완전 분위기 좋고 디저트도 예쁘고 맛있대!! 영화 끝나고 거기 가서 수다 떨면 딱일 듯 ㅋㅋㅋ 그냥 카페만 가도 좋아!! 요즘 날씨도 선선해서 산책하기도 좋고 걷기만 해도 완전 힐링될 듯! 물론 네가 바쁘면 무리해서 볼 필요는 없으니까 편한 시간 말해주면 맞출게ㅎㅎ 사실 꼭 이번 주말이어야 하는 건 아니고 다음 주도 좋아! 근데 요즘 그 영화 인기 많아서 자리 금방 매진된다고 하더라구😅 그래서 이번 주에 보면 더 좋을 것 같긴 해!! 티켓은 내가 예매할 테니까 부담 ㄴㄴ ㅋㅋ 너는 그냥 와서 즐기기만 해!! 어떰??", + "type": "received", + "createdAt": "2025-09-26", + "time": "09:17" + }, + + { + "id": 6, + "userId": 1, + "text": "야아아ㅏㅏㅏ?", + "type": "received", + "createdAt": "2025-09-27", + "time": "14:02" + }, + { + "id": 7, + "userId": 1, + "text": "왜 연락 안봐?!!!", + "type": "received", + "createdAt": "2025-09-27", + "time": "14:05" + }, + { + "id": 8, + "userId": 1, + "text": "많이 바빠???", + "type": "received", + "createdAt": "2025-09-27", + "time": "14:07" + }, + { + "id": 9, + "userId": 0, + "text": "꺅 미안 나 플젝 때매 너무 바빳음 ㅜㅜ!", + "type": "sent", + "createdAt": "2025-09-27", + "time": "14:08" + }, + { + "id": 10, + "userId": 0, + "text": "이번주는 아무래도 진짜 에바구,,, 담주 어떰???", + "type": "sent", + "createdAt": "2025-09-27", + "time": "14:10" + }, + + { + "id": 11, + "userId": 1, + "text": "알겠어!!", + "type": "received", + "createdAt": "2025-09-27", + "time": "14:12" + }, + { + "id": 12, + "userId": 1, + "text": "담주 토욜??", + "type": "received", + "createdAt": "2025-09-27", + "time": "14:14" + }, + { + "id": 13, + "userId": 1, + "text": "끝나고 카페도 고?", + "type": "received", + "createdAt": "2025-09-27", + "time": "14:15" + }, + { + "id": 14, + "userId": 0, + "text": "그래ㅐ 좋아ㅏㅏ 담주에 보자", + "type": "sent", + "createdAt": "2025-09-27", + "time": "14:16" + } +] diff --git a/react-messenger/public/data/messages/chat_2.json b/react-messenger/public/data/messages/chat_2.json new file mode 100644 index 00000000..ab6b988f --- /dev/null +++ b/react-messenger/public/data/messages/chat_2.json @@ -0,0 +1,42 @@ +[ + { + "id": 1, + "userId": 2, + "text": "안녕하세요.! 연락 가능한가요", + "type": "received", + "createdAt": "2025-10-02", + "time": "09:15" + }, + { + "id": 2, + "userId": 0, + "text": "무슨 일이신가요??", + "type": "sent", + "createdAt": "2025-10-02", + "time": "09:17" + }, + { + "id": 3, + "userId": 2, + "text": "프로젝트 관련해서 잠시 드릴 말씀이 있어서요!", + "type": "received", + "createdAt": "2025-10-02", + "time": "09:20" + }, + { + "id": 4, + "userId": 2, + "text": "이따가 잠깐 통화 가능할까요??", + "type": "received", + "createdAt": "2025-10-02", + "time": "09:20" + }, + { + "id": 5, + "userId": 2, + "text": "10분 정도면 끝납니다!", + "type": "received", + "createdAt": "2025-10-02", + "time": "09:21" + } +] diff --git a/react-messenger/public/data/users.json b/react-messenger/public/data/users.json new file mode 100644 index 00000000..78207a7f --- /dev/null +++ b/react-messenger/public/data/users.json @@ -0,0 +1,14 @@ +[ + { + "id": 1, + "name": "박서령", + "phone": "+82 010-1234-5678", + "avatar": "/avatars/sample_image.png" + }, + { + "id": 2, + "name": "최솔희", + "phone": "+82 010-9999-2222", + "avatar": "/avatars/sample_image2.jpg" + } +] diff --git a/react-messenger/src/App.css b/react-messenger/src/App.css new file mode 100644 index 00000000..e69de29b diff --git a/react-messenger/src/App.tsx b/react-messenger/src/App.tsx new file mode 100644 index 00000000..c7d87c9d --- /dev/null +++ b/react-messenger/src/App.tsx @@ -0,0 +1,21 @@ +import { RouterProvider } from "react-router-dom"; +import { router } from "./routes"; + +function App() { + return ( +

+
+ +
+
+ ); +} + +export default App; diff --git a/react-messenger/src/assets/icons/CameraIcon.tsx b/react-messenger/src/assets/icons/CameraIcon.tsx new file mode 100644 index 00000000..a1c19097 --- /dev/null +++ b/react-messenger/src/assets/icons/CameraIcon.tsx @@ -0,0 +1,43 @@ +import React from "react"; + +const CameraIcon = (props: React.SVGProps) => ( + + + + + + + + + + + + + + + +); + +export default CameraIcon; diff --git a/react-messenger/src/assets/icons/ContactAction/CallIcon.tsx b/react-messenger/src/assets/icons/ContactAction/CallIcon.tsx new file mode 100644 index 00000000..d2400464 --- /dev/null +++ b/react-messenger/src/assets/icons/ContactAction/CallIcon.tsx @@ -0,0 +1,23 @@ +import React from "react"; + +const LeftIcon = (props: React.SVGProps) => ( + + + + +); + +export default LeftIcon; diff --git a/react-messenger/src/assets/icons/ContactAction/LeftIcon.tsx b/react-messenger/src/assets/icons/ContactAction/LeftIcon.tsx new file mode 100644 index 00000000..b65ceb36 --- /dev/null +++ b/react-messenger/src/assets/icons/ContactAction/LeftIcon.tsx @@ -0,0 +1,19 @@ +import React from "react"; + +const LeftIcon = (props: React.SVGProps) => ( + + + +); + +export default LeftIcon; diff --git a/react-messenger/src/assets/icons/ContactAction/ProfileIcon.tsx b/react-messenger/src/assets/icons/ContactAction/ProfileIcon.tsx new file mode 100644 index 00000000..e9ee4a19 --- /dev/null +++ b/react-messenger/src/assets/icons/ContactAction/ProfileIcon.tsx @@ -0,0 +1,25 @@ +import React from "react"; + +const ProfileIcon = (props: React.SVGProps) => ( + + + + +); + +export default ProfileIcon; diff --git a/react-messenger/src/assets/icons/ContactAction/RightIcon.tsx b/react-messenger/src/assets/icons/ContactAction/RightIcon.tsx new file mode 100644 index 00000000..d8e8072c --- /dev/null +++ b/react-messenger/src/assets/icons/ContactAction/RightIcon.tsx @@ -0,0 +1,19 @@ +import React from "react"; + +const LeftIcon = (props: React.SVGProps) => ( + + + +); + +export default LeftIcon; diff --git a/react-messenger/src/assets/icons/ContactAction/SearchIcon.tsx b/react-messenger/src/assets/icons/ContactAction/SearchIcon.tsx new file mode 100644 index 00000000..afe5e059 --- /dev/null +++ b/react-messenger/src/assets/icons/ContactAction/SearchIcon.tsx @@ -0,0 +1,25 @@ +import React from "react"; + +const LeftIcon = (props: React.SVGProps) => ( + + + + +); + +export default LeftIcon; diff --git a/react-messenger/src/assets/icons/ContactAction/VideoIcon.tsx b/react-messenger/src/assets/icons/ContactAction/VideoIcon.tsx new file mode 100644 index 00000000..3ce69384 --- /dev/null +++ b/react-messenger/src/assets/icons/ContactAction/VideoIcon.tsx @@ -0,0 +1,31 @@ +import React from "react"; + +const VideoIcon = (props: React.SVGProps) => ( + + + + + + +); + +export default VideoIcon; diff --git a/react-messenger/src/assets/icons/Main/more.svg b/react-messenger/src/assets/icons/Main/more.svg new file mode 100644 index 00000000..2049e4b9 --- /dev/null +++ b/react-messenger/src/assets/icons/Main/more.svg @@ -0,0 +1,3 @@ + + + diff --git a/react-messenger/src/assets/icons/PlusIcon.tsx b/react-messenger/src/assets/icons/PlusIcon.tsx new file mode 100644 index 00000000..ade14fd5 --- /dev/null +++ b/react-messenger/src/assets/icons/PlusIcon.tsx @@ -0,0 +1,19 @@ +import React from "react"; + +const PlusIcon = (props: React.SVGProps) => ( + + + +); + +export default PlusIcon; diff --git a/react-messenger/src/assets/icons/SendIcon.tsx b/react-messenger/src/assets/icons/SendIcon.tsx new file mode 100644 index 00000000..e0f348ab --- /dev/null +++ b/react-messenger/src/assets/icons/SendIcon.tsx @@ -0,0 +1,27 @@ +import React from "react"; + +const SendIcon = (props: React.SVGProps) => ( + + + + + + + + + + + +); + +export default SendIcon; diff --git a/react-messenger/src/assets/icons/ShowAllIcon.tsx b/react-messenger/src/assets/icons/ShowAllIcon.tsx new file mode 100644 index 00000000..f1c20cdb --- /dev/null +++ b/react-messenger/src/assets/icons/ShowAllIcon.tsx @@ -0,0 +1,19 @@ +import React from "react"; + +const showAllIcon = (props: React.SVGProps) => ( + + + +); + +export default showAllIcon; diff --git a/react-messenger/src/assets/icons/StickerIcon.tsx b/react-messenger/src/assets/icons/StickerIcon.tsx new file mode 100644 index 00000000..fa35d47e --- /dev/null +++ b/react-messenger/src/assets/icons/StickerIcon.tsx @@ -0,0 +1,25 @@ +import React from "react"; + +const StickerIcon = (props: React.SVGProps) => ( + + + + +); + +export default StickerIcon; diff --git a/react-messenger/src/components/chatList/BottomBar.tsx b/react-messenger/src/components/chatList/BottomBar.tsx new file mode 100644 index 00000000..ecc9b565 --- /dev/null +++ b/react-messenger/src/components/chatList/BottomBar.tsx @@ -0,0 +1,51 @@ +const BottomBar = () => { + return ( + <> + +
+ + ); +}; + +export default BottomBar; diff --git a/react-messenger/src/components/chatList/ChatItem.tsx b/react-messenger/src/components/chatList/ChatItem.tsx new file mode 100644 index 00000000..fc8cbe65 --- /dev/null +++ b/react-messenger/src/components/chatList/ChatItem.tsx @@ -0,0 +1,52 @@ +interface ChatItemProps { + name: string; + message: string; + time: string; + unreadCount?: number; + avatar?: string; + onClick?: () => void; +} + +const ChatItem = ({ + name, + message, + time, + unreadCount, + avatar, + onClick, +}: ChatItemProps) => { + return ( +
+
+ {avatar ? ( + {name} + ) : ( + "IMG" + )} +
+ +
+
+

{name}

+ {time} +
+ +
+

+ {message} +

+ {unreadCount ? ( + + {unreadCount > 999 ? "999+" : unreadCount} + + ) : null} +
+
+
+ ); +}; + +export default ChatItem; diff --git a/react-messenger/src/components/chatList/chatFilter.tsx b/react-messenger/src/components/chatList/chatFilter.tsx new file mode 100644 index 00000000..4a88f687 --- /dev/null +++ b/react-messenger/src/components/chatList/chatFilter.tsx @@ -0,0 +1,33 @@ +import { useState } from "react"; + +const ChatFilter = () => { + const [selected, setSelected] = useState(0); + const filters = ["모두", "읽지 않음", "즐겨찾기", "그룹"]; + + return ( +
+ {filters.map((label, i) => { + const isSelected = i === selected; + return ( + + ); + })} +
+ ); +}; + +export default ChatFilter; diff --git a/react-messenger/src/components/chatRoom/ContactAction.tsx b/react-messenger/src/components/chatRoom/ContactAction.tsx new file mode 100644 index 00000000..e3eecff0 --- /dev/null +++ b/react-messenger/src/components/chatRoom/ContactAction.tsx @@ -0,0 +1,69 @@ +import { useNavigate } from "react-router-dom"; +import LeftIcon from "../../assets/icons/ContactAction/LeftIcon"; +import SearchIcon from "../../assets/icons/ContactAction/SearchIcon"; +import CallIcon from "../../assets/icons/ContactAction/CallIcon"; +import VideoIcon from "../../assets/icons/ContactAction/VideoIcon"; +import ProfileIcon from "../../assets/icons/ContactAction/ProfileIcon"; +import RightIcon from "../../assets/icons/ContactAction/RightIcon"; + +interface User { + id: number; + name: string; + avatar?: string; + phone?: string; +} + +interface Props { + user?: User; +} + +const ContactAction = ({ user }: Props) => { + const navigate = useNavigate(); + + return ( +
+ {/* 왼쪽: 뒤로가기 */} +
+ + + {/* 가운데: 프로필 정보 */} +
+
+ {user?.avatar ? ( + {user.name} + ) : ( + + )} +
+ +
+
+ + {user?.name || "Loading..."} + + +
+ {user?.phone || ""} +
+
+ + {/* 오른쪽: 액션 버튼들 */} +
+ + + +
+
+
+ ); +}; + +export default ContactAction; diff --git a/react-messenger/src/components/chatRoom/DateDivider.tsx b/react-messenger/src/components/chatRoom/DateDivider.tsx new file mode 100644 index 00000000..ab7b5855 --- /dev/null +++ b/react-messenger/src/components/chatRoom/DateDivider.tsx @@ -0,0 +1,28 @@ +interface DateDividerProps { + date: string; +} + +const DateDivider = ({ date }: DateDividerProps) => { + const d = new Date(date); + const today = new Date(); + const isSameYear = d.getFullYear() === today.getFullYear(); + + const formatted = isSameYear + ? d.toLocaleDateString("ko-KR", { + month: "long", + day: "numeric", + }) + : d.toLocaleDateString("ko-KR", { + year: "numeric", + month: "long", + day: "numeric", + }); + + return ( +
+ {formatted} +
+ ); +}; + +export default DateDivider; diff --git a/react-messenger/src/components/chatRoom/MessageInput.tsx b/react-messenger/src/components/chatRoom/MessageInput.tsx new file mode 100644 index 00000000..9ffd326c --- /dev/null +++ b/react-messenger/src/components/chatRoom/MessageInput.tsx @@ -0,0 +1,65 @@ +import { useState } from "react"; +import CameraIcon from "../../assets/icons/CameraIcon"; +import PlusIcon from "../../assets/icons/PlusIcon"; +import StickerIcon from "../../assets/icons/StickerIcon"; +import SendIcon from "../../assets/icons/SendIcon"; + +interface MessageInputProps { + onSend: (text: string) => void; // 입력 받은 내용 상위 컴포넌트로 전달하기 +} + +const MessageInput = ({ onSend }: MessageInputProps) => { + const [message, setMessage] = useState(""); + + const handleSend = () => { + if (!message.trim()) return; + onSend(message); + setMessage(""); //입력창 다시 비우기 + }; + + const handleKeyDown = (e: React.KeyboardEvent) => { + if (e.nativeEvent.isComposing) return; + if (e.key === "Enter") { + if (e.shiftKey) { + e.preventDefault(); + setMessage((prev) => prev + "\n"); + } else { + e.preventDefault(); + handleSend(); + } + } + }; + + return ( +
+
+
+ + setMessage(e.target.value)} + onKeyDown={handleKeyDown} + > +
+ + {message.trim() ? ( + + ) : ( + + )} +
+
+
+ ); +}; +export default MessageInput; diff --git a/react-messenger/src/components/chatRoom/ReceivedChat.tsx b/react-messenger/src/components/chatRoom/ReceivedChat.tsx new file mode 100644 index 00000000..fb097f97 --- /dev/null +++ b/react-messenger/src/components/chatRoom/ReceivedChat.tsx @@ -0,0 +1,62 @@ +import { useState, useEffect, useRef } from "react"; +import ProfileIcon from "../../assets/icons/ContactAction/ProfileIcon"; +import ShowAllIcon from "../../assets/icons/ShowAllIcon"; + +interface RecievedChatProps { + text: string; + time?: string; + avatar?: string; +} + +const RecievedChat = ({ text, time, avatar }: RecievedChatProps) => { + const [isExpanded, setIsExpanded] = useState(false); + const [isOverflowing, setIsOverflowing] = useState(false); + const textRef = useRef(null); + + useEffect(() => { + if (textRef.current) { + const el = textRef.current; + // 줄 잘림 감지 + setIsOverflowing(el.scrollHeight > el.clientHeight); + } + }, [text]); + + return ( +
+ {avatar ? ( + avatar + ) : ( + + )} + +
+
+ {text} +
+ + {/* 전체보기 버튼 */} + {!isExpanded && isOverflowing && ( + + )} +
+ + {/* 시간 */} + {time && {time}} +
+ ); +}; + +export default RecievedChat; diff --git a/react-messenger/src/components/chatRoom/SentChat.tsx b/react-messenger/src/components/chatRoom/SentChat.tsx new file mode 100644 index 00000000..49babdfa --- /dev/null +++ b/react-messenger/src/components/chatRoom/SentChat.tsx @@ -0,0 +1,51 @@ +import { useState, useEffect, useRef } from "react"; +import ShowAllIcon from "../../assets/icons/ShowAllIcon"; + +interface SentChatProps { + text: string; + time?: string; +} + +const SentChat = ({ text, time }: SentChatProps) => { + const [isExpanded, setIsExpanded] = useState(false); + const [isOverflowing, setIsOverflowing] = useState(false); + const textRef = useRef(null); + + useEffect(() => { + if (textRef.current) { + const el = textRef.current; + setIsOverflowing(el.scrollHeight > el.clientHeight); + } + }, [text]); + + return ( +
+ {time && {time}} + +
+
+ {text} +
+ + {!isExpanded && isOverflowing && ( + + )} +
+
+ ); +}; + +export default SentChat; diff --git a/react-messenger/src/global.d.ts b/react-messenger/src/global.d.ts new file mode 100644 index 00000000..559d73b6 --- /dev/null +++ b/react-messenger/src/global.d.ts @@ -0,0 +1,8 @@ +declare module "*.svg" { + import * as React from "react"; + export const ReactComponent: React.FunctionComponent< + React.SVGProps & { title?: string } + >; + const src: string; + export default src; +} diff --git a/react-messenger/src/index.css b/react-messenger/src/index.css new file mode 100644 index 00000000..b2b7943b --- /dev/null +++ b/react-messenger/src/index.css @@ -0,0 +1,11 @@ +@import "tailwindcss"; +@import "./styles/theme.css"; +@import "./styles/components.css"; + +.scrollbar-hide::-webkit-scrollbar { + display: none; +} + +.scrollbar-hide { + scrollbar-width: none; +} diff --git a/react-messenger/src/main.tsx b/react-messenger/src/main.tsx new file mode 100644 index 00000000..7d81904c --- /dev/null +++ b/react-messenger/src/main.tsx @@ -0,0 +1,10 @@ +import React from "react"; +import { createRoot } from "react-dom/client"; +import App from "./App"; +import "./index.css"; + +createRoot(document.getElementById("root")!).render( + + + +); diff --git a/react-messenger/src/pages/ChatList.tsx b/react-messenger/src/pages/ChatList.tsx new file mode 100644 index 00000000..32b39c75 --- /dev/null +++ b/react-messenger/src/pages/ChatList.tsx @@ -0,0 +1,119 @@ +import { useEffect, useState } from "react"; +import { useNavigate } from "react-router-dom"; +import ChatFilter from "../components/chatList/ChatFilter"; +import ChatItem from "../components/chatList/ChatItem"; +import BottomBar from "../components/chatList/BottomBar"; + +interface Conversation { + id: number; + userId: number; + messages: string; + unreadCount?: number; +} + +interface User { + id: number; + name: string; + avatar?: string; +} + +interface ChatPreview { + id: number; + name: string; + avatar?: string; + lastMessage: string; + lastTime: string; + unreadCount?: number; +} + +const ChatList = () => { + const [chatList, setChatList] = useState([]); + const navigate = useNavigate(); + + useEffect(() => { + const loadChats = async () => { + try { + const [convRes, userRes] = await Promise.all([ + fetch("/data/conversation.json"), + fetch("/data/users.json"), + ]); + + const conversations: Conversation[] = await convRes.json(); + const users: User[] = await userRes.json(); + + const results: ChatPreview[] = []; + + for (const conv of conversations) { + const user = users.find((u) => u.id === conv.userId); + const res = await fetch(conv.messages); + if (!res.ok) continue; + const messages = await res.json(); + + const lastMsg = messages[messages.length - 1]; + results.push({ + id: conv.id, + name: user?.name || "Unknown", + avatar: user?.avatar || "", + lastMessage: lastMsg?.text || "", + lastTime: lastMsg?.time || "", + unreadCount: conv.unreadCount ?? 0, + }); + } + + setChatList(results); + } catch (err) { + console.error("대화 데이터를 불러오지 못했습니다:", err); + } + }; + + loadChats(); + }, []); + + return ( +
+ {/* 헤더 */} +
+

Chats

+
+ 😊 + 📷 + 👥 +
+
+ + {/* 검색창 */} +
+ +
+ + {/* 필터 버튼 */} + + + {/* 대화 목록 */} +
+ {chatList.map((chat) => ( + navigate(`/chat/${chat.id}`)} + /> + ))} +
+ + {/* 하단 바 */} +
+ +
+
+ ); +}; + +export default ChatList; diff --git a/react-messenger/src/pages/ChatRoom.tsx b/react-messenger/src/pages/ChatRoom.tsx new file mode 100644 index 00000000..d969289b --- /dev/null +++ b/react-messenger/src/pages/ChatRoom.tsx @@ -0,0 +1,135 @@ +import { useState, useRef, useEffect } from "react"; +import { useParams } from "react-router-dom"; +import ContactAction from "../components/chatRoom/ContactAction"; +import MessageInput from "../components/chatRoom/MessageInput"; +import RecievedChat from "../components/chatRoom/ReceivedChat"; +import SentChat from "../components/chatRoom/SentChat"; +import DateDivider from "../components/chatRoom/DateDivider"; +import type { Message } from "../types/chat"; + +interface User { + id: number; + name: string; + avatar?: string; + phone?: string; +} + +interface Conversation { + id: number; + userId: number; + messages: string; +} + +const ChatRoom = () => { + const { id } = useParams(); + const [messages, setMessages] = useState([]); + const [users, setUsers] = useState([]); + const [conversation, setConversation] = useState(null); + const containerRef = useRef(null); + + // 데이터 불러오기 + useEffect(() => { + const loadData = async () => { + try { + const [userRes, convRes, msgRes] = await Promise.all([ + fetch("/data/users.json"), + fetch("/data/conversation.json"), + fetch(`/data/messages/chat_${id}.json`), + ]); + + if (!userRes.ok || !msgRes.ok || !convRes.ok) + throw new Error("데이터를 불러올 수 없습니다."); + + const usersData: User[] = await userRes.json(); + const convData: Conversation[] = await convRes.json(); + const msgData: Message[] = await msgRes.json(); + + const currentConv = convData.find((c) => c.id === Number(id)); + setConversation(currentConv || null); + setUsers(usersData); + setMessages(msgData); + } catch (error) { + console.error(error); + } + }; + + loadData(); + }, [id]); + + // 자동 스크롤 + useEffect(() => { + if (containerRef.current) { + containerRef.current.scrollTop = containerRef.current.scrollHeight; + } + }, [messages]); + + // 전송 로직 + const handleSend = (text: string) => { + const now = new Date(); + const today = `${now.getFullYear()}-${String(now.getMonth() + 1).padStart( + 2, + "0" + )}-${String(now.getDate()).padStart(2, "0")}`; + const time = now.toLocaleTimeString("ko-KR", { + hour: "2-digit", + minute: "2-digit", + hour12: false, + }); + + const newMessage: Message = { + id: Date.now(), + userId: 0, + text, + type: "sent", + createdAt: today, + time, + }; + + setMessages((prev) => [...prev, newMessage]); + }; + + // 현재 대화 상대 + const targetUser = users.find((u) => u.id === conversation?.userId); + + return ( +
+ +
+ {messages.map((msg, index) => { + const prevMsg = messages[index - 1]; + const nextMsg = messages[index + 1]; + const showDivider = !prevMsg || prevMsg.createdAt !== msg.createdAt; + const showTime = + !nextMsg || nextMsg.time !== msg.time || nextMsg.type !== msg.type; + const user = users.find((u) => u.id === msg.userId); + + return ( +
+ {showDivider && } + {msg.type === "sent" ? ( + + ) : ( + + )} +
+ ); + })} +
+
+ +
+
+ ); +}; + +export default ChatRoom; diff --git a/react-messenger/src/pages/Profile.tsx b/react-messenger/src/pages/Profile.tsx new file mode 100644 index 00000000..a0fa33d0 --- /dev/null +++ b/react-messenger/src/pages/Profile.tsx @@ -0,0 +1,9 @@ +const Profile = () => { + return ( +
+

Profile

+
+ ); +}; + +export default Profile; diff --git a/react-messenger/src/pages/ProfilePhoto.tsx b/react-messenger/src/pages/ProfilePhoto.tsx new file mode 100644 index 00000000..d313f523 --- /dev/null +++ b/react-messenger/src/pages/ProfilePhoto.tsx @@ -0,0 +1,9 @@ +const ProfilePhoto = () => { + return ( +
+

ProfilePhoto

+
+ ); +}; + +export default ProfilePhoto; diff --git a/react-messenger/src/routes/index.tsx b/react-messenger/src/routes/index.tsx new file mode 100644 index 00000000..f3ad8fc1 --- /dev/null +++ b/react-messenger/src/routes/index.tsx @@ -0,0 +1,24 @@ +import { createBrowserRouter } from "react-router-dom"; +import ChatList from "../pages/ChatList"; +import ChatRoom from "../pages/ChatRoom"; +import Profile from "../pages/Profile"; +import ProfilePhoto from "../pages/ProfilePhoto"; + +export const router = createBrowserRouter([ + { + path: "/", + element: , + }, + { + path: "/chat/:id", + element: , + }, + { + path: "/profile", + element: , + }, + { + path: "/profile/photo", + element: , + }, +]); diff --git a/react-messenger/src/styles/components.css b/react-messenger/src/styles/components.css new file mode 100644 index 00000000..3954b816 --- /dev/null +++ b/react-messenger/src/styles/components.css @@ -0,0 +1,105 @@ +@layer components { + /* Title */ + .title-1 { + font-size: var(--font-size-22); + line-height: var(--line-height-33); + font-weight: var(--font-weight-semibold); + letter-spacing: var(--letter-spacing-tight-01); + } + .title-2 { + font-size: var(--font-size-22); + line-height: var(--line-height-24); + font-weight: var(--font-weight-semibold); + letter-spacing: var(--letter-spacing-tight-01); + } + .title-3 { + font-size: var(--font-size-16); + line-height: var(--line-height-19); + font-weight: var(--font-weight-semibold); + letter-spacing: var(--letter-spacing-tight-03); + } + + /* Lists */ + .list-1 { + font-size: var(--font-size-16); + line-height: var(--line-height-20); + font-weight: var(--font-weight-semibold); + letter-spacing: var(--letter-spacing-normal); + } + .list-2 { + font-size: var(--font-size-16); + line-height: var(--line-height-28); + font-weight: var(--font-weight-medium); + letter-spacing: var(--letter-spacing-tight-03); + } + .list-3 { + font-size: var(--font-size-14); + line-height: var(--line-height-17); + font-weight: var(--font-weight-regular); + letter-spacing: var(--letter-spacing-tight-015); + } + + /* Tags */ + .tag-1 { + font-size: var(--font-size-14); + line-height: var(--line-height-21); + font-weight: var(--font-weight-semibold); + letter-spacing: var(--letter-spacing-wide-033); + } + .tag-2 { + font-size: var(--font-size-14); + line-height: var(--line-height-21); + font-weight: var(--font-weight-medium); + letter-spacing: var(--letter-spacing-wide-033); + } + + /* Body */ + .body-1 { + font-size: var(--font-size-15); + line-height: var(--line-height-20); + font-weight: var(--font-weight-medium); + letter-spacing: var(--letter-spacing-tight-03); + } + .body-2 { + font-size: var(--font-size-15); + line-height: var(--line-height-22); + font-weight: var(--font-weight-regular); + letter-spacing: var(--letter-spacing-wide-03); + } + .body-3 { + font-size: var(--font-size-10); + line-height: var(--line-height-12); + font-weight: var(--font-weight-medium); + letter-spacing: var(--letter-spacing-normal); + } + .body-4 { + font-size: var(--font-size-16); + line-height: var(--line-height-20); + font-weight: var(--font-weight-medium); + letter-spacing: var(--letter-spacing-tight-03); + } + .body-5 { + font-size: var(--font-size-12); + line-height: var(--line-height-20); + font-weight: var(--font-weight-medium); + letter-spacing: var(--letter-spacing-tight-033); + } + .body-6 { + font-size: var(--font-size-12); + line-height: var(--line-height-14); + font-weight: var(--font-weight-regular); + letter-spacing: var(--letter-spacing-tight-015); + } + .body-7 { + font-size: var(--font-size-13); + line-height: var(--line-height-16); + font-weight: var(--font-weight-regular); + letter-spacing: var(--letter-spacing-normal); + } + .body-8 { + font-size: var(--font-size-13); + line-height: var(--line-height-16); + font-weight: var(--font-weight-semibold); + letter-spacing: var(--letter-spacing-normal); + } +} diff --git a/react-messenger/src/styles/theme.css b/react-messenger/src/styles/theme.css new file mode 100644 index 00000000..09702fe1 --- /dev/null +++ b/react-messenger/src/styles/theme.css @@ -0,0 +1,62 @@ +@theme { + /* Font */ + --font-sans: Pretendard, system-ui, sans-serif; + + /* Primary Colors */ + --color-main-green: #58cf04; + --color-light-green: #f8fff2; + --color-chat-green: #95f551; + --color-black: #0f0f10; + --color-white: #ffffff; + + /* Gray Scale */ + --color-gray-900: #0f0f10; + --color-gray-850: #171719; + --color-gray-800: #292a2d; + --color-gray-750: #333438; + --color-gray-700: #46474c; + --color-gray-600: #70737c; + --color-gray-500: #878a93; + --color-gray-450: #989ba2; + --color-gray-400: #aeb0b6; + --color-gray-300: #c2c4c8; + --color-gray-250: #dbdcdf; + --color-gray-200: #e1e2e4; + --color-gray-150: #f4f4f5; + --color-gray-100: #fafafa; + + /* Font weights */ + --font-weight-regular: 400; + --font-weight-medium: 500; + --font-weight-semibold: 600; + --font-weight-bold: 700; + + /* Font sizes */ + --font-size-22: 22px; + --font-size-16: 16px; + --font-size-15: 15px; + --font-size-14: 14px; + --font-size-13: 13px; + --font-size-12: 12px; + --font-size-10: 10px; + + /* Line-heights */ + --line-height-33: 33px; + --line-height-28: 28px; + --line-height-24: 24px; + --line-height-22: 22px; + --line-height-20: 20px; + --line-height-19: 19px; + --line-height-17: 17px; + --line-height-16: 16px; + --line-height-14: 14px; + --line-height-12: 12px; + + /* Letter-spacing */ + --letter-spacing-tight-01: -0.1px; + --letter-spacing-tight-03: -0.3px; + --letter-spacing-tight-015: -0.15px; + --letter-spacing-wide-033: 0.33px; + --letter-spacing-wide-03: 0.3px; + --letter-spacing-normal: 0px; +} diff --git a/react-messenger/src/types/chat.ts b/react-messenger/src/types/chat.ts new file mode 100644 index 00000000..9bded03c --- /dev/null +++ b/react-messenger/src/types/chat.ts @@ -0,0 +1,15 @@ +export interface Contact { + id: number; + name: string; + phone: string; + avatar?: string; +} + +export interface Message { + id: number; + userId: number; + text: string; + type: "sent" | "received"; + createdAt: string; + time: string; +} diff --git a/react-messenger/tailwind.config.js b/react-messenger/tailwind.config.js new file mode 100644 index 00000000..9b79dbdf --- /dev/null +++ b/react-messenger/tailwind.config.js @@ -0,0 +1,8 @@ +/** @type {import('tailwindcss').Config} */ +module.exports = { + content: ["./index.html", "./src/**/*.{js,ts,jsx,tsx}"], + theme: { + extend: {}, + }, + plugins: [require("@tailwindcss/line-clamp")], +}; diff --git a/react-messenger/tsconfig.app.json b/react-messenger/tsconfig.app.json new file mode 100644 index 00000000..a9b5a59c --- /dev/null +++ b/react-messenger/tsconfig.app.json @@ -0,0 +1,28 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", + "target": "ES2022", + "useDefineForClassFields": true, + "lib": ["ES2022", "DOM", "DOM.Iterable"], + "module": "ESNext", + "types": ["vite/client"], + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "verbatimModuleSyntax": true, + "moduleDetection": "force", + "noEmit": true, + "jsx": "react-jsx", + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "erasableSyntaxOnly": true, + "noFallthroughCasesInSwitch": true, + "noUncheckedSideEffectImports": true + }, + "include": ["src"] +} diff --git a/react-messenger/tsconfig.json b/react-messenger/tsconfig.json new file mode 100644 index 00000000..1ffef600 --- /dev/null +++ b/react-messenger/tsconfig.json @@ -0,0 +1,7 @@ +{ + "files": [], + "references": [ + { "path": "./tsconfig.app.json" }, + { "path": "./tsconfig.node.json" } + ] +} diff --git a/react-messenger/tsconfig.node.json b/react-messenger/tsconfig.node.json new file mode 100644 index 00000000..7a77bab3 --- /dev/null +++ b/react-messenger/tsconfig.node.json @@ -0,0 +1,26 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", + "target": "ES2023", + "lib": ["ES2023"], + "module": "ESNext", + "types": [], + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "verbatimModuleSyntax": true, + "moduleDetection": "force", + "noEmit": true, + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "erasableSyntaxOnly": true, + "noFallthroughCasesInSwitch": true, + "noUncheckedSideEffectImports": true + }, + "include": ["vite.config.ts"] +} diff --git a/react-messenger/vite.config.ts b/react-messenger/vite.config.ts new file mode 100644 index 00000000..cae06998 --- /dev/null +++ b/react-messenger/vite.config.ts @@ -0,0 +1,8 @@ +import { defineConfig } from "vite"; +import react from "@vitejs/plugin-react-swc"; +import tailwindcss from "@tailwindcss/vite"; + +// https://vite.dev/config/ +export default defineConfig({ + plugins: [tailwindcss(), react()], +}); From 8b28b3174e2a12478eb0427198f1eb16911087e4 Mon Sep 17 00:00:00 2001 From: jungyungee Date: Sun, 26 Oct 2025 01:56:38 +0900 Subject: [PATCH 02/11] =?UTF-8?q?[CHORE]=20=ED=95=98=EB=8B=A8=EB=B0=94=20?= =?UTF-8?q?=EC=95=84=EC=9D=B4=EC=BD=98=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- react-messenger/package-lock.json | 2026 +++++++++++------ react-messenger/package.json | 11 +- .../src/assets/icons/CameraIcon.tsx | 43 - .../assets/icons/ContactAction/CallIcon.tsx | 23 - .../assets/icons/ContactAction/community.svg | 3 + react-messenger/src/assets/icons/Main/add.svg | 4 + .../src/assets/icons/Main/call.svg | 4 + .../src/assets/icons/Main/camera.svg | 15 + .../src/assets/icons/Main/search.svg | 3 + react-messenger/src/assets/icons/SendIcon.svg | 11 + .../src/assets/icons/StickerIcon.svg | 4 + .../src/components/chatList/BottomBar.tsx | 16 +- .../src/components/chatRoom/ContactAction.tsx | 4 +- .../src/components/chatRoom/MessageInput.tsx | 2 +- react-messenger/src/global.d.ts | 6 + react-messenger/src/pages/ChatList.tsx | 15 +- react-messenger/vite.config.ts | 3 +- 17 files changed, 1394 insertions(+), 799 deletions(-) delete mode 100644 react-messenger/src/assets/icons/CameraIcon.tsx delete mode 100644 react-messenger/src/assets/icons/ContactAction/CallIcon.tsx create mode 100644 react-messenger/src/assets/icons/ContactAction/community.svg create mode 100644 react-messenger/src/assets/icons/Main/add.svg create mode 100644 react-messenger/src/assets/icons/Main/call.svg create mode 100644 react-messenger/src/assets/icons/Main/camera.svg create mode 100644 react-messenger/src/assets/icons/Main/search.svg create mode 100644 react-messenger/src/assets/icons/SendIcon.svg create mode 100644 react-messenger/src/assets/icons/StickerIcon.svg diff --git a/react-messenger/package-lock.json b/react-messenger/package-lock.json index 4c91f7e3..d017c8eb 100644 --- a/react-messenger/package-lock.json +++ b/react-messenger/package-lock.json @@ -9,19 +9,22 @@ "version": "0.0.0", "dependencies": { "@tailwindcss/line-clamp": "^0.4.4", + "enhanced-resolve": "^5.18.3", "pretendard": "^1.3.9", "react": "^19.1.1", "react-dom": "^19.1.1", - "react-router-dom": "^7.9.4" + "react-router-dom": "^7.9.4", + "vite-plugin-svgr": "^4.5.0" }, "devDependencies": { "@eslint/js": "^9.36.0", - "@swc/core": "^1.13.19", + "@swc/core": "^1.13.5", + "@swc/helpers": "^0.5.17", "@tailwindcss/postcss": "^4.1.13", - "@tailwindcss/vite": "^4.1.13", + "@tailwindcss/vite": "^4.1.16", "@types/react": "^19.1.13", "@types/react-dom": "^19.1.9", - "@vitejs/plugin-react-swc": "^4.1.0", + "@vitejs/plugin-react-swc": "^4.2.0", "autoprefixer": "^10.4.21", "eslint": "^9.36.0", "eslint-plugin-react-hooks": "^5.2.0", @@ -46,14 +49,256 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@babel/code-frame": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.27.1", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.5.tgz", + "integrity": "sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz", + "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.5", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-module-transforms": "^7.28.3", + "@babel/helpers": "^7.28.4", + "@babel/parser": "^7.28.5", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.5", + "@babel/types": "^7.28.5", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.5.tgz", + "integrity": "sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.28.5", + "@babel/types": "^7.28.5", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", + "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.27.2", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", + "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", + "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.28.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz", + "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==", + "license": "MIT", + "dependencies": { + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.5.tgz", + "integrity": "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.5" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/template": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/parser": "^7.27.2", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.5.tgz", + "integrity": "sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.5", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.28.5", + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.5", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.5.tgz", + "integrity": "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.10.tgz", - "integrity": "sha512-0NFWnA+7l41irNuaSVlLfgNT12caWJVLzp5eAVhZ0z1qpxbockccEt3s+149rE64VUI3Ml2zt8Nv5JVc4QXTsw==", + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.11.tgz", + "integrity": "sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg==", "cpu": [ "ppc64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -64,13 +309,12 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.10.tgz", - "integrity": "sha512-dQAxF1dW1C3zpeCDc5KqIYuZ1tgAdRXNoZP7vkBIRtKZPYe2xVr/d3SkirklCHudW1B45tGiUlz2pUWDfbDD4w==", + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.11.tgz", + "integrity": "sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg==", "cpu": [ "arm" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -81,13 +325,12 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.10.tgz", - "integrity": "sha512-LSQa7eDahypv/VO6WKohZGPSJDq5OVOo3UoFR1E4t4Gj1W7zEQMUhI+lo81H+DtB+kP+tDgBp+M4oNCwp6kffg==", + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.11.tgz", + "integrity": "sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ==", "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -98,13 +341,12 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.10.tgz", - "integrity": "sha512-MiC9CWdPrfhibcXwr39p9ha1x0lZJ9KaVfvzA0Wxwz9ETX4v5CHfF09bx935nHlhi+MxhA63dKRRQLiVgSUtEg==", + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.11.tgz", + "integrity": "sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g==", "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -115,13 +357,12 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.10.tgz", - "integrity": "sha512-JC74bdXcQEpW9KkV326WpZZjLguSZ3DfS8wrrvPMHgQOIEIG/sPXEN/V8IssoJhbefLRcRqw6RQH2NnpdprtMA==", + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.11.tgz", + "integrity": "sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w==", "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -132,13 +373,12 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.10.tgz", - "integrity": "sha512-tguWg1olF6DGqzws97pKZ8G2L7Ig1vjDmGTwcTuYHbuU6TTjJe5FXbgs5C1BBzHbJ2bo1m3WkQDbWO2PvamRcg==", + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.11.tgz", + "integrity": "sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ==", "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -149,13 +389,12 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.10.tgz", - "integrity": "sha512-3ZioSQSg1HT2N05YxeJWYR+Libe3bREVSdWhEEgExWaDtyFbbXWb49QgPvFH8u03vUPX10JhJPcz7s9t9+boWg==", + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.11.tgz", + "integrity": "sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA==", "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -166,13 +405,12 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.10.tgz", - "integrity": "sha512-LLgJfHJk014Aa4anGDbh8bmI5Lk+QidDmGzuC2D+vP7mv/GeSN+H39zOf7pN5N8p059FcOfs2bVlrRr4SK9WxA==", + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.11.tgz", + "integrity": "sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw==", "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -183,13 +421,12 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.10.tgz", - "integrity": "sha512-oR31GtBTFYCqEBALI9r6WxoU/ZofZl962pouZRTEYECvNF/dtXKku8YXcJkhgK/beU+zedXfIzHijSRapJY3vg==", + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.11.tgz", + "integrity": "sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw==", "cpu": [ "arm" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -200,13 +437,12 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.10.tgz", - "integrity": "sha512-5luJWN6YKBsawd5f9i4+c+geYiVEw20FVW5x0v1kEMWNq8UctFjDiMATBxLvmmHA4bf7F6hTRaJgtghFr9iziQ==", + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.11.tgz", + "integrity": "sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA==", "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -217,13 +453,12 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.10.tgz", - "integrity": "sha512-NrSCx2Kim3EnnWgS4Txn0QGt0Xipoumb6z6sUtl5bOEZIVKhzfyp/Lyw4C1DIYvzeW/5mWYPBFJU3a/8Yr75DQ==", + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.11.tgz", + "integrity": "sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw==", "cpu": [ "ia32" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -234,13 +469,12 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.10.tgz", - "integrity": "sha512-xoSphrd4AZda8+rUDDfD9J6FUMjrkTz8itpTITM4/xgerAZZcFW7Dv+sun7333IfKxGG8gAq+3NbfEMJfiY+Eg==", + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.11.tgz", + "integrity": "sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw==", "cpu": [ "loong64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -251,13 +485,12 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.10.tgz", - "integrity": "sha512-ab6eiuCwoMmYDyTnyptoKkVS3k8fy/1Uvq7Dj5czXI6DF2GqD2ToInBI0SHOp5/X1BdZ26RKc5+qjQNGRBelRA==", + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.11.tgz", + "integrity": "sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ==", "cpu": [ "mips64el" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -268,13 +501,12 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.10.tgz", - "integrity": "sha512-NLinzzOgZQsGpsTkEbdJTCanwA5/wozN9dSgEl12haXJBzMTpssebuXR42bthOF3z7zXFWH1AmvWunUCkBE4EA==", + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.11.tgz", + "integrity": "sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw==", "cpu": [ "ppc64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -285,13 +517,12 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.10.tgz", - "integrity": "sha512-FE557XdZDrtX8NMIeA8LBJX3dC2M8VGXwfrQWU7LB5SLOajfJIxmSdyL/gU1m64Zs9CBKvm4UAuBp5aJ8OgnrA==", + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.11.tgz", + "integrity": "sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww==", "cpu": [ "riscv64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -302,13 +533,12 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.10.tgz", - "integrity": "sha512-3BBSbgzuB9ajLoVZk0mGu+EHlBwkusRmeNYdqmznmMc9zGASFjSsxgkNsqmXugpPk00gJ0JNKh/97nxmjctdew==", + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.11.tgz", + "integrity": "sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw==", "cpu": [ "s390x" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -319,13 +549,12 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.10.tgz", - "integrity": "sha512-QSX81KhFoZGwenVyPoberggdW1nrQZSvfVDAIUXr3WqLRZGZqWk/P4T8p2SP+de2Sr5HPcvjhcJzEiulKgnxtA==", + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.11.tgz", + "integrity": "sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ==", "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -336,13 +565,12 @@ } }, "node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.10.tgz", - "integrity": "sha512-AKQM3gfYfSW8XRk8DdMCzaLUFB15dTrZfnX8WXQoOUpUBQ+NaAFCP1kPS/ykbbGYz7rxn0WS48/81l9hFl3u4A==", + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.11.tgz", + "integrity": "sha512-hr9Oxj1Fa4r04dNpWr3P8QKVVsjQhqrMSUzZzf+LZcYjZNqhA3IAfPQdEh1FLVUJSiu6sgAwp3OmwBfbFgG2Xg==", "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -353,13 +581,12 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.10.tgz", - "integrity": "sha512-7RTytDPGU6fek/hWuN9qQpeGPBZFfB4zZgcz2VK2Z5VpdUxEI8JKYsg3JfO0n/Z1E/6l05n0unDCNc4HnhQGig==", + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.11.tgz", + "integrity": "sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A==", "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -370,13 +597,12 @@ } }, "node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.10.tgz", - "integrity": "sha512-5Se0VM9Wtq797YFn+dLimf2Zx6McttsH2olUBsDml+lm0GOCRVebRWUvDtkY4BWYv/3NgzS8b/UM3jQNh5hYyw==", + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.11.tgz", + "integrity": "sha512-Qq6YHhayieor3DxFOoYM1q0q1uMFYb7cSpLD2qzDSvK1NAvqFi8Xgivv0cFC6J+hWVw2teCYltyy9/m/14ryHg==", "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -387,13 +613,12 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.10.tgz", - "integrity": "sha512-XkA4frq1TLj4bEMB+2HnI0+4RnjbuGZfet2gs/LNs5Hc7D89ZQBHQ0gL2ND6Lzu1+QVkjp3x1gIcPKzRNP8bXw==", + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.11.tgz", + "integrity": "sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw==", "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -404,13 +629,12 @@ } }, "node_modules/@esbuild/openharmony-arm64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.10.tgz", - "integrity": "sha512-AVTSBhTX8Y/Fz6OmIVBip9tJzZEUcY8WLh7I59+upa5/GPhh2/aM6bvOMQySspnCCHvFi79kMtdJS1w0DXAeag==", + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.11.tgz", + "integrity": "sha512-rOREuNIQgaiR+9QuNkbkxubbp8MSO9rONmwP5nKncnWJ9v5jQ4JxFnLu4zDSRPf3x4u+2VN4pM4RdyIzDty/wQ==", "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -421,13 +645,12 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.10.tgz", - "integrity": "sha512-fswk3XT0Uf2pGJmOpDB7yknqhVkJQkAQOcW/ccVOtfx05LkbWOaRAtn5SaqXypeKQra1QaEa841PgrSL9ubSPQ==", + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.11.tgz", + "integrity": "sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA==", "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -438,13 +661,12 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.10.tgz", - "integrity": "sha512-ah+9b59KDTSfpaCg6VdJoOQvKjI33nTaQr4UluQwW7aEwZQsbMCfTmfEO4VyewOxx4RaDT/xCy9ra2GPWmO7Kw==", + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.11.tgz", + "integrity": "sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q==", "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -455,13 +677,12 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.10.tgz", - "integrity": "sha512-QHPDbKkrGO8/cz9LKVnJU22HOi4pxZnZhhA2HYHez5Pz4JeffhDjf85E57Oyco163GnzNCVkZK0b/n4Y0UHcSw==", + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.11.tgz", + "integrity": "sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA==", "cpu": [ "ia32" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -472,13 +693,12 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.10.tgz", - "integrity": "sha512-9KpxSVFCu0iK1owoez6aC/s/EdUQLDN3adTxGCqxMVhrPDj6bt5dbrHDXUuq+Bs2vATFBBrQS5vdQ/Ed2P+nbw==", + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.11.tgz", + "integrity": "sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA==", "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -521,9 +741,9 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", - "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", + "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", "dev": true, "license": "MIT", "engines": { @@ -531,13 +751,13 @@ } }, "node_modules/@eslint/config-array": { - "version": "0.21.0", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.0.tgz", - "integrity": "sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==", + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz", + "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@eslint/object-schema": "^2.1.6", + "@eslint/object-schema": "^2.1.7", "debug": "^4.3.1", "minimatch": "^3.1.2" }, @@ -546,19 +766,22 @@ } }, "node_modules/@eslint/config-helpers": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.3.1.tgz", - "integrity": "sha512-xR93k9WhrDYpXHORXpxVL5oHj3Era7wo6k/Wd8/IsQNnZUTzkGS29lyn3nAT05v6ltUuTFVCCYDEGfy2Or/sPA==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.1.tgz", + "integrity": "sha512-csZAzkNhsgwb0I/UAV6/RGFTbiakPCf0ZrGmrIxQpYvGZ00PhTkSnyKNolphgIvmnJeGw6rcGVEXfTzUnFuEvw==", "dev": true, "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.16.0" + }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, "node_modules/@eslint/core": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.15.2.tgz", - "integrity": "sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg==", + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.16.0.tgz", + "integrity": "sha512-nmC8/totwobIiFcGkDza3GIKfAw1+hLiYVrh3I1nIomQ8PEr5cxg34jnkmGawul/ep52wGRAcyeDCNtWKSOj4Q==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -606,9 +829,9 @@ } }, "node_modules/@eslint/js": { - "version": "9.36.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.36.0.tgz", - "integrity": "sha512-uhCbYtYynH30iZErszX78U+nR3pJU3RHGQ57NXy5QupD4SBVwDeU8TNBy+MjMngc1UyIW9noKqsRqfjQTBU2dw==", + "version": "9.38.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.38.0.tgz", + "integrity": "sha512-UZ1VpFvXf9J06YG9xQBdnzU+kthors6KjhMAl6f4gH4usHyh31rUf2DLGInT8RFYIReYXNSydgPY0V2LuWgl7A==", "dev": true, "license": "MIT", "engines": { @@ -619,9 +842,9 @@ } }, "node_modules/@eslint/object-schema": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", - "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", + "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", "dev": true, "license": "Apache-2.0", "engines": { @@ -629,13 +852,13 @@ } }, "node_modules/@eslint/plugin-kit": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.5.tgz", - "integrity": "sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.0.tgz", + "integrity": "sha512-sB5uyeq+dwCWyPi31B2gQlVlo+j5brPlWx4yZBrEaRo/nhdDE8Xke1gsGgtiBdaBTxuTkceLVuVt/pclrasb0A==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@eslint/core": "^0.15.2", + "@eslint/core": "^0.16.0", "levn": "^0.4.1" }, "engines": { @@ -694,24 +917,10 @@ "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@isaacs/fs-minipass": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", - "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", - "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^7.0.4" - }, - "engines": { - "node": ">=18.0.0" - } - }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.13", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", - "dev": true, "license": "MIT", "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0", @@ -722,7 +931,6 @@ "version": "2.3.5", "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", - "dev": true, "license": "MIT", "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", @@ -733,7 +941,6 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, "license": "MIT", "engines": { "node": ">=6.0.0" @@ -743,14 +950,12 @@ "version": "1.5.5", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", - "dev": true, "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.31", "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", - "dev": true, "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", @@ -796,20 +1001,53 @@ } }, "node_modules/@rolldown/pluginutils": { - "version": "1.0.0-beta.35", - "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.35.tgz", - "integrity": "sha512-slYrCpoxJUqzFDDNlvrOYRazQUNRvWPjXA17dAOISY3rDMxX6k8K4cj2H+hEYMHF81HO3uNd5rHVigAWRM5dSg==", + "version": "1.0.0-beta.43", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.43.tgz", + "integrity": "sha512-5Uxg7fQUCmfhax7FJke2+8B6cqgeUJUD9o2uXIKXhD+mG0mL6NObmVoi9wXEU1tY89mZKgAYA6fTbftx3q2ZPQ==", "dev": true, "license": "MIT" }, + "node_modules/@rollup/pluginutils": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.3.0.tgz", + "integrity": "sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/pluginutils/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.52.3.tgz", - "integrity": "sha512-h6cqHGZ6VdnwliFG1NXvMPTy/9PS3h8oLh7ImwR+kl+oYnQizgjxsONmmPSb2C66RksfkfIxEVtDSEcJiO0tqw==", + "version": "4.52.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.52.5.tgz", + "integrity": "sha512-8c1vW4ocv3UOMp9K+gToY5zL2XiiVw3k7f1ksf4yO1FlDFQ1C2u72iACFnSOceJFsWskc2WZNqeRhFRPzv+wtQ==", "cpu": [ "arm" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -817,13 +1055,12 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.52.3.tgz", - "integrity": "sha512-wd+u7SLT/u6knklV/ifG7gr5Qy4GUbH2hMWcDauPFJzmCZUAJ8L2bTkVXC2niOIxp8lk3iH/QX8kSrUxVZrOVw==", + "version": "4.52.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.52.5.tgz", + "integrity": "sha512-mQGfsIEFcu21mvqkEKKu2dYmtuSZOBMmAl5CFlPGLY94Vlcm+zWApK7F/eocsNzp8tKmbeBP8yXyAbx0XHsFNA==", "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -831,13 +1068,12 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.52.3.tgz", - "integrity": "sha512-lj9ViATR1SsqycwFkJCtYfQTheBdvlWJqzqxwc9f2qrcVrQaF/gCuBRTiTolkRWS6KvNxSk4KHZWG7tDktLgjg==", + "version": "4.52.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.52.5.tgz", + "integrity": "sha512-takF3CR71mCAGA+v794QUZ0b6ZSrgJkArC+gUiG6LB6TQty9T0Mqh3m2ImRBOxS2IeYBo4lKWIieSvnEk2OQWA==", "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -845,13 +1081,12 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.52.3.tgz", - "integrity": "sha512-+Dyo7O1KUmIsbzx1l+4V4tvEVnVQqMOIYtrxK7ncLSknl1xnMHLgn7gddJVrYPNZfEB8CIi3hK8gq8bDhb3h5A==", + "version": "4.52.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.52.5.tgz", + "integrity": "sha512-W901Pla8Ya95WpxDn//VF9K9u2JbocwV/v75TE0YIHNTbhqUTv9w4VuQ9MaWlNOkkEfFwkdNhXgcLqPSmHy0fA==", "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -859,13 +1094,12 @@ ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.52.3.tgz", - "integrity": "sha512-u9Xg2FavYbD30g3DSfNhxgNrxhi6xVG4Y6i9Ur1C7xUuGDW3banRbXj+qgnIrwRN4KeJ396jchwy9bCIzbyBEQ==", + "version": "4.52.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.52.5.tgz", + "integrity": "sha512-QofO7i7JycsYOWxe0GFqhLmF6l1TqBswJMvICnRUjqCx8b47MTo46W8AoeQwiokAx3zVryVnxtBMcGcnX12LvA==", "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -873,13 +1107,12 @@ ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.52.3.tgz", - "integrity": "sha512-5M8kyi/OX96wtD5qJR89a/3x5x8x5inXBZO04JWhkQb2JWavOWfjgkdvUqibGJeNNaz1/Z1PPza5/tAPXICI6A==", + "version": "4.52.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.52.5.tgz", + "integrity": "sha512-jr21b/99ew8ujZubPo9skbrItHEIE50WdV86cdSoRkKtmWa+DDr6fu2c/xyRT0F/WazZpam6kk7IHBerSL7LDQ==", "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -887,13 +1120,12 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.52.3.tgz", - "integrity": "sha512-IoerZJ4l1wRMopEHRKOO16e04iXRDyZFZnNZKrWeNquh5d6bucjezgd+OxG03mOMTnS1x7hilzb3uURPkJ0OfA==", + "version": "4.52.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.52.5.tgz", + "integrity": "sha512-PsNAbcyv9CcecAUagQefwX8fQn9LQ4nZkpDboBOttmyffnInRy8R8dSg6hxxl2Re5QhHBf6FYIDhIj5v982ATQ==", "cpu": [ "arm" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -901,13 +1133,12 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.52.3.tgz", - "integrity": "sha512-ZYdtqgHTDfvrJHSh3W22TvjWxwOgc3ThK/XjgcNGP2DIwFIPeAPNsQxrJO5XqleSlgDux2VAoWQ5iJrtaC1TbA==", + "version": "4.52.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.52.5.tgz", + "integrity": "sha512-Fw4tysRutyQc/wwkmcyoqFtJhh0u31K+Q6jYjeicsGJJ7bbEq8LwPWV/w0cnzOqR2m694/Af6hpFayLJZkG2VQ==", "cpu": [ "arm" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -915,13 +1146,12 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.52.3.tgz", - "integrity": "sha512-NcViG7A0YtuFDA6xWSgmFb6iPFzHlf5vcqb2p0lGEbT+gjrEEz8nC/EeDHvx6mnGXnGCC1SeVV+8u+smj0CeGQ==", + "version": "4.52.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.52.5.tgz", + "integrity": "sha512-a+3wVnAYdQClOTlyapKmyI6BLPAFYs0JM8HRpgYZQO02rMR09ZcV9LbQB+NL6sljzG38869YqThrRnfPMCDtZg==", "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -929,13 +1159,12 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.52.3.tgz", - "integrity": "sha512-d3pY7LWno6SYNXRm6Ebsq0DJGoiLXTb83AIPCXl9fmtIQs/rXoS8SJxxUNtFbJ5MiOvs+7y34np77+9l4nfFMw==", + "version": "4.52.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.52.5.tgz", + "integrity": "sha512-AvttBOMwO9Pcuuf7m9PkC1PUIKsfaAJ4AYhy944qeTJgQOqJYJ9oVl2nYgY7Rk0mkbsuOpCAYSs6wLYB2Xiw0Q==", "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -943,13 +1172,12 @@ ] }, "node_modules/@rollup/rollup-linux-loong64-gnu": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.52.3.tgz", - "integrity": "sha512-3y5GA0JkBuirLqmjwAKwB0keDlI6JfGYduMlJD/Rl7fvb4Ni8iKdQs1eiunMZJhwDWdCvrcqXRY++VEBbvk6Eg==", + "version": "4.52.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.52.5.tgz", + "integrity": "sha512-DkDk8pmXQV2wVrF6oq5tONK6UHLz/XcEVow4JTTerdeV1uqPeHxwcg7aFsfnSm9L+OO8WJsWotKM2JJPMWrQtA==", "cpu": [ "loong64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -957,13 +1185,12 @@ ] }, "node_modules/@rollup/rollup-linux-ppc64-gnu": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.52.3.tgz", - "integrity": "sha512-AUUH65a0p3Q0Yfm5oD2KVgzTKgwPyp9DSXc3UA7DtxhEb/WSPfbG4wqXeSN62OG5gSo18em4xv6dbfcUGXcagw==", + "version": "4.52.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.52.5.tgz", + "integrity": "sha512-W/b9ZN/U9+hPQVvlGwjzi+Wy4xdoH2I8EjaCkMvzpI7wJUs8sWJ03Rq96jRnHkSrcHTpQe8h5Tg3ZzUPGauvAw==", "cpu": [ "ppc64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -971,13 +1198,12 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.52.3.tgz", - "integrity": "sha512-1makPhFFVBqZE+XFg3Dkq+IkQ7JvmUrwwqaYBL2CE+ZpxPaqkGaiWFEWVGyvTwZace6WLJHwjVh/+CXbKDGPmg==", + "version": "4.52.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.52.5.tgz", + "integrity": "sha512-sjQLr9BW7R/ZiXnQiWPkErNfLMkkWIoCz7YMn27HldKsADEKa5WYdobaa1hmN6slu9oWQbB6/jFpJ+P2IkVrmw==", "cpu": [ "riscv64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -985,13 +1211,12 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.52.3.tgz", - "integrity": "sha512-OOFJa28dxfl8kLOPMUOQBCO6z3X2SAfzIE276fwT52uXDWUS178KWq0pL7d6p1kz7pkzA0yQwtqL0dEPoVcRWg==", + "version": "4.52.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.52.5.tgz", + "integrity": "sha512-hq3jU/kGyjXWTvAh2awn8oHroCbrPm8JqM7RUpKjalIRWWXE01CQOf/tUNWNHjmbMHg/hmNCwc/Pz3k1T/j/Lg==", "cpu": [ "riscv64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -999,13 +1224,12 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.52.3.tgz", - "integrity": "sha512-jMdsML2VI5l+V7cKfZx3ak+SLlJ8fKvLJ0Eoa4b9/vCUrzXKgoKxvHqvJ/mkWhFiyp88nCkM5S2v6nIwRtPcgg==", + "version": "4.52.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.52.5.tgz", + "integrity": "sha512-gn8kHOrku8D4NGHMK1Y7NA7INQTRdVOntt1OCYypZPRt6skGbddska44K8iocdpxHTMMNui5oH4elPH4QOLrFQ==", "cpu": [ "s390x" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1013,13 +1237,12 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.52.3.tgz", - "integrity": "sha512-tPgGd6bY2M2LJTA1uGq8fkSPK8ZLYjDjY+ZLK9WHncCnfIz29LIXIqUgzCR0hIefzy6Hpbe8Th5WOSwTM8E7LA==", + "version": "4.52.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.52.5.tgz", + "integrity": "sha512-hXGLYpdhiNElzN770+H2nlx+jRog8TyynpTVzdlc6bndktjKWyZyiCsuDAlpd+j+W+WNqfcyAWz9HxxIGfZm1Q==", "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1027,13 +1250,12 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.52.3.tgz", - "integrity": "sha512-BCFkJjgk+WFzP+tcSMXq77ymAPIxsX9lFJWs+2JzuZTLtksJ2o5hvgTdIcZ5+oKzUDMwI0PfWzRBYAydAHF2Mw==", + "version": "4.52.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.52.5.tgz", + "integrity": "sha512-arCGIcuNKjBoKAXD+y7XomR9gY6Mw7HnFBv5Rw7wQRvwYLR7gBAgV7Mb2QTyjXfTveBNFAtPt46/36vV9STLNg==", "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1041,13 +1263,12 @@ ] }, "node_modules/@rollup/rollup-openharmony-arm64": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.52.3.tgz", - "integrity": "sha512-KTD/EqjZF3yvRaWUJdD1cW+IQBk4fbQaHYJUmP8N4XoKFZilVL8cobFSTDnjTtxWJQ3JYaMgF4nObY/+nYkumA==", + "version": "4.52.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.52.5.tgz", + "integrity": "sha512-QoFqB6+/9Rly/RiPjaomPLmR/13cgkIGfA40LHly9zcH1S0bN2HVFYk3a1eAyHQyjs3ZJYlXvIGtcCs5tko9Cw==", "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1055,13 +1276,12 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.52.3.tgz", - "integrity": "sha512-+zteHZdoUYLkyYKObGHieibUFLbttX2r+58l27XZauq0tcWYYuKUwY2wjeCN9oK1Um2YgH2ibd6cnX/wFD7DuA==", + "version": "4.52.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.52.5.tgz", + "integrity": "sha512-w0cDWVR6MlTstla1cIfOGyl8+qb93FlAVutcor14Gf5Md5ap5ySfQ7R9S/NjNaMLSFdUnKGEasmVnu3lCMqB7w==", "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1069,13 +1289,12 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.52.3.tgz", - "integrity": "sha512-of1iHkTQSo3kr6dTIRX6t81uj/c/b15HXVsPcEElN5sS859qHrOepM5p9G41Hah+CTqSh2r8Bm56dL2z9UQQ7g==", + "version": "4.52.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.52.5.tgz", + "integrity": "sha512-Aufdpzp7DpOTULJCuvzqcItSGDH73pF3ko/f+ckJhxQyHtp67rHw3HMNxoIdDMUITJESNE6a8uh4Lo4SLouOUg==", "cpu": [ "ia32" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1083,43 +1302,255 @@ ] }, "node_modules/@rollup/rollup-win32-x64-gnu": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.52.3.tgz", - "integrity": "sha512-s0hybmlHb56mWVZQj8ra9048/WZTPLILKxcvcq+8awSZmyiSUZjjem1AhU3Tf4ZKpYhK4mg36HtHDOe8QJS5PQ==", + "version": "4.52.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.52.5.tgz", + "integrity": "sha512-UGBUGPFp1vkj6p8wCRraqNhqwX/4kNQPS57BCFc8wYh0g94iVIW33wJtQAx3G7vrjjNtRaxiMUylM0ktp/TRSQ==", "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ "win32" ] }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.52.3.tgz", - "integrity": "sha512-zGIbEVVXVtauFgl3MRwGWEN36P5ZGenHRMgNw88X5wEhEBpq0XrMEZwOn07+ICrwM17XO5xfMZqh0OldCH5VTA==", - "cpu": [ - "x64" - ], - "dev": true, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.52.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.52.5.tgz", + "integrity": "sha512-TAcgQh2sSkykPRWLrdyy2AiceMckNf5loITqXxFI5VuQjS5tSuw3WlwdN8qv8vzjLAUTvYaH/mVjSFpbkFbpTg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz", + "integrity": "sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz", + "integrity": "sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz", + "integrity": "sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz", + "integrity": "sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz", + "integrity": "sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz", + "integrity": "sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz", + "integrity": "sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz", + "integrity": "sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-preset": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-8.1.0.tgz", + "integrity": "sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==", + "license": "MIT", + "dependencies": { + "@svgr/babel-plugin-add-jsx-attribute": "8.0.0", + "@svgr/babel-plugin-remove-jsx-attribute": "8.0.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "8.0.0", + "@svgr/babel-plugin-replace-jsx-attribute-value": "8.0.0", + "@svgr/babel-plugin-svg-dynamic-title": "8.0.0", + "@svgr/babel-plugin-svg-em-dimensions": "8.0.0", + "@svgr/babel-plugin-transform-react-native-svg": "8.1.0", + "@svgr/babel-plugin-transform-svg-component": "8.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/core": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz", + "integrity": "sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^8.1.3", + "snake-case": "^3.0.4" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/hast-util-to-babel-ast": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz", + "integrity": "sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==", "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "dependencies": { + "@babel/types": "^7.21.3", + "entities": "^4.4.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/plugin-jsx": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz", + "integrity": "sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", + "@svgr/hast-util-to-babel-ast": "8.0.0", + "svg-parser": "^2.0.4" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "*" + } }, "node_modules/@swc/core": { - "version": "1.13.20", - "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.13.20.tgz", - "integrity": "sha512-w6REE95NkGhQH/baA0reb6IQjVzSy5HOz9bZnRTFgOv+a1ZDo4p6yVs4McpFOZJeu810DSHayO3mwBsBXxZcaw==", + "version": "1.13.5", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.13.5.tgz", + "integrity": "sha512-WezcBo8a0Dg2rnR82zhwoR6aRNxeTGfK5QCD6TQ+kg3xx/zNT02s/0o+81h/3zhvFSB24NtqEr8FTw88O5W/JQ==", "dev": true, "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { "@swc/counter": "^0.1.3", - "@swc/types": "^0.1.25" + "@swc/types": "^0.1.24" }, "engines": { "node": ">=10" @@ -1129,16 +1560,16 @@ "url": "https://opencollective.com/swc" }, "optionalDependencies": { - "@swc/core-darwin-arm64": "1.13.20", - "@swc/core-darwin-x64": "1.13.20", - "@swc/core-linux-arm-gnueabihf": "1.13.20", - "@swc/core-linux-arm64-gnu": "1.13.20", - "@swc/core-linux-arm64-musl": "1.13.20", - "@swc/core-linux-x64-gnu": "1.13.20", - "@swc/core-linux-x64-musl": "1.13.20", - "@swc/core-win32-arm64-msvc": "1.13.20", - "@swc/core-win32-ia32-msvc": "1.13.20", - "@swc/core-win32-x64-msvc": "1.13.20" + "@swc/core-darwin-arm64": "1.13.5", + "@swc/core-darwin-x64": "1.13.5", + "@swc/core-linux-arm-gnueabihf": "1.13.5", + "@swc/core-linux-arm64-gnu": "1.13.5", + "@swc/core-linux-arm64-musl": "1.13.5", + "@swc/core-linux-x64-gnu": "1.13.5", + "@swc/core-linux-x64-musl": "1.13.5", + "@swc/core-win32-arm64-msvc": "1.13.5", + "@swc/core-win32-ia32-msvc": "1.13.5", + "@swc/core-win32-x64-msvc": "1.13.5" }, "peerDependencies": { "@swc/helpers": ">=0.5.17" @@ -1150,9 +1581,9 @@ } }, "node_modules/@swc/core-darwin-arm64": { - "version": "1.13.20", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.13.20.tgz", - "integrity": "sha512-k/nqRwm6G3tw1BbCDxc3KmAMGsuDYA5Uh4MjYm23e+UziLyHz0z7W0zja3el+yGBIZXKlgSzWVFLsFDFzVqtgg==", + "version": "1.13.5", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.13.5.tgz", + "integrity": "sha512-lKNv7SujeXvKn16gvQqUQI5DdyY8v7xcoO3k06/FJbHJS90zEwZdQiMNRiqpYw/orU543tPaWgz7cIYWhbopiQ==", "cpu": [ "arm64" ], @@ -1167,9 +1598,9 @@ } }, "node_modules/@swc/core-darwin-x64": { - "version": "1.13.20", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.13.20.tgz", - "integrity": "sha512-7xr+ACdUMNyrN87oEF1GvJIZJBAhGolfQVB0EYP08JEy8VSh//FEwfdlUz8gweaZyjOl1nuPS6ncXlKgZuZU8A==", + "version": "1.13.5", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.13.5.tgz", + "integrity": "sha512-ILd38Fg/w23vHb0yVjlWvQBoE37ZJTdlLHa8LRCFDdX4WKfnVBiblsCU9ar4QTMNdeTBEX9iUF4IrbNWhaF1Ng==", "cpu": [ "x64" ], @@ -1184,9 +1615,9 @@ } }, "node_modules/@swc/core-linux-arm-gnueabihf": { - "version": "1.13.20", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.13.20.tgz", - "integrity": "sha512-IaOLxU1U/oGV3lZ2T8tD5nB/5O60UFPqj5ZxYzDpCBVB73tDQDIxiDcro1X81nHbwJHjuHmbIrhoflS7LQN6+A==", + "version": "1.13.5", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.13.5.tgz", + "integrity": "sha512-Q6eS3Pt8GLkXxqz9TAw+AUk9HpVJt8Uzm54MvPsqp2yuGmY0/sNaPPNVqctCX9fu/Nu8eaWUen0si6iEiCsazQ==", "cpu": [ "arm" ], @@ -1201,9 +1632,9 @@ } }, "node_modules/@swc/core-linux-arm64-gnu": { - "version": "1.13.20", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.13.20.tgz", - "integrity": "sha512-Lg6FyotDydXGnNnlw+u7vCZzR2+fX3Q2HiULBTYl2dey3TvRyzAfEhdgMjUc4beRzf26U9rzMuTroJ6KMBCBjA==", + "version": "1.13.5", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.13.5.tgz", + "integrity": "sha512-aNDfeN+9af+y+M2MYfxCzCy/VDq7Z5YIbMqRI739o8Ganz6ST+27kjQFd8Y/57JN/hcnUEa9xqdS3XY7WaVtSw==", "cpu": [ "arm64" ], @@ -1218,9 +1649,9 @@ } }, "node_modules/@swc/core-linux-arm64-musl": { - "version": "1.13.20", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.13.20.tgz", - "integrity": "sha512-d1SvxmFykS0Ep8nPbduV1UwCvFjZ3ESzFKQdTbkr72bge8AseILBI9TbLTmoeWndDaTesiiTKRD5Y1iAvF1wvA==", + "version": "1.13.5", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.13.5.tgz", + "integrity": "sha512-9+ZxFN5GJag4CnYnq6apKTnnezpfJhCumyz0504/JbHLo+Ue+ZtJnf3RhyA9W9TINtLE0bC4hKpWi8ZKoETyOQ==", "cpu": [ "arm64" ], @@ -1235,9 +1666,9 @@ } }, "node_modules/@swc/core-linux-x64-gnu": { - "version": "1.13.20", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.13.20.tgz", - "integrity": "sha512-Bwmng57EuMod58Q8GDJA8rmUgFl20taK8w8MqeeDMiCnZY2+rJrNERbIX3sXZbwsf/kCIELZ7q4ZXiwdyB4zoQ==", + "version": "1.13.5", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.13.5.tgz", + "integrity": "sha512-WD530qvHrki8Ywt/PloKUjaRKgstQqNGvmZl54g06kA+hqtSE2FTG9gngXr3UJxYu/cNAjJYiBifm7+w4nbHbA==", "cpu": [ "x64" ], @@ -1252,9 +1683,9 @@ } }, "node_modules/@swc/core-linux-x64-musl": { - "version": "1.13.20", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.13.20.tgz", - "integrity": "sha512-osCm3VEKL/OIKInyhy75S5B+R+QGBdpR1B5vwTYqG/1RB4vFM3O5SDtRZabd6NV9Cxc9dcLztWyZjhs2qp63SQ==", + "version": "1.13.5", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.13.5.tgz", + "integrity": "sha512-Luj8y4OFYx4DHNQTWjdIuKTq2f5k6uSXICqx+FSabnXptaOBAbJHNbHT/06JZh6NRUouaf0mYXN0mcsqvkhd7Q==", "cpu": [ "x64" ], @@ -1269,9 +1700,9 @@ } }, "node_modules/@swc/core-win32-arm64-msvc": { - "version": "1.13.20", - "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.13.20.tgz", - "integrity": "sha512-svbQNirwEa6zwaAJPrEmQnMVZsOz8Jpr4nakFLkYIQwwJ73sBUkUJvH9ouIWmIu5bvgQrbQlRpxWTIY3e0Utlg==", + "version": "1.13.5", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.13.5.tgz", + "integrity": "sha512-cZ6UpumhF9SDJvv4DA2fo9WIzlNFuKSkZpZmPG1c+4PFSEMy5DFOjBSllCvnqihCabzXzpn6ykCwBmHpy31vQw==", "cpu": [ "arm64" ], @@ -1286,9 +1717,9 @@ } }, "node_modules/@swc/core-win32-ia32-msvc": { - "version": "1.13.20", - "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.13.20.tgz", - "integrity": "sha512-uVjjwGXJltUQK0v1qQSNGeMS6osLJuwgeTti5N7kxQ6mOfa1irxq+TX0YdIVQwIONMjzI+TP7lhqPeA9VdUjRg==", + "version": "1.13.5", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.13.5.tgz", + "integrity": "sha512-C5Yi/xIikrFUzZcyGj9L3RpKljFvKiDMtyDzPKzlsDrKIw2EYY+bF88gB6oGY5RGmv4DAX8dbnpRAqgFD0FMEw==", "cpu": [ "ia32" ], @@ -1303,9 +1734,9 @@ } }, "node_modules/@swc/core-win32-x64-msvc": { - "version": "1.13.20", - "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.13.20.tgz", - "integrity": "sha512-Xm1JAew/P0TgsPSXyo60IH865fAmt9b2Mzd0FBJ77Q1xA1o/Oi9teCeGChyFq3+6JFao6uT0N4mcI3BJ4WBfkA==", + "version": "1.13.5", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.13.5.tgz", + "integrity": "sha512-YrKdMVxbYmlfybCSbRtrilc6UA8GF5aPmGKBdPvjrarvsmf4i7ZHGCEnLtfOMd3Lwbs2WUZq3WdMbozYeLU93Q==", "cpu": [ "x64" ], @@ -1326,6 +1757,17 @@ "dev": true, "license": "Apache-2.0" }, + "node_modules/@swc/helpers": { + "version": "0.5.17", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.17.tgz", + "integrity": "sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==", + "dev": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "tslib": "^2.8.0" + } + }, "node_modules/@swc/types": { "version": "0.1.25", "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.25.tgz", @@ -1346,54 +1788,49 @@ } }, "node_modules/@tailwindcss/node": { - "version": "4.1.13", - "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.13.tgz", - "integrity": "sha512-eq3ouolC1oEFOAvOMOBAmfCIqZBJuvWvvYWh5h5iOYfe1HFC6+GZ6EIL0JdM3/niGRJmnrOc+8gl9/HGUaaptw==", + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.16.tgz", + "integrity": "sha512-BX5iaSsloNuvKNHRN3k2RcCuTEgASTo77mofW0vmeHkfrDWaoFAFvNHpEgtu0eqyypcyiBkDWzSMxJhp3AUVcw==", "dev": true, "license": "MIT", "dependencies": { "@jridgewell/remapping": "^2.3.4", "enhanced-resolve": "^5.18.3", - "jiti": "^2.5.1", - "lightningcss": "1.30.1", - "magic-string": "^0.30.18", + "jiti": "^2.6.1", + "lightningcss": "1.30.2", + "magic-string": "^0.30.19", "source-map-js": "^1.2.1", - "tailwindcss": "4.1.13" + "tailwindcss": "4.1.16" } }, "node_modules/@tailwindcss/oxide": { - "version": "4.1.13", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.13.tgz", - "integrity": "sha512-CPgsM1IpGRa880sMbYmG1s4xhAy3xEt1QULgTJGQmZUeNgXFR7s1YxYygmJyBGtou4SyEosGAGEeYqY7R53bIA==", + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.16.tgz", + "integrity": "sha512-2OSv52FRuhdlgyOQqgtQHuCgXnS8nFSYRp2tJ+4WZXKgTxqPy7SMSls8c3mPT5pkZ17SBToGM5LHEJBO7miEdg==", "dev": true, - "hasInstallScript": true, "license": "MIT", - "dependencies": { - "detect-libc": "^2.0.4", - "tar": "^7.4.3" - }, "engines": { "node": ">= 10" }, "optionalDependencies": { - "@tailwindcss/oxide-android-arm64": "4.1.13", - "@tailwindcss/oxide-darwin-arm64": "4.1.13", - "@tailwindcss/oxide-darwin-x64": "4.1.13", - "@tailwindcss/oxide-freebsd-x64": "4.1.13", - "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.13", - "@tailwindcss/oxide-linux-arm64-gnu": "4.1.13", - "@tailwindcss/oxide-linux-arm64-musl": "4.1.13", - "@tailwindcss/oxide-linux-x64-gnu": "4.1.13", - "@tailwindcss/oxide-linux-x64-musl": "4.1.13", - "@tailwindcss/oxide-wasm32-wasi": "4.1.13", - "@tailwindcss/oxide-win32-arm64-msvc": "4.1.13", - "@tailwindcss/oxide-win32-x64-msvc": "4.1.13" + "@tailwindcss/oxide-android-arm64": "4.1.16", + "@tailwindcss/oxide-darwin-arm64": "4.1.16", + "@tailwindcss/oxide-darwin-x64": "4.1.16", + "@tailwindcss/oxide-freebsd-x64": "4.1.16", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.16", + "@tailwindcss/oxide-linux-arm64-gnu": "4.1.16", + "@tailwindcss/oxide-linux-arm64-musl": "4.1.16", + "@tailwindcss/oxide-linux-x64-gnu": "4.1.16", + "@tailwindcss/oxide-linux-x64-musl": "4.1.16", + "@tailwindcss/oxide-wasm32-wasi": "4.1.16", + "@tailwindcss/oxide-win32-arm64-msvc": "4.1.16", + "@tailwindcss/oxide-win32-x64-msvc": "4.1.16" } }, "node_modules/@tailwindcss/oxide-android-arm64": { - "version": "4.1.13", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.13.tgz", - "integrity": "sha512-BrpTrVYyejbgGo57yc8ieE+D6VT9GOgnNdmh5Sac6+t0m+v+sKQevpFVpwX3pBrM2qKrQwJ0c5eDbtjouY/+ew==", + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.16.tgz", + "integrity": "sha512-8+ctzkjHgwDJ5caq9IqRSgsP70xhdhJvm+oueS/yhD5ixLhqTw9fSL1OurzMUhBwE5zK26FXLCz2f/RtkISqHA==", "cpu": [ "arm64" ], @@ -1408,9 +1845,9 @@ } }, "node_modules/@tailwindcss/oxide-darwin-arm64": { - "version": "4.1.13", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.13.tgz", - "integrity": "sha512-YP+Jksc4U0KHcu76UhRDHq9bx4qtBftp9ShK/7UGfq0wpaP96YVnnjFnj3ZFrUAjc5iECzODl/Ts0AN7ZPOANQ==", + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.16.tgz", + "integrity": "sha512-C3oZy5042v2FOALBZtY0JTDnGNdS6w7DxL/odvSny17ORUnaRKhyTse8xYi3yKGyfnTUOdavRCdmc8QqJYwFKA==", "cpu": [ "arm64" ], @@ -1425,9 +1862,9 @@ } }, "node_modules/@tailwindcss/oxide-darwin-x64": { - "version": "4.1.13", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.13.tgz", - "integrity": "sha512-aAJ3bbwrn/PQHDxCto9sxwQfT30PzyYJFG0u/BWZGeVXi5Hx6uuUOQEI2Fa43qvmUjTRQNZnGqe9t0Zntexeuw==", + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.16.tgz", + "integrity": "sha512-vjrl/1Ub9+JwU6BP0emgipGjowzYZMjbWCDqwA2Z4vCa+HBSpP4v6U2ddejcHsolsYxwL5r4bPNoamlV0xDdLg==", "cpu": [ "x64" ], @@ -1442,9 +1879,9 @@ } }, "node_modules/@tailwindcss/oxide-freebsd-x64": { - "version": "4.1.13", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.13.tgz", - "integrity": "sha512-Wt8KvASHwSXhKE/dJLCCWcTSVmBj3xhVhp/aF3RpAhGeZ3sVo7+NTfgiN8Vey/Fi8prRClDs6/f0KXPDTZE6nQ==", + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.16.tgz", + "integrity": "sha512-TSMpPYpQLm+aR1wW5rKuUuEruc/oOX3C7H0BTnPDn7W/eMw8W+MRMpiypKMkXZfwH8wqPIRKppuZoedTtNj2tg==", "cpu": [ "x64" ], @@ -1459,9 +1896,9 @@ } }, "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { - "version": "4.1.13", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.13.tgz", - "integrity": "sha512-mbVbcAsW3Gkm2MGwA93eLtWrwajz91aXZCNSkGTx/R5eb6KpKD5q8Ueckkh9YNboU8RH7jiv+ol/I7ZyQ9H7Bw==", + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.16.tgz", + "integrity": "sha512-p0GGfRg/w0sdsFKBjMYvvKIiKy/LNWLWgV/plR4lUgrsxFAoQBFrXkZ4C0w8IOXfslB9vHK/JGASWD2IefIpvw==", "cpu": [ "arm" ], @@ -1476,9 +1913,9 @@ } }, "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { - "version": "4.1.13", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.13.tgz", - "integrity": "sha512-wdtfkmpXiwej/yoAkrCP2DNzRXCALq9NVLgLELgLim1QpSfhQM5+ZxQQF8fkOiEpuNoKLp4nKZ6RC4kmeFH0HQ==", + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.16.tgz", + "integrity": "sha512-DoixyMmTNO19rwRPdqviTrG1rYzpxgyYJl8RgQvdAQUzxC1ToLRqtNJpU/ATURSKgIg6uerPw2feW0aS8SNr/w==", "cpu": [ "arm64" ], @@ -1493,9 +1930,9 @@ } }, "node_modules/@tailwindcss/oxide-linux-arm64-musl": { - "version": "4.1.13", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.13.tgz", - "integrity": "sha512-hZQrmtLdhyqzXHB7mkXfq0IYbxegaqTmfa1p9MBj72WPoDD3oNOh1Lnxf6xZLY9C3OV6qiCYkO1i/LrzEdW2mg==", + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.16.tgz", + "integrity": "sha512-H81UXMa9hJhWhaAUca6bU2wm5RRFpuHImrwXBUvPbYb+3jo32I9VIwpOX6hms0fPmA6f2pGVlybO6qU8pF4fzQ==", "cpu": [ "arm64" ], @@ -1510,9 +1947,9 @@ } }, "node_modules/@tailwindcss/oxide-linux-x64-gnu": { - "version": "4.1.13", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.13.tgz", - "integrity": "sha512-uaZTYWxSXyMWDJZNY1Ul7XkJTCBRFZ5Fo6wtjrgBKzZLoJNrG+WderJwAjPzuNZOnmdrVg260DKwXCFtJ/hWRQ==", + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.16.tgz", + "integrity": "sha512-ZGHQxDtFC2/ruo7t99Qo2TTIvOERULPl5l0K1g0oK6b5PGqjYMga+FcY1wIUnrUxY56h28FxybtDEla+ICOyew==", "cpu": [ "x64" ], @@ -1527,9 +1964,9 @@ } }, "node_modules/@tailwindcss/oxide-linux-x64-musl": { - "version": "4.1.13", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.13.tgz", - "integrity": "sha512-oXiPj5mi4Hdn50v5RdnuuIms0PVPI/EG4fxAfFiIKQh5TgQgX7oSuDWntHW7WNIi/yVLAiS+CRGW4RkoGSSgVQ==", + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.16.tgz", + "integrity": "sha512-Oi1tAaa0rcKf1Og9MzKeINZzMLPbhxvm7rno5/zuP1WYmpiG0bEHq4AcRUiG2165/WUzvxkW4XDYCscZWbTLZw==", "cpu": [ "x64" ], @@ -1544,9 +1981,9 @@ } }, "node_modules/@tailwindcss/oxide-wasm32-wasi": { - "version": "4.1.13", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.13.tgz", - "integrity": "sha512-+LC2nNtPovtrDwBc/nqnIKYh/W2+R69FA0hgoeOn64BdCX522u19ryLh3Vf3F8W49XBcMIxSe665kwy21FkhvA==", + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.16.tgz", + "integrity": "sha512-B01u/b8LteGRwucIBmCQ07FVXLzImWESAIMcUU6nvFt/tYsQ6IHz8DmZ5KtvmwxD+iTYBtM1xwoGXswnlu9v0Q==", "bundleDependencies": [ "@napi-rs/wasm-runtime", "@emnapi/core", @@ -1562,21 +1999,21 @@ "license": "MIT", "optional": true, "dependencies": { - "@emnapi/core": "^1.4.5", - "@emnapi/runtime": "^1.4.5", - "@emnapi/wasi-threads": "^1.0.4", - "@napi-rs/wasm-runtime": "^0.2.12", - "@tybys/wasm-util": "^0.10.0", - "tslib": "^2.8.0" + "@emnapi/core": "^1.5.0", + "@emnapi/runtime": "^1.5.0", + "@emnapi/wasi-threads": "^1.1.0", + "@napi-rs/wasm-runtime": "^1.0.7", + "@tybys/wasm-util": "^0.10.1", + "tslib": "^2.4.0" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { - "version": "4.1.13", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.13.tgz", - "integrity": "sha512-dziTNeQXtoQ2KBXmrjCxsuPk3F3CQ/yb7ZNZNA+UkNTeiTGgfeh+gH5Pi7mRncVgcPD2xgHvkFCh/MhZWSgyQg==", + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.16.tgz", + "integrity": "sha512-zX+Q8sSkGj6HKRTMJXuPvOcP8XfYON24zJBRPlszcH1Np7xuHXhWn8qfFjIujVzvH3BHU+16jBXwgpl20i+v9A==", "cpu": [ "arm64" ], @@ -1591,9 +2028,9 @@ } }, "node_modules/@tailwindcss/oxide-win32-x64-msvc": { - "version": "4.1.13", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.13.tgz", - "integrity": "sha512-3+LKesjXydTkHk5zXX01b5KMzLV1xl2mcktBJkje7rhFUpUlYJy7IMOLqjIRQncLTa1WZZiFY/foAeB5nmaiTw==", + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.16.tgz", + "integrity": "sha512-m5dDFJUEejbFqP+UXVstd4W/wnxA4F61q8SoL+mqTypId2T2ZpuxosNSgowiCnLp2+Z+rivdU0AqpfgiD7yCBg==", "cpu": [ "x64" ], @@ -1608,29 +2045,29 @@ } }, "node_modules/@tailwindcss/postcss": { - "version": "4.1.13", - "resolved": "https://registry.npmjs.org/@tailwindcss/postcss/-/postcss-4.1.13.tgz", - "integrity": "sha512-HLgx6YSFKJT7rJqh9oJs/TkBFhxuMOfUKSBEPYwV+t78POOBsdQ7crhZLzwcH3T0UyUuOzU/GK5pk5eKr3wCiQ==", + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/postcss/-/postcss-4.1.16.tgz", + "integrity": "sha512-Qn3SFGPXYQMKR/UtqS+dqvPrzEeBZHrFA92maT4zijCVggdsXnDBMsPFJo1eArX3J+O+Gi+8pV4PkqjLCNBk3A==", "dev": true, "license": "MIT", "dependencies": { "@alloc/quick-lru": "^5.2.0", - "@tailwindcss/node": "4.1.13", - "@tailwindcss/oxide": "4.1.13", + "@tailwindcss/node": "4.1.16", + "@tailwindcss/oxide": "4.1.16", "postcss": "^8.4.41", - "tailwindcss": "4.1.13" + "tailwindcss": "4.1.16" } }, "node_modules/@tailwindcss/vite": { - "version": "4.1.13", - "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.1.13.tgz", - "integrity": "sha512-0PmqLQ010N58SbMTJ7BVJ4I2xopiQn/5i6nlb4JmxzQf8zcS5+m2Cv6tqh+sfDwtIdjoEnOvwsGQ1hkUi8QEHQ==", + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.1.16.tgz", + "integrity": "sha512-bbguNBcDxsRmi9nnlWJxhfDWamY3lmcyACHcdO1crxfzuLpOhHLLtEIN/nCbbAtj5rchUgQD17QVAKi1f7IsKg==", "dev": true, "license": "MIT", "dependencies": { - "@tailwindcss/node": "4.1.13", - "@tailwindcss/oxide": "4.1.13", - "tailwindcss": "4.1.13" + "@tailwindcss/node": "4.1.16", + "@tailwindcss/oxide": "4.1.16", + "tailwindcss": "4.1.16" }, "peerDependencies": { "vite": "^5.2.0 || ^6 || ^7" @@ -1640,7 +2077,6 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true, "license": "MIT" }, "node_modules/@types/json-schema": { @@ -1651,37 +2087,38 @@ "license": "MIT" }, "node_modules/@types/react": { - "version": "19.1.16", - "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.16.tgz", - "integrity": "sha512-WBM/nDbEZmDUORKnh5i1bTnAz6vTohUf9b8esSMu+b24+srbaxa04UbJgWx78CVfNXA20sNu0odEIluZDFdCog==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.2.tgz", + "integrity": "sha512-6mDvHUFSjyT2B2yeNx2nUgMxh9LtOWvkhIU3uePn2I2oyNymUAX1NIsdgviM4CH+JSrp2D2hsMvJOkxY+0wNRA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "csstype": "^3.0.2" } }, "node_modules/@types/react-dom": { - "version": "19.1.9", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.1.9.tgz", - "integrity": "sha512-qXRuZaOsAdXKFyOhRBg6Lqqc0yay13vN7KrIg4L7N4aaHN68ma9OK3NE1BoDFgFOTfM7zg+3/8+2n8rLUH3OKQ==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.2.tgz", + "integrity": "sha512-9KQPoO6mZCi7jcIStSnlOWn2nEF3mNmyr3rIAsGnAbQKYbRLyqmeSc39EVgtxXVia+LMT8j3knZLAZAh+xLmrw==", "dev": true, "license": "MIT", "peerDependencies": { - "@types/react": "^19.0.0" + "@types/react": "^19.2.0" } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.45.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.45.0.tgz", - "integrity": "sha512-HC3y9CVuevvWCl/oyZuI47dOeDF9ztdMEfMH8/DW/Mhwa9cCLnK1oD7JoTVGW/u7kFzNZUKUoyJEqkaJh5y3Wg==", + "version": "8.46.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.46.2.tgz", + "integrity": "sha512-ZGBMToy857/NIPaaCucIUQgqueOiq7HeAKkhlvqVV4lm089zUFW6ikRySx2v+cAhKeUCPuWVHeimyk6Dw1iY3w==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.45.0", - "@typescript-eslint/type-utils": "8.45.0", - "@typescript-eslint/utils": "8.45.0", - "@typescript-eslint/visitor-keys": "8.45.0", + "@typescript-eslint/scope-manager": "8.46.2", + "@typescript-eslint/type-utils": "8.46.2", + "@typescript-eslint/utils": "8.46.2", + "@typescript-eslint/visitor-keys": "8.46.2", "graphemer": "^1.4.0", "ignore": "^7.0.0", "natural-compare": "^1.4.0", @@ -1695,7 +2132,7 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.45.0", + "@typescript-eslint/parser": "^8.46.2", "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <6.0.0" } @@ -1711,16 +2148,17 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.45.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.45.0.tgz", - "integrity": "sha512-TGf22kon8KW+DeKaUmOibKWktRY8b2NSAZNdtWh798COm1NWx8+xJ6iFBtk3IvLdv6+LGLJLRlyhrhEDZWargQ==", + "version": "8.46.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.46.2.tgz", + "integrity": "sha512-BnOroVl1SgrPLywqxyqdJ4l3S2MsKVLDVxZvjI1Eoe8ev2r3kGDo+PcMihNmDE+6/KjkTubSJnmqGZZjQSBq/g==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "@typescript-eslint/scope-manager": "8.45.0", - "@typescript-eslint/types": "8.45.0", - "@typescript-eslint/typescript-estree": "8.45.0", - "@typescript-eslint/visitor-keys": "8.45.0", + "@typescript-eslint/scope-manager": "8.46.2", + "@typescript-eslint/types": "8.46.2", + "@typescript-eslint/typescript-estree": "8.46.2", + "@typescript-eslint/visitor-keys": "8.46.2", "debug": "^4.3.4" }, "engines": { @@ -1736,14 +2174,14 @@ } }, "node_modules/@typescript-eslint/project-service": { - "version": "8.45.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.45.0.tgz", - "integrity": "sha512-3pcVHwMG/iA8afdGLMuTibGR7pDsn9RjDev6CCB+naRsSYs2pns5QbinF4Xqw6YC/Sj3lMrm/Im0eMfaa61WUg==", + "version": "8.46.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.46.2.tgz", + "integrity": "sha512-PULOLZ9iqwI7hXcmL4fVfIsBi6AN9YxRc0frbvmg8f+4hQAjQ5GYNKK0DIArNo+rOKmR/iBYwkpBmnIwin4wBg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.45.0", - "@typescript-eslint/types": "^8.45.0", + "@typescript-eslint/tsconfig-utils": "^8.46.2", + "@typescript-eslint/types": "^8.46.2", "debug": "^4.3.4" }, "engines": { @@ -1758,14 +2196,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.45.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.45.0.tgz", - "integrity": "sha512-clmm8XSNj/1dGvJeO6VGH7EUSeA0FMs+5au/u3lrA3KfG8iJ4u8ym9/j2tTEoacAffdW1TVUzXO30W1JTJS7dA==", + "version": "8.46.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.46.2.tgz", + "integrity": "sha512-LF4b/NmGvdWEHD2H4MsHD8ny6JpiVNDzrSZr3CsckEgCbAGZbYM4Cqxvi9L+WqDMT+51Ozy7lt2M+d0JLEuBqA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.45.0", - "@typescript-eslint/visitor-keys": "8.45.0" + "@typescript-eslint/types": "8.46.2", + "@typescript-eslint/visitor-keys": "8.46.2" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1776,9 +2214,9 @@ } }, "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.45.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.45.0.tgz", - "integrity": "sha512-aFdr+c37sc+jqNMGhH+ajxPXwjv9UtFZk79k8pLoJ6p4y0snmYpPA52GuWHgt2ZF4gRRW6odsEj41uZLojDt5w==", + "version": "8.46.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.46.2.tgz", + "integrity": "sha512-a7QH6fw4S57+F5y2FIxxSDyi5M4UfGF+Jl1bCGd7+L4KsaUY80GsiF/t0UoRFDHAguKlBaACWJRmdrc6Xfkkag==", "dev": true, "license": "MIT", "engines": { @@ -1793,15 +2231,15 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.45.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.45.0.tgz", - "integrity": "sha512-bpjepLlHceKgyMEPglAeULX1vixJDgaKocp0RVJ5u4wLJIMNuKtUXIczpJCPcn2waII0yuvks/5m5/h3ZQKs0A==", + "version": "8.46.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.46.2.tgz", + "integrity": "sha512-HbPM4LbaAAt/DjxXaG9yiS9brOOz6fabal4uvUmaUYe6l3K1phQDMQKBRUrr06BQkxkvIZVVHttqiybM9nJsLA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.45.0", - "@typescript-eslint/typescript-estree": "8.45.0", - "@typescript-eslint/utils": "8.45.0", + "@typescript-eslint/types": "8.46.2", + "@typescript-eslint/typescript-estree": "8.46.2", + "@typescript-eslint/utils": "8.46.2", "debug": "^4.3.4", "ts-api-utils": "^2.1.0" }, @@ -1818,9 +2256,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.45.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.45.0.tgz", - "integrity": "sha512-WugXLuOIq67BMgQInIxxnsSyRLFxdkJEJu8r4ngLR56q/4Q5LrbfkFRH27vMTjxEK8Pyz7QfzuZe/G15qQnVRA==", + "version": "8.46.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.46.2.tgz", + "integrity": "sha512-lNCWCbq7rpg7qDsQrd3D6NyWYu+gkTENkG5IKYhUIcxSb59SQC/hEQ+MrG4sTgBVghTonNWq42bA/d4yYumldQ==", "dev": true, "license": "MIT", "engines": { @@ -1832,16 +2270,16 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.45.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.45.0.tgz", - "integrity": "sha512-GfE1NfVbLam6XQ0LcERKwdTTPlLvHvXXhOeUGC1OXi4eQBoyy1iVsW+uzJ/J9jtCz6/7GCQ9MtrQ0fml/jWCnA==", + "version": "8.46.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.46.2.tgz", + "integrity": "sha512-f7rW7LJ2b7Uh2EiQ+7sza6RDZnajbNbemn54Ob6fRwQbgcIn+GWfyuHDHRYgRoZu1P4AayVScrRW+YfbTvPQoQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.45.0", - "@typescript-eslint/tsconfig-utils": "8.45.0", - "@typescript-eslint/types": "8.45.0", - "@typescript-eslint/visitor-keys": "8.45.0", + "@typescript-eslint/project-service": "8.46.2", + "@typescript-eslint/tsconfig-utils": "8.46.2", + "@typescript-eslint/types": "8.46.2", + "@typescript-eslint/visitor-keys": "8.46.2", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", @@ -1887,16 +2325,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.45.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.45.0.tgz", - "integrity": "sha512-bxi1ht+tLYg4+XV2knz/F7RVhU0k6VrSMc9sb8DQ6fyCTrGQLHfo7lDtN0QJjZjKkLA2ThrKuCdHEvLReqtIGg==", + "version": "8.46.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.46.2.tgz", + "integrity": "sha512-sExxzucx0Tud5tE0XqR0lT0psBQvEpnpiul9XbGUB1QwpWJJAps1O/Z7hJxLGiZLBKMCutjTzDgmd1muEhBnVg==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.7.0", - "@typescript-eslint/scope-manager": "8.45.0", - "@typescript-eslint/types": "8.45.0", - "@typescript-eslint/typescript-estree": "8.45.0" + "@typescript-eslint/scope-manager": "8.46.2", + "@typescript-eslint/types": "8.46.2", + "@typescript-eslint/typescript-estree": "8.46.2" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1911,13 +2349,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.45.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.45.0.tgz", - "integrity": "sha512-qsaFBA3e09MIDAGFUrTk+dzqtfv1XPVz8t8d1f0ybTzrCY7BKiMC5cjrl1O/P7UmHsNyW90EYSkU/ZWpmXelag==", + "version": "8.46.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.46.2.tgz", + "integrity": "sha512-tUFMXI4gxzzMXt4xpGJEsBsTox0XbNQ1y94EwlD/CuZwFcQP79xfQqMhau9HsRc/J0cAPA/HZt1dZPtGn9V/7w==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.45.0", + "@typescript-eslint/types": "8.46.2", "eslint-visitor-keys": "^4.2.1" }, "engines": { @@ -1929,13 +2367,13 @@ } }, "node_modules/@vitejs/plugin-react-swc": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react-swc/-/plugin-react-swc-4.1.0.tgz", - "integrity": "sha512-Ff690TUck0Anlh7wdIcnsVMhofeEVgm44Y4OYdeeEEPSKyZHzDI9gfVBvySEhDfXtBp8tLCbfsVKPWEMEjq8/g==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react-swc/-/plugin-react-swc-4.2.0.tgz", + "integrity": "sha512-/tesahXD1qpkGC6FzMoFOJj0RyZdw9xLELOL+6jbElwmWfwOnIVy+IfpY+o9JfD9PKaR/Eyb6DNrvbXpuvA+8Q==", "dev": true, "license": "MIT", "dependencies": { - "@rolldown/pluginutils": "1.0.0-beta.35", + "@rolldown/pluginutils": "1.0.0-beta.43", "@swc/core": "^1.13.5" }, "engines": { @@ -1951,6 +2389,7 @@ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, "license": "MIT", + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -2005,7 +2444,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true, "license": "Python-2.0" }, "node_modules/autoprefixer": { @@ -2054,10 +2492,9 @@ "license": "MIT" }, "node_modules/baseline-browser-mapping": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.9.tgz", - "integrity": "sha512-hY/u2lxLrbecMEWSB0IpGzGyDyeoMFQhCvZd2jGFSE5I17Fh01sYUBPCJtkWERw7zrac9+cIghxm/ytJa2X8iA==", - "dev": true, + "version": "2.8.20", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.20.tgz", + "integrity": "sha512-JMWsdF+O8Orq3EMukbUN1QfbLK9mX2CkUmQBcW2T0s8OmdAUL5LLM/6wFwSrqXzlXB13yhyK9gTKS1rIizOduQ==", "license": "Apache-2.0", "bin": { "baseline-browser-mapping": "dist/cli.js" @@ -2088,10 +2525,9 @@ } }, "node_modules/browserslist": { - "version": "4.26.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.26.2.tgz", - "integrity": "sha512-ECFzp6uFOSB+dcZ5BK/IBaGWssbSYBHvuMeMt3MMFyhI0Z8SqGgEkBLARgpRH3hutIgPVsALcMwbDrJqPxQ65A==", - "dev": true, + "version": "4.27.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.27.0.tgz", + "integrity": "sha512-AXVQwdhot1eqLihwasPElhX2tAZiBjWdJ9i/Zcj2S6QYIjkx62OKSfnobkriB81C3l4w0rVy3Nt4jaTBltYEpw==", "funding": [ { "type": "opencollective", @@ -2107,12 +2543,13 @@ } ], "license": "MIT", + "peer": true, "dependencies": { - "baseline-browser-mapping": "^2.8.3", - "caniuse-lite": "^1.0.30001741", - "electron-to-chromium": "^1.5.218", - "node-releases": "^2.0.21", - "update-browserslist-db": "^1.1.3" + "baseline-browser-mapping": "^2.8.19", + "caniuse-lite": "^1.0.30001751", + "electron-to-chromium": "^1.5.238", + "node-releases": "^2.0.26", + "update-browserslist-db": "^1.1.4" }, "bin": { "browserslist": "cli.js" @@ -2125,17 +2562,27 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, "license": "MIT", "engines": { "node": ">=6" } }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/caniuse-lite": { - "version": "1.0.30001746", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001746.tgz", - "integrity": "sha512-eA7Ys/DGw+pnkWWSE/id29f2IcPHVoE8wxtvE5JdvD2V28VTDPy1yEeo11Guz0sJ4ZeGRcm3uaTcAqK1LXaphA==", - "dev": true, + "version": "1.0.30001751", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001751.tgz", + "integrity": "sha512-A0QJhug0Ly64Ii3eIqHu5X51ebln3k4yTUkY1j8drqpWHVreg/VLijN48cZ1bYPiqOQuqpkIKnzr/Ul8V+p6Cw==", "funding": [ { "type": "opencollective", @@ -2169,16 +2616,6 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/chownr": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", - "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": ">=18" - } - }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -2206,6 +2643,12 @@ "dev": true, "license": "MIT" }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "license": "MIT" + }, "node_modules/cookie": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz", @@ -2215,6 +2658,32 @@ "node": ">=18" } }, + "node_modules/cosmiconfig": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "license": "MIT", + "dependencies": { + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, "node_modules/cross-spawn": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", @@ -2241,7 +2710,6 @@ "version": "4.4.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, "license": "MIT", "dependencies": { "ms": "^2.1.3" @@ -2263,27 +2731,35 @@ "license": "MIT" }, "node_modules/detect-libc": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.1.tgz", - "integrity": "sha512-ecqj/sy1jcK1uWrwpR67UhYrIFQ+5WlGxth34WquCbamhFA6hkkwiu37o6J5xCHdo1oixJRfVRw+ywV+Hq/0Aw==", - "dev": true, + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "devOptional": true, "license": "Apache-2.0", "engines": { "node": ">=8" } }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, "node_modules/electron-to-chromium": { - "version": "1.5.227", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.227.tgz", - "integrity": "sha512-ITxuoPfJu3lsNWUi2lBM2PaBPYgH3uqmxut5vmBxgYvyI4AlJ6P3Cai1O76mOrkJCBzq0IxWg/NtqOrpu/0gKA==", - "dev": true, + "version": "1.5.240", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.240.tgz", + "integrity": "sha512-OBwbZjWgrCOH+g6uJsA2/7Twpas2OlepS9uvByJjR2datRDuKGYeD+nP8lBBks2qnB7bGJNHDUx7c/YLaT3QMQ==", "license": "ISC" }, "node_modules/enhanced-resolve": { "version": "5.18.3", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz", "integrity": "sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==", - "dev": true, "license": "MIT", "dependencies": { "graceful-fs": "^4.2.4", @@ -2293,11 +2769,31 @@ "node": ">=10.13.0" } }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/error-ex": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz", + "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==", + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, "node_modules/esbuild": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.10.tgz", - "integrity": "sha512-9RiGKvCwaqxO2owP61uQ4BgNborAQskMR6QusfWzQqv7AZOg5oGehdY2pRJMTKuwxd1IDBP4rSbI5lHzU7SMsQ==", - "dev": true, + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.11.tgz", + "integrity": "sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q==", "hasInstallScript": true, "license": "MIT", "bin": { @@ -2307,39 +2803,38 @@ "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.10", - "@esbuild/android-arm": "0.25.10", - "@esbuild/android-arm64": "0.25.10", - "@esbuild/android-x64": "0.25.10", - "@esbuild/darwin-arm64": "0.25.10", - "@esbuild/darwin-x64": "0.25.10", - "@esbuild/freebsd-arm64": "0.25.10", - "@esbuild/freebsd-x64": "0.25.10", - "@esbuild/linux-arm": "0.25.10", - "@esbuild/linux-arm64": "0.25.10", - "@esbuild/linux-ia32": "0.25.10", - "@esbuild/linux-loong64": "0.25.10", - "@esbuild/linux-mips64el": "0.25.10", - "@esbuild/linux-ppc64": "0.25.10", - "@esbuild/linux-riscv64": "0.25.10", - "@esbuild/linux-s390x": "0.25.10", - "@esbuild/linux-x64": "0.25.10", - "@esbuild/netbsd-arm64": "0.25.10", - "@esbuild/netbsd-x64": "0.25.10", - "@esbuild/openbsd-arm64": "0.25.10", - "@esbuild/openbsd-x64": "0.25.10", - "@esbuild/openharmony-arm64": "0.25.10", - "@esbuild/sunos-x64": "0.25.10", - "@esbuild/win32-arm64": "0.25.10", - "@esbuild/win32-ia32": "0.25.10", - "@esbuild/win32-x64": "0.25.10" + "@esbuild/aix-ppc64": "0.25.11", + "@esbuild/android-arm": "0.25.11", + "@esbuild/android-arm64": "0.25.11", + "@esbuild/android-x64": "0.25.11", + "@esbuild/darwin-arm64": "0.25.11", + "@esbuild/darwin-x64": "0.25.11", + "@esbuild/freebsd-arm64": "0.25.11", + "@esbuild/freebsd-x64": "0.25.11", + "@esbuild/linux-arm": "0.25.11", + "@esbuild/linux-arm64": "0.25.11", + "@esbuild/linux-ia32": "0.25.11", + "@esbuild/linux-loong64": "0.25.11", + "@esbuild/linux-mips64el": "0.25.11", + "@esbuild/linux-ppc64": "0.25.11", + "@esbuild/linux-riscv64": "0.25.11", + "@esbuild/linux-s390x": "0.25.11", + "@esbuild/linux-x64": "0.25.11", + "@esbuild/netbsd-arm64": "0.25.11", + "@esbuild/netbsd-x64": "0.25.11", + "@esbuild/openbsd-arm64": "0.25.11", + "@esbuild/openbsd-x64": "0.25.11", + "@esbuild/openharmony-arm64": "0.25.11", + "@esbuild/sunos-x64": "0.25.11", + "@esbuild/win32-arm64": "0.25.11", + "@esbuild/win32-ia32": "0.25.11", + "@esbuild/win32-x64": "0.25.11" } }, "node_modules/escalade": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -2359,25 +2854,25 @@ } }, "node_modules/eslint": { - "version": "9.36.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.36.0.tgz", - "integrity": "sha512-hB4FIzXovouYzwzECDcUkJ4OcfOEkXTv2zRY6B9bkwjx/cprAq0uvm1nl7zvQ0/TsUk0zQiN4uPfJpB9m+rPMQ==", + "version": "9.38.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.38.0.tgz", + "integrity": "sha512-t5aPOpmtJcZcz5UJyY2GbvpDlsK5E8JqRqoKtfiKE3cNh437KIqfJr3A3AKf5k64NPx6d0G3dno6XDY05PqPtw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.21.0", - "@eslint/config-helpers": "^0.3.1", - "@eslint/core": "^0.15.2", + "@eslint/config-array": "^0.21.1", + "@eslint/config-helpers": "^0.4.1", + "@eslint/core": "^0.16.0", "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.36.0", - "@eslint/plugin-kit": "^0.3.5", + "@eslint/js": "9.38.0", + "@eslint/plugin-kit": "^0.4.0", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", "@types/estree": "^1.0.6", - "@types/json-schema": "^7.0.15", "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.6", @@ -2433,9 +2928,9 @@ } }, "node_modules/eslint-plugin-react-refresh": { - "version": "0.4.22", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.22.tgz", - "integrity": "sha512-atkAG6QaJMGoTLc4MDAP+rqZcfwQuTIh2IqHWFLy2TEjxr0MOK+5BSG4RzL2564AAPpZkDRsZXAUz68kjnU6Ug==", + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.24.tgz", + "integrity": "sha512-nLHIW7TEq3aLrEYWpVaJ1dRgFR+wLDPN8e8FpYAql/bMV2oBEfC37K0gLEGgv9fy66juNShSMV8OkTqzltcG/w==", "dev": true, "license": "MIT", "peerDependencies": { @@ -2526,6 +3021,12 @@ "node": ">=4.0" } }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, "node_modules/esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", @@ -2679,7 +3180,6 @@ "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, "hasInstallScript": true, "license": "MIT", "optional": true, @@ -2690,6 +3190,15 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", @@ -2720,7 +3229,6 @@ "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true, "license": "ISC" }, "node_modules/graphemer": { @@ -2754,7 +3262,6 @@ "version": "3.3.1", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", - "dev": true, "license": "MIT", "dependencies": { "parent-module": "^1.0.0", @@ -2777,6 +3284,12 @@ "node": ">=0.8.19" } }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "license": "MIT" + }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -2818,20 +3331,25 @@ "license": "ISC" }, "node_modules/jiti": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.0.tgz", - "integrity": "sha512-VXe6RjJkBPj0ohtqaO8vSWP3ZhAKo66fKrFNCll4BTcwljPLz03pCbaNKfzGP5MbrCYcbJ7v0nOYYwUzTEIdXQ==", - "dev": true, + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", + "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", + "devOptional": true, "license": "MIT", "bin": { "jiti": "lib/jiti-cli.mjs" } }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" + }, "node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, "license": "MIT", "dependencies": { "argparse": "^2.0.1" @@ -2840,6 +3358,18 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/json-buffer": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", @@ -2847,6 +3377,12 @@ "dev": true, "license": "MIT" }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "license": "MIT" + }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -2861,6 +3397,18 @@ "dev": true, "license": "MIT" }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/keyv": { "version": "4.5.4", "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", @@ -2886,10 +3434,10 @@ } }, "node_modules/lightningcss": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.1.tgz", - "integrity": "sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==", - "dev": true, + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.2.tgz", + "integrity": "sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==", + "devOptional": true, "license": "MPL-2.0", "dependencies": { "detect-libc": "^2.0.3" @@ -2902,26 +3450,46 @@ "url": "https://opencollective.com/parcel" }, "optionalDependencies": { - "lightningcss-darwin-arm64": "1.30.1", - "lightningcss-darwin-x64": "1.30.1", - "lightningcss-freebsd-x64": "1.30.1", - "lightningcss-linux-arm-gnueabihf": "1.30.1", - "lightningcss-linux-arm64-gnu": "1.30.1", - "lightningcss-linux-arm64-musl": "1.30.1", - "lightningcss-linux-x64-gnu": "1.30.1", - "lightningcss-linux-x64-musl": "1.30.1", - "lightningcss-win32-arm64-msvc": "1.30.1", - "lightningcss-win32-x64-msvc": "1.30.1" + "lightningcss-android-arm64": "1.30.2", + "lightningcss-darwin-arm64": "1.30.2", + "lightningcss-darwin-x64": "1.30.2", + "lightningcss-freebsd-x64": "1.30.2", + "lightningcss-linux-arm-gnueabihf": "1.30.2", + "lightningcss-linux-arm64-gnu": "1.30.2", + "lightningcss-linux-arm64-musl": "1.30.2", + "lightningcss-linux-x64-gnu": "1.30.2", + "lightningcss-linux-x64-musl": "1.30.2", + "lightningcss-win32-arm64-msvc": "1.30.2", + "lightningcss-win32-x64-msvc": "1.30.2" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.30.2.tgz", + "integrity": "sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, "node_modules/lightningcss-darwin-arm64": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.1.tgz", - "integrity": "sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==", + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.2.tgz", + "integrity": "sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA==", "cpu": [ "arm64" ], - "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -2936,13 +3504,12 @@ } }, "node_modules/lightningcss-darwin-x64": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.1.tgz", - "integrity": "sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==", + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.2.tgz", + "integrity": "sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ==", "cpu": [ "x64" ], - "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -2957,13 +3524,12 @@ } }, "node_modules/lightningcss-freebsd-x64": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.1.tgz", - "integrity": "sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==", + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.2.tgz", + "integrity": "sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA==", "cpu": [ "x64" ], - "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -2978,13 +3544,12 @@ } }, "node_modules/lightningcss-linux-arm-gnueabihf": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.1.tgz", - "integrity": "sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==", + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.2.tgz", + "integrity": "sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA==", "cpu": [ "arm" ], - "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -2999,13 +3564,12 @@ } }, "node_modules/lightningcss-linux-arm64-gnu": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.1.tgz", - "integrity": "sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==", + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.2.tgz", + "integrity": "sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A==", "cpu": [ "arm64" ], - "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -3020,13 +3584,12 @@ } }, "node_modules/lightningcss-linux-arm64-musl": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.1.tgz", - "integrity": "sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==", + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.2.tgz", + "integrity": "sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==", "cpu": [ "arm64" ], - "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -3041,13 +3604,12 @@ } }, "node_modules/lightningcss-linux-x64-gnu": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.1.tgz", - "integrity": "sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==", + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.2.tgz", + "integrity": "sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==", "cpu": [ "x64" ], - "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -3062,13 +3624,12 @@ } }, "node_modules/lightningcss-linux-x64-musl": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.1.tgz", - "integrity": "sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==", + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.2.tgz", + "integrity": "sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==", "cpu": [ "x64" ], - "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -3083,13 +3644,12 @@ } }, "node_modules/lightningcss-win32-arm64-msvc": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.1.tgz", - "integrity": "sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==", + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.2.tgz", + "integrity": "sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ==", "cpu": [ "arm64" ], - "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -3104,13 +3664,12 @@ } }, "node_modules/lightningcss-win32-x64-msvc": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.1.tgz", - "integrity": "sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==", + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.2.tgz", + "integrity": "sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw==", "cpu": [ "x64" ], - "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -3124,6 +3683,12 @@ "url": "https://opencollective.com/parcel" } }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "license": "MIT" + }, "node_modules/locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -3147,10 +3712,28 @@ "dev": true, "license": "MIT" }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, "node_modules/magic-string": { - "version": "0.30.19", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.19.tgz", - "integrity": "sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==", + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", "dev": true, "license": "MIT", "dependencies": { @@ -3194,41 +3777,16 @@ "node": "*" } }, - "node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/minizlib": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.1.0.tgz", - "integrity": "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==", - "dev": true, - "license": "MIT", - "dependencies": { - "minipass": "^7.1.2" - }, - "engines": { - "node": ">= 18" - } - }, "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, "license": "MIT" }, "node_modules/nanoid": { "version": "3.3.11", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", - "dev": true, "funding": [ { "type": "github", @@ -3250,11 +3808,20 @@ "dev": true, "license": "MIT" }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "license": "MIT", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, "node_modules/node-releases": { - "version": "2.0.21", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.21.tgz", - "integrity": "sha512-5b0pgg78U3hwXkCM8Z9b2FJdPZlr9Psr9V2gQPESdGHqbntyFJKFW4r5TeWGFzafGY3hzs1JC62VEQMbl1JFkw==", - "dev": true, + "version": "2.0.26", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.26.tgz", + "integrity": "sha512-S2M9YimhSjBSvYnlr5/+umAnPHE++ODwt5e2Ij6FoX45HA/s4vHdkDx1eax2pAPeAOqu4s9b7ppahsyEFdVqQA==", "license": "MIT" }, "node_modules/normalize-range": { @@ -3321,7 +3888,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, "license": "MIT", "dependencies": { "callsites": "^3.0.0" @@ -3330,6 +3896,24 @@ "node": ">=6" } }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -3350,11 +3934,19 @@ "node": ">=8" } }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/picocolors": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "dev": true, "license": "ISC" }, "node_modules/picomatch": { @@ -3374,7 +3966,6 @@ "version": "8.5.6", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", - "dev": true, "funding": [ { "type": "opencollective", @@ -3390,6 +3981,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", @@ -3454,24 +4046,26 @@ "license": "MIT" }, "node_modules/react": { - "version": "19.1.1", - "resolved": "https://registry.npmjs.org/react/-/react-19.1.1.tgz", - "integrity": "sha512-w8nqGImo45dmMIfljjMwOGtbmC/mk4CMYhWIicdSflH91J9TyCyczcPFXJzrZ/ZXcgGRFeP6BU0BEJTw6tZdfQ==", + "version": "19.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.0.tgz", + "integrity": "sha512-tmbWg6W31tQLeB5cdIBOicJDJRR2KzXsV7uSK9iNfLWQ5bIZfxuPEHp7M8wiHyHnn0DD1i7w3Zmin0FtkrwoCQ==", "license": "MIT", + "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/react-dom": { - "version": "19.1.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.1.tgz", - "integrity": "sha512-Dlq/5LAZgF0Gaz6yiqZCf6VCcZs1ghAJyrsu84Q/GT0gV+mCxbfmKNoGRKBYMJ8IEdGPqu49YWXD02GCknEDkw==", + "version": "19.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.0.tgz", + "integrity": "sha512-UlbRu4cAiGaIewkPyiRGJk0imDN2T3JjieT6spoL2UeSf5od4n5LB/mQ4ejmxhCFT1tYe8IvaFulzynWovsEFQ==", "license": "MIT", + "peer": true, "dependencies": { - "scheduler": "^0.26.0" + "scheduler": "^0.27.0" }, "peerDependencies": { - "react": "^19.1.1" + "react": "^19.2.0" } }, "node_modules/react-router": { @@ -3516,7 +4110,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, "license": "MIT", "engines": { "node": ">=4" @@ -3534,11 +4127,11 @@ } }, "node_modules/rollup": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.52.3.tgz", - "integrity": "sha512-RIDh866U8agLgiIcdpB+COKnlCreHJLfIhWC3LVflku5YHfpnsIKigRZeFfMfCc4dVcqNVfQQ5gO/afOck064A==", - "dev": true, + "version": "4.52.5", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.52.5.tgz", + "integrity": "sha512-3GuObel8h7Kqdjt0gxkEzaifHTqLVW56Y/bjN7PSQtkKr0w3V/QYSdt6QWYtd7A1xUtYQigtdUfgj1RvWVtorw==", "license": "MIT", + "peer": true, "dependencies": { "@types/estree": "1.0.8" }, @@ -3550,28 +4143,28 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.52.3", - "@rollup/rollup-android-arm64": "4.52.3", - "@rollup/rollup-darwin-arm64": "4.52.3", - "@rollup/rollup-darwin-x64": "4.52.3", - "@rollup/rollup-freebsd-arm64": "4.52.3", - "@rollup/rollup-freebsd-x64": "4.52.3", - "@rollup/rollup-linux-arm-gnueabihf": "4.52.3", - "@rollup/rollup-linux-arm-musleabihf": "4.52.3", - "@rollup/rollup-linux-arm64-gnu": "4.52.3", - "@rollup/rollup-linux-arm64-musl": "4.52.3", - "@rollup/rollup-linux-loong64-gnu": "4.52.3", - "@rollup/rollup-linux-ppc64-gnu": "4.52.3", - "@rollup/rollup-linux-riscv64-gnu": "4.52.3", - "@rollup/rollup-linux-riscv64-musl": "4.52.3", - "@rollup/rollup-linux-s390x-gnu": "4.52.3", - "@rollup/rollup-linux-x64-gnu": "4.52.3", - "@rollup/rollup-linux-x64-musl": "4.52.3", - "@rollup/rollup-openharmony-arm64": "4.52.3", - "@rollup/rollup-win32-arm64-msvc": "4.52.3", - "@rollup/rollup-win32-ia32-msvc": "4.52.3", - "@rollup/rollup-win32-x64-gnu": "4.52.3", - "@rollup/rollup-win32-x64-msvc": "4.52.3", + "@rollup/rollup-android-arm-eabi": "4.52.5", + "@rollup/rollup-android-arm64": "4.52.5", + "@rollup/rollup-darwin-arm64": "4.52.5", + "@rollup/rollup-darwin-x64": "4.52.5", + "@rollup/rollup-freebsd-arm64": "4.52.5", + "@rollup/rollup-freebsd-x64": "4.52.5", + "@rollup/rollup-linux-arm-gnueabihf": "4.52.5", + "@rollup/rollup-linux-arm-musleabihf": "4.52.5", + "@rollup/rollup-linux-arm64-gnu": "4.52.5", + "@rollup/rollup-linux-arm64-musl": "4.52.5", + "@rollup/rollup-linux-loong64-gnu": "4.52.5", + "@rollup/rollup-linux-ppc64-gnu": "4.52.5", + "@rollup/rollup-linux-riscv64-gnu": "4.52.5", + "@rollup/rollup-linux-riscv64-musl": "4.52.5", + "@rollup/rollup-linux-s390x-gnu": "4.52.5", + "@rollup/rollup-linux-x64-gnu": "4.52.5", + "@rollup/rollup-linux-x64-musl": "4.52.5", + "@rollup/rollup-openharmony-arm64": "4.52.5", + "@rollup/rollup-win32-arm64-msvc": "4.52.5", + "@rollup/rollup-win32-ia32-msvc": "4.52.5", + "@rollup/rollup-win32-x64-gnu": "4.52.5", + "@rollup/rollup-win32-x64-msvc": "4.52.5", "fsevents": "~2.3.2" } }, @@ -3600,15 +4193,15 @@ } }, "node_modules/scheduler": { - "version": "0.26.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz", - "integrity": "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==", + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", "license": "MIT" }, "node_modules/semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", "dev": true, "license": "ISC", "bin": { @@ -3647,11 +4240,20 @@ "node": ">=8" } }, + "node_modules/snake-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", + "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==", + "license": "MIT", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, "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==", - "dev": true, "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" @@ -3683,17 +4285,23 @@ "node": ">=8" } }, - "node_modules/tailwindcss": { - "version": "4.1.13", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.13.tgz", - "integrity": "sha512-i+zidfmTqtwquj4hMEwdjshYYgMbOrPzb9a0M3ZgNa0JMoZeFC6bxZvO8yr8ozS6ix2SDz0+mvryPeBs2TFE+w==", + "node_modules/svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", "license": "MIT" }, + "node_modules/tailwindcss": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.16.tgz", + "integrity": "sha512-pONL5awpaQX4LN5eiv7moSiSPd/DLDzKVRJz8Q9PgzmAdd1R4307GQS2ZpfiN7ZmekdQrfhZZiSE5jkLR4WNaA==", + "license": "MIT", + "peer": true + }, "node_modules/tapable": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.3.tgz", - "integrity": "sha512-ZL6DDuAlRlLGghwcfmSn9sK3Hr6ArtyudlSAiCqQ6IfE+b+HHbydbYDIG15IfS5do+7XQQBdBiubF/cV2dnDzg==", - "dev": true, + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", + "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", "license": "MIT", "engines": { "node": ">=6" @@ -3703,28 +4311,10 @@ "url": "https://opencollective.com/webpack" } }, - "node_modules/tar": { - "version": "7.5.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.1.tgz", - "integrity": "sha512-nlGpxf+hv0v7GkWBK2V9spgactGOp0qvfWRxUMjqHyzrt3SgwE48DIv/FhqPHJYLHpgW1opq3nERbz5Anq7n1g==", - "dev": true, - "license": "ISC", - "dependencies": { - "@isaacs/fs-minipass": "^4.0.0", - "chownr": "^3.0.0", - "minipass": "^7.1.2", - "minizlib": "^3.1.0", - "yallist": "^5.0.0" - }, - "engines": { - "node": ">=18" - } - }, "node_modules/tinyglobby": { "version": "0.2.15", "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", - "dev": true, "license": "MIT", "dependencies": { "fdir": "^6.5.0", @@ -3741,7 +4331,6 @@ "version": "6.5.0", "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", - "dev": true, "license": "MIT", "engines": { "node": ">=12.0.0" @@ -3759,8 +4348,8 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", - "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=12" }, @@ -3794,6 +4383,12 @@ "typescript": ">=4.8.4" } }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -3811,8 +4406,9 @@ "version": "5.8.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", - "dev": true, + "devOptional": true, "license": "Apache-2.0", + "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -3822,16 +4418,16 @@ } }, "node_modules/typescript-eslint": { - "version": "8.45.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.45.0.tgz", - "integrity": "sha512-qzDmZw/Z5beNLUrXfd0HIW6MzIaAV5WNDxmMs9/3ojGOpYavofgNAAD/nC6tGV2PczIi0iw8vot2eAe/sBn7zg==", + "version": "8.46.2", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.46.2.tgz", + "integrity": "sha512-vbw8bOmiuYNdzzV3lsiWv6sRwjyuKJMQqWulBOU7M0RrxedXledX8G8kBbQeiOYDnTfiXz0Y4081E1QMNB6iQg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.45.0", - "@typescript-eslint/parser": "8.45.0", - "@typescript-eslint/typescript-estree": "8.45.0", - "@typescript-eslint/utils": "8.45.0" + "@typescript-eslint/eslint-plugin": "8.46.2", + "@typescript-eslint/parser": "8.46.2", + "@typescript-eslint/typescript-estree": "8.46.2", + "@typescript-eslint/utils": "8.46.2" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -3846,10 +4442,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", - "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", - "dev": true, + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.4.tgz", + "integrity": "sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A==", "funding": [ { "type": "opencollective", @@ -3890,8 +4485,8 @@ "version": "7.1.12", "resolved": "https://registry.npmjs.org/vite/-/vite-7.1.12.tgz", "integrity": "sha512-ZWyE8YXEXqJrrSLvYgrRP7p62OziLW7xI5HYGWFzOvupfAlrLvURSzv/FyGyy0eidogEM3ujU+kUG1zuHgb6Ug==", - "dev": true, "license": "MIT", + "peer": true, "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.5.0", @@ -3961,11 +4556,24 @@ } } }, + "node_modules/vite-plugin-svgr": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/vite-plugin-svgr/-/vite-plugin-svgr-4.5.0.tgz", + "integrity": "sha512-W+uoSpmVkSmNOGPSsDCWVW/DDAyv+9fap9AZXBvWiQqrboJ08j2vh0tFxTD/LjwqwAd3yYSVJgm54S/1GhbdnA==", + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^5.2.0", + "@svgr/core": "^8.1.0", + "@svgr/plugin-jsx": "^8.1.0" + }, + "peerDependencies": { + "vite": ">=2.6.0" + } + }, "node_modules/vite/node_modules/fdir": { "version": "6.5.0", "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", - "dev": true, "license": "MIT", "engines": { "node": ">=12.0.0" @@ -3983,8 +4591,8 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", - "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=12" }, @@ -4019,14 +4627,10 @@ } }, "node_modules/yallist": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", - "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": ">=18" - } + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "license": "ISC" }, "node_modules/yocto-queue": { "version": "0.1.0", diff --git a/react-messenger/package.json b/react-messenger/package.json index 8f15062f..a24f31a8 100644 --- a/react-messenger/package.json +++ b/react-messenger/package.json @@ -11,19 +11,22 @@ }, "dependencies": { "@tailwindcss/line-clamp": "^0.4.4", + "enhanced-resolve": "^5.18.3", "pretendard": "^1.3.9", "react": "^19.1.1", "react-dom": "^19.1.1", - "react-router-dom": "^7.9.4" + "react-router-dom": "^7.9.4", + "vite-plugin-svgr": "^4.5.0" }, "devDependencies": { "@eslint/js": "^9.36.0", - "@swc/core": "^1.13.19", + "@swc/core": "^1.13.5", + "@swc/helpers": "^0.5.17", "@tailwindcss/postcss": "^4.1.13", - "@tailwindcss/vite": "^4.1.13", + "@tailwindcss/vite": "^4.1.16", "@types/react": "^19.1.13", "@types/react-dom": "^19.1.9", - "@vitejs/plugin-react-swc": "^4.1.0", + "@vitejs/plugin-react-swc": "^4.2.0", "autoprefixer": "^10.4.21", "eslint": "^9.36.0", "eslint-plugin-react-hooks": "^5.2.0", diff --git a/react-messenger/src/assets/icons/CameraIcon.tsx b/react-messenger/src/assets/icons/CameraIcon.tsx deleted file mode 100644 index a1c19097..00000000 --- a/react-messenger/src/assets/icons/CameraIcon.tsx +++ /dev/null @@ -1,43 +0,0 @@ -import React from "react"; - -const CameraIcon = (props: React.SVGProps) => ( - - - - - - - - - - - - - - - -); - -export default CameraIcon; diff --git a/react-messenger/src/assets/icons/ContactAction/CallIcon.tsx b/react-messenger/src/assets/icons/ContactAction/CallIcon.tsx deleted file mode 100644 index d2400464..00000000 --- a/react-messenger/src/assets/icons/ContactAction/CallIcon.tsx +++ /dev/null @@ -1,23 +0,0 @@ -import React from "react"; - -const LeftIcon = (props: React.SVGProps) => ( - - - - -); - -export default LeftIcon; diff --git a/react-messenger/src/assets/icons/ContactAction/community.svg b/react-messenger/src/assets/icons/ContactAction/community.svg new file mode 100644 index 00000000..1965b6e0 --- /dev/null +++ b/react-messenger/src/assets/icons/ContactAction/community.svg @@ -0,0 +1,3 @@ + + + diff --git a/react-messenger/src/assets/icons/Main/add.svg b/react-messenger/src/assets/icons/Main/add.svg new file mode 100644 index 00000000..bf440b10 --- /dev/null +++ b/react-messenger/src/assets/icons/Main/add.svg @@ -0,0 +1,4 @@ + + + + diff --git a/react-messenger/src/assets/icons/Main/call.svg b/react-messenger/src/assets/icons/Main/call.svg new file mode 100644 index 00000000..52efe2ec --- /dev/null +++ b/react-messenger/src/assets/icons/Main/call.svg @@ -0,0 +1,4 @@ + + + + diff --git a/react-messenger/src/assets/icons/Main/camera.svg b/react-messenger/src/assets/icons/Main/camera.svg new file mode 100644 index 00000000..da2797dd --- /dev/null +++ b/react-messenger/src/assets/icons/Main/camera.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/react-messenger/src/assets/icons/Main/search.svg b/react-messenger/src/assets/icons/Main/search.svg new file mode 100644 index 00000000..dce23883 --- /dev/null +++ b/react-messenger/src/assets/icons/Main/search.svg @@ -0,0 +1,3 @@ + + + diff --git a/react-messenger/src/assets/icons/SendIcon.svg b/react-messenger/src/assets/icons/SendIcon.svg new file mode 100644 index 00000000..19c71cc9 --- /dev/null +++ b/react-messenger/src/assets/icons/SendIcon.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/react-messenger/src/assets/icons/StickerIcon.svg b/react-messenger/src/assets/icons/StickerIcon.svg new file mode 100644 index 00000000..e1cb9f10 --- /dev/null +++ b/react-messenger/src/assets/icons/StickerIcon.svg @@ -0,0 +1,4 @@ + + + + diff --git a/react-messenger/src/components/chatList/BottomBar.tsx b/react-messenger/src/components/chatList/BottomBar.tsx index ecc9b565..15a7aad4 100644 --- a/react-messenger/src/components/chatList/BottomBar.tsx +++ b/react-messenger/src/components/chatList/BottomBar.tsx @@ -1,28 +1,26 @@ +import AddIcon from "../../assets/icons/Main/add.svg?react"; +import CallIcon from "../../assets/icons/Main/call.svg?react"; +import CommunityIcon from "../../assets/icons/Main/community.svg?react"; + const BottomBar = () => { return ( <> From 9d03a98ef0bbbafe424d309fa6ad59374c937ea5 Mon Sep 17 00:00:00 2001 From: jungyungee Date: Sun, 26 Oct 2025 02:25:51 +0900 Subject: [PATCH 04/11] =?UTF-8?q?[CHORE]=20=ED=99=98=EA=B2=BD=20=EC=84=A4?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- react-messenger/package-lock.json | 164 ++++++++++++++++++++++++++++-- react-messenger/package.json | 6 +- 2 files changed, 159 insertions(+), 11 deletions(-) diff --git a/react-messenger/package-lock.json b/react-messenger/package-lock.json index d017c8eb..4847471f 100644 --- a/react-messenger/package-lock.json +++ b/react-messenger/package-lock.json @@ -13,8 +13,7 @@ "pretendard": "^1.3.9", "react": "^19.1.1", "react-dom": "^19.1.1", - "react-router-dom": "^7.9.4", - "vite-plugin-svgr": "^4.5.0" + "react-router-dom": "^7.9.4" }, "devDependencies": { "@eslint/js": "^9.36.0", @@ -33,7 +32,8 @@ "tailwindcss": "^4.1.13", "typescript": "~5.8.3", "typescript-eslint": "^8.44.0", - "vite": "^7.1.12" + "vite": "^7.1.12", + "vite-plugin-svgr": "^4.5.0" } }, "node_modules/@alloc/quick-lru": { @@ -53,6 +53,7 @@ "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-validator-identifier": "^7.27.1", @@ -67,6 +68,7 @@ "version": "7.28.5", "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.5.tgz", "integrity": "sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==", + "dev": true, "license": "MIT", "engines": { "node": ">=6.9.0" @@ -76,6 +78,7 @@ "version": "7.28.5", "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz", "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", + "dev": true, "license": "MIT", "peer": true, "dependencies": { @@ -107,6 +110,7 @@ "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -116,6 +120,7 @@ "version": "7.28.5", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.5.tgz", "integrity": "sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==", + "dev": true, "license": "MIT", "dependencies": { "@babel/parser": "^7.28.5", @@ -132,6 +137,7 @@ "version": "7.27.2", "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", + "dev": true, "license": "MIT", "dependencies": { "@babel/compat-data": "^7.27.2", @@ -148,6 +154,7 @@ "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -157,6 +164,7 @@ "version": "7.28.0", "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "dev": true, "license": "MIT", "engines": { "node": ">=6.9.0" @@ -166,6 +174,7 @@ "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", + "dev": true, "license": "MIT", "dependencies": { "@babel/traverse": "^7.27.1", @@ -179,6 +188,7 @@ "version": "7.28.3", "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-module-imports": "^7.27.1", @@ -196,6 +206,7 @@ "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "dev": true, "license": "MIT", "engines": { "node": ">=6.9.0" @@ -205,6 +216,7 @@ "version": "7.28.5", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "dev": true, "license": "MIT", "engines": { "node": ">=6.9.0" @@ -214,6 +226,7 @@ "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "dev": true, "license": "MIT", "engines": { "node": ">=6.9.0" @@ -223,6 +236,7 @@ "version": "7.28.4", "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz", "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==", + "dev": true, "license": "MIT", "dependencies": { "@babel/template": "^7.27.2", @@ -236,6 +250,7 @@ "version": "7.28.5", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.5.tgz", "integrity": "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==", + "dev": true, "license": "MIT", "dependencies": { "@babel/types": "^7.28.5" @@ -251,6 +266,7 @@ "version": "7.27.2", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", + "dev": true, "license": "MIT", "dependencies": { "@babel/code-frame": "^7.27.1", @@ -265,6 +281,7 @@ "version": "7.28.5", "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.5.tgz", "integrity": "sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==", + "dev": true, "license": "MIT", "dependencies": { "@babel/code-frame": "^7.27.1", @@ -283,6 +300,7 @@ "version": "7.28.5", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.5.tgz", "integrity": "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==", + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-string-parser": "^7.27.1", @@ -299,6 +317,7 @@ "cpu": [ "ppc64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -315,6 +334,7 @@ "cpu": [ "arm" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -331,6 +351,7 @@ "cpu": [ "arm64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -347,6 +368,7 @@ "cpu": [ "x64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -363,6 +385,7 @@ "cpu": [ "arm64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -379,6 +402,7 @@ "cpu": [ "x64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -395,6 +419,7 @@ "cpu": [ "arm64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -411,6 +436,7 @@ "cpu": [ "x64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -427,6 +453,7 @@ "cpu": [ "arm" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -443,6 +470,7 @@ "cpu": [ "arm64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -459,6 +487,7 @@ "cpu": [ "ia32" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -475,6 +504,7 @@ "cpu": [ "loong64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -491,6 +521,7 @@ "cpu": [ "mips64el" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -507,6 +538,7 @@ "cpu": [ "ppc64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -523,6 +555,7 @@ "cpu": [ "riscv64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -539,6 +572,7 @@ "cpu": [ "s390x" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -555,6 +589,7 @@ "cpu": [ "x64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -571,6 +606,7 @@ "cpu": [ "arm64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -587,6 +623,7 @@ "cpu": [ "x64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -603,6 +640,7 @@ "cpu": [ "arm64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -619,6 +657,7 @@ "cpu": [ "x64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -635,6 +674,7 @@ "cpu": [ "arm64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -651,6 +691,7 @@ "cpu": [ "x64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -667,6 +708,7 @@ "cpu": [ "arm64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -683,6 +725,7 @@ "cpu": [ "ia32" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -699,6 +742,7 @@ "cpu": [ "x64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -921,6 +965,7 @@ "version": "0.3.13", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, "license": "MIT", "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0", @@ -931,6 +976,7 @@ "version": "2.3.5", "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "dev": true, "license": "MIT", "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", @@ -941,6 +987,7 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, "license": "MIT", "engines": { "node": ">=6.0.0" @@ -950,12 +997,14 @@ "version": "1.5.5", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.31", "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", @@ -1011,6 +1060,7 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.3.0.tgz", "integrity": "sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==", + "dev": true, "license": "MIT", "dependencies": { "@types/estree": "^1.0.0", @@ -1033,6 +1083,7 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, "license": "MIT", "engines": { "node": ">=12" @@ -1048,6 +1099,7 @@ "cpu": [ "arm" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1061,6 +1113,7 @@ "cpu": [ "arm64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1074,6 +1127,7 @@ "cpu": [ "arm64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1087,6 +1141,7 @@ "cpu": [ "x64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1100,6 +1155,7 @@ "cpu": [ "arm64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1113,6 +1169,7 @@ "cpu": [ "x64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1126,6 +1183,7 @@ "cpu": [ "arm" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1139,6 +1197,7 @@ "cpu": [ "arm" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1152,6 +1211,7 @@ "cpu": [ "arm64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1165,6 +1225,7 @@ "cpu": [ "arm64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1178,6 +1239,7 @@ "cpu": [ "loong64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1191,6 +1253,7 @@ "cpu": [ "ppc64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1204,6 +1267,7 @@ "cpu": [ "riscv64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1217,6 +1281,7 @@ "cpu": [ "riscv64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1230,6 +1295,7 @@ "cpu": [ "s390x" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1243,6 +1309,7 @@ "cpu": [ "x64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1256,6 +1323,7 @@ "cpu": [ "x64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1269,6 +1337,7 @@ "cpu": [ "arm64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1282,6 +1351,7 @@ "cpu": [ "arm64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1295,6 +1365,7 @@ "cpu": [ "ia32" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1308,6 +1379,7 @@ "cpu": [ "x64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1321,6 +1393,7 @@ "cpu": [ "x64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1331,6 +1404,7 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz", "integrity": "sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==", + "dev": true, "license": "MIT", "engines": { "node": ">=14" @@ -1347,6 +1421,7 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz", "integrity": "sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==", + "dev": true, "license": "MIT", "engines": { "node": ">=14" @@ -1363,6 +1438,7 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz", "integrity": "sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==", + "dev": true, "license": "MIT", "engines": { "node": ">=14" @@ -1379,6 +1455,7 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz", "integrity": "sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==", + "dev": true, "license": "MIT", "engines": { "node": ">=14" @@ -1395,6 +1472,7 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz", "integrity": "sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==", + "dev": true, "license": "MIT", "engines": { "node": ">=14" @@ -1411,6 +1489,7 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz", "integrity": "sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==", + "dev": true, "license": "MIT", "engines": { "node": ">=14" @@ -1427,6 +1506,7 @@ "version": "8.1.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz", "integrity": "sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==", + "dev": true, "license": "MIT", "engines": { "node": ">=14" @@ -1443,6 +1523,7 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz", "integrity": "sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==", + "dev": true, "license": "MIT", "engines": { "node": ">=12" @@ -1459,6 +1540,7 @@ "version": "8.1.0", "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-8.1.0.tgz", "integrity": "sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==", + "dev": true, "license": "MIT", "dependencies": { "@svgr/babel-plugin-add-jsx-attribute": "8.0.0", @@ -1485,6 +1567,7 @@ "version": "8.1.0", "resolved": "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz", "integrity": "sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==", + "dev": true, "license": "MIT", "peer": true, "dependencies": { @@ -1506,6 +1589,7 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz", "integrity": "sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==", + "dev": true, "license": "MIT", "dependencies": { "@babel/types": "^7.21.3", @@ -1523,6 +1607,7 @@ "version": "8.1.0", "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz", "integrity": "sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==", + "dev": true, "license": "MIT", "dependencies": { "@babel/core": "^7.21.3", @@ -2077,6 +2162,7 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true, "license": "MIT" }, "node_modules/@types/json-schema": { @@ -2444,6 +2530,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, "license": "Python-2.0" }, "node_modules/autoprefixer": { @@ -2495,6 +2582,7 @@ "version": "2.8.20", "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.20.tgz", "integrity": "sha512-JMWsdF+O8Orq3EMukbUN1QfbLK9mX2CkUmQBcW2T0s8OmdAUL5LLM/6wFwSrqXzlXB13yhyK9gTKS1rIizOduQ==", + "dev": true, "license": "Apache-2.0", "bin": { "baseline-browser-mapping": "dist/cli.js" @@ -2528,6 +2616,7 @@ "version": "4.27.0", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.27.0.tgz", "integrity": "sha512-AXVQwdhot1eqLihwasPElhX2tAZiBjWdJ9i/Zcj2S6QYIjkx62OKSfnobkriB81C3l4w0rVy3Nt4jaTBltYEpw==", + "dev": true, "funding": [ { "type": "opencollective", @@ -2562,6 +2651,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -2571,6 +2661,7 @@ "version": "6.3.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, "license": "MIT", "engines": { "node": ">=10" @@ -2583,6 +2674,7 @@ "version": "1.0.30001751", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001751.tgz", "integrity": "sha512-A0QJhug0Ly64Ii3eIqHu5X51ebln3k4yTUkY1j8drqpWHVreg/VLijN48cZ1bYPiqOQuqpkIKnzr/Ul8V+p6Cw==", + "dev": true, "funding": [ { "type": "opencollective", @@ -2647,6 +2739,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, "license": "MIT" }, "node_modules/cookie": { @@ -2662,6 +2755,7 @@ "version": "8.3.6", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "dev": true, "license": "MIT", "dependencies": { "import-fresh": "^3.3.0", @@ -2710,6 +2804,7 @@ "version": "4.4.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, "license": "MIT", "dependencies": { "ms": "^2.1.3" @@ -2734,7 +2829,7 @@ "version": "2.1.2", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", - "devOptional": true, + "dev": true, "license": "Apache-2.0", "engines": { "node": ">=8" @@ -2744,6 +2839,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dev": true, "license": "MIT", "dependencies": { "no-case": "^3.0.4", @@ -2754,6 +2850,7 @@ "version": "1.5.240", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.240.tgz", "integrity": "sha512-OBwbZjWgrCOH+g6uJsA2/7Twpas2OlepS9uvByJjR2datRDuKGYeD+nP8lBBks2qnB7bGJNHDUx7c/YLaT3QMQ==", + "dev": true, "license": "ISC" }, "node_modules/enhanced-resolve": { @@ -2773,6 +2870,7 @@ "version": "4.5.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, "license": "BSD-2-Clause", "engines": { "node": ">=0.12" @@ -2785,6 +2883,7 @@ "version": "1.3.4", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz", "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==", + "dev": true, "license": "MIT", "dependencies": { "is-arrayish": "^0.2.1" @@ -2794,6 +2893,7 @@ "version": "0.25.11", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.11.tgz", "integrity": "sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q==", + "dev": true, "hasInstallScript": true, "license": "MIT", "bin": { @@ -2835,6 +2935,7 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -3025,6 +3126,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true, "license": "MIT" }, "node_modules/esutils": { @@ -3180,6 +3282,7 @@ "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, "hasInstallScript": true, "license": "MIT", "optional": true, @@ -3194,6 +3297,7 @@ "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, "license": "MIT", "engines": { "node": ">=6.9.0" @@ -3262,6 +3366,7 @@ "version": "3.3.1", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dev": true, "license": "MIT", "dependencies": { "parent-module": "^1.0.0", @@ -3288,6 +3393,7 @@ "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true, "license": "MIT" }, "node_modules/is-extglob": { @@ -3334,7 +3440,7 @@ "version": "2.6.1", "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", - "devOptional": true, + "dev": true, "license": "MIT", "bin": { "jiti": "lib/jiti-cli.mjs" @@ -3344,12 +3450,14 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, "license": "MIT" }, "node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, "license": "MIT", "dependencies": { "argparse": "^2.0.1" @@ -3362,6 +3470,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, "license": "MIT", "bin": { "jsesc": "bin/jsesc" @@ -3381,6 +3490,7 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true, "license": "MIT" }, "node_modules/json-schema-traverse": { @@ -3401,6 +3511,7 @@ "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, "license": "MIT", "bin": { "json5": "lib/cli.js" @@ -3437,7 +3548,7 @@ "version": "1.30.2", "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.2.tgz", "integrity": "sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==", - "devOptional": true, + "dev": true, "license": "MPL-2.0", "dependencies": { "detect-libc": "^2.0.3" @@ -3470,6 +3581,7 @@ "cpu": [ "arm64" ], + "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -3490,6 +3602,7 @@ "cpu": [ "arm64" ], + "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -3510,6 +3623,7 @@ "cpu": [ "x64" ], + "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -3530,6 +3644,7 @@ "cpu": [ "x64" ], + "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -3550,6 +3665,7 @@ "cpu": [ "arm" ], + "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -3570,6 +3686,7 @@ "cpu": [ "arm64" ], + "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -3590,6 +3707,7 @@ "cpu": [ "arm64" ], + "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -3610,6 +3728,7 @@ "cpu": [ "x64" ], + "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -3630,6 +3749,7 @@ "cpu": [ "x64" ], + "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -3650,6 +3770,7 @@ "cpu": [ "arm64" ], + "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -3670,6 +3791,7 @@ "cpu": [ "x64" ], + "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -3687,6 +3809,7 @@ "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true, "license": "MIT" }, "node_modules/locate-path": { @@ -3716,6 +3839,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, "license": "MIT", "dependencies": { "tslib": "^2.0.3" @@ -3725,6 +3849,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, "license": "ISC", "dependencies": { "yallist": "^3.0.2" @@ -3781,12 +3906,14 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, "license": "MIT" }, "node_modules/nanoid": { "version": "3.3.11", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "dev": true, "funding": [ { "type": "github", @@ -3812,6 +3939,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, "license": "MIT", "dependencies": { "lower-case": "^2.0.2", @@ -3822,6 +3950,7 @@ "version": "2.0.26", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.26.tgz", "integrity": "sha512-S2M9YimhSjBSvYnlr5/+umAnPHE++ODwt5e2Ij6FoX45HA/s4vHdkDx1eax2pAPeAOqu4s9b7ppahsyEFdVqQA==", + "dev": true, "license": "MIT" }, "node_modules/normalize-range": { @@ -3888,6 +4017,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, "license": "MIT", "dependencies": { "callsites": "^3.0.0" @@ -3900,6 +4030,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, "license": "MIT", "dependencies": { "@babel/code-frame": "^7.0.0", @@ -3938,6 +4069,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -3947,6 +4079,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, "license": "ISC" }, "node_modules/picomatch": { @@ -3966,6 +4099,7 @@ "version": "8.5.6", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "dev": true, "funding": [ { "type": "opencollective", @@ -4110,6 +4244,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, "license": "MIT", "engines": { "node": ">=4" @@ -4130,8 +4265,8 @@ "version": "4.52.5", "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.52.5.tgz", "integrity": "sha512-3GuObel8h7Kqdjt0gxkEzaifHTqLVW56Y/bjN7PSQtkKr0w3V/QYSdt6QWYtd7A1xUtYQigtdUfgj1RvWVtorw==", + "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@types/estree": "1.0.8" }, @@ -4244,6 +4379,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==", + "dev": true, "license": "MIT", "dependencies": { "dot-case": "^3.0.4", @@ -4254,6 +4390,7 @@ "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==", + "dev": true, "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" @@ -4289,6 +4426,7 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", + "dev": true, "license": "MIT" }, "node_modules/tailwindcss": { @@ -4315,6 +4453,7 @@ "version": "0.2.15", "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "dev": true, "license": "MIT", "dependencies": { "fdir": "^6.5.0", @@ -4331,6 +4470,7 @@ "version": "6.5.0", "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, "license": "MIT", "engines": { "node": ">=12.0.0" @@ -4348,6 +4488,7 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, "license": "MIT", "peer": true, "engines": { @@ -4387,6 +4528,7 @@ "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, "license": "0BSD" }, "node_modules/type-check": { @@ -4406,7 +4548,7 @@ "version": "5.8.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", - "devOptional": true, + "dev": true, "license": "Apache-2.0", "peer": true, "bin": { @@ -4445,6 +4587,7 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.4.tgz", "integrity": "sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A==", + "dev": true, "funding": [ { "type": "opencollective", @@ -4485,6 +4628,7 @@ "version": "7.1.12", "resolved": "https://registry.npmjs.org/vite/-/vite-7.1.12.tgz", "integrity": "sha512-ZWyE8YXEXqJrrSLvYgrRP7p62OziLW7xI5HYGWFzOvupfAlrLvURSzv/FyGyy0eidogEM3ujU+kUG1zuHgb6Ug==", + "dev": true, "license": "MIT", "peer": true, "dependencies": { @@ -4560,6 +4704,7 @@ "version": "4.5.0", "resolved": "https://registry.npmjs.org/vite-plugin-svgr/-/vite-plugin-svgr-4.5.0.tgz", "integrity": "sha512-W+uoSpmVkSmNOGPSsDCWVW/DDAyv+9fap9AZXBvWiQqrboJ08j2vh0tFxTD/LjwqwAd3yYSVJgm54S/1GhbdnA==", + "dev": true, "license": "MIT", "dependencies": { "@rollup/pluginutils": "^5.2.0", @@ -4574,6 +4719,7 @@ "version": "6.5.0", "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, "license": "MIT", "engines": { "node": ">=12.0.0" @@ -4591,6 +4737,7 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, "license": "MIT", "peer": true, "engines": { @@ -4630,6 +4777,7 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, "license": "ISC" }, "node_modules/yocto-queue": { diff --git a/react-messenger/package.json b/react-messenger/package.json index a24f31a8..8f5f982b 100644 --- a/react-messenger/package.json +++ b/react-messenger/package.json @@ -15,8 +15,7 @@ "pretendard": "^1.3.9", "react": "^19.1.1", "react-dom": "^19.1.1", - "react-router-dom": "^7.9.4", - "vite-plugin-svgr": "^4.5.0" + "react-router-dom": "^7.9.4" }, "devDependencies": { "@eslint/js": "^9.36.0", @@ -35,6 +34,7 @@ "tailwindcss": "^4.1.13", "typescript": "~5.8.3", "typescript-eslint": "^8.44.0", - "vite": "^7.1.12" + "vite": "^7.1.12", + "vite-plugin-svgr": "^4.5.0" } } From 254a67e59f95a3ee66c131b9627f5ec3c381bb6c Mon Sep 17 00:00:00 2001 From: jungyungee Date: Sun, 26 Oct 2025 03:32:43 +0900 Subject: [PATCH 05/11] =?UTF-8?q?[FEAT]=20=ED=94=84=EB=A1=9C=ED=95=84=20?= =?UTF-8?q?=ED=99=94=EB=A9=B4=20=EA=B5=AC=ED=98=84=20=EB=B0=8F=20=EC=97=B0?= =?UTF-8?q?=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- react-messenger/public/data/users.json | 8 +- .../src/assets/icons/Main/morebottombar.svg | 6 +- .../src/assets/icons/Profile/like.svg | 3 + .../src/assets/icons/Profile/media.svg | 3 + .../src/assets/icons/Profile/rightthick.svg | 3 + .../src/components/chatRoom/ContactAction.tsx | 12 +- react-messenger/src/pages/Profile.tsx | 138 +++++++++++++++++- react-messenger/src/routes/index.tsx | 4 +- 8 files changed, 163 insertions(+), 14 deletions(-) create mode 100644 react-messenger/src/assets/icons/Profile/like.svg create mode 100644 react-messenger/src/assets/icons/Profile/media.svg create mode 100644 react-messenger/src/assets/icons/Profile/rightthick.svg diff --git a/react-messenger/public/data/users.json b/react-messenger/public/data/users.json index 78207a7f..792cf83e 100644 --- a/react-messenger/public/data/users.json +++ b/react-messenger/public/data/users.json @@ -1,14 +1,14 @@ [ { "id": 1, - "name": "박서령", - "phone": "+82 010-1234-5678", + "name": "최솔희", + "phone": "010-1324-5768", "avatar": "/avatars/sample_image.png" }, { "id": 2, - "name": "최솔희", - "phone": "+82 010-9999-2222", + "name": "박서령", + "phone": "010-9999-2222", "avatar": "/avatars/sample_image2.jpg" } ] diff --git a/react-messenger/src/assets/icons/Main/morebottombar.svg b/react-messenger/src/assets/icons/Main/morebottombar.svg index 122a71f0..f7c98972 100644 --- a/react-messenger/src/assets/icons/Main/morebottombar.svg +++ b/react-messenger/src/assets/icons/Main/morebottombar.svg @@ -1,5 +1,5 @@ - - - + + + diff --git a/react-messenger/src/assets/icons/Profile/like.svg b/react-messenger/src/assets/icons/Profile/like.svg new file mode 100644 index 00000000..ddf1901b --- /dev/null +++ b/react-messenger/src/assets/icons/Profile/like.svg @@ -0,0 +1,3 @@ + + + diff --git a/react-messenger/src/assets/icons/Profile/media.svg b/react-messenger/src/assets/icons/Profile/media.svg new file mode 100644 index 00000000..eda8aa3a --- /dev/null +++ b/react-messenger/src/assets/icons/Profile/media.svg @@ -0,0 +1,3 @@ + + + diff --git a/react-messenger/src/assets/icons/Profile/rightthick.svg b/react-messenger/src/assets/icons/Profile/rightthick.svg new file mode 100644 index 00000000..77c51f75 --- /dev/null +++ b/react-messenger/src/assets/icons/Profile/rightthick.svg @@ -0,0 +1,3 @@ + + + diff --git a/react-messenger/src/components/chatRoom/ContactAction.tsx b/react-messenger/src/components/chatRoom/ContactAction.tsx index e40bfa2b..762efe39 100644 --- a/react-messenger/src/components/chatRoom/ContactAction.tsx +++ b/react-messenger/src/components/chatRoom/ContactAction.tsx @@ -1,4 +1,4 @@ -import { useNavigate } from "react-router-dom"; +import { useNavigate, useParams } from "react-router-dom"; import LeftIcon from "../../assets/icons/ContactAction/LeftIcon"; import SearchIcon from "../../assets/icons/ContactAction/SearchIcon"; import CallIcon from "../../assets/icons/Main/call.svg?react"; @@ -19,6 +19,12 @@ interface Props { const ContactAction = ({ user }: Props) => { const navigate = useNavigate(); + const { id } = useParams(); + + const handleGoProfile = () => { + if (!user) return; + navigate(`/chat/${id}/profile/${user.id}`); + }; return (
@@ -47,8 +53,8 @@ const ContactAction = ({ user }: Props) => { {user?.name || "Loading..."} -
{user?.phone || ""} diff --git a/react-messenger/src/pages/Profile.tsx b/react-messenger/src/pages/Profile.tsx index a0fa33d0..52dce6d5 100644 --- a/react-messenger/src/pages/Profile.tsx +++ b/react-messenger/src/pages/Profile.tsx @@ -1,7 +1,141 @@ +import { useNavigate, useParams } from "react-router-dom"; +import LeftIcon from "../assets/icons/ContactAction/LeftIcon"; +import CallIcon from "../assets/icons/Main/call.svg?react"; +import VideoIcon from "../assets/icons/ContactAction/VideoIcon"; +import SearchIcon from "../assets/icons/ContactAction/SearchIcon"; +import MoreIcon from "../assets/icons/Main/morebottombar.svg?react"; +import ProfileIcon from "../assets/icons/ContactAction/ProfileIcon"; +import MediaIcon from "../assets/icons/Profile/media.svg?react"; +import LikeIcon from "../assets/icons/Profile/like.svg?react"; +import RightIcon from "../assets/icons/Profile/rightthick.svg?react"; +import { useEffect, useState } from "react"; + +interface User { + id: number; + name: string; + avatar?: string; + phone?: string; + instagram?: string; +} + const Profile = () => { + const navigate = useNavigate(); + const { chatId, userId } = useParams(); + const [user, setUser] = useState(null); + + useEffect(() => { + const loadUser = async () => { + try { + const res = await fetch("/data/users.json"); + const data: User[] = await res.json(); + const found = data.find((u) => u.id === Number(userId)); + setUser(found || null); + } catch (err) { + console.error(err); + } + }; + loadUser(); + }, [userId]); + return ( -
-

Profile

+
+ {/* 상단 */} +
+ + +
+ + {/* 프로필 이미지 */} +
+
navigate(`/chat/${chatId}/profile/${userId}/photo`)} + > + {user?.avatar ? ( + {user.name} + ) : ( + + )} +
+
+
+

{user?.name}

+ {user?.instagram && ( + + {user.instagram} + + )} +

{user?.phone}

+
+ + {/* 메뉴 */} +
+ + + + + + + +
+ + {/* 미디어, 즐겨찾기 */} +
+
+
+ + 미디어, 링크, 문서 +
+
+ 없음 + +
+
+ +
+ +
+
+ + 즐겨찾기 +
+
+ 없음 + +
+
+
); }; diff --git a/react-messenger/src/routes/index.tsx b/react-messenger/src/routes/index.tsx index f3ad8fc1..6ed9b3e0 100644 --- a/react-messenger/src/routes/index.tsx +++ b/react-messenger/src/routes/index.tsx @@ -14,11 +14,11 @@ export const router = createBrowserRouter([ element: , }, { - path: "/profile", + path: "/chat/:chatId/profile/:userId", element: , }, { - path: "/profile/photo", + path: "/chat/:chatId/profile/:userId/photo", element: , }, ]); From baa98657af67811abca98f37d0cb717eeef0cff7 Mon Sep 17 00:00:00 2001 From: jungyungee Date: Sun, 26 Oct 2025 04:23:06 +0900 Subject: [PATCH 06/11] =?UTF-8?q?[FEAT]=20=ED=94=84=EB=A1=9C=ED=95=84=20?= =?UTF-8?q?=EC=83=81=EC=84=B8=20=ED=99=94=EB=A9=B4=20UI=20=EB=8C=80?= =?UTF-8?q?=EB=9E=B5=EC=A0=81=EC=9D=B8=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/assets/icons/Chat/plus.svg | 3 + .../icons/{SendIcon.svg => Chat/send.svg} | 0 .../{StickerIcon.svg => Chat/sticker.svg} | 0 react-messenger/src/assets/icons/PlusIcon.tsx | 19 --- react-messenger/src/assets/icons/SendIcon.tsx | 27 ---- .../src/assets/icons/StickerIcon.tsx | 25 --- .../src/components/chatRoom/MessageInput.tsx | 8 +- react-messenger/src/pages/ProfilePhoto.tsx | 144 +++++++++++++++++- 8 files changed, 149 insertions(+), 77 deletions(-) create mode 100644 react-messenger/src/assets/icons/Chat/plus.svg rename react-messenger/src/assets/icons/{SendIcon.svg => Chat/send.svg} (100%) rename react-messenger/src/assets/icons/{StickerIcon.svg => Chat/sticker.svg} (100%) delete mode 100644 react-messenger/src/assets/icons/PlusIcon.tsx delete mode 100644 react-messenger/src/assets/icons/SendIcon.tsx delete mode 100644 react-messenger/src/assets/icons/StickerIcon.tsx diff --git a/react-messenger/src/assets/icons/Chat/plus.svg b/react-messenger/src/assets/icons/Chat/plus.svg new file mode 100644 index 00000000..3c8ecd7f --- /dev/null +++ b/react-messenger/src/assets/icons/Chat/plus.svg @@ -0,0 +1,3 @@ + + + diff --git a/react-messenger/src/assets/icons/SendIcon.svg b/react-messenger/src/assets/icons/Chat/send.svg similarity index 100% rename from react-messenger/src/assets/icons/SendIcon.svg rename to react-messenger/src/assets/icons/Chat/send.svg diff --git a/react-messenger/src/assets/icons/StickerIcon.svg b/react-messenger/src/assets/icons/Chat/sticker.svg similarity index 100% rename from react-messenger/src/assets/icons/StickerIcon.svg rename to react-messenger/src/assets/icons/Chat/sticker.svg diff --git a/react-messenger/src/assets/icons/PlusIcon.tsx b/react-messenger/src/assets/icons/PlusIcon.tsx deleted file mode 100644 index ade14fd5..00000000 --- a/react-messenger/src/assets/icons/PlusIcon.tsx +++ /dev/null @@ -1,19 +0,0 @@ -import React from "react"; - -const PlusIcon = (props: React.SVGProps) => ( - - - -); - -export default PlusIcon; diff --git a/react-messenger/src/assets/icons/SendIcon.tsx b/react-messenger/src/assets/icons/SendIcon.tsx deleted file mode 100644 index e0f348ab..00000000 --- a/react-messenger/src/assets/icons/SendIcon.tsx +++ /dev/null @@ -1,27 +0,0 @@ -import React from "react"; - -const SendIcon = (props: React.SVGProps) => ( - - - - - - - - - - - -); - -export default SendIcon; diff --git a/react-messenger/src/assets/icons/StickerIcon.tsx b/react-messenger/src/assets/icons/StickerIcon.tsx deleted file mode 100644 index fa35d47e..00000000 --- a/react-messenger/src/assets/icons/StickerIcon.tsx +++ /dev/null @@ -1,25 +0,0 @@ -import React from "react"; - -const StickerIcon = (props: React.SVGProps) => ( - - - - -); - -export default StickerIcon; diff --git a/react-messenger/src/components/chatRoom/MessageInput.tsx b/react-messenger/src/components/chatRoom/MessageInput.tsx index 1180e32b..e9612752 100644 --- a/react-messenger/src/components/chatRoom/MessageInput.tsx +++ b/react-messenger/src/components/chatRoom/MessageInput.tsx @@ -1,8 +1,8 @@ import { useState } from "react"; import CameraIcon from "../../assets/icons/Main/camera.svg?react"; -import PlusIcon from "../../assets/icons/PlusIcon"; -import StickerIcon from "../../assets/icons/StickerIcon"; -import SendIcon from "../../assets/icons/SendIcon"; +import PlusIcon from "../../assets/icons/Chat/plus.svg?react"; +import StickerIcon from "../../assets/icons/Chat/sticker.svg?react"; +import SendIcon from "../../assets/icons/Chat/send.svg?react"; interface MessageInputProps { onSend: (text: string) => void; // 입력 받은 내용 상위 컴포넌트로 전달하기 @@ -48,7 +48,7 @@ const MessageInput = ({ onSend }: MessageInputProps) => { onChange={(e) => setMessage(e.target.value)} onKeyDown={handleKeyDown} > -
+
{message.trim() ? ( +
+ + {/* 블러 */} +
+
+
+ + {/* 이름 / 번호 */} +
+

{user.name}

+

+ {user.phone ? `+82 ${user.phone}` : ""} +

+
+
+
+ + {/* 버튼 영역 */} +
+
+ {[ + { + icon: , + label: "오디오", + }, + { + icon: , + label: "비디오", + }, + { + icon: , + label: "검색", + }, + { + icon: , + label: "옵션", + }, + ].map((item, i) => ( + + ))} +
+
+ + {/* 미디어 / 즐겨찾기 섹션 */} +
+
+
+ + 미디어, 링크, 문서 +
+
+ 없음 + +
+
+ +
+
+ + 즐겨찾기 +
+
+ 없음 + +
+
+
); }; From c8f2af847070274e5973227a91e7c549e970b6f8 Mon Sep 17 00:00:00 2001 From: jungyungee Date: Sun, 26 Oct 2025 05:04:47 +0900 Subject: [PATCH 07/11] =?UTF-8?q?[CHORE]=20svg=20=ED=8C=8C=EC=9D=BC=20?= =?UTF-8?q?=EC=A0=95=EB=A6=AC=20=EB=B0=8F=20=ED=94=BD=EC=85=80=20=EB=8B=A8?= =?UTF-8?q?=EC=9C=84=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/assets/icons/Chat/search.svg | 4 ++ .../assets/icons/ContactAction/LeftIcon.tsx | 19 ---------- .../icons/ContactAction/ProfileIcon.tsx | 25 ------------- .../assets/icons/ContactAction/RightIcon.tsx | 19 ---------- .../assets/icons/ContactAction/SearchIcon.tsx | 25 ------------- .../src/assets/icons/Profile/pencil.svg | 4 ++ .../assets/icons/Profile/profilesearch.svg | 3 ++ .../src/assets/icons/Profile/roundback.svg | 9 +++++ .../src/assets/icons/ShowAllIcon.tsx | 19 ---------- .../src/assets/icons/common/left.svg | 3 ++ .../src/assets/icons/common/profileIcon.svg | 5 +++ .../src/assets/icons/common/rightthin.svg | 3 ++ .../VideoIcon.tsx => common/video.svg} | 37 +++---------------- .../src/components/chatList/BottomBar.tsx | 2 +- .../src/components/chatRoom/ContactAction.tsx | 18 ++++----- .../src/components/chatRoom/MessageInput.tsx | 8 ++-- .../src/components/chatRoom/ReceivedChat.tsx | 16 ++++---- .../src/components/chatRoom/SentChat.tsx | 12 +++--- react-messenger/src/pages/ChatList.tsx | 2 +- react-messenger/src/pages/ChatRoom.tsx | 4 +- react-messenger/src/pages/Profile.tsx | 12 +++--- react-messenger/src/pages/ProfilePhoto.tsx | 36 ++++++++++-------- 22 files changed, 94 insertions(+), 191 deletions(-) create mode 100644 react-messenger/src/assets/icons/Chat/search.svg delete mode 100644 react-messenger/src/assets/icons/ContactAction/LeftIcon.tsx delete mode 100644 react-messenger/src/assets/icons/ContactAction/ProfileIcon.tsx delete mode 100644 react-messenger/src/assets/icons/ContactAction/RightIcon.tsx delete mode 100644 react-messenger/src/assets/icons/ContactAction/SearchIcon.tsx create mode 100644 react-messenger/src/assets/icons/Profile/pencil.svg create mode 100644 react-messenger/src/assets/icons/Profile/profilesearch.svg create mode 100644 react-messenger/src/assets/icons/Profile/roundback.svg delete mode 100644 react-messenger/src/assets/icons/ShowAllIcon.tsx create mode 100644 react-messenger/src/assets/icons/common/left.svg create mode 100644 react-messenger/src/assets/icons/common/profileIcon.svg create mode 100644 react-messenger/src/assets/icons/common/rightthin.svg rename react-messenger/src/assets/icons/{ContactAction/VideoIcon.tsx => common/video.svg} (87%) diff --git a/react-messenger/src/assets/icons/Chat/search.svg b/react-messenger/src/assets/icons/Chat/search.svg new file mode 100644 index 00000000..c3c566d4 --- /dev/null +++ b/react-messenger/src/assets/icons/Chat/search.svg @@ -0,0 +1,4 @@ + + + + diff --git a/react-messenger/src/assets/icons/ContactAction/LeftIcon.tsx b/react-messenger/src/assets/icons/ContactAction/LeftIcon.tsx deleted file mode 100644 index b65ceb36..00000000 --- a/react-messenger/src/assets/icons/ContactAction/LeftIcon.tsx +++ /dev/null @@ -1,19 +0,0 @@ -import React from "react"; - -const LeftIcon = (props: React.SVGProps) => ( - - - -); - -export default LeftIcon; diff --git a/react-messenger/src/assets/icons/ContactAction/ProfileIcon.tsx b/react-messenger/src/assets/icons/ContactAction/ProfileIcon.tsx deleted file mode 100644 index e9ee4a19..00000000 --- a/react-messenger/src/assets/icons/ContactAction/ProfileIcon.tsx +++ /dev/null @@ -1,25 +0,0 @@ -import React from "react"; - -const ProfileIcon = (props: React.SVGProps) => ( - - - - -); - -export default ProfileIcon; diff --git a/react-messenger/src/assets/icons/ContactAction/RightIcon.tsx b/react-messenger/src/assets/icons/ContactAction/RightIcon.tsx deleted file mode 100644 index d8e8072c..00000000 --- a/react-messenger/src/assets/icons/ContactAction/RightIcon.tsx +++ /dev/null @@ -1,19 +0,0 @@ -import React from "react"; - -const LeftIcon = (props: React.SVGProps) => ( - - - -); - -export default LeftIcon; diff --git a/react-messenger/src/assets/icons/ContactAction/SearchIcon.tsx b/react-messenger/src/assets/icons/ContactAction/SearchIcon.tsx deleted file mode 100644 index afe5e059..00000000 --- a/react-messenger/src/assets/icons/ContactAction/SearchIcon.tsx +++ /dev/null @@ -1,25 +0,0 @@ -import React from "react"; - -const LeftIcon = (props: React.SVGProps) => ( - - - - -); - -export default LeftIcon; diff --git a/react-messenger/src/assets/icons/Profile/pencil.svg b/react-messenger/src/assets/icons/Profile/pencil.svg new file mode 100644 index 00000000..e79dbc63 --- /dev/null +++ b/react-messenger/src/assets/icons/Profile/pencil.svg @@ -0,0 +1,4 @@ + + + + diff --git a/react-messenger/src/assets/icons/Profile/profilesearch.svg b/react-messenger/src/assets/icons/Profile/profilesearch.svg new file mode 100644 index 00000000..66f63d2c --- /dev/null +++ b/react-messenger/src/assets/icons/Profile/profilesearch.svg @@ -0,0 +1,3 @@ + + + diff --git a/react-messenger/src/assets/icons/Profile/roundback.svg b/react-messenger/src/assets/icons/Profile/roundback.svg new file mode 100644 index 00000000..1f9a1ec1 --- /dev/null +++ b/react-messenger/src/assets/icons/Profile/roundback.svg @@ -0,0 +1,9 @@ + +
+ + + + + + +
diff --git a/react-messenger/src/assets/icons/ShowAllIcon.tsx b/react-messenger/src/assets/icons/ShowAllIcon.tsx deleted file mode 100644 index f1c20cdb..00000000 --- a/react-messenger/src/assets/icons/ShowAllIcon.tsx +++ /dev/null @@ -1,19 +0,0 @@ -import React from "react"; - -const showAllIcon = (props: React.SVGProps) => ( - - - -); - -export default showAllIcon; diff --git a/react-messenger/src/assets/icons/common/left.svg b/react-messenger/src/assets/icons/common/left.svg new file mode 100644 index 00000000..9cee750d --- /dev/null +++ b/react-messenger/src/assets/icons/common/left.svg @@ -0,0 +1,3 @@ + + + diff --git a/react-messenger/src/assets/icons/common/profileIcon.svg b/react-messenger/src/assets/icons/common/profileIcon.svg new file mode 100644 index 00000000..8a721255 --- /dev/null +++ b/react-messenger/src/assets/icons/common/profileIcon.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/react-messenger/src/assets/icons/common/rightthin.svg b/react-messenger/src/assets/icons/common/rightthin.svg new file mode 100644 index 00000000..23126135 --- /dev/null +++ b/react-messenger/src/assets/icons/common/rightthin.svg @@ -0,0 +1,3 @@ + + + diff --git a/react-messenger/src/assets/icons/ContactAction/VideoIcon.tsx b/react-messenger/src/assets/icons/common/video.svg similarity index 87% rename from react-messenger/src/assets/icons/ContactAction/VideoIcon.tsx rename to react-messenger/src/assets/icons/common/video.svg index 3ce69384..75bb38e6 100644 --- a/react-messenger/src/assets/icons/ContactAction/VideoIcon.tsx +++ b/react-messenger/src/assets/icons/common/video.svg @@ -1,31 +1,6 @@ -import React from "react"; - -const VideoIcon = (props: React.SVGProps) => ( - - - - - - -); - -export default VideoIcon; + + + + + + diff --git a/react-messenger/src/components/chatList/BottomBar.tsx b/react-messenger/src/components/chatList/BottomBar.tsx index 6fbfbb45..50a83fca 100644 --- a/react-messenger/src/components/chatList/BottomBar.tsx +++ b/react-messenger/src/components/chatList/BottomBar.tsx @@ -30,7 +30,7 @@ const BottomBar = () => {
- + 3
diff --git a/react-messenger/src/components/chatRoom/ContactAction.tsx b/react-messenger/src/components/chatRoom/ContactAction.tsx index 762efe39..2002550a 100644 --- a/react-messenger/src/components/chatRoom/ContactAction.tsx +++ b/react-messenger/src/components/chatRoom/ContactAction.tsx @@ -1,10 +1,10 @@ import { useNavigate, useParams } from "react-router-dom"; -import LeftIcon from "../../assets/icons/ContactAction/LeftIcon"; -import SearchIcon from "../../assets/icons/ContactAction/SearchIcon"; +import LeftIcon from "../../assets/icons/common/left.svg?react"; +import SearchIcon from "../../assets/icons/Chat/search.svg?react"; import CallIcon from "../../assets/icons/Main/call.svg?react"; -import VideoIcon from "../../assets/icons/ContactAction/VideoIcon"; -import ProfileIcon from "../../assets/icons/ContactAction/ProfileIcon"; -import RightIcon from "../../assets/icons/ContactAction/RightIcon"; +import VideoIcon from "../../assets/icons/common/video.svg?react"; +import RightIcon from "../../assets/icons/common/rightthin.svg?react"; +import ProfileIcon from "../../assets/icons/common/profileIcon.svg?react"; interface User { id: number; @@ -36,7 +36,7 @@ const ContactAction = ({ user }: Props) => { {/* 가운데: 프로필 정보 */}
-
+
{user?.avatar ? ( {
- + {user?.name || "Loading..."} -
@@ -65,7 +65,7 @@ const ContactAction = ({ user }: Props) => {
- +
diff --git a/react-messenger/src/components/chatRoom/MessageInput.tsx b/react-messenger/src/components/chatRoom/MessageInput.tsx index e9612752..6fa3fcf1 100644 --- a/react-messenger/src/components/chatRoom/MessageInput.tsx +++ b/react-messenger/src/components/chatRoom/MessageInput.tsx @@ -31,14 +31,14 @@ const MessageInput = ({ onSend }: MessageInputProps) => { }; return ( -
-
+
+
- { }, [text]); return ( -
+
{avatar ? ( avatar ) : ( - + )} -
+
{ className="w-full flex flex-row items-center justify-between body-8 text-gray-600 mt-1 no-underline" > 전체보기 - + )}
{/* 시간 */} - {time && {time}} + {time && {time}}
); }; diff --git a/react-messenger/src/components/chatRoom/SentChat.tsx b/react-messenger/src/components/chatRoom/SentChat.tsx index 49babdfa..b9a756f8 100644 --- a/react-messenger/src/components/chatRoom/SentChat.tsx +++ b/react-messenger/src/components/chatRoom/SentChat.tsx @@ -1,5 +1,5 @@ import { useState, useEffect, useRef } from "react"; -import ShowAllIcon from "../../assets/icons/ShowAllIcon"; +import ShowAllIcon from "../../assets/icons/common/rightthin.svg?react"; interface SentChatProps { text: string; @@ -19,13 +19,13 @@ const SentChat = ({ text, time }: SentChatProps) => { }, [text]); return ( -
- {time && {time}} +
+ {time && {time}}
{ className="w-full flex flex-row items-center justify-between body-8 text-gray-850 mt-1 no-underline" > 전체보기 - + )}
diff --git a/react-messenger/src/pages/ChatList.tsx b/react-messenger/src/pages/ChatList.tsx index 5ed015c1..98def20c 100644 --- a/react-messenger/src/pages/ChatList.tsx +++ b/react-messenger/src/pages/ChatList.tsx @@ -91,7 +91,7 @@ const ChatList = () => {
diff --git a/react-messenger/src/pages/ChatRoom.tsx b/react-messenger/src/pages/ChatRoom.tsx index d969289b..3a792ade 100644 --- a/react-messenger/src/pages/ChatRoom.tsx +++ b/react-messenger/src/pages/ChatRoom.tsx @@ -92,11 +92,11 @@ const ChatRoom = () => { const targetUser = users.find((u) => u.id === conversation?.userId); return ( -
+
{messages.map((msg, index) => { const prevMsg = messages[index - 1]; diff --git a/react-messenger/src/pages/Profile.tsx b/react-messenger/src/pages/Profile.tsx index 52dce6d5..1e81f180 100644 --- a/react-messenger/src/pages/Profile.tsx +++ b/react-messenger/src/pages/Profile.tsx @@ -1,10 +1,10 @@ import { useNavigate, useParams } from "react-router-dom"; -import LeftIcon from "../assets/icons/ContactAction/LeftIcon"; +import LeftIcon from "../assets/icons/common/left.svg?react"; import CallIcon from "../assets/icons/Main/call.svg?react"; -import VideoIcon from "../assets/icons/ContactAction/VideoIcon"; -import SearchIcon from "../assets/icons/ContactAction/SearchIcon"; +import VideoIcon from "../assets/icons/common/video.svg?react"; +import SearchIcon from "../assets/icons/Profile/profilesearch.svg?react"; import MoreIcon from "../assets/icons/Main/morebottombar.svg?react"; -import ProfileIcon from "../assets/icons/ContactAction/ProfileIcon"; +import ProfileIcon from "../assets/icons/common/profileIcon.svg"; import MediaIcon from "../assets/icons/Profile/media.svg?react"; import LikeIcon from "../assets/icons/Profile/like.svg?react"; import RightIcon from "../assets/icons/Profile/rightthick.svg?react"; @@ -38,7 +38,7 @@ const Profile = () => { }, [userId]); return ( -
+
{/* 상단 */}
diff --git a/react-messenger/src/pages/ProfilePhoto.tsx b/react-messenger/src/pages/ProfilePhoto.tsx index 15c432b5..0796d269 100644 --- a/react-messenger/src/pages/ProfilePhoto.tsx +++ b/react-messenger/src/pages/ProfilePhoto.tsx @@ -1,14 +1,15 @@ import { useEffect, useState } from "react"; import { useNavigate, useParams } from "react-router-dom"; -import LeftIcon from "../assets/icons/ContactAction/LeftIcon"; +import LeftIcon from "../assets/icons/Profile/roundback.svg?react"; import CallIcon from "../assets/icons/Main/call.svg?react"; -import VideoIcon from "../assets/icons/ContactAction/VideoIcon"; -import SearchIcon from "../assets/icons/ContactAction/SearchIcon"; +import VideoIcon from "../assets/icons/common/video.svg?react"; +import SearchIcon from "../assets/icons/Profile/profilesearch.svg?react"; import MoreIcon from "../assets/icons/Main/morebottombar.svg?react"; -import ProfileIcon from "../assets/icons/ContactAction/ProfileIcon"; +import ProfileIcon from "../assets/icons/common/profileIcon.svg?react"; import MediaIcon from "../assets/icons/Profile/media.svg?react"; import LikeIcon from "../assets/icons/Profile/like.svg?react"; import RightIcon from "../assets/icons/Profile/rightthick.svg?react"; +import ModifyIcon from "../assets/icons/Profile/pencil.svg?react"; interface User { id: number; @@ -39,8 +40,8 @@ const ProfilePhoto = () => { if (!user) return null; return ( -
- {/* 상단 이미지 영역 */} +
+ {/* 이미지 */}
{user.avatar ? ( {
)} - {/* 상단 아이콘 */} -
+ {/* 뒤로가기 */} +
@@ -67,16 +68,19 @@ const ProfilePhoto = () => { className="absolute inset-0 backdrop-blur-[20px]" style={{ WebkitMaskImage: - "linear-gradient(to top, rgba(0,0,0,1) 70%, rgba(0,0,0,0.4) 90%, rgba(0,0,0,0) 100%)", + "linear-gradient(to top, rgba(0,0,0,1) 50%, rgba(0,0,0,0.4) 90%, rgba(0,0,0,0) 100%)", maskImage: - "linear-gradient(to top, rgba(0,0,0,1) 70%, rgba(0,0,0,0.4) 90%, rgba(0,0,0,0) 100%)", + "linear-gradient(to top, rgba(0,0,0,1) 50%, rgba(0,0,0,0.4) 90%, rgba(0,0,0,0) 100%)", }} /> -
+
- {/* 이름 / 번호 */} + {/* 정보 */}
-

{user.name}

+
+

{user.name}

+ +

{user.phone ? `+82 ${user.phone}` : ""}

@@ -84,7 +88,7 @@ const ProfilePhoto = () => {
- {/* 버튼 영역 */} + {/* 버튼 */}
{[ @@ -118,7 +122,7 @@ const ProfilePhoto = () => {
- {/* 미디어 / 즐겨찾기 섹션 */} + {/* 메뉴 */}
From cf69e25bd9e42202f18245c47f694a01877a2061 Mon Sep 17 00:00:00 2001 From: jungyungee Date: Sun, 26 Oct 2025 05:12:29 +0900 Subject: [PATCH 08/11] =?UTF-8?q?[CHORE]=20import=EB=AC=B8=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- react-messenger/src/App.css | 0 react-messenger/src/App.tsx | 2 +- react-messenger/src/components/chatList/ChatItem.tsx | 4 ++-- react-messenger/src/components/chatList/chatFilter.tsx | 4 ++-- react-messenger/src/components/chatRoom/DateDivider.tsx | 2 +- react-messenger/src/global.d.ts | 9 --------- react-messenger/src/pages/Profile.tsx | 2 +- 7 files changed, 7 insertions(+), 16 deletions(-) delete mode 100644 react-messenger/src/App.css diff --git a/react-messenger/src/App.css b/react-messenger/src/App.css deleted file mode 100644 index e69de29b..00000000 diff --git a/react-messenger/src/App.tsx b/react-messenger/src/App.tsx index c7d87c9d..8f0b576f 100644 --- a/react-messenger/src/App.tsx +++ b/react-messenger/src/App.tsx @@ -7,7 +7,7 @@ function App() {
{time}
-
+

{message}

{unreadCount ? ( - + {unreadCount > 999 ? "999+" : unreadCount} ) : null} diff --git a/react-messenger/src/components/chatList/chatFilter.tsx b/react-messenger/src/components/chatList/chatFilter.tsx index 4a88f687..713c48b3 100644 --- a/react-messenger/src/components/chatList/chatFilter.tsx +++ b/react-messenger/src/components/chatList/chatFilter.tsx @@ -12,7 +12,7 @@ const ChatFilter = () => { diff --git a/react-messenger/src/components/chatRoom/DateDivider.tsx b/react-messenger/src/components/chatRoom/DateDivider.tsx index ab7b5855..d2a44ff4 100644 --- a/react-messenger/src/components/chatRoom/DateDivider.tsx +++ b/react-messenger/src/components/chatRoom/DateDivider.tsx @@ -19,7 +19,7 @@ const DateDivider = ({ date }: DateDividerProps) => { }); return ( -
+
{formatted}
); diff --git a/react-messenger/src/global.d.ts b/react-messenger/src/global.d.ts index 944cb3db..53c04470 100644 --- a/react-messenger/src/global.d.ts +++ b/react-messenger/src/global.d.ts @@ -1,12 +1,3 @@ -declare module "*.svg" { - import * as React from "react"; - export const ReactComponent: React.FunctionComponent< - React.SVGProps & { title?: string } - >; - const src: string; - export default src; -} - declare module "*.svg?react" { import * as React from "react"; const ReactComponent: React.FC>; diff --git a/react-messenger/src/pages/Profile.tsx b/react-messenger/src/pages/Profile.tsx index 1e81f180..876839bb 100644 --- a/react-messenger/src/pages/Profile.tsx +++ b/react-messenger/src/pages/Profile.tsx @@ -4,7 +4,7 @@ import CallIcon from "../assets/icons/Main/call.svg?react"; import VideoIcon from "../assets/icons/common/video.svg?react"; import SearchIcon from "../assets/icons/Profile/profilesearch.svg?react"; import MoreIcon from "../assets/icons/Main/morebottombar.svg?react"; -import ProfileIcon from "../assets/icons/common/profileIcon.svg"; +import ProfileIcon from "../assets/icons/common/profileIcon.svg?react"; import MediaIcon from "../assets/icons/Profile/media.svg?react"; import LikeIcon from "../assets/icons/Profile/like.svg?react"; import RightIcon from "../assets/icons/Profile/rightthick.svg?react"; From 4f5b3de96584be189b96e1f12b49f7d81f808c84 Mon Sep 17 00:00:00 2001 From: jungyungee Date: Sun, 26 Oct 2025 05:25:50 +0900 Subject: [PATCH 09/11] =?UTF-8?q?[FEAT]=20UI=20=EB=B2=84=ED=8A=BC=20?= =?UTF-8?q?=EC=A0=95=EB=A0=AC=20=EB=B0=8F=20=EC=BD=94=EB=93=9C=EC=A0=95?= =?UTF-8?q?=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- react-messenger/src/pages/Profile.tsx | 57 +++++++++++----------- react-messenger/src/pages/ProfilePhoto.tsx | 10 ++-- 2 files changed, 34 insertions(+), 33 deletions(-) diff --git a/react-messenger/src/pages/Profile.tsx b/react-messenger/src/pages/Profile.tsx index 876839bb..239934cf 100644 --- a/react-messenger/src/pages/Profile.tsx +++ b/react-messenger/src/pages/Profile.tsx @@ -80,34 +80,35 @@ const Profile = () => {
{/* 메뉴 */} -
- - - - - - - +
+ {[ + { + icon: , + label: "오디오", + }, + { + icon: , + label: "비디오", + }, + { + icon: , + label: "검색", + }, + { + icon: , + label: "옵션", + }, + ].map((item, i) => ( + + ))}
{/* 미디어, 즐겨찾기 */} diff --git a/react-messenger/src/pages/ProfilePhoto.tsx b/react-messenger/src/pages/ProfilePhoto.tsx index 0796d269..a070c7d0 100644 --- a/react-messenger/src/pages/ProfilePhoto.tsx +++ b/react-messenger/src/pages/ProfilePhoto.tsx @@ -90,7 +90,7 @@ const ProfilePhoto = () => { {/* 버튼 */}
-
+
{[ { icon: , @@ -111,9 +111,9 @@ const ProfilePhoto = () => { ].map((item, i) => (