diff --git a/apps/web/package.json b/apps/web/package.json index 96c358b..a49ef75 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -13,15 +13,15 @@ "@workspace/ui": "workspace:*", "lucide-react": "0.475.0", "next-themes": "^0.4.4", - "next": "15.2.0-canary.64", - "react": "^19.0.0", - "react-dom": "^19.0.0" + "next": "15.2.0", + "react": "19.0.0", + "react-dom": "19.0.0" }, "devDependencies": { "@tailwindcss/postcss": "^4", "@types/node": "^20", - "@types/react": "19.0.0", - "@types/react-dom": "19.0.0", + "@types/react": "19.0.10", + "@types/react-dom": "19.0.4", "@workspace/eslint-config": "workspace:^", "@workspace/typescript-config": "workspace:*", "tailwindcss": "^4", diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json index 9b37786..401e605 100644 --- a/packages/eslint-config/package.json +++ b/packages/eslint-config/package.json @@ -9,7 +9,7 @@ "./react-internal": "./react-internal.js" }, "devDependencies": { - "@next/eslint-plugin-next": "^15.2.0-canary.64", + "@next/eslint-plugin-next": "^15.2.0", "@typescript-eslint/eslint-plugin": "^8.24.1", "@typescript-eslint/parser": "^8.24.1", "eslint": "^9.20.1", diff --git a/packages/ui/src/components/dropdown-menu.tsx b/packages/ui/src/components/dropdown-menu.tsx index e1872da..293cfa8 100644 --- a/packages/ui/src/components/dropdown-menu.tsx +++ b/packages/ui/src/components/dropdown-menu.tsx @@ -1,15 +1,15 @@ -"use client" +'use client'; -import * as React from "react" -import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu" -import { CheckIcon, ChevronRightIcon, CircleIcon } from "lucide-react" +import * as React from 'react'; +import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu'; +import { CheckIcon, ChevronRightIcon, CircleIcon } from 'lucide-react'; -import { cn } from "@workspace/ui/lib/utils" +import { cn } from '@workspace/ui/lib/utils'; function DropdownMenu({ ...props }: React.ComponentProps) { - return + return ; } function DropdownMenuPortal({ @@ -17,7 +17,7 @@ function DropdownMenuPortal({ }: React.ComponentProps) { return ( - ) + ); } function DropdownMenuTrigger({ @@ -28,7 +28,7 @@ function DropdownMenuTrigger({ data-slot="dropdown-menu-trigger" {...props} /> - ) + ); } function DropdownMenuContent({ @@ -42,13 +42,13 @@ function DropdownMenuContent({ data-slot="dropdown-menu-content" sideOffset={sideOffset} className={cn( - "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-md", - className + 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-md', + className, )} {...props} /> - ) + ); } function DropdownMenuGroup({ @@ -56,17 +56,17 @@ function DropdownMenuGroup({ }: React.ComponentProps) { return ( - ) + ); } function DropdownMenuItem({ className, inset, - variant = "default", + variant = 'default', ...props }: React.ComponentProps & { - inset?: boolean - variant?: "default" | "destructive" + inset?: boolean; + variant?: 'default' | 'destructive'; }) { return ( - ) + ); } function DropdownMenuCheckboxItem({ @@ -93,7 +93,7 @@ function DropdownMenuCheckboxItem({ data-slot="dropdown-menu-checkbox-item" className={cn( "focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", - className + className, )} checked={checked} {...props} @@ -105,7 +105,7 @@ function DropdownMenuCheckboxItem({ {children} - ) + ); } function DropdownMenuRadioGroup({ @@ -116,7 +116,7 @@ function DropdownMenuRadioGroup({ data-slot="dropdown-menu-radio-group" {...props} /> - ) + ); } function DropdownMenuRadioItem({ @@ -129,7 +129,7 @@ function DropdownMenuRadioItem({ data-slot="dropdown-menu-radio-item" className={cn( "focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", - className + className, )} {...props} > @@ -140,7 +140,7 @@ function DropdownMenuRadioItem({ {children} - ) + ); } function DropdownMenuLabel({ @@ -148,19 +148,19 @@ function DropdownMenuLabel({ inset, ...props }: React.ComponentProps & { - inset?: boolean + inset?: boolean; }) { return ( - ) + ); } function DropdownMenuSeparator({ @@ -170,32 +170,32 @@ function DropdownMenuSeparator({ return ( - ) + ); } function DropdownMenuShortcut({ className, ...props -}: React.ComponentProps<"span">) { +}: React.ComponentProps<'span'>) { return ( - ) + ); } function DropdownMenuSub({ ...props }: React.ComponentProps) { - return + return ; } function DropdownMenuSubTrigger({ @@ -204,22 +204,22 @@ function DropdownMenuSubTrigger({ children, ...props }: React.ComponentProps & { - inset?: boolean + inset?: boolean; }) { return ( {children} - ) + ); } function DropdownMenuSubContent({ @@ -230,12 +230,12 @@ function DropdownMenuSubContent({ - ) + ); } export { @@ -254,4 +254,4 @@ export { DropdownMenuSub, DropdownMenuSubTrigger, DropdownMenuSubContent, -} +}; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ed6a1e6..0ec19b3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -33,16 +33,16 @@ importers: specifier: 0.475.0 version: 0.475.0(react@19.0.0) next: - specifier: 15.2.0-canary.64 - version: 15.2.0-canary.64(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + specifier: 15.2.0 + version: 15.2.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) next-themes: specifier: ^0.4.4 version: 0.4.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react: - specifier: ^19.0.0 + specifier: 19.0.0 version: 19.0.0 react-dom: - specifier: ^19.0.0 + specifier: 19.0.0 version: 19.0.0(react@19.0.0) devDependencies: '@tailwindcss/postcss': @@ -52,11 +52,11 @@ importers: specifier: ^20 version: 20.17.19 '@types/react': - specifier: 19.0.0 - version: 19.0.0 + specifier: 19.0.10 + version: 19.0.10 '@types/react-dom': - specifier: 19.0.0 - version: 19.0.0 + specifier: 19.0.4 + version: 19.0.4(@types/react@19.0.10) '@workspace/eslint-config': specifier: workspace:^ version: link:../../packages/eslint-config @@ -73,8 +73,8 @@ importers: packages/eslint-config: devDependencies: '@next/eslint-plugin-next': - specifier: ^15.2.0-canary.64 - version: 15.2.0-canary.64 + specifier: ^15.2.0 + version: 15.2.0 '@typescript-eslint/eslint-plugin': specifier: ^8.24.1 version: 8.24.1(@typescript-eslint/parser@8.24.1(eslint@9.20.1(jiti@2.4.2))(typescript@5.7.3))(eslint@9.20.1(jiti@2.4.2))(typescript@5.7.3) @@ -377,56 +377,56 @@ packages: '@jridgewell/trace-mapping@0.3.9': resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} - '@next/env@15.2.0-canary.64': - resolution: {integrity: sha512-ZZYxKm0ECOr7n818vBxELVYwreFKvzS1XPFuzTO5NHokJWuqCFN6cc6dW4S0bohHSjLXckDad/nft3G/k3/1VA==} + '@next/env@15.2.0': + resolution: {integrity: sha512-eMgJu1RBXxxqqnuRJQh5RozhskoNUDHBFybvi+Z+yK9qzKeG7dadhv/Vp1YooSZmCnegf7JxWuapV77necLZNA==} - '@next/eslint-plugin-next@15.2.0-canary.64': - resolution: {integrity: sha512-4dj8OUjfiFxDsipXZnI4W9BuFmPSLOCTNrozT4EdzmmfbN/lU7/SWcVg+471VfeT2W//w5U3DwzY+bfdeh+s6A==} + '@next/eslint-plugin-next@15.2.0': + resolution: {integrity: sha512-jHFUG2OwmAuOASqq253RAEG/5BYcPHn27p1NoWZDCf4OdvdK0yRYWX92YKkL+Mk2s+GyJrmd/GATlL5b2IySpw==} - '@next/swc-darwin-arm64@15.2.0-canary.64': - resolution: {integrity: sha512-i6OX3WK++7aqUp2d2t5RbMM27FyynHluchihjL0VFpBZ1HSjWIZ2pu6Fo/pMA65rU9OtuZqAjU1jXN/XIHnZUw==} + '@next/swc-darwin-arm64@15.2.0': + resolution: {integrity: sha512-rlp22GZwNJjFCyL7h5wz9vtpBVuCt3ZYjFWpEPBGzG712/uL1bbSkS675rVAUCRZ4hjoTJ26Q7IKhr5DfJrHDA==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@next/swc-darwin-x64@15.2.0-canary.64': - resolution: {integrity: sha512-KS99iaV6A7IcrKP2WtO9hrA0mdyWdPLd0e5U3x/P5EKa/FxWSjXc9U8WjDk2GYIh46rblSHBTA1Ar6N8yQApSg==} + '@next/swc-darwin-x64@15.2.0': + resolution: {integrity: sha512-DiU85EqSHogCz80+sgsx90/ecygfCSGl5P3b4XDRVZpgujBm5lp4ts7YaHru7eVTyZMjHInzKr+w0/7+qDrvMA==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@next/swc-linux-arm64-gnu@15.2.0-canary.64': - resolution: {integrity: sha512-mOGQ1I5jvkSJdBz+9h0S2DhDQabfg7htv4x3qw/RZ0EvqacGpKf3D/Sd8HAYa0wC/BBEgV3oyAnnuFxNWFfYGg==} + '@next/swc-linux-arm64-gnu@15.2.0': + resolution: {integrity: sha512-VnpoMaGukiNWVxeqKHwi8MN47yKGyki5q+7ql/7p/3ifuU2341i/gDwGK1rivk0pVYbdv5D8z63uu9yMw0QhpQ==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@next/swc-linux-arm64-musl@15.2.0-canary.64': - resolution: {integrity: sha512-9VLE4+Q4Nd23D8ZuR+iJs2v78sKKVrvXSC6H9w+qTYHoNATfKTKt38uCrDT+HQObfKsOhlvp/npaZwhylp3isw==} + '@next/swc-linux-arm64-musl@15.2.0': + resolution: {integrity: sha512-ka97/ssYE5nPH4Qs+8bd8RlYeNeUVBhcnsNUmFM6VWEob4jfN9FTr0NBhXVi1XEJpj3cMfgSRW+LdE3SUZbPrw==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@next/swc-linux-x64-gnu@15.2.0-canary.64': - resolution: {integrity: sha512-cQICTyR3sIZU4lAWmyIYECqWorqoSiBR6LwQTo5ITdpZ1pvfz6Uo4m1vxIsAjxUlkuleCk49OX/8VBungj0CmA==} + '@next/swc-linux-x64-gnu@15.2.0': + resolution: {integrity: sha512-zY1JduE4B3q0k2ZCE+DAF/1efjTXUsKP+VXRtrt/rJCTgDlUyyryx7aOgYXNc1d8gobys/Lof9P9ze8IyRDn7Q==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@next/swc-linux-x64-musl@15.2.0-canary.64': - resolution: {integrity: sha512-A4BQv8TFt9pNpuJvd/SfeXfd17jup9otc9qE1oJ4AUI2GZJwicBWCJx+3q8xTNK0jm2+5H0svK6Z+tF+a3rJQA==} + '@next/swc-linux-x64-musl@15.2.0': + resolution: {integrity: sha512-QqvLZpurBD46RhaVaVBepkVQzh8xtlUN00RlG4Iq1sBheNugamUNPuZEH1r9X1YGQo1KqAe1iiShF0acva3jHQ==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@next/swc-win32-arm64-msvc@15.2.0-canary.64': - resolution: {integrity: sha512-IgB01HmDBznJIuuaRLXO4zUFdzyJlwxgWR4vu3y9ezZJDNUofRu8nWY/kvTR3rQdB58XJAaM666LhgHrZstp6Q==} + '@next/swc-win32-arm64-msvc@15.2.0': + resolution: {integrity: sha512-ODZ0r9WMyylTHAN6pLtvUtQlGXBL9voljv6ujSlcsjOxhtXPI1Ag6AhZK0SE8hEpR1374WZZ5w33ChpJd5fsjw==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@next/swc-win32-x64-msvc@15.2.0-canary.64': - resolution: {integrity: sha512-tkiBWgb8sNhjEJu/r/8Jak/rQi8zZOpPX+58T1g0T4yhEqJGw3WC/2In5XvKrT9xK45/GZCSZ8TpczKGbzU1Tg==} + '@next/swc-win32-x64-msvc@15.2.0': + resolution: {integrity: sha512-8+4Z3Z7xa13NdUuUAcpVNA6o76lNPniBd9Xbo02bwXQXnZgFvEopwY2at5+z7yHl47X9qbZpvwatZ2BRo3EdZw==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -829,9 +829,17 @@ packages: '@types/react-dom@19.0.0': resolution: {integrity: sha512-1KfiQKsH1o00p9m5ag12axHQSb3FOU9H20UTrujVSkNhuCrRHiQWFqgEnTNK5ZNfnzZv8UWrnXVqCmCF9fgY3w==} + '@types/react-dom@19.0.4': + resolution: {integrity: sha512-4fSQ8vWFkg+TGhePfUzVmat3eC14TXYSsiiDSLI0dVLsrm9gZFABjPy/Qu6TKgl1tq1Bu1yDsuQgY3A3DOjCcg==} + peerDependencies: + '@types/react': ^19.0.0 + '@types/react@19.0.0': resolution: {integrity: sha512-MY3oPudxvMYyesqs/kW1Bh8y9VqSmf+tzqw3ae8a9DZW68pUe3zAdHeI1jc6iAysuRdACnVknHP8AhwD4/dxtg==} + '@types/react@19.0.10': + resolution: {integrity: sha512-JuRQ9KXLEjaUNjTWpzuR231Z2WpIwczOkBEIvbHNCzQefFIT0L8IqE6NV6ULLyC1SI/i234JnDoMkfg+RjQj2g==} + '@types/through@0.0.33': resolution: {integrity: sha512-HsJ+z3QuETzP3cswwtzt2vEIiHBk/dCcHGhbmG5X3ecnwFD/lPrMpliGXxSCg03L9AhrdwA4Oz/qfspkDW+xGQ==} @@ -1915,8 +1923,8 @@ packages: react: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc react-dom: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc - next@15.2.0-canary.64: - resolution: {integrity: sha512-tc9T8uVcxrOtmwzoybZ9BfZ/nKRc5FyYJIKzdqn6Hlb5e4bdR7lW0Tc7pYVzxvMeBs2Gs2futDXlXG93pqPqyg==} + next@15.2.0: + resolution: {integrity: sha512-VaiM7sZYX8KIAHBrRGSFytKknkrexNfGb8GlG6e93JqueCspuGte8i4ybn8z4ww1x3f2uzY4YpTaBEW4/hvsoQ==} engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0} hasBin: true peerDependencies: @@ -2816,34 +2824,34 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 - '@next/env@15.2.0-canary.64': {} + '@next/env@15.2.0': {} - '@next/eslint-plugin-next@15.2.0-canary.64': + '@next/eslint-plugin-next@15.2.0': dependencies: fast-glob: 3.3.1 - '@next/swc-darwin-arm64@15.2.0-canary.64': + '@next/swc-darwin-arm64@15.2.0': optional: true - '@next/swc-darwin-x64@15.2.0-canary.64': + '@next/swc-darwin-x64@15.2.0': optional: true - '@next/swc-linux-arm64-gnu@15.2.0-canary.64': + '@next/swc-linux-arm64-gnu@15.2.0': optional: true - '@next/swc-linux-arm64-musl@15.2.0-canary.64': + '@next/swc-linux-arm64-musl@15.2.0': optional: true - '@next/swc-linux-x64-gnu@15.2.0-canary.64': + '@next/swc-linux-x64-gnu@15.2.0': optional: true - '@next/swc-linux-x64-musl@15.2.0-canary.64': + '@next/swc-linux-x64-musl@15.2.0': optional: true - '@next/swc-win32-arm64-msvc@15.2.0-canary.64': + '@next/swc-win32-arm64-msvc@15.2.0': optional: true - '@next/swc-win32-x64-msvc@15.2.0-canary.64': + '@next/swc-win32-x64-msvc@15.2.0': optional: true '@nodelib/fs.scandir@2.1.5': @@ -3228,12 +3236,20 @@ snapshots: '@types/react-dom@19.0.0': dependencies: - '@types/react': 19.0.0 + '@types/react': 19.0.10 + + '@types/react-dom@19.0.4(@types/react@19.0.10)': + dependencies: + '@types/react': 19.0.10 '@types/react@19.0.0': dependencies: csstype: 3.1.3 + '@types/react@19.0.10': + dependencies: + csstype: 3.1.3 + '@types/through@0.0.33': dependencies: '@types/node': 22.13.4 @@ -4509,9 +4525,9 @@ snapshots: react: 19.0.0 react-dom: 19.0.0(react@19.0.0) - next@15.2.0-canary.64(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + next@15.2.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: - '@next/env': 15.2.0-canary.64 + '@next/env': 15.2.0 '@swc/counter': 0.1.3 '@swc/helpers': 0.5.15 busboy: 1.6.0 @@ -4521,14 +4537,14 @@ snapshots: react-dom: 19.0.0(react@19.0.0) styled-jsx: 5.1.6(react@19.0.0) optionalDependencies: - '@next/swc-darwin-arm64': 15.2.0-canary.64 - '@next/swc-darwin-x64': 15.2.0-canary.64 - '@next/swc-linux-arm64-gnu': 15.2.0-canary.64 - '@next/swc-linux-arm64-musl': 15.2.0-canary.64 - '@next/swc-linux-x64-gnu': 15.2.0-canary.64 - '@next/swc-linux-x64-musl': 15.2.0-canary.64 - '@next/swc-win32-arm64-msvc': 15.2.0-canary.64 - '@next/swc-win32-x64-msvc': 15.2.0-canary.64 + '@next/swc-darwin-arm64': 15.2.0 + '@next/swc-darwin-x64': 15.2.0 + '@next/swc-linux-arm64-gnu': 15.2.0 + '@next/swc-linux-arm64-musl': 15.2.0 + '@next/swc-linux-x64-gnu': 15.2.0 + '@next/swc-linux-x64-musl': 15.2.0 + '@next/swc-win32-arm64-msvc': 15.2.0 + '@next/swc-win32-x64-msvc': 15.2.0 sharp: 0.33.5 transitivePeerDependencies: - '@babel/core'