diff --git a/apps/backend/package.json b/apps/backend/package.json index b37884511..638379098 100644 --- a/apps/backend/package.json +++ b/apps/backend/package.json @@ -13,18 +13,17 @@ "db": "vitnode-backend db" }, "dependencies": { - "@nestjs/common": "^10.4.12", - "@nestjs/core": "^10.4.12", - "@nestjs/platform-express": "^10.4.12", + "@nestjs/common": "^10.4.13", + "@nestjs/core": "^10.4.13", + "@nestjs/platform-express": "^10.4.13", "@nestjs/schedule": "^4.1.1", - "@nestjs/throttler": "^6.2.1", - "@react-email/components": "^0.0.28", + "@react-email/components": "^0.0.29", "class-transformer": "^0.5.1", "class-validator": "^0.14.1", - "drizzle-kit": "^0.28.1", - "drizzle-orm": "^0.36.4", - "react": "19.0.0-rc.1", - "react-dom": "19.0.0-rc.1", + "drizzle-kit": "^0.29.1", + "drizzle-orm": "^0.37.0", + "react": "^19.0.0", + "react-dom": "^19.0.0", "reflect-metadata": "^0.2.2", "vitnode-backend": "workspace:*", "vitnode-backend-ai-google": "workspace:*", @@ -38,7 +37,7 @@ "@swc/cli": "^0.5.2", "@types/express": "^5.0.0", "@types/node": "^22.10.1", - "@types/react": "^18.3.12", + "@types/react": "^19.0.0", "cross-env": "^7.0.3", "eslint-config-typescript-vitnode": "workspace:*", "shared": "workspace:*", diff --git a/apps/frontend/package.json b/apps/frontend/package.json index e5ea2bb46..1bc52f7c0 100644 --- a/apps/frontend/package.json +++ b/apps/frontend/package.json @@ -16,13 +16,13 @@ "dependencies": { "@hookform/resolvers": "^3.9.1", "geist": "^1.3.1", - "lucide-react": "^0.462.0", + "lucide-react": "^0.468.0", "next": "^15.0.3", "next-intl": "^3.25.3", - "react": "19.0.0-rc.1", - "react-dom": "19.0.0-rc.1", + "react": "^19.0.0", + "react-dom": "^19.0.0", "react-hook-form": "^7.53.2", - "recharts": "^2.13.3", + "recharts": "^2.14.1", "sonner": "^1.7.0", "vitnode-frontend": "workspace:*", "zod": "^3.23.8" @@ -30,14 +30,14 @@ "devDependencies": { "@next/bundle-analyzer": "^15.0.3", "@types/node": "^22.10.1", - "@types/react": "^18.3.12", - "@types/react-dom": "^18.3.1", + "@types/react": "^19.0.0", + "@types/react-dom": "^19.0.0", "autoprefixer": "^10.4.20", "cross-env": "^7.0.3", "eslint-config-typescript-vitnode": "workspace:*", "postcss": "^8.4.49", "shared": "workspace:*", - "tailwindcss": "^3.4.15", + "tailwindcss": "^3.4.16", "typescript": "^5.7.2", "vitnode-shared": "workspace:*" } diff --git a/apps/frontend/src/plugins/core/langs/en.json b/apps/frontend/src/plugins/core/langs/en.json index a33ba0814..c9dc1afdb 100644 --- a/apps/frontend/src/plugins/core/langs/en.json +++ b/apps/frontend/src/plugins/core/langs/en.json @@ -182,28 +182,25 @@ }, "settings": { "title": "Settings", - "desc": "Manage your account settings.", "open_sheet": "Open Menu", "open_sheet_desc": "You can change your account settings here.", - "change_avatar": { - "title": "Change Avatar", - "desc": "Choose one option to change your avatar.", - "options": { - "upload": { - "title": "Upload a new avatar", - "success": "Your avatar has been changed.", - "error": "An error occurred while uploading your avatar." - }, - "delete": { - "title": "Delete avatar", - "success": "Your avatar has been deleted.", - "error": "An error occurred while deleting your avatar." + "overview": { + "title": "Overview", + "change_avatar": { + "title": "Change Avatar", + "desc": "Show your personality with a new avatar.", + "submit": "Change Avatar", + "success": "Your avatar has been changed.", + "types": { + "upload": "Upload a new avatar", + "delete": "Delete avatar" } }, - "submit": "Change Avatar" - }, - "overview": { - "title": "Overview" + "basic_info": { + "title": "Basic Information", + "email": "Email", + "joined_at": "Joined at" + } }, "files": { "title": "My Files", diff --git a/apps/shared/package.json b/apps/shared/package.json index 8fc0fffb6..354d8dd14 100644 --- a/apps/shared/package.json +++ b/apps/shared/package.json @@ -15,8 +15,8 @@ } }, "dependencies": { - "@nestjs/common": "^10.4.12", - "@nestjs/swagger": "^8.0.7" + "@nestjs/common": "^10.4.13", + "@nestjs/swagger": "^8.1.0" }, "devDependencies": { "@types/multer": "^1.4.12", diff --git a/apps/shared/tsconfig.json b/apps/shared/tsconfig.json index 704d069bf..3751c020f 100644 --- a/apps/shared/tsconfig.json +++ b/apps/shared/tsconfig.json @@ -3,8 +3,8 @@ "extends": "eslint-config-typescript-vitnode/tsconfig.nest.json", "compilerOptions": { "target": "ESNext", - "module": "es2015", - "moduleResolution": "bundler", + "module": "Node16", + "moduleResolution": "Node16", "outDir": "./dist", "rootDir": "./plugins", "esModuleInterop": true, diff --git a/packages/backend/package.json b/packages/backend/package.json index 0b765b44a..45d38718f 100644 --- a/packages/backend/package.json +++ b/packages/backend/package.json @@ -69,40 +69,51 @@ "express", "codegen" ], + "peerDependencies": { + "@nestjs/common": "^10.4.13", + "@nestjs/core": "^10.4.13", + "@nestjs/platform-express": "^10.4.13", + "@nestjs/schedule": "^4.1.1", + "@react-email/components": "^0.0.29", + "class-transformer": "^0.5.1", + "class-validator": "^0.14.1", + "react": "^19.0.0", + "react-dom": "^19.0.0" + }, "devDependencies": { - "@nestjs/common": "^10.4.12", - "@nestjs/platform-express": "^10.4.12", + "@nestjs/common": "^10.4.13", + "@nestjs/core": "^10.4.13", + "@nestjs/platform-express": "^10.4.13", "@nestjs/schedule": "^4.1.1", - "@react-email/components": "^0.0.28", + "@react-email/components": "^0.0.29", "@swc/cli": "^0.5.2", - "@swc/core": "^1.9.3", + "@swc/core": "^1.10.0", "@types/cookie-parser": "^1.4.8", "@types/express": "^5.0.0", "@types/multer": "^1.4.12", "@types/node": "^22.10.1", "@types/pg": "^8.11.10", - "@types/react": "^18.3.12", + "@types/react": "^19.0.0", "@types/ua-parser-js": "^0.7.39", "class-transformer": "^0.5.1", "class-validator": "^0.14.1", "concurrently": "^9.1.0", + "drizzle-kit": "^0.29.1", + "drizzle-orm": "^0.37.0", "eslint-config-typescript-vitnode": "workspace:*", - "react": "19.0.0-rc.1", - "react-dom": "19.0.0-rc.1", + "react": "^19.0.0", + "react-dom": "^19.0.0", "tsup": "^8.3.5", "typescript": "^5.7.2" }, "dependencies": { "@nestjs/config": "^3.3.0", - "@nestjs/core": "^10.4.12", "@nestjs/jwt": "^10.2.0", "@nestjs/serve-static": "^4.0.2", - "@nestjs/swagger": "^8.0.7", - "@react-email/render": "^1.0.2", + "@nestjs/swagger": "^8.1.0", + "@react-email/render": "^1.0.3", "cookie-parser": "^1.4.7", - "dotenv": "^16.4.5", - "drizzle-kit": "^0.28.1", - "drizzle-orm": "^0.36.4", + "dotenv": "^16.4.7", "helmet": "^8.0.0", "pg": "^8.13.1", "rxjs": "^7.8.1", diff --git a/packages/backend/src/core/auth/services/sign_in/sign_in.service.ts b/packages/backend/src/core/auth/services/sign_in/sign_in.service.ts index 660b4330e..c8415ff74 100644 --- a/packages/backend/src/core/auth/services/sign_in/sign_in.service.ts +++ b/packages/backend/src/core/auth/services/sign_in/sign_in.service.ts @@ -48,6 +48,7 @@ export class SignInAuthService { language: true, name_seo: true, avatar_color: true, + joined_at: true, }, }); if (!user?.password) { diff --git a/packages/backend/src/core/auth/settings/settings.module.ts b/packages/backend/src/core/auth/settings/settings.module.ts index a54727d70..02889df57 100644 --- a/packages/backend/src/core/auth/settings/settings.module.ts +++ b/packages/backend/src/core/auth/settings/settings.module.ts @@ -2,8 +2,13 @@ import { Module } from '@nestjs/common'; import { DevicesSettingsAuthModule } from './devices/devices.module'; import { FilesSettingsAuthModule } from './files/files.module'; +import { UserSettingsAuthModule } from './user/user.module'; @Module({ - imports: [DevicesSettingsAuthModule, FilesSettingsAuthModule], + imports: [ + DevicesSettingsAuthModule, + FilesSettingsAuthModule, + UserSettingsAuthModule, + ], }) export class SettingsAuthModule {} diff --git a/packages/backend/src/core/auth/settings/user/services/upload_avatar.service.ts b/packages/backend/src/core/auth/settings/user/services/upload_avatar.service.ts new file mode 100644 index 000000000..9fb94a783 --- /dev/null +++ b/packages/backend/src/core/auth/settings/user/services/upload_avatar.service.ts @@ -0,0 +1,62 @@ +import { core_files_avatars } from '@/database/schema/users'; +import { FilesHelperService } from '@/helpers/files/files-helper.service'; +import { InternalDatabaseService } from '@/utils/database/internal_database.service'; +import { BadRequestException, Injectable } from '@nestjs/common'; +import { eq } from 'drizzle-orm'; +import { UploadAvatarUserSettingsAuthBody } from 'vitnode-shared/auth/settings/user.dto'; +import { User } from 'vitnode-shared/user.dto'; + +@Injectable() +export class UploadAvatarUserSettingsAuthService { + constructor( + private readonly databaseService: InternalDatabaseService, + private readonly filesHelper: FilesHelperService, + ) {} + + async uploadAvatar({ + body: { delete_avatar }, + currentUser, + files: { avatar }, + }: { + body: Omit; + currentUser: User; + files: Pick; + }): Promise { + if (!delete_avatar && !avatar) { + throw new BadRequestException('No avatar provided'); + } + + const avatarFromDB = + await this.databaseService.db.query.core_files_avatars.findFirst({ + where: (table, { eq }) => eq(table.user_id, currentUser.id), + }); + + if (avatarFromDB || (delete_avatar && avatarFromDB)) { + await this.filesHelper.delete({ + dir_folder: avatarFromDB.dir_folder, + file_name: avatarFromDB.file_name, + }); + + await this.databaseService.db + .delete(core_files_avatars) + .where(eq(core_files_avatars.user_id, currentUser.id)); + + if (delete_avatar) return; + } + + if (!avatar) { + throw new BadRequestException('No avatar provided'); + } + + const file = await this.filesHelper.upload({ + file: avatar, + folder: 'avatars', + plugin_code: 'core', + }); + + await this.databaseService.db.insert(core_files_avatars).values({ + ...file, + user_id: currentUser.id, + }); + } +} diff --git a/packages/backend/src/core/auth/settings/user/user.controller.ts b/packages/backend/src/core/auth/settings/user/user.controller.ts new file mode 100644 index 000000000..f718bae74 --- /dev/null +++ b/packages/backend/src/core/auth/settings/user/user.controller.ts @@ -0,0 +1,51 @@ +import { Controllers } from '@/helpers/controller.decorator'; +import { FilesValidationPipe } from '@/helpers/files/files.pipe'; +import { UploadFilesMethod } from '@/helpers/upload-files.decorator'; +import { CurrentUser } from '@/helpers/user.decorator'; +import { Body, Put, UploadedFiles } from '@nestjs/common'; +import { ApiOkResponse } from '@nestjs/swagger'; +import { UploadAvatarUserSettingsAuthBody } from 'vitnode-shared/auth/settings/user.dto'; +import { User } from 'vitnode-shared/user.dto'; + +import { UploadAvatarUserSettingsAuthService } from './services/upload_avatar.service'; + +@Controllers({ + plugin_name: 'Core', + plugin_code: 'core', + route: 'auth/settings/user', + isProtect: true, +}) +export class UserSettingsAuthController { + constructor( + private readonly uploadAvatarService: UploadAvatarUserSettingsAuthService, + ) {} + + @ApiOkResponse({ + description: 'Upload or delete avatar', + }) + @Put('avatar') + @UploadFilesMethod({ + fields: ['avatar'], + }) + async uploadAvatar( + @UploadedFiles( + new FilesValidationPipe({ + avatar: { + maxSize: 1024 * 1024 * 2, // 2 MB + acceptMimeType: ['image/png', 'image/jpeg', 'image/webp'], + isOptional: true, + maxCount: 1, + }, + }), + ) + files: Pick, + @Body() body: UploadAvatarUserSettingsAuthBody, + @CurrentUser() currentUser: User, + ): Promise { + await this.uploadAvatarService.uploadAvatar({ + body, + files, + currentUser, + }); + } +} diff --git a/packages/backend/src/core/auth/settings/user/user.module.ts b/packages/backend/src/core/auth/settings/user/user.module.ts new file mode 100644 index 000000000..040e3dca8 --- /dev/null +++ b/packages/backend/src/core/auth/settings/user/user.module.ts @@ -0,0 +1,10 @@ +import { Module } from '@nestjs/common'; + +import { UploadAvatarUserSettingsAuthService } from './services/upload_avatar.service'; +import { UserSettingsAuthController } from './user.controller'; + +@Module({ + providers: [UploadAvatarUserSettingsAuthService], + controllers: [UserSettingsAuthController], +}) +export class UserSettingsAuthModule {} diff --git a/packages/backend/src/core/auth/sso/services/callback.service.ts b/packages/backend/src/core/auth/sso/services/callback.service.ts index 4cf61a1e9..5cee74351 100644 --- a/packages/backend/src/core/auth/sso/services/callback.service.ts +++ b/packages/backend/src/core/auth/sso/services/callback.service.ts @@ -63,6 +63,7 @@ export class CallbackSSOAuthService { language: true, name_seo: true, avatar_color: true, + joined_at: true, }, }, }, @@ -98,6 +99,7 @@ export class CallbackSSOAuthService { name_seo: true, avatar_color: true, email_verified: true, + joined_at: true, }, }); // If user exists, create SSO token and sign in @@ -146,6 +148,7 @@ export class CallbackSSOAuthService { avatar_color: '', provider, provider_id: data.id, + joined_at: new Date(), }; } } diff --git a/packages/backend/src/database/schema/users.ts b/packages/backend/src/database/schema/users.ts index a8a0b4991..5dd949968 100644 --- a/packages/backend/src/database/schema/users.ts +++ b/packages/backend/src/database/schema/users.ts @@ -20,8 +20,6 @@ export const core_users = pgTable( .integer() .references(() => core_groups.id) .notNull(), - first_name: t.varchar({ length: 255 }), - last_name: t.varchar({ length: 255 }), birthday: t.timestamp(), ip_address: t.varchar({ length: 40 }).notNull(), language: t @@ -99,9 +97,12 @@ export const core_files_avatars = pgTable('core_files_avatars', t => ({ file_size: t.integer().notNull(), mimetype: t.varchar({ length: 255 }).notNull(), extension: t.varchar({ length: 32 }).notNull(), - user_id: t.integer().references(() => core_users.id, { - onDelete: 'cascade', - }), + user_id: t + .integer() + .references(() => core_users.id, { + onDelete: 'cascade', + }) + .unique(), })); export const core_files_avatars_relations = relations( diff --git a/packages/backend/src/helpers/user.service.ts b/packages/backend/src/helpers/user.service.ts index e576e66cb..6d525fd10 100644 --- a/packages/backend/src/helpers/user.service.ts +++ b/packages/backend/src/helpers/user.service.ts @@ -53,6 +53,7 @@ export class UserHelper { language: true, name: true, name_seo: true, + joined_at: true, }, with: { avatar: true, @@ -103,6 +104,8 @@ export class UserHelper { language: user.language, name: user.name, name_seo: user.name_seo, + avatar: user.avatar, + joined_at: user.joined_at, }; if (!withDangerousData) { diff --git a/packages/create-vitnode-app/helpers/create-packages-json.ts b/packages/create-vitnode-app/helpers/create-packages-json.ts index 5cf19ce94..b8e67c755 100644 --- a/packages/create-vitnode-app/helpers/create-packages-json.ts +++ b/packages/create-vitnode-app/helpers/create-packages-json.ts @@ -52,8 +52,8 @@ export const createPackagesJSON = ({ }, overrides: packageManager.startsWith('npm') ? { - react: '19.0.0-rc.1', - 'react-dom': '19.0.0-rc.1', + react: '^19.0.0', + 'react-dom': '^19.0.0', } : {}, pnpm: packageManager.startsWith('pnpm') @@ -96,26 +96,26 @@ export const createPackagesJSON = ({ dependencies: { '@hookform/resolvers': '^3.9.1', geist: '^1.3.1', - 'lucide-react': '^0.462.0', + 'lucide-react': '^0.468.0', next: '^15.0.3', 'next-intl': '^3.25.3', - react: '19.0.0-rc.1', - 'react-dom': '19.0.0-rc.1', + react: '^19.0.0', + 'react-dom': '^19.0.0', 'react-hook-form': '^7.53.2', - recharts: '^2.13.3', + recharts: '^2.14.1', sonner: '^1.7.0', 'vitnode-frontend': `^${pkg.version}`, zod: '^3.23.8', }, devDependencies: { '@types/node': '^22.10.1', - '@types/react': '^18.3.12', - '@types/react-dom': '^18.3.1', + '@types/react': '^19.0.0', + '@types/react-dom': '^19.0.0', autoprefixer: '^10.4.20', 'eslint-config-typescript-vitnode': `^${pkg.version}`, postcss: '^8.4.49', shared: packageManager.startsWith('npm') ? '*' : 'workspace:*', - tailwindcss: '^3.4.15', + tailwindcss: '^3.4.16', typescript: '^5.7.2', 'vitnode-shared': `^${pkg.version}`, }, @@ -141,18 +141,17 @@ export const createPackagesJSON = ({ db: 'vitnode-backend db', }, dependencies: { - '@nestjs/common': '^10.4.12', - '@nestjs/core': '^10.4.12', - '@nestjs/platform-express': '^10.4.12', + '@nestjs/common': '^10.4.13', + '@nestjs/core': '^10.4.13', + '@nestjs/platform-express': '^10.4.13', '@nestjs/schedule': '^4.1.1', - '@nestjs/throttler': '^6.2.1', - '@react-email/components': '^0.0.28', + '@react-email/components': '^0.0.29', 'class-transformer': '^0.5.1', 'class-validator': '^0.14.1', - 'drizzle-kit': '^0.28.1', - 'drizzle-orm': '^0.36.4', - react: '19.0.0-rc.1', - 'react-dom': '19.0.0-rc.1', + 'drizzle-kit': '^0.29.1', + 'drizzle-orm': '^0.37.0', + react: '^19.0.0', + 'react-dom': '^19.0.0', 'reflect-metadata': '^0.2.2', 'vitnode-backend': `^${pkg.version}`, }, @@ -162,7 +161,7 @@ export const createPackagesJSON = ({ '@swc/cli': '^0.5.2', '@types/express': '^5.0.0', '@types/node': '^22.10.1', - '@types/react': '^18.3.12', + '@types/react': '^18.3.13', 'cross-env': '^7.0.3', 'eslint-config-typescript-vitnode': `^${pkg.version}`, shared: packageManager.startsWith('npm') ? '*' : 'workspace:*', @@ -194,8 +193,8 @@ export const createPackagesJSON = ({ }, }, dependencies: { - '@nestjs/common': '^10.4.12', - '@nestjs/swagger': '^8.0.7', + '@nestjs/common': '^10.4.13', + '@nestjs/swagger': '^8.1.0', }, devDependencies: { '@types/multer': '^1.4.12', diff --git a/packages/create-vitnode-app/templates/basic/apps/shared/tsconfig.json b/packages/create-vitnode-app/templates/basic/apps/shared/tsconfig.json index 704d069bf..3751c020f 100644 --- a/packages/create-vitnode-app/templates/basic/apps/shared/tsconfig.json +++ b/packages/create-vitnode-app/templates/basic/apps/shared/tsconfig.json @@ -3,8 +3,8 @@ "extends": "eslint-config-typescript-vitnode/tsconfig.nest.json", "compilerOptions": { "target": "ESNext", - "module": "es2015", - "moduleResolution": "bundler", + "module": "Node16", + "moduleResolution": "Node16", "outDir": "./dist", "rootDir": "./plugins", "esModuleInterop": true, diff --git a/packages/eslint-config-typescript-vitnode/package.json b/packages/eslint-config-typescript-vitnode/package.json index fcc7b328e..d7068267b 100644 --- a/packages/eslint-config-typescript-vitnode/package.json +++ b/packages/eslint-config-typescript-vitnode/package.json @@ -43,11 +43,11 @@ "eslint": "9.14.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-jsx-a11y": "^6.10.2", - "eslint-plugin-perfectionist": "^4.1.2", + "eslint-plugin-perfectionist": "^4.2.0", "eslint-plugin-prettier": "^5.2.1", "eslint-plugin-react": "^7.37.2", "eslint-plugin-react-compiler": "19.0.0-beta-df7b47d-20241124", - "eslint-plugin-react-hooks": "^5.0.0", + "eslint-plugin-react-hooks": "^5.1.0", "globals": "^15.13.0", "prettier-plugin-tailwindcss": "^0.6.9", "typescript-eslint": "^8.17.0" diff --git a/packages/frontend/next.config.mjs b/packages/frontend/next.config.mjs index 14c376403..6fd905881 100644 --- a/packages/frontend/next.config.mjs +++ b/packages/frontend/next.config.mjs @@ -35,7 +35,7 @@ const nextConfig = config => { }, experimental: { ...(config.experimental || {}), - reactCompiler: true, + // reactCompiler: true, }, transpilePackages: [ ...transpilePackages, diff --git a/packages/frontend/package.json b/packages/frontend/package.json index 2380274c2..f2f68f84d 100644 --- a/packages/frontend/package.json +++ b/packages/frontend/package.json @@ -93,35 +93,46 @@ "shadcnui" ], "peerDependencies": { - "typescript": "^5.7.2" + "@hookform/resolvers": "^3.9.1", + "lucide-react": "*", + "next": "^15.0.3", + "next-intl": "^3.25.3", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "react-hook-form": "^7.53.2", + "recharts": "^2.14.1", + "sonner": "^1.7.0", + "typescript": "^5.7.2", + "zod": "^3.23.8" }, "devDependencies": { "@hookform/devtools": "^4.3.1", "@hookform/resolvers": "^3.9.1", "@swc/cli": "^0.5.2", - "@swc/core": "^1.9.3", + "@swc/core": "^1.10.0", "@types/lodash": "^4.17.13", "@types/node": "^22.10.1", "@types/nprogress": "^0.2.3", - "@types/react": "^18.3.12", - "@types/react-dom": "^18.3.1", + "@types/react": "^19.0.0", + "@types/react-dom": "^19.0.0", "concurrently": "^9.1.0", "eslint-config-typescript-vitnode": "workspace:*", - "lucide-react": "^0.462.0", + "lucide-react": "^0.468.0", + "next": "^15.0.3", "next-intl": "^3.25.3", - "react": "19.0.0-rc.1", - "react-dom": "19.0.0-rc.1", + "react": "^19.0.0", + "react-dom": "^19.0.0", "react-hook-form": "^7.53.2", - "recharts": "^2.13.3", + "recharts": "^2.14.1", "sonner": "^1.7.0", - "tailwindcss": "^3.4.15", + "tailwindcss": "^3.4.16", "tsup": "^8.3.5", "typescript": "^5.7.2", "zod": "^3.23.8" }, "dependencies": { - "@dnd-kit/core": "^6.2.0", - "@dnd-kit/sortable": "^9.0.0", + "@dnd-kit/core": "^6.3.1", + "@dnd-kit/sortable": "^10.0.0", "@dnd-kit/utilities": "^3.2.2", "@emoji-mart/data": "^1.2.1", "@radix-ui/react-accordion": "^1.2.1", @@ -146,12 +157,11 @@ "@radix-ui/react-tooltip": "^1.1.4", "@radix-ui/react-visually-hidden": "^1.1.0", "@tailwindcss/container-queries": "^0.1.1", - "@tanstack/react-query": "^5.62.1", + "@tanstack/react-query": "^5.62.2", "@tiptap/extension-code-block-lowlight": "^2.10.3", "@tiptap/extension-color": "^2.10.3", "@tiptap/extension-heading": "^2.10.3", "@tiptap/extension-link": "^2.10.3", - "@tiptap/extension-mention": "^2.10.3", "@tiptap/extension-text-align": "^2.10.3", "@tiptap/extension-text-style": "^2.10.3", "@tiptap/extension-underline": "^2.10.3", @@ -164,25 +174,22 @@ "clsx": "^2.1.1", "cmdk": "^1.0.4", "cropperjs": "^1.6.2", - "dotenv": "^16.4.5", + "dotenv": "^16.4.7", "embla-carousel-react": "^8.5.1", "emoji-mart": "^5.6.0", - "html-react-parser": "^5.1.18", + "html-react-parser": "^5.1.19", "input-otp": "^1.4.1", - "lodash": "^4.17.21", "lowlight": "^3.2.0", - "next": "^15.0.3", "next-themes": "^0.4.3", "nextjs-toploader": "^3.7.15", "nprogress": "^0.2.0", "react-colorful": "^5.6.1", "react-cropper": "^2.3.3", "react-day-picker": "^8.10.1", - "react-is": "19.0.0-rc.1", + "react-is": "19.0.0", "react-moveable": "^0.56.0", "tailwind-merge": "^2.5.5", "tailwindcss-animate": "^1.0.7", - "tippy.js": "^6.3.7", "use-debounce": "^10.0.4", "vaul": "^1.1.1", "vitnode-shared": "workspace:*" diff --git a/packages/frontend/src/components/editor/extensions/mentions/client.tsx b/packages/frontend/src/components/editor/extensions/mentions/client.tsx deleted file mode 100644 index f03cfef27..000000000 --- a/packages/frontend/src/components/editor/extensions/mentions/client.tsx +++ /dev/null @@ -1,178 +0,0 @@ -'use client'; - -import { EditorView } from '@tiptap/pm/view'; -import { Editor, ReactRenderer } from '@tiptap/react'; -import { useTranslations } from 'next-intl'; -import React from 'react'; -import tippy, { GetReferenceClientRect, Instance } from 'tippy.js'; - -import { cn } from '../../../../helpers/classnames'; -import { Button } from '../../../ui/button'; -import { classPopover } from '../../../ui/popover'; - -export interface ComponentListProps { - command: (_props: { id: string }) => void; - items: string[]; - ref?: React.RefCallback; -} - -export interface ComponentListRef { - onKeyDown: (props: SuggestionKeyDownProps) => boolean; -} - -export interface SuggestionKeyDownProps { - event: KeyboardEvent; - range: Range; - view: EditorView; -} - -export interface SuggestionProps { - clientRect?: GetReferenceClientRect; - command: (props: I) => void; - contentComponent: React.ComponentType<{ item: I }>; - decorationNode: Element | null; - editor: Editor; - items: I[]; - query: string; - range: Range; - text: string; -} - -const ComponentList = ({ command, items, ref }: ComponentListProps) => { - const t = useTranslations('core.global'); - const [selectedIndex, setSelectedIndex] = React.useState(0); - - const selectItem = (index: number) => { - const item = items[index]; - - if (item) { - command({ id: item }); - } - }; - - const upHandler = () => { - setSelectedIndex((selectedIndex + items.length - 1) % items.length); - }; - const downHandler = () => { - setSelectedIndex((selectedIndex + 1) % items.length); - }; - const enterHandler = () => { - selectItem(selectedIndex); - }; - - React.useEffect(() => { - setSelectedIndex(0); - }, [items]); - - React.useImperativeHandle(ref, () => ({ - onKeyDown: ({ event }) => { - if (event.key === 'ArrowUp') { - upHandler(); - - return true; - } - - if (event.key === 'ArrowDown') { - downHandler(); - - return true; - } - - if (event.key === 'Enter') { - enterHandler(); - - return true; - } - - return false; - }, - })); - - return ( - <> - {items.length ? ( - items.map((item, index) => ( - - )) - ) : ( -
{t('no_results')}
- )} - - ); -}; - -let component: null | ReactRenderer = null; -let popup: Instance[] | null = null; - -export function onKeyDown(props: SuggestionKeyDownProps) { - if (!component || !popup) { - return; - } - - if (props.event.key === 'Escape') { - popup[0].hide(); - - return true; - } - - return component.ref?.onKeyDown(props); -} - -export function onStart(props: SuggestionProps) { - component = new ReactRenderer(ComponentList, { - props, - editor: props.editor, - className: cn(classPopover, 'flex flex-col p-2'), - }); - - if (!props.clientRect) { - return; - } - - popup = tippy('body', { - getReferenceClientRect: props.clientRect, - appendTo: () => document.body, - content: component.element, - showOnCreate: true, - interactive: true, - trigger: 'manual', - placement: 'bottom-start', - }); -} - -export function onUpdate(props: SuggestionProps) { - if (!component || !popup) { - return; - } - - component.updateProps(props); - - if (!props.clientRect) { - return; - } - - popup[0].setProps({ - getReferenceClientRect: props.clientRect, - }); -} - -export const onExit = () => { - if (!component || !popup) { - return; - } - - popup[0].destroy(); - component.destroy(); -}; diff --git a/packages/frontend/src/components/editor/extensions/mentions/emoji.tsx b/packages/frontend/src/components/editor/extensions/mentions/emoji.tsx deleted file mode 100644 index f02768ce1..000000000 --- a/packages/frontend/src/components/editor/extensions/mentions/emoji.tsx +++ /dev/null @@ -1,49 +0,0 @@ -/* eslint-disable @typescript-eslint/ban-ts-comment */ -import { Mention } from '@tiptap/extension-mention'; - -import { onExit, onKeyDown, onStart, onUpdate } from './client'; - -export const MentionExtensionEditor = Mention.configure({ - suggestion: { - items: ({ query }) => { - return [ - 'Lea Thompson', - 'Cyndi Lauper', - 'Tom Cruise', - 'Madonna', - 'Jerry Hall', - 'Joan Collins', - 'Winona Ryder', - 'Christina Applegate', - 'Alyssa Milano', - 'Molly Ringwald', - 'Ally Sheedy', - 'Debbie Harry', - 'Olivia Newton-John', - 'Elton John', - 'Michael J. Fox', - 'Axl Rose', - 'Emilio Estevez', - 'Ralph Macchio', - 'Rob Lowe', - 'Jennifer Grey', - 'Mickey Rourke', - 'John Cusack', - 'Matthew Broderick', - 'Justine Bateman', - 'Lisa Bonet', - ] - .filter(item => item.toLowerCase().startsWith(query.toLowerCase())) - .slice(0, 5); - }, - // @ts-expect-error - render: () => { - return { - onStart, - onUpdate, - onKeyDown, - onExit, - }; - }, - }, -}); diff --git a/packages/frontend/src/components/editor/toolbar/custom/link/content.tsx b/packages/frontend/src/components/editor/toolbar/custom/link/content.tsx index 782f28cae..861f6a969 100644 --- a/packages/frontend/src/components/editor/toolbar/custom/link/content.tsx +++ b/packages/frontend/src/components/editor/toolbar/custom/link/content.tsx @@ -10,7 +10,7 @@ import { Input } from '@/components/ui/input'; import { zodResolver } from '@hookform/resolvers/zod'; import { useTranslations } from 'next-intl'; import { useForm } from 'react-hook-form'; -import * as z from 'zod'; +import { z } from 'zod'; import { useEditorState } from '../../../hooks/use-editor-state'; diff --git a/packages/frontend/src/components/form/auto-form.tsx b/packages/frontend/src/components/form/auto-form.tsx index 8a971e01c..67536503c 100644 --- a/packages/frontend/src/components/form/auto-form.tsx +++ b/packages/frontend/src/components/form/auto-form.tsx @@ -10,7 +10,7 @@ import { useForm, UseFormReturn, } from 'react-hook-form'; -import * as z from 'zod'; +import { z } from 'zod'; import { Button } from '../ui/button'; import { useDialog } from '../ui/dialog'; diff --git a/packages/frontend/src/components/form/fields/combobox.tsx b/packages/frontend/src/components/form/fields/combobox.tsx index d88b63a24..265dedc33 100644 --- a/packages/frontend/src/components/form/fields/combobox.tsx +++ b/packages/frontend/src/components/form/fields/combobox.tsx @@ -20,7 +20,7 @@ import { Check } from 'lucide-react'; import { useTranslations } from 'next-intl'; import React from 'react'; import { StringLanguage } from 'vitnode-shared/string-language.dto'; -import * as z from 'zod'; +import { z } from 'zod'; import { getBaseSchema } from '../utils'; import { AutoFormLabel } from './common/label'; diff --git a/packages/frontend/src/components/form/fields/radio-group.tsx b/packages/frontend/src/components/form/fields/radio-group.tsx index b25d18521..756fd1a70 100644 --- a/packages/frontend/src/components/form/fields/radio-group.tsx +++ b/packages/frontend/src/components/form/fields/radio-group.tsx @@ -1,7 +1,7 @@ import { AutoFormComponentProps } from '@/components/form/auto-form'; import { FormControl, FormItem, FormLabel } from '@/components/ui/form'; import { RadioGroup, RadioGroupItem } from '@/components/ui/radio-group'; -import * as z from 'zod'; +import { z } from 'zod'; import { getBaseSchema } from '../utils'; import { AutoFormLabel } from './common/label'; diff --git a/packages/frontend/src/components/form/fields/select.tsx b/packages/frontend/src/components/form/fields/select.tsx index 751b6d377..2b5e1dd39 100644 --- a/packages/frontend/src/components/form/fields/select.tsx +++ b/packages/frontend/src/components/form/fields/select.tsx @@ -8,7 +8,7 @@ import { SelectValue, } from '@/components/ui/select'; import { useTranslations } from 'next-intl'; -import * as z from 'zod'; +import { z } from 'zod'; import { getBaseSchema } from '../utils'; import { AutoFormLabel } from './common/label'; diff --git a/packages/frontend/src/components/form/fields/utils/item.tsx b/packages/frontend/src/components/form/fields/utils/item.tsx index 40d2c1f5d..fac788452 100644 --- a/packages/frontend/src/components/form/fields/utils/item.tsx +++ b/packages/frontend/src/components/form/fields/utils/item.tsx @@ -1,7 +1,7 @@ import { FormField, FormMessage } from '@/components/ui/form'; import React from 'react'; import { Control, FieldPath, FieldValues, UseFormWatch } from 'react-hook-form'; -import * as z from 'zod'; +import { z } from 'zod'; import { AutoFormComponentProps } from '../../auto-form'; import resolveDependencies, { diff --git a/packages/frontend/src/components/form/utils.ts b/packages/frontend/src/components/form/utils.ts index dde7ecf95..e5d2bd54c 100644 --- a/packages/frontend/src/components/form/utils.ts +++ b/packages/frontend/src/components/form/utils.ts @@ -1,5 +1,5 @@ import { DefaultValues, FieldValues, UseFormWatch } from 'react-hook-form'; -import * as z from 'zod'; +import { z } from 'zod'; import { DependencyType } from './auto-form'; diff --git a/packages/frontend/src/components/icon/picker/content/content.tsx b/packages/frontend/src/components/icon/picker/content/content.tsx index 42022f884..2abb9ecff 100644 --- a/packages/frontend/src/components/icon/picker/content/content.tsx +++ b/packages/frontend/src/components/icon/picker/content/content.tsx @@ -4,11 +4,9 @@ import React from 'react'; import { Input } from '../../../ui/input'; import { Loader } from '../../../ui/loader'; -import { Tabs, TabsTrigger } from '../../../ui/tabs'; +import { Tabs, TabsItem } from '../../../ui/tabs'; import { SkinSelectEmojisContentIconInput } from './emojis/skin-select'; -// import { SkinSelectEmojiButtonEditor } from "@/components/editor/toolbar/buttons/emoji/skin-select"; - const EmojisContentIconInput = React.lazy(async () => import('./emojis/emojis').then(module => ({ default: module.EmojisContentIconInput, @@ -47,24 +45,22 @@ export const ContentIconInput = (props: IconPickerProps) => { <>
- { setActiveTab(Tab.Icon); }} > {t('icons.title')} - - + { setActiveTab(Tab.Emoji); }} > {t('emojis.title')} - +
diff --git a/packages/frontend/src/components/ui/dropdown-menu.tsx b/packages/frontend/src/components/ui/dropdown-menu.tsx index dadedc97e..3bd0ca486 100644 --- a/packages/frontend/src/components/ui/dropdown-menu.tsx +++ b/packages/frontend/src/components/ui/dropdown-menu.tsx @@ -18,69 +18,66 @@ const DropdownMenuSub = DropdownMenuPrimitive.Sub; const DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup; -const DropdownMenuSubTrigger = React.forwardRef< - React.ElementRef, - React.ComponentProps & { - inset?: boolean; - } ->(({ className, inset, children, ...props }, ref) => ( +const DropdownMenuSubTrigger = ({ + className, + inset, + children, + ...props +}: React.ComponentProps & { + inset?: boolean; +}) => ( {children} -)); -DropdownMenuSubTrigger.displayName = - DropdownMenuPrimitive.SubTrigger.displayName; - -const DropdownMenuSubContent = React.forwardRef< - React.ElementRef, - React.ComponentProps ->(({ className, ...props }, ref) => ( +); + +const DropdownMenuSubContent = ({ + className, + ...props +}: React.ComponentProps) => ( -)); -DropdownMenuSubContent.displayName = - DropdownMenuPrimitive.SubContent.displayName; - -const DropdownMenuContent = React.forwardRef< - React.ElementRef, - React.ComponentProps ->(({ className, sideOffset = 4, ...props }, ref) => ( +); + +const DropdownMenuContent = ({ + className, + sideOffset = 4, + ...props +}: React.ComponentProps) => ( -)); -DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName; - -const DropdownMenuItem = React.forwardRef< - React.ElementRef, - React.ComponentProps & { - destructive?: boolean; - inset?: boolean; - } ->(({ className, inset, destructive, ...props }, ref) => ( +); + +const DropdownMenuItem = ({ + className, + inset, + destructive, + ...props +}: React.ComponentProps & { + destructive?: boolean; + inset?: boolean; +}) => ( -)); -DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName; +); -const DropdownMenuCheckboxItem = React.forwardRef< - React.ElementRef, - React.ComponentProps ->(({ className, children, checked, ...props }, ref) => ( +const DropdownMenuCheckboxItem = ({ + className, + children, + checked, + ...props +}: React.ComponentProps) => ( @@ -114,20 +110,18 @@ const DropdownMenuCheckboxItem = React.forwardRef< {children} -)); -DropdownMenuCheckboxItem.displayName = - DropdownMenuPrimitive.CheckboxItem.displayName; - -const DropdownMenuRadioItem = React.forwardRef< - React.ElementRef, - React.ComponentProps ->(({ className, children, ...props }, ref) => ( +); + +const DropdownMenuRadioItem = ({ + className, + children, + ...props +}: React.ComponentProps) => ( @@ -137,38 +131,34 @@ const DropdownMenuRadioItem = React.forwardRef< {children} -)); -DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName; - -const DropdownMenuLabel = React.forwardRef< - React.ElementRef, - React.ComponentProps & { - inset?: boolean; - } ->(({ className, inset, ...props }, ref) => ( +); + +const DropdownMenuLabel = ({ + className, + inset, + ...props +}: React.ComponentProps & { + inset?: boolean; +}) => ( -)); -DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName; +); -const DropdownMenuSeparator = React.forwardRef< - React.ElementRef, - React.ComponentProps ->(({ className, ...props }, ref) => ( +const DropdownMenuSeparator = ({ + className, + ...props +}: React.ComponentProps) => ( -)); -DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName; +); const DropdownMenuShortcut = ({ className, diff --git a/packages/frontend/src/components/ui/tabs.tsx b/packages/frontend/src/components/ui/tabs.tsx index db7406ef0..cab93c43a 100644 --- a/packages/frontend/src/components/ui/tabs.tsx +++ b/packages/frontend/src/components/ui/tabs.tsx @@ -1,97 +1,83 @@ -'use client'; - import React from 'react'; import { cn } from '../../helpers/classnames'; -import { Link, usePathname } from '../../navigation'; -import { buttonVariants } from './button'; +import { Link } from '../../navigation'; +import { Button } from './button'; export const Tabs = ({ children, className, -}: { - children: React.ReactNode; - className?: string; -}) => { + ...props +}: React.HTMLAttributes) => { return ( -
{children} -
+ ); }; -const Wrapper = ({ children }: { children: React.ReactNode }) => { - return
{children}
; -}; - -export interface TabsTriggerProps { +export const TabsItem = ({ + active, + children, + className: classNameFromProps, + href, + ariaLabel, + ...props +}: Omit, 'asChild'> & { active?: boolean; children: React.ReactNode; className?: string; href?: string; - id: string; - onClick?: () => void; -} - -export const TabsTrigger = ({ - active: activeFromProps, - children, - className: classNameFromProps, - href, - onClick, -}: TabsTriggerProps) => { - const pathname = usePathname(); - const active = activeFromProps ?? (href && pathname.includes(href)); +}) => { const dataState = active ? 'active' : 'inactive'; - const className = buttonVariants({ - variant: 'ghost', - className: cn( - classNameFromProps, - 'text-muted-foreground hover:text-foreground flex-shrink-0', - { - 'text-foreground': active, - }, - ), - size: 'sm', - }); + const className = cn( + 'text-muted-foreground hover:text-foreground relative mb-2 flex-shrink-0', + { + 'text-foreground': active, + }, + classNameFromProps, + ); const underline = active && ( -
+
); if (href) { return ( - - + ); } return ( - - - + ); }; diff --git a/packages/frontend/src/components/ui/user/group-format.tsx b/packages/frontend/src/components/ui/user/group-format.tsx index b7521ccf8..6fd9aad99 100644 --- a/packages/frontend/src/components/ui/user/group-format.tsx +++ b/packages/frontend/src/components/ui/user/group-format.tsx @@ -5,8 +5,8 @@ import { GroupUser } from 'vitnode-shared/user.dto'; export const GroupFormat = ({ className, group: { name, color }, -}: { - className?: string; + ...props +}: React.HTMLAttributes & { group: GroupUser; }) => { const { convertText } = useTextLang(); @@ -15,6 +15,7 @@ export const GroupFormat = ({ {convertText(name)} diff --git a/packages/frontend/src/helpers/zod.ts b/packages/frontend/src/helpers/zod.ts index 442505d61..e16aae222 100644 --- a/packages/frontend/src/helpers/zod.ts +++ b/packages/frontend/src/helpers/zod.ts @@ -1,4 +1,4 @@ -import * as z from 'zod'; +import { z } from 'zod'; export const zodLanguageInput = z.array( z.object({ diff --git a/packages/frontend/src/hooks/use-merge-refs.ts b/packages/frontend/src/hooks/use-merge-refs.ts index 920c473fd..0d7006586 100644 --- a/packages/frontend/src/hooks/use-merge-refs.ts +++ b/packages/frontend/src/hooks/use-merge-refs.ts @@ -17,7 +17,7 @@ export function useMergeRefs( if (typeof ref === 'function') { ref(value); } else if (ref != null) { - (ref as React.MutableRefObject).current = value; + ref.current = value; } }); }; diff --git a/packages/frontend/src/views/admin/views/core/langs/create-edit/hooks/use-create-edit-lang-admin.ts b/packages/frontend/src/views/admin/views/core/langs/create-edit/hooks/use-create-edit-lang-admin.ts index 3bab441c0..ad7095746 100644 --- a/packages/frontend/src/views/admin/views/core/langs/create-edit/hooks/use-create-edit-lang-admin.ts +++ b/packages/frontend/src/views/admin/views/core/langs/create-edit/hooks/use-create-edit-lang-admin.ts @@ -2,7 +2,7 @@ import { useDialog } from '@/components/ui/dialog'; import { useTranslations } from 'next-intl'; import { UseFormReturn } from 'react-hook-form'; import { toast } from 'sonner'; -import * as z from 'zod'; +import { z } from 'zod'; import { CreateEditLangAdmin } from '../create-edit'; import { locales } from '../locales'; diff --git a/packages/frontend/src/views/admin/views/core/langs/table/actions/delete/hooks/use-delete-lang-admin.ts b/packages/frontend/src/views/admin/views/core/langs/table/actions/delete/hooks/use-delete-lang-admin.ts index d211c3347..c8fb3ec2f 100644 --- a/packages/frontend/src/views/admin/views/core/langs/table/actions/delete/hooks/use-delete-lang-admin.ts +++ b/packages/frontend/src/views/admin/views/core/langs/table/actions/delete/hooks/use-delete-lang-admin.ts @@ -2,7 +2,7 @@ import { useAlertDialog } from '@/components/ui/alert-dialog'; import { usePathname, useRouter } from '@/navigation'; import { useTranslations } from 'next-intl'; import { toast } from 'sonner'; -import * as z from 'zod'; +import { z } from 'zod'; import { ContentDeleteActionsTableLangsCoreAdmin } from '../content'; import { mutationApi } from './mutation-api'; diff --git a/packages/frontend/src/views/admin/views/core/plugins/actions/create/hooks/use-create-edit-plugin-admin.ts b/packages/frontend/src/views/admin/views/core/plugins/actions/create/hooks/use-create-edit-plugin-admin.ts index a7a832f61..78bf7e2c4 100644 --- a/packages/frontend/src/views/admin/views/core/plugins/actions/create/hooks/use-create-edit-plugin-admin.ts +++ b/packages/frontend/src/views/admin/views/core/plugins/actions/create/hooks/use-create-edit-plugin-admin.ts @@ -4,7 +4,7 @@ import { useTranslations } from 'next-intl'; import { UseFormReturn } from 'react-hook-form'; import { toast } from 'sonner'; import { ShowPluginAdmin } from 'vitnode-shared/admin/plugins.dto'; -import * as z from 'zod'; +import { z } from 'zod'; import { mutationCreateApi } from './mutation-create-api'; import { mutationEditApi } from './mutation-edit-api'; diff --git a/packages/frontend/src/views/admin/views/core/plugins/dev/nav/create-edit/hooks/use-create-nav-plugin-admin.ts b/packages/frontend/src/views/admin/views/core/plugins/dev/nav/create-edit/hooks/use-create-nav-plugin-admin.ts index a330a8d2f..f24b0c309 100644 --- a/packages/frontend/src/views/admin/views/core/plugins/dev/nav/create-edit/hooks/use-create-nav-plugin-admin.ts +++ b/packages/frontend/src/views/admin/views/core/plugins/dev/nav/create-edit/hooks/use-create-nav-plugin-admin.ts @@ -3,7 +3,7 @@ import { zodTag } from '@/helpers/zod'; import { useTranslations } from 'next-intl'; import { UseFormReturn } from 'react-hook-form'; import { toast } from 'sonner'; -import * as z from 'zod'; +import { z } from 'zod'; import { useDevPluginAdmin } from '../../../hooks/use-dev-plugin'; import { CreateEditNavDevPluginAdmin } from '../create-edit'; diff --git a/packages/frontend/src/views/admin/views/core/plugins/dev/permissions-admin/create-edit/hooks/use-create-edit-permission-admin-plugin-admin.ts b/packages/frontend/src/views/admin/views/core/plugins/dev/permissions-admin/create-edit/hooks/use-create-edit-permission-admin-plugin-admin.ts index 950c2ce17..43e4f6440 100644 --- a/packages/frontend/src/views/admin/views/core/plugins/dev/permissions-admin/create-edit/hooks/use-create-edit-permission-admin-plugin-admin.ts +++ b/packages/frontend/src/views/admin/views/core/plugins/dev/permissions-admin/create-edit/hooks/use-create-edit-permission-admin-plugin-admin.ts @@ -2,7 +2,7 @@ import { useDialog } from '@/components/ui/dialog'; import { useTranslations } from 'next-intl'; import { UseFormReturn } from 'react-hook-form'; import { toast } from 'sonner'; -import * as z from 'zod'; +import { z } from 'zod'; import { useDevPluginAdmin } from '../../../hooks/use-dev-plugin'; import { PermissionsAdminWithI18n } from '../../permissions-admin'; diff --git a/packages/frontend/src/views/admin/views/core/plugins/dev/tabs.tsx b/packages/frontend/src/views/admin/views/core/plugins/dev/tabs.tsx index 91286d77e..13d7489a3 100644 --- a/packages/frontend/src/views/admin/views/core/plugins/dev/tabs.tsx +++ b/packages/frontend/src/views/admin/views/core/plugins/dev/tabs.tsx @@ -1,6 +1,6 @@ 'use client'; -import { Tabs, TabsTrigger } from '@/components/ui/tabs'; +import { Tabs, TabsItem } from '@/components/ui/tabs'; import { usePathname } from '@/navigation'; import { useTranslations } from 'next-intl'; @@ -10,22 +10,18 @@ export const TabsDevPluginAdmin = ({ code }: { code: string }) => { return ( - {t('overview.title')} - - + + {t('nav.title')} - - + + {t('permissions-admin.title')} - + ); }; diff --git a/packages/frontend/src/views/admin/views/core/security/spam/captcha/hooks/use-captcha-security-admin.ts b/packages/frontend/src/views/admin/views/core/security/spam/captcha/hooks/use-captcha-security-admin.ts index 81f6475a4..539194e97 100644 --- a/packages/frontend/src/views/admin/views/core/security/spam/captcha/hooks/use-captcha-security-admin.ts +++ b/packages/frontend/src/views/admin/views/core/security/spam/captcha/hooks/use-captcha-security-admin.ts @@ -2,7 +2,7 @@ import { useTranslations } from 'next-intl'; import { UseFormReturn } from 'react-hook-form'; import { toast } from 'sonner'; import { CaptchaTypeEnum } from 'vitnode-shared/utils/global'; -import * as z from 'zod'; +import { z } from 'zod'; import { ContentCaptchaSpamSecurityAdmin } from '../content'; import { mutationApi } from './mutation-api'; diff --git a/packages/frontend/src/views/admin/views/core/settings/authorization/hooks/use-authorization-settings-form-admin.ts b/packages/frontend/src/views/admin/views/core/settings/authorization/hooks/use-authorization-settings-form-admin.ts index 388a50421..ca85d7119 100644 --- a/packages/frontend/src/views/admin/views/core/settings/authorization/hooks/use-authorization-settings-form-admin.ts +++ b/packages/frontend/src/views/admin/views/core/settings/authorization/hooks/use-authorization-settings-form-admin.ts @@ -1,7 +1,7 @@ import { useTranslations } from 'next-intl'; import { toast } from 'sonner'; import { ShowAuthSettingsAdminObj } from 'vitnode-shared/admin/settings/auth.dto'; -import * as z from 'zod'; +import { z } from 'zod'; import { mutationApi } from './mutation-api'; diff --git a/packages/frontend/src/views/admin/views/core/settings/authorization/layout/tabs.tsx b/packages/frontend/src/views/admin/views/core/settings/authorization/layout/tabs.tsx index 251a984e4..e72d9fd4d 100644 --- a/packages/frontend/src/views/admin/views/core/settings/authorization/layout/tabs.tsx +++ b/packages/frontend/src/views/admin/views/core/settings/authorization/layout/tabs.tsx @@ -1,14 +1,10 @@ 'use client'; -import { Tabs, TabsTrigger } from '@/components/ui/tabs'; +import { Tabs, TabsItem } from '@/components/ui/tabs'; import { usePathname } from '@/navigation'; import { useTranslations } from 'next-intl'; import React from 'react'; -enum TabsEnum { - Settings = 'settings', -} - const tabsItems = [ { id: 'settings' as const, @@ -27,14 +23,13 @@ export const TabsLayoutAuthorizationSettingsAdmin = () => { return ( {tabsItems.map(item => ( - {t(`${item.id}.title`)} - + ))} ); diff --git a/packages/frontend/src/views/admin/views/core/settings/authorization/methods/create-edit/hooks/use-create-method-auth-admin-api.ts b/packages/frontend/src/views/admin/views/core/settings/authorization/methods/create-edit/hooks/use-create-method-auth-admin-api.ts index 39ee80228..38455a9ba 100644 --- a/packages/frontend/src/views/admin/views/core/settings/authorization/methods/create-edit/hooks/use-create-method-auth-admin-api.ts +++ b/packages/frontend/src/views/admin/views/core/settings/authorization/methods/create-edit/hooks/use-create-method-auth-admin-api.ts @@ -2,7 +2,7 @@ import { useDialog } from '@/components/ui/dialog'; import { useTranslations } from 'next-intl'; import React from 'react'; import { toast } from 'sonner'; -import * as z from 'zod'; +import { z } from 'zod'; import { ContentCreateEditMethodsAuthSettingsAdmin } from '../content'; import { createMutationApi } from './create-mutation-api'; diff --git a/packages/frontend/src/views/admin/views/core/settings/email/actions/testing/hooks/use-testing-email-admin.tsx b/packages/frontend/src/views/admin/views/core/settings/email/actions/testing/hooks/use-testing-email-admin.tsx index 151b19a45..2b70d2275 100644 --- a/packages/frontend/src/views/admin/views/core/settings/email/actions/testing/hooks/use-testing-email-admin.tsx +++ b/packages/frontend/src/views/admin/views/core/settings/email/actions/testing/hooks/use-testing-email-admin.tsx @@ -1,7 +1,7 @@ import { useDialog } from '@/components/ui/dialog'; import { useTranslations } from 'next-intl'; import { toast } from 'sonner'; -import * as z from 'zod'; +import { z } from 'zod'; import { mutationApi } from './mutation-api'; diff --git a/packages/frontend/src/views/admin/views/core/settings/email/hooks/use-email-settings-form-admin.ts b/packages/frontend/src/views/admin/views/core/settings/email/hooks/use-email-settings-form-admin.ts index 7eebbca22..b23884ac5 100644 --- a/packages/frontend/src/views/admin/views/core/settings/email/hooks/use-email-settings-form-admin.ts +++ b/packages/frontend/src/views/admin/views/core/settings/email/hooks/use-email-settings-form-admin.ts @@ -8,7 +8,7 @@ import { EditEmailSettingsAdminBody, ShowEmailSettingsAdminObj, } from 'vitnode-shared/admin/settings/email.dto'; -import * as z from 'zod'; +import { z } from 'zod'; import { ContentEmailSettingsAdmin } from '../content'; import { revalidateApi } from './revalidate-api'; diff --git a/packages/frontend/src/views/admin/views/core/settings/legal/create_edit/hooks/use-create-edit-legal-admin.ts b/packages/frontend/src/views/admin/views/core/settings/legal/create_edit/hooks/use-create-edit-legal-admin.ts index 903bb57f7..4c3a1a8ab 100644 --- a/packages/frontend/src/views/admin/views/core/settings/legal/create_edit/hooks/use-create-edit-legal-admin.ts +++ b/packages/frontend/src/views/admin/views/core/settings/legal/create_edit/hooks/use-create-edit-legal-admin.ts @@ -6,7 +6,7 @@ import { UseFormReturn } from 'react-hook-form'; import { toast } from 'sonner'; import { CreateLegalSettingsAdminBody } from 'vitnode-shared/admin/settings/legal.dto'; import { LegalsObj } from 'vitnode-shared/legal.dto'; -import * as z from 'zod'; +import { z } from 'zod'; import { createMutationApi } from './create-mutation-api'; import { editMutationApi } from './edit-mutation-api'; diff --git a/packages/frontend/src/views/admin/views/core/settings/main/hooks/use-settings-core-admin.ts b/packages/frontend/src/views/admin/views/core/settings/main/hooks/use-settings-core-admin.ts index 1ccf9457c..c6dc154c6 100644 --- a/packages/frontend/src/views/admin/views/core/settings/main/hooks/use-settings-core-admin.ts +++ b/packages/frontend/src/views/admin/views/core/settings/main/hooks/use-settings-core-admin.ts @@ -2,7 +2,7 @@ import { zodLanguageInput } from '@/helpers/zod'; import { useTranslations } from 'next-intl'; import { toast } from 'sonner'; import { ShowMiddlewareObj } from 'vitnode-shared/middleware.dto'; -import * as z from 'zod'; +import { z } from 'zod'; import { mutationApi } from './mutation-api'; diff --git a/packages/frontend/src/views/admin/views/core/settings/metadata/hooks/use-metadata-settings-admin-api.ts b/packages/frontend/src/views/admin/views/core/settings/metadata/hooks/use-metadata-settings-admin-api.ts index df94f80b3..10a702c3e 100644 --- a/packages/frontend/src/views/admin/views/core/settings/metadata/hooks/use-metadata-settings-admin-api.ts +++ b/packages/frontend/src/views/admin/views/core/settings/metadata/hooks/use-metadata-settings-admin-api.ts @@ -9,7 +9,7 @@ import { ShowMetadataAdminObj, } from 'vitnode-shared/admin/settings/metadata.dto'; import { ManifestDisplay } from 'vitnode-shared/admin/settings/metadata.enum'; -import * as z from 'zod'; +import { z } from 'zod'; import { revalidateAllApi } from '../../../diagnostic/actions/clear_cache/hooks/revalidate-all-api'; import { ContentMetadataSettingsAdmin } from '../content'; diff --git a/packages/frontend/src/views/admin/views/core/styles/editor/hooks/use-editor-admin.ts b/packages/frontend/src/views/admin/views/core/styles/editor/hooks/use-editor-admin.ts index 025c2dbeb..bb42345b4 100644 --- a/packages/frontend/src/views/admin/views/core/styles/editor/hooks/use-editor-admin.ts +++ b/packages/frontend/src/views/admin/views/core/styles/editor/hooks/use-editor-admin.ts @@ -3,7 +3,7 @@ import { UseFormReturn } from 'react-hook-form'; import { toast } from 'sonner'; import { ShowMiddlewareObj } from 'vitnode-shared/middleware.dto'; import { AllowTypeFilesEnum } from 'vitnode-shared/utils/global'; -import * as z from 'zod'; +import { z } from 'zod'; import { mutationApi } from './mutation-api'; diff --git a/packages/frontend/src/views/admin/views/core/styles/nav/create-edit/hooks/use-create-edit-nav-admin.ts b/packages/frontend/src/views/admin/views/core/styles/nav/create-edit/hooks/use-create-edit-nav-admin.ts index 0daf19f34..3f1f7e657 100644 --- a/packages/frontend/src/views/admin/views/core/styles/nav/create-edit/hooks/use-create-edit-nav-admin.ts +++ b/packages/frontend/src/views/admin/views/core/styles/nav/create-edit/hooks/use-create-edit-nav-admin.ts @@ -3,7 +3,7 @@ import { zodLanguageInput } from '@/helpers/zod'; import { useTextLang } from '@/hooks/use-text-lang'; import { useTranslations } from 'next-intl'; import { toast } from 'sonner'; -import * as z from 'zod'; +import { z } from 'zod'; import { ContentCreateEditNavAdmin } from '../create-edit'; import { createMutationApi } from './create-mutation-api'; diff --git a/packages/frontend/src/views/admin/views/core/styles/theme-editor/hooks/use-theme-editor.ts b/packages/frontend/src/views/admin/views/core/styles/theme-editor/hooks/use-theme-editor.ts index aa8710986..812d5d2ea 100644 --- a/packages/frontend/src/views/admin/views/core/styles/theme-editor/hooks/use-theme-editor.ts +++ b/packages/frontend/src/views/admin/views/core/styles/theme-editor/hooks/use-theme-editor.ts @@ -2,7 +2,7 @@ import { FilesInputValue } from '@/components/ui/file-input'; import { zodFile } from '@/helpers/zod'; import React from 'react'; import { UseFormReturn } from 'react-hook-form'; -import * as z from 'zod'; +import { z } from 'zod'; export enum ThemeEditorIds { dark = 'vitnode_logo_dark', @@ -13,7 +13,7 @@ export enum ThemeEditorIds { interface Args { form: UseFormReturn; - iframeRef: React.RefObject; + iframeRef: React.RefObject; onSubmit: (args: FormValues) => void; updateLogo: (args: { file: FilesInputValue | null; diff --git a/packages/frontend/src/views/admin/views/core/styles/theme-editor/wrapper.tsx b/packages/frontend/src/views/admin/views/core/styles/theme-editor/wrapper.tsx index eb9828de6..f63581627 100644 --- a/packages/frontend/src/views/admin/views/core/styles/theme-editor/wrapper.tsx +++ b/packages/frontend/src/views/admin/views/core/styles/theme-editor/wrapper.tsx @@ -13,7 +13,7 @@ import { EditThemeEditorStylesAdminBody, EditThemeEditorStylesAdminObj, } from 'vitnode-shared/admin/styles/theme-editor.dto'; -import * as z from 'zod'; +import { z } from 'zod'; import { revalidateAllApi } from '../../diagnostic/actions/clear_cache/hooks/revalidate-all-api'; import { diff --git a/packages/frontend/src/views/admin/views/members/create/hooks/use-create-user-admin.ts b/packages/frontend/src/views/admin/views/members/create/hooks/use-create-user-admin.ts index dbd1095c1..f62a3630d 100644 --- a/packages/frontend/src/views/admin/views/members/create/hooks/use-create-user-admin.ts +++ b/packages/frontend/src/views/admin/views/members/create/hooks/use-create-user-admin.ts @@ -5,7 +5,7 @@ import { useTranslations } from 'next-intl'; import React from 'react'; import { UseFormReturn } from 'react-hook-form'; import { toast } from 'sonner'; -import * as z from 'zod'; +import { z } from 'zod'; import { mutationApi } from './mutation-api'; diff --git a/packages/frontend/src/views/admin/views/members/groups/create-edit-form/create-edit-form-groups-members-admin.tsx b/packages/frontend/src/views/admin/views/members/groups/create-edit-form/create-edit-form-groups-members-admin.tsx index d5a9555bd..202e90e8a 100644 --- a/packages/frontend/src/views/admin/views/members/groups/create-edit-form/create-edit-form-groups-members-admin.tsx +++ b/packages/frontend/src/views/admin/views/members/groups/create-edit-form/create-edit-form-groups-members-admin.tsx @@ -6,7 +6,7 @@ import { AutoFormStringLanguageInput } from '@/components/form/fields/text-langu import { Button } from '@/components/ui/button'; import { Checkbox } from '@/components/ui/checkbox'; import { Label } from '@/components/ui/label'; -import { Tabs, TabsTrigger } from '@/components/ui/tabs'; +import { Tabs, TabsItem } from '@/components/ui/tabs'; import { useTranslations } from 'next-intl'; import React from 'react'; import { GroupsMembersAdminObj } from 'vitnode-shared/admin/members/groups.dto'; @@ -36,24 +36,22 @@ export const CreateEditFormGroupsMembersAdmin = ({ return ( <> - { setActiveTab(TabsEnum.MAIN); }} > {t('create_edit.main')} - - + { setActiveTab(TabsEnum.CONTENT); }} > {t('create_edit.content')} - + {permissions.map(permission => ( - { setActiveTab(permission.plugin_code); }} > {permission.plugin} - + ))} diff --git a/packages/frontend/src/views/admin/views/members/user/actions/edit/edit.tsx b/packages/frontend/src/views/admin/views/members/user/actions/edit/edit.tsx index 675b6ba94..296180f24 100644 --- a/packages/frontend/src/views/admin/views/members/user/actions/edit/edit.tsx +++ b/packages/frontend/src/views/admin/views/members/user/actions/edit/edit.tsx @@ -11,7 +11,7 @@ import { useTranslations } from 'next-intl'; import { UseFormReturn } from 'react-hook-form'; import { toast } from 'sonner'; import { UserMembersAdmin } from 'vitnode-shared/admin/members/users.dto'; -import * as z from 'zod'; +import { z } from 'zod'; import { mutationApi } from './mutation-api'; diff --git a/packages/frontend/src/views/theme/views/auth/sign/in/hooks/use-sign-in-admin-view.ts b/packages/frontend/src/views/theme/views/auth/sign/in/hooks/use-sign-in-admin-view.ts index f7a2819a8..cb16d8a1a 100644 --- a/packages/frontend/src/views/theme/views/auth/sign/in/hooks/use-sign-in-admin-view.ts +++ b/packages/frontend/src/views/theme/views/auth/sign/in/hooks/use-sign-in-admin-view.ts @@ -1,7 +1,7 @@ import { useTranslations } from 'next-intl'; import React from 'react'; import { toast } from 'sonner'; -import * as z from 'zod'; +import { z } from 'zod'; import { mutationApi } from './mutation-api'; diff --git a/packages/frontend/src/views/theme/views/auth/sign/in/hooks/use-sign-in-view.ts b/packages/frontend/src/views/theme/views/auth/sign/in/hooks/use-sign-in-view.ts index 871ece197..1aef881ab 100644 --- a/packages/frontend/src/views/theme/views/auth/sign/in/hooks/use-sign-in-view.ts +++ b/packages/frontend/src/views/theme/views/auth/sign/in/hooks/use-sign-in-view.ts @@ -1,7 +1,7 @@ import { useTranslations } from 'next-intl'; import React from 'react'; import { toast } from 'sonner'; -import * as z from 'zod'; +import { z } from 'zod'; import { mutationApi } from './mutation-api'; diff --git a/packages/frontend/src/views/theme/views/auth/sign/sso/callback/name-form.tsx b/packages/frontend/src/views/theme/views/auth/sign/sso/callback/name-form.tsx index 22932430b..f44133cb9 100644 --- a/packages/frontend/src/views/theme/views/auth/sign/sso/callback/name-form.tsx +++ b/packages/frontend/src/views/theme/views/auth/sign/sso/callback/name-form.tsx @@ -8,7 +8,7 @@ import { useTranslations } from 'next-intl'; import { UseFormReturn } from 'react-hook-form'; import { toast } from 'sonner'; import { SSOCallbackAuthObj } from 'vitnode-shared/auth/sso.dto'; -import * as z from 'zod'; +import { z } from 'zod'; import { nameRegex } from '../../up/hooks/use-sign-up-view'; import { mutationApi } from './hooks/mutation-api'; diff --git a/packages/frontend/src/views/theme/views/auth/sign/up/hooks/use-sign-up-view.ts b/packages/frontend/src/views/theme/views/auth/sign/up/hooks/use-sign-up-view.ts index 3f5570cc0..10e8b8b84 100644 --- a/packages/frontend/src/views/theme/views/auth/sign/up/hooks/use-sign-up-view.ts +++ b/packages/frontend/src/views/theme/views/auth/sign/up/hooks/use-sign-up-view.ts @@ -3,7 +3,7 @@ import { useSignUp } from '@/views/theme/views/auth/sign/up/use-sign-up'; import { useTranslations } from 'next-intl'; import { UseFormReturn } from 'react-hook-form'; import { toast } from 'sonner'; -import * as z from 'zod'; +import { z } from 'zod'; import { mutationApi } from './mutation-api'; diff --git a/packages/frontend/src/views/theme/views/settings/layout.tsx b/packages/frontend/src/views/theme/views/settings/layout.tsx index aaeea3904..db88d2764 100644 --- a/packages/frontend/src/views/theme/views/settings/layout.tsx +++ b/packages/frontend/src/views/theme/views/settings/layout.tsx @@ -1,8 +1,5 @@ import { getSessionData } from '@/api/get-session-data'; import { TranslationsProvider } from '@/components/translations-provider'; -import { Card } from '@/components/ui/card'; -import { HeaderContent } from '@/components/ui/header-content'; -import { getTranslations } from 'next-intl/server'; import { notFound } from 'next/navigation'; import React from 'react'; @@ -13,11 +10,7 @@ export const LayoutSettingsView = async ({ }: { children: React.ReactNode; }) => { - const [t, session] = await Promise.all([ - getTranslations('core'), - getSessionData(), - ]); - + const session = await getSessionData(); if (!session.user) { notFound(); } @@ -25,15 +18,9 @@ export const LayoutSettingsView = async ({ return (
- - -
+
- {children} + {children}
diff --git a/packages/frontend/src/views/theme/views/settings/nav/item.tsx b/packages/frontend/src/views/theme/views/settings/nav/item.tsx index 0c614d3a2..1750fb36e 100644 --- a/packages/frontend/src/views/theme/views/settings/nav/item.tsx +++ b/packages/frontend/src/views/theme/views/settings/nav/item.tsx @@ -1,7 +1,8 @@ 'use client'; -import { Button } from '@/components/ui/button'; -import { Link, usePathname } from '@/navigation'; +import { TabsItem } from '@/components/ui/tabs'; +import { cn } from '@/helpers/classnames'; +import { usePathname } from '@/navigation'; import { NavItemsType } from './nav-settings'; @@ -10,16 +11,17 @@ export const ItemNavSettings = ({ icon, text, href }: NavItemsType) => { const active = pathname === href; return ( - + {icon} + {text} + ); }; diff --git a/packages/frontend/src/views/theme/views/settings/nav/nav-settings.tsx b/packages/frontend/src/views/theme/views/settings/nav/nav-settings.tsx index f2f0b0cd6..04875bec9 100644 --- a/packages/frontend/src/views/theme/views/settings/nav/nav-settings.tsx +++ b/packages/frontend/src/views/theme/views/settings/nav/nav-settings.tsx @@ -1,11 +1,4 @@ -import { - Drawer, - DrawerClose, - DrawerContent, - DrawerTrigger, -} from '@/components/ui/drawer'; -import { DialogDescription, DialogTitle } from '@radix-ui/react-dialog'; -import { VisuallyHidden } from '@radix-ui/react-visually-hidden'; +import { Tabs } from '@/components/ui/tabs'; import { CogIcon, FilesIcon, MonitorSmartphoneIcon } from 'lucide-react'; import { getTranslations } from 'next-intl/server'; @@ -38,35 +31,10 @@ export const NavSettings = async () => { ]; return ( - + + {navItems.map(item => ( + + ))} + ); }; diff --git a/packages/frontend/src/views/theme/views/settings/views/devices/content.tsx b/packages/frontend/src/views/theme/views/settings/views/devices/content.tsx index dc49912b1..2bdb24433 100644 --- a/packages/frontend/src/views/theme/views/settings/views/devices/content.tsx +++ b/packages/frontend/src/views/theme/views/settings/views/devices/content.tsx @@ -1,5 +1,6 @@ import { DateFormat } from '@/components/date-format'; import { Badge } from '@/components/ui/badge'; +import { Card } from '@/components/ui/card'; import { Separator } from '@/components/ui/separator'; import { Monitor, Smartphone } from 'lucide-react'; import { useTranslations } from 'next-intl'; @@ -30,7 +31,7 @@ export const ContentDevicesSettings = ({ return (
{data.map(device => ( -
+
{getDeviceIcon(device.uagent_os)} @@ -74,7 +75,7 @@ export const ContentDevicesSettings = ({
-
+
))}
); diff --git a/packages/frontend/src/views/theme/views/settings/views/devices/devices-settings-view.tsx b/packages/frontend/src/views/theme/views/settings/views/devices/devices-settings-view.tsx index 46d5279e8..13559623c 100644 --- a/packages/frontend/src/views/theme/views/settings/views/devices/devices-settings-view.tsx +++ b/packages/frontend/src/views/theme/views/settings/views/devices/devices-settings-view.tsx @@ -1,5 +1,5 @@ import { fetcher } from '@/api/fetcher'; -import { CardContent, CardDescription, CardHeader } from '@/components/ui/card'; +import { HeaderContent } from '@/components/ui/header-content'; import { redirect } from '@/navigation'; import { Metadata } from 'next'; import { getTranslations } from 'next-intl/server'; @@ -40,17 +40,10 @@ export const DevicesSettingsView = async () => { } return ( - <> - -

- {t('title')} -

- {t('desc')} -
- - - - - +
+ + + +
); }; diff --git a/packages/frontend/src/views/theme/views/settings/views/files/files-settings-view.tsx b/packages/frontend/src/views/theme/views/settings/views/files/files-settings-view.tsx index abdf20a58..7d9546525 100644 --- a/packages/frontend/src/views/theme/views/settings/views/files/files-settings-view.tsx +++ b/packages/frontend/src/views/theme/views/settings/views/files/files-settings-view.tsx @@ -1,6 +1,6 @@ import { fetcher } from '@/api/fetcher'; import { getSessionData } from '@/api/get-session-data'; -import { CardContent, CardDescription, CardHeader } from '@/components/ui/card'; +import { HeaderContent } from '@/components/ui/header-content'; import { Loader } from '@/components/ui/loader'; import { Progress } from '@/components/ui/progress'; import { cn } from '@/helpers/classnames'; @@ -62,37 +62,30 @@ export const FilesSettingsView = async ({ (files_permissions.space_used / files_permissions.total_max_storage) * 100; return ( - <> - -

- {t('title')} -

- {t('desc')} -
+
+ - - {files_permissions.total_max_storage > 0 && ( -
- div]:bg-destructive': percentStorage > 85, - })} - value={percentStorage} - /> -
- {t.rich('storage_usage', { - used: formatBytes(files_permissions.space_used), - total: formatBytes(files_permissions.total_max_storage), - percent: Math.round(percentStorage), - })} -
+ {files_permissions.total_max_storage > 0 && ( +
+ div]:bg-destructive': percentStorage > 85, + })} + value={percentStorage} + /> +
+ {t.rich('storage_usage', { + used: formatBytes(files_permissions.space_used), + total: formatBytes(files_permissions.total_max_storage), + percent: Math.round(percentStorage), + })}
- )} +
+ )} - }> - - - - + }> + + +
); }; diff --git a/packages/frontend/src/views/theme/views/settings/views/overview/basic-info/basic-info.tsx b/packages/frontend/src/views/theme/views/settings/views/overview/basic-info/basic-info.tsx new file mode 100644 index 000000000..ea20d6759 --- /dev/null +++ b/packages/frontend/src/views/theme/views/settings/views/overview/basic-info/basic-info.tsx @@ -0,0 +1,36 @@ +import { getSessionData } from '@/api/get-session-data'; +import { DateFormat } from '@/components/date-format'; +import { Card, CardContent, CardHeader } from '@/components/ui/card'; +import { getTranslations } from 'next-intl/server'; + +export const BasicInfoOverviewSettings = async () => { + const [t, { user }] = await Promise.all([ + getTranslations('core.settings.overview.basic_info'), + getSessionData(), + ]); + if (!user) return null; + + return ( + + +

+ {t('title')} +

+
+ + +
+
{t('email')}
+
{user.email}
+
+ +
+
{t('joined_at')}
+
+ +
+
+
+
+ ); +}; diff --git a/packages/frontend/src/views/theme/views/settings/views/overview/change-avatar/change-avatar-wrapper.tsx b/packages/frontend/src/views/theme/views/settings/views/overview/change-avatar/change-avatar-wrapper.tsx new file mode 100644 index 000000000..3787366af --- /dev/null +++ b/packages/frontend/src/views/theme/views/settings/views/overview/change-avatar/change-avatar-wrapper.tsx @@ -0,0 +1,61 @@ +'use client'; + +import { Button } from '@/components/ui/button'; +import { + Dialog, + DialogContent, + DialogDescription, + DialogHeader, + DialogTitle, + DialogTrigger, +} from '@/components/ui/dialog'; +import { Loader } from '@/components/ui/loader'; +import { TooltipWrapper } from '@/components/ui/tooltip'; +import { PencilIcon } from 'lucide-react'; +import { useTranslations } from 'next-intl'; +import React from 'react'; + +const ContentChangeAvatar = React.lazy(async () => + import('./content').then(module => ({ + default: module.ContentChangeAvatar, + })), +); + +export const ChangeAvatarWrapper = ({ + children, +}: { + children: React.ReactNode; +}) => { + const t = useTranslations('core.settings.overview.change_avatar'); + + return ( +
+ {children} + + + + + + + + + + {t('title')} + {t('desc')} + + + }> + + + + +
+ ); +}; diff --git a/packages/frontend/src/views/theme/views/settings/views/overview/change-avatar/content.tsx b/packages/frontend/src/views/theme/views/settings/views/overview/change-avatar/content.tsx new file mode 100644 index 000000000..4b79df5d5 --- /dev/null +++ b/packages/frontend/src/views/theme/views/settings/views/overview/change-avatar/content.tsx @@ -0,0 +1,81 @@ +import { AutoForm, DependencyType } from '@/components/form/auto-form'; +import { AutoFormFileInput } from '@/components/form/fields/file-input'; +import { AutoFormRadioGroup } from '@/components/form/fields/radio-group'; +import { Button } from '@/components/ui/button'; +import { useSession } from '@/hooks/use-session'; +import { useTranslations } from 'next-intl'; + +import { CopperChangeAvatar } from './cropper/cropper'; +import { useChangeAvatar } from './hooks/use-change-avatar'; + +export const ContentChangeAvatar = () => { + const { formSchema, cropperRef, onSubmit, setValues, values } = + useChangeAvatar(); + const { user } = useSession(); + const t = useTranslations('core.settings.overview.change_avatar'); + + if (!user) return null; + + return ( + type !== 'upload', + }, + { + sourceField: 'type', + type: DependencyType.HIDES, + targetField: 'type', + when: () => !user.avatar, + }, + { + sourceField: 'file', + type: DependencyType.HIDES, + targetField: 'file', + when: (file: string) => !!file, + }, + ]} + fields={[ + { + id: 'type', + component: props => ( + + ), + }, + { + id: 'file', + component: props => ( + + ), + }, + ]} + formSchema={formSchema} + onSubmit={onSubmit} + onValuesChange={setValues} + submitButton={props => } + > + {values.file && values.file instanceof File && ( + + )} + + ); +}; diff --git a/packages/frontend/src/views/theme/views/settings/views/overview/change-avatar/cropper/cropper.tsx b/packages/frontend/src/views/theme/views/settings/views/overview/change-avatar/cropper/cropper.tsx new file mode 100644 index 000000000..995419bfb --- /dev/null +++ b/packages/frontend/src/views/theme/views/settings/views/overview/change-avatar/cropper/cropper.tsx @@ -0,0 +1,26 @@ +import React from 'react'; +import { Cropper, ReactCropperElement } from 'react-cropper'; +import 'cropperjs/dist/cropper.css'; + +export const CopperChangeAvatar = ({ + file, + cropperRef, +}: { + cropperRef: React.RefObject; + file: File; +}) => { + return ( + + ); +}; diff --git a/packages/frontend/src/views/theme/views/settings/views/overview/change-avatar/hooks/use-change-avatar.ts b/packages/frontend/src/views/theme/views/settings/views/overview/change-avatar/hooks/use-change-avatar.ts new file mode 100644 index 000000000..e718b8da7 --- /dev/null +++ b/packages/frontend/src/views/theme/views/settings/views/overview/change-avatar/hooks/use-change-avatar.ts @@ -0,0 +1,72 @@ +import { fetcherClient } from '@/api/fetcher-client'; +import { useDialog } from '@/components/ui/dialog'; +import { zodFile } from '@/helpers/zod'; +import { useSession } from '@/hooks/use-session'; +import { revalidateAllApi } from '@/views/admin/views/core/diagnostic/actions/clear_cache/hooks/revalidate-all-api'; +import { useTranslations } from 'next-intl'; +import React from 'react'; +import { ReactCropperElement } from 'react-cropper'; +import { toast } from 'sonner'; +import { UploadAvatarUserSettingsAuthBody } from 'vitnode-shared/auth/settings/user.dto'; +import { z } from 'zod'; + +export const useChangeAvatar = () => { + const t = useTranslations('core.settings.overview.change_avatar'); + const tErrors = useTranslations('core.global.errors'); + const { setOpen } = useDialog(); + const { user } = useSession(); + const cropperRef = React.useRef(null); + const formSchema = z + .object({ + type: z.enum(['upload', 'delete']).default('upload'), + file: zodFile.optional(), + }) + .refine(data => { + if (data.type === 'upload' && !data.file) { + return false; + } + + return true; + }); + const [values, setValues] = React.useState< + Partial> + >({}); + + const onSubmit = async (values: z.infer) => { + if (!user) return; + + const formData = new FormData(); + if (values.type === 'upload') { + const cropper = cropperRef.current?.cropper; + if (!cropper) return; + + const blob = await fetch(cropper.getCroppedCanvas().toDataURL()).then( + async res => res.blob(), + ); + const file = new File([blob], `${user.id}.webp`, { + type: blob.type, + }); + + formData.append('avatar', file); + } else { + formData.append('delete_avatar', 'true'); + } + + try { + await fetcherClient({ + method: 'PUT', + url: '/core/auth/settings/user/avatar', + body: formData, + }); + await revalidateAllApi(); + toast.success(t('success')); + setOpen?.(false); + } catch (_) { + toast.error(tErrors('title'), { + description: tErrors('internal_server_error'), + }); + } + }; + + return { formSchema, cropperRef, onSubmit, setValues, values }; +}; diff --git a/packages/frontend/src/views/theme/views/settings/views/overview/overview-settings-view.tsx b/packages/frontend/src/views/theme/views/settings/views/overview/overview-settings-view.tsx index 6529da8f7..48ae2af4d 100644 --- a/packages/frontend/src/views/theme/views/settings/views/overview/overview-settings-view.tsx +++ b/packages/frontend/src/views/theme/views/settings/views/overview/overview-settings-view.tsx @@ -1,3 +1,32 @@ -export const OverviewSettingsView = () => { - return
OverviewSettingsView
; +import { getSessionData } from '@/api/get-session-data'; +import { Card } from '@/components/ui/card'; +import { AvatarUser } from '@/components/ui/user/avatar'; +import { GroupFormat } from '@/components/ui/user/group-format'; + +import { BasicInfoOverviewSettings } from './basic-info/basic-info'; +import { ChangeAvatarWrapper } from './change-avatar/change-avatar-wrapper'; + +export const OverviewSettingsView = async () => { + const { user } = await getSessionData(); + if (!user) return null; + + return ( +
+ +
+ + + +
+

{user.name}

+ +
+
+ + {/*
test123
*/} +
+ + +
+ ); }; diff --git a/packages/shared/package.json b/packages/shared/package.json index f11281f91..6ba9235f3 100644 --- a/packages/shared/package.json +++ b/packages/shared/package.json @@ -23,6 +23,10 @@ "types": "./dist/*.d.ts" } }, + "peerDependencies": { + "class-transformer": "^0.5.1", + "class-validator": "^0.14.1" + }, "devDependencies": { "@types/multer": "^1.4.12", "@types/node": "^22.10.1", @@ -32,7 +36,7 @@ "typescript": "^5.7.2" }, "dependencies": { - "@nestjs/common": "^10.4.12", - "@nestjs/swagger": "^8.0.7" + "@nestjs/common": "^10.4.13", + "@nestjs/swagger": "^8.1.0" } } diff --git a/packages/shared/src/admin/members/users.dto.ts b/packages/shared/src/admin/members/users.dto.ts index 5475bbbe5..5e1aa8268 100644 --- a/packages/shared/src/admin/members/users.dto.ts +++ b/packages/shared/src/admin/members/users.dto.ts @@ -52,9 +52,6 @@ export class UserMembersAdmin extends User { @ApiProperty() email_verified: boolean; - @ApiProperty() - joined_at: Date; - @ApiProperty() newsletter: boolean; } diff --git a/packages/shared/src/auth/settings/user.dto.ts b/packages/shared/src/auth/settings/user.dto.ts new file mode 100644 index 000000000..257718548 --- /dev/null +++ b/packages/shared/src/auth/settings/user.dto.ts @@ -0,0 +1,14 @@ +import { ApiPropertyOptional } from '@nestjs/swagger'; +import { Transform } from 'class-transformer'; +import { IsBoolean, IsOptional } from 'class-validator'; + +export class UploadAvatarUserSettingsAuthBody { + @ApiPropertyOptional({ type: 'string', format: 'binary' }) + avatar?: Express.Multer.File; + + @ApiPropertyOptional() + @IsBoolean() + @IsOptional() + @Transform(({ value }) => value === 'true') + delete_avatar: boolean; +} diff --git a/packages/shared/src/user.dto.ts b/packages/shared/src/user.dto.ts index 398aa967f..1b7004ddf 100644 --- a/packages/shared/src/user.dto.ts +++ b/packages/shared/src/user.dto.ts @@ -51,6 +51,9 @@ export class User { @ApiProperty() id: number; + @ApiProperty() + joined_at: Date; + @ApiProperty() language: string; diff --git a/packages/shared/tsconfig.json b/packages/shared/tsconfig.json index c7c911b90..01f2f2e88 100644 --- a/packages/shared/tsconfig.json +++ b/packages/shared/tsconfig.json @@ -3,8 +3,8 @@ "extends": "eslint-config-typescript-vitnode/tsconfig.nest.json", "compilerOptions": { "target": "ESNext", - "module": "es2015", - "moduleResolution": "bundler", + "module": "Node16", + "moduleResolution": "Node16", "outDir": "./dist", "rootDir": "./src", "esModuleInterop": true, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8d589ec05..86177cee9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -24,23 +24,20 @@ importers: apps/backend: dependencies: '@nestjs/common': - specifier: ^10.4.12 - version: 10.4.12(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) + specifier: ^10.4.13 + version: 10.4.13(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) '@nestjs/core': - specifier: ^10.4.12 - version: 10.4.12(@nestjs/common@10.4.12(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.12)(reflect-metadata@0.2.2)(rxjs@7.8.1) + specifier: ^10.4.13 + version: 10.4.13(@nestjs/common@10.4.13(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.13)(reflect-metadata@0.2.2)(rxjs@7.8.1) '@nestjs/platform-express': - specifier: ^10.4.12 - version: 10.4.12(@nestjs/common@10.4.12(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.12) + specifier: ^10.4.13 + version: 10.4.13(@nestjs/common@10.4.13(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.13) '@nestjs/schedule': specifier: ^4.1.1 - version: 4.1.1(@nestjs/common@10.4.12(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.12(@nestjs/common@10.4.12(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.12)(reflect-metadata@0.2.2)(rxjs@7.8.1)) - '@nestjs/throttler': - specifier: ^6.2.1 - version: 6.2.1(@nestjs/common@10.4.12(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.12(@nestjs/common@10.4.12(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.12)(reflect-metadata@0.2.2)(rxjs@7.8.1))(reflect-metadata@0.2.2) + version: 4.1.1(@nestjs/common@10.4.13(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.13(@nestjs/common@10.4.13(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.13)(reflect-metadata@0.2.2)(rxjs@7.8.1)) '@react-email/components': - specifier: ^0.0.28 - version: 0.0.28(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + specifier: ^0.0.29 + version: 0.0.29(react-dom@19.0.0(react@19.0.0))(react@19.0.0) class-transformer: specifier: ^0.5.1 version: 0.5.1 @@ -48,17 +45,17 @@ importers: specifier: ^0.14.1 version: 0.14.1 drizzle-kit: - specifier: ^0.28.1 - version: 0.28.1 + specifier: ^0.29.1 + version: 0.29.1 drizzle-orm: - specifier: ^0.36.4 - version: 0.36.4(@opentelemetry/api@1.9.0)(@types/pg@8.11.10)(@types/react@18.3.12)(pg@8.13.1)(react@19.0.0-rc.1) + specifier: ^0.37.0 + version: 0.37.0(@opentelemetry/api@1.9.0)(@types/pg@8.11.10)(@types/react@19.0.0)(pg@8.13.1)(react@19.0.0) react: - specifier: 19.0.0-rc.1 - version: 19.0.0-rc.1 + specifier: ^19.0.0 + version: 19.0.0 react-dom: - specifier: 19.0.0-rc.1 - version: 19.0.0-rc.1(react@19.0.0-rc.1) + specifier: ^19.0.0 + version: 19.0.0(react@19.0.0) reflect-metadata: specifier: ^0.2.2 version: 0.2.2 @@ -80,13 +77,13 @@ importers: devDependencies: '@nestjs/cli': specifier: ^10.4.8 - version: 10.4.8(@swc/cli@0.5.2(@swc/core@1.9.3(@swc/helpers@0.5.13))(chokidar@3.6.0))(@swc/core@1.9.3(@swc/helpers@0.5.13)) + version: 10.4.8(@swc/cli@0.5.2(@swc/core@1.10.0(@swc/helpers@0.5.13))(chokidar@3.6.0))(@swc/core@1.10.0(@swc/helpers@0.5.13)) '@nestjs/schematics': specifier: ^10.2.3 version: 10.2.3(chokidar@3.6.0)(typescript@5.7.2) '@swc/cli': specifier: ^0.5.2 - version: 0.5.2(@swc/core@1.9.3(@swc/helpers@0.5.13))(chokidar@3.6.0) + version: 0.5.2(@swc/core@1.10.0(@swc/helpers@0.5.13))(chokidar@3.6.0) '@types/express': specifier: ^5.0.0 version: 5.0.0 @@ -94,8 +91,8 @@ importers: specifier: ^22.10.1 version: 22.10.1 '@types/react': - specifier: ^18.3.12 - version: 18.3.12 + specifier: ^19.0.0 + version: 19.0.0 cross-env: specifier: ^7.0.3 version: 7.0.3 @@ -116,34 +113,34 @@ importers: dependencies: '@hookform/resolvers': specifier: ^3.9.1 - version: 3.9.1(react-hook-form@7.53.2(react@19.0.0-rc.1)) + version: 3.9.1(react-hook-form@7.53.2(react@19.0.0)) geist: specifier: ^1.3.1 - version: 1.3.1(next@15.0.3(@opentelemetry/api@1.9.0)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1)) + version: 1.3.1(next@15.0.3(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)) lucide-react: - specifier: ^0.462.0 - version: 0.462.0(react@19.0.0-rc.1) + specifier: ^0.468.0 + version: 0.468.0(react@19.0.0) next: specifier: ^15.0.3 - version: 15.0.3(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.0.0-beta-df7b47d-20241124)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + version: 15.0.3(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.0.0-beta-df7b47d-20241124)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) next-intl: specifier: ^3.25.3 - version: 3.25.3(next@15.0.3(@opentelemetry/api@1.9.0)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1))(react@19.0.0-rc.1) + version: 3.25.3(next@15.0.3(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0) react: - specifier: 19.0.0-rc.1 - version: 19.0.0-rc.1 + specifier: ^19.0.0 + version: 19.0.0 react-dom: - specifier: 19.0.0-rc.1 - version: 19.0.0-rc.1(react@19.0.0-rc.1) + specifier: ^19.0.0 + version: 19.0.0(react@19.0.0) react-hook-form: specifier: ^7.53.2 - version: 7.53.2(react@19.0.0-rc.1) + version: 7.53.2(react@19.0.0) recharts: - specifier: ^2.13.3 - version: 2.13.3(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + specifier: ^2.14.1 + version: 2.14.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) sonner: specifier: ^1.7.0 - version: 1.7.0(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + version: 1.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) vitnode-frontend: specifier: workspace:* version: link:../../packages/frontend @@ -158,11 +155,11 @@ importers: specifier: ^22.10.1 version: 22.10.1 '@types/react': - specifier: ^18.3.12 - version: 18.3.12 + specifier: ^19.0.0 + version: 19.0.0 '@types/react-dom': - specifier: ^18.3.1 - version: 18.3.1 + specifier: ^19.0.0 + version: 19.0.0 autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.4.49) @@ -179,8 +176,8 @@ importers: specifier: workspace:* version: link:../shared tailwindcss: - specifier: ^3.4.15 - version: 3.4.15 + specifier: ^3.4.16 + version: 3.4.16 typescript: specifier: ^5.7.2 version: 5.7.2 @@ -191,11 +188,11 @@ importers: apps/shared: dependencies: '@nestjs/common': - specifier: ^10.4.12 - version: 10.4.12(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) + specifier: ^10.4.13 + version: 10.4.13(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) '@nestjs/swagger': - specifier: ^8.0.7 - version: 8.0.7(@nestjs/common@10.4.12(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.12(@nestjs/common@10.4.12(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.12)(reflect-metadata@0.2.2)(rxjs@7.8.1))(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2) + specifier: ^8.1.0 + version: 8.1.0(@nestjs/common@10.4.13(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.13(@nestjs/common@10.4.13(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2) devDependencies: '@types/multer': specifier: ^1.4.12 @@ -223,34 +220,25 @@ importers: dependencies: '@nestjs/config': specifier: ^3.3.0 - version: 3.3.0(@nestjs/common@10.4.12(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(rxjs@7.8.1) - '@nestjs/core': - specifier: ^10.4.12 - version: 10.4.12(@nestjs/common@10.4.12(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.12)(reflect-metadata@0.2.2)(rxjs@7.8.1) + version: 3.3.0(@nestjs/common@10.4.13(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(rxjs@7.8.1) '@nestjs/jwt': specifier: ^10.2.0 - version: 10.2.0(@nestjs/common@10.4.12(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1)) + version: 10.2.0(@nestjs/common@10.4.13(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1)) '@nestjs/serve-static': specifier: ^4.0.2 - version: 4.0.2(@nestjs/common@10.4.12(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.12(@nestjs/common@10.4.12(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.12)(reflect-metadata@0.2.2)(rxjs@7.8.1))(express@4.21.1) + version: 4.0.2(@nestjs/common@10.4.13(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.13(@nestjs/common@10.4.13(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))(express@4.21.1) '@nestjs/swagger': - specifier: ^8.0.7 - version: 8.0.7(@nestjs/common@10.4.12(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.12(@nestjs/common@10.4.12(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.12)(reflect-metadata@0.2.2)(rxjs@7.8.1))(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2) + specifier: ^8.1.0 + version: 8.1.0(@nestjs/common@10.4.13(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.13(@nestjs/common@10.4.13(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2) '@react-email/render': - specifier: ^1.0.2 - version: 1.0.2(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + specifier: ^1.0.3 + version: 1.0.3(react-dom@19.0.0(react@19.0.0))(react@19.0.0) cookie-parser: specifier: ^1.4.7 version: 1.4.7 dotenv: - specifier: ^16.4.5 - version: 16.4.5 - drizzle-kit: - specifier: ^0.28.1 - version: 0.28.1 - drizzle-orm: - specifier: ^0.36.4 - version: 0.36.4(@opentelemetry/api@1.9.0)(@types/pg@8.11.10)(@types/react@18.3.12)(pg@8.13.1)(react@19.0.0-rc.1) + specifier: ^16.4.7 + version: 16.4.7 helmet: specifier: ^8.0.0 version: 8.0.0 @@ -271,23 +259,26 @@ importers: version: link:../shared devDependencies: '@nestjs/common': - specifier: ^10.4.12 - version: 10.4.12(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) + specifier: ^10.4.13 + version: 10.4.13(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) + '@nestjs/core': + specifier: ^10.4.13 + version: 10.4.13(@nestjs/common@10.4.13(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.13)(reflect-metadata@0.2.2)(rxjs@7.8.1) '@nestjs/platform-express': - specifier: ^10.4.12 - version: 10.4.12(@nestjs/common@10.4.12(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.12) + specifier: ^10.4.13 + version: 10.4.13(@nestjs/common@10.4.13(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.13) '@nestjs/schedule': specifier: ^4.1.1 - version: 4.1.1(@nestjs/common@10.4.12(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.12(@nestjs/common@10.4.12(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.12)(reflect-metadata@0.2.2)(rxjs@7.8.1)) + version: 4.1.1(@nestjs/common@10.4.13(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.13(@nestjs/common@10.4.13(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.13)(reflect-metadata@0.2.2)(rxjs@7.8.1)) '@react-email/components': - specifier: ^0.0.28 - version: 0.0.28(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + specifier: ^0.0.29 + version: 0.0.29(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@swc/cli': specifier: ^0.5.2 - version: 0.5.2(@swc/core@1.9.3(@swc/helpers@0.5.13))(chokidar@3.6.0) + version: 0.5.2(@swc/core@1.10.0(@swc/helpers@0.5.13))(chokidar@3.6.0) '@swc/core': - specifier: ^1.9.3 - version: 1.9.3(@swc/helpers@0.5.13) + specifier: ^1.10.0 + version: 1.10.0(@swc/helpers@0.5.13) '@types/cookie-parser': specifier: ^1.4.8 version: 1.4.8(@types/express@5.0.0) @@ -304,8 +295,8 @@ importers: specifier: ^8.11.10 version: 8.11.10 '@types/react': - specifier: ^18.3.12 - version: 18.3.12 + specifier: ^19.0.0 + version: 19.0.0 '@types/ua-parser-js': specifier: ^0.7.39 version: 0.7.39 @@ -318,18 +309,24 @@ importers: concurrently: specifier: ^9.1.0 version: 9.1.0 + drizzle-kit: + specifier: ^0.29.1 + version: 0.29.1 + drizzle-orm: + specifier: ^0.37.0 + version: 0.37.0(@opentelemetry/api@1.9.0)(@types/pg@8.11.10)(@types/react@19.0.0)(pg@8.13.1)(react@19.0.0) eslint-config-typescript-vitnode: specifier: workspace:* version: link:../eslint-config-typescript-vitnode react: - specifier: 19.0.0-rc.1 - version: 19.0.0-rc.1 + specifier: ^19.0.0 + version: 19.0.0 react-dom: - specifier: 19.0.0-rc.1 - version: 19.0.0-rc.1(react@19.0.0-rc.1) + specifier: ^19.0.0 + version: 19.0.0(react@19.0.0) tsup: specifier: ^8.3.5 - version: 8.3.5(@swc/core@1.9.3(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(yaml@2.6.1) + version: 8.3.5(@swc/core@1.10.0(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(yaml@2.6.1) typescript: specifier: ^5.7.2 version: 5.7.2 @@ -345,7 +342,7 @@ importers: version: 22.10.1 ai: specifier: ^4.0.10 - version: 4.0.10(react@19.0.0-rc.1)(zod@3.23.8) + version: 4.0.10(react@19.0.0)(zod@3.23.8) eslint-config-typescript-vitnode: specifier: workspace:* version: link:../eslint-config-typescript-vitnode @@ -364,7 +361,7 @@ importers: version: 22.10.1 ai: specifier: ^4.0.10 - version: 4.0.10(react@19.0.0-rc.1)(zod@3.23.8) + version: 4.0.10(react@19.0.0)(zod@3.23.8) eslint-config-typescript-vitnode: specifier: workspace:* version: link:../eslint-config-typescript-vitnode @@ -376,7 +373,7 @@ importers: dependencies: resend: specifier: ^4.0.1 - version: 4.0.1(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + version: 4.0.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) devDependencies: '@types/node': specifier: ^22.10.1 @@ -451,7 +448,7 @@ importers: version: 8.1.1 tsup: specifier: ^8.3.5 - version: 8.3.5(@swc/core@1.9.3(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(yaml@2.6.1) + version: 8.3.5(@swc/core@1.10.0(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(yaml@2.6.1) typescript: specifier: ^5.7.2 version: 5.7.2 @@ -471,8 +468,8 @@ importers: specifier: ^6.10.2 version: 6.10.2(eslint@9.14.0(jiti@1.21.6)) eslint-plugin-perfectionist: - specifier: ^4.1.2 - version: 4.1.2(eslint@9.14.0(jiti@1.21.6))(typescript@5.7.2) + specifier: ^4.2.0 + version: 4.2.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.7.2) eslint-plugin-prettier: specifier: ^5.2.1 version: 5.2.1(@types/eslint@9.6.1)(eslint-config-prettier@9.1.0(eslint@9.14.0(jiti@1.21.6)))(eslint@9.14.0(jiti@1.21.6))(prettier@3.3.3) @@ -483,8 +480,8 @@ importers: specifier: 19.0.0-beta-df7b47d-20241124 version: 19.0.0-beta-df7b47d-20241124(eslint@9.14.0(jiti@1.21.6)) eslint-plugin-react-hooks: - specifier: ^5.0.0 - version: 5.0.0(eslint@9.14.0(jiti@1.21.6)) + specifier: ^5.1.0 + version: 5.1.0(eslint@9.14.0(jiti@1.21.6)) globals: specifier: ^15.13.0 version: 15.13.0 @@ -505,86 +502,86 @@ importers: packages/frontend: dependencies: '@dnd-kit/core': - specifier: ^6.2.0 - version: 6.2.0(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + specifier: ^6.3.1 + version: 6.3.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@dnd-kit/sortable': - specifier: ^9.0.0 - version: 9.0.0(@dnd-kit/core@6.2.0(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1))(react@19.0.0-rc.1) + specifier: ^10.0.0 + version: 10.0.0(@dnd-kit/core@6.3.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0) '@dnd-kit/utilities': specifier: ^3.2.2 - version: 3.2.2(react@19.0.0-rc.1) + version: 3.2.2(react@19.0.0) '@emoji-mart/data': specifier: ^1.2.1 version: 1.2.1 '@radix-ui/react-accordion': specifier: ^1.2.1 - version: 1.2.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + version: 1.2.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@radix-ui/react-alert-dialog': specifier: ^1.1.2 - version: 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + version: 1.1.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@radix-ui/react-checkbox': specifier: ^1.1.2 - version: 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + version: 1.1.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@radix-ui/react-collapsible': specifier: ^1.1.1 - version: 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + version: 1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@radix-ui/react-dialog': specifier: ^1.1.2 - version: 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + version: 1.1.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@radix-ui/react-dropdown-menu': specifier: ^2.1.2 - version: 2.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + version: 2.1.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@radix-ui/react-hover-card': specifier: ^1.1.2 - version: 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + version: 1.1.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@radix-ui/react-label': specifier: ^2.1.0 - version: 2.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + version: 2.1.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@radix-ui/react-popover': specifier: ^1.1.2 - version: 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + version: 1.1.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@radix-ui/react-progress': specifier: ^1.1.0 - version: 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + version: 1.1.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@radix-ui/react-radio-group': specifier: ^1.2.1 - version: 1.2.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + version: 1.2.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@radix-ui/react-scroll-area': specifier: ^1.2.1 - version: 1.2.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + version: 1.2.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@radix-ui/react-select': specifier: ^2.1.2 - version: 2.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + version: 2.1.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@radix-ui/react-separator': specifier: ^1.1.0 - version: 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + version: 1.1.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@radix-ui/react-slider': specifier: ^1.2.1 - version: 1.2.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + version: 1.2.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@radix-ui/react-slot': specifier: ^1.1.0 - version: 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) + version: 1.1.0(@types/react@19.0.0)(react@19.0.0) '@radix-ui/react-switch': specifier: ^1.1.1 - version: 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + version: 1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@radix-ui/react-toggle': specifier: ^1.1.0 - version: 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + version: 1.1.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@radix-ui/react-toggle-group': specifier: ^1.1.0 - version: 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + version: 1.1.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@radix-ui/react-tooltip': specifier: ^1.1.4 - version: 1.1.4(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + version: 1.1.4(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@radix-ui/react-visually-hidden': specifier: ^1.1.0 - version: 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + version: 1.1.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@tailwindcss/container-queries': specifier: ^0.1.1 - version: 0.1.1(tailwindcss@3.4.15) + version: 0.1.1(tailwindcss@3.4.16) '@tanstack/react-query': - specifier: ^5.62.1 - version: 5.62.1(react@19.0.0-rc.1) + specifier: ^5.62.2 + version: 5.62.2(react@19.0.0) '@tiptap/extension-code-block-lowlight': specifier: ^2.10.3 version: 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/extension-code-block@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)(highlight.js@11.10.0)(lowlight@3.2.0) @@ -597,9 +594,6 @@ importers: '@tiptap/extension-link': specifier: ^2.10.3 version: 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3) - '@tiptap/extension-mention': - specifier: ^2.10.3 - version: 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)(@tiptap/suggestion@2.9.1(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)) '@tiptap/extension-text-align': specifier: ^2.10.3 version: 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3)) @@ -617,7 +611,7 @@ importers: version: 2.10.3 '@tiptap/react': specifier: ^2.10.3 - version: 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + version: 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@tiptap/starter-kit': specifier: ^2.10.3 version: 2.10.3 @@ -632,52 +626,46 @@ importers: version: 2.1.1 cmdk: specifier: ^1.0.4 - version: 1.0.4(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + version: 1.0.4(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) cropperjs: specifier: ^1.6.2 version: 1.6.2 dotenv: - specifier: ^16.4.5 - version: 16.4.5 + specifier: ^16.4.7 + version: 16.4.7 embla-carousel-react: specifier: ^8.5.1 - version: 8.5.1(react@19.0.0-rc.1) + version: 8.5.1(react@19.0.0) emoji-mart: specifier: ^5.6.0 version: 5.6.0 html-react-parser: - specifier: ^5.1.18 - version: 5.1.18(@types/react@18.3.12)(react@19.0.0-rc.1) + specifier: ^5.1.19 + version: 5.1.19(@types/react@19.0.0)(react@19.0.0) input-otp: specifier: ^1.4.1 - version: 1.4.1(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - lodash: - specifier: ^4.17.21 - version: 4.17.21 + version: 1.4.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) lowlight: specifier: ^3.2.0 version: 3.2.0 - next: - specifier: ^15.0.3 - version: 15.0.3(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.0.0-beta-df7b47d-20241124)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) next-themes: specifier: ^0.4.3 - version: 0.4.3(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + version: 0.4.3(react-dom@19.0.0(react@19.0.0))(react@19.0.0) nextjs-toploader: specifier: ^3.7.15 - version: 3.7.15(next@15.0.3(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.0.0-beta-df7b47d-20241124)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1))(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + version: 3.7.15(next@15.0.3(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.0.0-beta-df7b47d-20241124)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0) nprogress: specifier: ^0.2.0 version: 0.2.0 react-colorful: specifier: ^5.6.1 - version: 5.6.1(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + version: 5.6.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react-cropper: specifier: ^2.3.3 - version: 2.3.3(react@19.0.0-rc.1) + version: 2.3.3(react@19.0.0) react-day-picker: specifier: ^8.10.1 - version: 8.10.1(date-fns@3.6.0)(react@19.0.0-rc.1) + version: 8.10.1(date-fns@3.6.0)(react@19.0.0) react-is: specifier: 19.0.0-rc.1 version: 19.0.0-rc.1 @@ -689,32 +677,29 @@ importers: version: 2.5.5 tailwindcss-animate: specifier: ^1.0.7 - version: 1.0.7(tailwindcss@3.4.15) - tippy.js: - specifier: ^6.3.7 - version: 6.3.7 + version: 1.0.7(tailwindcss@3.4.16) use-debounce: specifier: ^10.0.4 - version: 10.0.4(react@19.0.0-rc.1) + version: 10.0.4(react@19.0.0) vaul: specifier: ^1.1.1 - version: 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + version: 1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) vitnode-shared: specifier: workspace:* version: link:../shared devDependencies: '@hookform/devtools': specifier: ^4.3.1 - version: 4.3.1(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + version: 4.3.1(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@hookform/resolvers': specifier: ^3.9.1 - version: 3.9.1(react-hook-form@7.53.2(react@19.0.0-rc.1)) + version: 3.9.1(react-hook-form@7.53.2(react@19.0.0)) '@swc/cli': specifier: ^0.5.2 - version: 0.5.2(@swc/core@1.9.3(@swc/helpers@0.5.13))(chokidar@3.6.0) + version: 0.5.2(@swc/core@1.10.0(@swc/helpers@0.5.13))(chokidar@3.6.0) '@swc/core': - specifier: ^1.9.3 - version: 1.9.3(@swc/helpers@0.5.13) + specifier: ^1.10.0 + version: 1.10.0(@swc/helpers@0.5.13) '@types/lodash': specifier: ^4.17.13 version: 4.17.13 @@ -725,11 +710,11 @@ importers: specifier: ^0.2.3 version: 0.2.3 '@types/react': - specifier: ^18.3.12 - version: 18.3.12 + specifier: ^19.0.0 + version: 19.0.0 '@types/react-dom': - specifier: ^18.3.1 - version: 18.3.1 + specifier: ^19.0.0 + version: 19.0.0 concurrently: specifier: ^9.1.0 version: 9.1.0 @@ -737,32 +722,35 @@ importers: specifier: workspace:* version: link:../eslint-config-typescript-vitnode lucide-react: - specifier: ^0.462.0 - version: 0.462.0(react@19.0.0-rc.1) + specifier: ^0.468.0 + version: 0.468.0(react@19.0.0) + next: + specifier: ^15.0.3 + version: 15.0.3(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.0.0-beta-df7b47d-20241124)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) next-intl: specifier: ^3.25.3 - version: 3.25.3(next@15.0.3(@opentelemetry/api@1.9.0)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1))(react@19.0.0-rc.1) + version: 3.25.3(next@15.0.3(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0) react: - specifier: 19.0.0-rc.1 - version: 19.0.0-rc.1 + specifier: ^19.0.0 + version: 19.0.0 react-dom: - specifier: 19.0.0-rc.1 - version: 19.0.0-rc.1(react@19.0.0-rc.1) + specifier: ^19.0.0 + version: 19.0.0(react@19.0.0) react-hook-form: specifier: ^7.53.2 - version: 7.53.2(react@19.0.0-rc.1) + version: 7.53.2(react@19.0.0) recharts: - specifier: ^2.13.3 - version: 2.13.3(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + specifier: ^2.14.1 + version: 2.14.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) sonner: specifier: ^1.7.0 - version: 1.7.0(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + version: 1.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) tailwindcss: - specifier: ^3.4.15 - version: 3.4.15 + specifier: ^3.4.16 + version: 3.4.16 tsup: specifier: ^8.3.5 - version: 8.3.5(@swc/core@1.9.3(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(yaml@2.6.1) + version: 8.3.5(@swc/core@1.10.0(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(yaml@2.6.1) typescript: specifier: ^5.7.2 version: 5.7.2 @@ -773,11 +761,11 @@ importers: packages/shared: dependencies: '@nestjs/common': - specifier: ^10.4.12 - version: 10.4.12(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) + specifier: ^10.4.13 + version: 10.4.13(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) '@nestjs/swagger': - specifier: ^8.0.7 - version: 8.0.7(@nestjs/common@10.4.12(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.12(@nestjs/common@10.4.12(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.12)(reflect-metadata@0.2.2)(rxjs@7.8.1))(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2) + specifier: ^8.1.0 + version: 8.1.0(@nestjs/common@10.4.13(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.13(@nestjs/common@10.4.13(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2) devDependencies: '@types/multer': specifier: ^1.4.12 @@ -876,16 +864,16 @@ packages: resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.26.2': - resolution: {integrity: sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==} + '@babel/compat-data@7.26.3': + resolution: {integrity: sha512-nHIxvKPniQXpmQLb0vhY3VaFb3S0YrTAwpOWJZh1wn3oJPjJk9Asva204PsBdmAE8vpzfHudT8DB0scYvy9q0g==} engines: {node: '>=6.9.0'} '@babel/core@7.26.0': resolution: {integrity: sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==} engines: {node: '>=6.9.0'} - '@babel/generator@7.26.2': - resolution: {integrity: sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==} + '@babel/generator@7.26.3': + resolution: {integrity: sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ==} engines: {node: '>=6.9.0'} '@babel/helper-annotate-as-pure@7.25.9': @@ -950,8 +938,8 @@ packages: resolution: {integrity: sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==} engines: {node: '>=6.9.0'} - '@babel/parser@7.26.2': - resolution: {integrity: sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==} + '@babel/parser@7.26.3': + resolution: {integrity: sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA==} engines: {node: '>=6.0.0'} hasBin: true @@ -969,12 +957,12 @@ packages: resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.25.9': - resolution: {integrity: sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==} + '@babel/traverse@7.26.4': + resolution: {integrity: sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w==} engines: {node: '>=6.9.0'} - '@babel/types@7.26.0': - resolution: {integrity: sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==} + '@babel/types@7.26.3': + resolution: {integrity: sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==} engines: {node: '>=6.9.0'} '@cfcs/core@0.0.6': @@ -996,16 +984,16 @@ packages: peerDependencies: react: '>=16.8.0' - '@dnd-kit/core@6.2.0': - resolution: {integrity: sha512-KVK/CJmaYGTxTPU6P0+Oy4itgffTUa80B8317sXzfOr1qUzSL29jE7Th11llXiu2haB7B9Glpzo2CDElin+geQ==} + '@dnd-kit/core@6.3.1': + resolution: {integrity: sha512-xkGBRQQab4RLwgXxoqETICr6S5JlogafbhNsidmrkVv2YRs5MLwpjoF2qpiGjQt8S9AoxtIV603s0GIUpY5eYQ==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' - '@dnd-kit/sortable@9.0.0': - resolution: {integrity: sha512-3/9r8Mmba0nKTbo8kPnVSFZKf/VSy94nXZ3aUwzPEh78j/LooQ/EFKRZENak4PHKBkN53mgTF/z+Sd8H+FcAnQ==} + '@dnd-kit/sortable@10.0.0': + resolution: {integrity: sha512-+xqhmIIzvAYMGfBYYnbKuNicfSsk4RksY2XdmJhT+HAC01nix6fHCztU68jooFiMUB01Ky3F0FyOvhG/BZrWkg==} peerDependencies: - '@dnd-kit/core': ^6.2.0 + '@dnd-kit/core': ^6.3.0 react: '>=16.8.0' '@dnd-kit/utilities@3.2.2': @@ -1536,12 +1524,12 @@ packages: resolution: {integrity: sha512-pFoEtFWCPyDOl+C6Ift+wC7Ro89otjigCf5vcuWqWgqNSQbRrpjSvdeE6ofLz4dHmyxD5f7gIdGT4+p36L6Twg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/object-schema@2.1.4': - resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==} + '@eslint/object-schema@2.1.5': + resolution: {integrity: sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/plugin-kit@0.2.3': - resolution: {integrity: sha512-2b/g5hRmpbb1o4GnTZax9N9m0FXzz9OV42ZzI4rDDMDuHUqigAiQCEWChBWCY4ztAGVRjoWT19v0yMmc5/L5kA==} + '@eslint/plugin-kit@0.2.4': + resolution: {integrity: sha512-zSkKow6H5Kdm0ZUQUB2kV5JIXqoG0+uH5YADhaEHswm664N9Db8dXSi0nMJpacpMf+MyyglF1vnZohpEg5yUtg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@floating-ui/core@1.6.8': @@ -1859,8 +1847,8 @@ packages: '@swc/core': optional: true - '@nestjs/common@10.4.12': - resolution: {integrity: sha512-+aQw1d1cV9MtjSSCoXA2iZf+EBJANyjTC9d0j38bUAHhaPQinRlgM81F91DFYZoYcYVOY4hJd+DDYRFGoN7j7Q==} + '@nestjs/common@10.4.13': + resolution: {integrity: sha512-NVJ2UYMRdMkxCcwmoWP8xihpUyd1uqKR+7QqTF3m8aedufpZm8W6WbUmNkD1j/o9TxRzhKW43PemeSMigZj+Bw==} peerDependencies: class-transformer: '*' class-validator: '*' @@ -1878,8 +1866,8 @@ packages: '@nestjs/common': ^8.0.0 || ^9.0.0 || ^10.0.0 rxjs: ^7.1.0 - '@nestjs/core@10.4.12': - resolution: {integrity: sha512-2qENES1U0VxCOfW45jVIV7g38edcvuU5aaLpZWOhb3nzehdvmeYoovUe8LTTHFrLWsDVY1v9FPfEhFQGsZfopQ==} + '@nestjs/core@10.4.13': + resolution: {integrity: sha512-zivGEaq9tmwdeQi/RK0nUVdvhdIwcIsytBvEGTmDBFkmEnxEMp3T0Ia4BTFlTFrjLAb5D2cNUQZBZZj1vqfXtw==} peerDependencies: '@nestjs/common': ^10.0.0 '@nestjs/microservices': ^10.0.0 @@ -1913,8 +1901,8 @@ packages: class-validator: optional: true - '@nestjs/platform-express@10.4.12': - resolution: {integrity: sha512-+m8BQas9mnY29Y6rZv8EUqIYwcta99/dTiGIUy48LB/+YoAyDTEHpsLd2+rpetk54niGgKJYclCZRUwRcjrYYA==} + '@nestjs/platform-express@10.4.13': + resolution: {integrity: sha512-9Uar9t5NZebI9Y8P8B6OYTfj6p5DuUHM/nk2zGwbL3SLdnieP4O2K1DuePo3SWiYBStmPoTAlXyl6L2zDtrLjQ==} peerDependencies: '@nestjs/common': ^10.0.0 '@nestjs/core': ^10.0.0 @@ -1946,8 +1934,8 @@ packages: fastify: optional: true - '@nestjs/swagger@8.0.7': - resolution: {integrity: sha512-zaTMCEZ/CxX7QYF110nTqJsn7eCXp4VI9kv7+AdUcIlBmhhgJpggBw2Mx2p6xVjyz1EoWXGfxxWKnxEyaQwFlg==} + '@nestjs/swagger@8.1.0': + resolution: {integrity: sha512-8hzH+r/31XshzXHC9vww4T0xjDAxMzvOaT1xAOvvY1LtXTWyNRCUP2iQsCYJOnnMrR+vydWjvRZiuB3hdvaHxA==} peerDependencies: '@fastify/static': ^6.0.0 || ^7.0.0 '@nestjs/common': ^9.0.0 || ^10.0.0 @@ -1963,13 +1951,6 @@ packages: class-validator: optional: true - '@nestjs/throttler@6.2.1': - resolution: {integrity: sha512-vdt6VjhKC6vcLBJRUb97IuR6Htykn5kokZzmT8+S5XFOLLjUF7rzRpr+nUOhK9pi1L0hhbzSf2v2FJl4v64EJA==} - peerDependencies: - '@nestjs/common': ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 - '@nestjs/core': ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 - reflect-metadata: ^0.1.13 || ^0.2.0 - '@next/bundle-analyzer@15.0.3': resolution: {integrity: sha512-x7ZNvpoQPO0C5ZG//qVp21Qs3v6+C8LBJmdu9DKj4/NmjlnwoQ7dqRZ/nKZcwVhkFT7BHf+Qd5FaeHq9IDJvDQ==} @@ -2587,96 +2568,96 @@ packages: '@radix-ui/rect@1.1.0': resolution: {integrity: sha512-A9+lCBZoaMJlVKcRBz2YByCG+Cp2t6nAnMnNba+XiWxnj6r4JUFqfsgwocMBZU9LPtdxC6wB56ySYpc7LQIoJg==} - '@react-email/body@0.0.10': - resolution: {integrity: sha512-dMJyL9aU25ieatdPtVjCyQ/WHZYHwNc+Hy/XpF8Cc18gu21cUynVEeYQzFSeigDRMeBQ3PGAyjVDPIob7YlGwA==} + '@react-email/body@0.0.11': + resolution: {integrity: sha512-ZSD2SxVSgUjHGrB0Wi+4tu3MEpB4fYSbezsFNEJk2xCWDBkFiOeEsjTmR5dvi+CxTK691hQTQlHv0XWuP7ENTg==} peerDependencies: react: ^18.0 || ^19.0 || ^19.0.0-rc - '@react-email/button@0.0.18': - resolution: {integrity: sha512-uNUnpeDzz1o9HAky47JSTsUN/Ih0A3Az165AAOgAy8XOVzQJPrltUBRzHkScSVJTwRqKLASkie1yZbtNGIcRdA==} + '@react-email/button@0.0.19': + resolution: {integrity: sha512-HYHrhyVGt7rdM/ls6FuuD6XE7fa7bjZTJqB2byn6/oGsfiEZaogY77OtoLL/mrQHjHjZiJadtAMSik9XLcm7+A==} engines: {node: '>=18.0.0'} peerDependencies: react: ^18.0 || ^19.0 || ^19.0.0-rc - '@react-email/code-block@0.0.10': - resolution: {integrity: sha512-xx4m5Ir1cSFbz1bhyZfETUW34iQg+WRLTItW7Qv2arnFr6Ec0u8AWi4lUUqkpmbXzeuY8U8lV+2awDerwRpW6g==} + '@react-email/code-block@0.0.11': + resolution: {integrity: sha512-4D43p+LIMjDzm66gTDrZch0Flkip5je91mAT7iGs6+SbPyalHgIA+lFQoQwhz/VzHHLxuD0LV6gwmU/WUQ2WEg==} engines: {node: '>=18.0.0'} peerDependencies: react: ^18.0 || ^19.0 || ^19.0.0-rc - '@react-email/code-inline@0.0.4': - resolution: {integrity: sha512-zj3oMQiiUCZbddSNt3k0zNfIBFK0ZNDIzzDyBaJKy6ZASTtWfB+1WFX0cpTX8q0gUiYK+A94rk5Qp68L6YXjXQ==} + '@react-email/code-inline@0.0.5': + resolution: {integrity: sha512-MmAsOzdJpzsnY2cZoPHFPk6uDO/Ncpb4Kh1hAt9UZc1xOW3fIzpe1Pi9y9p6wwUmpaeeDalJxAxH6/fnTquinA==} engines: {node: '>=18.0.0'} peerDependencies: react: ^18.0 || ^19.0 || ^19.0.0-rc - '@react-email/column@0.0.12': - resolution: {integrity: sha512-Rsl7iSdDaeHZO938xb+0wR5ud0Z3MVfdtPbNKJNojZi2hApwLAQXmDrnn/AcPDM5Lpl331ZljJS8vHTWxxkvKw==} + '@react-email/column@0.0.13': + resolution: {integrity: sha512-Lqq17l7ShzJG/d3b1w/+lVO+gp2FM05ZUo/nW0rjxB8xBICXOVv6PqjDnn3FXKssvhO5qAV20lHM6S+spRhEwQ==} engines: {node: '>=18.0.0'} peerDependencies: react: ^18.0 || ^19.0 || ^19.0.0-rc - '@react-email/components@0.0.28': - resolution: {integrity: sha512-90ayLWy1g2uqlZVcwonfq1oKUlAnQBUJ4iUnGXg0UuBPAeoqxSG1BFrVDmLSX0u5MG/wtmFPFPxhq+v8roq+sA==} + '@react-email/components@0.0.29': + resolution: {integrity: sha512-rfnzXkPcovd6+mt3nz+xmtHbwzgF8+yxco3RicwiVlcXPxayIBaq6uZAr1nHX1h2fKURrWsQEHgKaqiyHAdrrg==} engines: {node: '>=18.0.0'} peerDependencies: react: ^18.0 || ^19.0 || ^19.0.0-rc - '@react-email/container@0.0.14': - resolution: {integrity: sha512-NgoaJJd9tTtsrveL86Ocr/AYLkGyN3prdXKd/zm5fQpfDhy/NXezyT3iF6VlwAOEUIu64ErHpAJd+P6ygR+vjg==} + '@react-email/container@0.0.15': + resolution: {integrity: sha512-Qo2IQo0ru2kZq47REmHW3iXjAQaKu4tpeq/M8m1zHIVwKduL2vYOBQWbC2oDnMtWPmkBjej6XxgtZByxM6cCFg==} engines: {node: '>=18.0.0'} peerDependencies: react: ^18.0 || ^19.0 || ^19.0.0-rc - '@react-email/font@0.0.8': - resolution: {integrity: sha512-fSBEqYyVPAyyACBBHcs3wEYzNknpHMuwcSAAKE8fOoDfGqURr/vSxKPdh4tOa9z7G4hlcEfgGrCYEa2iPT22cw==} + '@react-email/font@0.0.9': + resolution: {integrity: sha512-4zjq23oT9APXkerqeslPH3OZWuh5X4crHK6nx82mVHV2SrLba8+8dPEnWbaACWTNjOCbcLIzaC9unk7Wq2MIXw==} peerDependencies: react: ^18.0 || ^19.0 || ^19.0.0-rc - '@react-email/head@0.0.11': - resolution: {integrity: sha512-skw5FUgyamIMK+LN+fZQ5WIKQYf0dPiRAvsUAUR2eYoZp9oRsfkIpFHr0GWPkKAYjFEj+uJjaxQ/0VzQH7svVg==} + '@react-email/head@0.0.12': + resolution: {integrity: sha512-X2Ii6dDFMF+D4niNwMAHbTkeCjlYYnMsd7edXOsi0JByxt9wNyZ9EnhFiBoQdqkE+SMDcu8TlNNttMrf5sJeMA==} engines: {node: '>=18.0.0'} peerDependencies: react: ^18.0 || ^19.0 || ^19.0.0-rc - '@react-email/heading@0.0.14': - resolution: {integrity: sha512-jZM7IVuZOXa0G110ES8OkxajPTypIKlzlO1K1RIe1auk76ukQRiCg1IRV4HZlWk1GGUbec5hNxsvZa2kU8cb9w==} + '@react-email/heading@0.0.15': + resolution: {integrity: sha512-xF2GqsvBrp/HbRHWEfOgSfRFX+Q8I5KBEIG5+Lv3Vb2R/NYr0s8A5JhHHGf2pWBMJdbP4B2WHgj/VUrhy8dkIg==} engines: {node: '>=18.0.0'} peerDependencies: react: ^18.0 || ^19.0 || ^19.0.0-rc - '@react-email/hr@0.0.10': - resolution: {integrity: sha512-3AA4Yjgl3zEid/KVx6uf6TuLJHVZvUc2cG9Wm9ZpWeAX4ODA+8g9HyuC0tfnjbRsVMhMcCGiECuWWXINi+60vA==} + '@react-email/hr@0.0.11': + resolution: {integrity: sha512-S1gZHVhwOsd1Iad5IFhpfICwNPMGPJidG/Uysy1AwmspyoAP5a4Iw3OWEpINFdgh9MHladbxcLKO2AJO+cA9Lw==} engines: {node: '>=18.0.0'} peerDependencies: react: ^18.0 || ^19.0 || ^19.0.0-rc - '@react-email/html@0.0.10': - resolution: {integrity: sha512-06uiuSKJBWQJfhCKv4MPupELei4Lepyz9Sth7Yq7Fq29CAeB1ejLgKkGqn1I+FZ72hQxPLdYF4iq4yloKv3JCg==} + '@react-email/html@0.0.11': + resolution: {integrity: sha512-qJhbOQy5VW5qzU74AimjAR9FRFQfrMa7dn4gkEXKMB/S9xZN8e1yC1uA9C15jkXI/PzmJ0muDIWmFwatm5/+VA==} engines: {node: '>=18.0.0'} peerDependencies: react: ^18.0 || ^19.0 || ^19.0.0-rc - '@react-email/img@0.0.10': - resolution: {integrity: sha512-pJ8glJjDNaJ53qoM95pvX9SK05yh0bNQY/oyBKmxlBDdUII6ixuMc3SCwYXPMl+tgkQUyDgwEBpSTrLAnjL3hA==} + '@react-email/img@0.0.11': + resolution: {integrity: sha512-aGc8Y6U5C3igoMaqAJKsCpkbm1XjguQ09Acd+YcTKwjnC2+0w3yGUJkjWB2vTx4tN8dCqQCXO8FmdJpMfOA9EQ==} engines: {node: '>=18.0.0'} peerDependencies: react: ^18.0 || ^19.0 || ^19.0.0-rc - '@react-email/link@0.0.11': - resolution: {integrity: sha512-o1/BgPn2Fi+bN4Nh+P64t4tulaOyPhkBNSpNmiYL1Ar+ilw8q0BmUAqM+lvHy8Qr/4K7BjkgFoc4GoYkoEjOig==} + '@react-email/link@0.0.12': + resolution: {integrity: sha512-vF+xxQk2fGS1CN7UPQDbzvcBGfffr+GjTPNiWM38fhBfsLv6A/YUfaqxWlmL7zLzVmo0K2cvvV9wxlSyNba1aQ==} engines: {node: '>=18.0.0'} peerDependencies: react: ^18.0 || ^19.0 || ^19.0.0-rc - '@react-email/markdown@0.0.12': - resolution: {integrity: sha512-wsuvj1XAb6O63aizCLNEeqVgKR3oFjAwt9vjfg2y2oh4G1dZeo8zonZM2x1fmkEkBZhzwSHraNi70jSXhA3A9w==} + '@react-email/markdown@0.0.13': + resolution: {integrity: sha512-eDWd1ZGgD50bDX5A+pS+Lz65BkPVdwfWgFtEMtJTgXWBSsKkouQ94tmBFECUxUERr+bKSt+uJC6G6p9yD7BK9A==} engines: {node: '>=18.0.0'} peerDependencies: react: ^18.0 || ^19.0 || ^19.0.0-rc - '@react-email/preview@0.0.11': - resolution: {integrity: sha512-7O/CT4b16YlSGrj18htTPx3Vbhu2suCGv/cSe5c+fuSrIM/nMiBSZ3Js16Vj0XJbAmmmlVmYFZw9L20wXJ+LjQ==} + '@react-email/preview@0.0.12': + resolution: {integrity: sha512-g/H5fa9PQPDK6WUEG7iTlC19sAktI23qyoiJtMLqQiXFCfWeQMhqjLGKeLSKkfzszqmfJCjZtpSiKtBoOdxp3Q==} engines: {node: '>=18.0.0'} peerDependencies: react: ^18.0 || ^19.0 || ^19.0.0-rc @@ -2688,33 +2669,33 @@ packages: react: ^18.0 || ^19.0 || ^19.0.0-rc react-dom: ^18.0 || ^19.0 || ^19.0.0-rc - '@react-email/render@1.0.2': - resolution: {integrity: sha512-q82eBd39TepzA/xjlm8szqJlrQk/gh7mgtxXMGlJ4dcdx89go1m9YBDpZY98SFy+2r2KAOd5A1mxvUbsPwoATg==} + '@react-email/render@1.0.3': + resolution: {integrity: sha512-VQ8g4SuIq/jWdfBTdTjb7B8Np0jj+OoD7VebfdHhLTZzVQKesR2aigpYqE/ZXmwj4juVxDm8T2b6WIIu48rPCg==} engines: {node: '>=18.0.0'} peerDependencies: react: ^18.0 || ^19.0 || ^19.0.0-rc react-dom: ^18.0 || ^19.0 || ^19.0.0-rc - '@react-email/row@0.0.11': - resolution: {integrity: sha512-ra09h7BMoGa14ds3vh7KVuj1N3astTstEC1YbMdCiHcx/nxylglNaT7qJXU74ZTzyHiGabyiNuyabTS+HLoMCA==} + '@react-email/row@0.0.12': + resolution: {integrity: sha512-HkCdnEjvK3o+n0y0tZKXYhIXUNPDx+2vq1dJTmqappVHXS5tXS6W5JOPZr5j+eoZ8gY3PShI2LWj5rWF7ZEtIQ==} engines: {node: '>=18.0.0'} peerDependencies: react: ^18.0 || ^19.0 || ^19.0.0-rc - '@react-email/section@0.0.15': - resolution: {integrity: sha512-xfM3Qy5eU7fbkwvktlTeQgad7uo+1Z7YVh1aowSZaRBvKbkEXgoH/XssRYQmQL8ZrZGXbEJMujwtf4fsQL6vrg==} + '@react-email/section@0.0.16': + resolution: {integrity: sha512-FjqF9xQ8FoeUZYKSdt8sMIKvoT9XF8BrzhT3xiFKdEMwYNbsDflcjfErJe3jb7Wj/es/lKTbV5QR1dnLzGpL3w==} engines: {node: '>=18.0.0'} peerDependencies: react: ^18.0 || ^19.0 || ^19.0.0-rc - '@react-email/tailwind@1.0.2': - resolution: {integrity: sha512-P106AouxGQCCvapE5/HJT5rmNma+UJwG3A0MF6+4me7Usf+VNyJ5Jk0eSdsZ1zEfY3AbUSs+F7ql3oWztCg9nw==} + '@react-email/tailwind@1.0.3': + resolution: {integrity: sha512-VwRft4u/c0KuD6YlGWr+pltfzLzHS6Qt/L0XvdJf6ij6Iz6kKtuc7ZVZp/CJVbGnkUgWl/uiDlJ4FIAF6IzWTQ==} engines: {node: '>=18.0.0'} peerDependencies: react: ^18.0 || ^19.0 || ^19.0.0-rc - '@react-email/text@0.0.10': - resolution: {integrity: sha512-wNAnxeEAiFs6N+SxS0y6wTJWfewEzUETuyS2aZmT00xk50VijwyFRuhm4sYSjusMyshevomFwz5jNISCxRsGWw==} + '@react-email/text@0.0.11': + resolution: {integrity: sha512-a7nl/2KLpRHOYx75YbYZpWspUbX1DFY7JIZbOv5x0QU8SvwDbJt+Hm01vG34PffFyYvHEXrc6Qnip2RTjljNjg==} engines: {node: '>=18.0.0'} peerDependencies: react: ^18.0 || ^19.0 || ^19.0.0-rc @@ -2845,68 +2826,68 @@ packages: chokidar: optional: true - '@swc/core-darwin-arm64@1.9.3': - resolution: {integrity: sha512-hGfl/KTic/QY4tB9DkTbNuxy5cV4IeejpPD4zo+Lzt4iLlDWIeANL4Fkg67FiVceNJboqg48CUX+APhDHO5G1w==} + '@swc/core-darwin-arm64@1.10.0': + resolution: {integrity: sha512-wCeUpanqZyzvgqWRtXIyhcFK3CqukAlYyP+fJpY2gWc/+ekdrenNIfZMwY7tyTFDkXDYEKzvn3BN/zDYNJFowQ==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] - '@swc/core-darwin-x64@1.9.3': - resolution: {integrity: sha512-IaRq05ZLdtgF5h9CzlcgaNHyg4VXuiStnOFpfNEMuI5fm5afP2S0FHq8WdakUz5WppsbddTdplL+vpeApt/WCQ==} + '@swc/core-darwin-x64@1.10.0': + resolution: {integrity: sha512-0CZPzqTynUBO+SHEl/qKsFSahp2Jv/P2ZRjFG0gwZY5qIcr1+B/v+o74/GyNMBGz9rft+F2WpU31gz2sJwyF4A==} engines: {node: '>=10'} cpu: [x64] os: [darwin] - '@swc/core-linux-arm-gnueabihf@1.9.3': - resolution: {integrity: sha512-Pbwe7xYprj/nEnZrNBvZfjnTxlBIcfApAGdz2EROhjpPj+FBqBa3wOogqbsuGGBdCphf8S+KPprL1z+oDWkmSQ==} + '@swc/core-linux-arm-gnueabihf@1.10.0': + resolution: {integrity: sha512-oq+DdMu5uJOFPtRkeiITc4kxmd+QSmK+v+OBzlhdGkSgoH3yRWZP+H2ao0cBXo93ZgCr2LfjiER0CqSKhjGuNA==} engines: {node: '>=10'} cpu: [arm] os: [linux] - '@swc/core-linux-arm64-gnu@1.9.3': - resolution: {integrity: sha512-AQ5JZiwNGVV/2K2TVulg0mw/3LYfqpjZO6jDPtR2evNbk9Yt57YsVzS+3vHSlUBQDRV9/jqMuZYVU3P13xrk+g==} + '@swc/core-linux-arm64-gnu@1.10.0': + resolution: {integrity: sha512-Y6+PC8knchEViRxiCUj3j8wsGXaIhuvU+WqrFqV834eiItEMEI9+Vh3FovqJMBE3L7d4E4ZQtgImHCXjrHfxbw==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - '@swc/core-linux-arm64-musl@1.9.3': - resolution: {integrity: sha512-tzVH480RY6RbMl/QRgh5HK3zn1ZTFsThuxDGo6Iuk1MdwIbdFYUY034heWUTI4u3Db97ArKh0hNL0xhO3+PZdg==} + '@swc/core-linux-arm64-musl@1.10.0': + resolution: {integrity: sha512-EbrX9A5U4cECCQQfky7945AW9GYnTXtCUXElWTkTYmmyQK87yCyFfY8hmZ9qMFIwxPOH6I3I2JwMhzdi8Qoz7g==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - '@swc/core-linux-x64-gnu@1.9.3': - resolution: {integrity: sha512-ivXXBRDXDc9k4cdv10R21ccBmGebVOwKXT/UdH1PhxUn9m/h8erAWjz5pcELwjiMf27WokqPgaWVfaclDbgE+w==} + '@swc/core-linux-x64-gnu@1.10.0': + resolution: {integrity: sha512-TaxpO6snTjjfLXFYh5EjZ78se69j2gDcqEM8yB9gguPYwkCHi2Ylfmh7iVaNADnDJFtjoAQp0L41bTV/Pfq9Cg==} engines: {node: '>=10'} cpu: [x64] os: [linux] - '@swc/core-linux-x64-musl@1.9.3': - resolution: {integrity: sha512-ILsGMgfnOz1HwdDz+ZgEuomIwkP1PHT6maigZxaCIuC6OPEhKE8uYna22uU63XvYcLQvZYDzpR3ms47WQPuNEg==} + '@swc/core-linux-x64-musl@1.10.0': + resolution: {integrity: sha512-IEGvDd6aEEKEyZFZ8oCKuik05G5BS7qwG5hO5PEMzdGeh8JyFZXxsfFXbfeAqjue4UaUUrhnoX+Ze3M2jBVMHw==} engines: {node: '>=10'} cpu: [x64] os: [linux] - '@swc/core-win32-arm64-msvc@1.9.3': - resolution: {integrity: sha512-e+XmltDVIHieUnNJHtspn6B+PCcFOMYXNJB1GqoCcyinkEIQNwC8KtWgMqUucUbEWJkPc35NHy9k8aCXRmw9Kg==} + '@swc/core-win32-arm64-msvc@1.10.0': + resolution: {integrity: sha512-UkQ952GSpY+Z6XONj9GSW8xGSkF53jrCsuLj0nrcuw7Dvr1a816U/9WYZmmcYS8tnG2vHylhpm6csQkyS8lpCw==} engines: {node: '>=10'} cpu: [arm64] os: [win32] - '@swc/core-win32-ia32-msvc@1.9.3': - resolution: {integrity: sha512-rqpzNfpAooSL4UfQnHhkW8aL+oyjqJniDP0qwZfGnjDoJSbtPysHg2LpcOBEdSnEH+uIZq6J96qf0ZFD8AGfXA==} + '@swc/core-win32-ia32-msvc@1.10.0': + resolution: {integrity: sha512-a2QpIZmTiT885u/mUInpeN2W9ClCnqrV2LnMqJR1/Fgx1Afw/hAtiDZPtQ0SqS8yDJ2VR5gfNZo3gpxWMrqdVA==} engines: {node: '>=10'} cpu: [ia32] os: [win32] - '@swc/core-win32-x64-msvc@1.9.3': - resolution: {integrity: sha512-3YJJLQ5suIEHEKc1GHtqVq475guiyqisKSoUnoaRtxkDaW5g1yvPt9IoSLOe2mRs7+FFhGGU693RsBUSwOXSdQ==} + '@swc/core-win32-x64-msvc@1.10.0': + resolution: {integrity: sha512-tZcCmMwf483nwsEBfUk5w9e046kMa1iSik4bP9Kwi2FGtOfHuDfIcwW4jek3hdcgF5SaBW1ktnK/lgQLDi5AtA==} engines: {node: '>=10'} cpu: [x64] os: [win32] - '@swc/core@1.9.3': - resolution: {integrity: sha512-oRj0AFePUhtatX+BscVhnzaAmWjpfAeySpM1TCbxA1rtBDeH/JDhi5yYzAKneDYtVtBvA7ApfeuzhMC9ye4xSg==} + '@swc/core@1.10.0': + resolution: {integrity: sha512-+CuuTCmQFfzaNGg1JmcZvdUVITQXJk9sMnl1C2TiDLzOSVOJRwVD4dNo5dljX/qxpMAN+2BIYlwjlSkoGi6grg==} engines: {node: '>=10'} peerDependencies: '@swc/helpers': '*' @@ -2932,11 +2913,11 @@ packages: peerDependencies: tailwindcss: '>=3.2.0' - '@tanstack/query-core@5.62.1': - resolution: {integrity: sha512-thYv90GkMcfumgmtp6sptC18SqxWwXTCKUuk7jyeHHn7kYouh0VJrowuuBffAIBiR3Z8OnsccmPUnP1leKJBVQ==} + '@tanstack/query-core@5.62.2': + resolution: {integrity: sha512-LcwVcC5qpsDpHcqlXUUL5o9SaOBwhNkGeV+B06s0GBoyBr8FqXPuXT29XzYXR36lchhnerp6XO+CWc84/vh7Zg==} - '@tanstack/react-query@5.62.1': - resolution: {integrity: sha512-gb4eglrgW+yOeiNPkpqFyN8oLrFafHrHE+q2LzVl7TfyA4fuQluH92NTl6Jed7ae35v+BNtAQng9mykywWLzfA==} + '@tanstack/react-query@5.62.2': + resolution: {integrity: sha512-fkTpKKfwTJtVPKVR+ag7YqFgG/7TRVVPzduPAUF9zRCiiA8Wu305u+KJl8rCrh98Qce77vzIakvtUyzWLtaPGA==} peerDependencies: react: ^18 || ^19 @@ -3053,13 +3034,6 @@ packages: peerDependencies: '@tiptap/core': ^2.7.0 - '@tiptap/extension-mention@2.10.3': - resolution: {integrity: sha512-h0+BrTS2HdjMfsuy6zkFIqmVGYL8w3jIG0gYaDHjWwwe/Lf2BDgOu3bZWcSr/3bKiJIwwzpOJrXssqta4TZ0yQ==} - peerDependencies: - '@tiptap/core': ^2.7.0 - '@tiptap/pm': ^2.7.0 - '@tiptap/suggestion': ^2.7.0 - '@tiptap/extension-ordered-list@2.10.3': resolution: {integrity: sha512-/SFuEDnbJxy3jvi72LeyiPHWkV+uFc0LUHTUHSh20vwyy+tLrzncJfXohGbTIv5YxYhzExQYZDRD4VbSghKdlw==} peerDependencies: @@ -3115,12 +3089,6 @@ packages: '@tiptap/starter-kit@2.10.3': resolution: {integrity: sha512-oq8xdVIMqohSs91ofHSr7i5dCp2F56Lb9aYIAI25lZmwNwQJL2geGOYjMSfL0IC4cQHPylIuSKYCg7vRFdZmAA==} - '@tiptap/suggestion@2.9.1': - resolution: {integrity: sha512-MMxwpbtocxUsbmc8qtFY1AQYNTW5i/M4aNSv9zsKKRISaS5hMD7XVrw2eod0x0yEqZU3izLiPDZPmgr8glF+jQ==} - peerDependencies: - '@tiptap/core': ^2.7.0 - '@tiptap/pm': ^2.7.0 - '@tokenizer/token@0.3.0': resolution: {integrity: sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==} @@ -3243,20 +3211,17 @@ packages: '@types/prompts@2.4.9': resolution: {integrity: sha512-qTxFi6Buiu8+50/+3DGIWLHM6QuWsEKugJnnP6iv2Mc4ncxE4A/OJkjuVOA+5X0X1S/nq5VJRa8Lu+nwcvbrKA==} - '@types/prop-types@15.7.13': - resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==} - '@types/qs@6.9.17': resolution: {integrity: sha512-rX4/bPcfmvxHDv0XjfJELTTr+iB+tn032nPILqHm5wbthUUUuVtNGGqzhya9XUxjTP8Fpr0qYgSZZKxGY++svQ==} '@types/range-parser@1.2.7': resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} - '@types/react-dom@18.3.1': - resolution: {integrity: sha512-qW1Mfv8taImTthu4KoXgDfLuk4bydU6Q/TkADnDWWHwi4NX4BR+LWfTp2sVmTqRrsHvyDDTelgelxJ+SsejKKQ==} + '@types/react-dom@19.0.0': + resolution: {integrity: sha512-1KfiQKsH1o00p9m5ag12axHQSb3FOU9H20UTrujVSkNhuCrRHiQWFqgEnTNK5ZNfnzZv8UWrnXVqCmCF9fgY3w==} - '@types/react@18.3.12': - resolution: {integrity: sha512-D2wOSq/d6Agt28q7rSI3jhU7G6aiuzljDGZ2hTZHIkrTLUI+AF3WMeKkEZ9nN2fkBAlcktT6vcZjDFiIhMYEQw==} + '@types/react@19.0.0': + resolution: {integrity: sha512-MY3oPudxvMYyesqs/kW1Bh8y9VqSmf+tzqw3ae8a9DZW68pUe3zAdHeI1jc6iAysuRdACnVknHP8AhwD4/dxtg==} '@types/send@0.17.4': resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} @@ -3695,11 +3660,8 @@ packages: resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} engines: {node: '>= 6'} - caniuse-lite@1.0.30001680: - resolution: {integrity: sha512-rPQy70G6AGUMnbwS1z6Xg+RkHYPAi18ihs47GH0jcxIG7wArmPgY3XbS2sRdBbxJljp3thdT8BIqv9ccCypiPA==} - - caniuse-lite@1.0.30001684: - resolution: {integrity: sha512-G1LRwLIQjBQoyq0ZJGqGIJUXzJ8irpbjHLpVRXDvBEScFJ9b17sgK6vlx0GAJFE21okD7zXl08rRRUfq6HdoEQ==} + caniuse-lite@1.0.30001686: + resolution: {integrity: sha512-Y7deg0Aergpa24M3qLC5xjNklnKnhsmSyR/V89dLZ1n0ucJIFNs7PgR2Yfa/Zf6W79SbBicgtGxZr2juHkEUIA==} chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} @@ -4107,15 +4069,19 @@ packages: resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} engines: {node: '>=12'} - drizzle-kit@0.28.1: - resolution: {integrity: sha512-JimOV+ystXTWMgZkLHYHf2w3oS28hxiH1FR0dkmJLc7GHzdGJoJAQtQS5DRppnabsRZwE2U1F6CuezVBgmsBBQ==} + dotenv@16.4.7: + resolution: {integrity: sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==} + engines: {node: '>=12'} + + drizzle-kit@0.29.1: + resolution: {integrity: sha512-OvHL8RVyYiPR3LLRE3SHdcON8xGXl+qMfR9uTTnFWBPIqVk/3NWYZPb7nfpM1Bhix3H+BsxqPyyagG7YZ+Z63A==} hasBin: true - drizzle-orm@0.36.4: - resolution: {integrity: sha512-1OZY3PXD7BR00Gl61UUOFihslDldfH4NFRH2MbP54Yxi0G/PKn4HfO65JYZ7c16DeP3SpM3Aw+VXVG9j6CRSXA==} + drizzle-orm@0.37.0: + resolution: {integrity: sha512-AsCNACQ/T2CyZUkrBRUqFT2ibHJ9ZHz3+lzYJFFn3hnj7ylIeItMz5kacRG89uSE74nXYShqehr6u+6ks4JR1A==} peerDependencies: '@aws-sdk/client-rds-data': '>=3' - '@cloudflare/workers-types': '>=3' + '@cloudflare/workers-types': '>=4' '@electric-sql/pglite': '>=0.2.0' '@libsql/client': '>=0.10.0' '@libsql/client-wasm': '>=0.10.0' @@ -4220,8 +4186,8 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.66: - resolution: {integrity: sha512-pI2QF6+i+zjPbqRzJwkMvtvkdI7MjVbSh2g8dlMguDJIXEPw+kwasS1Jl+YGPEBfGVxsVgGUratAKymPdPo2vQ==} + electron-to-chromium@1.5.70: + resolution: {integrity: sha512-P6FPqAWIZrC3sHDAwBitJBs7N7IF58m39XVny7DFseQXK2eiMn7nNQizFf63mWDDUnFvaqsM8FI0+ZZfLkdUGA==} embla-carousel-react@8.5.1: resolution: {integrity: sha512-z9Y0K84BJvhChXgqn2CFYbfEi6AwEr+FFVVKm/MqbTQ2zIzO1VQri6w67LcfpVF0AjbhwVMywDZqY4alYkjW5w==} @@ -4352,8 +4318,8 @@ packages: peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9 - eslint-plugin-perfectionist@4.1.2: - resolution: {integrity: sha512-YjXPWB/rKe/gPUsyuxw75wTUrzN5MuJnRV0PH9NoonFvgcdVIXk551mkBKPr59nRZCbu7S3dFHwfo4gA42DB2w==} + eslint-plugin-perfectionist@4.2.0: + resolution: {integrity: sha512-hEMFx5xfSc/0OLZXJhSaLUKkFxATuRf4yL2iVfxEcxkkb17DfoLZY9eH960dPSw5uB7o+4avqP3rtkNp1Vwo7w==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: eslint: '>=8.0.0' @@ -4378,8 +4344,8 @@ packages: peerDependencies: eslint: '>=7' - eslint-plugin-react-hooks@5.0.0: - resolution: {integrity: sha512-hIOwI+5hYGpJEc4uPRmz2ulCjAGD/N13Lukkh8cLV0i2IRk/bdZDYjgLVHj+U9Z704kLIdIO6iueGvxNur0sgw==} + eslint-plugin-react-hooks@5.1.0: + resolution: {integrity: sha512-mpJRtPgHN2tNAvZ35AMfqeB3Xqeo273QxrHJsbBEPWODRM4r0yB6jfoROqKEYrOn27UtRPpcpHc2UqyBSuUNTw==} engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 @@ -4699,8 +4665,8 @@ packages: resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} engines: {node: '>= 0.4'} - gopd@1.1.0: - resolution: {integrity: sha512-FQoVQnqcdk4hVM4JN1eromaun4iuS34oStkdlLENLdpULsuQcTyXj8w7ayhuUfPwEYZ1ZOooOTT6fdA9Vmx/RA==} + gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} engines: {node: '>= 0.4'} got@13.0.0: @@ -4764,14 +4730,14 @@ packages: hoist-non-react-statics@3.3.2: resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} - html-dom-parser@5.0.10: - resolution: {integrity: sha512-GwArYL3V3V8yU/mLKoFF7HlLBv80BZ2Ey1BzfVNRpAci0cEKhFHI/Qh8o8oyt3qlAMLlK250wsxLdYX4viedvg==} + html-dom-parser@5.0.11: + resolution: {integrity: sha512-iORudm2K0c0DYeEj4AbrG9PFzgp1dpFGkJUAiBlVTkeyaNf2YYIs1b0dF7rQUPnDZimkLx+Jls+CvRIKO/++Tg==} html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} - html-react-parser@5.1.18: - resolution: {integrity: sha512-65BwC0zzrdeW96jB2FRr5f1ovBhRMpLPJNvwkY5kA8Ay5xdL9t/RH2/uUTM7p+cl5iM88i6dDk4LXtfMnRmaJQ==} + html-react-parser@5.1.19: + resolution: {integrity: sha512-ecjQg5KDhM+Yv3tRRfdp0fYSdSYHI1FQEDqou0g8NO7mXuoK8ksbYGRjeslqWO6QWX3PKREVWnC8VS1FSZaFHA==} peerDependencies: '@types/react': 0.14 || 15 || 16 || 17 || 18 react: 0.14 || 15 || 16 || 17 || 18 @@ -5154,15 +5120,11 @@ packages: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} - libphonenumber-js@1.11.15: - resolution: {integrity: sha512-M7+rtYi9l5RvMmHyjyoF3BHHUpXTYdJ0PezZGHNs0GyW1lO+K7jxlXpbdIb7a56h0nqLYdjIw+E+z0ciGaJP7g==} + libphonenumber-js@1.11.16: + resolution: {integrity: sha512-Noyazmt0yOvnG0OeRY45Cd1ur8G7Z0HWVkuCuKe+yysGNxPQwBAODBQQ40j0AIagi9ZWurfmmZWNlpg4h4W+XQ==} - lilconfig@2.1.0: - resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} - engines: {node: '>=10'} - - lilconfig@3.1.2: - resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==} + lilconfig@3.1.3: + resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} engines: {node: '>=14'} lines-and-columns@1.2.4: @@ -5171,8 +5133,8 @@ packages: linkify-it@5.0.0: resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==} - linkifyjs@4.1.4: - resolution: {integrity: sha512-0/NxkHNpiJ0k9VrYCkAn9OtU1eu8xEr1tCCpDtSsVRm/SF0xAak2Gzv3QimSfgUgqLBCDlfhMbu73XvaEHUTPQ==} + linkifyjs@4.2.0: + resolution: {integrity: sha512-pCj3PrQyATaoTYKHrgWRF3SJwsm61udVh+vuls/Rl6SptiDhgE7ziUIudAedRY9QEfynmM7/RmLEfPUyw1HPCw==} little-state-machine@4.8.0: resolution: {integrity: sha512-xfi5+iDxTLhu0hbnNubUs+qoQQqxhtEZeObP5ELjUlHnl74bbasY7mOonsGQrAouyrbag3ebNLSse5xX1T7buQ==} @@ -5246,8 +5208,8 @@ packages: lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - lucide-react@0.462.0: - resolution: {integrity: sha512-NTL7EbAao9IFtuSivSZgrAh4fZd09Lr+6MTkqIxuHaH2nnYiYIzXPo06cOxHg9wKLdj6LL8TByG4qpePqwgx/g==} + lucide-react@0.468.0: + resolution: {integrity: sha512-6koYRhnM2N0GGZIdXzSeiNwguv1gt/FAjZOiPl76roBi3xKEXa4WmfpxgQwTTL4KipXjefrnf3oV4IsYhi4JFA==} peerDependencies: react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc @@ -5272,8 +5234,8 @@ packages: engines: {node: '>= 16'} hasBin: true - md-to-react-email@5.0.2: - resolution: {integrity: sha512-x6kkpdzIzUhecda/yahltfEl53mH26QdWu4abUF9+S0Jgam8P//Ciro8cdhyMHnT5MQUJYrIbO6ORM2UxPiNNA==} + md-to-react-email@5.0.4: + resolution: {integrity: sha512-+XXP7QWNh2g2EGKeCSP8UIrOG45hX4mxUaxSyn1qSO+BFH2uTZ7LE5tt2TAdGAeIUuGuvzZ/o3cByulQ68OxJg==} peerDependencies: react: 18.x @@ -5700,8 +5662,8 @@ packages: resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} engines: {node: '>= 6'} - piscina@4.7.0: - resolution: {integrity: sha512-b8hvkpp9zS0zsfa939b/jXbe64Z2gZv0Ha7FYPNUiDIB1y2AtxcOZdfP8xN8HFjUaqQiT9gRlfjAsoL8vdJ1Iw==} + piscina@4.8.0: + resolution: {integrity: sha512-EZJb+ZxDrQf3dihsUL7p42pjNyrNIFJCrRHPMgxu/svsj+P3xS3fuEWp7k2+rfsavfl1N0G29b1HGs7J0m8rZA==} pluralize@8.0.0: resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} @@ -5927,8 +5889,8 @@ packages: prosemirror-schema-basic@1.2.3: resolution: {integrity: sha512-h+H0OQwZVqMon1PNn0AG9cTfx513zgIG2DY00eJ00Yvgb3UD+GQ/VlWW5rcaxacpCGT1Yx8nuhwXk4+QbXUfJA==} - prosemirror-schema-list@1.4.1: - resolution: {integrity: sha512-jbDyaP/6AFfDfu70VzySsD75Om2t3sXTOdl5+31Wlxlg62td1haUpty/ybajSfJ1pkGadlOfwQq9kgW5IMo1Rg==} + prosemirror-schema-list@1.5.0: + resolution: {integrity: sha512-gg1tAfH1sqpECdhIHOA/aLg2VH3ROKBWQ4m8Qp9mBKrOxQRW61zc+gMCI8nh22gnBzd1t2u1/NPLmO3nAa3ssg==} prosemirror-state@1.4.3: resolution: {integrity: sha512-goFKORVbvPuAQaXhpbemJFRKJ2aixr+AZMGiquiqKxaucC6hlpHNZHWgz5R7dS4roHiwq9vDctE//CZ++o0W1Q==} @@ -6009,10 +5971,10 @@ packages: date-fns: ^2.28.0 || ^3.0.0 react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom@19.0.0-rc.1: - resolution: {integrity: sha512-k8MfDX+4G+eaa1cXXI9QF4d+pQtYol3nx8vauqRWUEOPqC7NQn2qmEqUsLoSd28rrZUL+R3T2VC+kZ2Hyx1geQ==} + react-dom@19.0.0: + resolution: {integrity: sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==} peerDependencies: - react: 19.0.0-rc.1 + react: ^19.0.0 react-hook-form@7.53.2: resolution: {integrity: sha512-YVel6fW5sOeedd1524pltpHX+jgU2u3DSDtXEaBORNdqiNrsX/nUI/iGXONegttg0mJVnfrIkiV0cmTU6Oo2xw==} @@ -6060,8 +6022,8 @@ packages: peerDependencies: react-dom: ^16.8.0 || ^17 || ^18 - react-smooth@4.0.1: - resolution: {integrity: sha512-OE4hm7XqR0jNOq3Qmk9mFLyd6p2+j6bvbPJ7qlB7+oo0eNcL2l7WQzG6MBnT3EXY6xzkLMUBec3AfewJdA0J8w==} + react-smooth@4.0.3: + resolution: {integrity: sha512-PyxIrra8WZWrMRFcCiJsZ+JqFaxEINAt+v/w++wQKQlmO99Eh3+JTLeKApdTsLX2roBdWYXqPsaS8sO4UmdzIg==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -6082,8 +6044,8 @@ packages: react: '>=16.6.0' react-dom: '>=16.6.0' - react@19.0.0-rc.1: - resolution: {integrity: sha512-NZKln+uyPuyHchzP07I6GGYFxdAoaKhehgpCa3ltJGzwE31OYumLeshGaitA1R/fS5d9D2qpZVwTFAr6zCLM9w==} + react@19.0.0: + resolution: {integrity: sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==} engines: {node: '>=0.10.0'} read-cache@1.0.0: @@ -6107,8 +6069,8 @@ packages: recharts-scale@0.4.5: resolution: {integrity: sha512-kivNFO+0OcUNu7jQquLXAxz1FIwZj8nrj+YkOKc5694NbjCvcT6aSZiIzNzd2Kul4o4rTto8QVR9lMNtxD4G1w==} - recharts@2.13.3: - resolution: {integrity: sha512-YDZ9dOfK9t3ycwxgKbrnDlRC4BHdjlY73fet3a0C1+qGMjXVZe6+VXmpOIIhzkje5MMEL8AN4hLIe4AMskBzlA==} + recharts@2.14.1: + resolution: {integrity: sha512-xtWulflkA+/xu4/QClBdtZYN30dbvTHjxjkh5XTMrH/CQ3WGDDPHHa/LLKCbgoqz0z3UaSH2/blV1i6VNMeh1g==} engines: {node: '>=14'} peerDependencies: react: ^16.0.0 || ^17.0.0 || ^18.0.0 @@ -6221,8 +6183,8 @@ packages: safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - scheduler@0.25.0-rc.1: - resolution: {integrity: sha512-fVinv2lXqYpKConAMdergOl5owd0rY1O4P/QTe0aWKCqGtu7VsCt1iqQFxSJtqK4Lci/upVSBpGwVC7eWcuS9Q==} + scheduler@0.25.0: + resolution: {integrity: sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==} schema-utils@3.3.0: resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} @@ -6374,8 +6336,8 @@ packages: resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} engines: {node: '>=10.0.0'} - streamx@2.20.2: - resolution: {integrity: sha512-aDGDLU+j9tJcUdPGOaHmVF1u/hhI+CsGkT02V3OKlHDV7IukOI+nTWAGkiZEKCO35rWN1wIr4tS7YFr1f4qSvA==} + streamx@2.21.0: + resolution: {integrity: sha512-Qz6MsDZXJ6ur9u+b+4xCG18TluU7PGlRfXVAAjNiGsFrBUt/ioyLkxbFaKJygoPs+/kW4VyBj0bSj89Qu0IGyg==} string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} @@ -6507,8 +6469,8 @@ packages: peerDependencies: tailwindcss: '>=3.0.0 || insiders' - tailwindcss@3.4.15: - resolution: {integrity: sha512-r4MeXnfBmSOuKUWmXe6h2CcyfzJCEk4F0pptO5jlnYSIViUkVmsawj80N5h2lO3gwcmSb4n3PuN+e+GC1Guylw==} + tailwindcss@3.4.16: + resolution: {integrity: sha512-TI4Cyx7gDiZ6r44ewaJmt0o6BrMCT5aK5e0rmJ/G9Xq3w7CX/5VXl/zIPEJZFUK5VEqwByyhqNPycPlvcK4ZNw==} engines: {node: '>=14.0.0'} hasBin: true @@ -6535,8 +6497,8 @@ packages: uglify-js: optional: true - terser@5.36.0: - resolution: {integrity: sha512-IYV9eNMuFAV4THUspIRXkLakHnV6XO7FEdtKjf/mDyrnqUg9LnlOn6/RwRvM9SZjR4GUq8Nk8zj67FzVARr74w==} + terser@5.37.0: + resolution: {integrity: sha512-B8wRRkmre4ERucLM/uXx4MOV5cbnOlVAqUst+1+iLKPI0dOgFO28f84ptoQt9HEI537PMzfYa/d+GEPKTRXmYA==} engines: {node: '>=10'} hasBin: true @@ -6808,10 +6770,10 @@ packages: '@types/react': optional: true - use-sync-external-store@1.2.2: - resolution: {integrity: sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==} + use-sync-external-store@1.4.0: + resolution: {integrity: sha512-9WXSPC5fMv61vaupRkCKCxsPxBocVnwakBEkMIHHpkTTg6icbJtg6jzgtLDm4bl3cSHAca52rYWih0k4K3PfHw==} peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} @@ -6894,8 +6856,9 @@ packages: whatwg-url@7.1.0: resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} - which-boxed-primitive@1.0.2: - resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + which-boxed-primitive@1.1.0: + resolution: {integrity: sha512-Ei7Miu/AXe2JJ4iNF5j/UphAgRoma4trE6PtisM09bPygb3egMH3YLW/befsWb1A1AxvNSFidOFTB18XtnIIng==} + engines: {node: '>= 0.4'} which-builtin-type@1.2.0: resolution: {integrity: sha512-I+qLGQ/vucCby4tf5HsLmGueEla4ZhwTBSqaooS+Y0BuxN4Cp+okmGuV+8mXZ84KDI9BA+oklo+RzKg0ONdSUA==} @@ -7023,14 +6986,14 @@ snapshots: dependencies: json-schema: 0.4.0 - '@ai-sdk/react@1.0.3(react@19.0.0-rc.1)(zod@3.23.8)': + '@ai-sdk/react@1.0.3(react@19.0.0)(zod@3.23.8)': dependencies: '@ai-sdk/provider-utils': 2.0.2(zod@3.23.8) '@ai-sdk/ui-utils': 1.0.2(zod@3.23.8) - swr: 2.2.5(react@19.0.0-rc.1) + swr: 2.2.5(react@19.0.0) throttleit: 2.1.0 optionalDependencies: - react: 19.0.0-rc.1 + react: 19.0.0 zod: 3.23.8 '@ai-sdk/ui-utils@1.0.2(zod@3.23.8)': @@ -7086,20 +7049,20 @@ snapshots: js-tokens: 4.0.0 picocolors: 1.1.1 - '@babel/compat-data@7.26.2': {} + '@babel/compat-data@7.26.3': {} '@babel/core@7.26.0': dependencies: '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.26.2 - '@babel/generator': 7.26.2 + '@babel/generator': 7.26.3 '@babel/helper-compilation-targets': 7.25.9 '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) '@babel/helpers': 7.26.0 - '@babel/parser': 7.26.2 + '@babel/parser': 7.26.3 '@babel/template': 7.25.9 - '@babel/traverse': 7.25.9 - '@babel/types': 7.26.0 + '@babel/traverse': 7.26.4 + '@babel/types': 7.26.3 convert-source-map: 2.0.0 debug: 4.3.7 gensync: 1.0.0-beta.2 @@ -7108,21 +7071,21 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/generator@7.26.2': + '@babel/generator@7.26.3': dependencies: - '@babel/parser': 7.26.2 - '@babel/types': 7.26.0 + '@babel/parser': 7.26.3 + '@babel/types': 7.26.3 '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 jsesc: 3.0.2 '@babel/helper-annotate-as-pure@7.25.9': dependencies: - '@babel/types': 7.26.0 + '@babel/types': 7.26.3 '@babel/helper-compilation-targets@7.25.9': dependencies: - '@babel/compat-data': 7.26.2 + '@babel/compat-data': 7.26.3 '@babel/helper-validator-option': 7.25.9 browserslist: 4.24.2 lru-cache: 5.1.1 @@ -7136,22 +7099,22 @@ snapshots: '@babel/helper-optimise-call-expression': 7.25.9 '@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.0) '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - '@babel/traverse': 7.25.9 + '@babel/traverse': 7.26.4 semver: 6.3.1 transitivePeerDependencies: - supports-color '@babel/helper-member-expression-to-functions@7.25.9': dependencies: - '@babel/traverse': 7.25.9 - '@babel/types': 7.26.0 + '@babel/traverse': 7.26.4 + '@babel/types': 7.26.3 transitivePeerDependencies: - supports-color '@babel/helper-module-imports@7.25.9': dependencies: - '@babel/traverse': 7.25.9 - '@babel/types': 7.26.0 + '@babel/traverse': 7.26.4 + '@babel/types': 7.26.3 transitivePeerDependencies: - supports-color @@ -7160,13 +7123,13 @@ snapshots: '@babel/core': 7.26.0 '@babel/helper-module-imports': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 - '@babel/traverse': 7.25.9 + '@babel/traverse': 7.26.4 transitivePeerDependencies: - supports-color '@babel/helper-optimise-call-expression@7.25.9': dependencies: - '@babel/types': 7.26.0 + '@babel/types': 7.26.3 '@babel/helper-plugin-utils@7.25.9': {} @@ -7175,14 +7138,14 @@ snapshots: '@babel/core': 7.26.0 '@babel/helper-member-expression-to-functions': 7.25.9 '@babel/helper-optimise-call-expression': 7.25.9 - '@babel/traverse': 7.25.9 + '@babel/traverse': 7.26.4 transitivePeerDependencies: - supports-color '@babel/helper-skip-transparent-expression-wrappers@7.25.9': dependencies: - '@babel/traverse': 7.25.9 - '@babel/types': 7.26.0 + '@babel/traverse': 7.26.4 + '@babel/types': 7.26.3 transitivePeerDependencies: - supports-color @@ -7195,11 +7158,11 @@ snapshots: '@babel/helpers@7.26.0': dependencies: '@babel/template': 7.25.9 - '@babel/types': 7.26.0 + '@babel/types': 7.26.3 - '@babel/parser@7.26.2': + '@babel/parser@7.26.3': dependencies: - '@babel/types': 7.26.0 + '@babel/types': 7.26.3 '@babel/plugin-transform-private-methods@7.25.9(@babel/core@7.26.0)': dependencies: @@ -7216,22 +7179,22 @@ snapshots: '@babel/template@7.25.9': dependencies: '@babel/code-frame': 7.26.2 - '@babel/parser': 7.26.2 - '@babel/types': 7.26.0 + '@babel/parser': 7.26.3 + '@babel/types': 7.26.3 - '@babel/traverse@7.25.9': + '@babel/traverse@7.26.4': dependencies: '@babel/code-frame': 7.26.2 - '@babel/generator': 7.26.2 - '@babel/parser': 7.26.2 + '@babel/generator': 7.26.3 + '@babel/parser': 7.26.3 '@babel/template': 7.25.9 - '@babel/types': 7.26.0 + '@babel/types': 7.26.3 debug: 4.3.7 globals: 11.12.0 transitivePeerDependencies: - supports-color - '@babel/types@7.26.0': + '@babel/types@7.26.3': dependencies: '@babel/helper-string-parser': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 @@ -7247,29 +7210,29 @@ snapshots: '@discoveryjs/json-ext@0.5.7': {} - '@dnd-kit/accessibility@3.1.1(react@19.0.0-rc.1)': + '@dnd-kit/accessibility@3.1.1(react@19.0.0)': dependencies: - react: 19.0.0-rc.1 + react: 19.0.0 tslib: 2.8.1 - '@dnd-kit/core@6.2.0(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1)': + '@dnd-kit/core@6.3.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@dnd-kit/accessibility': 3.1.1(react@19.0.0-rc.1) - '@dnd-kit/utilities': 3.2.2(react@19.0.0-rc.1) - react: 19.0.0-rc.1 - react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + '@dnd-kit/accessibility': 3.1.1(react@19.0.0) + '@dnd-kit/utilities': 3.2.2(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) tslib: 2.8.1 - '@dnd-kit/sortable@9.0.0(@dnd-kit/core@6.2.0(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1))(react@19.0.0-rc.1)': + '@dnd-kit/sortable@10.0.0(@dnd-kit/core@6.3.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)': dependencies: - '@dnd-kit/core': 6.2.0(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@dnd-kit/utilities': 3.2.2(react@19.0.0-rc.1) - react: 19.0.0-rc.1 + '@dnd-kit/core': 6.3.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@dnd-kit/utilities': 3.2.2(react@19.0.0) + react: 19.0.0 tslib: 2.8.1 - '@dnd-kit/utilities@3.2.2(react@19.0.0-rc.1)': + '@dnd-kit/utilities@3.2.2(react@19.0.0)': dependencies: - react: 19.0.0-rc.1 + react: 19.0.0 tslib: 2.8.1 '@drizzle-team/brocli@0.10.2': {} @@ -7323,19 +7286,19 @@ snapshots: '@emotion/memoize@0.9.0': {} - '@emotion/react@11.13.5(@types/react@18.3.12)(react@19.0.0-rc.1)': + '@emotion/react@11.13.5(@types/react@19.0.0)(react@19.0.0)': dependencies: '@babel/runtime': 7.26.0 '@emotion/babel-plugin': 11.13.5 '@emotion/cache': 11.13.5 '@emotion/serialize': 1.3.3 - '@emotion/use-insertion-effect-with-fallbacks': 1.1.0(react@19.0.0-rc.1) + '@emotion/use-insertion-effect-with-fallbacks': 1.1.0(react@19.0.0) '@emotion/utils': 1.4.2 '@emotion/weak-memoize': 0.4.0 hoist-non-react-statics: 3.3.2 - react: 19.0.0-rc.1 + react: 19.0.0 optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 19.0.0 transitivePeerDependencies: - supports-color @@ -7349,26 +7312,26 @@ snapshots: '@emotion/sheet@1.4.0': {} - '@emotion/styled@11.13.5(@emotion/react@11.13.5(@types/react@18.3.12)(react@19.0.0-rc.1))(@types/react@18.3.12)(react@19.0.0-rc.1)': + '@emotion/styled@11.13.5(@emotion/react@11.13.5(@types/react@19.0.0)(react@19.0.0))(@types/react@19.0.0)(react@19.0.0)': dependencies: '@babel/runtime': 7.26.0 '@emotion/babel-plugin': 11.13.5 '@emotion/is-prop-valid': 1.3.1 - '@emotion/react': 11.13.5(@types/react@18.3.12)(react@19.0.0-rc.1) + '@emotion/react': 11.13.5(@types/react@19.0.0)(react@19.0.0) '@emotion/serialize': 1.3.3 - '@emotion/use-insertion-effect-with-fallbacks': 1.1.0(react@19.0.0-rc.1) + '@emotion/use-insertion-effect-with-fallbacks': 1.1.0(react@19.0.0) '@emotion/utils': 1.4.2 - react: 19.0.0-rc.1 + react: 19.0.0 optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 19.0.0 transitivePeerDependencies: - supports-color '@emotion/unitless@0.10.0': {} - '@emotion/use-insertion-effect-with-fallbacks@1.1.0(react@19.0.0-rc.1)': + '@emotion/use-insertion-effect-with-fallbacks@1.1.0(react@19.0.0)': dependencies: - react: 19.0.0-rc.1 + react: 19.0.0 '@emotion/utils@1.4.2': {} @@ -7600,7 +7563,7 @@ snapshots: '@eslint/config-array@0.18.0': dependencies: - '@eslint/object-schema': 2.1.4 + '@eslint/object-schema': 2.1.5 debug: 4.3.7 minimatch: 3.1.2 transitivePeerDependencies: @@ -7624,9 +7587,9 @@ snapshots: '@eslint/js@9.14.0': {} - '@eslint/object-schema@2.1.4': {} + '@eslint/object-schema@2.1.5': {} - '@eslint/plugin-kit@0.2.3': + '@eslint/plugin-kit@0.2.4': dependencies: levn: 0.4.1 @@ -7639,11 +7602,11 @@ snapshots: '@floating-ui/core': 1.6.8 '@floating-ui/utils': 0.2.8 - '@floating-ui/react-dom@2.1.2(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1)': + '@floating-ui/react-dom@2.1.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@floating-ui/dom': 1.6.12 - react: 19.0.0-rc.1 - react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) '@floating-ui/utils@0.2.8': {} @@ -7672,25 +7635,25 @@ snapshots: dependencies: tslib: 2.8.1 - '@hookform/devtools@4.3.1(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1)': + '@hookform/devtools@4.3.1(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@emotion/react': 11.13.5(@types/react@18.3.12)(react@19.0.0-rc.1) - '@emotion/styled': 11.13.5(@emotion/react@11.13.5(@types/react@18.3.12)(react@19.0.0-rc.1))(@types/react@18.3.12)(react@19.0.0-rc.1) + '@emotion/react': 11.13.5(@types/react@19.0.0)(react@19.0.0) + '@emotion/styled': 11.13.5(@emotion/react@11.13.5(@types/react@19.0.0)(react@19.0.0))(@types/react@19.0.0)(react@19.0.0) '@types/lodash': 4.17.13 - little-state-machine: 4.8.0(react@19.0.0-rc.1) + little-state-machine: 4.8.0(react@19.0.0) lodash: 4.17.21 - react: 19.0.0-rc.1 - react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) - react-simple-animate: 3.5.2(react-dom@19.0.0-rc.1(react@19.0.0-rc.1)) - use-deep-compare-effect: 1.8.1(react@19.0.0-rc.1) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + react-simple-animate: 3.5.2(react-dom@19.0.0(react@19.0.0)) + use-deep-compare-effect: 1.8.1(react@19.0.0) uuid: 8.3.2 transitivePeerDependencies: - '@types/react' - supports-color - '@hookform/resolvers@3.9.1(react-hook-form@7.53.2(react@19.0.0-rc.1))': + '@hookform/resolvers@3.9.1(react-hook-form@7.53.2(react@19.0.0))': dependencies: - react-hook-form: 7.53.2(react@19.0.0-rc.1) + react-hook-form: 7.53.2(react@19.0.0) '@humanfs/core@0.19.1': {} @@ -7887,7 +7850,7 @@ snapshots: '@napi-rs/nice-win32-x64-msvc': 1.0.1 optional: true - '@nestjs/cli@10.4.8(@swc/cli@0.5.2(@swc/core@1.9.3(@swc/helpers@0.5.13))(chokidar@3.6.0))(@swc/core@1.9.3(@swc/helpers@0.5.13))': + '@nestjs/cli@10.4.8(@swc/cli@0.5.2(@swc/core@1.10.0(@swc/helpers@0.5.13))(chokidar@3.6.0))(@swc/core@1.10.0(@swc/helpers@0.5.13))': dependencies: '@angular-devkit/core': 17.3.11(chokidar@3.6.0) '@angular-devkit/schematics': 17.3.11(chokidar@3.6.0) @@ -7897,7 +7860,7 @@ snapshots: chokidar: 3.6.0 cli-table3: 0.6.5 commander: 4.1.1 - fork-ts-checker-webpack-plugin: 9.0.2(typescript@5.6.3)(webpack@5.96.1(@swc/core@1.9.3(@swc/helpers@0.5.13))) + fork-ts-checker-webpack-plugin: 9.0.2(typescript@5.6.3)(webpack@5.96.1(@swc/core@1.10.0(@swc/helpers@0.5.13))) glob: 10.4.5 inquirer: 8.2.6 node-emoji: 1.11.0 @@ -7906,17 +7869,17 @@ snapshots: tsconfig-paths: 4.2.0 tsconfig-paths-webpack-plugin: 4.2.0 typescript: 5.6.3 - webpack: 5.96.1(@swc/core@1.9.3(@swc/helpers@0.5.13)) + webpack: 5.96.1(@swc/core@1.10.0(@swc/helpers@0.5.13)) webpack-node-externals: 3.0.0 optionalDependencies: - '@swc/cli': 0.5.2(@swc/core@1.9.3(@swc/helpers@0.5.13))(chokidar@3.6.0) - '@swc/core': 1.9.3(@swc/helpers@0.5.13) + '@swc/cli': 0.5.2(@swc/core@1.10.0(@swc/helpers@0.5.13))(chokidar@3.6.0) + '@swc/core': 1.10.0(@swc/helpers@0.5.13) transitivePeerDependencies: - esbuild - uglify-js - webpack-cli - '@nestjs/common@10.4.12(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1)': + '@nestjs/common@10.4.13(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1)': dependencies: iterare: 1.2.1 reflect-metadata: 0.2.2 @@ -7927,17 +7890,17 @@ snapshots: class-transformer: 0.5.1 class-validator: 0.14.1 - '@nestjs/config@3.3.0(@nestjs/common@10.4.12(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(rxjs@7.8.1)': + '@nestjs/config@3.3.0(@nestjs/common@10.4.13(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(rxjs@7.8.1)': dependencies: - '@nestjs/common': 10.4.12(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) + '@nestjs/common': 10.4.13(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) dotenv: 16.4.5 dotenv-expand: 10.0.0 lodash: 4.17.21 rxjs: 7.8.1 - '@nestjs/core@10.4.12(@nestjs/common@10.4.12(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.12)(reflect-metadata@0.2.2)(rxjs@7.8.1)': + '@nestjs/core@10.4.13(@nestjs/common@10.4.13(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.13)(reflect-metadata@0.2.2)(rxjs@7.8.1)': dependencies: - '@nestjs/common': 10.4.12(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) + '@nestjs/common': 10.4.13(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) '@nuxtjs/opencollective': 0.3.2 fast-safe-stringify: 2.1.1 iterare: 1.2.1 @@ -7947,28 +7910,28 @@ snapshots: tslib: 2.8.1 uid: 2.0.2 optionalDependencies: - '@nestjs/platform-express': 10.4.12(@nestjs/common@10.4.12(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.12) + '@nestjs/platform-express': 10.4.13(@nestjs/common@10.4.13(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.13) transitivePeerDependencies: - encoding - '@nestjs/jwt@10.2.0(@nestjs/common@10.4.12(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))': + '@nestjs/jwt@10.2.0(@nestjs/common@10.4.13(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))': dependencies: - '@nestjs/common': 10.4.12(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) + '@nestjs/common': 10.4.13(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) '@types/jsonwebtoken': 9.0.5 jsonwebtoken: 9.0.2 - '@nestjs/mapped-types@2.0.6(@nestjs/common@10.4.12(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)': + '@nestjs/mapped-types@2.0.6(@nestjs/common@10.4.13(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)': dependencies: - '@nestjs/common': 10.4.12(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) + '@nestjs/common': 10.4.13(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) reflect-metadata: 0.2.2 optionalDependencies: class-transformer: 0.5.1 class-validator: 0.14.1 - '@nestjs/platform-express@10.4.12(@nestjs/common@10.4.12(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.12)': + '@nestjs/platform-express@10.4.13(@nestjs/common@10.4.13(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.13)': dependencies: - '@nestjs/common': 10.4.12(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) - '@nestjs/core': 10.4.12(@nestjs/common@10.4.12(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.12)(reflect-metadata@0.2.2)(rxjs@7.8.1) + '@nestjs/common': 10.4.13(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) + '@nestjs/core': 10.4.13(@nestjs/common@10.4.13(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.13)(reflect-metadata@0.2.2)(rxjs@7.8.1) body-parser: 1.20.3 cors: 2.8.5 express: 4.21.1 @@ -7977,10 +7940,10 @@ snapshots: transitivePeerDependencies: - supports-color - '@nestjs/schedule@4.1.1(@nestjs/common@10.4.12(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.12(@nestjs/common@10.4.12(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.12)(reflect-metadata@0.2.2)(rxjs@7.8.1))': + '@nestjs/schedule@4.1.1(@nestjs/common@10.4.13(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.13(@nestjs/common@10.4.13(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))': dependencies: - '@nestjs/common': 10.4.12(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) - '@nestjs/core': 10.4.12(@nestjs/common@10.4.12(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.12)(reflect-metadata@0.2.2)(rxjs@7.8.1) + '@nestjs/common': 10.4.13(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) + '@nestjs/core': 10.4.13(@nestjs/common@10.4.13(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.13)(reflect-metadata@0.2.2)(rxjs@7.8.1) cron: 3.1.7 uuid: 10.0.0 @@ -8006,20 +7969,20 @@ snapshots: transitivePeerDependencies: - chokidar - '@nestjs/serve-static@4.0.2(@nestjs/common@10.4.12(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.12(@nestjs/common@10.4.12(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.12)(reflect-metadata@0.2.2)(rxjs@7.8.1))(express@4.21.1)': + '@nestjs/serve-static@4.0.2(@nestjs/common@10.4.13(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.13(@nestjs/common@10.4.13(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))(express@4.21.1)': dependencies: - '@nestjs/common': 10.4.12(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) - '@nestjs/core': 10.4.12(@nestjs/common@10.4.12(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.12)(reflect-metadata@0.2.2)(rxjs@7.8.1) + '@nestjs/common': 10.4.13(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) + '@nestjs/core': 10.4.13(@nestjs/common@10.4.13(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.13)(reflect-metadata@0.2.2)(rxjs@7.8.1) path-to-regexp: 0.2.5 optionalDependencies: express: 4.21.1 - '@nestjs/swagger@8.0.7(@nestjs/common@10.4.12(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.12(@nestjs/common@10.4.12(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.12)(reflect-metadata@0.2.2)(rxjs@7.8.1))(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)': + '@nestjs/swagger@8.1.0(@nestjs/common@10.4.13(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.13(@nestjs/common@10.4.13(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)': dependencies: '@microsoft/tsdoc': 0.15.1 - '@nestjs/common': 10.4.12(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) - '@nestjs/core': 10.4.12(@nestjs/common@10.4.12(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.12)(reflect-metadata@0.2.2)(rxjs@7.8.1) - '@nestjs/mapped-types': 2.0.6(@nestjs/common@10.4.12(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2) + '@nestjs/common': 10.4.13(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) + '@nestjs/core': 10.4.13(@nestjs/common@10.4.13(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.13)(reflect-metadata@0.2.2)(rxjs@7.8.1) + '@nestjs/mapped-types': 2.0.6(@nestjs/common@10.4.13(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2) js-yaml: 4.1.0 lodash: 4.17.21 path-to-regexp: 3.3.0 @@ -8029,12 +7992,6 @@ snapshots: class-transformer: 0.5.1 class-validator: 0.14.1 - '@nestjs/throttler@6.2.1(@nestjs/common@10.4.12(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.12(@nestjs/common@10.4.12(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.12)(reflect-metadata@0.2.2)(rxjs@7.8.1))(reflect-metadata@0.2.2)': - dependencies: - '@nestjs/common': 10.4.12(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) - '@nestjs/core': 10.4.12(@nestjs/common@10.4.12(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.12)(reflect-metadata@0.2.2)(rxjs@7.8.1) - reflect-metadata: 0.2.2 - '@next/bundle-analyzer@15.0.3': dependencies: webpack-bundle-analyzer: 4.10.1 @@ -8105,673 +8062,673 @@ snapshots: '@radix-ui/primitive@1.1.0': {} - '@radix-ui/react-accordion@1.2.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1)': + '@radix-ui/react-accordion@1.2.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@radix-ui/primitive': 1.1.0 - '@radix-ui/react-collapsible': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-collection': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-direction': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - react: 19.0.0-rc.1 - react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + '@radix-ui/react-collapsible': 1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-collection': 1.1.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-context': 1.1.1(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-direction': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-id': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.0)(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 + '@types/react': 19.0.0 + '@types/react-dom': 19.0.0 - '@radix-ui/react-alert-dialog@1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1)': + '@radix-ui/react-alert-dialog@1.1.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@radix-ui/primitive': 1.1.0 - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-dialog': 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-slot': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - react: 19.0.0-rc.1 - react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-context': 1.1.1(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-dialog': 1.1.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-slot': 1.1.0(@types/react@19.0.0)(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 + '@types/react': 19.0.0 + '@types/react-dom': 19.0.0 - '@radix-ui/react-arrow@1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1)': + '@radix-ui/react-arrow@1.1.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - react: 19.0.0-rc.1 - react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 + '@types/react': 19.0.0 + '@types/react-dom': 19.0.0 - '@radix-ui/react-checkbox@1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1)': + '@radix-ui/react-checkbox@1.1.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@radix-ui/primitive': 1.1.0 - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-presence': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - react: 19.0.0-rc.1 - react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-context': 1.1.1(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-presence': 1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-use-previous': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-use-size': 1.1.0(@types/react@19.0.0)(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 + '@types/react': 19.0.0 + '@types/react-dom': 19.0.0 - '@radix-ui/react-collapsible@1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1)': + '@radix-ui/react-collapsible@1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@radix-ui/primitive': 1.1.0 - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-presence': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - react: 19.0.0-rc.1 - react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-context': 1.1.1(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-id': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-presence': 1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.0)(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 + '@types/react': 19.0.0 + '@types/react-dom': 19.0.0 - '@radix-ui/react-collection@1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1)': + '@radix-ui/react-collection@1.1.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-context': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-slot': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - react: 19.0.0-rc.1 - react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-context': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-slot': 1.1.0(@types/react@19.0.0)(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 + '@types/react': 19.0.0 + '@types/react-dom': 19.0.0 - '@radix-ui/react-compose-refs@1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1)': + '@radix-ui/react-compose-refs@1.1.0(@types/react@19.0.0)(react@19.0.0)': dependencies: - react: 19.0.0-rc.1 + react: 19.0.0 optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 19.0.0 - '@radix-ui/react-context@1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1)': + '@radix-ui/react-context@1.1.0(@types/react@19.0.0)(react@19.0.0)': dependencies: - react: 19.0.0-rc.1 + react: 19.0.0 optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 19.0.0 - '@radix-ui/react-context@1.1.1(@types/react@18.3.12)(react@19.0.0-rc.1)': + '@radix-ui/react-context@1.1.1(@types/react@19.0.0)(react@19.0.0)': dependencies: - react: 19.0.0-rc.1 + react: 19.0.0 optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 19.0.0 - '@radix-ui/react-dialog@1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1)': + '@radix-ui/react-dialog@1.1.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@radix-ui/primitive': 1.1.0 - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-dismissable-layer': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-focus-scope': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-portal': 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-presence': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-slot': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-context': 1.1.1(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-dismissable-layer': 1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-focus-guards': 1.1.1(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-focus-scope': 1.1.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-id': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-portal': 1.1.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-presence': 1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-slot': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.0)(react@19.0.0) aria-hidden: 1.2.4 - react: 19.0.0-rc.1 - react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) - react-remove-scroll: 2.6.0(@types/react@18.3.12)(react@19.0.0-rc.1) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + react-remove-scroll: 2.6.0(@types/react@19.0.0)(react@19.0.0) optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 + '@types/react': 19.0.0 + '@types/react-dom': 19.0.0 - '@radix-ui/react-direction@1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1)': + '@radix-ui/react-direction@1.1.0(@types/react@19.0.0)(react@19.0.0)': dependencies: - react: 19.0.0-rc.1 + react: 19.0.0 optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 19.0.0 - '@radix-ui/react-dismissable-layer@1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1)': + '@radix-ui/react-dismissable-layer@1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@radix-ui/primitive': 1.1.0 - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - react: 19.0.0-rc.1 - react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@19.0.0)(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 + '@types/react': 19.0.0 + '@types/react-dom': 19.0.0 - '@radix-ui/react-dropdown-menu@2.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1)': + '@radix-ui/react-dropdown-menu@2.1.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@radix-ui/primitive': 1.1.0 - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-menu': 2.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - react: 19.0.0-rc.1 - react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-context': 1.1.1(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-id': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-menu': 2.1.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.0)(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 + '@types/react': 19.0.0 + '@types/react-dom': 19.0.0 - '@radix-ui/react-focus-guards@1.1.1(@types/react@18.3.12)(react@19.0.0-rc.1)': + '@radix-ui/react-focus-guards@1.1.1(@types/react@19.0.0)(react@19.0.0)': dependencies: - react: 19.0.0-rc.1 + react: 19.0.0 optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 19.0.0 - '@radix-ui/react-focus-scope@1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1)': + '@radix-ui/react-focus-scope@1.1.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - react: 19.0.0-rc.1 - react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.0)(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 + '@types/react': 19.0.0 + '@types/react-dom': 19.0.0 - '@radix-ui/react-hover-card@1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1)': + '@radix-ui/react-hover-card@1.1.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@radix-ui/primitive': 1.1.0 - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-dismissable-layer': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-popper': 1.2.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-portal': 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-presence': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - react: 19.0.0-rc.1 - react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-context': 1.1.1(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-dismissable-layer': 1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-popper': 1.2.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-portal': 1.1.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-presence': 1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.0)(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 + '@types/react': 19.0.0 + '@types/react-dom': 19.0.0 - '@radix-ui/react-id@1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1)': + '@radix-ui/react-id@1.1.0(@types/react@19.0.0)(react@19.0.0)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - react: 19.0.0-rc.1 + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.0)(react@19.0.0) + react: 19.0.0 optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 19.0.0 - '@radix-ui/react-label@2.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1)': + '@radix-ui/react-label@2.1.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - react: 19.0.0-rc.1 - react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 + '@types/react': 19.0.0 + '@types/react-dom': 19.0.0 - '@radix-ui/react-menu@2.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1)': + '@radix-ui/react-menu@2.1.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@radix-ui/primitive': 1.1.0 - '@radix-ui/react-collection': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-direction': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-dismissable-layer': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-focus-scope': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-popper': 1.2.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-portal': 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-presence': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-roving-focus': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-slot': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) + '@radix-ui/react-collection': 1.1.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-context': 1.1.1(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-direction': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-dismissable-layer': 1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-focus-guards': 1.1.1(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-focus-scope': 1.1.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-id': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-popper': 1.2.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-portal': 1.1.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-presence': 1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-roving-focus': 1.1.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-slot': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.0)(react@19.0.0) aria-hidden: 1.2.4 - react: 19.0.0-rc.1 - react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) - react-remove-scroll: 2.6.0(@types/react@18.3.12)(react@19.0.0-rc.1) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + react-remove-scroll: 2.6.0(@types/react@19.0.0)(react@19.0.0) optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 + '@types/react': 19.0.0 + '@types/react-dom': 19.0.0 - '@radix-ui/react-popover@1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1)': + '@radix-ui/react-popover@1.1.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@radix-ui/primitive': 1.1.0 - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-dismissable-layer': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-focus-scope': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-popper': 1.2.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-portal': 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-presence': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-slot': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-context': 1.1.1(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-dismissable-layer': 1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-focus-guards': 1.1.1(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-focus-scope': 1.1.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-id': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-popper': 1.2.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-portal': 1.1.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-presence': 1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-slot': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.0)(react@19.0.0) aria-hidden: 1.2.4 - react: 19.0.0-rc.1 - react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) - react-remove-scroll: 2.6.0(@types/react@18.3.12)(react@19.0.0-rc.1) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + react-remove-scroll: 2.6.0(@types/react@19.0.0)(react@19.0.0) optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 - - '@radix-ui/react-popper@1.2.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1)': - dependencies: - '@floating-ui/react-dom': 2.1.2(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-arrow': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-context': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-use-rect': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) + '@types/react': 19.0.0 + '@types/react-dom': 19.0.0 + + '@radix-ui/react-popper@1.2.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@floating-ui/react-dom': 2.1.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-arrow': 1.1.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-context': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-use-rect': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-use-size': 1.1.0(@types/react@19.0.0)(react@19.0.0) '@radix-ui/rect': 1.1.0 - react: 19.0.0-rc.1 - react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 + '@types/react': 19.0.0 + '@types/react-dom': 19.0.0 - '@radix-ui/react-portal@1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1)': + '@radix-ui/react-portal@1.1.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - react: 19.0.0-rc.1 - react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.0)(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 + '@types/react': 19.0.0 + '@types/react-dom': 19.0.0 - '@radix-ui/react-presence@1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1)': + '@radix-ui/react-presence@1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - react: 19.0.0-rc.1 - react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.0)(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 + '@types/react': 19.0.0 + '@types/react-dom': 19.0.0 - '@radix-ui/react-primitive@2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1)': + '@radix-ui/react-primitive@2.0.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@radix-ui/react-slot': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - react: 19.0.0-rc.1 - react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + '@radix-ui/react-slot': 1.1.0(@types/react@19.0.0)(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 + '@types/react': 19.0.0 + '@types/react-dom': 19.0.0 - '@radix-ui/react-progress@1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1)': + '@radix-ui/react-progress@1.1.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@radix-ui/react-context': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - react: 19.0.0-rc.1 - react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + '@radix-ui/react-context': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 + '@types/react': 19.0.0 + '@types/react-dom': 19.0.0 - '@radix-ui/react-radio-group@1.2.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1)': + '@radix-ui/react-radio-group@1.2.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@radix-ui/primitive': 1.1.0 - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-direction': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-presence': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-roving-focus': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - react: 19.0.0-rc.1 - react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-context': 1.1.1(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-direction': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-presence': 1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-roving-focus': 1.1.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-use-previous': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-use-size': 1.1.0(@types/react@19.0.0)(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 + '@types/react': 19.0.0 + '@types/react-dom': 19.0.0 - '@radix-ui/react-roving-focus@1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1)': + '@radix-ui/react-roving-focus@1.1.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@radix-ui/primitive': 1.1.0 - '@radix-ui/react-collection': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-context': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-direction': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - react: 19.0.0-rc.1 - react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + '@radix-ui/react-collection': 1.1.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-context': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-direction': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-id': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.0)(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 + '@types/react': 19.0.0 + '@types/react-dom': 19.0.0 - '@radix-ui/react-scroll-area@1.2.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1)': + '@radix-ui/react-scroll-area@1.2.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@radix-ui/number': 1.1.0 '@radix-ui/primitive': 1.1.0 - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-direction': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-presence': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - react: 19.0.0-rc.1 - react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-context': 1.1.1(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-direction': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-presence': 1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.0)(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 + '@types/react': 19.0.0 + '@types/react-dom': 19.0.0 - '@radix-ui/react-select@2.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1)': + '@radix-ui/react-select@2.1.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@radix-ui/number': 1.1.0 '@radix-ui/primitive': 1.1.0 - '@radix-ui/react-collection': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-direction': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-dismissable-layer': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-focus-scope': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-popper': 1.2.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-portal': 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-slot': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-visually-hidden': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + '@radix-ui/react-collection': 1.1.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-context': 1.1.1(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-direction': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-dismissable-layer': 1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-focus-guards': 1.1.1(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-focus-scope': 1.1.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-id': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-popper': 1.2.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-portal': 1.1.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-slot': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-use-previous': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-visually-hidden': 1.1.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) aria-hidden: 1.2.4 - react: 19.0.0-rc.1 - react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) - react-remove-scroll: 2.6.0(@types/react@18.3.12)(react@19.0.0-rc.1) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + react-remove-scroll: 2.6.0(@types/react@19.0.0)(react@19.0.0) optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 + '@types/react': 19.0.0 + '@types/react-dom': 19.0.0 - '@radix-ui/react-separator@1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1)': + '@radix-ui/react-separator@1.1.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - react: 19.0.0-rc.1 - react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 + '@types/react': 19.0.0 + '@types/react-dom': 19.0.0 - '@radix-ui/react-slider@1.2.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1)': + '@radix-ui/react-slider@1.2.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@radix-ui/number': 1.1.0 '@radix-ui/primitive': 1.1.0 - '@radix-ui/react-collection': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-direction': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - react: 19.0.0-rc.1 - react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + '@radix-ui/react-collection': 1.1.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-context': 1.1.1(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-direction': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-use-previous': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-use-size': 1.1.0(@types/react@19.0.0)(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 + '@types/react': 19.0.0 + '@types/react-dom': 19.0.0 - '@radix-ui/react-slot@1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1)': + '@radix-ui/react-slot@1.1.0(@types/react@19.0.0)(react@19.0.0)': dependencies: - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - react: 19.0.0-rc.1 + '@radix-ui/react-compose-refs': 1.1.0(@types/react@19.0.0)(react@19.0.0) + react: 19.0.0 optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 19.0.0 - '@radix-ui/react-switch@1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1)': + '@radix-ui/react-switch@1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@radix-ui/primitive': 1.1.0 - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - react: 19.0.0-rc.1 - react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-context': 1.1.1(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-use-previous': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-use-size': 1.1.0(@types/react@19.0.0)(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 + '@types/react': 19.0.0 + '@types/react-dom': 19.0.0 - '@radix-ui/react-toggle-group@1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1)': + '@radix-ui/react-toggle-group@1.1.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@radix-ui/primitive': 1.1.0 - '@radix-ui/react-context': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-direction': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-roving-focus': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-toggle': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - react: 19.0.0-rc.1 - react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + '@radix-ui/react-context': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-direction': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-roving-focus': 1.1.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-toggle': 1.1.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.0)(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 + '@types/react': 19.0.0 + '@types/react-dom': 19.0.0 - '@radix-ui/react-toggle@1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1)': + '@radix-ui/react-toggle@1.1.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@radix-ui/primitive': 1.1.0 - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - react: 19.0.0-rc.1 - react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.0)(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 + '@types/react': 19.0.0 + '@types/react-dom': 19.0.0 - '@radix-ui/react-tooltip@1.1.4(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1)': + '@radix-ui/react-tooltip@1.1.4(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@radix-ui/primitive': 1.1.0 - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-dismissable-layer': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-popper': 1.2.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-portal': 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-presence': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-slot': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-visually-hidden': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - react: 19.0.0-rc.1 - react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-context': 1.1.1(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-dismissable-layer': 1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-id': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-popper': 1.2.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-portal': 1.1.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-presence': 1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-slot': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-visually-hidden': 1.1.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 + '@types/react': 19.0.0 + '@types/react-dom': 19.0.0 - '@radix-ui/react-use-callback-ref@1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1)': + '@radix-ui/react-use-callback-ref@1.1.0(@types/react@19.0.0)(react@19.0.0)': dependencies: - react: 19.0.0-rc.1 + react: 19.0.0 optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 19.0.0 - '@radix-ui/react-use-controllable-state@1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1)': + '@radix-ui/react-use-controllable-state@1.1.0(@types/react@19.0.0)(react@19.0.0)': dependencies: - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - react: 19.0.0-rc.1 + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.0)(react@19.0.0) + react: 19.0.0 optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 19.0.0 - '@radix-ui/react-use-escape-keydown@1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1)': + '@radix-ui/react-use-escape-keydown@1.1.0(@types/react@19.0.0)(react@19.0.0)': dependencies: - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - react: 19.0.0-rc.1 + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.0)(react@19.0.0) + react: 19.0.0 optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 19.0.0 - '@radix-ui/react-use-layout-effect@1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1)': + '@radix-ui/react-use-layout-effect@1.1.0(@types/react@19.0.0)(react@19.0.0)': dependencies: - react: 19.0.0-rc.1 + react: 19.0.0 optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 19.0.0 - '@radix-ui/react-use-previous@1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1)': + '@radix-ui/react-use-previous@1.1.0(@types/react@19.0.0)(react@19.0.0)': dependencies: - react: 19.0.0-rc.1 + react: 19.0.0 optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 19.0.0 - '@radix-ui/react-use-rect@1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1)': + '@radix-ui/react-use-rect@1.1.0(@types/react@19.0.0)(react@19.0.0)': dependencies: '@radix-ui/rect': 1.1.0 - react: 19.0.0-rc.1 + react: 19.0.0 optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 19.0.0 - '@radix-ui/react-use-size@1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1)': + '@radix-ui/react-use-size@1.1.0(@types/react@19.0.0)(react@19.0.0)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - react: 19.0.0-rc.1 + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.0)(react@19.0.0) + react: 19.0.0 optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 19.0.0 - '@radix-ui/react-visually-hidden@1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1)': + '@radix-ui/react-visually-hidden@1.1.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - react: 19.0.0-rc.1 - react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 + '@types/react': 19.0.0 + '@types/react-dom': 19.0.0 '@radix-ui/rect@1.1.0': {} - '@react-email/body@0.0.10(react@19.0.0-rc.1)': + '@react-email/body@0.0.11(react@19.0.0)': dependencies: - react: 19.0.0-rc.1 + react: 19.0.0 - '@react-email/button@0.0.18(react@19.0.0-rc.1)': + '@react-email/button@0.0.19(react@19.0.0)': dependencies: - react: 19.0.0-rc.1 + react: 19.0.0 - '@react-email/code-block@0.0.10(react@19.0.0-rc.1)': + '@react-email/code-block@0.0.11(react@19.0.0)': dependencies: prismjs: 1.29.0 - react: 19.0.0-rc.1 - - '@react-email/code-inline@0.0.4(react@19.0.0-rc.1)': - dependencies: - react: 19.0.0-rc.1 - - '@react-email/column@0.0.12(react@19.0.0-rc.1)': - dependencies: - react: 19.0.0-rc.1 - - '@react-email/components@0.0.28(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1)': - dependencies: - '@react-email/body': 0.0.10(react@19.0.0-rc.1) - '@react-email/button': 0.0.18(react@19.0.0-rc.1) - '@react-email/code-block': 0.0.10(react@19.0.0-rc.1) - '@react-email/code-inline': 0.0.4(react@19.0.0-rc.1) - '@react-email/column': 0.0.12(react@19.0.0-rc.1) - '@react-email/container': 0.0.14(react@19.0.0-rc.1) - '@react-email/font': 0.0.8(react@19.0.0-rc.1) - '@react-email/head': 0.0.11(react@19.0.0-rc.1) - '@react-email/heading': 0.0.14(react@19.0.0-rc.1) - '@react-email/hr': 0.0.10(react@19.0.0-rc.1) - '@react-email/html': 0.0.10(react@19.0.0-rc.1) - '@react-email/img': 0.0.10(react@19.0.0-rc.1) - '@react-email/link': 0.0.11(react@19.0.0-rc.1) - '@react-email/markdown': 0.0.12(react@19.0.0-rc.1) - '@react-email/preview': 0.0.11(react@19.0.0-rc.1) - '@react-email/render': 1.0.2(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@react-email/row': 0.0.11(react@19.0.0-rc.1) - '@react-email/section': 0.0.15(react@19.0.0-rc.1) - '@react-email/tailwind': 1.0.2(react@19.0.0-rc.1) - '@react-email/text': 0.0.10(react@19.0.0-rc.1) - react: 19.0.0-rc.1 + react: 19.0.0 + + '@react-email/code-inline@0.0.5(react@19.0.0)': + dependencies: + react: 19.0.0 + + '@react-email/column@0.0.13(react@19.0.0)': + dependencies: + react: 19.0.0 + + '@react-email/components@0.0.29(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-email/body': 0.0.11(react@19.0.0) + '@react-email/button': 0.0.19(react@19.0.0) + '@react-email/code-block': 0.0.11(react@19.0.0) + '@react-email/code-inline': 0.0.5(react@19.0.0) + '@react-email/column': 0.0.13(react@19.0.0) + '@react-email/container': 0.0.15(react@19.0.0) + '@react-email/font': 0.0.9(react@19.0.0) + '@react-email/head': 0.0.12(react@19.0.0) + '@react-email/heading': 0.0.15(react@19.0.0) + '@react-email/hr': 0.0.11(react@19.0.0) + '@react-email/html': 0.0.11(react@19.0.0) + '@react-email/img': 0.0.11(react@19.0.0) + '@react-email/link': 0.0.12(react@19.0.0) + '@react-email/markdown': 0.0.13(react@19.0.0) + '@react-email/preview': 0.0.12(react@19.0.0) + '@react-email/render': 1.0.3(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-email/row': 0.0.12(react@19.0.0) + '@react-email/section': 0.0.16(react@19.0.0) + '@react-email/tailwind': 1.0.3(react@19.0.0) + '@react-email/text': 0.0.11(react@19.0.0) + react: 19.0.0 transitivePeerDependencies: - react-dom - '@react-email/container@0.0.14(react@19.0.0-rc.1)': + '@react-email/container@0.0.15(react@19.0.0)': dependencies: - react: 19.0.0-rc.1 + react: 19.0.0 - '@react-email/font@0.0.8(react@19.0.0-rc.1)': + '@react-email/font@0.0.9(react@19.0.0)': dependencies: - react: 19.0.0-rc.1 + react: 19.0.0 - '@react-email/head@0.0.11(react@19.0.0-rc.1)': + '@react-email/head@0.0.12(react@19.0.0)': dependencies: - react: 19.0.0-rc.1 + react: 19.0.0 - '@react-email/heading@0.0.14(react@19.0.0-rc.1)': + '@react-email/heading@0.0.15(react@19.0.0)': dependencies: - react: 19.0.0-rc.1 + react: 19.0.0 - '@react-email/hr@0.0.10(react@19.0.0-rc.1)': + '@react-email/hr@0.0.11(react@19.0.0)': dependencies: - react: 19.0.0-rc.1 + react: 19.0.0 - '@react-email/html@0.0.10(react@19.0.0-rc.1)': + '@react-email/html@0.0.11(react@19.0.0)': dependencies: - react: 19.0.0-rc.1 + react: 19.0.0 - '@react-email/img@0.0.10(react@19.0.0-rc.1)': + '@react-email/img@0.0.11(react@19.0.0)': dependencies: - react: 19.0.0-rc.1 + react: 19.0.0 - '@react-email/link@0.0.11(react@19.0.0-rc.1)': + '@react-email/link@0.0.12(react@19.0.0)': dependencies: - react: 19.0.0-rc.1 + react: 19.0.0 - '@react-email/markdown@0.0.12(react@19.0.0-rc.1)': + '@react-email/markdown@0.0.13(react@19.0.0)': dependencies: - md-to-react-email: 5.0.2(react@19.0.0-rc.1) - react: 19.0.0-rc.1 + md-to-react-email: 5.0.4(react@19.0.0) + react: 19.0.0 - '@react-email/preview@0.0.11(react@19.0.0-rc.1)': + '@react-email/preview@0.0.12(react@19.0.0)': dependencies: - react: 19.0.0-rc.1 + react: 19.0.0 - '@react-email/render@1.0.1(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1)': + '@react-email/render@1.0.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: html-to-text: 9.0.5 js-beautify: 1.15.1 - react: 19.0.0-rc.1 - react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) react-promise-suspense: 0.3.4 - '@react-email/render@1.0.2(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1)': + '@react-email/render@1.0.3(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: html-to-text: 9.0.5 - js-beautify: 1.15.1 - react: 19.0.0-rc.1 - react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + prettier: 3.3.3 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) react-promise-suspense: 0.3.4 - '@react-email/row@0.0.11(react@19.0.0-rc.1)': + '@react-email/row@0.0.12(react@19.0.0)': dependencies: - react: 19.0.0-rc.1 + react: 19.0.0 - '@react-email/section@0.0.15(react@19.0.0-rc.1)': + '@react-email/section@0.0.16(react@19.0.0)': dependencies: - react: 19.0.0-rc.1 + react: 19.0.0 - '@react-email/tailwind@1.0.2(react@19.0.0-rc.1)': + '@react-email/tailwind@1.0.3(react@19.0.0)': dependencies: - react: 19.0.0-rc.1 + react: 19.0.0 - '@react-email/text@0.0.10(react@19.0.0-rc.1)': + '@react-email/text@0.0.11(react@19.0.0)': dependencies: - react: 19.0.0-rc.1 + react: 19.0.0 '@remirror/core-constants@3.0.0': {} @@ -8853,66 +8810,66 @@ snapshots: '@sindresorhus/is@5.6.0': {} - '@swc/cli@0.5.2(@swc/core@1.9.3(@swc/helpers@0.5.13))(chokidar@3.6.0)': + '@swc/cli@0.5.2(@swc/core@1.10.0(@swc/helpers@0.5.13))(chokidar@3.6.0)': dependencies: - '@swc/core': 1.9.3(@swc/helpers@0.5.13) + '@swc/core': 1.10.0(@swc/helpers@0.5.13) '@swc/counter': 0.1.3 '@xhmikosr/bin-wrapper': 13.0.5 commander: 8.3.0 fast-glob: 3.3.2 minimatch: 9.0.5 - piscina: 4.7.0 + piscina: 4.8.0 semver: 7.6.3 slash: 3.0.0 source-map: 0.7.4 optionalDependencies: chokidar: 3.6.0 - '@swc/core-darwin-arm64@1.9.3': + '@swc/core-darwin-arm64@1.10.0': optional: true - '@swc/core-darwin-x64@1.9.3': + '@swc/core-darwin-x64@1.10.0': optional: true - '@swc/core-linux-arm-gnueabihf@1.9.3': + '@swc/core-linux-arm-gnueabihf@1.10.0': optional: true - '@swc/core-linux-arm64-gnu@1.9.3': + '@swc/core-linux-arm64-gnu@1.10.0': optional: true - '@swc/core-linux-arm64-musl@1.9.3': + '@swc/core-linux-arm64-musl@1.10.0': optional: true - '@swc/core-linux-x64-gnu@1.9.3': + '@swc/core-linux-x64-gnu@1.10.0': optional: true - '@swc/core-linux-x64-musl@1.9.3': + '@swc/core-linux-x64-musl@1.10.0': optional: true - '@swc/core-win32-arm64-msvc@1.9.3': + '@swc/core-win32-arm64-msvc@1.10.0': optional: true - '@swc/core-win32-ia32-msvc@1.9.3': + '@swc/core-win32-ia32-msvc@1.10.0': optional: true - '@swc/core-win32-x64-msvc@1.9.3': + '@swc/core-win32-x64-msvc@1.10.0': optional: true - '@swc/core@1.9.3(@swc/helpers@0.5.13)': + '@swc/core@1.10.0(@swc/helpers@0.5.13)': dependencies: '@swc/counter': 0.1.3 '@swc/types': 0.1.17 optionalDependencies: - '@swc/core-darwin-arm64': 1.9.3 - '@swc/core-darwin-x64': 1.9.3 - '@swc/core-linux-arm-gnueabihf': 1.9.3 - '@swc/core-linux-arm64-gnu': 1.9.3 - '@swc/core-linux-arm64-musl': 1.9.3 - '@swc/core-linux-x64-gnu': 1.9.3 - '@swc/core-linux-x64-musl': 1.9.3 - '@swc/core-win32-arm64-msvc': 1.9.3 - '@swc/core-win32-ia32-msvc': 1.9.3 - '@swc/core-win32-x64-msvc': 1.9.3 + '@swc/core-darwin-arm64': 1.10.0 + '@swc/core-darwin-x64': 1.10.0 + '@swc/core-linux-arm-gnueabihf': 1.10.0 + '@swc/core-linux-arm64-gnu': 1.10.0 + '@swc/core-linux-arm64-musl': 1.10.0 + '@swc/core-linux-x64-gnu': 1.10.0 + '@swc/core-linux-x64-musl': 1.10.0 + '@swc/core-win32-arm64-msvc': 1.10.0 + '@swc/core-win32-ia32-msvc': 1.10.0 + '@swc/core-win32-x64-msvc': 1.10.0 '@swc/helpers': 0.5.13 '@swc/counter@0.1.3': {} @@ -8929,16 +8886,16 @@ snapshots: dependencies: defer-to-connect: 2.0.1 - '@tailwindcss/container-queries@0.1.1(tailwindcss@3.4.15)': + '@tailwindcss/container-queries@0.1.1(tailwindcss@3.4.16)': dependencies: - tailwindcss: 3.4.15 + tailwindcss: 3.4.16 - '@tanstack/query-core@5.62.1': {} + '@tanstack/query-core@5.62.2': {} - '@tanstack/react-query@5.62.1(react@19.0.0-rc.1)': + '@tanstack/react-query@5.62.2(react@19.0.0)': dependencies: - '@tanstack/query-core': 5.62.1 - react: 19.0.0-rc.1 + '@tanstack/query-core': 5.62.2 + react: 19.0.0 '@tiptap/core@2.10.3(@tiptap/pm@2.10.3)': dependencies: @@ -9030,18 +8987,12 @@ snapshots: dependencies: '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3) '@tiptap/pm': 2.10.3 - linkifyjs: 4.1.4 + linkifyjs: 4.2.0 '@tiptap/extension-list-item@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))': dependencies: '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3) - '@tiptap/extension-mention@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)(@tiptap/suggestion@2.9.1(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3))': - dependencies: - '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3) - '@tiptap/pm': 2.10.3 - '@tiptap/suggestion': 2.9.1(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3) - '@tiptap/extension-ordered-list@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))': dependencies: '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3) @@ -9090,14 +9041,14 @@ snapshots: prosemirror-menu: 1.2.4 prosemirror-model: 1.24.0 prosemirror-schema-basic: 1.2.3 - prosemirror-schema-list: 1.4.1 + prosemirror-schema-list: 1.5.0 prosemirror-state: 1.4.3 prosemirror-tables: 1.6.1 prosemirror-trailing-node: 3.0.0(prosemirror-model@1.24.0)(prosemirror-state@1.4.3)(prosemirror-view@1.37.0) prosemirror-transform: 1.10.2 prosemirror-view: 1.37.0 - '@tiptap/react@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1)': + '@tiptap/react@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3) '@tiptap/extension-bubble-menu': 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3) @@ -9105,9 +9056,9 @@ snapshots: '@tiptap/pm': 2.10.3 '@types/use-sync-external-store': 0.0.6 fast-deep-equal: 3.1.3 - react: 19.0.0-rc.1 - react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) - use-sync-external-store: 1.2.2(react@19.0.0-rc.1) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + use-sync-external-store: 1.4.0(react@19.0.0) '@tiptap/starter-kit@2.10.3': dependencies: @@ -9133,11 +9084,6 @@ snapshots: '@tiptap/extension-text-style': 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3)) '@tiptap/pm': 2.10.3 - '@tiptap/suggestion@2.9.1(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)': - dependencies: - '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3) - '@tiptap/pm': 2.10.3 - '@tokenizer/token@0.3.0': {} '@types/body-parser@1.19.5': @@ -9271,19 +9217,16 @@ snapshots: '@types/node': 22.10.1 kleur: 3.0.3 - '@types/prop-types@15.7.13': {} - '@types/qs@6.9.17': {} '@types/range-parser@1.2.7': {} - '@types/react-dom@18.3.1': + '@types/react-dom@19.0.0': dependencies: - '@types/react': 18.3.12 + '@types/react': 19.0.0 - '@types/react@18.3.12': + '@types/react@19.0.0': dependencies: - '@types/prop-types': 15.7.13 csstype: 3.1.3 '@types/send@0.17.4': @@ -9554,17 +9497,17 @@ snapshots: acorn@8.14.0: {} - ai@4.0.10(react@19.0.0-rc.1)(zod@3.23.8): + ai@4.0.10(react@19.0.0)(zod@3.23.8): dependencies: '@ai-sdk/provider': 1.0.1 '@ai-sdk/provider-utils': 2.0.2(zod@3.23.8) - '@ai-sdk/react': 1.0.3(react@19.0.0-rc.1)(zod@3.23.8) + '@ai-sdk/react': 1.0.3(react@19.0.0)(zod@3.23.8) '@ai-sdk/ui-utils': 1.0.2(zod@3.23.8) '@opentelemetry/api': 1.9.0 jsondiffpatch: 0.6.0 zod-to-json-schema: 3.23.5(zod@3.23.8) optionalDependencies: - react: 19.0.0-rc.1 + react: 19.0.0 zod: 3.23.8 ajv-formats@2.1.1(ajv@8.12.0): @@ -9691,7 +9634,7 @@ snapshots: autoprefixer@10.4.20(postcss@8.4.49): dependencies: browserslist: 4.24.2 - caniuse-lite: 1.0.30001684 + caniuse-lite: 1.0.30001686 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.1.1 @@ -9716,7 +9659,7 @@ snapshots: babel-plugin-react-compiler@19.0.0-beta-df7b47d-20241124: dependencies: - '@babel/types': 7.26.0 + '@babel/types': 7.26.3 balanced-match@1.0.2: {} @@ -9776,8 +9719,8 @@ snapshots: browserslist@4.24.2: dependencies: - caniuse-lite: 1.0.30001684 - electron-to-chromium: 1.5.66 + caniuse-lite: 1.0.30001686 + electron-to-chromium: 1.5.70 node-releases: 2.0.18 update-browserslist-db: 1.1.1(browserslist@4.24.2) @@ -9829,9 +9772,7 @@ snapshots: camelcase-css@2.0.1: {} - caniuse-lite@1.0.30001680: {} - - caniuse-lite@1.0.30001684: {} + caniuse-lite@1.0.30001686: {} chalk@4.1.2: dependencies: @@ -9865,7 +9806,7 @@ snapshots: class-validator@0.14.1: dependencies: '@types/validator': 13.12.2 - libphonenumber-js: 1.11.15 + libphonenumber-js: 1.11.16 validator: 13.12.0 class-variance-authority@0.7.1: @@ -9904,14 +9845,14 @@ snapshots: clsx@2.1.1: {} - cmdk@1.0.4(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1): + cmdk@1.0.4(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: - '@radix-ui/react-dialog': 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@19.0.0-rc.1) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - react: 19.0.0-rc.1 - react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) - use-sync-external-store: 1.2.2(react@19.0.0-rc.1) + '@radix-ui/react-dialog': 1.1.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-id': 1.1.0(@types/react@19.0.0)(react@19.0.0) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + use-sync-external-store: 1.4.0(react@19.0.0) transitivePeerDependencies: - '@types/react' - '@types/react-dom' @@ -10153,7 +10094,7 @@ snapshots: dependencies: es-define-property: 1.0.0 es-errors: 1.3.0 - gopd: 1.1.0 + gopd: 1.2.0 define-properties@1.2.1: dependencies: @@ -10214,7 +10155,9 @@ snapshots: dotenv@16.4.5: {} - drizzle-kit@0.28.1: + dotenv@16.4.7: {} + + drizzle-kit@0.29.1: dependencies: '@drizzle-team/brocli': 0.10.2 '@esbuild-kit/esm-loader': 2.6.5 @@ -10223,13 +10166,13 @@ snapshots: transitivePeerDependencies: - supports-color - drizzle-orm@0.36.4(@opentelemetry/api@1.9.0)(@types/pg@8.11.10)(@types/react@18.3.12)(pg@8.13.1)(react@19.0.0-rc.1): + drizzle-orm@0.37.0(@opentelemetry/api@1.9.0)(@types/pg@8.11.10)(@types/react@19.0.0)(pg@8.13.1)(react@19.0.0): optionalDependencies: '@opentelemetry/api': 1.9.0 '@types/pg': 8.11.10 - '@types/react': 18.3.12 + '@types/react': 19.0.0 pg: 8.13.1 - react: 19.0.0-rc.1 + react: 19.0.0 duplexer@0.1.2: {} @@ -10248,13 +10191,13 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.5.66: {} + electron-to-chromium@1.5.70: {} - embla-carousel-react@8.5.1(react@19.0.0-rc.1): + embla-carousel-react@8.5.1(react@19.0.0): dependencies: embla-carousel: 8.5.1 embla-carousel-reactive-utils: 8.5.1(embla-carousel@8.5.1) - react: 19.0.0-rc.1 + react: 19.0.0 embla-carousel-reactive-utils@8.5.1(embla-carousel@8.5.1): dependencies: @@ -10305,7 +10248,7 @@ snapshots: get-intrinsic: 1.2.4 get-symbol-description: 1.0.2 globalthis: 1.0.4 - gopd: 1.1.0 + gopd: 1.2.0 has-property-descriptors: 1.0.2 has-proto: 1.1.0 has-symbols: 1.1.0 @@ -10352,7 +10295,7 @@ snapshots: function-bind: 1.1.2 get-intrinsic: 1.2.4 globalthis: 1.0.4 - gopd: 1.1.0 + gopd: 1.2.0 has-property-descriptors: 1.0.2 has-proto: 1.1.0 has-symbols: 1.1.0 @@ -10498,7 +10441,7 @@ snapshots: safe-regex-test: 1.0.3 string.prototype.includes: 2.0.1 - eslint-plugin-perfectionist@4.1.2(eslint@9.14.0(jiti@1.21.6))(typescript@5.7.2): + eslint-plugin-perfectionist@4.2.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.7.2): dependencies: '@typescript-eslint/types': 8.17.0 '@typescript-eslint/utils': 8.17.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.7.2) @@ -10521,7 +10464,7 @@ snapshots: eslint-plugin-react-compiler@19.0.0-beta-df7b47d-20241124(eslint@9.14.0(jiti@1.21.6)): dependencies: '@babel/core': 7.26.0 - '@babel/parser': 7.26.2 + '@babel/parser': 7.26.3 '@babel/plugin-transform-private-methods': 7.25.9(@babel/core@7.26.0) eslint: 9.14.0(jiti@1.21.6) hermes-parser: 0.25.1 @@ -10530,7 +10473,7 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-react-hooks@5.0.0(eslint@9.14.0(jiti@1.21.6)): + eslint-plugin-react-hooks@5.1.0(eslint@9.14.0(jiti@1.21.6)): dependencies: eslint: 9.14.0(jiti@1.21.6) @@ -10578,7 +10521,7 @@ snapshots: '@eslint/core': 0.7.0 '@eslint/eslintrc': 3.2.0 '@eslint/js': 9.14.0 - '@eslint/plugin-kit': 0.2.3 + '@eslint/plugin-kit': 0.2.4 '@humanfs/node': 0.16.6 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.4.1 @@ -10803,7 +10746,7 @@ snapshots: cross-spawn: 7.0.6 signal-exit: 4.1.0 - fork-ts-checker-webpack-plugin@9.0.2(typescript@5.6.3)(webpack@5.96.1(@swc/core@1.9.3(@swc/helpers@0.5.13))): + fork-ts-checker-webpack-plugin@9.0.2(typescript@5.6.3)(webpack@5.96.1(@swc/core@1.10.0(@swc/helpers@0.5.13))): dependencies: '@babel/code-frame': 7.26.2 chalk: 4.1.2 @@ -10818,7 +10761,7 @@ snapshots: semver: 7.6.3 tapable: 2.2.1 typescript: 5.6.3 - webpack: 5.96.1(@swc/core@1.9.3(@swc/helpers@0.5.13)) + webpack: 5.96.1(@swc/core@1.10.0(@swc/helpers@0.5.13)) form-data-encoder@2.1.4: {} @@ -10852,9 +10795,9 @@ snapshots: functions-have-names@1.2.3: {} - geist@1.3.1(next@15.0.3(@opentelemetry/api@1.9.0)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1)): + geist@1.3.1(next@15.0.3(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)): dependencies: - next: 15.0.3(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.0.0-beta-df7b47d-20241124)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + next: 15.0.3(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.0.0-beta-df7b47d-20241124)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) gensync@1.0.0-beta.2: {} @@ -10922,11 +10865,9 @@ snapshots: globalthis@1.0.4: dependencies: define-properties: 1.2.1 - gopd: 1.1.0 + gopd: 1.2.0 - gopd@1.1.0: - dependencies: - get-intrinsic: 1.2.4 + gopd@1.2.0: {} got@13.0.0: dependencies: @@ -10988,22 +10929,22 @@ snapshots: dependencies: react-is: 19.0.0-rc.1 - html-dom-parser@5.0.10: + html-dom-parser@5.0.11: dependencies: domhandler: 5.0.3 htmlparser2: 9.1.0 html-escaper@2.0.2: {} - html-react-parser@5.1.18(@types/react@18.3.12)(react@19.0.0-rc.1): + html-react-parser@5.1.19(@types/react@19.0.0)(react@19.0.0): dependencies: domhandler: 5.0.3 - html-dom-parser: 5.0.10 - react: 19.0.0-rc.1 + html-dom-parser: 5.0.11 + react: 19.0.0 react-property: 2.0.2 style-to-js: 1.1.16 optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 19.0.0 html-to-text@9.0.5: dependencies: @@ -11065,10 +11006,10 @@ snapshots: inline-style-parser@0.2.4: {} - input-otp@1.4.1(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1): + input-otp@1.4.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: - react: 19.0.0-rc.1 - react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) inquirer@8.2.6: dependencies: @@ -11209,7 +11150,7 @@ snapshots: is-regex@1.2.0: dependencies: call-bind: 1.0.7 - gopd: 1.1.0 + gopd: 1.2.0 has-tostringtag: 1.0.2 hasown: 2.0.2 @@ -11398,11 +11339,9 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 - libphonenumber-js@1.11.15: {} - - lilconfig@2.1.0: {} + libphonenumber-js@1.11.16: {} - lilconfig@3.1.2: {} + lilconfig@3.1.3: {} lines-and-columns@1.2.4: {} @@ -11410,11 +11349,11 @@ snapshots: dependencies: uc.micro: 2.1.0 - linkifyjs@4.1.4: {} + linkifyjs@4.2.0: {} - little-state-machine@4.8.0(react@19.0.0-rc.1): + little-state-machine@4.8.0(react@19.0.0): dependencies: - react: 19.0.0-rc.1 + react: 19.0.0 load-tsconfig@0.2.5: {} @@ -11472,9 +11411,9 @@ snapshots: dependencies: yallist: 3.1.1 - lucide-react@0.462.0(react@19.0.0-rc.1): + lucide-react@0.468.0(react@19.0.0): dependencies: - react: 19.0.0-rc.1 + react: 19.0.0 luxon@3.4.4: {} @@ -11497,10 +11436,10 @@ snapshots: marked@7.0.4: {} - md-to-react-email@5.0.2(react@19.0.0-rc.1): + md-to-react-email@5.0.4(react@19.0.0): dependencies: marked: 7.0.4 - react: 19.0.0-rc.1 + react: 19.0.0 mdurl@2.0.0: {} @@ -11599,30 +11538,30 @@ snapshots: neo-async@2.6.2: {} - next-intl@3.25.3(next@15.0.3(@opentelemetry/api@1.9.0)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1))(react@19.0.0-rc.1): + next-intl@3.25.3(next@15.0.3(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0): dependencies: '@formatjs/intl-localematcher': 0.5.8 negotiator: 1.0.0 - next: 15.0.3(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.0.0-beta-df7b47d-20241124)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - react: 19.0.0-rc.1 - use-intl: 3.25.3(react@19.0.0-rc.1) + next: 15.0.3(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.0.0-beta-df7b47d-20241124)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + react: 19.0.0 + use-intl: 3.25.3(react@19.0.0) - next-themes@0.4.3(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1): + next-themes@0.4.3(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: - react: 19.0.0-rc.1 - react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) - next@15.0.3(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.0.0-beta-df7b47d-20241124)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1): + next@15.0.3(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.0.0-beta-df7b47d-20241124)(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: '@next/env': 15.0.3 '@swc/counter': 0.1.3 '@swc/helpers': 0.5.13 busboy: 1.6.0 - caniuse-lite: 1.0.30001680 + caniuse-lite: 1.0.30001686 postcss: 8.4.31 - react: 19.0.0-rc.1 - react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) - styled-jsx: 5.1.6(react@19.0.0-rc.1) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + styled-jsx: 5.1.6(react@19.0.0) optionalDependencies: '@next/swc-darwin-arm64': 15.0.3 '@next/swc-darwin-x64': 15.0.3 @@ -11639,13 +11578,13 @@ snapshots: - '@babel/core' - babel-plugin-macros - nextjs-toploader@3.7.15(next@15.0.3(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.0.0-beta-df7b47d-20241124)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1))(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1): + nextjs-toploader@3.7.15(next@15.0.3(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.0.0-beta-df7b47d-20241124)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: - next: 15.0.3(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.0.0-beta-df7b47d-20241124)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + next: 15.0.3(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.0.0-beta-df7b47d-20241124)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) nprogress: 0.2.0 prop-types: 15.8.1 - react: 19.0.0-rc.1 - react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) node-abort-controller@3.1.1: {} @@ -11882,7 +11821,7 @@ snapshots: pirates@4.0.6: {} - piscina@4.7.0: + piscina@4.8.0: optionalDependencies: '@napi-rs/nice': 1.0.1 @@ -11904,14 +11843,14 @@ snapshots: postcss-load-config@4.0.2(postcss@8.4.49): dependencies: - lilconfig: 3.1.2 + lilconfig: 3.1.3 yaml: 2.6.1 optionalDependencies: postcss: 8.4.49 postcss-load-config@6.0.1(jiti@1.21.6)(postcss@8.4.49)(yaml@2.6.1): dependencies: - lilconfig: 3.1.2 + lilconfig: 3.1.3 optionalDependencies: jiti: 1.21.6 postcss: 8.4.49 @@ -12055,7 +11994,7 @@ snapshots: dependencies: prosemirror-model: 1.24.0 - prosemirror-schema-list@1.4.1: + prosemirror-schema-list@1.5.0: dependencies: prosemirror-model: 1.24.0 prosemirror-state: 1.4.3 @@ -12127,34 +12066,34 @@ snapshots: iconv-lite: 0.4.24 unpipe: 1.0.0 - react-colorful@5.6.1(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1): + react-colorful@5.6.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: - react: 19.0.0-rc.1 - react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) - react-cropper@2.3.3(react@19.0.0-rc.1): + react-cropper@2.3.3(react@19.0.0): dependencies: cropperjs: 1.6.2 - react: 19.0.0-rc.1 + react: 19.0.0 react-css-styled@1.1.9: dependencies: css-styled: 1.0.8 framework-utils: 1.1.0 - react-day-picker@8.10.1(date-fns@3.6.0)(react@19.0.0-rc.1): + react-day-picker@8.10.1(date-fns@3.6.0)(react@19.0.0): dependencies: date-fns: 3.6.0 - react: 19.0.0-rc.1 + react: 19.0.0 - react-dom@19.0.0-rc.1(react@19.0.0-rc.1): + react-dom@19.0.0(react@19.0.0): dependencies: - react: 19.0.0-rc.1 - scheduler: 0.25.0-rc.1 + react: 19.0.0 + scheduler: 0.25.0 - react-hook-form@7.53.2(react@19.0.0-rc.1): + react-hook-form@7.53.2(react@19.0.0): dependencies: - react: 19.0.0-rc.1 + react: 19.0.0 react-is@19.0.0-rc.1: {} @@ -12180,60 +12119,60 @@ snapshots: react-property@2.0.2: {} - react-remove-scroll-bar@2.3.6(@types/react@18.3.12)(react@19.0.0-rc.1): + react-remove-scroll-bar@2.3.6(@types/react@19.0.0)(react@19.0.0): dependencies: - react: 19.0.0-rc.1 - react-style-singleton: 2.2.1(@types/react@18.3.12)(react@19.0.0-rc.1) + react: 19.0.0 + react-style-singleton: 2.2.1(@types/react@19.0.0)(react@19.0.0) tslib: 2.8.1 optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 19.0.0 - react-remove-scroll@2.6.0(@types/react@18.3.12)(react@19.0.0-rc.1): + react-remove-scroll@2.6.0(@types/react@19.0.0)(react@19.0.0): dependencies: - react: 19.0.0-rc.1 - react-remove-scroll-bar: 2.3.6(@types/react@18.3.12)(react@19.0.0-rc.1) - react-style-singleton: 2.2.1(@types/react@18.3.12)(react@19.0.0-rc.1) + react: 19.0.0 + react-remove-scroll-bar: 2.3.6(@types/react@19.0.0)(react@19.0.0) + react-style-singleton: 2.2.1(@types/react@19.0.0)(react@19.0.0) tslib: 2.8.1 - use-callback-ref: 1.3.2(@types/react@18.3.12)(react@19.0.0-rc.1) - use-sidecar: 1.1.2(@types/react@18.3.12)(react@19.0.0-rc.1) + use-callback-ref: 1.3.2(@types/react@19.0.0)(react@19.0.0) + use-sidecar: 1.1.2(@types/react@19.0.0)(react@19.0.0) optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 19.0.0 react-selecto@1.26.3: dependencies: selecto: 1.26.3 - react-simple-animate@3.5.2(react-dom@19.0.0-rc.1(react@19.0.0-rc.1)): + react-simple-animate@3.5.2(react-dom@19.0.0(react@19.0.0)): dependencies: - react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + react-dom: 19.0.0(react@19.0.0) - react-smooth@4.0.1(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1): + react-smooth@4.0.3(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: fast-equals: 5.0.1 prop-types: 15.8.1 - react: 19.0.0-rc.1 - react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) - react-transition-group: 4.4.5(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + react-transition-group: 4.4.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - react-style-singleton@2.2.1(@types/react@18.3.12)(react@19.0.0-rc.1): + react-style-singleton@2.2.1(@types/react@19.0.0)(react@19.0.0): dependencies: get-nonce: 1.0.1 invariant: 2.2.4 - react: 19.0.0-rc.1 + react: 19.0.0 tslib: 2.8.1 optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 19.0.0 - react-transition-group@4.4.5(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1): + react-transition-group@4.4.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: '@babel/runtime': 7.26.0 dom-helpers: 5.2.1 loose-envify: 1.4.0 prop-types: 15.8.1 - react: 19.0.0-rc.1 - react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) - react@19.0.0-rc.1: {} + react@19.0.0: {} read-cache@1.0.0: dependencies: @@ -12265,15 +12204,15 @@ snapshots: dependencies: decimal.js-light: 2.5.1 - recharts@2.13.3(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1): + recharts@2.14.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: clsx: 2.1.1 eventemitter3: 4.0.7 lodash: 4.17.21 - react: 19.0.0-rc.1 - react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) react-is: 19.0.0-rc.1 - react-smooth: 4.0.1(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + react-smooth: 4.0.3(react-dom@19.0.0(react@19.0.0))(react@19.0.0) recharts-scale: 0.4.5 tiny-invariant: 1.3.3 victory-vendor: 36.9.2 @@ -12287,7 +12226,7 @@ snapshots: es-abstract: 1.23.5 es-errors: 1.3.0 get-intrinsic: 1.2.4 - gopd: 1.1.0 + gopd: 1.2.0 which-builtin-type: 1.2.0 regenerator-runtime@0.14.1: {} @@ -12305,9 +12244,9 @@ snapshots: require-from-string@2.0.2: {} - resend@4.0.1(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1): + resend@4.0.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: - '@react-email/render': 1.0.1(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + '@react-email/render': 1.0.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) transitivePeerDependencies: - react - react-dom @@ -12405,7 +12344,7 @@ snapshots: safer-buffer@2.1.2: {} - scheduler@0.25.0-rc.1: {} + scheduler@0.25.0: {} schema-utils@3.3.0: dependencies: @@ -12483,7 +12422,7 @@ snapshots: es-errors: 1.3.0 function-bind: 1.1.2 get-intrinsic: 1.2.4 - gopd: 1.1.0 + gopd: 1.2.0 has-property-descriptors: 1.0.2 set-function-name@2.0.2: @@ -12554,10 +12493,10 @@ snapshots: slash@3.0.0: {} - sonner@1.7.0(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1): + sonner@1.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: - react: 19.0.0-rc.1 - react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) sort-keys-length@1.0.1: dependencies: @@ -12592,7 +12531,7 @@ snapshots: streamsearch@1.1.0: {} - streamx@2.20.2: + streamx@2.21.0: dependencies: fast-fifo: 1.3.2 queue-tick: 1.0.1 @@ -12632,7 +12571,7 @@ snapshots: es-errors: 1.3.0 es-object-atoms: 1.0.0 get-intrinsic: 1.2.4 - gopd: 1.1.0 + gopd: 1.2.0 has-symbols: 1.1.0 internal-slot: 1.0.7 regexp.prototype.flags: 1.5.3 @@ -12703,10 +12642,10 @@ snapshots: dependencies: inline-style-parser: 0.2.4 - styled-jsx@5.1.6(react@19.0.0-rc.1): + styled-jsx@5.1.6(react@19.0.0): dependencies: client-only: 0.0.1 - react: 19.0.0-rc.1 + react: 19.0.0 stylis@4.2.0: {} @@ -12734,11 +12673,11 @@ snapshots: dependencies: '@scarf/scarf': 1.4.0 - swr@2.2.5(react@19.0.0-rc.1): + swr@2.2.5(react@19.0.0): dependencies: client-only: 0.0.1 - react: 19.0.0-rc.1 - use-sync-external-store: 1.2.2(react@19.0.0-rc.1) + react: 19.0.0 + use-sync-external-store: 1.4.0(react@19.0.0) symbol-observable@4.0.0: {} @@ -12749,11 +12688,11 @@ snapshots: tailwind-merge@2.5.5: {} - tailwindcss-animate@1.0.7(tailwindcss@3.4.15): + tailwindcss-animate@1.0.7(tailwindcss@3.4.16): dependencies: - tailwindcss: 3.4.15 + tailwindcss: 3.4.16 - tailwindcss@3.4.15: + tailwindcss@3.4.16: dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -12764,7 +12703,7 @@ snapshots: glob-parent: 6.0.2 is-glob: 4.0.3 jiti: 1.21.6 - lilconfig: 2.1.0 + lilconfig: 3.1.3 micromatch: 4.0.8 normalize-path: 3.0.0 object-hash: 3.0.0 @@ -12786,20 +12725,20 @@ snapshots: dependencies: b4a: 1.6.7 fast-fifo: 1.3.2 - streamx: 2.20.2 + streamx: 2.21.0 - terser-webpack-plugin@5.3.10(@swc/core@1.9.3(@swc/helpers@0.5.13))(webpack@5.96.1(@swc/core@1.9.3(@swc/helpers@0.5.13))): + terser-webpack-plugin@5.3.10(@swc/core@1.10.0(@swc/helpers@0.5.13))(webpack@5.96.1(@swc/core@1.10.0(@swc/helpers@0.5.13))): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 - terser: 5.36.0 - webpack: 5.96.1(@swc/core@1.9.3(@swc/helpers@0.5.13)) + terser: 5.37.0 + webpack: 5.96.1(@swc/core@1.10.0(@swc/helpers@0.5.13)) optionalDependencies: - '@swc/core': 1.9.3(@swc/helpers@0.5.13) + '@swc/core': 1.10.0(@swc/helpers@0.5.13) - terser@5.36.0: + terser@5.37.0: dependencies: '@jridgewell/source-map': 0.3.6 acorn: 8.14.0 @@ -12881,7 +12820,7 @@ snapshots: tslib@2.8.1: {} - tsup@8.3.5(@swc/core@1.9.3(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(yaml@2.6.1): + tsup@8.3.5(@swc/core@1.10.0(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(yaml@2.6.1): dependencies: bundle-require: 5.0.0(esbuild@0.24.0) cac: 6.7.14 @@ -12900,7 +12839,7 @@ snapshots: tinyglobby: 0.2.10 tree-kill: 1.2.2 optionalDependencies: - '@swc/core': 1.9.3(@swc/helpers@0.5.13) + '@swc/core': 1.10.0(@swc/helpers@0.5.13) postcss: 8.4.49 typescript: 5.7.2 transitivePeerDependencies: @@ -12957,7 +12896,7 @@ snapshots: dependencies: call-bind: 1.0.7 for-each: 0.3.3 - gopd: 1.1.0 + gopd: 1.2.0 has-proto: 1.1.0 is-typed-array: 1.1.13 @@ -12966,7 +12905,7 @@ snapshots: available-typed-arrays: 1.0.7 call-bind: 1.0.7 for-each: 0.3.3 - gopd: 1.1.0 + gopd: 1.2.0 has-proto: 1.1.0 is-typed-array: 1.1.13 reflect.getprototypeof: 1.0.7 @@ -12975,7 +12914,7 @@ snapshots: dependencies: call-bind: 1.0.7 for-each: 0.3.3 - gopd: 1.1.0 + gopd: 1.2.0 is-typed-array: 1.1.13 possible-typed-array-names: 1.0.0 reflect.getprototypeof: 1.0.7 @@ -13018,7 +12957,7 @@ snapshots: call-bind: 1.0.7 has-bigints: 1.0.2 has-symbols: 1.1.0 - which-boxed-primitive: 1.0.2 + which-boxed-primitive: 1.1.0 unbzip2-stream@1.4.3: dependencies: @@ -13041,40 +12980,40 @@ snapshots: dependencies: punycode: 2.3.1 - use-callback-ref@1.3.2(@types/react@18.3.12)(react@19.0.0-rc.1): + use-callback-ref@1.3.2(@types/react@19.0.0)(react@19.0.0): dependencies: - react: 19.0.0-rc.1 + react: 19.0.0 tslib: 2.8.1 optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 19.0.0 - use-debounce@10.0.4(react@19.0.0-rc.1): + use-debounce@10.0.4(react@19.0.0): dependencies: - react: 19.0.0-rc.1 + react: 19.0.0 - use-deep-compare-effect@1.8.1(react@19.0.0-rc.1): + use-deep-compare-effect@1.8.1(react@19.0.0): dependencies: '@babel/runtime': 7.26.0 dequal: 2.0.3 - react: 19.0.0-rc.1 + react: 19.0.0 - use-intl@3.25.3(react@19.0.0-rc.1): + use-intl@3.25.3(react@19.0.0): dependencies: '@formatjs/fast-memoize': 2.2.3 intl-messageformat: 10.7.7 - react: 19.0.0-rc.1 + react: 19.0.0 - use-sidecar@1.1.2(@types/react@18.3.12)(react@19.0.0-rc.1): + use-sidecar@1.1.2(@types/react@19.0.0)(react@19.0.0): dependencies: detect-node-es: 1.1.0 - react: 19.0.0-rc.1 + react: 19.0.0 tslib: 2.8.1 optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 19.0.0 - use-sync-external-store@1.2.2(react@19.0.0-rc.1): + use-sync-external-store@1.4.0(react@19.0.0): dependencies: - react: 19.0.0-rc.1 + react: 19.0.0 util-deprecate@1.0.2: {} @@ -13090,11 +13029,11 @@ snapshots: vary@1.1.2: {} - vaul@1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1): + vaul@1.1.1(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: - '@radix-ui/react-dialog': 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) - react: 19.0.0-rc.1 - react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + '@radix-ui/react-dialog': 1.1.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) transitivePeerDependencies: - '@types/react' - '@types/react-dom' @@ -13154,7 +13093,7 @@ snapshots: webpack-sources@3.2.3: {} - webpack@5.96.1(@swc/core@1.9.3(@swc/helpers@0.5.13)): + webpack@5.96.1(@swc/core@1.10.0(@swc/helpers@0.5.13)): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.6 @@ -13176,7 +13115,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(@swc/core@1.9.3(@swc/helpers@0.5.13))(webpack@5.96.1(@swc/core@1.9.3(@swc/helpers@0.5.13))) + terser-webpack-plugin: 5.3.10(@swc/core@1.10.0(@swc/helpers@0.5.13))(webpack@5.96.1(@swc/core@1.10.0(@swc/helpers@0.5.13))) watchpack: 2.4.2 webpack-sources: 3.2.3 transitivePeerDependencies: @@ -13195,7 +13134,7 @@ snapshots: tr46: 1.0.1 webidl-conversions: 4.0.2 - which-boxed-primitive@1.0.2: + which-boxed-primitive@1.1.0: dependencies: is-bigint: 1.1.0 is-boolean-object: 1.2.0 @@ -13215,7 +13154,7 @@ snapshots: is-regex: 1.2.0 is-weakref: 1.0.2 isarray: 2.0.5 - which-boxed-primitive: 1.0.2 + which-boxed-primitive: 1.1.0 which-collection: 1.0.2 which-typed-array: 1.1.16 @@ -13231,7 +13170,7 @@ snapshots: available-typed-arrays: 1.0.7 call-bind: 1.0.7 for-each: 0.3.3 - gopd: 1.1.0 + gopd: 1.2.0 has-tostringtag: 1.0.2 which@2.0.2: