diff --git a/CHANGELOG.md b/CHANGELOG.md index df952f16..d9c1101d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -87,3 +87,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/). ### Changed - 채팅페이지 반응형 개선 + +## [0.2.3] - 2025-03-31 + +### Changed + +- 채팅방 반응형 개선 +- 로그아웃 시 홈페이지로 이동하도록 수결 +- 채팅방 이미지 전송 시 이미지 사이즈 최적화 + +### Fixed + +- 피드, 프로젝트 검색 결과 표시 안 되는 문제 해결 diff --git a/package.json b/package.json index 8786be84..22eaa8db 100644 --- a/package.json +++ b/package.json @@ -51,6 +51,7 @@ "react": "^18.3.1", "react-day-picker": "8.10.1", "react-dom": "^18.3.1", + "react-error-boundary": "^5.0.0", "react-github-calendar": "^4.5.3", "react-helmet-async": "^2.0.5", "react-intersection-observer": "^9.15.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2368bb9f..bab165cc 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13,67 +13,67 @@ importers: version: 2.2.0(react@18.3.1) '@radix-ui/react-popover': specifier: ^1.1.4 - version: 1.1.5(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + version: 1.1.5(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-select': specifier: ^2.1.4 - version: 2.1.5(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + version: 2.1.5(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-slot': specifier: ^1.1.1 version: 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-toggle': specifier: ^1.1.1 - version: 1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + version: 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-toggle-group': specifier: ^1.1.1 - version: 1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + version: 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/themes': specifier: ^3.1.6 - version: 3.2.0(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + version: 3.2.0(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@tanstack/react-query': specifier: ^5.64.1 version: 5.66.0(react@18.3.1) '@tanstack/react-query-devtools': specifier: ^5.64.1 - version: 5.66.0(@tanstack/react-query@5.66.0)(react@18.3.1) + version: 5.66.0(@tanstack/react-query@5.66.0(react@18.3.1))(react@18.3.1) '@tiptap/core': specifier: ^2.11.0 version: 2.11.5(@tiptap/pm@2.11.5) '@tiptap/extension-bubble-menu': specifier: ^2.11.0 - version: 2.11.5(@tiptap/core@2.11.5)(@tiptap/pm@2.11.5) + version: 2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5) '@tiptap/extension-bullet-list': specifier: ^2.11.0 - version: 2.11.5(@tiptap/core@2.11.5) + version: 2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5)) '@tiptap/extension-floating-menu': specifier: ^2.11.0 - version: 2.11.5(@tiptap/core@2.11.5)(@tiptap/pm@2.11.5) + version: 2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5) '@tiptap/extension-heading': specifier: ^2.11.0 - version: 2.11.5(@tiptap/core@2.11.5) + version: 2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5)) '@tiptap/extension-image': specifier: ^2.11.0 - version: 2.11.5(@tiptap/core@2.11.5) + version: 2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5)) '@tiptap/extension-link': specifier: ^2.11.0 - version: 2.11.5(@tiptap/core@2.11.5)(@tiptap/pm@2.11.5) + version: 2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5) '@tiptap/extension-paragraph': specifier: ^2.11.0 - version: 2.11.5(@tiptap/core@2.11.5) + version: 2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5)) '@tiptap/extension-placeholder': specifier: ^2.11.2 - version: 2.11.5(@tiptap/core@2.11.5)(@tiptap/pm@2.11.5) + version: 2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5) '@tiptap/extension-task-item': specifier: ^2.11.0 - version: 2.11.5(@tiptap/core@2.11.5)(@tiptap/pm@2.11.5) + version: 2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5) '@tiptap/extension-task-list': specifier: ^2.11.0 - version: 2.11.5(@tiptap/core@2.11.5) + version: 2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5)) '@tiptap/pm': specifier: ^2.11.0 version: 2.11.5 '@tiptap/react': specifier: ^2.11.0 - version: 2.11.5(@tiptap/core@2.11.5)(@tiptap/pm@2.11.5)(react-dom@18.3.1)(react@18.3.1) + version: 2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@tiptap/starter-kit': specifier: ^2.11.0 version: 2.11.5 @@ -119,6 +119,9 @@ importers: react-dom: specifier: ^18.3.1 version: 18.3.1(react@18.3.1) + react-error-boundary: + specifier: ^5.0.0 + version: 5.0.0(react@18.3.1) react-github-calendar: specifier: ^4.5.3 version: 4.5.5(react@18.3.1) @@ -127,13 +130,13 @@ importers: version: 2.0.5(react@18.3.1) react-intersection-observer: specifier: ^9.15.1 - version: 9.15.1(react-dom@18.3.1)(react@18.3.1) + version: 9.15.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react-router-dom: specifier: ^7.1.1 - version: 7.1.5(react-dom@18.3.1)(react@18.3.1) + version: 7.1.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react-toastify: specifier: ^11.0.3 - version: 11.0.3(react-dom@18.3.1)(react@18.3.1) + version: 11.0.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) socket.io-client: specifier: ^4.8.1 version: 4.8.1 @@ -148,11 +151,11 @@ importers: version: 1.0.7(tailwindcss@3.4.17) zustand: specifier: ^5.0.3 - version: 5.0.3(@types/react@18.3.18)(immer@10.1.1)(react@18.3.1) + version: 5.0.3(@types/react@18.3.18)(immer@10.1.1)(react@18.3.1)(use-sync-external-store@1.4.0(react@18.3.1)) devDependencies: '@chromatic-com/storybook': specifier: ^3.2.3 - version: 3.2.4(react@18.3.1)(storybook@8.5.2) + version: 3.2.4(react@18.3.1)(storybook@8.5.2(prettier@3.4.2)) '@eslint/js': specifier: ^9.17.0 version: 9.19.0 @@ -161,25 +164,25 @@ importers: version: 9.4.0 '@storybook/addon-essentials': specifier: ^8.4.7 - version: 8.5.2(@types/react@18.3.18)(storybook@8.5.2) + version: 8.5.2(@types/react@18.3.18)(storybook@8.5.2(prettier@3.4.2)) '@storybook/addon-interactions': specifier: ^8.4.7 - version: 8.5.2(storybook@8.5.2) + version: 8.5.2(storybook@8.5.2(prettier@3.4.2)) '@storybook/addon-onboarding': specifier: ^8.4.7 - version: 8.5.2(storybook@8.5.2) + version: 8.5.2(storybook@8.5.2(prettier@3.4.2)) '@storybook/blocks': specifier: ^8.4.7 - version: 8.5.2(react-dom@18.3.1)(react@18.3.1)(storybook@8.5.2) + version: 8.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.5.2(prettier@3.4.2)) '@storybook/react': specifier: ^8.4.7 - version: 8.5.2(@storybook/test@8.5.2)(react-dom@18.3.1)(react@18.3.1)(storybook@8.5.2)(typescript@5.6.3) + version: 8.5.2(@storybook/test@8.5.2(storybook@8.5.2(prettier@3.4.2)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.5.2(prettier@3.4.2))(typescript@5.6.3) '@storybook/react-vite': specifier: ^8.4.7 - version: 8.5.2(@storybook/test@8.5.2)(react-dom@18.3.1)(react@18.3.1)(storybook@8.5.2)(typescript@5.6.3)(vite@6.0.11) + version: 8.5.2(@storybook/test@8.5.2(storybook@8.5.2(prettier@3.4.2)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.32.1)(storybook@8.5.2(prettier@3.4.2))(typescript@5.6.3)(vite@6.0.11(@types/node@22.13.0)(jiti@1.21.7)(yaml@2.7.0)) '@storybook/test': specifier: ^8.4.7 - version: 8.5.2(storybook@8.5.2) + version: 8.5.2(storybook@8.5.2(prettier@3.4.2)) '@tailwindcss/typography': specifier: ^0.5.16 version: 0.5.16(tailwindcss@3.4.17) @@ -200,49 +203,49 @@ importers: version: 18.3.5(@types/react@18.3.18) '@typescript-eslint/eslint-plugin': specifier: ^7.18.0 - version: 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@9.19.0)(typescript@5.6.3) + version: 7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.19.0(jiti@1.21.7))(typescript@5.6.3))(eslint@9.19.0(jiti@1.21.7))(typescript@5.6.3) '@typescript-eslint/parser': specifier: ^7.18.0 - version: 7.18.0(eslint@9.19.0)(typescript@5.6.3) + version: 7.18.0(eslint@9.19.0(jiti@1.21.7))(typescript@5.6.3) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.0.11) + version: 4.3.4(vite@6.0.11(@types/node@22.13.0)(jiti@1.21.7)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.1) eslint: specifier: ^9.17.0 - version: 9.19.0 + version: 9.19.0(jiti@1.21.7) eslint-config-airbnb: specifier: ^19.0.4 - version: 19.0.4(eslint-plugin-import@2.31.0)(eslint-plugin-jsx-a11y@6.10.2)(eslint-plugin-react-hooks@5.1.0)(eslint-plugin-react@7.37.4)(eslint@9.19.0) + version: 19.0.4(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.19.0(jiti@1.21.7))(typescript@5.6.3))(eslint@9.19.0(jiti@1.21.7)))(eslint-plugin-jsx-a11y@6.10.2(eslint@9.19.0(jiti@1.21.7)))(eslint-plugin-react-hooks@5.1.0(eslint@9.19.0(jiti@1.21.7)))(eslint-plugin-react@7.37.4(eslint@9.19.0(jiti@1.21.7)))(eslint@9.19.0(jiti@1.21.7)) eslint-config-airbnb-typescript: specifier: ^18.0.0 - version: 18.0.0(@typescript-eslint/eslint-plugin@7.18.0)(@typescript-eslint/parser@7.18.0)(eslint-plugin-import@2.31.0)(eslint@9.19.0) + version: 18.0.0(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.19.0(jiti@1.21.7))(typescript@5.6.3))(eslint@9.19.0(jiti@1.21.7))(typescript@5.6.3))(@typescript-eslint/parser@7.18.0(eslint@9.19.0(jiti@1.21.7))(typescript@5.6.3))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.19.0(jiti@1.21.7))(typescript@5.6.3))(eslint@9.19.0(jiti@1.21.7)))(eslint@9.19.0(jiti@1.21.7)) eslint-config-prettier: specifier: ^9.1.0 - version: 9.1.0(eslint@9.19.0) + version: 9.1.0(eslint@9.19.0(jiti@1.21.7)) eslint-plugin-import: specifier: ^2.31.0 - version: 2.31.0(@typescript-eslint/parser@7.18.0)(eslint@9.19.0) + version: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.19.0(jiti@1.21.7))(typescript@5.6.3))(eslint@9.19.0(jiti@1.21.7)) eslint-plugin-jsx-a11y: specifier: ^6.10.2 - version: 6.10.2(eslint@9.19.0) + version: 6.10.2(eslint@9.19.0(jiti@1.21.7)) eslint-plugin-prettier: specifier: ^5.2.1 - version: 5.2.3(eslint-config-prettier@9.1.0)(eslint@9.19.0)(prettier@3.4.2) + version: 5.2.3(eslint-config-prettier@9.1.0(eslint@9.19.0(jiti@1.21.7)))(eslint@9.19.0(jiti@1.21.7))(prettier@3.4.2) eslint-plugin-react: specifier: ^7.37.3 - version: 7.37.4(eslint@9.19.0) + version: 7.37.4(eslint@9.19.0(jiti@1.21.7)) eslint-plugin-react-hooks: specifier: ^5.1.0 - version: 5.1.0(eslint@9.19.0) + version: 5.1.0(eslint@9.19.0(jiti@1.21.7)) eslint-plugin-react-refresh: specifier: ^0.4.16 - version: 0.4.18(eslint@9.19.0) + version: 0.4.18(eslint@9.19.0(jiti@1.21.7)) eslint-plugin-storybook: specifier: ^0.11.2 - version: 0.11.2(eslint@9.19.0)(typescript@5.6.3) + version: 0.11.2(eslint@9.19.0(jiti@1.21.7))(typescript@5.6.3) globals: specifier: ^15.14.0 version: 15.14.0 @@ -269,13 +272,13 @@ importers: version: 5.6.3 typescript-eslint: specifier: ^8.18.2 - version: 8.22.0(eslint@9.19.0)(typescript@5.6.3) + version: 8.22.0(eslint@9.19.0(jiti@1.21.7))(typescript@5.6.3) vite: specifier: ^6.0.5 - version: 6.0.11(@types/node@22.13.0) + version: 6.0.11(@types/node@22.13.0)(jiti@1.21.7)(yaml@2.7.0) vite-plugin-mkcert: specifier: ^1.17.6 - version: 1.17.6(vite@6.0.11) + version: 1.17.6(vite@6.0.11(@types/node@22.13.0)(jiti@1.21.7)(yaml@2.7.0)) packages: @@ -4501,7 +4504,7 @@ snapshots: '@types/tough-cookie': 4.0.5 tough-cookie: 4.1.4 - '@chromatic-com/storybook@3.2.4(react@18.3.1)(storybook@8.5.2)': + '@chromatic-com/storybook@3.2.4(react@18.3.1)(storybook@8.5.2(prettier@3.4.2))': dependencies: chromatic: 11.25.2 filesize: 10.1.6 @@ -4589,9 +4592,9 @@ snapshots: '@esbuild/win32-x64@0.24.2': optional: true - '@eslint-community/eslint-utils@4.4.1(eslint@9.19.0)': + '@eslint-community/eslint-utils@4.4.1(eslint@9.19.0(jiti@1.21.7))': dependencies: - eslint: 9.19.0 + eslint: 9.19.0(jiti@1.21.7) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.1': {} @@ -4642,7 +4645,7 @@ snapshots: '@floating-ui/core': 1.6.9 '@floating-ui/utils': 0.2.9 - '@floating-ui/react-dom@2.1.2(react-dom@18.3.1)(react@18.3.1)': + '@floating-ui/react-dom@2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@floating-ui/dom': 1.6.13 react: 18.3.1 @@ -4701,12 +4704,13 @@ snapshots: wrap-ansi: 8.1.0 wrap-ansi-cjs: wrap-ansi@7.0.0 - '@joshwooding/vite-plugin-react-docgen-typescript@0.4.2(typescript@5.6.3)(vite@6.0.11)': + '@joshwooding/vite-plugin-react-docgen-typescript@0.4.2(typescript@5.6.3)(vite@6.0.11(@types/node@22.13.0)(jiti@1.21.7)(yaml@2.7.0))': dependencies: magic-string: 0.27.0 react-docgen-typescript: 2.2.2(typescript@5.6.3) + vite: 6.0.11(@types/node@22.13.0)(jiti@1.21.7)(yaml@2.7.0) + optionalDependencies: typescript: 5.6.3 - vite: 6.0.11(@types/node@22.13.0) '@jridgewell/gen-mapping@0.3.8': dependencies: @@ -4837,662 +4841,718 @@ snapshots: '@radix-ui/primitive@1.1.1': {} - '@radix-ui/react-accessible-icon@1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)': + '@radix-ui/react-accessible-icon@1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/react-visually-hidden': 1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@types/react': 18.3.18 - '@types/react-dom': 18.3.5(@types/react@18.3.18) + '@radix-ui/react-visually-hidden': 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) - '@radix-ui/react-accordion@1.2.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)': + '@radix-ui/react-accordion@1.2.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-collapsible': 1.1.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-collection': 1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-collapsible': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-collection': 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-direction': 1.1.0(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-id': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@types/react': 18.3.18 - '@types/react-dom': 18.3.5(@types/react@18.3.18) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) - '@radix-ui/react-alert-dialog@1.1.5(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)': + '@radix-ui/react-alert-dialog@1.1.5(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-dialog': 1.1.5(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-dialog': 1.1.5(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-slot': 1.1.1(@types/react@18.3.18)(react@18.3.1) - '@types/react': 18.3.18 - '@types/react-dom': 18.3.5(@types/react@18.3.18) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - - '@radix-ui/react-arrow@1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)': - dependencies: - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + optionalDependencies: '@types/react': 18.3.18 '@types/react-dom': 18.3.5(@types/react@18.3.18) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - '@radix-ui/react-aspect-ratio@1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)': + '@radix-ui/react-arrow@1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + optionalDependencies: '@types/react': 18.3.18 '@types/react-dom': 18.3.5(@types/react@18.3.18) + + '@radix-ui/react-aspect-ratio@1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) - '@radix-ui/react-avatar@1.1.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)': + '@radix-ui/react-avatar@1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@types/react': 18.3.18 - '@types/react-dom': 18.3.5(@types/react@18.3.18) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) - '@radix-ui/react-checkbox@1.1.3(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)': + '@radix-ui/react-checkbox@1.1.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@types/react': 18.3.18 - '@types/react-dom': 18.3.5(@types/react@18.3.18) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) - '@radix-ui/react-collapsible@1.1.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)': + '@radix-ui/react-collapsible@1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-id': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@types/react': 18.3.18 - '@types/react-dom': 18.3.5(@types/react@18.3.18) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) - '@radix-ui/react-collection@1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)': + '@radix-ui/react-collection@1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-slot': 1.1.1(@types/react@18.3.18)(react@18.3.1) - '@types/react': 18.3.18 - '@types/react-dom': 18.3.5(@types/react@18.3.18) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) '@radix-ui/react-compose-refs@1.1.1(@types/react@18.3.18)(react@18.3.1)': dependencies: - '@types/react': 18.3.18 react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.18 - '@radix-ui/react-context-menu@2.2.5(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)': + '@radix-ui/react-context-menu@2.2.5(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-menu': 2.1.5(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-menu': 2.1.5(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@types/react': 18.3.18 - '@types/react-dom': 18.3.5(@types/react@18.3.18) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) '@radix-ui/react-context@1.1.1(@types/react@18.3.18)(react@18.3.1)': dependencies: - '@types/react': 18.3.18 react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.18 - '@radix-ui/react-dialog@1.1.5(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)': + '@radix-ui/react-dialog@1.1.5(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.1.4(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.4(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-id': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-portal': 1.1.3(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-portal': 1.1.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-slot': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@types/react': 18.3.18 - '@types/react-dom': 18.3.5(@types/react@18.3.18) aria-hidden: 1.2.4 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) react-remove-scroll: 2.6.3(@types/react@18.3.18)(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) '@radix-ui/react-direction@1.1.0(@types/react@18.3.18)(react@18.3.1)': dependencies: - '@types/react': 18.3.18 react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.18 - '@radix-ui/react-dismissable-layer@1.1.4(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)': + '@radix-ui/react-dismissable-layer@1.1.4(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@types/react': 18.3.18 - '@types/react-dom': 18.3.5(@types/react@18.3.18) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) - '@radix-ui/react-dropdown-menu@2.1.5(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)': + '@radix-ui/react-dropdown-menu@2.1.5(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-id': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-menu': 2.1.5(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-menu': 2.1.5(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@types/react': 18.3.18 - '@types/react-dom': 18.3.5(@types/react@18.3.18) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) '@radix-ui/react-focus-guards@1.1.1(@types/react@18.3.18)(react@18.3.1)': dependencies: - '@types/react': 18.3.18 react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.18 - '@radix-ui/react-focus-scope@1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)': + '@radix-ui/react-focus-scope@1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@types/react': 18.3.18 - '@types/react-dom': 18.3.5(@types/react@18.3.18) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) - '@radix-ui/react-form@0.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)': + '@radix-ui/react-form@0.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-id': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-label': 2.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@types/react': 18.3.18 - '@types/react-dom': 18.3.5(@types/react@18.3.18) + '@radix-ui/react-label': 2.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) - '@radix-ui/react-hover-card@1.1.5(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)': + '@radix-ui/react-hover-card@1.1.5(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.1.4(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-popper': 1.2.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-portal': 1.1.3(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.4(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-popper': 1.2.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-portal': 1.1.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@types/react': 18.3.18 - '@types/react-dom': 18.3.5(@types/react@18.3.18) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) '@radix-ui/react-id@1.1.0(@types/react@18.3.18)(react@18.3.1)': dependencies: '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@types/react': 18.3.18 react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.18 - '@radix-ui/react-label@2.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)': + '@radix-ui/react-label@2.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@types/react': 18.3.18 - '@types/react-dom': 18.3.5(@types/react@18.3.18) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) - '@radix-ui/react-menu@2.1.5(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)': + '@radix-ui/react-menu@2.1.5(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-collection': 1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-collection': 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-direction': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.1.4(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.4(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-id': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-popper': 1.2.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-portal': 1.1.3(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-roving-focus': 1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-popper': 1.2.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-portal': 1.1.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-roving-focus': 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-slot': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@types/react': 18.3.18 - '@types/react-dom': 18.3.5(@types/react@18.3.18) aria-hidden: 1.2.4 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) react-remove-scroll: 2.6.3(@types/react@18.3.18)(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) - '@radix-ui/react-menubar@1.1.5(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)': + '@radix-ui/react-menubar@1.1.5(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-collection': 1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-collection': 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-direction': 1.1.0(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-id': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-menu': 2.1.5(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-roving-focus': 1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-menu': 2.1.5(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-roving-focus': 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@types/react': 18.3.18 - '@types/react-dom': 18.3.5(@types/react@18.3.18) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) - '@radix-ui/react-navigation-menu@1.2.4(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)': + '@radix-ui/react-navigation-menu@1.2.4(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-collection': 1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-collection': 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-direction': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.1.4(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.4(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-id': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-visually-hidden': 1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@types/react': 18.3.18 - '@types/react-dom': 18.3.5(@types/react@18.3.18) + '@radix-ui/react-visually-hidden': 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) - '@radix-ui/react-popover@1.1.5(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)': + '@radix-ui/react-popover@1.1.5(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.1.4(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.4(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-id': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-popper': 1.2.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-portal': 1.1.3(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-popper': 1.2.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-portal': 1.1.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-slot': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@types/react': 18.3.18 - '@types/react-dom': 18.3.5(@types/react@18.3.18) aria-hidden: 1.2.4 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) react-remove-scroll: 2.6.3(@types/react@18.3.18)(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) - '@radix-ui/react-popper@1.2.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)': + '@radix-ui/react-popper@1.2.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@floating-ui/react-dom': 2.1.2(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-arrow': 1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@floating-ui/react-dom': 2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-arrow': 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-use-rect': 1.1.0(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.18)(react@18.3.1) '@radix-ui/rect': 1.1.0 - '@types/react': 18.3.18 - '@types/react-dom': 18.3.5(@types/react@18.3.18) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) - '@radix-ui/react-portal@1.1.3(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)': + '@radix-ui/react-portal@1.1.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@types/react': 18.3.18 - '@types/react-dom': 18.3.5(@types/react@18.3.18) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) - '@radix-ui/react-presence@1.1.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)': + '@radix-ui/react-presence@1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@types/react': 18.3.18 - '@types/react-dom': 18.3.5(@types/react@18.3.18) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) - '@radix-ui/react-primitive@2.0.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)': + '@radix-ui/react-primitive@2.0.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/react-slot': 1.1.1(@types/react@18.3.18)(react@18.3.1) - '@types/react': 18.3.18 - '@types/react-dom': 18.3.5(@types/react@18.3.18) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) - '@radix-ui/react-progress@1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)': + '@radix-ui/react-progress@1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@types/react': 18.3.18 - '@types/react-dom': 18.3.5(@types/react@18.3.18) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) - '@radix-ui/react-radio-group@1.2.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)': + '@radix-ui/react-radio-group@1.2.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-direction': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-roving-focus': 1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-roving-focus': 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@types/react': 18.3.18 - '@types/react-dom': 18.3.5(@types/react@18.3.18) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) - '@radix-ui/react-roving-focus@1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)': + '@radix-ui/react-roving-focus@1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-collection': 1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-collection': 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-direction': 1.1.0(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-id': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@types/react': 18.3.18 - '@types/react-dom': 18.3.5(@types/react@18.3.18) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) - '@radix-ui/react-scroll-area@1.2.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)': + '@radix-ui/react-scroll-area@1.2.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/number': 1.1.0 '@radix-ui/primitive': 1.1.1 '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-direction': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@types/react': 18.3.18 - '@types/react-dom': 18.3.5(@types/react@18.3.18) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) - '@radix-ui/react-select@2.1.5(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)': + '@radix-ui/react-select@2.1.5(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/number': 1.1.0 '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-collection': 1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-collection': 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-direction': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.1.4(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.4(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-id': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-popper': 1.2.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-portal': 1.1.3(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-popper': 1.2.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-portal': 1.1.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-slot': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-visually-hidden': 1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@types/react': 18.3.18 - '@types/react-dom': 18.3.5(@types/react@18.3.18) + '@radix-ui/react-visually-hidden': 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) aria-hidden: 1.2.4 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) react-remove-scroll: 2.6.3(@types/react@18.3.18)(react@18.3.1) - - '@radix-ui/react-separator@1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)': - dependencies: - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + optionalDependencies: '@types/react': 18.3.18 '@types/react-dom': 18.3.5(@types/react@18.3.18) + + '@radix-ui/react-separator@1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) - '@radix-ui/react-slider@1.2.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)': + '@radix-ui/react-slider@1.2.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/number': 1.1.0 '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-collection': 1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-collection': 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-direction': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@types/react': 18.3.18 - '@types/react-dom': 18.3.5(@types/react@18.3.18) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) '@radix-ui/react-slot@1.1.1(@types/react@18.3.18)(react@18.3.1)': dependencies: '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1) - '@types/react': 18.3.18 react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.18 - '@radix-ui/react-switch@1.1.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)': + '@radix-ui/react-switch@1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@types/react': 18.3.18 - '@types/react-dom': 18.3.5(@types/react@18.3.18) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) - '@radix-ui/react-tabs@1.1.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)': + '@radix-ui/react-tabs@1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-direction': 1.1.0(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-id': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-roving-focus': 1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-roving-focus': 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@types/react': 18.3.18 - '@types/react-dom': 18.3.5(@types/react@18.3.18) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) - '@radix-ui/react-toast@1.2.5(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)': + '@radix-ui/react-toast@1.2.5(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-collection': 1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-collection': 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.1.4(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-portal': 1.1.3(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.4(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-portal': 1.1.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-visually-hidden': 1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@types/react': 18.3.18 - '@types/react-dom': 18.3.5(@types/react@18.3.18) + '@radix-ui/react-visually-hidden': 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) - '@radix-ui/react-toggle-group@1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)': + '@radix-ui/react-toggle-group@1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-direction': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-roving-focus': 1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-toggle': 1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-roving-focus': 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-toggle': 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@types/react': 18.3.18 - '@types/react-dom': 18.3.5(@types/react@18.3.18) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) - '@radix-ui/react-toggle@1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)': + '@radix-ui/react-toggle@1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@types/react': 18.3.18 - '@types/react-dom': 18.3.5(@types/react@18.3.18) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) - '@radix-ui/react-toolbar@1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)': + '@radix-ui/react-toolbar@1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-direction': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-roving-focus': 1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-separator': 1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-toggle-group': 1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@types/react': 18.3.18 - '@types/react-dom': 18.3.5(@types/react@18.3.18) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-roving-focus': 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-separator': 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-toggle-group': 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) - '@radix-ui/react-tooltip@1.1.7(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)': + '@radix-ui/react-tooltip@1.1.7(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.1.4(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.4(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-id': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-popper': 1.2.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-portal': 1.1.3(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-popper': 1.2.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-portal': 1.1.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-slot': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-visually-hidden': 1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@types/react': 18.3.18 - '@types/react-dom': 18.3.5(@types/react@18.3.18) + '@radix-ui/react-visually-hidden': 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) '@radix-ui/react-use-callback-ref@1.1.0(@types/react@18.3.18)(react@18.3.1)': dependencies: - '@types/react': 18.3.18 react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.18 '@radix-ui/react-use-controllable-state@1.1.0(@types/react@18.3.18)(react@18.3.1)': dependencies: '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@types/react': 18.3.18 react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.18 '@radix-ui/react-use-escape-keydown@1.1.0(@types/react@18.3.18)(react@18.3.1)': dependencies: '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@types/react': 18.3.18 react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.18 '@radix-ui/react-use-layout-effect@1.1.0(@types/react@18.3.18)(react@18.3.1)': dependencies: - '@types/react': 18.3.18 react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.18 '@radix-ui/react-use-previous@1.1.0(@types/react@18.3.18)(react@18.3.1)': dependencies: - '@types/react': 18.3.18 react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.18 '@radix-ui/react-use-rect@1.1.0(@types/react@18.3.18)(react@18.3.1)': dependencies: '@radix-ui/rect': 1.1.0 - '@types/react': 18.3.18 react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.18 '@radix-ui/react-use-size@1.1.0(@types/react@18.3.18)(react@18.3.1)': dependencies: '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@types/react': 18.3.18 react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.18 - '@radix-ui/react-visually-hidden@1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)': + '@radix-ui/react-visually-hidden@1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@types/react': 18.3.18 - '@types/react-dom': 18.3.5(@types/react@18.3.18) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) '@radix-ui/rect@1.1.0': {} - '@radix-ui/themes@3.2.0(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)': + '@radix-ui/themes@3.2.0(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/colors': 3.0.0 - '@types/react': 18.3.18 - '@types/react-dom': 18.3.5(@types/react@18.3.18) classnames: 2.5.1 - radix-ui: 1.1.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + radix-ui: 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) react-remove-scroll-bar: 2.3.8(@types/react@18.3.18)(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) '@remirror/core-constants@3.0.0': {} - '@rollup/pluginutils@5.1.4': + '@rollup/pluginutils@5.1.4(rollup@4.32.1)': dependencies: '@types/estree': 1.0.6 estree-walker: 2.0.2 picomatch: 4.0.2 + optionalDependencies: + rollup: 4.32.1 '@rollup/rollup-android-arm-eabi@4.32.1': optional: true @@ -5555,7 +5615,7 @@ snapshots: '@socket.io/component-emitter@3.1.2': {} - '@storybook/addon-actions@8.5.2(storybook@8.5.2)': + '@storybook/addon-actions@8.5.2(storybook@8.5.2(prettier@3.4.2))': dependencies: '@storybook/global': 5.0.0 '@types/uuid': 9.0.8 @@ -5564,26 +5624,26 @@ snapshots: storybook: 8.5.2(prettier@3.4.2) uuid: 9.0.1 - '@storybook/addon-backgrounds@8.5.2(storybook@8.5.2)': + '@storybook/addon-backgrounds@8.5.2(storybook@8.5.2(prettier@3.4.2))': dependencies: '@storybook/global': 5.0.0 memoizerific: 1.11.3 storybook: 8.5.2(prettier@3.4.2) ts-dedent: 2.2.0 - '@storybook/addon-controls@8.5.2(storybook@8.5.2)': + '@storybook/addon-controls@8.5.2(storybook@8.5.2(prettier@3.4.2))': dependencies: '@storybook/global': 5.0.0 dequal: 2.0.3 storybook: 8.5.2(prettier@3.4.2) ts-dedent: 2.2.0 - '@storybook/addon-docs@8.5.2(@types/react@18.3.18)(storybook@8.5.2)': + '@storybook/addon-docs@8.5.2(@types/react@18.3.18)(storybook@8.5.2(prettier@3.4.2))': dependencies: '@mdx-js/react': 3.1.0(@types/react@18.3.18)(react@18.3.1) - '@storybook/blocks': 8.5.2(react-dom@18.3.1)(react@18.3.1)(storybook@8.5.2) - '@storybook/csf-plugin': 8.5.2(storybook@8.5.2) - '@storybook/react-dom-shim': 8.5.2(react-dom@18.3.1)(react@18.3.1)(storybook@8.5.2) + '@storybook/blocks': 8.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.5.2(prettier@3.4.2)) + '@storybook/csf-plugin': 8.5.2(storybook@8.5.2(prettier@3.4.2)) + '@storybook/react-dom-shim': 8.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.5.2(prettier@3.4.2)) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) storybook: 8.5.2(prettier@3.4.2) @@ -5591,79 +5651,80 @@ snapshots: transitivePeerDependencies: - '@types/react' - '@storybook/addon-essentials@8.5.2(@types/react@18.3.18)(storybook@8.5.2)': - dependencies: - '@storybook/addon-actions': 8.5.2(storybook@8.5.2) - '@storybook/addon-backgrounds': 8.5.2(storybook@8.5.2) - '@storybook/addon-controls': 8.5.2(storybook@8.5.2) - '@storybook/addon-docs': 8.5.2(@types/react@18.3.18)(storybook@8.5.2) - '@storybook/addon-highlight': 8.5.2(storybook@8.5.2) - '@storybook/addon-measure': 8.5.2(storybook@8.5.2) - '@storybook/addon-outline': 8.5.2(storybook@8.5.2) - '@storybook/addon-toolbars': 8.5.2(storybook@8.5.2) - '@storybook/addon-viewport': 8.5.2(storybook@8.5.2) + '@storybook/addon-essentials@8.5.2(@types/react@18.3.18)(storybook@8.5.2(prettier@3.4.2))': + dependencies: + '@storybook/addon-actions': 8.5.2(storybook@8.5.2(prettier@3.4.2)) + '@storybook/addon-backgrounds': 8.5.2(storybook@8.5.2(prettier@3.4.2)) + '@storybook/addon-controls': 8.5.2(storybook@8.5.2(prettier@3.4.2)) + '@storybook/addon-docs': 8.5.2(@types/react@18.3.18)(storybook@8.5.2(prettier@3.4.2)) + '@storybook/addon-highlight': 8.5.2(storybook@8.5.2(prettier@3.4.2)) + '@storybook/addon-measure': 8.5.2(storybook@8.5.2(prettier@3.4.2)) + '@storybook/addon-outline': 8.5.2(storybook@8.5.2(prettier@3.4.2)) + '@storybook/addon-toolbars': 8.5.2(storybook@8.5.2(prettier@3.4.2)) + '@storybook/addon-viewport': 8.5.2(storybook@8.5.2(prettier@3.4.2)) storybook: 8.5.2(prettier@3.4.2) ts-dedent: 2.2.0 transitivePeerDependencies: - '@types/react' - '@storybook/addon-highlight@8.5.2(storybook@8.5.2)': + '@storybook/addon-highlight@8.5.2(storybook@8.5.2(prettier@3.4.2))': dependencies: '@storybook/global': 5.0.0 storybook: 8.5.2(prettier@3.4.2) - '@storybook/addon-interactions@8.5.2(storybook@8.5.2)': + '@storybook/addon-interactions@8.5.2(storybook@8.5.2(prettier@3.4.2))': dependencies: '@storybook/global': 5.0.0 - '@storybook/instrumenter': 8.5.2(storybook@8.5.2) - '@storybook/test': 8.5.2(storybook@8.5.2) + '@storybook/instrumenter': 8.5.2(storybook@8.5.2(prettier@3.4.2)) + '@storybook/test': 8.5.2(storybook@8.5.2(prettier@3.4.2)) polished: 4.3.1 storybook: 8.5.2(prettier@3.4.2) ts-dedent: 2.2.0 - '@storybook/addon-measure@8.5.2(storybook@8.5.2)': + '@storybook/addon-measure@8.5.2(storybook@8.5.2(prettier@3.4.2))': dependencies: '@storybook/global': 5.0.0 storybook: 8.5.2(prettier@3.4.2) tiny-invariant: 1.3.3 - '@storybook/addon-onboarding@8.5.2(storybook@8.5.2)': + '@storybook/addon-onboarding@8.5.2(storybook@8.5.2(prettier@3.4.2))': dependencies: storybook: 8.5.2(prettier@3.4.2) - '@storybook/addon-outline@8.5.2(storybook@8.5.2)': + '@storybook/addon-outline@8.5.2(storybook@8.5.2(prettier@3.4.2))': dependencies: '@storybook/global': 5.0.0 storybook: 8.5.2(prettier@3.4.2) ts-dedent: 2.2.0 - '@storybook/addon-toolbars@8.5.2(storybook@8.5.2)': + '@storybook/addon-toolbars@8.5.2(storybook@8.5.2(prettier@3.4.2))': dependencies: storybook: 8.5.2(prettier@3.4.2) - '@storybook/addon-viewport@8.5.2(storybook@8.5.2)': + '@storybook/addon-viewport@8.5.2(storybook@8.5.2(prettier@3.4.2))': dependencies: memoizerific: 1.11.3 storybook: 8.5.2(prettier@3.4.2) - '@storybook/blocks@8.5.2(react-dom@18.3.1)(react@18.3.1)(storybook@8.5.2)': + '@storybook/blocks@8.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.5.2(prettier@3.4.2))': dependencies: '@storybook/csf': 0.1.12 - '@storybook/icons': 1.3.2(react-dom@18.3.1)(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + '@storybook/icons': 1.3.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) storybook: 8.5.2(prettier@3.4.2) ts-dedent: 2.2.0 + optionalDependencies: + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - '@storybook/builder-vite@8.5.2(storybook@8.5.2)(vite@6.0.11)': + '@storybook/builder-vite@8.5.2(storybook@8.5.2(prettier@3.4.2))(vite@6.0.11(@types/node@22.13.0)(jiti@1.21.7)(yaml@2.7.0))': dependencies: - '@storybook/csf-plugin': 8.5.2(storybook@8.5.2) + '@storybook/csf-plugin': 8.5.2(storybook@8.5.2(prettier@3.4.2)) browser-assert: 1.2.1 storybook: 8.5.2(prettier@3.4.2) ts-dedent: 2.2.0 - vite: 6.0.11(@types/node@22.13.0) + vite: 6.0.11(@types/node@22.13.0)(jiti@1.21.7)(yaml@2.7.0) - '@storybook/components@8.5.2(storybook@8.5.2)': + '@storybook/components@8.5.2(storybook@8.5.2(prettier@3.4.2))': dependencies: storybook: 8.5.2(prettier@3.4.2) @@ -5675,18 +5736,19 @@ snapshots: esbuild: 0.24.2 esbuild-register: 3.6.0(esbuild@0.24.2) jsdoc-type-pratt-parser: 4.1.0 - prettier: 3.4.2 process: 0.11.10 recast: 0.23.9 semver: 7.7.0 util: 0.12.5 ws: 8.18.0 + optionalDependencies: + prettier: 3.4.2 transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate - '@storybook/csf-plugin@8.5.2(storybook@8.5.2)': + '@storybook/csf-plugin@8.5.2(storybook@8.5.2(prettier@3.4.2))': dependencies: storybook: 8.5.2(prettier@3.4.2) unplugin: 1.16.1 @@ -5701,38 +5763,37 @@ snapshots: '@storybook/global@5.0.0': {} - '@storybook/icons@1.3.2(react-dom@18.3.1)(react@18.3.1)': + '@storybook/icons@1.3.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@storybook/instrumenter@8.5.2(storybook@8.5.2)': + '@storybook/instrumenter@8.5.2(storybook@8.5.2(prettier@3.4.2))': dependencies: '@storybook/global': 5.0.0 '@vitest/utils': 2.1.8 storybook: 8.5.2(prettier@3.4.2) - '@storybook/manager-api@8.5.2(storybook@8.5.2)': + '@storybook/manager-api@8.5.2(storybook@8.5.2(prettier@3.4.2))': dependencies: storybook: 8.5.2(prettier@3.4.2) - '@storybook/preview-api@8.5.2(storybook@8.5.2)': + '@storybook/preview-api@8.5.2(storybook@8.5.2(prettier@3.4.2))': dependencies: storybook: 8.5.2(prettier@3.4.2) - '@storybook/react-dom-shim@8.5.2(react-dom@18.3.1)(react@18.3.1)(storybook@8.5.2)': + '@storybook/react-dom-shim@8.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.5.2(prettier@3.4.2))': dependencies: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) storybook: 8.5.2(prettier@3.4.2) - '@storybook/react-vite@8.5.2(@storybook/test@8.5.2)(react-dom@18.3.1)(react@18.3.1)(storybook@8.5.2)(typescript@5.6.3)(vite@6.0.11)': + '@storybook/react-vite@8.5.2(@storybook/test@8.5.2(storybook@8.5.2(prettier@3.4.2)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.32.1)(storybook@8.5.2(prettier@3.4.2))(typescript@5.6.3)(vite@6.0.11(@types/node@22.13.0)(jiti@1.21.7)(yaml@2.7.0))': dependencies: - '@joshwooding/vite-plugin-react-docgen-typescript': 0.4.2(typescript@5.6.3)(vite@6.0.11) - '@rollup/pluginutils': 5.1.4 - '@storybook/builder-vite': 8.5.2(storybook@8.5.2)(vite@6.0.11) - '@storybook/react': 8.5.2(@storybook/test@8.5.2)(react-dom@18.3.1)(react@18.3.1)(storybook@8.5.2)(typescript@5.6.3) - '@storybook/test': 8.5.2(storybook@8.5.2) + '@joshwooding/vite-plugin-react-docgen-typescript': 0.4.2(typescript@5.6.3)(vite@6.0.11(@types/node@22.13.0)(jiti@1.21.7)(yaml@2.7.0)) + '@rollup/pluginutils': 5.1.4(rollup@4.32.1) + '@storybook/builder-vite': 8.5.2(storybook@8.5.2(prettier@3.4.2))(vite@6.0.11(@types/node@22.13.0)(jiti@1.21.7)(yaml@2.7.0)) + '@storybook/react': 8.5.2(@storybook/test@8.5.2(storybook@8.5.2(prettier@3.4.2)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.5.2(prettier@3.4.2))(typescript@5.6.3) find-up: 5.0.0 magic-string: 0.30.17 react: 18.3.1 @@ -5741,31 +5802,34 @@ snapshots: resolve: 1.22.10 storybook: 8.5.2(prettier@3.4.2) tsconfig-paths: 4.2.0 - vite: 6.0.11(@types/node@22.13.0) + vite: 6.0.11(@types/node@22.13.0)(jiti@1.21.7)(yaml@2.7.0) + optionalDependencies: + '@storybook/test': 8.5.2(storybook@8.5.2(prettier@3.4.2)) transitivePeerDependencies: - rollup - supports-color - typescript - '@storybook/react@8.5.2(@storybook/test@8.5.2)(react-dom@18.3.1)(react@18.3.1)(storybook@8.5.2)(typescript@5.6.3)': + '@storybook/react@8.5.2(@storybook/test@8.5.2(storybook@8.5.2(prettier@3.4.2)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.5.2(prettier@3.4.2))(typescript@5.6.3)': dependencies: - '@storybook/components': 8.5.2(storybook@8.5.2) + '@storybook/components': 8.5.2(storybook@8.5.2(prettier@3.4.2)) '@storybook/global': 5.0.0 - '@storybook/manager-api': 8.5.2(storybook@8.5.2) - '@storybook/preview-api': 8.5.2(storybook@8.5.2) - '@storybook/react-dom-shim': 8.5.2(react-dom@18.3.1)(react@18.3.1)(storybook@8.5.2) - '@storybook/test': 8.5.2(storybook@8.5.2) - '@storybook/theming': 8.5.2(storybook@8.5.2) + '@storybook/manager-api': 8.5.2(storybook@8.5.2(prettier@3.4.2)) + '@storybook/preview-api': 8.5.2(storybook@8.5.2(prettier@3.4.2)) + '@storybook/react-dom-shim': 8.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.5.2(prettier@3.4.2)) + '@storybook/theming': 8.5.2(storybook@8.5.2(prettier@3.4.2)) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) storybook: 8.5.2(prettier@3.4.2) + optionalDependencies: + '@storybook/test': 8.5.2(storybook@8.5.2(prettier@3.4.2)) typescript: 5.6.3 - '@storybook/test@8.5.2(storybook@8.5.2)': + '@storybook/test@8.5.2(storybook@8.5.2(prettier@3.4.2))': dependencies: '@storybook/csf': 0.1.12 '@storybook/global': 5.0.0 - '@storybook/instrumenter': 8.5.2(storybook@8.5.2) + '@storybook/instrumenter': 8.5.2(storybook@8.5.2(prettier@3.4.2)) '@testing-library/dom': 10.4.0 '@testing-library/jest-dom': 6.5.0 '@testing-library/user-event': 14.5.2(@testing-library/dom@10.4.0) @@ -5773,7 +5837,7 @@ snapshots: '@vitest/spy': 2.0.5 storybook: 8.5.2(prettier@3.4.2) - '@storybook/theming@8.5.2(storybook@8.5.2)': + '@storybook/theming@8.5.2(storybook@8.5.2(prettier@3.4.2))': dependencies: storybook: 8.5.2(prettier@3.4.2) @@ -5789,7 +5853,7 @@ snapshots: '@tanstack/query-devtools@5.65.0': {} - '@tanstack/react-query-devtools@5.66.0(@tanstack/react-query@5.66.0)(react@18.3.1)': + '@tanstack/react-query-devtools@5.66.0(@tanstack/react-query@5.66.0(react@18.3.1))(react@18.3.1)': dependencies: '@tanstack/query-devtools': 5.65.0 '@tanstack/react-query': 5.66.0(react@18.3.1) @@ -5829,120 +5893,120 @@ snapshots: dependencies: '@tiptap/pm': 2.11.5 - '@tiptap/extension-blockquote@2.11.5(@tiptap/core@2.11.5)': + '@tiptap/extension-blockquote@2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))': dependencies: '@tiptap/core': 2.11.5(@tiptap/pm@2.11.5) - '@tiptap/extension-bold@2.11.5(@tiptap/core@2.11.5)': + '@tiptap/extension-bold@2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))': dependencies: '@tiptap/core': 2.11.5(@tiptap/pm@2.11.5) - '@tiptap/extension-bubble-menu@2.11.5(@tiptap/core@2.11.5)(@tiptap/pm@2.11.5)': + '@tiptap/extension-bubble-menu@2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5)': dependencies: '@tiptap/core': 2.11.5(@tiptap/pm@2.11.5) '@tiptap/pm': 2.11.5 tippy.js: 6.3.7 - '@tiptap/extension-bullet-list@2.11.5(@tiptap/core@2.11.5)': + '@tiptap/extension-bullet-list@2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))': dependencies: '@tiptap/core': 2.11.5(@tiptap/pm@2.11.5) - '@tiptap/extension-code-block@2.11.5(@tiptap/core@2.11.5)(@tiptap/pm@2.11.5)': + '@tiptap/extension-code-block@2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5)': dependencies: '@tiptap/core': 2.11.5(@tiptap/pm@2.11.5) '@tiptap/pm': 2.11.5 - '@tiptap/extension-code@2.11.5(@tiptap/core@2.11.5)': + '@tiptap/extension-code@2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))': dependencies: '@tiptap/core': 2.11.5(@tiptap/pm@2.11.5) - '@tiptap/extension-document@2.11.5(@tiptap/core@2.11.5)': + '@tiptap/extension-document@2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))': dependencies: '@tiptap/core': 2.11.5(@tiptap/pm@2.11.5) - '@tiptap/extension-dropcursor@2.11.5(@tiptap/core@2.11.5)(@tiptap/pm@2.11.5)': + '@tiptap/extension-dropcursor@2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5)': dependencies: '@tiptap/core': 2.11.5(@tiptap/pm@2.11.5) '@tiptap/pm': 2.11.5 - '@tiptap/extension-floating-menu@2.11.5(@tiptap/core@2.11.5)(@tiptap/pm@2.11.5)': + '@tiptap/extension-floating-menu@2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5)': dependencies: '@tiptap/core': 2.11.5(@tiptap/pm@2.11.5) '@tiptap/pm': 2.11.5 tippy.js: 6.3.7 - '@tiptap/extension-gapcursor@2.11.5(@tiptap/core@2.11.5)(@tiptap/pm@2.11.5)': + '@tiptap/extension-gapcursor@2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5)': dependencies: '@tiptap/core': 2.11.5(@tiptap/pm@2.11.5) '@tiptap/pm': 2.11.5 - '@tiptap/extension-hard-break@2.11.5(@tiptap/core@2.11.5)': + '@tiptap/extension-hard-break@2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))': dependencies: '@tiptap/core': 2.11.5(@tiptap/pm@2.11.5) - '@tiptap/extension-heading@2.11.5(@tiptap/core@2.11.5)': + '@tiptap/extension-heading@2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))': dependencies: '@tiptap/core': 2.11.5(@tiptap/pm@2.11.5) - '@tiptap/extension-history@2.11.5(@tiptap/core@2.11.5)(@tiptap/pm@2.11.5)': + '@tiptap/extension-history@2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5)': dependencies: '@tiptap/core': 2.11.5(@tiptap/pm@2.11.5) '@tiptap/pm': 2.11.5 - '@tiptap/extension-horizontal-rule@2.11.5(@tiptap/core@2.11.5)(@tiptap/pm@2.11.5)': + '@tiptap/extension-horizontal-rule@2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5)': dependencies: '@tiptap/core': 2.11.5(@tiptap/pm@2.11.5) '@tiptap/pm': 2.11.5 - '@tiptap/extension-image@2.11.5(@tiptap/core@2.11.5)': + '@tiptap/extension-image@2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))': dependencies: '@tiptap/core': 2.11.5(@tiptap/pm@2.11.5) - '@tiptap/extension-italic@2.11.5(@tiptap/core@2.11.5)': + '@tiptap/extension-italic@2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))': dependencies: '@tiptap/core': 2.11.5(@tiptap/pm@2.11.5) - '@tiptap/extension-link@2.11.5(@tiptap/core@2.11.5)(@tiptap/pm@2.11.5)': + '@tiptap/extension-link@2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5)': dependencies: '@tiptap/core': 2.11.5(@tiptap/pm@2.11.5) '@tiptap/pm': 2.11.5 linkifyjs: 4.2.0 - '@tiptap/extension-list-item@2.11.5(@tiptap/core@2.11.5)': + '@tiptap/extension-list-item@2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))': dependencies: '@tiptap/core': 2.11.5(@tiptap/pm@2.11.5) - '@tiptap/extension-ordered-list@2.11.5(@tiptap/core@2.11.5)': + '@tiptap/extension-ordered-list@2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))': dependencies: '@tiptap/core': 2.11.5(@tiptap/pm@2.11.5) - '@tiptap/extension-paragraph@2.11.5(@tiptap/core@2.11.5)': + '@tiptap/extension-paragraph@2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))': dependencies: '@tiptap/core': 2.11.5(@tiptap/pm@2.11.5) - '@tiptap/extension-placeholder@2.11.5(@tiptap/core@2.11.5)(@tiptap/pm@2.11.5)': + '@tiptap/extension-placeholder@2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5)': dependencies: '@tiptap/core': 2.11.5(@tiptap/pm@2.11.5) '@tiptap/pm': 2.11.5 - '@tiptap/extension-strike@2.11.5(@tiptap/core@2.11.5)': + '@tiptap/extension-strike@2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))': dependencies: '@tiptap/core': 2.11.5(@tiptap/pm@2.11.5) - '@tiptap/extension-task-item@2.11.5(@tiptap/core@2.11.5)(@tiptap/pm@2.11.5)': + '@tiptap/extension-task-item@2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5)': dependencies: '@tiptap/core': 2.11.5(@tiptap/pm@2.11.5) '@tiptap/pm': 2.11.5 - '@tiptap/extension-task-list@2.11.5(@tiptap/core@2.11.5)': + '@tiptap/extension-task-list@2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))': dependencies: '@tiptap/core': 2.11.5(@tiptap/pm@2.11.5) - '@tiptap/extension-text-style@2.11.5(@tiptap/core@2.11.5)': + '@tiptap/extension-text-style@2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))': dependencies: '@tiptap/core': 2.11.5(@tiptap/pm@2.11.5) - '@tiptap/extension-text@2.11.5(@tiptap/core@2.11.5)': + '@tiptap/extension-text@2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))': dependencies: '@tiptap/core': 2.11.5(@tiptap/pm@2.11.5) @@ -5967,11 +6031,11 @@ snapshots: prosemirror-transform: 1.10.2 prosemirror-view: 1.37.2 - '@tiptap/react@2.11.5(@tiptap/core@2.11.5)(@tiptap/pm@2.11.5)(react-dom@18.3.1)(react@18.3.1)': + '@tiptap/react@2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@tiptap/core': 2.11.5(@tiptap/pm@2.11.5) - '@tiptap/extension-bubble-menu': 2.11.5(@tiptap/core@2.11.5)(@tiptap/pm@2.11.5) - '@tiptap/extension-floating-menu': 2.11.5(@tiptap/core@2.11.5)(@tiptap/pm@2.11.5) + '@tiptap/extension-bubble-menu': 2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5) + '@tiptap/extension-floating-menu': 2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5) '@tiptap/pm': 2.11.5 '@types/use-sync-external-store': 0.0.6 fast-deep-equal: 3.1.3 @@ -5982,25 +6046,25 @@ snapshots: '@tiptap/starter-kit@2.11.5': dependencies: '@tiptap/core': 2.11.5(@tiptap/pm@2.11.5) - '@tiptap/extension-blockquote': 2.11.5(@tiptap/core@2.11.5) - '@tiptap/extension-bold': 2.11.5(@tiptap/core@2.11.5) - '@tiptap/extension-bullet-list': 2.11.5(@tiptap/core@2.11.5) - '@tiptap/extension-code': 2.11.5(@tiptap/core@2.11.5) - '@tiptap/extension-code-block': 2.11.5(@tiptap/core@2.11.5)(@tiptap/pm@2.11.5) - '@tiptap/extension-document': 2.11.5(@tiptap/core@2.11.5) - '@tiptap/extension-dropcursor': 2.11.5(@tiptap/core@2.11.5)(@tiptap/pm@2.11.5) - '@tiptap/extension-gapcursor': 2.11.5(@tiptap/core@2.11.5)(@tiptap/pm@2.11.5) - '@tiptap/extension-hard-break': 2.11.5(@tiptap/core@2.11.5) - '@tiptap/extension-heading': 2.11.5(@tiptap/core@2.11.5) - '@tiptap/extension-history': 2.11.5(@tiptap/core@2.11.5)(@tiptap/pm@2.11.5) - '@tiptap/extension-horizontal-rule': 2.11.5(@tiptap/core@2.11.5)(@tiptap/pm@2.11.5) - '@tiptap/extension-italic': 2.11.5(@tiptap/core@2.11.5) - '@tiptap/extension-list-item': 2.11.5(@tiptap/core@2.11.5) - '@tiptap/extension-ordered-list': 2.11.5(@tiptap/core@2.11.5) - '@tiptap/extension-paragraph': 2.11.5(@tiptap/core@2.11.5) - '@tiptap/extension-strike': 2.11.5(@tiptap/core@2.11.5) - '@tiptap/extension-text': 2.11.5(@tiptap/core@2.11.5) - '@tiptap/extension-text-style': 2.11.5(@tiptap/core@2.11.5) + '@tiptap/extension-blockquote': 2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5)) + '@tiptap/extension-bold': 2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5)) + '@tiptap/extension-bullet-list': 2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5)) + '@tiptap/extension-code': 2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5)) + '@tiptap/extension-code-block': 2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5) + '@tiptap/extension-document': 2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5)) + '@tiptap/extension-dropcursor': 2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5) + '@tiptap/extension-gapcursor': 2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5) + '@tiptap/extension-hard-break': 2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5)) + '@tiptap/extension-heading': 2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5)) + '@tiptap/extension-history': 2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5) + '@tiptap/extension-horizontal-rule': 2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5) + '@tiptap/extension-italic': 2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5)) + '@tiptap/extension-list-item': 2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5)) + '@tiptap/extension-ordered-list': 2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5)) + '@tiptap/extension-paragraph': 2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5)) + '@tiptap/extension-strike': 2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5)) + '@tiptap/extension-text': 2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5)) + '@tiptap/extension-text-style': 2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5)) '@tiptap/pm': 2.11.5 '@types/aria-query@5.0.4': {} @@ -6081,32 +6145,33 @@ snapshots: '@types/uuid@9.0.8': {} - '@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0)(eslint@9.19.0)(typescript@5.6.3)': + '@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.19.0(jiti@1.21.7))(typescript@5.6.3))(eslint@9.19.0(jiti@1.21.7))(typescript@5.6.3)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 7.18.0(eslint@9.19.0)(typescript@5.6.3) + '@typescript-eslint/parser': 7.18.0(eslint@9.19.0(jiti@1.21.7))(typescript@5.6.3) '@typescript-eslint/scope-manager': 7.18.0 - '@typescript-eslint/type-utils': 7.18.0(eslint@9.19.0)(typescript@5.6.3) - '@typescript-eslint/utils': 7.18.0(eslint@9.19.0)(typescript@5.6.3) + '@typescript-eslint/type-utils': 7.18.0(eslint@9.19.0(jiti@1.21.7))(typescript@5.6.3) + '@typescript-eslint/utils': 7.18.0(eslint@9.19.0(jiti@1.21.7))(typescript@5.6.3) '@typescript-eslint/visitor-keys': 7.18.0 - eslint: 9.19.0 + eslint: 9.19.0(jiti@1.21.7) graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 ts-api-utils: 1.4.3(typescript@5.6.3) + optionalDependencies: typescript: 5.6.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/eslint-plugin@8.22.0(@typescript-eslint/parser@8.22.0)(eslint@9.19.0)(typescript@5.6.3)': + '@typescript-eslint/eslint-plugin@8.22.0(@typescript-eslint/parser@8.22.0(eslint@9.19.0(jiti@1.21.7))(typescript@5.6.3))(eslint@9.19.0(jiti@1.21.7))(typescript@5.6.3)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.22.0(eslint@9.19.0)(typescript@5.6.3) + '@typescript-eslint/parser': 8.22.0(eslint@9.19.0(jiti@1.21.7))(typescript@5.6.3) '@typescript-eslint/scope-manager': 8.22.0 - '@typescript-eslint/type-utils': 8.22.0(eslint@9.19.0)(typescript@5.6.3) - '@typescript-eslint/utils': 8.22.0(eslint@9.19.0)(typescript@5.6.3) + '@typescript-eslint/type-utils': 8.22.0(eslint@9.19.0(jiti@1.21.7))(typescript@5.6.3) + '@typescript-eslint/utils': 8.22.0(eslint@9.19.0(jiti@1.21.7))(typescript@5.6.3) '@typescript-eslint/visitor-keys': 8.22.0 - eslint: 9.19.0 + eslint: 9.19.0(jiti@1.21.7) graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 @@ -6115,26 +6180,27 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@7.18.0(eslint@9.19.0)(typescript@5.6.3)': + '@typescript-eslint/parser@7.18.0(eslint@9.19.0(jiti@1.21.7))(typescript@5.6.3)': dependencies: '@typescript-eslint/scope-manager': 7.18.0 '@typescript-eslint/types': 7.18.0 '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.6.3) '@typescript-eslint/visitor-keys': 7.18.0 debug: 4.4.0 - eslint: 9.19.0 + eslint: 9.19.0(jiti@1.21.7) + optionalDependencies: typescript: 5.6.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.22.0(eslint@9.19.0)(typescript@5.6.3)': + '@typescript-eslint/parser@8.22.0(eslint@9.19.0(jiti@1.21.7))(typescript@5.6.3)': dependencies: '@typescript-eslint/scope-manager': 8.22.0 '@typescript-eslint/types': 8.22.0 '@typescript-eslint/typescript-estree': 8.22.0(typescript@5.6.3) '@typescript-eslint/visitor-keys': 8.22.0 debug: 4.4.0 - eslint: 9.19.0 + eslint: 9.19.0(jiti@1.21.7) typescript: 5.6.3 transitivePeerDependencies: - supports-color @@ -6149,23 +6215,24 @@ snapshots: '@typescript-eslint/types': 8.22.0 '@typescript-eslint/visitor-keys': 8.22.0 - '@typescript-eslint/type-utils@7.18.0(eslint@9.19.0)(typescript@5.6.3)': + '@typescript-eslint/type-utils@7.18.0(eslint@9.19.0(jiti@1.21.7))(typescript@5.6.3)': dependencies: '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.6.3) - '@typescript-eslint/utils': 7.18.0(eslint@9.19.0)(typescript@5.6.3) + '@typescript-eslint/utils': 7.18.0(eslint@9.19.0(jiti@1.21.7))(typescript@5.6.3) debug: 4.4.0 - eslint: 9.19.0 + eslint: 9.19.0(jiti@1.21.7) ts-api-utils: 1.4.3(typescript@5.6.3) + optionalDependencies: typescript: 5.6.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/type-utils@8.22.0(eslint@9.19.0)(typescript@5.6.3)': + '@typescript-eslint/type-utils@8.22.0(eslint@9.19.0(jiti@1.21.7))(typescript@5.6.3)': dependencies: '@typescript-eslint/typescript-estree': 8.22.0(typescript@5.6.3) - '@typescript-eslint/utils': 8.22.0(eslint@9.19.0)(typescript@5.6.3) + '@typescript-eslint/utils': 8.22.0(eslint@9.19.0(jiti@1.21.7))(typescript@5.6.3) debug: 4.4.0 - eslint: 9.19.0 + eslint: 9.19.0(jiti@1.21.7) ts-api-utils: 2.0.0(typescript@5.6.3) typescript: 5.6.3 transitivePeerDependencies: @@ -6185,6 +6252,7 @@ snapshots: minimatch: 9.0.5 semver: 7.7.0 ts-api-utils: 1.4.3(typescript@5.6.3) + optionalDependencies: typescript: 5.6.3 transitivePeerDependencies: - supports-color @@ -6203,24 +6271,24 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@7.18.0(eslint@9.19.0)(typescript@5.6.3)': + '@typescript-eslint/utils@7.18.0(eslint@9.19.0(jiti@1.21.7))(typescript@5.6.3)': dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.19.0) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.19.0(jiti@1.21.7)) '@typescript-eslint/scope-manager': 7.18.0 '@typescript-eslint/types': 7.18.0 '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.6.3) - eslint: 9.19.0 + eslint: 9.19.0(jiti@1.21.7) transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/utils@8.22.0(eslint@9.19.0)(typescript@5.6.3)': + '@typescript-eslint/utils@8.22.0(eslint@9.19.0(jiti@1.21.7))(typescript@5.6.3)': dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.19.0) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.19.0(jiti@1.21.7)) '@typescript-eslint/scope-manager': 8.22.0 '@typescript-eslint/types': 8.22.0 '@typescript-eslint/typescript-estree': 8.22.0(typescript@5.6.3) - eslint: 9.19.0 + eslint: 9.19.0(jiti@1.21.7) typescript: 5.6.3 transitivePeerDependencies: - supports-color @@ -6235,14 +6303,14 @@ snapshots: '@typescript-eslint/types': 8.22.0 eslint-visitor-keys: 4.2.0 - '@vitejs/plugin-react@4.3.4(vite@6.0.11)': + '@vitejs/plugin-react@4.3.4(vite@6.0.11(@types/node@22.13.0)(jiti@1.21.7)(yaml@2.7.0))': dependencies: '@babel/core': 7.26.7 '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.7) '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.7) '@types/babel__core': 7.20.5 react-refresh: 0.14.2 - vite: 6.0.11(@types/node@22.13.0) + vite: 6.0.11(@types/node@22.13.0)(jiti@1.21.7)(yaml@2.7.0) transitivePeerDependencies: - supports-color @@ -6846,38 +6914,38 @@ snapshots: escape-string-regexp@4.0.0: {} - eslint-config-airbnb-base@15.0.0(eslint-plugin-import@2.31.0)(eslint@9.19.0): + eslint-config-airbnb-base@15.0.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.19.0(jiti@1.21.7))(typescript@5.6.3))(eslint@9.19.0(jiti@1.21.7)))(eslint@9.19.0(jiti@1.21.7)): dependencies: confusing-browser-globals: 1.0.11 - eslint: 9.19.0 - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.18.0)(eslint@9.19.0) + eslint: 9.19.0(jiti@1.21.7) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.19.0(jiti@1.21.7))(typescript@5.6.3))(eslint@9.19.0(jiti@1.21.7)) object.assign: 4.1.7 object.entries: 1.1.8 semver: 6.3.1 - eslint-config-airbnb-typescript@18.0.0(@typescript-eslint/eslint-plugin@7.18.0)(@typescript-eslint/parser@7.18.0)(eslint-plugin-import@2.31.0)(eslint@9.19.0): + eslint-config-airbnb-typescript@18.0.0(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.19.0(jiti@1.21.7))(typescript@5.6.3))(eslint@9.19.0(jiti@1.21.7))(typescript@5.6.3))(@typescript-eslint/parser@7.18.0(eslint@9.19.0(jiti@1.21.7))(typescript@5.6.3))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.19.0(jiti@1.21.7))(typescript@5.6.3))(eslint@9.19.0(jiti@1.21.7)))(eslint@9.19.0(jiti@1.21.7)): dependencies: - '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@9.19.0)(typescript@5.6.3) - '@typescript-eslint/parser': 7.18.0(eslint@9.19.0)(typescript@5.6.3) - eslint: 9.19.0 - eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.31.0)(eslint@9.19.0) + '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.19.0(jiti@1.21.7))(typescript@5.6.3))(eslint@9.19.0(jiti@1.21.7))(typescript@5.6.3) + '@typescript-eslint/parser': 7.18.0(eslint@9.19.0(jiti@1.21.7))(typescript@5.6.3) + eslint: 9.19.0(jiti@1.21.7) + eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.19.0(jiti@1.21.7))(typescript@5.6.3))(eslint@9.19.0(jiti@1.21.7)))(eslint@9.19.0(jiti@1.21.7)) transitivePeerDependencies: - eslint-plugin-import - eslint-config-airbnb@19.0.4(eslint-plugin-import@2.31.0)(eslint-plugin-jsx-a11y@6.10.2)(eslint-plugin-react-hooks@5.1.0)(eslint-plugin-react@7.37.4)(eslint@9.19.0): + eslint-config-airbnb@19.0.4(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.19.0(jiti@1.21.7))(typescript@5.6.3))(eslint@9.19.0(jiti@1.21.7)))(eslint-plugin-jsx-a11y@6.10.2(eslint@9.19.0(jiti@1.21.7)))(eslint-plugin-react-hooks@5.1.0(eslint@9.19.0(jiti@1.21.7)))(eslint-plugin-react@7.37.4(eslint@9.19.0(jiti@1.21.7)))(eslint@9.19.0(jiti@1.21.7)): dependencies: - eslint: 9.19.0 - eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.31.0)(eslint@9.19.0) - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.18.0)(eslint@9.19.0) - eslint-plugin-jsx-a11y: 6.10.2(eslint@9.19.0) - eslint-plugin-react: 7.37.4(eslint@9.19.0) - eslint-plugin-react-hooks: 5.1.0(eslint@9.19.0) + eslint: 9.19.0(jiti@1.21.7) + eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.19.0(jiti@1.21.7))(typescript@5.6.3))(eslint@9.19.0(jiti@1.21.7)))(eslint@9.19.0(jiti@1.21.7)) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.19.0(jiti@1.21.7))(typescript@5.6.3))(eslint@9.19.0(jiti@1.21.7)) + eslint-plugin-jsx-a11y: 6.10.2(eslint@9.19.0(jiti@1.21.7)) + eslint-plugin-react: 7.37.4(eslint@9.19.0(jiti@1.21.7)) + eslint-plugin-react-hooks: 5.1.0(eslint@9.19.0(jiti@1.21.7)) object.assign: 4.1.7 object.entries: 1.1.8 - eslint-config-prettier@9.1.0(eslint@9.19.0): + eslint-config-prettier@9.1.0(eslint@9.19.0(jiti@1.21.7)): dependencies: - eslint: 9.19.0 + eslint: 9.19.0(jiti@1.21.7) eslint-import-resolver-node@0.3.9: dependencies: @@ -6887,28 +6955,28 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@7.18.0)(eslint-import-resolver-node@0.3.9)(eslint@9.19.0): + eslint-module-utils@2.12.0(@typescript-eslint/parser@7.18.0(eslint@9.19.0(jiti@1.21.7))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint@9.19.0(jiti@1.21.7)): dependencies: - '@typescript-eslint/parser': 7.18.0(eslint@9.19.0)(typescript@5.6.3) debug: 3.2.7 - eslint: 9.19.0 + optionalDependencies: + '@typescript-eslint/parser': 7.18.0(eslint@9.19.0(jiti@1.21.7))(typescript@5.6.3) + eslint: 9.19.0(jiti@1.21.7) eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color - eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0)(eslint@9.19.0): + eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.19.0(jiti@1.21.7))(typescript@5.6.3))(eslint@9.19.0(jiti@1.21.7)): dependencies: '@rtsao/scc': 1.1.0 - '@typescript-eslint/parser': 7.18.0(eslint@9.19.0)(typescript@5.6.3) array-includes: 3.1.8 array.prototype.findlastindex: 1.2.5 array.prototype.flat: 1.3.3 array.prototype.flatmap: 1.3.3 debug: 3.2.7 doctrine: 2.1.0 - eslint: 9.19.0 + eslint: 9.19.0(jiti@1.21.7) eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@7.18.0)(eslint-import-resolver-node@0.3.9)(eslint@9.19.0) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@7.18.0(eslint@9.19.0(jiti@1.21.7))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint@9.19.0(jiti@1.21.7)) hasown: 2.0.2 is-core-module: 2.16.1 is-glob: 4.0.3 @@ -6919,12 +6987,14 @@ snapshots: semver: 6.3.1 string.prototype.trimend: 1.0.9 tsconfig-paths: 3.15.0 + optionalDependencies: + '@typescript-eslint/parser': 7.18.0(eslint@9.19.0(jiti@1.21.7))(typescript@5.6.3) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - eslint-plugin-jsx-a11y@6.10.2(eslint@9.19.0): + eslint-plugin-jsx-a11y@6.10.2(eslint@9.19.0(jiti@1.21.7)): dependencies: aria-query: 5.3.2 array-includes: 3.1.8 @@ -6934,7 +7004,7 @@ snapshots: axobject-query: 4.1.0 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 - eslint: 9.19.0 + eslint: 9.19.0(jiti@1.21.7) hasown: 2.0.2 jsx-ast-utils: 3.3.5 language-tags: 1.0.9 @@ -6943,23 +7013,24 @@ snapshots: safe-regex-test: 1.1.0 string.prototype.includes: 2.0.1 - eslint-plugin-prettier@5.2.3(eslint-config-prettier@9.1.0)(eslint@9.19.0)(prettier@3.4.2): + eslint-plugin-prettier@5.2.3(eslint-config-prettier@9.1.0(eslint@9.19.0(jiti@1.21.7)))(eslint@9.19.0(jiti@1.21.7))(prettier@3.4.2): dependencies: - eslint: 9.19.0 - eslint-config-prettier: 9.1.0(eslint@9.19.0) + eslint: 9.19.0(jiti@1.21.7) prettier: 3.4.2 prettier-linter-helpers: 1.0.0 synckit: 0.9.2 + optionalDependencies: + eslint-config-prettier: 9.1.0(eslint@9.19.0(jiti@1.21.7)) - eslint-plugin-react-hooks@5.1.0(eslint@9.19.0): + eslint-plugin-react-hooks@5.1.0(eslint@9.19.0(jiti@1.21.7)): dependencies: - eslint: 9.19.0 + eslint: 9.19.0(jiti@1.21.7) - eslint-plugin-react-refresh@0.4.18(eslint@9.19.0): + eslint-plugin-react-refresh@0.4.18(eslint@9.19.0(jiti@1.21.7)): dependencies: - eslint: 9.19.0 + eslint: 9.19.0(jiti@1.21.7) - eslint-plugin-react@7.37.4(eslint@9.19.0): + eslint-plugin-react@7.37.4(eslint@9.19.0(jiti@1.21.7)): dependencies: array-includes: 3.1.8 array.prototype.findlast: 1.2.5 @@ -6967,7 +7038,7 @@ snapshots: array.prototype.tosorted: 1.1.4 doctrine: 2.1.0 es-iterator-helpers: 1.2.1 - eslint: 9.19.0 + eslint: 9.19.0(jiti@1.21.7) estraverse: 5.3.0 hasown: 2.0.2 jsx-ast-utils: 3.3.5 @@ -6981,11 +7052,11 @@ snapshots: string.prototype.matchall: 4.0.12 string.prototype.repeat: 1.0.0 - eslint-plugin-storybook@0.11.2(eslint@9.19.0)(typescript@5.6.3): + eslint-plugin-storybook@0.11.2(eslint@9.19.0(jiti@1.21.7))(typescript@5.6.3): dependencies: '@storybook/csf': 0.1.13 - '@typescript-eslint/utils': 8.22.0(eslint@9.19.0)(typescript@5.6.3) - eslint: 9.19.0 + '@typescript-eslint/utils': 8.22.0(eslint@9.19.0(jiti@1.21.7))(typescript@5.6.3) + eslint: 9.19.0(jiti@1.21.7) ts-dedent: 2.2.0 transitivePeerDependencies: - supports-color @@ -7000,9 +7071,9 @@ snapshots: eslint-visitor-keys@4.2.0: {} - eslint@9.19.0: + eslint@9.19.0(jiti@1.21.7): dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.19.0) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.19.0(jiti@1.21.7)) '@eslint-community/regexpp': 4.12.1 '@eslint/config-array': 0.19.2 '@eslint/core': 0.10.0 @@ -7036,6 +7107,8 @@ snapshots: minimatch: 3.1.2 natural-compare: 1.4.0 optionator: 0.9.4 + optionalDependencies: + jiti: 1.21.7 transitivePeerDependencies: - supports-color @@ -7110,7 +7183,7 @@ snapshots: flatted@3.3.2: {} follow-redirects@1.15.9(debug@4.4.0): - dependencies: + optionalDependencies: debug: 4.4.0 for-each@0.3.4: @@ -7253,12 +7326,13 @@ snapshots: html-react-parser@5.2.2(@types/react@18.3.18)(react@18.3.1): dependencies: - '@types/react': 18.3.18 domhandler: 5.0.3 html-dom-parser: 5.0.13 react: 18.3.1 react-property: 2.0.2 style-to-js: 1.1.16 + optionalDependencies: + '@types/react': 18.3.18 htmlparser2@10.0.0: dependencies: @@ -7606,8 +7680,9 @@ snapshots: picocolors: 1.1.1 strict-event-emitter: 0.5.1 type-fest: 4.33.0 - typescript: 5.6.3 yargs: 17.7.2 + optionalDependencies: + typescript: 5.6.3 transitivePeerDependencies: - '@types/node' @@ -7763,8 +7838,9 @@ snapshots: postcss-load-config@4.0.2(postcss@8.5.1): dependencies: lilconfig: 3.1.3 - postcss: 8.5.1 yaml: 2.7.0 + optionalDependencies: + postcss: 8.5.1 postcss-nested@6.2.0(postcss@8.5.1): dependencies: @@ -7928,62 +8004,63 @@ snapshots: queue-microtask@1.2.3: {} - radix-ui@1.1.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1): + radix-ui@1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-accessible-icon': 1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-accordion': 1.2.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-alert-dialog': 1.1.5(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-aspect-ratio': 1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-avatar': 1.1.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-checkbox': 1.1.3(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-collapsible': 1.1.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-collection': 1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-accessible-icon': 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-accordion': 1.2.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-alert-dialog': 1.1.5(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-aspect-ratio': 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-avatar': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-checkbox': 1.1.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-collapsible': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-collection': 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-context-menu': 2.2.5(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-dialog': 1.1.5(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-context-menu': 2.2.5(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-dialog': 1.1.5(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-direction': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.1.4(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-dropdown-menu': 2.1.5(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.4(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-dropdown-menu': 2.1.5(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-form': 0.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-hover-card': 1.1.5(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-label': 2.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-menu': 2.1.5(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-menubar': 1.1.5(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-navigation-menu': 1.2.4(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-popover': 1.1.5(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-popper': 1.2.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-portal': 1.1.3(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-progress': 1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-radio-group': 1.2.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-roving-focus': 1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-scroll-area': 1.2.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-select': 2.1.5(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-separator': 1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-slider': 1.2.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-form': 0.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-hover-card': 1.1.5(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-label': 2.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-menu': 2.1.5(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-menubar': 1.1.5(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-navigation-menu': 1.2.4(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-popover': 1.1.5(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-popper': 1.2.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-portal': 1.1.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-progress': 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-radio-group': 1.2.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-roving-focus': 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-scroll-area': 1.2.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-select': 2.1.5(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-separator': 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-slider': 1.2.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-slot': 1.1.1(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-switch': 1.1.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-tabs': 1.1.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-toast': 1.2.5(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-toggle': 1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-toggle-group': 1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-toolbar': 1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-tooltip': 1.1.7(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-switch': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-tabs': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-toast': 1.2.5(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-toggle': 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-toggle-group': 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-toolbar': 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-tooltip': 1.1.7(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-visually-hidden': 1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@types/react': 18.3.18 - '@types/react-dom': 18.3.5(@types/react@18.3.18) + '@radix-ui/react-visually-hidden': 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) react-activity-calendar@2.7.8(react@18.3.1): dependencies: @@ -8045,9 +8122,10 @@ snapshots: react-fast-compare: 3.2.2 shallowequal: 1.1.0 - react-intersection-observer@9.15.1(react-dom@18.3.1)(react@18.3.1): + react-intersection-observer@9.15.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: react: 18.3.1 + optionalDependencies: react-dom: 18.3.1(react@18.3.1) react-is@16.13.1: {} @@ -8060,44 +8138,48 @@ snapshots: react-remove-scroll-bar@2.3.8(@types/react@18.3.18)(react@18.3.1): dependencies: - '@types/react': 18.3.18 react: 18.3.1 react-style-singleton: 2.2.3(@types/react@18.3.18)(react@18.3.1) tslib: 2.8.1 + optionalDependencies: + '@types/react': 18.3.18 react-remove-scroll@2.6.3(@types/react@18.3.18)(react@18.3.1): dependencies: - '@types/react': 18.3.18 react: 18.3.1 react-remove-scroll-bar: 2.3.8(@types/react@18.3.18)(react@18.3.1) react-style-singleton: 2.2.3(@types/react@18.3.18)(react@18.3.1) tslib: 2.8.1 use-callback-ref: 1.3.3(@types/react@18.3.18)(react@18.3.1) use-sidecar: 1.1.3(@types/react@18.3.18)(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.18 - react-router-dom@7.1.5(react-dom@18.3.1)(react@18.3.1): + react-router-dom@7.1.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-router: 7.1.5(react-dom@18.3.1)(react@18.3.1) + react-router: 7.1.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react-router@7.1.5(react-dom@18.3.1)(react@18.3.1): + react-router@7.1.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@types/cookie': 0.6.0 cookie: 1.0.2 react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) set-cookie-parser: 2.7.1 turbo-stream: 2.4.0 + optionalDependencies: + react-dom: 18.3.1(react@18.3.1) react-style-singleton@2.2.3(@types/react@18.3.18)(react@18.3.1): dependencies: - '@types/react': 18.3.18 get-nonce: 1.0.1 react: 18.3.1 tslib: 2.8.1 + optionalDependencies: + '@types/react': 18.3.18 - react-toastify@11.0.3(react-dom@18.3.1)(react@18.3.1): + react-toastify@11.0.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: clsx: 2.1.1 react: 18.3.1 @@ -8319,6 +8401,7 @@ snapshots: storybook@8.5.2(prettier@3.4.2): dependencies: '@storybook/core': 8.5.2(prettier@3.4.2) + optionalDependencies: prettier: 3.4.2 transitivePeerDependencies: - bufferutil @@ -8578,12 +8661,12 @@ snapshots: possible-typed-array-names: 1.0.0 reflect.getprototypeof: 1.0.10 - typescript-eslint@8.22.0(eslint@9.19.0)(typescript@5.6.3): + typescript-eslint@8.22.0(eslint@9.19.0(jiti@1.21.7))(typescript@5.6.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.22.0(@typescript-eslint/parser@8.22.0)(eslint@9.19.0)(typescript@5.6.3) - '@typescript-eslint/parser': 8.22.0(eslint@9.19.0)(typescript@5.6.3) - '@typescript-eslint/utils': 8.22.0(eslint@9.19.0)(typescript@5.6.3) - eslint: 9.19.0 + '@typescript-eslint/eslint-plugin': 8.22.0(@typescript-eslint/parser@8.22.0(eslint@9.19.0(jiti@1.21.7))(typescript@5.6.3))(eslint@9.19.0(jiti@1.21.7))(typescript@5.6.3) + '@typescript-eslint/parser': 8.22.0(eslint@9.19.0(jiti@1.21.7))(typescript@5.6.3) + '@typescript-eslint/utils': 8.22.0(eslint@9.19.0(jiti@1.21.7))(typescript@5.6.3) + eslint: 9.19.0(jiti@1.21.7) typescript: 5.6.3 transitivePeerDependencies: - supports-color @@ -8629,16 +8712,18 @@ snapshots: use-callback-ref@1.3.3(@types/react@18.3.18)(react@18.3.1): dependencies: - '@types/react': 18.3.18 react: 18.3.1 tslib: 2.8.1 + optionalDependencies: + '@types/react': 18.3.18 use-sidecar@1.1.3(@types/react@18.3.18)(react@18.3.1): dependencies: - '@types/react': 18.3.18 detect-node-es: 1.1.0 react: 18.3.1 tslib: 2.8.1 + optionalDependencies: + '@types/react': 18.3.18 use-sync-external-store@1.4.0(react@18.3.1): dependencies: @@ -8656,24 +8741,26 @@ snapshots: uuid@9.0.1: {} - vite-plugin-mkcert@1.17.6(vite@6.0.11): + vite-plugin-mkcert@1.17.6(vite@6.0.11(@types/node@22.13.0)(jiti@1.21.7)(yaml@2.7.0)): dependencies: '@octokit/rest': 20.1.1 axios: 1.7.9(debug@4.4.0) debug: 4.4.0 picocolors: 1.1.1 - vite: 6.0.11(@types/node@22.13.0) + vite: 6.0.11(@types/node@22.13.0)(jiti@1.21.7)(yaml@2.7.0) transitivePeerDependencies: - supports-color - vite@6.0.11(@types/node@22.13.0): + vite@6.0.11(@types/node@22.13.0)(jiti@1.21.7)(yaml@2.7.0): dependencies: - '@types/node': 22.13.0 esbuild: 0.24.2 postcss: 8.5.1 rollup: 4.32.1 optionalDependencies: + '@types/node': 22.13.0 fsevents: 2.3.3 + jiti: 1.21.7 + yaml: 2.7.0 w3c-keyname@2.2.8: {} @@ -8773,8 +8860,9 @@ snapshots: yoctocolors-cjs@2.1.2: {} - zustand@5.0.3(@types/react@18.3.18)(immer@10.1.1)(react@18.3.1): - dependencies: + zustand@5.0.3(@types/react@18.3.18)(immer@10.1.1)(react@18.3.1)(use-sync-external-store@1.4.0(react@18.3.1)): + optionalDependencies: '@types/react': 18.3.18 immer: 10.1.1 react: 18.3.1 + use-sync-external-store: 1.4.0(react@18.3.1) diff --git a/src/components/molecules/Dropdown.tsx b/src/components/molecules/Dropdown.tsx index 323af211..5915e18a 100644 --- a/src/components/molecules/Dropdown.tsx +++ b/src/components/molecules/Dropdown.tsx @@ -1,68 +1,33 @@ import { IDropdown } from '@/hooks/useDropdown'; -import clsx from 'clsx'; import { HTMLAttributes } from 'react'; -import FileUploadButton from '@/components/molecules/FileUploadButton'; -import { FileUploadDropdownItem } from '@/components/organisms/chat/FileUploadDropdown'; interface DropdownProps extends Pick, 'style'> { options?: T[]; - focusedIndex?: number; - setFocusedIndex?: (value: number) => void; onClickDropdownItem?: ({ id }: Pick) => void; className?: string; itemClassName?: string; - type: 'status' | 'file'; } const Dropdown = ({ options, - focusedIndex, - setFocusedIndex, onClickDropdownItem, className, itemClassName, style, - type, }: DropdownProps) => { return ( -
+
    - {options?.map((option, index) => ( + {options?.map((option) => (
  • setFocusedIndex && setFocusedIndex(index)} - onMouseLeave={() => setFocusedIndex && setFocusedIndex(-1)} - onClick={() => - onClickDropdownItem && onClickDropdownItem({ id: option.id }) - } + className={itemClassName} + onClick={() => { + if (onClickDropdownItem) onClickDropdownItem({ id: option.id }); + }} > - {type === 'status' && option.label} - {type === 'file' && ( - - - - )} + {option.children}
  • ))}
diff --git a/src/components/molecules/FileUploadButton.tsx b/src/components/molecules/FileUploadButton.tsx index 3a289b9b..76886764 100644 --- a/src/components/molecules/FileUploadButton.tsx +++ b/src/components/molecules/FileUploadButton.tsx @@ -1,26 +1,49 @@ -import { ChangeEvent, cloneElement, ReactElement, useId } from 'react'; +import { useFileContext } from '@/context/useFileContext'; +import { optimizeImage } from '@/utils/optimizeImage'; +import { + ButtonHTMLAttributes, + ChangeEvent, + InputHTMLAttributes, + ReactElement, + useId, +} from 'react'; -interface Props { - onChange?: (e: ChangeEvent) => void; - accept?: string; - className?: string; - children: ReactElement; +interface Props + extends Omit, 'onChange'>, + Pick, 'accept' | 'onChange'> { + children: ReactElement; } -const FileUploadButton = ({ onChange, accept, children, className }: Props) => { +const FileUploadButton = ({ accept, children, className, onChange }: Props) => { const inputId = useId(); - const cloneChildren = cloneElement(children, { htmlFor: inputId }); + const { setFile } = useFileContext(); + + const handleChange = async (e: ChangeEvent) => { + const file = e.target.files?.[0]; + if (file) { + if (file.type.match(/image\/*/)) { + const optimizedImage = await optimizeImage(file); + setFile(optimizedImage); + } else { + setFile(file); + } + } + if (onChange) onChange(e); + }; + return ( -
+
+ + ); }; diff --git a/src/components/molecules/TabButton.tsx b/src/components/molecules/TabButton.tsx index e88b3a0a..9ae22c50 100644 --- a/src/components/molecules/TabButton.tsx +++ b/src/components/molecules/TabButton.tsx @@ -19,7 +19,7 @@ const TabButton = ({ variants='outline' className={cn( isActive ? 'bg-white font-medium' : 'bg-none text-darkgray font-normal', - '!w-full' + '!w-full my-1' )} {...rest} > diff --git a/src/components/molecules/ToggleButton.tsx b/src/components/molecules/ToggleButton.tsx new file mode 100644 index 00000000..3ae60bf0 --- /dev/null +++ b/src/components/molecules/ToggleButton.tsx @@ -0,0 +1,11 @@ +import { HTMLAttributes } from 'react'; + +interface SearchToggleProps + extends React.PropsWithChildren, + HTMLAttributes {} + +const ToggleButton = ({ children, ...props }: SearchToggleProps) => { + return ; +}; + +export default ToggleButton; diff --git a/src/components/molecules/chat/ChatHeaderInfo.tsx b/src/components/molecules/chat/ChatHeaderInfo.tsx index 47429cec..07b66445 100644 --- a/src/components/molecules/chat/ChatHeaderInfo.tsx +++ b/src/components/molecules/chat/ChatHeaderInfo.tsx @@ -1,15 +1,35 @@ +import Icon from '@/components/atoms/Icon'; import Title from '@/components/atoms/Title'; +import ToggleButton from '@/components/molecules/ToggleButton'; import SearchMessage from '@/components/organisms/chat/SearchMessage'; import { useChannel } from '@/hooks/chat/useChannel'; import { useChatStore } from '@/store/chatStore'; import { Channel } from '@/types/channel.type'; -import { useEffect } from 'react'; +import { useEffect, useState } from 'react'; import { useShallow } from 'zustand/shallow'; interface ChatHeaderInfoProps { currentChannelId: Channel['channelId']; } +const ChannelInfo = ({ channel }: { channel: Channel }) => { + return ( +
+ + {channel.title} + +
+ {channel.users.length}명의 맴버가 있습니다. +
+
+ ); +}; + const ChatHeaderInfo = ({ currentChannelId }: ChatHeaderInfoProps) => { const { setState, channels } = useChatStore( useShallow((state) => ({ @@ -18,6 +38,7 @@ const ChatHeaderInfo = ({ currentChannelId }: ChatHeaderInfoProps) => { })) ); const { channel } = useChannel(currentChannelId); + const [isSearchMode, setIsSearchMode] = useState(false); useEffect(() => { setState({ @@ -30,22 +51,31 @@ const ChatHeaderInfo = ({ currentChannelId }: ChatHeaderInfoProps) => { return (
-
- - {channel.title} - -
- {channel.users.length}명의 맴버가 있습니다. + {isSearchMode ? ( +
+ setIsSearchMode(!isSearchMode)} + className='w-[30px] h-[30px] text-darkgray' + > + + +
-
-
- -
+ ) : ( +
+ + setIsSearchMode(!isSearchMode)} + className='w-[24px] h-[24px] text-[#CCCCCC]' + > + + +
+ )}
); }; diff --git a/src/components/molecules/chat/ChatInput.tsx b/src/components/molecules/chat/ChatInput.tsx index df3cf8a0..75cd8a2e 100644 --- a/src/components/molecules/chat/ChatInput.tsx +++ b/src/components/molecules/chat/ChatInput.tsx @@ -2,56 +2,41 @@ import Avatar from '@/components/atoms/Avatar'; import Button from '@/components/atoms/Button'; import Icon from '@/components/atoms/Icon'; import Input from '@/components/atoms/Input'; -import { ChangeEvent, FormEvent, useState } from 'react'; +import { FormEvent, useMemo, useState } from 'react'; import { useChatStore } from '@/store/chatStore'; import useAuthStore from '@/store/authStore'; -import FileUploadDropdown, { - FileUploadDropdownItem, -} from '@/components/organisms/chat/FileUploadDropdown'; -import { FileUploader, useFileUpload } from '@/hooks/useFileUpload'; +import FileUploadDropdown from '@/components/organisms/chat/FileUploadDropdown'; import FilePreview from '@/components/organisms/chat/FilePreview'; +import { FileContext, useFileContext } from '@/context/useFileContext'; -interface ChatInputProps { +const ChatForm = ({ + currentChannelId, + senderId, +}: { currentChannelId: number; -} - -const ChatInput = ({ currentChannelId }: ChatInputProps) => { - const [text, setText] = useState(''); + senderId: number; +}) => { const sendMessage = useChatStore((state) => state.sendMessage); - const userInfo = useAuthStore.getState().userInfo; - const imageUploader = useFileUpload( - 'image/png, image/jpg, image/jpeg, image/gif' - ); - - const handleInput = (e: ChangeEvent) => { - setText(e.target.value); - }; - - const handleSubmitFile = (fileUploader: FileUploader) => { - if (!fileUploader.file) return; - // let type: string; - // switch(fileUploader.accept) { - // case 'image/*': + const { file, setFile } = useFileContext(); + const [text, setText] = useState(''); - // } + const submitFile = async (file: File) => { sendMessage({ type: 'image', - content: fileUploader.file, + content: file, channelId: currentChannelId, - userId: userInfo.userId, + userId: senderId, }); - fileUploader.unloadFile(); + setFile(null); }; - const handleSubmitText = () => { - if (!text.trim()) return; - + const submitText = (text: string) => { sendMessage({ type: 'text', content: text, channelId: currentChannelId, - userId: userInfo.userId, + userId: senderId, }); setText(''); @@ -60,49 +45,54 @@ const ChatInput = ({ currentChannelId }: ChatInputProps) => { const handleSubmit = (e: FormEvent) => { e.preventDefault(); - handleSubmitFile(imageUploader); - handleSubmitText(); + if (file) submitFile(file); + if (text.trim()) submitText(text); }; - const options: FileUploadDropdownItem[] = [ - { - id: 1, - label: '이미지 업로드', - icon: , - fileUploader: imageUploader, - }, - ]; + return ( +
+ setText(e.target.value)} + value={text} + /> + +
+ ); +}; + +const ChatInput = ({ currentChannelId }: { currentChannelId: number }) => { + const userInfo = useAuthStore.getState().userInfo; + const [file, setFile] = useState(null); return ( -
- -
- -
- ({ file, setFile }), [file])}> +
+ +
+ + - - - + +
-
+ ); }; diff --git a/src/components/molecules/feed/FeedContentsThumbnail.tsx b/src/components/molecules/feed/FeedContentsThumbnail.tsx index e5ee4f24..085ad5d6 100644 --- a/src/components/molecules/feed/FeedContentsThumbnail.tsx +++ b/src/components/molecules/feed/FeedContentsThumbnail.tsx @@ -9,15 +9,18 @@ const FeedContentsThumbnail = ({ thumbnailUrl, alt = '', }: ContentsThumbnailProps) => { + if (!thumbnailUrl) return null; + return ( -
- {thumbnailUrl ? ( +
+
{alt} - ) : null} +
); }; diff --git a/src/components/molecules/mypage/StatusDropdown.tsx b/src/components/molecules/mypage/StatusDropdown.tsx index af833248..24f5812d 100644 --- a/src/components/molecules/mypage/StatusDropdown.tsx +++ b/src/components/molecules/mypage/StatusDropdown.tsx @@ -11,16 +11,22 @@ import { useShallow } from 'zustand/shallow'; export interface StatusOption extends IDropdown { statusId: string; + label: string; } const StatusDropdown = () => { - const options: StatusOption[] = STATUS_EMOJI; + const options: StatusOption[] = STATUS_EMOJI.map((el) => ({ + id: el.id, + statusId: el.statusId, + label: el.label, + children:
{el.label}
, + })); const { openDropdown, onClickOption, selectedOption, - setSelectedOption, + selectOption, toggleDropdown, } = useDropdown({ data: options, initialValue: options[0] }); @@ -30,8 +36,8 @@ const StatusDropdown = () => { useEffect(() => { if (settingsForm.status) { - setSelectedOption( - options.find((el) => el.label.includes(settingsForm.status))! + selectOption( + options.find((option) => option.label.includes(settingsForm.status))! ); } }, [settingsForm]); @@ -63,9 +69,10 @@ const StatusDropdown = () => { {openDropdown && ( )}
diff --git a/src/components/molecules/search/SearchResults.tsx b/src/components/molecules/search/SearchResults.tsx index db99cf3b..7bc1a52a 100644 --- a/src/components/molecules/search/SearchResults.tsx +++ b/src/components/molecules/search/SearchResults.tsx @@ -1,7 +1,8 @@ import MoreButton from '@/components/molecules/MoreButton'; import ShortFeed from '@/components/molecules/search/ShortFeed'; import ShortProject from '@/components/molecules/search/ShortProject'; -import { useSearchContext } from '@/hooks/context/useSearchContext'; +import { useSearchContext } from '@/context/useSearchContext'; +import { useSearchModal } from '@/store/modals/searchModalstore'; import { ProjectResult, FeedResult } from '@/types/search.type'; // Types @@ -99,6 +100,7 @@ const SearchResultItem = ({ type, }: SearchResultItemProps) => { const { keyword, isLoading, onNavigate } = useSearchContext(); + const { setKeyword: setSearchKeyword } = useSearchModal(); const handleClickMore = () => { onNavigate(`/search?q=${keyword}&type=page`); @@ -108,6 +110,7 @@ const SearchResultItem = ({ const handleClickItem = (id: number) => { const basePath = type === 'feed' ? '/feed' : '/projects'; onNavigate(`${basePath}/${id}?from=search`); + setSearchKeyword(keyword); }; if (!items?.length) return ; diff --git a/src/components/organisms/ConnectionHubDetail.tsx b/src/components/organisms/ConnectionHubDetail.tsx index 3e8d3339..3c509359 100644 --- a/src/components/organisms/ConnectionHubDetail.tsx +++ b/src/components/organisms/ConnectionHubDetail.tsx @@ -4,8 +4,8 @@ import { useProjectStore } from '@/store/hubDetailStore'; import { useLocation, useParams } from 'react-router-dom'; import { useEffect } from 'react'; import HubDetail from '@/components/organisms/hub/HubDetail'; -import { useSearchModal } from '@/store/modals/searchModalstore'; import MetaTag from '@/utils/MetaTags'; +import { useSearchModal } from '@/store/modals/searchModalstore'; const ConnectionHubDetail = () => { const { projectId } = useParams<{ projectId: string }>(); @@ -14,11 +14,11 @@ const ConnectionHubDetail = () => { isLoading: ProjectLoading, isError, } = useFetchHub(Number(projectId)); + const { keyword } = useSearchModal(); // 검색 관련 코드 const location = useLocation(); const query = new URLSearchParams(location.search); - const { keyword: searchKeyword } = useSearchModal(); useEffect(() => { if (query.get('from') === 'search') { @@ -26,7 +26,7 @@ const ConnectionHubDetail = () => { const currentUrl = window.location.href; const newUrl = currentUrl.includes('q=') ? currentUrl - : `${currentUrl}?q=${searchKeyword}`; + : `${currentUrl}?q=${keyword}`; window.history.pushState(null, '', newUrl); }; diff --git a/src/components/organisms/chat/ChatHeader.tsx b/src/components/organisms/chat/ChatHeader.tsx index 7f4ddb25..984e122a 100644 --- a/src/components/organisms/chat/ChatHeader.tsx +++ b/src/components/organisms/chat/ChatHeader.tsx @@ -9,7 +9,7 @@ interface ChatHeaderProps { const ChatHeader = ({ currentChannelId }: ChatHeaderProps) => { if (!currentChannelId) return ; return ( -
+
}> diff --git a/src/components/organisms/chat/FilePreview.tsx b/src/components/organisms/chat/FilePreview.tsx index 9fdb6a0c..364c37e5 100644 --- a/src/components/organisms/chat/FilePreview.tsx +++ b/src/components/organisms/chat/FilePreview.tsx @@ -1,31 +1,27 @@ import Icon from '@/components/atoms/Icon'; -import { FileUploader } from '@/hooks/useFileUpload'; +import { useFileContext } from '@/context/useFileContext'; -interface FilePreviewProps { - fileUploader: FileUploader; -} +const FilePreview = () => { + const { file, setFile } = useFileContext(); -const FilePreview = ({ - fileUploader: { fileUrl, unloadFile }, -}: FilePreviewProps) => { + if (!file) return null; + const fileUrl = URL.createObjectURL(file); return (
- {fileUrl && ( -
- - preview -
- )} +
+ + preview +
); }; diff --git a/src/components/organisms/chat/FileUploadDropdown.tsx b/src/components/organisms/chat/FileUploadDropdown.tsx index 88826f25..a92624d6 100644 --- a/src/components/organisms/chat/FileUploadDropdown.tsx +++ b/src/components/organisms/chat/FileUploadDropdown.tsx @@ -1,47 +1,69 @@ import Icon from '@/components/atoms/Icon'; import Dropdown from '@/components/molecules/Dropdown'; -import { IDropdown, useDropdown } from '@/hooks/useDropdown'; -import { FileUploader } from '@/hooks/useFileUpload'; -import { ReactNode } from 'react'; - -export interface FileUploadDropdownItem extends IDropdown { - icon: ReactNode; - fileUploader: FileUploader; -} - -interface FileUploadDropdownProps { - options: FileUploadDropdownItem[]; -} - -const FileUploadDropdown = ({ options }: FileUploadDropdownProps) => { - const { toggleDropdown, openDropdown, setSelectedOption } = - useDropdown({ - data: options, - initialValue: null, - }); +import FileUploadButton from '@/components/molecules/FileUploadButton'; +import { IDropdown } from '@/hooks/useDropdown'; +import { useMemo, useState } from 'react'; + +const DropdownToggle = ({ toggleDropdown }: { toggleDropdown: () => void }) => { + return ( + + ); +}; + +const FileUploadDropdown = () => { + const [openDropdown, setOpenDropdown] = useState(false); + + const handleChange = () => { + setOpenDropdown(false); + }; + + const toggleDropdown = () => { + setOpenDropdown((prev) => !prev); + }; + + const options: IDropdown[] = useMemo( + () => [ + { + id: 1, + children: ( + +
+
+ +
+
이미지 업로드
+
+
+ ), + }, + ], + [] + ); return (
{openDropdown && ( - setSelectedOption( - options.find((option) => option.id === id) ?? null - ) - } className='absolute right-0 bottom-[38px] w-max bg-[#a8a8a8] p-[10px] rounded-sm' itemClassName='text-white cursor-pointer' /> )} - +
); }; diff --git a/src/components/organisms/chat/Message.tsx b/src/components/organisms/chat/Message.tsx index eb031c70..6233f297 100644 --- a/src/components/organisms/chat/Message.tsx +++ b/src/components/organisms/chat/Message.tsx @@ -34,7 +34,7 @@ const Message = ({ className={cn( 'flex gap-[10px]', isMyMessage && 'flex-row-reverse ml-auto', - 'max-w-[50%]', + 'lg:max-w-[50%] max-w-[100%]', sameBefore ? 'mt-[10px]' : 'mt-[24px]' )} > diff --git a/src/components/organisms/chat/SearchMessage.tsx b/src/components/organisms/chat/SearchMessage.tsx index 5d0e941d..b4f91a09 100644 --- a/src/components/organisms/chat/SearchMessage.tsx +++ b/src/components/organisms/chat/SearchMessage.tsx @@ -38,27 +38,29 @@ const SearchMessage = ({ currentChannelId }: SearchMessageProps) => { }; return ( -
- - - +
+
+ + + +
); }; diff --git a/src/components/organisms/feed/FeedItem.tsx b/src/components/organisms/feed/FeedItem.tsx index e33a8820..4b28cd87 100644 --- a/src/components/organisms/feed/FeedItem.tsx +++ b/src/components/organisms/feed/FeedItem.tsx @@ -28,11 +28,7 @@ const FeedItem = ({ onClick={navigateToDetail} > - {thumnailUrl && ( -
- -
- )} +
); }; diff --git a/src/components/organisms/modals/SearchModal.tsx b/src/components/organisms/modals/SearchModal.tsx index 5143ee52..8d741a8f 100644 --- a/src/components/organisms/modals/SearchModal.tsx +++ b/src/components/organisms/modals/SearchModal.tsx @@ -7,10 +7,11 @@ import { useSearchByModal } from '@/hooks/queries/search.query'; import HorizontalDivider from '@/components/atoms/HorizontalDivider'; import Tabs from '@/components/organisms/Tabs'; import VerticalDivider from '@/components/atoms/VerticalDivider'; -import { useMemo, useState } from 'react'; +import { useMemo } from 'react'; import SearchInput from '@/components/molecules/search/SearchInput'; -import { SearchContext } from '@/hooks/context/useSearchContext'; +import { SearchContext } from '@/context/useSearchContext'; import SearchResultItem from '@/components/molecules/search/SearchResults'; +import { useSearchModal } from '@/store/modals/searchModalstore'; const CATEGORY = { 전체: 'all', @@ -38,8 +39,14 @@ const SearchTabContent = ({ keyword, onClose }: SearchTabContentProps) => { keyword ); - const feeds = { ...data?.feedResult }; - const hubs = { ...data?.projectResult }; + const feeds = { + items: data?.feedResult.feeds, + hasMore: data?.feedResult.hasMore, + }; + const hubs = { + items: data?.projectResult.projects, + hasMore: data?.projectResult.hasMore, + }; const handleNavigate = (path: string) => { navigate(path); @@ -111,15 +118,21 @@ const SearchTabContent = ({ keyword, onClose }: SearchTabContentProps) => { }; const SearchModal = ({ onClose }: ModalProps) => { - const [keyword, setKeyword] = useState(''); + const navigate = useNavigate(); + const { keyword, setKeyword } = useSearchModal(); const debouncedKeyword = useDebounce(keyword, 300); const handleKeywordChange = (e: React.ChangeEvent) => { setKeyword(e.target.value); }; + const handleCloseModal = () => { + onClose(); + navigate(window.location.pathname); + }; + return ( - +
diff --git a/src/components/organisms/sides/SideMenuProfile.tsx b/src/components/organisms/sides/SideMenuProfile.tsx index a59428f4..871d3f1c 100644 --- a/src/components/organisms/sides/SideMenuProfile.tsx +++ b/src/components/organisms/sides/SideMenuProfile.tsx @@ -18,6 +18,11 @@ const SideMenuProfile = () => { const [showLogin, setShowLogin] = useState(false); + const handleLogout = () => { + logout(); + navigate('/'); + }; + return (
{ icon: , }, { - onClick: () => logout(), + onClick: () => handleLogout(), text: '로그아웃', icon: , }, diff --git a/src/components/pages/FeedDetailPage.tsx b/src/components/pages/FeedDetailPage.tsx index ecdf2987..f94bd519 100644 --- a/src/components/pages/FeedDetailPage.tsx +++ b/src/components/pages/FeedDetailPage.tsx @@ -25,7 +25,7 @@ const FeedDetailPage = () => { // 검색 관련 코드 const location = useLocation(); const query = new URLSearchParams(location.search); - const { keyword: searchKeyword } = useSearchModal(); + const { keyword } = useSearchModal(); useEffect(() => { if (query.get('from') === 'search') { @@ -33,7 +33,7 @@ const FeedDetailPage = () => { const currentUrl = window.location.href; const newUrl = currentUrl.includes('q=') ? currentUrl - : `${currentUrl}?q=${searchKeyword}`; + : `${currentUrl}?q=${keyword}`; window.history.pushState(null, '', newUrl); }; diff --git a/src/components/pages/LoginPage.tsx b/src/components/pages/LoginPage.tsx index abe2e01e..43fd3734 100644 --- a/src/components/pages/LoginPage.tsx +++ b/src/components/pages/LoginPage.tsx @@ -1,9 +1,9 @@ import LoginButton from '@/components/atoms/LoginButton'; import DefaultLogo from '@/assets/logos/DefaultLogo.svg'; -// import { useNavigate } from 'react-router-dom'; +import { useNavigate } from 'react-router-dom'; const LoginPage = () => { - // const navigate = useNavigate(); + const navigate = useNavigate(); const handleGoogleLogin = () => { window.location.href = `${import.meta.env.VITE_BASE_SERVER_URL}/auth/google`; }; @@ -12,9 +12,8 @@ const LoginPage = () => { window.location.href = `${import.meta.env.VITE_BASE_SERVER_URL}/auth/github`; }; - // const handlePadLogin = () => { - // navigate('/login/pad', { state: { prevUrl: document.referrer } }); - // }; + const handlePadLogin = () => navigate('/login/pad'); + return (
@@ -30,7 +29,13 @@ const LoginPage = () => { label='Google 시작하기' onClick={handleGoogleLogin} /> - {/* */} + {import.meta.env.DEV && ( + + )}
diff --git a/src/components/pages/PadLoginPage.tsx b/src/components/pages/PadLoginPage.tsx index b2ed1a4e..117d8466 100644 --- a/src/components/pages/PadLoginPage.tsx +++ b/src/components/pages/PadLoginPage.tsx @@ -3,21 +3,20 @@ import Button from '@/components/atoms/Button'; import Input from '@/components/atoms/Input'; import useAuthStore from '@/store/authStore'; import { FormEvent, useState } from 'react'; -import { Link, useLocation } from 'react-router-dom'; +import { Link, useNavigate } from 'react-router-dom'; const PadLoginPage = () => { + const navigate = useNavigate(); const [email, setEmail] = useState(''); const [password, setPassword] = useState(''); - const location = useLocation(); const setLogin = useAuthStore((state) => state.login); - const redirectUrl = location.state?.prevUrl; const handleLogin = (e: FormEvent) => { e.preventDefault(); login({ email, password }).then(({ user, accessToken }) => { setLogin(user, accessToken); alert('로그인 완료'); - window.location.href = redirectUrl; + navigate('/'); }); }; diff --git a/src/components/templates/ChatTemplate.tsx b/src/components/templates/ChatTemplate.tsx index d16fe05f..1d47e96a 100644 --- a/src/components/templates/ChatTemplate.tsx +++ b/src/components/templates/ChatTemplate.tsx @@ -2,8 +2,8 @@ import ChatRoom from '@/components/organisms/chat/ChatRoom'; const ChatTemplate = () => { return ( -
-
+
+
diff --git a/src/components/templates/MyPage/FeedTemplate.tsx b/src/components/templates/MyPage/FeedTemplate.tsx index 160df7b0..9b1eef26 100644 --- a/src/components/templates/MyPage/FeedTemplate.tsx +++ b/src/components/templates/MyPage/FeedTemplate.tsx @@ -1,18 +1,56 @@ import DateText from '@/components/atoms/DateText'; import { useInView } from 'react-intersection-observer'; -import { useEffect } from 'react'; +import { Suspense, useEffect } from 'react'; import { Link } from 'react-router-dom'; import { TagItemKey } from '@/constants/tagItem'; -import { FeedResponse } from '@/apis/mypage'; import useMyFeed from '@/hooks/mypage/useMyFeed.business'; import { showDate } from '@/utils/showDate'; import FeedItem from '@/components/organisms/feed/FeedItem'; import { FeedFooter } from '@/components/organisms/feed/FeedFooter'; +import { ErrorBoundary } from 'react-error-boundary'; +import { QueryErrorResetBoundary } from '@tanstack/react-query'; -const FeedTemplate = () => { +const FeedLoading = () => { + return ( +
피드 가져오는 중..
+ ); +}; + +const FeedError = () => { + return ( +
+
+ 에러가 발생했습니다. +
+
+ ); +}; + +const fallbackRender = ({ + resetErrorBoundary, +}: { + resetErrorBoundary: () => void; +}) => { + return ( + <> + + + + ); +}; + +const FeedContents = () => { const { ref, inView } = useInView(); - const { data, fetchNextPage, hasNextPage, isFetching, isLoading, error } = - useMyFeed(); + const { data, fetchNextPage, hasNextPage, isFetching, error } = useMyFeed(); + const feeds = data?.pages.flatMap((page) => page.feeds); + + useEffect(() => { + if (error) { + throw error; + } + }, [error]); useEffect(() => { if (inView && hasNextPage && !isFetching) { @@ -20,51 +58,60 @@ const FeedTemplate = () => { } }, [inView, hasNextPage, isFetching, fetchNextPage]); + if (data === undefined || data?.pages[0].feeds.length === 0) { + return
피드가 존재하지 않습니다.
; + } + return ( -
- {isLoading && ( -
- {isLoading && '피드 가져오는 중..'} - {error && 에러가 발생했습니다.} -
- )} - {!isLoading && data === undefined && ( -
피드가 않습니다.
- )} - {data?.pages.map((page: FeedResponse) => { + <> + {feeds.map((feed) => { let lastDate = ''; - return page.feeds.map((feed) => { - const [show, date] = showDate(feed.createdAt, lastDate); - lastDate = date as string; - return ( - - {show && ( - - )} -
-
-
- - -
+ const [show, date] = showDate(feed.createdAt, lastDate); + lastDate = date; + return ( + + {show && ( + + )} +
+
+
+ +
- - ); - }); +
+ + ); })}
+ + ); +}; + +const FeedTemplate = () => { + return ( +
+ }> + + {({ reset }) => ( + + + + )} + +
); }; diff --git a/src/constants/OptimizeImage.ts b/src/constants/OptimizeImage.ts deleted file mode 100644 index 2673eaf1..00000000 --- a/src/constants/OptimizeImage.ts +++ /dev/null @@ -1,47 +0,0 @@ -export const optimizeImage = (file: File): Promise => { - return new Promise((resolve, reject) => { - const reader = new FileReader(); - reader.readAsDataURL(file); - - reader.onload = (event) => { - const img = new Image(); - img.src = event.target?.result as string; - - img.onload = () => { - const canvas = document.createElement('canvas'); - const ctx = canvas.getContext('2d'); - if (!ctx) return reject('Canvas context를 가져올 수 없음'); - - const MAX_WIDTH = 760; - let width = img.width; - let height = img.height; - - if (width > MAX_WIDTH) { - height *= MAX_WIDTH / width; - width = MAX_WIDTH; - } - - canvas.width = width; - canvas.height = height; - ctx.drawImage(img, 0, 0, width, height); - - canvas.toBlob( - (blob) => { - if (!blob) return reject('Blob 변환 실패'); - - const optimizedFile = new File([blob], 'optimized.webp', { - type: 'image/webp', - lastModified: Date.now(), - }); - - resolve(optimizedFile); - }, - 'image/webp', - 0.8 - ); - }; - }; - - reader.onerror = (error) => reject(error); - }); -}; diff --git a/src/context/useFileContext.ts b/src/context/useFileContext.ts new file mode 100644 index 00000000..f61cbd81 --- /dev/null +++ b/src/context/useFileContext.ts @@ -0,0 +1,14 @@ +import { createContext, useContext } from 'react'; + +interface FileContextType { + file: File | null; + setFile: (file: File | null) => void; +} + +export const FileContext = createContext(null); + +export const useFileContext = () => { + const context = useContext(FileContext); + if (!context) throw new Error('FileContext is not found'); + return context; +}; diff --git a/src/hooks/context/useSearchContext.ts b/src/context/useSearchContext.ts similarity index 100% rename from src/hooks/context/useSearchContext.ts rename to src/context/useSearchContext.ts diff --git a/src/hooks/queries/mypage/feed.ts b/src/hooks/queries/mypage/feed.ts index ce23f3ae..126a54cc 100644 --- a/src/hooks/queries/mypage/feed.ts +++ b/src/hooks/queries/mypage/feed.ts @@ -1,8 +1,8 @@ import { getFeed } from '@/apis/mypage'; -import { useInfiniteQuery } from '@tanstack/react-query'; +import { useSuspenseInfiniteQuery } from '@tanstack/react-query'; export const useGetFeeds = (userId: number) => { - return useInfiniteQuery({ + return useSuspenseInfiniteQuery({ queryKey: ['get-feeds', userId], queryFn: ({ pageParam = 1 }) => getFeed({ userId, page: pageParam, limit: 5 }), diff --git a/src/hooks/useDropdown.ts b/src/hooks/useDropdown.ts index e8e3aa2c..bf766c4f 100644 --- a/src/hooks/useDropdown.ts +++ b/src/hooks/useDropdown.ts @@ -1,8 +1,7 @@ -import { useState } from 'react'; +import { PropsWithChildren, useState } from 'react'; -export interface IDropdown { +export interface IDropdown extends PropsWithChildren { id: number; - label: string; } export const useDropdown = ({ @@ -14,10 +13,10 @@ export const useDropdown = ({ }) => { const [focusedIndex, setFocusedIndex] = useState(null); const [openDropdown, setOpenDropdown] = useState(false); - const [selectedOption, setSelectedOption] = useState(initialValue); + const [selectedOption, selectOption] = useState(initialValue); const onClickOption = ({ id }: Pick) => { - setSelectedOption(data.find((el) => el.id === id) ?? null); + selectOption(data.find((el) => el.id === id) ?? null); setOpenDropdown(false); }; @@ -27,7 +26,7 @@ export const useDropdown = ({ focusedIndex, openDropdown, selectedOption, - setSelectedOption, + selectOption, onClickOption, toggleDropdown, setFocusedIndex, diff --git a/src/hooks/useFileUpload.ts b/src/hooks/useFileUpload.ts deleted file mode 100644 index 4e62d532..00000000 --- a/src/hooks/useFileUpload.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { ChangeEvent, InputHTMLAttributes, useState } from 'react'; - -export interface FileUploader { - fileUrl: string | null; - file: File | null; - setFileUrl: (fileUrl: string) => void; - handleFileChange: (e: ChangeEvent) => void; - accept: InputHTMLAttributes['accept']; - unloadFile: () => void; -} - -export const useFileUpload = (accept: FileUploader['accept']): FileUploader => { - const [fileUrl, setFileUrl] = useState(null); - const [file, setFile] = useState(null); - - const handleFileChange = (e: ChangeEvent) => { - const file = e.target.files?.[0]; - if (file) { - setFileUrl(URL.createObjectURL(file)); - setFile(file); - } - }; - - const unloadFile = () => { - setFileUrl(null); - setFile(null); - }; - - return { - fileUrl, - setFileUrl, - handleFileChange, - accept, - file, - unloadFile, - }; -}; diff --git a/src/utils/showDate.ts b/src/utils/showDate.ts index dc3cac2b..9cec42eb 100644 --- a/src/utils/showDate.ts +++ b/src/utils/showDate.ts @@ -1,4 +1,7 @@ -export const showDate = (createdAt: string, lastDate: string) => { +export const showDate = ( + createdAt: string, + lastDate: string +): [boolean, string] => { const currentDate = createdAt.split('T')[0]; const canShow = currentDate !== lastDate; lastDate = currentDate;