diff --git a/examples/snippets/app/page.tsx b/examples/snippets/app/page.tsx index 7a8da39..702af88 100644 --- a/examples/snippets/app/page.tsx +++ b/examples/snippets/app/page.tsx @@ -95,6 +95,16 @@ export default function Page() { description="Manually using feature flags in Edge Middleware" href="/examples/feature-flags-in-edge-middleware" /> + + ); diff --git a/examples/snippets/components/pages-layout.tsx b/examples/snippets/components/pages-layout.tsx new file mode 100644 index 0000000..fbb42ab --- /dev/null +++ b/examples/snippets/components/pages-layout.tsx @@ -0,0 +1,31 @@ +import localFont from 'next/font/local'; +import '../app/globals.css'; +import { VercelToolbar } from '@vercel/toolbar/next'; + +const geistSans = localFont({ + src: '../app/fonts/GeistVF.woff', + variable: '--font-geist-sans', + weight: '100 900', +}); + +const geistMono = localFont({ + src: '../app/fonts/GeistMonoVF.woff', + variable: '--font-geist-mono', + weight: '100 900', +}); + +export default function PagesLayout({ + children, +}: { + children: React.ReactNode; +}) { + const shouldInjectToolbar = process.env.NODE_ENV === 'development'; + return ( +
+ {children} + {shouldInjectToolbar && } +
+ ); +} diff --git a/examples/snippets/lib/pages-router-precomputed/README.md b/examples/snippets/lib/pages-router-precomputed/README.md new file mode 100644 index 0000000..1986099 --- /dev/null +++ b/examples/snippets/lib/pages-router-precomputed/README.md @@ -0,0 +1 @@ +This folder contains supporting files for the Pages Router example, as those files can not live within the `pages/` folder as they would otherwise count as actualy Next.js pages. diff --git a/examples/snippets/lib/pages-router-precomputed/flags.ts b/examples/snippets/lib/pages-router-precomputed/flags.ts new file mode 100644 index 0000000..cedfa3b --- /dev/null +++ b/examples/snippets/lib/pages-router-precomputed/flags.ts @@ -0,0 +1,11 @@ +import { flag } from '@vercel/flags/next'; + +export const exampleFlag = flag({ + key: 'pages-router-precomputed-example-flag', + decide() { + return true; + }, + options: [false, true], +}); + +export const exampleFlags = [exampleFlag]; diff --git a/examples/snippets/lib/pages-router-precomputed/middleware.ts b/examples/snippets/lib/pages-router-precomputed/middleware.ts new file mode 100644 index 0000000..ce87859 --- /dev/null +++ b/examples/snippets/lib/pages-router-precomputed/middleware.ts @@ -0,0 +1,12 @@ +import { precompute } from '@vercel/flags/next'; +import { type NextRequest, NextResponse } from 'next/server'; +import { exampleFlags } from './flags'; + +export async function pagesRouterMiddleware(request: NextRequest) { + // precompute the flags + const code = await precompute(exampleFlags); + + return NextResponse.rewrite( + new URL(`/examples/pages-router-precomputed/${code}`, request.url), + ); +} diff --git a/examples/snippets/middleware.ts b/examples/snippets/middleware.ts index 9e0ce10..7356aa3 100644 --- a/examples/snippets/middleware.ts +++ b/examples/snippets/middleware.ts @@ -5,6 +5,7 @@ import { overviewMiddleware } from './app/getting-started/overview/[code]/middle import { featureFlagsInEdgeMiddleware } from './app/examples/feature-flags-in-edge-middleware/middleware'; import { manualPrecomputeMiddleware } from './app/concepts/precompute/manual/middleware'; import { automaticPrecomputeMiddleware } from './app/concepts/precompute/automatic/[code]/middleware'; +import { pagesRouterMiddleware } from './lib/pages-router-precomputed/middleware'; export function middleware(request: NextRequest) { if (request.nextUrl.pathname === '/getting-started/overview') { @@ -29,6 +30,10 @@ export function middleware(request: NextRequest) { return featureFlagsInEdgeMiddleware(request); } + if (request.nextUrl.pathname === '/examples/pages-router-precomputed') { + return pagesRouterMiddleware(request); + } + return NextResponse.next(); } @@ -39,5 +44,6 @@ export const config = { '/concepts/precompute/automatic', '/examples/marketing-pages', '/examples/feature-flags-in-edge-middleware', + '/examples/pages-router-precomputed', ], }; diff --git a/examples/snippets/package.json b/examples/snippets/package.json index 54f138f..fecb59f 100644 --- a/examples/snippets/package.json +++ b/examples/snippets/package.json @@ -19,9 +19,9 @@ "class-variance-authority": "0.7.1", "clsx": "2.0.0", "nanoid": "5.0.7", - "next": "15.0.3", - "react": "19.0.0-rc-66855b96-20241106", - "react-dom": "19.0.0-rc-66855b96-20241106", + "next": "15.1.4", + "react": "19.0.0-rc-02c0e824-20241028", + "react-dom": "19.0.0-rc-02c0e824-20241028", "tailwind-merge": "2.5.5", "tailwindcss-animate": "1.0.7" }, diff --git a/examples/snippets/pages/examples/pages-router-dynamic/index.tsx b/examples/snippets/pages/examples/pages-router-dynamic/index.tsx new file mode 100644 index 0000000..bac27b7 --- /dev/null +++ b/examples/snippets/pages/examples/pages-router-dynamic/index.tsx @@ -0,0 +1,19 @@ +import PagesLayout from '@/components/pages-layout'; +import type { GetServerSideProps, InferGetServerSidePropsType } from 'next'; +import { exampleFlag } from '@/flags'; +import { DemoFlag } from '@/components/demo-flag'; + +export const getServerSideProps = (async ({ req }) => { + const example = await exampleFlag(req); + return { props: { example } }; +}) satisfies GetServerSideProps<{ example: boolean }>; + +export default function PageRouter({ + example, +}: InferGetServerSidePropsType) { + return ( + + + + ); +} diff --git a/examples/snippets/pages/examples/pages-router-precomputed/[code]/index.tsx b/examples/snippets/pages/examples/pages-router-precomputed/[code]/index.tsx new file mode 100644 index 0000000..2b40260 --- /dev/null +++ b/examples/snippets/pages/examples/pages-router-precomputed/[code]/index.tsx @@ -0,0 +1,38 @@ +import PagesLayout from '@/components/pages-layout'; +import type { + GetStaticPaths, + GetStaticProps, + InferGetStaticPropsType, +} from 'next'; +import { + exampleFlag, + exampleFlags, +} from '@/lib/pages-router-precomputed/flags'; +import { DemoFlag } from '@/components/demo-flag'; +import { generatePermutations } from '@vercel/flags/next'; + +export const getStaticPaths = (async () => { + const codes = await generatePermutations(exampleFlags); + + return { + paths: codes.map((code) => ({ params: { code } })), + fallback: 'blocking', + }; +}) satisfies GetStaticPaths; + +export const getStaticProps = (async (context) => { + if (typeof context.params?.code !== 'string') return { notFound: true }; + + const example = await exampleFlag(context.params.code, exampleFlags); + return { props: { example } }; +}) satisfies GetStaticProps<{ example: boolean }>; + +export default function PageRouter({ + example, +}: InferGetStaticPropsType) { + return ( + + + + ); +} diff --git a/packages/flags/package.json b/packages/flags/package.json index 9bf66e9..c01b214 100644 --- a/packages/flags/package.json +++ b/packages/flags/package.json @@ -77,7 +77,7 @@ "@vitejs/plugin-react": "4.2.1", "eslint-config-custom": "workspace:*", "msw": "2.6.4", - "next": "15.0.3", + "next": "15.1.4", "react": "canary", "rimraf": "6.0.1", "tsconfig": "workspace:*", diff --git a/packages/flags/src/next/dedupe.test.ts b/packages/flags/src/next/dedupe.test.ts index 85c2abf..9f70745 100644 --- a/packages/flags/src/next/dedupe.test.ts +++ b/packages/flags/src/next/dedupe.test.ts @@ -1,12 +1,29 @@ -import { describe, expect, it, Mock, vitest } from 'vitest'; +import { describe, expect, it, Mock, vitest, vi } from 'vitest'; import { dedupe } from './dedupe'; -import { headers } from 'next/headers'; -vitest.mock('next/headers', () => ({ - headers: vitest.fn(), -})); +const mocks = vi.hoisted(() => { + return { + headers: vi.fn(async () => new Headers()), + cookies: vi.fn(async () => ({ + get: vi.fn(), + })), + }; +}); + +vi.mock('next/headers', async (importOriginal) => { + const mod = await importOriginal(); + return { + ...mod, + // replace some exports + headers: mocks.headers, + cookies: mocks.cookies, + }; +}); -const headersMock = headers as Mock; +async function getHeadersMock() { + const headersMock = await import('next/headers').then((mod) => mod.headers); + return headersMock as Mock; +} describe('dedupe', () => { describe('no arguments', () => { @@ -14,6 +31,7 @@ describe('dedupe', () => { const fn = vitest.fn(); const deduped = dedupe(fn); const same = new Headers(); + const headersMock = await getHeadersMock(); headersMock.mockReturnValue(same); await deduped(); @@ -27,7 +45,7 @@ describe('dedupe', () => { const deduped = dedupe(fn); const same = new Headers(); const different = new Headers(); - + const headersMock = await getHeadersMock(); headersMock.mockReturnValueOnce(same); await deduped(); @@ -43,6 +61,7 @@ describe('dedupe', () => { const fn = vitest.fn(); const deduped = dedupe(fn); const same = new Headers(); + const headersMock = await getHeadersMock(); headersMock.mockReturnValue(same); await deduped(1, 'a'); @@ -56,7 +75,7 @@ describe('dedupe', () => { const deduped = dedupe(fn); const same = new Headers(); const different = new Headers(); - + const headersMock = await getHeadersMock(); headersMock.mockReturnValueOnce(same); await deduped(1, 'a'); @@ -72,6 +91,7 @@ describe('dedupe', () => { const fn = vitest.fn(); const deduped = dedupe(fn); const same = new Headers(); + const headersMock = await getHeadersMock(); headersMock.mockReturnValue(same); await deduped(1); @@ -84,6 +104,7 @@ describe('dedupe', () => { const fn = vitest.fn(); const deduped = dedupe(fn); const same = new Headers(); + const headersMock = await getHeadersMock(); headersMock.mockReturnValue(same); await deduped(1); @@ -98,6 +119,7 @@ describe('dedupe', () => { const fn = vitest.fn(); const deduped = dedupe(fn); const same = new Headers(); + const headersMock = await getHeadersMock(); headersMock.mockReturnValue(same); const obj1 = { a: 1 }; @@ -111,6 +133,7 @@ describe('dedupe', () => { const fn = vitest.fn(); const deduped = dedupe(fn); const same = new Headers(); + const headersMock = await getHeadersMock(); headersMock.mockReturnValue(same); await deduped({ a: 1 }); @@ -124,6 +147,7 @@ describe('dedupe', () => { const fn = vitest.fn(); const deduped = dedupe(fn); const same = new Headers(); + const headersMock = await getHeadersMock(); headersMock.mockReturnValue(same); const obj1 = { a: 1 }; @@ -143,6 +167,7 @@ describe('dedupe', () => { const deduped = dedupe(fn); const same = new Headers(); const someFn = () => 1; + const headersMock = await getHeadersMock(); headersMock.mockReturnValue(same); await deduped(someFn); @@ -156,6 +181,7 @@ describe('dedupe', () => { const same = new Headers(); const someFn = () => 1; const someOtherFn = () => 2; + const headersMock = await getHeadersMock(); headersMock.mockReturnValue(same); await deduped(someFn); @@ -177,6 +203,7 @@ describe('dedupe', () => { const fn = vitest.fn(() => promise); const deduped = dedupe(fn); const same = new Headers(); + const headersMock = await getHeadersMock(); headersMock.mockReturnValue(same); const result1Promise = deduped(); @@ -194,6 +221,8 @@ describe('dedupe', () => { throw new Error('resolvePromise not implemented'); }; + const headersMock = await getHeadersMock(); + const promise = new Promise((resolve, reject) => { rejectPromise = reject; }); @@ -203,13 +232,18 @@ describe('dedupe', () => { const same = new Headers(); headersMock.mockReturnValue(same); - const result1Promise = deduped(); - const result2Promise = deduped(); - rejectPromise(1); - await expect(deduped()).rejects.toBe(1); + const result1Promise = expect(deduped()).rejects.toBe('artificial error'); + const result2Promise = expect(deduped()).rejects.toBe('artificial error'); + + rejectPromise('artificial error'); + + // prevent unhandled promise rejection + await promise.catch(() => {}); + + await expect(deduped()).rejects.toBe('artificial error'); + + await Promise.allSettled([result1Promise, result2Promise]); - await expect(result1Promise).rejects.toBe(1); - await expect(result2Promise).rejects.toBe(1); expect(fn).toHaveBeenCalledTimes(1); }); }); diff --git a/packages/flags/src/next/dedupe.ts b/packages/flags/src/next/dedupe.ts index 7f7781b..ac879ab 100644 --- a/packages/flags/src/next/dedupe.ts +++ b/packages/flags/src/next/dedupe.ts @@ -1,5 +1,3 @@ -import { headers } from 'next/headers'; - enum Status { UNTERMINATED = 0, TERMINATED = 1, @@ -45,6 +43,10 @@ export function dedupe, T>( const requestStore = new WeakMap>(); return async function (this: unknown, ...args: A): Promise { + // async import required as turbopack errors in Pages Router + // when next/headers is imported at the top-level + const { headers } = await import('next/headers'); + const h = await headers(); let cacheNode = requestStore.get(h); if (!cacheNode) { diff --git a/packages/flags/src/next/index.test.ts b/packages/flags/src/next/index.test.ts index 4d17cc8..6f76839 100644 --- a/packages/flags/src/next/index.test.ts +++ b/packages/flags/src/next/index.test.ts @@ -169,6 +169,7 @@ describe('flag on app router', () => { // @ts-expect-error this is defined rejectPromise(new Error('custom error')); + await promise.catch(() => {}); await expect(value1).resolves.toEqual(false); expect(catchFn).not.toHaveBeenCalled(); @@ -315,6 +316,7 @@ describe('flag on pages router', () => { // @ts-expect-error this is defined rejectPromise(new Error('custom error')); + await promise.catch(() => {}); await expect(value1).resolves.toEqual(false); expect(catchFn).not.toHaveBeenCalled(); diff --git a/packages/flags/src/next/index.ts b/packages/flags/src/next/index.ts index c40dd4d..6cc0521 100644 --- a/packages/flags/src/next/index.ts +++ b/packages/flags/src/next/index.ts @@ -1,4 +1,3 @@ -import { headers, cookies } from 'next/headers'; import { RequestCookies } from '@edge-runtime/cookies'; import { type FlagDefinitionType, @@ -225,6 +224,11 @@ function getRun( dedupeCacheKey = options.request.headers; } else { // app router + + // async import required as turbopack errors in Pages Router + // when next/headers is imported at the top-level + const { headers, cookies } = await import('next/headers'); + const [headersStore, cookiesStore] = await Promise.all([ headers(), cookies(), diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6719018..35d78e5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -55,13 +55,13 @@ importers: dependencies: '@heroicons/react': specifier: 2.1.1 - version: 2.1.1(react@19.1.0-canary-d4287258-20241217) + version: 2.1.1(react@19.1.0-canary-74ea0c73-20250109) '@vercel/flags': specifier: workspace:* version: link:../../packages/flags '@vercel/toolbar': specifier: ^0.1.7 - version: 0.1.27(next@15.0.3-canary.9)(react@19.1.0-canary-d4287258-20241217) + version: 0.1.27(next@15.0.3-canary.9)(react@19.1.0-canary-74ea0c73-20250109) clsx: specifier: 2.0.0 version: 2.0.0 @@ -79,13 +79,13 @@ importers: version: 5.9.6 next: specifier: 15.0.3-canary.9 - version: 15.0.3-canary.9(@babel/core@7.26.0)(react-dom@19.1.0-canary-d4287258-20241217)(react@19.1.0-canary-d4287258-20241217) + version: 15.0.3-canary.9(@babel/core@7.26.0)(react-dom@19.1.0-canary-74ea0c73-20250109)(react@19.1.0-canary-74ea0c73-20250109) react: specifier: canary - version: 19.1.0-canary-d4287258-20241217 + version: 19.1.0-canary-74ea0c73-20250109 react-dom: specifier: canary - version: 19.1.0-canary-d4287258-20241217(react@19.1.0-canary-d4287258-20241217) + version: 19.1.0-canary-74ea0c73-20250109(react@19.1.0-canary-74ea0c73-20250109) devDependencies: '@tailwindcss/forms': specifier: 0.5.7 @@ -137,16 +137,16 @@ importers: dependencies: '@radix-ui/react-dialog': specifier: 1.1.2 - version: 1.1.2(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-66855b96-20241106)(react@19.0.0-rc-66855b96-20241106) + version: 1.1.2(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-02c0e824-20241028)(react@19.0.0-rc-02c0e824-20241028) '@radix-ui/react-separator': specifier: 1.1.0 - version: 1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-66855b96-20241106)(react@19.0.0-rc-66855b96-20241106) + version: 1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-02c0e824-20241028)(react@19.0.0-rc-02c0e824-20241028) '@radix-ui/react-slot': specifier: 1.1.0 - version: 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106) + version: 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028) '@radix-ui/react-tooltip': specifier: 1.1.4 - version: 1.1.4(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-66855b96-20241106)(react@19.0.0-rc-66855b96-20241106) + version: 1.1.4(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-02c0e824-20241028)(react@19.0.0-rc-02c0e824-20241028) '@vercel/edge-config': specifier: 1.2.0 version: 1.2.0 @@ -155,7 +155,7 @@ importers: version: link:../../packages/flags '@vercel/toolbar': specifier: 0.1.27 - version: 0.1.27(next@15.0.3)(react@19.0.0-rc-66855b96-20241106) + version: 0.1.27(next@15.1.4)(react@19.0.0-rc-02c0e824-20241028) class-variance-authority: specifier: 0.7.1 version: 0.7.1 @@ -166,14 +166,14 @@ importers: specifier: 5.0.7 version: 5.0.7 next: - specifier: 15.0.3 - version: 15.0.3(@babel/core@7.26.0)(react-dom@19.0.0-rc-66855b96-20241106)(react@19.0.0-rc-66855b96-20241106) + specifier: 15.1.4 + version: 15.1.4(@babel/core@7.26.0)(@playwright/test@1.48.2)(react-dom@19.0.0-rc-02c0e824-20241028)(react@19.0.0-rc-02c0e824-20241028) react: - specifier: 19.0.0-rc-66855b96-20241106 - version: 19.0.0-rc-66855b96-20241106 + specifier: 19.0.0-rc-02c0e824-20241028 + version: 19.0.0-rc-02c0e824-20241028 react-dom: - specifier: 19.0.0-rc-66855b96-20241106 - version: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) + specifier: 19.0.0-rc-02c0e824-20241028 + version: 19.0.0-rc-02c0e824-20241028(react@19.0.0-rc-02c0e824-20241028) tailwind-merge: specifier: 2.5.5 version: 2.5.5 @@ -323,7 +323,7 @@ importers: dependencies: '@happykit/flags': specifier: 3.3.0 - version: 3.3.0(next@15.0.3)(react@18.3.1) + version: 3.3.0(next@15.1.4)(react@18.3.1) devDependencies: '@types/node': specifier: 20.11.17 @@ -540,7 +540,7 @@ importers: version: 5.9.6 react-dom: specifier: '*' - version: 19.0.0(react@19.1.0-canary-d4287258-20241217) + version: 19.0.0(react@19.1.0-canary-74ea0c73-20250109) devDependencies: '@types/node': specifier: 20.11.17 @@ -558,11 +558,11 @@ importers: specifier: 2.6.4 version: 2.6.4(@types/node@20.11.17)(typescript@5.6.3) next: - specifier: 15.0.3 - version: 15.0.3(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@19.0.0)(react@19.1.0-canary-d4287258-20241217) + specifier: 15.1.4 + version: 15.1.4(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@19.0.0)(react@19.1.0-canary-74ea0c73-20250109) react: specifier: canary - version: 19.1.0-canary-d4287258-20241217 + version: 19.1.0-canary-74ea0c73-20250109 rimraf: specifier: 6.0.1 version: 6.0.1 @@ -665,8 +665,8 @@ importers: specifier: workspace:* version: link:../../packages/flags next: - specifier: 15.0.3 - version: 15.0.3(@babel/core@7.26.0)(@playwright/test@1.48.2)(react-dom@19.0.0-rc-02c0e824-20241028)(react@19.0.0-rc-02c0e824-20241028) + specifier: 15.1.4 + version: 15.1.4(@babel/core@7.26.0)(@playwright/test@1.48.2)(react-dom@19.0.0-rc-02c0e824-20241028)(react@19.0.0-rc-02c0e824-20241028) react: specifier: 19.0.0-rc-02c0e824-20241028 version: 19.0.0-rc-02c0e824-20241028 @@ -1591,29 +1591,29 @@ packages: '@floating-ui/utils': 0.2.8 dev: false - /@floating-ui/react-dom@2.1.2(react-dom@19.0.0-rc-66855b96-20241106)(react@19.0.0-rc-66855b96-20241106): + /@floating-ui/react-dom@2.1.2(react-dom@19.0.0-rc-02c0e824-20241028)(react@19.0.0-rc-02c0e824-20241028): resolution: {integrity: sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' dependencies: '@floating-ui/dom': 1.6.12 - react: 19.0.0-rc-66855b96-20241106 - react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) + react: 19.0.0-rc-02c0e824-20241028 + react-dom: 19.0.0-rc-02c0e824-20241028(react@19.0.0-rc-02c0e824-20241028) dev: false /@floating-ui/utils@0.2.8: resolution: {integrity: sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==} dev: false - /@happykit/flags@3.3.0(next@15.0.3)(react@18.3.1): + /@happykit/flags@3.3.0(next@15.1.4)(react@18.3.1): resolution: {integrity: sha512-QyywkKYctdo0bnNf+bBd+3B/3Rsnjdaz+jtVA+jSqLxm0/lw51Z1+q2sEfc62MyNwQnY6w7eqajdwhuvH3VWAw==} peerDependencies: next: '>=12.0.2' react: '>=16.13.1' dependencies: nanoid: 3.2.0 - next: 15.0.3(@babel/core@7.26.0)(react-dom@18.3.1)(react@18.3.1) + next: 15.1.4(@babel/core@7.26.0)(react-dom@18.3.1)(react@18.3.1) react: 18.3.1 dev: false @@ -1638,12 +1638,12 @@ packages: react: 18.3.1 dev: false - /@heroicons/react@2.1.1(react@19.1.0-canary-d4287258-20241217): + /@heroicons/react@2.1.1(react@19.1.0-canary-74ea0c73-20250109): resolution: {integrity: sha512-JyyN9Lo66kirbCMuMMRPtJxtKJoIsXKS569ebHGGRKbl8s4CtUfLnyKJxteA+vIKySocO4s1SkTkGS4xtG/yEA==} peerDependencies: react: '>= 16' dependencies: - react: 19.1.0-canary-d4287258-20241217 + react: 19.1.0-canary-74ea0c73-20250109 dev: false /@humanwhocodes/config-array@0.11.14: @@ -2171,11 +2171,15 @@ packages: /@next/env@15.0.3: resolution: {integrity: sha512-t9Xy32pjNOvVn2AS+Utt6VmyrshbpfUMhIjFO60gI58deSo/KgLOp31XZ4O+kY/Is8WAGYwA5gR7kOb1eORDBA==} + dev: false /@next/env@15.0.3-canary.9: resolution: {integrity: sha512-vf6OEva1LFT9inyudDrkZ+uP91Qaqd1cmaze5tYtQeEwGI+rmWrAouMgOMfvnz33BqkV1AUzbm11VE6ZueaPMg==} dev: false + /@next/env@15.1.4: + resolution: {integrity: sha512-2fZ5YZjedi5AGaeoaC0B20zGntEHRhi2SdWcu61i48BllODcAmmtj8n7YarSPt4DaTsJaBFdxQAVEVzgmx2Zpw==} + /@next/eslint-plugin-next@14.0.4: resolution: {integrity: sha512-U3qMNHmEZoVmHA0j/57nRfi3AscXNvkOnxDmle/69Jz/G0o/gWjXTDdlgILZdrxQ0Lw/jv2mPW8PGy0EGIHXhQ==} dependencies: @@ -2212,6 +2216,7 @@ packages: cpu: [arm64] os: [darwin] requiresBuild: true + dev: false optional: true /@next/swc-darwin-arm64@15.0.3-canary.9: @@ -2223,6 +2228,14 @@ packages: dev: false optional: true + /@next/swc-darwin-arm64@15.1.4: + resolution: {integrity: sha512-wBEMBs+np+R5ozN1F8Y8d/Dycns2COhRnkxRc+rvnbXke5uZBHkUGFgWxfTXn5rx7OLijuUhyfB+gC/ap58dDw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + optional: true + /@next/swc-darwin-x64@13.5.7: resolution: {integrity: sha512-6iENvgyIkGFLFszBL4b1VfEogKC3TDPEB6/P/lgxmgXVXIV09Q4or1MVn+U/tYyYmm7oHMZ3oxGpHAyJ80nA6g==} engines: {node: '>= 10'} @@ -2247,6 +2260,7 @@ packages: cpu: [x64] os: [darwin] requiresBuild: true + dev: false optional: true /@next/swc-darwin-x64@15.0.3-canary.9: @@ -2258,6 +2272,14 @@ packages: dev: false optional: true + /@next/swc-darwin-x64@15.1.4: + resolution: {integrity: sha512-7sgf5rM7Z81V9w48F02Zz6DgEJulavC0jadab4ZsJ+K2sxMNK0/BtF8J8J3CxnsJN3DGcIdC260wEKssKTukUw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + requiresBuild: true + optional: true + /@next/swc-linux-arm64-gnu@13.5.7: resolution: {integrity: sha512-P42jDX56wu9zEdVI+Xv4zyTeXB3DpqgE1Gb4bWrc0s2RIiDYr6uKBprnOs1hCGIwfVyByxyTw5Va66QCdFFNUg==} engines: {node: '>= 10'} @@ -2282,6 +2304,7 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true + dev: false optional: true /@next/swc-linux-arm64-gnu@15.0.3-canary.9: @@ -2293,6 +2316,14 @@ packages: dev: false optional: true + /@next/swc-linux-arm64-gnu@15.1.4: + resolution: {integrity: sha512-JaZlIMNaJenfd55kjaLWMfok+vWBlcRxqnRoZrhFQrhM1uAehP3R0+Aoe+bZOogqlZvAz53nY/k3ZyuKDtT2zQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + optional: true + /@next/swc-linux-arm64-musl@13.5.7: resolution: {integrity: sha512-A06vkj+8X+tLRzSja5REm/nqVOCzR+x5Wkw325Q/BQRyRXWGCoNbQ6A+BR5M86TodigrRfI3lUZEKZKe3QJ9Bg==} engines: {node: '>= 10'} @@ -2317,6 +2348,7 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true + dev: false optional: true /@next/swc-linux-arm64-musl@15.0.3-canary.9: @@ -2328,6 +2360,14 @@ packages: dev: false optional: true + /@next/swc-linux-arm64-musl@15.1.4: + resolution: {integrity: sha512-7EBBjNoyTO2ipMDgCiORpwwOf5tIueFntKjcN3NK+GAQD7OzFJe84p7a2eQUeWdpzZvhVXuAtIen8QcH71ZCOQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + optional: true + /@next/swc-linux-x64-gnu@13.5.7: resolution: {integrity: sha512-UdHm7AlxIbdRdMsK32cH0EOX4OmzAZ4Xm+UVlS0YdvwLkI3pb7AoBEoVMG5H0Wj6Wpz6GNkrFguHTRLymTy6kw==} engines: {node: '>= 10'} @@ -2352,6 +2392,7 @@ packages: cpu: [x64] os: [linux] requiresBuild: true + dev: false optional: true /@next/swc-linux-x64-gnu@15.0.3-canary.9: @@ -2363,6 +2404,14 @@ packages: dev: false optional: true + /@next/swc-linux-x64-gnu@15.1.4: + resolution: {integrity: sha512-9TGEgOycqZFuADyFqwmK/9g6S0FYZ3tphR4ebcmCwhL8Y12FW8pIBKJvSwV+UBjMkokstGNH+9F8F031JZKpHw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + optional: true + /@next/swc-linux-x64-musl@13.5.7: resolution: {integrity: sha512-c50Y8xBKU16ZGj038H6C13iedRglxvdQHD/1BOtes56gwUrIRDX2Nkzn3mYtpz3Wzax0gfAF9C0Nqljt93IxvA==} engines: {node: '>= 10'} @@ -2387,6 +2436,7 @@ packages: cpu: [x64] os: [linux] requiresBuild: true + dev: false optional: true /@next/swc-linux-x64-musl@15.0.3-canary.9: @@ -2398,6 +2448,14 @@ packages: dev: false optional: true + /@next/swc-linux-x64-musl@15.1.4: + resolution: {integrity: sha512-0578bLRVDJOh+LdIoKvgNDz77+Bd85c5JrFgnlbI1SM3WmEQvsjxTA8ATu9Z9FCiIS/AliVAW2DV/BDwpXbtiQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + optional: true + /@next/swc-win32-arm64-msvc@13.5.7: resolution: {integrity: sha512-NcUx8cmkA+JEp34WNYcKW6kW2c0JBhzJXIbw+9vKkt9m/zVJ+KfizlqmoKf04uZBtzFN6aqE2Fyv2MOd021WIA==} engines: {node: '>= 10'} @@ -2422,6 +2480,7 @@ packages: cpu: [arm64] os: [win32] requiresBuild: true + dev: false optional: true /@next/swc-win32-arm64-msvc@15.0.3-canary.9: @@ -2433,6 +2492,14 @@ packages: dev: false optional: true + /@next/swc-win32-arm64-msvc@15.1.4: + resolution: {integrity: sha512-JgFCiV4libQavwII+kncMCl30st0JVxpPOtzWcAI2jtum4HjYaclobKhj+JsRu5tFqMtA5CJIa0MvYyuu9xjjQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + requiresBuild: true + optional: true + /@next/swc-win32-ia32-msvc@13.5.7: resolution: {integrity: sha512-wXp+/3NVcuyJDED6gJiLXs5dqHaWO7moAB6aBtjlKZvsxBDxpcyjsfRbtHPeYtaT20zCkmPs69H0K25lrVZmlA==} engines: {node: '>= 10'} @@ -2475,6 +2542,7 @@ packages: cpu: [x64] os: [win32] requiresBuild: true + dev: false optional: true /@next/swc-win32-x64-msvc@15.0.3-canary.9: @@ -2486,6 +2554,14 @@ packages: dev: false optional: true + /@next/swc-win32-x64-msvc@15.1.4: + resolution: {integrity: sha512-xxsJy9wzq7FR5SqPCUqdgSXiNXrMuidgckBa8nH9HtjjxsilgcN6VgXF6tZ3uEWuVEadotQJI8/9EQ6guTC4Yw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + requiresBuild: true + optional: true + /@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1: resolution: {integrity: sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==} dependencies: @@ -2556,7 +2632,7 @@ packages: resolution: {integrity: sha512-4Z8dn6Upk0qk4P74xBhZ6Hd/w0mPEzOOLxy4xiPXOXqjF7jZS0VAKk7/x/H6FyY2zCkYJqePf1G5KmkmNJ4RBA==} dev: false - /@radix-ui/react-arrow@1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-66855b96-20241106)(react@19.0.0-rc-66855b96-20241106): + /@radix-ui/react-arrow@1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-02c0e824-20241028)(react@19.0.0-rc-02c0e824-20241028): resolution: {integrity: sha512-FmlW1rCg7hBpEBwFbjHwCW6AmWLQM6g/v0Sn8XbP9NvmSZ2San1FpQeyPtufzOMSIx7Y4dzjlHoifhp+7NkZhw==} peerDependencies: '@types/react': '*' @@ -2569,14 +2645,14 @@ packages: '@types/react-dom': optional: true dependencies: - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-66855b96-20241106)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-02c0e824-20241028)(react@19.0.0-rc-02c0e824-20241028) '@types/react': 18.2.55 '@types/react-dom': 18.2.18 - react: 19.0.0-rc-66855b96-20241106 - react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) + react: 19.0.0-rc-02c0e824-20241028 + react-dom: 19.0.0-rc-02c0e824-20241028(react@19.0.0-rc-02c0e824-20241028) dev: false - /@radix-ui/react-compose-refs@1.1.0(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106): + /@radix-ui/react-compose-refs@1.1.0(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028): resolution: {integrity: sha512-b4inOtiaOnYf9KWyO3jAeeCG6FeyfY6ldiEPanbUjWd+xIk5wZeHa8yVwmrJ2vderhu/BQvzCrJI0lHd+wIiqw==} peerDependencies: '@types/react': '*' @@ -2586,10 +2662,10 @@ packages: optional: true dependencies: '@types/react': 18.2.55 - react: 19.0.0-rc-66855b96-20241106 + react: 19.0.0-rc-02c0e824-20241028 dev: false - /@radix-ui/react-context@1.1.0(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106): + /@radix-ui/react-context@1.1.0(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028): resolution: {integrity: sha512-OKrckBy+sMEgYM/sMmqmErVn0kZqrHPJze+Ql3DzYsDDp0hl0L62nx/2122/Bvps1qz645jlcu2tD9lrRSdf8A==} peerDependencies: '@types/react': '*' @@ -2599,10 +2675,10 @@ packages: optional: true dependencies: '@types/react': 18.2.55 - react: 19.0.0-rc-66855b96-20241106 + react: 19.0.0-rc-02c0e824-20241028 dev: false - /@radix-ui/react-context@1.1.1(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106): + /@radix-ui/react-context@1.1.1(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028): resolution: {integrity: sha512-UASk9zi+crv9WteK/NU4PLvOoL3OuE6BWVKNF6hPRBtYBDXQ2u5iu3O59zUlJiTVvkyuycnqrztsHVJwcK9K+Q==} peerDependencies: '@types/react': '*' @@ -2612,10 +2688,10 @@ packages: optional: true dependencies: '@types/react': 18.2.55 - react: 19.0.0-rc-66855b96-20241106 + react: 19.0.0-rc-02c0e824-20241028 dev: false - /@radix-ui/react-dialog@1.1.2(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-66855b96-20241106)(react@19.0.0-rc-66855b96-20241106): + /@radix-ui/react-dialog@1.1.2(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-02c0e824-20241028)(react@19.0.0-rc-02c0e824-20241028): resolution: {integrity: sha512-Yj4dZtqa2o+kG61fzB0H2qUvmwBA2oyQroGLyNtBj1beo1khoQ3q1a2AO8rrQYjd8256CO9+N8L9tvsS+bnIyA==} peerDependencies: '@types/react': '*' @@ -2629,26 +2705,26 @@ packages: optional: true dependencies: '@radix-ui/primitive': 1.1.0 - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-context': 1.1.1(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-dismissable-layer': 1.1.1(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-66855b96-20241106)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-focus-scope': 1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-66855b96-20241106)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-id': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-portal': 1.1.2(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-66855b96-20241106)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-presence': 1.1.1(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-66855b96-20241106)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-66855b96-20241106)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-slot': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028) + '@radix-ui/react-context': 1.1.1(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028) + '@radix-ui/react-dismissable-layer': 1.1.1(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-02c0e824-20241028)(react@19.0.0-rc-02c0e824-20241028) + '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028) + '@radix-ui/react-focus-scope': 1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-02c0e824-20241028)(react@19.0.0-rc-02c0e824-20241028) + '@radix-ui/react-id': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028) + '@radix-ui/react-portal': 1.1.2(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-02c0e824-20241028)(react@19.0.0-rc-02c0e824-20241028) + '@radix-ui/react-presence': 1.1.1(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-02c0e824-20241028)(react@19.0.0-rc-02c0e824-20241028) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-02c0e824-20241028)(react@19.0.0-rc-02c0e824-20241028) + '@radix-ui/react-slot': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028) '@types/react': 18.2.55 '@types/react-dom': 18.2.18 aria-hidden: 1.2.4 - react: 19.0.0-rc-66855b96-20241106 - react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) - react-remove-scroll: 2.6.0(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106) + react: 19.0.0-rc-02c0e824-20241028 + react-dom: 19.0.0-rc-02c0e824-20241028(react@19.0.0-rc-02c0e824-20241028) + react-remove-scroll: 2.6.0(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028) dev: false - /@radix-ui/react-dismissable-layer@1.1.1(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-66855b96-20241106)(react@19.0.0-rc-66855b96-20241106): + /@radix-ui/react-dismissable-layer@1.1.1(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-02c0e824-20241028)(react@19.0.0-rc-02c0e824-20241028): resolution: {integrity: sha512-QSxg29lfr/xcev6kSz7MAlmDnzbP1eI/Dwn3Tp1ip0KT5CUELsxkekFEMVBEoykI3oV39hKT4TKZzBNMbcTZYQ==} peerDependencies: '@types/react': '*' @@ -2662,17 +2738,17 @@ packages: optional: true dependencies: '@radix-ui/primitive': 1.1.0 - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-66855b96-20241106)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-02c0e824-20241028)(react@19.0.0-rc-02c0e824-20241028) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028) + '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028) '@types/react': 18.2.55 '@types/react-dom': 18.2.18 - react: 19.0.0-rc-66855b96-20241106 - react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) + react: 19.0.0-rc-02c0e824-20241028 + react-dom: 19.0.0-rc-02c0e824-20241028(react@19.0.0-rc-02c0e824-20241028) dev: false - /@radix-ui/react-focus-guards@1.1.1(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106): + /@radix-ui/react-focus-guards@1.1.1(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028): resolution: {integrity: sha512-pSIwfrT1a6sIoDASCSpFwOasEwKTZWDw/iBdtnqKO7v6FeOzYJ7U53cPzYFVR3geGGXgVHaH+CdngrrAzqUGxg==} peerDependencies: '@types/react': '*' @@ -2682,10 +2758,10 @@ packages: optional: true dependencies: '@types/react': 18.2.55 - react: 19.0.0-rc-66855b96-20241106 + react: 19.0.0-rc-02c0e824-20241028 dev: false - /@radix-ui/react-focus-scope@1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-66855b96-20241106)(react@19.0.0-rc-66855b96-20241106): + /@radix-ui/react-focus-scope@1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-02c0e824-20241028)(react@19.0.0-rc-02c0e824-20241028): resolution: {integrity: sha512-200UD8zylvEyL8Bx+z76RJnASR2gRMuxlgFCPAe/Q/679a/r0eK3MBVYMb7vZODZcffZBdob1EGnky78xmVvcA==} peerDependencies: '@types/react': '*' @@ -2698,16 +2774,16 @@ packages: '@types/react-dom': optional: true dependencies: - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-66855b96-20241106)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-02c0e824-20241028)(react@19.0.0-rc-02c0e824-20241028) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028) '@types/react': 18.2.55 '@types/react-dom': 18.2.18 - react: 19.0.0-rc-66855b96-20241106 - react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) + react: 19.0.0-rc-02c0e824-20241028 + react-dom: 19.0.0-rc-02c0e824-20241028(react@19.0.0-rc-02c0e824-20241028) dev: false - /@radix-ui/react-id@1.1.0(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106): + /@radix-ui/react-id@1.1.0(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028): resolution: {integrity: sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA==} peerDependencies: '@types/react': '*' @@ -2716,12 +2792,12 @@ packages: '@types/react': optional: true dependencies: - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028) '@types/react': 18.2.55 - react: 19.0.0-rc-66855b96-20241106 + react: 19.0.0-rc-02c0e824-20241028 dev: false - /@radix-ui/react-popper@1.2.0(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-66855b96-20241106)(react@19.0.0-rc-66855b96-20241106): + /@radix-ui/react-popper@1.2.0(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-02c0e824-20241028)(react@19.0.0-rc-02c0e824-20241028): resolution: {integrity: sha512-ZnRMshKF43aBxVWPWvbj21+7TQCvhuULWJ4gNIKYpRlQt5xGRhLx66tMp8pya2UkGHTSlhpXwmjqltDYHhw7Vg==} peerDependencies: '@types/react': '*' @@ -2734,23 +2810,23 @@ packages: '@types/react-dom': optional: true dependencies: - '@floating-ui/react-dom': 2.1.2(react-dom@19.0.0-rc-66855b96-20241106)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-arrow': 1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-66855b96-20241106)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-context': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-66855b96-20241106)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-rect': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-size': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106) + '@floating-ui/react-dom': 2.1.2(react-dom@19.0.0-rc-02c0e824-20241028)(react@19.0.0-rc-02c0e824-20241028) + '@radix-ui/react-arrow': 1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-02c0e824-20241028)(react@19.0.0-rc-02c0e824-20241028) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028) + '@radix-ui/react-context': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-02c0e824-20241028)(react@19.0.0-rc-02c0e824-20241028) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028) + '@radix-ui/react-use-rect': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028) + '@radix-ui/react-use-size': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028) '@radix-ui/rect': 1.1.0 '@types/react': 18.2.55 '@types/react-dom': 18.2.18 - react: 19.0.0-rc-66855b96-20241106 - react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) + react: 19.0.0-rc-02c0e824-20241028 + react-dom: 19.0.0-rc-02c0e824-20241028(react@19.0.0-rc-02c0e824-20241028) dev: false - /@radix-ui/react-portal@1.1.2(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-66855b96-20241106)(react@19.0.0-rc-66855b96-20241106): + /@radix-ui/react-portal@1.1.2(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-02c0e824-20241028)(react@19.0.0-rc-02c0e824-20241028): resolution: {integrity: sha512-WeDYLGPxJb/5EGBoedyJbT0MpoULmwnIPMJMSldkuiMsBAv7N1cRdsTWZWht9vpPOiN3qyiGAtbK2is47/uMFg==} peerDependencies: '@types/react': '*' @@ -2763,15 +2839,15 @@ packages: '@types/react-dom': optional: true dependencies: - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-66855b96-20241106)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-02c0e824-20241028)(react@19.0.0-rc-02c0e824-20241028) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028) '@types/react': 18.2.55 '@types/react-dom': 18.2.18 - react: 19.0.0-rc-66855b96-20241106 - react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) + react: 19.0.0-rc-02c0e824-20241028 + react-dom: 19.0.0-rc-02c0e824-20241028(react@19.0.0-rc-02c0e824-20241028) dev: false - /@radix-ui/react-presence@1.1.1(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-66855b96-20241106)(react@19.0.0-rc-66855b96-20241106): + /@radix-ui/react-presence@1.1.1(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-02c0e824-20241028)(react@19.0.0-rc-02c0e824-20241028): resolution: {integrity: sha512-IeFXVi4YS1K0wVZzXNrbaaUvIJ3qdY+/Ih4eHFhWA9SwGR9UDX7Ck8abvL57C4cv3wwMvUE0OG69Qc3NCcTe/A==} peerDependencies: '@types/react': '*' @@ -2784,15 +2860,15 @@ packages: '@types/react-dom': optional: true dependencies: - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028) '@types/react': 18.2.55 '@types/react-dom': 18.2.18 - react: 19.0.0-rc-66855b96-20241106 - react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) + react: 19.0.0-rc-02c0e824-20241028 + react-dom: 19.0.0-rc-02c0e824-20241028(react@19.0.0-rc-02c0e824-20241028) dev: false - /@radix-ui/react-primitive@2.0.0(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-66855b96-20241106)(react@19.0.0-rc-66855b96-20241106): + /@radix-ui/react-primitive@2.0.0(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-02c0e824-20241028)(react@19.0.0-rc-02c0e824-20241028): resolution: {integrity: sha512-ZSpFm0/uHa8zTvKBDjLFWLo8dkr4MBsiDLz0g3gMUwqgLHz9rTaRRGYDgvZPtBJgYCBKXkS9fzmoySgr8CO6Cw==} peerDependencies: '@types/react': '*' @@ -2805,14 +2881,14 @@ packages: '@types/react-dom': optional: true dependencies: - '@radix-ui/react-slot': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-slot': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028) '@types/react': 18.2.55 '@types/react-dom': 18.2.18 - react: 19.0.0-rc-66855b96-20241106 - react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) + react: 19.0.0-rc-02c0e824-20241028 + react-dom: 19.0.0-rc-02c0e824-20241028(react@19.0.0-rc-02c0e824-20241028) dev: false - /@radix-ui/react-separator@1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-66855b96-20241106)(react@19.0.0-rc-66855b96-20241106): + /@radix-ui/react-separator@1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-02c0e824-20241028)(react@19.0.0-rc-02c0e824-20241028): resolution: {integrity: sha512-3uBAs+egzvJBDZAzvb/n4NxxOYpnspmWxO2u5NbZ8Y6FM/NdrGSF9bop3Cf6F6C71z1rTSn8KV0Fo2ZVd79lGA==} peerDependencies: '@types/react': '*' @@ -2825,14 +2901,14 @@ packages: '@types/react-dom': optional: true dependencies: - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-66855b96-20241106)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-02c0e824-20241028)(react@19.0.0-rc-02c0e824-20241028) '@types/react': 18.2.55 '@types/react-dom': 18.2.18 - react: 19.0.0-rc-66855b96-20241106 - react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) + react: 19.0.0-rc-02c0e824-20241028 + react-dom: 19.0.0-rc-02c0e824-20241028(react@19.0.0-rc-02c0e824-20241028) dev: false - /@radix-ui/react-slot@1.1.0(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106): + /@radix-ui/react-slot@1.1.0(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028): resolution: {integrity: sha512-FUCf5XMfmW4dtYl69pdS4DbxKy8nj4M7SafBgPllysxmdachynNflAdp/gCsnYWNDnge6tI9onzMp5ARYc1KNw==} peerDependencies: '@types/react': '*' @@ -2841,12 +2917,12 @@ packages: '@types/react': optional: true dependencies: - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028) '@types/react': 18.2.55 - react: 19.0.0-rc-66855b96-20241106 + react: 19.0.0-rc-02c0e824-20241028 dev: false - /@radix-ui/react-tooltip@1.1.4(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-66855b96-20241106)(react@19.0.0-rc-66855b96-20241106): + /@radix-ui/react-tooltip@1.1.4(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-02c0e824-20241028)(react@19.0.0-rc-02c0e824-20241028): resolution: {integrity: sha512-QpObUH/ZlpaO4YgHSaYzrLO2VuO+ZBFFgGzjMUPwtiYnAzzNNDPJeEGRrT7qNOrWm/Jr08M1vlp+vTHtnSQ0Uw==} peerDependencies: '@types/react': '*' @@ -2860,24 +2936,24 @@ packages: optional: true dependencies: '@radix-ui/primitive': 1.1.0 - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-context': 1.1.1(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-dismissable-layer': 1.1.1(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-66855b96-20241106)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-id': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-popper': 1.2.0(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-66855b96-20241106)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-portal': 1.1.2(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-66855b96-20241106)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-presence': 1.1.1(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-66855b96-20241106)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-66855b96-20241106)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-slot': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-visually-hidden': 1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-66855b96-20241106)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028) + '@radix-ui/react-context': 1.1.1(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028) + '@radix-ui/react-dismissable-layer': 1.1.1(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-02c0e824-20241028)(react@19.0.0-rc-02c0e824-20241028) + '@radix-ui/react-id': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028) + '@radix-ui/react-popper': 1.2.0(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-02c0e824-20241028)(react@19.0.0-rc-02c0e824-20241028) + '@radix-ui/react-portal': 1.1.2(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-02c0e824-20241028)(react@19.0.0-rc-02c0e824-20241028) + '@radix-ui/react-presence': 1.1.1(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-02c0e824-20241028)(react@19.0.0-rc-02c0e824-20241028) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-02c0e824-20241028)(react@19.0.0-rc-02c0e824-20241028) + '@radix-ui/react-slot': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028) + '@radix-ui/react-visually-hidden': 1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-02c0e824-20241028)(react@19.0.0-rc-02c0e824-20241028) '@types/react': 18.2.55 '@types/react-dom': 18.2.18 - react: 19.0.0-rc-66855b96-20241106 - react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) + react: 19.0.0-rc-02c0e824-20241028 + react-dom: 19.0.0-rc-02c0e824-20241028(react@19.0.0-rc-02c0e824-20241028) dev: false - /@radix-ui/react-use-callback-ref@1.1.0(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106): + /@radix-ui/react-use-callback-ref@1.1.0(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028): resolution: {integrity: sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw==} peerDependencies: '@types/react': '*' @@ -2887,10 +2963,10 @@ packages: optional: true dependencies: '@types/react': 18.2.55 - react: 19.0.0-rc-66855b96-20241106 + react: 19.0.0-rc-02c0e824-20241028 dev: false - /@radix-ui/react-use-controllable-state@1.1.0(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106): + /@radix-ui/react-use-controllable-state@1.1.0(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028): resolution: {integrity: sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw==} peerDependencies: '@types/react': '*' @@ -2899,12 +2975,12 @@ packages: '@types/react': optional: true dependencies: - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028) '@types/react': 18.2.55 - react: 19.0.0-rc-66855b96-20241106 + react: 19.0.0-rc-02c0e824-20241028 dev: false - /@radix-ui/react-use-escape-keydown@1.1.0(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106): + /@radix-ui/react-use-escape-keydown@1.1.0(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028): resolution: {integrity: sha512-L7vwWlR1kTTQ3oh7g1O0CBF3YCyyTj8NmhLR+phShpyA50HCfBFKVJTpshm9PzLiKmehsrQzTYTpX9HvmC9rhw==} peerDependencies: '@types/react': '*' @@ -2913,12 +2989,12 @@ packages: '@types/react': optional: true dependencies: - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028) '@types/react': 18.2.55 - react: 19.0.0-rc-66855b96-20241106 + react: 19.0.0-rc-02c0e824-20241028 dev: false - /@radix-ui/react-use-layout-effect@1.1.0(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106): + /@radix-ui/react-use-layout-effect@1.1.0(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028): resolution: {integrity: sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w==} peerDependencies: '@types/react': '*' @@ -2928,10 +3004,10 @@ packages: optional: true dependencies: '@types/react': 18.2.55 - react: 19.0.0-rc-66855b96-20241106 + react: 19.0.0-rc-02c0e824-20241028 dev: false - /@radix-ui/react-use-rect@1.1.0(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106): + /@radix-ui/react-use-rect@1.1.0(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028): resolution: {integrity: sha512-0Fmkebhr6PiseyZlYAOtLS+nb7jLmpqTrJyv61Pe68MKYW6OWdRE2kI70TaYY27u7H0lajqM3hSMMLFq18Z7nQ==} peerDependencies: '@types/react': '*' @@ -2942,10 +3018,10 @@ packages: dependencies: '@radix-ui/rect': 1.1.0 '@types/react': 18.2.55 - react: 19.0.0-rc-66855b96-20241106 + react: 19.0.0-rc-02c0e824-20241028 dev: false - /@radix-ui/react-use-size@1.1.0(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106): + /@radix-ui/react-use-size@1.1.0(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028): resolution: {integrity: sha512-XW3/vWuIXHa+2Uwcc2ABSfcCledmXhhQPlGbfcRXbiUQI5Icjcg19BGCZVKKInYbvUCut/ufbbLLPFC5cbb1hw==} peerDependencies: '@types/react': '*' @@ -2954,12 +3030,12 @@ packages: '@types/react': optional: true dependencies: - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028) '@types/react': 18.2.55 - react: 19.0.0-rc-66855b96-20241106 + react: 19.0.0-rc-02c0e824-20241028 dev: false - /@radix-ui/react-visually-hidden@1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-66855b96-20241106)(react@19.0.0-rc-66855b96-20241106): + /@radix-ui/react-visually-hidden@1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-02c0e824-20241028)(react@19.0.0-rc-02c0e824-20241028): resolution: {integrity: sha512-N8MDZqtgCgG5S3aV60INAB475osJousYpZ4cTJ2cFbMpdHS5Y6loLTH8LPtkj2QN0x93J30HT/M3qJXM0+lyeQ==} peerDependencies: '@types/react': '*' @@ -2972,11 +3048,11 @@ packages: '@types/react-dom': optional: true dependencies: - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-66855b96-20241106)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.2.18)(@types/react@18.2.55)(react-dom@19.0.0-rc-02c0e824-20241028)(react@19.0.0-rc-02c0e824-20241028) '@types/react': 18.2.55 '@types/react-dom': 18.2.18 - react: 19.0.0-rc-66855b96-20241106 - react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) + react: 19.0.0-rc-02c0e824-20241028 + react-dom: 19.0.0-rc-02c0e824-20241028(react@19.0.0-rc-02c0e824-20241028) dev: false /@radix-ui/rect@1.1.0: @@ -3248,6 +3324,12 @@ packages: resolution: {integrity: sha512-UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w==} dependencies: tslib: 2.8.1 + dev: false + + /@swc/helpers@0.5.15: + resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} + dependencies: + tslib: 2.8.1 /@swc/helpers@0.5.2: resolution: {integrity: sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==} @@ -4381,7 +4463,7 @@ packages: vite: 5.1.1(@types/node@22.9.0) dev: false - /@vercel/toolbar@0.1.27(next@15.0.3)(react@19.0.0-rc-66855b96-20241106): + /@vercel/toolbar@0.1.27(next@15.0.3-canary.9)(react@19.1.0-canary-74ea0c73-20250109): resolution: {integrity: sha512-AxPeZKFFIMr9OGy7ZcgSsKWX7VhZQvO6xpI3iv6j3ALI0CTVFjnu0HCBWLHjRH6YD59W5X+83uCXkKWWol+S3Q==} peerDependencies: next: '>=11.0.0' @@ -4400,12 +4482,12 @@ packages: execa: 5.1.1 find-up: 5.0.0 get-port: 5.1.1 - next: 15.0.3(@babel/core@7.26.0)(react-dom@19.0.0-rc-66855b96-20241106)(react@19.0.0-rc-66855b96-20241106) - react: 19.0.0-rc-66855b96-20241106 + next: 15.0.3-canary.9(@babel/core@7.26.0)(react-dom@19.1.0-canary-74ea0c73-20250109)(react@19.1.0-canary-74ea0c73-20250109) + react: 19.1.0-canary-74ea0c73-20250109 strip-ansi: 6.0.1 dev: false - /@vercel/toolbar@0.1.27(next@15.0.3-canary.9)(react@19.1.0-canary-d4287258-20241217): + /@vercel/toolbar@0.1.27(next@15.1.4)(react@19.0.0-rc-02c0e824-20241028): resolution: {integrity: sha512-AxPeZKFFIMr9OGy7ZcgSsKWX7VhZQvO6xpI3iv6j3ALI0CTVFjnu0HCBWLHjRH6YD59W5X+83uCXkKWWol+S3Q==} peerDependencies: next: '>=11.0.0' @@ -4424,8 +4506,8 @@ packages: execa: 5.1.1 find-up: 5.0.0 get-port: 5.1.1 - next: 15.0.3-canary.9(@babel/core@7.26.0)(react-dom@19.1.0-canary-d4287258-20241217)(react@19.1.0-canary-d4287258-20241217) - react: 19.1.0-canary-d4287258-20241217 + next: 15.1.4(@babel/core@7.26.0)(react-dom@19.0.0-rc-02c0e824-20241028)(react@19.0.0-rc-02c0e824-20241028) + react: 19.0.0-rc-02c0e824-20241028 strip-ansi: 6.0.1 dev: false @@ -5829,6 +5911,36 @@ packages: - supports-color dev: true + /eslint-module-utils@2.12.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0)(eslint@8.56.0): + resolution: {integrity: sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + eslint: + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true + dependencies: + '@typescript-eslint/parser': 6.21.0(eslint@8.56.0)(typescript@5.3.3) + debug: 3.2.7 + eslint: 8.56.0 + eslint-import-resolver-node: 0.3.9 + eslint-import-resolver-typescript: 3.7.0(eslint-plugin-import@2.31.0)(eslint@8.56.0) + transitivePeerDependencies: + - supports-color + dev: true + /eslint-module-utils@2.12.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint@8.48.0): resolution: {integrity: sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==} engines: {node: '>=4'} @@ -5948,7 +6060,7 @@ packages: optional: true dependencies: '@rtsao/scc': 1.1.0 - '@typescript-eslint/parser': 6.21.0(eslint@8.56.0)(typescript@5.6.3) + '@typescript-eslint/parser': 6.21.0(eslint@8.56.0)(typescript@5.3.3) array-includes: 3.1.8 array.prototype.findlastindex: 1.2.5 array.prototype.flat: 1.3.3 @@ -5957,7 +6069,7 @@ packages: doctrine: 2.1.0 eslint: 8.56.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint@8.56.0) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0)(eslint@8.56.0) hasown: 2.0.2 is-core-module: 2.16.0 is-glob: 4.0.3 @@ -6802,7 +6914,7 @@ packages: peerDependencies: next: ^13.2 || ^14 dependencies: - next: 15.0.3-canary.9(@babel/core@7.26.0)(react-dom@19.1.0-canary-d4287258-20241217)(react@19.1.0-canary-d4287258-20241217) + next: 15.0.3-canary.9(@babel/core@7.26.0)(react-dom@19.1.0-canary-74ea0c73-20250109)(react@19.1.0-canary-74ea0c73-20250109) dev: false /gensync@1.0.0-beta.2: @@ -8603,7 +8715,7 @@ packages: - babel-plugin-macros dev: false - /next@15.0.3(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@19.0.0)(react@19.1.0-canary-d4287258-20241217): + /next@15.0.3(@babel/core@7.26.0)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-ontCbCRKJUIoivAdGB34yCaOcPgYXr9AAkV/IwqFfWWTXEPUgLYkSkqBhIk9KK7gGmgjc64B+RdoeIDM13Irnw==} engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0} hasBin: true @@ -8625,15 +8737,14 @@ packages: optional: true dependencies: '@next/env': 15.0.3 - '@opentelemetry/api': 1.9.0 '@swc/counter': 0.1.3 '@swc/helpers': 0.5.13 busboy: 1.6.0 caniuse-lite: 1.0.30001688 postcss: 8.4.31 - react: 19.1.0-canary-d4287258-20241217 - react-dom: 19.0.0(react@19.1.0-canary-d4287258-20241217) - styled-jsx: 5.1.6(@babel/core@7.26.0)(react@19.1.0-canary-d4287258-20241217) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + styled-jsx: 5.1.6(@babel/core@7.26.0)(react@18.3.1) optionalDependencies: '@next/swc-darwin-arm64': 15.0.3 '@next/swc-darwin-x64': 15.0.3 @@ -8647,10 +8758,10 @@ packages: transitivePeerDependencies: - '@babel/core' - babel-plugin-macros - dev: true + dev: false - /next@15.0.3(@babel/core@7.26.0)(@playwright/test@1.48.2)(react-dom@19.0.0-rc-02c0e824-20241028)(react@19.0.0-rc-02c0e824-20241028): - resolution: {integrity: sha512-ontCbCRKJUIoivAdGB34yCaOcPgYXr9AAkV/IwqFfWWTXEPUgLYkSkqBhIk9KK7gGmgjc64B+RdoeIDM13Irnw==} + /next@15.0.3-canary.9(@babel/core@7.26.0)(react-dom@19.1.0-canary-74ea0c73-20250109)(react@19.1.0-canary-74ea0c73-20250109): + resolution: {integrity: sha512-mz3piNB25DvCJA5z1fzf6bWLfg2WjglgN5Ga2R7SihrZMeiSIh5Ha7RVNyQ73Jn0YZHJvh5DJPTHgUuyM2Ff8g==} engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0} hasBin: true peerDependencies: @@ -8670,41 +8781,40 @@ packages: sass: optional: true dependencies: - '@next/env': 15.0.3 - '@playwright/test': 1.48.2 + '@next/env': 15.0.3-canary.9 '@swc/counter': 0.1.3 '@swc/helpers': 0.5.13 busboy: 1.6.0 caniuse-lite: 1.0.30001688 postcss: 8.4.31 - react: 19.0.0-rc-02c0e824-20241028 - react-dom: 19.0.0-rc-02c0e824-20241028(react@19.0.0-rc-02c0e824-20241028) - styled-jsx: 5.1.6(@babel/core@7.26.0)(react@19.0.0-rc-02c0e824-20241028) + react: 19.1.0-canary-74ea0c73-20250109 + react-dom: 19.1.0-canary-74ea0c73-20250109(react@19.1.0-canary-74ea0c73-20250109) + styled-jsx: 5.1.6(@babel/core@7.26.0)(react@19.1.0-canary-74ea0c73-20250109) optionalDependencies: - '@next/swc-darwin-arm64': 15.0.3 - '@next/swc-darwin-x64': 15.0.3 - '@next/swc-linux-arm64-gnu': 15.0.3 - '@next/swc-linux-arm64-musl': 15.0.3 - '@next/swc-linux-x64-gnu': 15.0.3 - '@next/swc-linux-x64-musl': 15.0.3 - '@next/swc-win32-arm64-msvc': 15.0.3 - '@next/swc-win32-x64-msvc': 15.0.3 + '@next/swc-darwin-arm64': 15.0.3-canary.9 + '@next/swc-darwin-x64': 15.0.3-canary.9 + '@next/swc-linux-arm64-gnu': 15.0.3-canary.9 + '@next/swc-linux-arm64-musl': 15.0.3-canary.9 + '@next/swc-linux-x64-gnu': 15.0.3-canary.9 + '@next/swc-linux-x64-musl': 15.0.3-canary.9 + '@next/swc-win32-arm64-msvc': 15.0.3-canary.9 + '@next/swc-win32-x64-msvc': 15.0.3-canary.9 sharp: 0.33.5 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros dev: false - /next@15.0.3(@babel/core@7.26.0)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-ontCbCRKJUIoivAdGB34yCaOcPgYXr9AAkV/IwqFfWWTXEPUgLYkSkqBhIk9KK7gGmgjc64B+RdoeIDM13Irnw==} + /next@15.1.4(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@19.0.0)(react@19.1.0-canary-74ea0c73-20250109): + resolution: {integrity: sha512-mTaq9dwaSuwwOrcu3ebjDYObekkxRnXpuVL21zotM8qE2W0HBOdVIdg2Li9QjMEZrj73LN96LcWcz62V19FjAg==} engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0} hasBin: true peerDependencies: '@opentelemetry/api': ^1.1.0 '@playwright/test': ^1.41.2 babel-plugin-react-compiler: '*' - react: ^18.2.0 || 19.0.0-rc-66855b96-20241106 - react-dom: ^18.2.0 || 19.0.0-rc-66855b96-20241106 + react: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 + react-dom: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 sass: ^1.3.0 peerDependenciesMeta: '@opentelemetry/api': @@ -8716,40 +8826,87 @@ packages: sass: optional: true dependencies: - '@next/env': 15.0.3 + '@next/env': 15.1.4 + '@opentelemetry/api': 1.9.0 '@swc/counter': 0.1.3 - '@swc/helpers': 0.5.13 + '@swc/helpers': 0.5.15 busboy: 1.6.0 caniuse-lite: 1.0.30001688 postcss: 8.4.31 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - styled-jsx: 5.1.6(@babel/core@7.26.0)(react@18.3.1) + react: 19.1.0-canary-74ea0c73-20250109 + react-dom: 19.0.0(react@19.1.0-canary-74ea0c73-20250109) + styled-jsx: 5.1.6(@babel/core@7.26.0)(react@19.1.0-canary-74ea0c73-20250109) optionalDependencies: - '@next/swc-darwin-arm64': 15.0.3 - '@next/swc-darwin-x64': 15.0.3 - '@next/swc-linux-arm64-gnu': 15.0.3 - '@next/swc-linux-arm64-musl': 15.0.3 - '@next/swc-linux-x64-gnu': 15.0.3 - '@next/swc-linux-x64-musl': 15.0.3 - '@next/swc-win32-arm64-msvc': 15.0.3 - '@next/swc-win32-x64-msvc': 15.0.3 + '@next/swc-darwin-arm64': 15.1.4 + '@next/swc-darwin-x64': 15.1.4 + '@next/swc-linux-arm64-gnu': 15.1.4 + '@next/swc-linux-arm64-musl': 15.1.4 + '@next/swc-linux-x64-gnu': 15.1.4 + '@next/swc-linux-x64-musl': 15.1.4 + '@next/swc-win32-arm64-msvc': 15.1.4 + '@next/swc-win32-x64-msvc': 15.1.4 + sharp: 0.33.5 + transitivePeerDependencies: + - '@babel/core' + - babel-plugin-macros + dev: true + + /next@15.1.4(@babel/core@7.26.0)(@playwright/test@1.48.2)(react-dom@19.0.0-rc-02c0e824-20241028)(react@19.0.0-rc-02c0e824-20241028): + resolution: {integrity: sha512-mTaq9dwaSuwwOrcu3ebjDYObekkxRnXpuVL21zotM8qE2W0HBOdVIdg2Li9QjMEZrj73LN96LcWcz62V19FjAg==} + engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0} + hasBin: true + peerDependencies: + '@opentelemetry/api': ^1.1.0 + '@playwright/test': ^1.41.2 + babel-plugin-react-compiler: '*' + react: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 + react-dom: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 + sass: ^1.3.0 + peerDependenciesMeta: + '@opentelemetry/api': + optional: true + '@playwright/test': + optional: true + babel-plugin-react-compiler: + optional: true + sass: + optional: true + dependencies: + '@next/env': 15.1.4 + '@playwright/test': 1.48.2 + '@swc/counter': 0.1.3 + '@swc/helpers': 0.5.15 + busboy: 1.6.0 + caniuse-lite: 1.0.30001688 + postcss: 8.4.31 + react: 19.0.0-rc-02c0e824-20241028 + react-dom: 19.0.0-rc-02c0e824-20241028(react@19.0.0-rc-02c0e824-20241028) + styled-jsx: 5.1.6(@babel/core@7.26.0)(react@19.0.0-rc-02c0e824-20241028) + optionalDependencies: + '@next/swc-darwin-arm64': 15.1.4 + '@next/swc-darwin-x64': 15.1.4 + '@next/swc-linux-arm64-gnu': 15.1.4 + '@next/swc-linux-arm64-musl': 15.1.4 + '@next/swc-linux-x64-gnu': 15.1.4 + '@next/swc-linux-x64-musl': 15.1.4 + '@next/swc-win32-arm64-msvc': 15.1.4 + '@next/swc-win32-x64-msvc': 15.1.4 sharp: 0.33.5 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros dev: false - /next@15.0.3(@babel/core@7.26.0)(react-dom@19.0.0-rc-66855b96-20241106)(react@19.0.0-rc-66855b96-20241106): - resolution: {integrity: sha512-ontCbCRKJUIoivAdGB34yCaOcPgYXr9AAkV/IwqFfWWTXEPUgLYkSkqBhIk9KK7gGmgjc64B+RdoeIDM13Irnw==} + /next@15.1.4(@babel/core@7.26.0)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-mTaq9dwaSuwwOrcu3ebjDYObekkxRnXpuVL21zotM8qE2W0HBOdVIdg2Li9QjMEZrj73LN96LcWcz62V19FjAg==} engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0} hasBin: true peerDependencies: '@opentelemetry/api': ^1.1.0 '@playwright/test': ^1.41.2 babel-plugin-react-compiler: '*' - react: ^18.2.0 || 19.0.0-rc-66855b96-20241106 - react-dom: ^18.2.0 || 19.0.0-rc-66855b96-20241106 + react: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 + react-dom: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 sass: ^1.3.0 peerDependenciesMeta: '@opentelemetry/api': @@ -8761,40 +8918,40 @@ packages: sass: optional: true dependencies: - '@next/env': 15.0.3 + '@next/env': 15.1.4 '@swc/counter': 0.1.3 - '@swc/helpers': 0.5.13 + '@swc/helpers': 0.5.15 busboy: 1.6.0 caniuse-lite: 1.0.30001688 postcss: 8.4.31 - react: 19.0.0-rc-66855b96-20241106 - react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) - styled-jsx: 5.1.6(@babel/core@7.26.0)(react@19.0.0-rc-66855b96-20241106) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + styled-jsx: 5.1.6(@babel/core@7.26.0)(react@18.3.1) optionalDependencies: - '@next/swc-darwin-arm64': 15.0.3 - '@next/swc-darwin-x64': 15.0.3 - '@next/swc-linux-arm64-gnu': 15.0.3 - '@next/swc-linux-arm64-musl': 15.0.3 - '@next/swc-linux-x64-gnu': 15.0.3 - '@next/swc-linux-x64-musl': 15.0.3 - '@next/swc-win32-arm64-msvc': 15.0.3 - '@next/swc-win32-x64-msvc': 15.0.3 + '@next/swc-darwin-arm64': 15.1.4 + '@next/swc-darwin-x64': 15.1.4 + '@next/swc-linux-arm64-gnu': 15.1.4 + '@next/swc-linux-arm64-musl': 15.1.4 + '@next/swc-linux-x64-gnu': 15.1.4 + '@next/swc-linux-x64-musl': 15.1.4 + '@next/swc-win32-arm64-msvc': 15.1.4 + '@next/swc-win32-x64-msvc': 15.1.4 sharp: 0.33.5 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros dev: false - /next@15.0.3-canary.9(@babel/core@7.26.0)(react-dom@19.1.0-canary-d4287258-20241217)(react@19.1.0-canary-d4287258-20241217): - resolution: {integrity: sha512-mz3piNB25DvCJA5z1fzf6bWLfg2WjglgN5Ga2R7SihrZMeiSIh5Ha7RVNyQ73Jn0YZHJvh5DJPTHgUuyM2Ff8g==} + /next@15.1.4(@babel/core@7.26.0)(react-dom@19.0.0-rc-02c0e824-20241028)(react@19.0.0-rc-02c0e824-20241028): + resolution: {integrity: sha512-mTaq9dwaSuwwOrcu3ebjDYObekkxRnXpuVL21zotM8qE2W0HBOdVIdg2Li9QjMEZrj73LN96LcWcz62V19FjAg==} engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0} hasBin: true peerDependencies: '@opentelemetry/api': ^1.1.0 '@playwright/test': ^1.41.2 babel-plugin-react-compiler: '*' - react: ^18.2.0 || 19.0.0-rc-66855b96-20241106 - react-dom: ^18.2.0 || 19.0.0-rc-66855b96-20241106 + react: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 + react-dom: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 sass: ^1.3.0 peerDependenciesMeta: '@opentelemetry/api': @@ -8806,24 +8963,24 @@ packages: sass: optional: true dependencies: - '@next/env': 15.0.3-canary.9 + '@next/env': 15.1.4 '@swc/counter': 0.1.3 - '@swc/helpers': 0.5.13 + '@swc/helpers': 0.5.15 busboy: 1.6.0 caniuse-lite: 1.0.30001688 postcss: 8.4.31 - react: 19.1.0-canary-d4287258-20241217 - react-dom: 19.1.0-canary-d4287258-20241217(react@19.1.0-canary-d4287258-20241217) - styled-jsx: 5.1.6(@babel/core@7.26.0)(react@19.1.0-canary-d4287258-20241217) + react: 19.0.0-rc-02c0e824-20241028 + react-dom: 19.0.0-rc-02c0e824-20241028(react@19.0.0-rc-02c0e824-20241028) + styled-jsx: 5.1.6(@babel/core@7.26.0)(react@19.0.0-rc-02c0e824-20241028) optionalDependencies: - '@next/swc-darwin-arm64': 15.0.3-canary.9 - '@next/swc-darwin-x64': 15.0.3-canary.9 - '@next/swc-linux-arm64-gnu': 15.0.3-canary.9 - '@next/swc-linux-arm64-musl': 15.0.3-canary.9 - '@next/swc-linux-x64-gnu': 15.0.3-canary.9 - '@next/swc-linux-x64-musl': 15.0.3-canary.9 - '@next/swc-win32-arm64-msvc': 15.0.3-canary.9 - '@next/swc-win32-x64-msvc': 15.0.3-canary.9 + '@next/swc-darwin-arm64': 15.1.4 + '@next/swc-darwin-x64': 15.1.4 + '@next/swc-linux-arm64-gnu': 15.1.4 + '@next/swc-linux-arm64-musl': 15.1.4 + '@next/swc-linux-x64-gnu': 15.1.4 + '@next/swc-linux-x64-musl': 15.1.4 + '@next/swc-win32-arm64-msvc': 15.1.4 + '@next/swc-win32-x64-msvc': 15.1.4 sharp: 0.33.5 transitivePeerDependencies: - '@babel/core' @@ -9530,12 +9687,12 @@ packages: scheduler: 0.23.2 dev: false - /react-dom@19.0.0(react@19.1.0-canary-d4287258-20241217): + /react-dom@19.0.0(react@19.1.0-canary-74ea0c73-20250109): resolution: {integrity: sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==} peerDependencies: react: ^19.0.0 dependencies: - react: 19.1.0-canary-d4287258-20241217 + react: 19.1.0-canary-74ea0c73-20250109 scheduler: 0.25.0 /react-dom@19.0.0-rc-02c0e824-20241028(react@19.0.0-rc-02c0e824-20241028): @@ -9547,22 +9704,13 @@ packages: scheduler: 0.25.0-rc-02c0e824-20241028 dev: false - /react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106): - resolution: {integrity: sha512-D25vdaytZ1wFIRiwNU98NPQ/upS2P8Co4/oNoa02PzHbh8deWdepjm5qwZM/46OdSiGv4WSWwxP55RO9obqJEQ==} - peerDependencies: - react: 19.0.0-rc-66855b96-20241106 - dependencies: - react: 19.0.0-rc-66855b96-20241106 - scheduler: 0.25.0-rc-66855b96-20241106 - dev: false - - /react-dom@19.1.0-canary-d4287258-20241217(react@19.1.0-canary-d4287258-20241217): - resolution: {integrity: sha512-+gmdJwDqPY4Zo3Au1wrHvmfeDFboitnS7tbuFxRL3AnDpDxCj+7mw6eEioGs3G2uRPUSwDW1l7O7MPwu+t3H1w==} + /react-dom@19.1.0-canary-74ea0c73-20250109(react@19.1.0-canary-74ea0c73-20250109): + resolution: {integrity: sha512-GO+r1ig+hjWrROL1eYjwPktnP3gekDq9YGrX1CF5dkOJCnsBCWnR3n7oYc2wI2ROvyPwFSSe46Y2bCwQkC0TOA==} peerDependencies: - react: 19.1.0-canary-d4287258-20241217 + react: 19.1.0-canary-74ea0c73-20250109 dependencies: - react: 19.1.0-canary-d4287258-20241217 - scheduler: 0.26.0-canary-d4287258-20241217 + react: 19.1.0-canary-74ea0c73-20250109 + scheduler: 0.26.0-canary-74ea0c73-20250109 dev: false /react-is@16.13.1: @@ -9576,7 +9724,7 @@ packages: engines: {node: '>=0.10.0'} dev: true - /react-remove-scroll-bar@2.3.8(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106): + /react-remove-scroll-bar@2.3.8(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028): resolution: {integrity: sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==} engines: {node: '>=10'} peerDependencies: @@ -9587,12 +9735,12 @@ packages: optional: true dependencies: '@types/react': 18.2.55 - react: 19.0.0-rc-66855b96-20241106 - react-style-singleton: 2.2.3(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106) + react: 19.0.0-rc-02c0e824-20241028 + react-style-singleton: 2.2.3(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028) tslib: 2.8.1 dev: false - /react-remove-scroll@2.6.0(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106): + /react-remove-scroll@2.6.0(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028): resolution: {integrity: sha512-I2U4JVEsQenxDAKaVa3VZ/JeJZe0/2DxPWL8Tj8yLKctQJQiZM52pn/GWFpSp8dftjM3pSAHVJZscAnC/y+ySQ==} engines: {node: '>=10'} peerDependencies: @@ -9603,15 +9751,15 @@ packages: optional: true dependencies: '@types/react': 18.2.55 - react: 19.0.0-rc-66855b96-20241106 - react-remove-scroll-bar: 2.3.8(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106) - react-style-singleton: 2.2.3(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106) + react: 19.0.0-rc-02c0e824-20241028 + react-remove-scroll-bar: 2.3.8(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028) + react-style-singleton: 2.2.3(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028) tslib: 2.8.1 - use-callback-ref: 1.3.2(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106) - use-sidecar: 1.1.3(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106) + use-callback-ref: 1.3.2(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028) + use-sidecar: 1.1.3(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028) dev: false - /react-style-singleton@2.2.3(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106): + /react-style-singleton@2.2.3(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028): resolution: {integrity: sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==} engines: {node: '>=10'} peerDependencies: @@ -9623,7 +9771,7 @@ packages: dependencies: '@types/react': 18.2.55 get-nonce: 1.0.1 - react: 19.0.0-rc-66855b96-20241106 + react: 19.0.0-rc-02c0e824-20241028 tslib: 2.8.1 dev: false @@ -9639,13 +9787,8 @@ packages: engines: {node: '>=0.10.0'} dev: false - /react@19.0.0-rc-66855b96-20241106: - resolution: {integrity: sha512-klH7xkT71SxRCx4hb1hly5FJB21Hz0ACyxbXYAECEqssUjtJeFUAaI2U1DgJAzkGEnvEm3DkxuBchMC/9K4ipg==} - engines: {node: '>=0.10.0'} - dev: false - - /react@19.1.0-canary-d4287258-20241217: - resolution: {integrity: sha512-ZPkfLPF89MKYxh0FiiClOMZmAK7sE6GSC2klSeAuo6qxW5QEn9PukRJPM9chxW1nbF4lSIP2kzXZ6HPVZxiDLQ==} + /react@19.1.0-canary-74ea0c73-20250109: + resolution: {integrity: sha512-1ZE6VArItfu8r7eFklQiZwMaB0yGbAvgWctGIFdus0dw9AgpZP+61bbDlu1HoK9Zni8K0Aj9WACzM+323qOuKA==} engines: {node: '>=0.10.0'} /read-cache@1.0.0: @@ -9929,12 +10072,8 @@ packages: resolution: {integrity: sha512-GysnKjmMSaWcwsKTLzeJO0IhU3EyIiC0ivJKE6yDNLqt3IMxDByx8b6lSNXRNdN+ULUY0WLLjSPaZ0LuU/GnTg==} dev: false - /scheduler@0.25.0-rc-66855b96-20241106: - resolution: {integrity: sha512-HQXp/Mnp/MMRSXMQF7urNFla+gmtXW/Gr1KliuR0iboTit4KvZRY8KYaq5ccCTAOJiUqQh2rE2F3wgUekmgdlA==} - dev: false - - /scheduler@0.26.0-canary-d4287258-20241217: - resolution: {integrity: sha512-F2dPXtrxz/FZIPbbIDEASr9NH17zNVFrdKJnXZ4bwkCzIhfLgzdOGldNiQp3vTJuc4G3LuJ7ArF0+5ttzcY0cw==} + /scheduler@0.26.0-canary-74ea0c73-20250109: + resolution: {integrity: sha512-xe34UJQUqmX8Jw2Q6cShw0/LIv/PzRvAKjljD1aGAxppFbXqS3Kk1UmSw/z/x6Wh4TJOELf341oWQSywaOZk5w==} dev: false /semver@5.7.2: @@ -10468,7 +10607,7 @@ packages: react: 19.0.0-rc-02c0e824-20241028 dev: false - /styled-jsx@5.1.6(@babel/core@7.26.0)(react@19.0.0-rc-66855b96-20241106): + /styled-jsx@5.1.6(@babel/core@7.26.0)(react@19.1.0-canary-74ea0c73-20250109): resolution: {integrity: sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==} engines: {node: '>= 12.0.0'} peerDependencies: @@ -10483,25 +10622,7 @@ packages: dependencies: '@babel/core': 7.26.0 client-only: 0.0.1 - react: 19.0.0-rc-66855b96-20241106 - dev: false - - /styled-jsx@5.1.6(@babel/core@7.26.0)(react@19.1.0-canary-d4287258-20241217): - resolution: {integrity: sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==} - engines: {node: '>= 12.0.0'} - peerDependencies: - '@babel/core': '*' - babel-plugin-macros: '*' - react: '>= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0' - peerDependenciesMeta: - '@babel/core': - optional: true - babel-plugin-macros: - optional: true - dependencies: - '@babel/core': 7.26.0 - client-only: 0.0.1 - react: 19.1.0-canary-d4287258-20241217 + react: 19.1.0-canary-74ea0c73-20250109 /sucrase@3.35.0: resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} @@ -11204,7 +11325,7 @@ packages: requires-port: 1.0.0 dev: true - /use-callback-ref@1.3.2(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106): + /use-callback-ref@1.3.2(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028): resolution: {integrity: sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==} engines: {node: '>=10'} peerDependencies: @@ -11215,11 +11336,11 @@ packages: optional: true dependencies: '@types/react': 18.2.55 - react: 19.0.0-rc-66855b96-20241106 + react: 19.0.0-rc-02c0e824-20241028 tslib: 2.8.1 dev: false - /use-sidecar@1.1.3(@types/react@18.2.55)(react@19.0.0-rc-66855b96-20241106): + /use-sidecar@1.1.3(@types/react@18.2.55)(react@19.0.0-rc-02c0e824-20241028): resolution: {integrity: sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==} engines: {node: '>=10'} peerDependencies: @@ -11231,7 +11352,7 @@ packages: dependencies: '@types/react': 18.2.55 detect-node-es: 1.1.0 - react: 19.0.0-rc-66855b96-20241106 + react: 19.0.0-rc-02c0e824-20241028 tslib: 2.8.1 dev: false diff --git a/tests/next-15/package.json b/tests/next-15/package.json index 663ac3a..d335ca3 100644 --- a/tests/next-15/package.json +++ b/tests/next-15/package.json @@ -4,14 +4,14 @@ "private": true, "scripts": { "build": "next build", - "dev": "next dev --port 4015", + "dev": "next dev --port 4015 --turbopack", "lint": "next lint", "start": "next start --port 4015", "test:e2e": "playwright test" }, "dependencies": { "@vercel/flags": "workspace:*", - "next": "15.0.3", + "next": "15.1.4", "react": "19.0.0-rc-02c0e824-20241028", "react-dom": "19.0.0-rc-02c0e824-20241028" },