diff --git a/apps/design-system/app/Providers.tsx b/apps/design-system/app/Providers.tsx index a7fe031c76..46dce70854 100644 --- a/apps/design-system/app/Providers.tsx +++ b/apps/design-system/app/Providers.tsx @@ -1,20 +1,19 @@ 'use client' +import { ThemeProvider } from 'common' import { Provider as JotaiProvider } from 'jotai' -import { ThemeProvider as NextThemesProvider } from 'next-themes' -import { ThemeProviderProps } from 'next-themes/dist/types' import { TooltipProvider } from 'ui' import { MobileSidebarProvider } from '@/context/mobile-sidebar-context' -export function ThemeProvider({ children, ...props }: ThemeProviderProps) { +export function Providers({ children }: { children: React.ReactNode }) { return ( - + {children} - + ) } diff --git a/apps/design-system/app/layout.tsx b/apps/design-system/app/layout.tsx index 93fa102345..69176828eb 100644 --- a/apps/design-system/app/layout.tsx +++ b/apps/design-system/app/layout.tsx @@ -4,7 +4,7 @@ import '@/styles/globals.css' import type { Metadata, Viewport } from 'next' import { customFont, sourceCodePro } from './fonts' -import { ThemeProvider } from './Providers' +import { Providers } from './Providers' import { Toaster } from './toaster' const className = `${customFont.variable} ${sourceCodePro.variable}` @@ -131,16 +131,12 @@ export default async function Layout({ children }: RootLayoutProps) { /> - +
{children}
-
+ ) diff --git a/apps/design-system/package.json b/apps/design-system/package.json index 9e80848471..5f8269c8af 100644 --- a/apps/design-system/package.json +++ b/apps/design-system/package.json @@ -20,6 +20,7 @@ "@hookform/resolvers": "^3.1.1", "@tanstack/react-table": "^8.21.3", "contentlayer2": "0.4.6", + "common": "workspace:*", "date-fns": "^2.30.0", "dayjs": "1.11.13", "eslint-config-supabase": "workspace:*", @@ -29,7 +30,7 @@ "markdown-wasm": "^1.2.0", "next": "catalog:", "next-contentlayer2": "0.4.6", - "next-themes": "^0.3.0", + "next-themes": "catalog:", "react": "catalog:", "react-data-grid": "7.0.0-beta.47", "react-day-picker": "^9.11.1", diff --git a/apps/docs/components/HomePageCover.tsx b/apps/docs/components/HomePageCover.tsx index 93f642501b..92ba17cb22 100644 --- a/apps/docs/components/HomePageCover.tsx +++ b/apps/docs/components/HomePageCover.tsx @@ -1,13 +1,13 @@ 'use client' -import { ChevronRight, Play, Sparkles } from 'lucide-react' -import Link from 'next/link' -import { useTheme } from 'next-themes' // End of third-party imports - import { isFeatureEnabled, useBreakpoint } from 'common' +import { ChevronRight, Play, Sparkles } from 'lucide-react' +import { useTheme } from 'next-themes' +import Link from 'next/link' import { cn, IconBackground } from 'ui' import { IconPanel } from 'ui-patterns/IconPanel' + import { getCustomContent } from '../lib/custom-content/getCustomContent' import DocsCoverLogo from './DocsCoverLogo' @@ -41,7 +41,7 @@ const HomePageCover = (props) => { const iconSize = isXs ? 'sm' : 'lg' const { homepageHeading } = getCustomContent(['homepage:heading']) const { resolvedTheme } = useTheme() - const isLightMode = resolvedTheme !== 'dark' + const isLightMode = !resolvedTheme?.includes('dark') const frameworks = [ { diff --git a/apps/docs/features/app.providers.tsx b/apps/docs/features/app.providers.tsx index 8469b004cb..cc7460313a 100644 --- a/apps/docs/features/app.providers.tsx +++ b/apps/docs/features/app.providers.tsx @@ -24,7 +24,7 @@ function GlobalProviders({ children }: PropsWithChildren) { - +
diff --git a/apps/docs/package.json b/apps/docs/package.json index e21a6d9ace..1259814500 100644 --- a/apps/docs/package.json +++ b/apps/docs/package.json @@ -93,7 +93,7 @@ "next": "^15.5.15", "next-mdx-remote": "^6.0.0", "next-plugin-yaml": "^1.0.1", - "next-themes": "^0.3.0", + "next-themes": "catalog:", "nuqs": "^1.19.1", "openai": "^4.75.1", "openapi-fetch": "0.12.4", diff --git a/apps/docs/styles/main.css b/apps/docs/styles/main.css index e5366ce723..de09695612 100644 --- a/apps/docs/styles/main.css +++ b/apps/docs/styles/main.css @@ -2,6 +2,7 @@ @import './../../../packages/ui/build/css/source/global.css'; @import './../../../packages/ui/build/css/themes/dark.css'; +@import './../../../packages/ui/build/css/themes/faux-classic-dark.css'; @import './../../../packages/ui/build/css/themes/light.css'; @config '../tailwind.config.cjs'; diff --git a/apps/learn/app/Providers.tsx b/apps/learn/app/Providers.tsx index 24d7eac122..1cfc344881 100644 --- a/apps/learn/app/Providers.tsx +++ b/apps/learn/app/Providers.tsx @@ -1,25 +1,24 @@ 'use client' +import { AuthProvider, ThemeProvider } from 'common' import { Provider as JotaiProvider } from 'jotai' -import { ThemeProvider as NextThemesProvider } from 'next-themes' -import { ThemeProviderProps } from 'next-themes/dist/types' +import { PropsWithChildren } from 'react' +import { TooltipProvider } from 'ui' import { FrameworkProvider } from '@/context/framework-context' import { MobileMenuProvider } from '@/context/mobile-menu-context' -import { AuthProvider } from 'common' -import { TooltipProvider } from 'ui' -export function ThemeProvider({ children, ...props }: ThemeProviderProps) { +export function Providers({ children }: PropsWithChildren) { return ( - + {children} - + ) diff --git a/apps/learn/app/layout.tsx b/apps/learn/app/layout.tsx index d4dd63ee7d..abd7a75e38 100644 --- a/apps/learn/app/layout.tsx +++ b/apps/learn/app/layout.tsx @@ -6,7 +6,7 @@ import { FeatureFlagProvider, TelemetryTagManager } from 'common' import { genFaviconData } from 'common/MetaFavicons/app-router' import { Inter } from 'next/font/google' -import { ThemeProvider } from './Providers' +import { Providers } from './Providers' import { Toaster } from './toaster' import { API_URL } from '@/lib/constants' @@ -47,14 +47,10 @@ export default async function Layout({ children }: RootLayoutProps) { - + {children} - + diff --git a/apps/learn/package.json b/apps/learn/package.json index 217c202dc5..f2159e418c 100644 --- a/apps/learn/package.json +++ b/apps/learn/package.json @@ -23,7 +23,7 @@ "lucide-react": "*", "next": "catalog:", "next-contentlayer2": "0.4.6", - "next-themes": "^0.3.0", + "next-themes": "catalog:", "react": "catalog:", "react-dom": "catalog:", "react-wrap-balancer": "^1.1.0", diff --git a/apps/lite-studio/app/app.css b/apps/lite-studio/app/app.css index da69bb81ee..1361ee2608 100644 --- a/apps/lite-studio/app/app.css +++ b/apps/lite-studio/app/app.css @@ -2,6 +2,7 @@ @import './../../../packages/ui/build/css/source/global.css'; @import './../../../packages/ui/build/css/themes/dark.css'; +@import './../../../packages/ui/build/css/themes/classic-dark.css'; @import './../../../packages/ui/build/css/themes/light.css'; @config '../tailwind.config.js'; diff --git a/apps/studio/package.json b/apps/studio/package.json index 907bc868a7..4640ed90be 100644 --- a/apps/studio/package.json +++ b/apps/studio/package.json @@ -104,7 +104,7 @@ "mime-db": "^1.53.0", "monaco-editor": "0.52.2", "next": "catalog:", - "next-themes": "^0.3.0", + "next-themes": "catalog:", "nuqs": "2.7.1", "openai": "^4.104.0", "openapi-fetch": "0.12.4", diff --git a/apps/studio/pages/_app.tsx b/apps/studio/pages/_app.tsx index c9cd956a01..d352a24054 100644 --- a/apps/studio/pages/_app.tsx +++ b/apps/studio/pages/_app.tsx @@ -13,8 +13,6 @@ import '@/styles/storage.css' import '@/styles/stripe.css' import '@/styles/ui.css' import 'ui-patterns/ShimmeringLoader/index.css' -import 'ui/build/css/themes/dark.css' -import 'ui/build/css/themes/light.css' import { loader } from '@monaco-editor/react' import * as Sentry from '@sentry/nextjs' @@ -184,12 +182,7 @@ function CustomApp({ Component, pageProps }: AppPropsWithLayout) { - + diff --git a/apps/ui-library/app/Providers.tsx b/apps/ui-library/app/Providers.tsx index 5956f800c4..76fa8a6d01 100644 --- a/apps/ui-library/app/Providers.tsx +++ b/apps/ui-library/app/Providers.tsx @@ -1,30 +1,29 @@ 'use client' import { QueryClientProvider } from '@tanstack/react-query' -import { AuthProvider } from 'common' +import { AuthProvider, ThemeProvider } from 'common' import { Provider as JotaiProvider } from 'jotai' -import { ThemeProvider as NextThemesProvider } from 'next-themes' -import { ThemeProviderProps } from 'next-themes/dist/types' +import { PropsWithChildren } from 'react' import { TooltipProvider } from 'ui' import { FrameworkProvider } from '@/context/framework-context' import { MobileMenuProvider } from '@/context/mobile-menu-context' import { useRootQueryClient } from '@/lib/fetch/queryClient' -export function ThemeProvider({ children, ...props }: ThemeProviderProps) { +export function Providers({ children }: PropsWithChildren) { const queryClient = useRootQueryClient() return ( - + {children} - + diff --git a/apps/ui-library/app/example/password-based-auth/layout.tsx b/apps/ui-library/app/example/password-based-auth/layout.tsx index 030beb3a32..df06062cea 100644 --- a/apps/ui-library/app/example/password-based-auth/layout.tsx +++ b/apps/ui-library/app/example/password-based-auth/layout.tsx @@ -1,7 +1,8 @@ +import { html } from 'monaco-editor' import { Metadata } from 'next' import { BaseInjector } from './../base-injector' -import { ThemeProvider } from '@/app/Providers' +import { Providers } from '@/app/Providers' export const metadata: Metadata = { title: 'Password Based Auth Example', @@ -27,11 +28,7 @@ export default function RootLayout({ children }: { children: React.ReactNode }) - +
{children}
-
+ ) diff --git a/apps/ui-library/app/example/social-auth/layout.tsx b/apps/ui-library/app/example/social-auth/layout.tsx index de42457be6..e75df4c7c4 100644 --- a/apps/ui-library/app/example/social-auth/layout.tsx +++ b/apps/ui-library/app/example/social-auth/layout.tsx @@ -1,7 +1,7 @@ import { Metadata } from 'next' import { BaseInjector } from './../base-injector' -import { ThemeProvider } from '@/app/Providers' +import { Providers } from '@/app/Providers' export const metadata: Metadata = { title: 'Social Auth Example', @@ -27,11 +27,7 @@ export default function RootLayout({ children }: { children: React.ReactNode }) - +
{children}
-
+ ) diff --git a/apps/ui-library/app/layout.tsx b/apps/ui-library/app/layout.tsx index e251215d89..3561e4d7da 100644 --- a/apps/ui-library/app/layout.tsx +++ b/apps/ui-library/app/layout.tsx @@ -6,7 +6,7 @@ import { FeatureFlagProvider, TelemetryTagManager } from 'common' import { genFaviconData } from 'common/MetaFavicons/app-router' import { Inter } from 'next/font/google' -import { ThemeProvider } from './Providers' +import { Providers } from './Providers' import { Toaster } from './toaster' import { API_URL } from '@/lib/constants' @@ -47,14 +47,10 @@ export default async function Layout({ children }: RootLayoutProps) { - + {children} - + diff --git a/apps/ui-library/package.json b/apps/ui-library/package.json index a79668ff67..32634d6cfe 100644 --- a/apps/ui-library/package.json +++ b/apps/ui-library/package.json @@ -40,7 +40,7 @@ "monaco-editor": "^0.55.1", "next": "catalog:", "next-contentlayer2": "0.4.6", - "next-themes": "^0.3.0", + "next-themes": "catalog:", "openai": "^5.9.0", "openapi-fetch": "0.12.4", "radix-ui": "catalog:", diff --git a/apps/www/app/providers.tsx b/apps/www/app/providers.tsx index 61e8b8e8d3..33eea5b09e 100644 --- a/apps/www/app/providers.tsx +++ b/apps/www/app/providers.tsx @@ -12,7 +12,7 @@ import { import { WwwCommandMenu } from 'components/CommandMenu' import { DevToolbar, DevToolbarProvider } from 'dev-tools' import { API_URL } from 'lib/constants' -import { themes, TooltipProvider } from 'ui' +import { TooltipProvider } from 'ui' import { CommandProvider } from 'ui-patterns/CommandMenu' import { useConsentToast } from 'ui-patterns/consent' @@ -26,7 +26,7 @@ function Providers({ children }: { children: React.ReactNode }) { - t.value)} enableSystem disableTransitionOnChange> + diff --git a/apps/www/package.json b/apps/www/package.json index b3ee88bb8a..6730c8ac2b 100644 --- a/apps/www/package.json +++ b/apps/www/package.json @@ -67,7 +67,7 @@ "next": "^15.5.15", "next-mdx-remote": "^6.0.0", "next-seo": "^6.5.0", - "next-themes": "^0.3.0", + "next-themes": "catalog:", "nuqs": "^2.8.1", "openai": "^4.75.1", "parse-numeric-range": "^1.3.0", diff --git a/apps/www/pages/_app.tsx b/apps/www/pages/_app.tsx index 3567e72850..1af7637f23 100644 --- a/apps/www/pages/_app.tsx +++ b/apps/www/pages/_app.tsx @@ -21,7 +21,7 @@ import { DefaultSeo } from 'next-seo' import type { AppProps } from 'next/app' import Head from 'next/head' import { useRouter } from 'next/router' -import { themes, TooltipProvider } from 'ui' +import { TooltipProvider } from 'ui' import { CommandProvider } from 'ui-patterns/CommandMenu' import { useConsentToast } from 'ui-patterns/consent' @@ -105,12 +105,7 @@ export default function App({ Component, pageProps }: AppProps) { {/* [TODO] I think we need to deconflict with the providers in layout.tsx? */} - theme.value)} - enableSystem - disableTransitionOnChange - forcedTheme={forceDarkMode ? 'dark' : undefined} - > + diff --git a/apps/www/styles/index.css b/apps/www/styles/index.css index 91c814f863..11cd481309 100644 --- a/apps/www/styles/index.css +++ b/apps/www/styles/index.css @@ -2,6 +2,7 @@ @import './../../../packages/ui/build/css/source/global.css'; @import './../../../packages/ui/build/css/themes/dark.css'; +@import './../../../packages/ui/build/css/themes/faux-classic-dark.css'; @import './../../../packages/ui/build/css/themes/light.css'; @config '../tailwind.config.js'; diff --git a/packages/common/Providers.tsx b/packages/common/Providers.tsx index 76a6c775ee..6b0aa5b566 100644 --- a/packages/common/Providers.tsx +++ b/packages/common/Providers.tsx @@ -1,13 +1,16 @@ 'use client' -import { ThemeProvider as NextThemesProvider } from 'next-themes' -import type { ThemeProviderProps } from 'next-themes/dist/types' +import { ThemeProvider as NextThemesProvider, type ThemeProviderProps } from 'next-themes' export function ThemeProvider({ children, ...props }: ThemeProviderProps) { - // @ts-ignore next-themes is old :/ - return ( - + {children} ) diff --git a/packages/common/package.json b/packages/common/package.json index b2d498e4fd..c5385c58e3 100644 --- a/packages/common/package.json +++ b/packages/common/package.json @@ -20,7 +20,7 @@ "dat.gui": "^0.7.9", "flags": "^4.0.0", "lodash": "catalog:", - "next-themes": "^0.3.0", + "next-themes": "catalog:", "posthog-js": "^1.333.0", "react-use": "^17.4.0", "valtio": "catalog:" diff --git a/packages/ui-patterns/package.json b/packages/ui-patterns/package.json index 975a6f3de6..ec08d6fc7a 100644 --- a/packages/ui-patterns/package.json +++ b/packages/ui-patterns/package.json @@ -802,7 +802,7 @@ "mdast": "^3.0.0", "mermaid": "^11.12.1", "monaco-editor": "*", - "next-themes": "*", + "next-themes": "catalog:", "openai": "^4.75.1", "prism-react-renderer": "^2.3.1", "radix-ui": "catalog:", diff --git a/packages/ui/build/css/themes/faux-classic-dark.css b/packages/ui/build/css/themes/faux-classic-dark.css new file mode 100644 index 0000000000..e99e7a8427 --- /dev/null +++ b/packages/ui/build/css/themes/faux-classic-dark.css @@ -0,0 +1,68 @@ +/* + * This theme has the same values as the dark theme meant to be used in www and docs. www and docs can only support + * light and dark themes because they only have images for light and dark themes. + */ +[data-theme='classic-dark'], +.classic-dark { + --helpers-os-appearance: Dark; + --code-block-5: 13.8deg 89.7% 69.6%; + --code-block-4: 276.1deg 67.7% 74.5%; + --code-block-3: 83.8deg 61.7% 63.1%; + --code-block-2: 33.2deg 90.3% 75.7%; + --code-block-1: 170.8deg 43.1% 61.4%; + --secondary-default: 247.8deg 100% 70%; + --secondary-400: 248.3deg 54.5% 25.9%; + --secondary-200: 248deg 53.6% 11%; + --brand-link: 155deg 100% 38.6%; + --brand-default: 153.1deg 60.2% 52.7%; + --brand-600: 154.9deg 59.5% 70%; + --brand-500: 154.9deg 100% 19.2%; + --brand-400: 155.5deg 100% 9.6%; + --brand-300: 155.1deg 100% 8%; + --brand-200: 162deg 100% 2%; + --warning-default: 38.9deg 100% 42.9%; /* warning-600 */ + --warning-600: 38.9deg 100% 42.9%; + --warning-500: 34.8deg 90.9% 21.6%; + --warning-400: 33.2deg 100% 14.5%; + --warning-300: 32.3deg 100% 10.2%; + --warning-200: 36.6deg 100% 8%; + --destructive-default: 10.2deg 77.9% 53.9%; + --destructive-600: 9.7deg 85.2% 62.9%; + --destructive-500: 7.9deg 71.6% 29%; + --destructive-400: 6.7deg 60% 20.6%; + --destructive-300: 7.5deg 51.3% 15.3%; + --destructive-200: 10.9deg 23.4% 9.2%; + --border-stronger: 0deg 0% 27.1%; + --border-strong: 0deg 0% 21.2%; + --border-alternative: 0deg 0% 26.7%; + --border-control: 0deg 0% 22.4%; + --border-overlay: 0deg 0% 20%; + --border-secondary: 0deg 0% 14.1%; + --border-muted: 0deg 0% 14.1%; + --border-default: 0deg 0% 18%; + --background-dash-canvas: 0deg 0% 7.1%; + --background-dash-sidebar: 0deg 0% 9%; + --background-dialog-default: 0deg 0% 7.1%; + --background-muted: 0deg 0% 14.1%; + --background-overlay-hover: 0deg 0% 18%; + --background-overlay-default: 0deg 0% 14.1%; + --background-surface-400: 0deg 0% 16.1%; + --background-surface-300: 0deg 0% 16.1%; + --background-surface-200: 0deg 0% 12.9%; + --background-surface-100: 0deg 0% 12.2%; + --background-surface-75: 0deg 0% 9%; + --background-control: 0deg 0% 14.1%; + --background-selection: 0deg 0% 19.2%; + --background-alternative-default: 0deg 0% 5.9%; + --background-default: 0deg 0% 7.1%; + --background-200: 0deg 0% 9%; + --foreground-contrast: 0deg 0% 8.6%; + --foreground-muted: 0deg 0% 30.2%; + --foreground-lighter: 0deg 0% 53.7%; + --foreground-light: 0deg 0% 70.6%; + --foreground-default: 0deg 0% 98%; + --border-button-hover: var(--colors-gray-dark-800); + --border-button-default: var(--colors-gray-dark-700); + --background-button-default: var(--colors-gray-dark-500); + --background-alternative-200: var(--colors-gray-dark-200); +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ac10db3f91..75c4023316 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -45,6 +45,9 @@ catalogs: next: specifier: 16.2.3 version: 16.2.3 + next-themes: + specifier: ^0.4.6 + version: 0.4.6 radix-ui: specifier: ^1.4.3 version: 1.4.3 @@ -169,6 +172,9 @@ importers: '@tanstack/react-table': specifier: ^8.21.3 version: 8.21.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + common: + specifier: workspace:* + version: link:../../packages/common contentlayer2: specifier: 0.4.6 version: 0.4.6(esbuild@0.25.2)(markdown-wasm@1.2.0)(supports-color@8.1.1) @@ -200,8 +206,8 @@ importers: specifier: 0.4.6 version: 0.4.6(contentlayer2@0.4.6(esbuild@0.25.2)(markdown-wasm@1.2.0)(supports-color@8.1.1))(esbuild@0.25.2)(markdown-wasm@1.2.0)(next@16.2.3(@babel/core@7.29.0(supports-color@8.1.1))(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.4))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) next-themes: - specifier: ^0.3.0 - version: 0.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 'catalog:' + version: 0.4.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: specifier: 'catalog:' version: 18.3.1 @@ -462,8 +468,8 @@ importers: specifier: ^1.0.1 version: 1.0.1 next-themes: - specifier: ^0.3.0 - version: 0.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 'catalog:' + version: 0.4.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) nuqs: specifier: ^1.19.1 version: 1.19.1(next@15.5.15(@babel/core@7.29.0(supports-color@8.1.1))(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.4)) @@ -715,8 +721,8 @@ importers: specifier: 0.4.6 version: 0.4.6(contentlayer2@0.4.6(esbuild@0.25.2)(markdown-wasm@1.2.0)(supports-color@8.1.1))(esbuild@0.25.2)(markdown-wasm@1.2.0)(next@16.2.3(@babel/core@7.29.0(supports-color@8.1.1))(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.4))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) next-themes: - specifier: ^0.3.0 - version: 0.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 'catalog:' + version: 0.4.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: specifier: 'catalog:' version: 18.3.1 @@ -913,7 +919,7 @@ importers: version: 0.3.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@sentry/nextjs': specifier: 'catalog:' - version: 10.27.0(@opentelemetry/context-async-hooks@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.2.0(@opentelemetry/api@1.9.0))(encoding@0.1.13)(next@16.2.3(@babel/core@7.29.0(supports-color@8.1.1))(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.4))(react@18.3.1)(supports-color@8.1.1)(webpack@5.105.4(esbuild@0.25.2)) + version: 10.27.0(@opentelemetry/context-async-hooks@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.2.0(@opentelemetry/api@1.9.0))(encoding@0.1.13)(next@16.2.3(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.4))(react@18.3.1)(supports-color@8.1.1)(webpack@5.105.4(esbuild@0.25.2)) '@std/path': specifier: npm:@jsr/std__path@^1.0.8 version: '@jsr/std__path@1.0.8' @@ -1065,11 +1071,11 @@ importers: specifier: 'catalog:' version: 16.2.3(@babel/core@7.29.0(supports-color@8.1.1))(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.4) next-themes: - specifier: ^0.3.0 - version: 0.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 'catalog:' + version: 0.4.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) nuqs: specifier: 2.7.1 - version: 2.7.1(@tanstack/react-router@1.168.18(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(next@16.2.3(@babel/core@7.29.0(supports-color@8.1.1))(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.4))(react-router@7.13.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + version: 2.7.1(@tanstack/react-router@1.168.18(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(next@16.2.3(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.4))(react-router@7.13.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) openai: specifier: ^4.104.0 version: 4.104.0(encoding@0.1.13)(ws@8.19.0)(zod@3.25.76) @@ -1319,7 +1325,7 @@ importers: version: 2.11.3(@types/node@22.13.14)(typescript@6.0.2) next-router-mock: specifier: ^0.9.13 - version: 0.9.13(next@16.2.3(@babel/core@7.29.0(supports-color@8.1.1))(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.4))(react@18.3.1) + version: 0.9.13(next@16.2.3(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.4))(react@18.3.1) node-mocks-http: specifier: ^1.17.2 version: 1.17.2(@types/node@22.13.14) @@ -1426,8 +1432,8 @@ importers: specifier: 0.4.6 version: 0.4.6(contentlayer2@0.4.6(esbuild@0.25.2)(markdown-wasm@1.2.0)(supports-color@8.1.1))(esbuild@0.25.2)(markdown-wasm@1.2.0)(next@16.2.3(@babel/core@7.29.0(supports-color@8.1.1))(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.4))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) next-themes: - specifier: ^0.3.0 - version: 0.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 'catalog:' + version: 0.4.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) openai: specifier: ^5.9.0 version: 5.9.0(ws@8.19.0)(zod@3.25.76) @@ -1724,8 +1730,8 @@ importers: specifier: ^6.5.0 version: 6.5.0(next@15.5.15(@babel/core@7.29.0(supports-color@8.1.1))(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.4))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) next-themes: - specifier: ^0.3.0 - version: 0.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 'catalog:' + version: 0.4.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) nuqs: specifier: ^2.8.1 version: 2.8.1(@tanstack/react-router@1.168.18(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(next@15.5.15(@babel/core@7.29.0(supports-color@8.1.1))(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.4))(react-router@7.13.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) @@ -2082,8 +2088,8 @@ importers: specifier: 'catalog:' version: 16.2.3(@babel/core@7.29.0(supports-color@8.1.1))(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.4) next-themes: - specifier: ^0.3.0 - version: 0.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 'catalog:' + version: 0.4.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) posthog-js: specifier: ^1.333.0 version: 1.357.0 @@ -2206,7 +2212,7 @@ importers: version: link:../config next-router-mock: specifier: ^0.9.13 - version: 0.9.13(next@16.2.3(@babel/core@7.29.0(supports-color@8.1.1))(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.4))(react@18.3.1) + version: 0.9.13(next@16.2.3(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.4))(react@18.3.1) tailwindcss: specifier: 'catalog:' version: 4.2.4 @@ -2563,8 +2569,8 @@ importers: specifier: 'catalog:' version: 16.2.3(@babel/core@7.29.0(supports-color@8.1.1))(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.4) next-themes: - specifier: '*' - version: 0.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 'catalog:' + version: 0.4.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) openai: specifier: ^4.75.1 version: 4.104.0(encoding@0.1.13)(ws@8.19.0)(zod@3.25.76) @@ -2688,7 +2694,7 @@ importers: version: link:../config next-router-mock: specifier: ^0.9.13 - version: 0.9.13(next@16.2.3(@babel/core@7.29.0(supports-color@8.1.1))(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.4))(react@18.3.1) + version: 0.9.13(next@16.2.3(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.4))(react@18.3.1) tailwindcss: specifier: ^4.2.4 version: 4.2.4 @@ -3460,24 +3466,15 @@ packages: '@electric-sql/pglite@0.2.15': resolution: {integrity: sha512-Jiq31Dnk+rg8rMhcSxs4lQvHTyizNo5b269c1gCC3ldQ0sCLrNVPGzy+KnmonKy1ZArTUuXZf23/UamzFMKVaA==} - '@emnapi/core@1.9.0': - resolution: {integrity: sha512-0DQ98G9ZQZOxfUcQn1waV2yS8aWdZ6kJMbYCJB3oUBecjWYO1fqJ+a1DRfPF3O5JEkwqwP1A9QEN/9mYm2Yd0w==} - '@emnapi/core@1.9.2': resolution: {integrity: sha512-UC+ZhH3XtczQYfOlu3lNEkdW/p4dsJ1r/bP7H8+rhao3TTTMO1ATq/4DdIi23XuGoFY+Cz0JmCbdVl0hz9jZcA==} '@emnapi/runtime@0.43.1': resolution: {integrity: sha512-Q5sMc4Z4gsD4tlmlyFu+MpNAwpR7Gv2errDhVJ+SOhNjWcx8UTqy+hswb8L31RfC8jBvDgcnT87l3xI2w08rAg==} - '@emnapi/runtime@1.7.1': - resolution: {integrity: sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==} - '@emnapi/runtime@1.9.2': resolution: {integrity: sha512-3U4+MIWHImeyu1wnmVygh5WlgfYDtyf0k8AbLhMFxOipihf6nrWC4syIm/SwEeec0mNSafiiNnMJwbza/Is6Lw==} - '@emnapi/wasi-threads@1.2.0': - resolution: {integrity: sha512-N10dEJNSsUx41Z6pZsXU8FjPjpBEplgH24sfkmITrBED1/U2Esum9F3lfLrMjKHHjmi557zQn7kR9R+XWXu5Rg==} - '@emnapi/wasi-threads@1.2.1': resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==} @@ -13886,11 +13883,11 @@ packages: react: '>=16.0.0' react-dom: '>=16.0.0' - next-themes@0.3.0: - resolution: {integrity: sha512-/QHIrsYpd6Kfk7xakK4svpDI5mmXP0gfvCoJdGpZQ2TOrQZmsW0QxjaiLn8wbIKjtm4BTSqLoix4lxYYOnLJ/w==} + next-themes@0.4.6: + resolution: {integrity: sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA==} peerDependencies: - react: ^16.8 || ^17 || ^18 - react-dom: ^16.8 || ^17 || ^18 + react: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc + react-dom: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc next-tick@1.1.0: resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} @@ -19310,12 +19307,6 @@ snapshots: '@electric-sql/pglite@0.2.15': optional: true - '@emnapi/core@1.9.0': - dependencies: - '@emnapi/wasi-threads': 1.2.0 - tslib: 2.8.1 - optional: true - '@emnapi/core@1.9.2': dependencies: '@emnapi/wasi-threads': 1.2.1 @@ -19326,21 +19317,11 @@ snapshots: dependencies: tslib: 2.8.1 - '@emnapi/runtime@1.7.1': - dependencies: - tslib: 2.8.1 - optional: true - '@emnapi/runtime@1.9.2': dependencies: tslib: 2.8.1 optional: true - '@emnapi/wasi-threads@1.2.0': - dependencies: - tslib: 2.8.1 - optional: true - '@emnapi/wasi-threads@1.2.1': dependencies: tslib: 2.8.1 @@ -20336,7 +20317,7 @@ snapshots: '@img/sharp-wasm32@0.34.5': dependencies: - '@emnapi/runtime': 1.7.1 + '@emnapi/runtime': 1.9.2 optional: true '@img/sharp-win32-arm64@0.34.5': @@ -20745,8 +20726,8 @@ snapshots: '@napi-rs/wasm-runtime@1.1.1': dependencies: - '@emnapi/core': 1.9.0 - '@emnapi/runtime': 1.7.1 + '@emnapi/core': 1.9.2 + '@emnapi/runtime': 1.9.2 '@tybys/wasm-util': 0.10.1 optional: true @@ -23591,7 +23572,7 @@ snapshots: - supports-color - webpack - '@sentry/nextjs@10.27.0(@opentelemetry/context-async-hooks@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.2.0(@opentelemetry/api@1.9.0))(encoding@0.1.13)(next@16.2.3(@babel/core@7.29.0(supports-color@8.1.1))(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.4))(react@18.3.1)(supports-color@8.1.1)(webpack@5.105.4(esbuild@0.25.2))': + '@sentry/nextjs@10.27.0(@opentelemetry/context-async-hooks@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.2.0(@opentelemetry/api@1.9.0))(encoding@0.1.13)(next@16.2.3(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.4))(react@18.3.1)(supports-color@8.1.1)(webpack@5.105.4(esbuild@0.25.2))': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/semantic-conventions': 1.38.0 @@ -31613,7 +31594,7 @@ snapshots: dependencies: js-yaml-loader: 1.2.2 - next-router-mock@0.9.13(next@16.2.3(@babel/core@7.29.0(supports-color@8.1.1))(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.4))(react@18.3.1): + next-router-mock@0.9.13(next@16.2.3(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.4))(react@18.3.1): dependencies: next: 16.2.3(@babel/core@7.29.0(supports-color@8.1.1))(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.4) react: 18.3.1 @@ -31624,7 +31605,7 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - next-themes@0.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + next-themes@0.4.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -31946,7 +31927,7 @@ snapshots: mitt: 3.0.1 next: 15.5.15(@babel/core@7.29.0(supports-color@8.1.1))(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.4) - nuqs@2.7.1(@tanstack/react-router@1.168.18(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(next@16.2.3(@babel/core@7.29.0(supports-color@8.1.1))(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.4))(react-router@7.13.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1): + nuqs@2.7.1(@tanstack/react-router@1.168.18(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(next@16.2.3(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.4))(react-router@7.13.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1): dependencies: '@standard-schema/spec': 1.0.0 react: 18.3.1 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 079e4b4330..bf312ed3f6 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -20,6 +20,7 @@ catalog: lodash: ^4.18.1 lodash-es: ^4.18.1 next: 16.2.3 + next-themes: ^0.4.6 postcss: ^8.5.10 radix-ui: ^1.4.3 react: ^18.3.0