From 24ed66abe930c005adc40b10f4b1871ae252642a Mon Sep 17 00:00:00 2001
From: Aurora Scharff <66901228+aurorascharff@users.noreply.github.com>
Date: Thu, 27 Aug 2026 21:46:19 +0200
Subject: [PATCH 1/9] docs(skills): preserve prefetched UI during Partial
Prefetching adoption (#97712)
## What
- Documents how legacy `prefetch={true}` behavior changes with Partial
Prefetching and how to choose the UI worth preserving.
- Updates the adoption skill to capture a passing flag-off `instant()`
baseline, use the same assertions to drive the migration, and retain
them as regression coverage.
- Adds a reusable production test rig, keeps additional per-link
optimization separate from adoption, and surfaces `prefetch={false}`
links that may no longer be needed.
- Applies the shared test-rig fixes discovered during dogfooding to the
Cache Components optimizer.
## Why
Legacy `prefetch={true}` could include uncached dynamic content. With
Partial Prefetching, it includes the shared App Shell and cached
URL-specific content instead. A passing build or clean insight sweep
does not prove that the intended prefetched UI survived the migration,
so the skill now records that contract before adoption and verifies it
unchanged afterward. The guide presents the same test workflow as an
optional programmatic check for manual adopters.
## Testing
- Prettier, Alex, and skill frontmatter validation
- Dogfooded on v0 in https://github.com/vercel/v0/pull/28842
- Partial Prefetching adoption eval: 6/6 in
https://github.com/vercel/next.js/pull/97759
---
.../adopting-partial-prefetching.mdx | 57 +++---
docs/01-app/02-guides/ai-agents.mdx | 8 +-
.../rig-template.md | 10 +-
.../SKILL.md | 128 ++++++++-----
.../rig-template.md | 172 ++++++++++++++++++
5 files changed, 301 insertions(+), 74 deletions(-)
create mode 100644 skills/next-partial-prefetching-adoption/rig-template.md
diff --git a/docs/01-app/02-guides/adopting-partial-prefetching.mdx b/docs/01-app/02-guides/adopting-partial-prefetching.mdx
index 1aef7ca25da0..2de25df65d27 100644
--- a/docs/01-app/02-guides/adopting-partial-prefetching.mdx
+++ b/docs/01-app/02-guides/adopting-partial-prefetching.mdx
@@ -14,7 +14,7 @@ related:
[Partial Prefetching](/docs/app/glossary#partial-prefetching) changes what a `` downloads for a Cache Components route. With Partial Prefetching enabled, a `` prefetches the route's [App Shell](/docs/app/glossary#app-shell): its static content and the cached content that doesn't depend on the URL. Next.js builds one App Shell per route and reuses it for every link to that route, rather than prefetching each link separately as it did before.
-To prefetch more than the App Shell, a link can opt into [per-link prefetching](/docs/app/guides/optimizing-prefetching) with [``](/docs/app/api-reference/components/link#prefetch). The prefetch then also resolves URL-specific content that depends on `params`, `searchParams`, or the full URL.
+To prefetch more than the App Shell, a link can opt into [per-link prefetching](/docs/app/guides/optimizing-prefetching) with [``](/docs/app/api-reference/components/link#prefetch). The prefetch can then resolve cached URL-specific content that depends on `params`, `searchParams`, or the full URL.
Along the way, Next.js surfaces [instant navigation](/docs/app/guides/instant-navigation) insights in development, naming the link or route to change.
@@ -22,7 +22,7 @@ Along the way, Next.js surfaces [instant navigation](/docs/app/guides/instant-na
## Use the adoption skill (recommended)
-The [`next-partial-prefetching-adoption`](https://github.com/vercel/next.js/tree/canary/skills/next-partial-prefetching-adoption) skill drives this adoption with a coding agent. It audits your `` calls with you, enables the flag, and sweeps every route for the insights this guide covers.
+The [`next-partial-prefetching-adoption`](https://github.com/vercel/next.js/tree/canary/skills/next-partial-prefetching-adoption) skill drives this adoption with a coding agent. It reviews your `` calls, captures the prefetched UI to preserve with [`instant()` tests](#verify-prefetched-ui-with-tests) when a production test rig is available, then enables the flag and checks each route for the insights this guide covers.
Install the skill:
@@ -38,16 +38,19 @@ Adopt Partial Prefetching in this project using the next-partial-prefetching-ado
## Or adopt by hand
-Adopting an existing app by hand follows the two [instant navigation](/docs/app/guides/instant-navigation) insights Next.js surfaces in `next dev`:
+To adopt an existing app by hand:
-1. [Enable `partialPrefetching`](#enable-partial-prefetching), then [audit every ``](#auditing-link-prefetchtrue-calls) and decide per destination how to preserve what its prefetch delivered. When the adoption is large enough that reviewers need smaller diffs, or adopted routes should reach users before the rest, [adopt incrementally](#adopting-incrementally) with the flag off, guided by the [dynamic data during prefetching](/docs/messages/instant-link-prefetch-partial) insight.
-2. [Audit routes for URL data](#auditing-routes-for-url-data), resolving the [URL data outside of Suspense](/docs/messages/instant-shell-url-data) insight.
-3. Optionally, [prefetch URL data](#prefetching-url-data) on the routes where streaming in after navigation isn't enough.
+1. [Review existing full prefetches](#migrate-existing-full-prefetches) and choose which part of each destination should continue to be prefetched. You can use [`instant()` tests](#verify-prefetched-ui-with-tests) to add regression coverage.
+2. [Enable `partialPrefetching`](#enable-partial-prefetching). For larger migrations, you can [adopt incrementally](#adopting-incrementally) with the global flag off. The [dynamic data during prefetching](/docs/messages/instant-link-prefetch-partial) insight identifies each destination that still uses the legacy full prefetch.
+3. [Move URL data behind Suspense](#move-url-data-behind-suspense), resolving the [URL data outside of Suspense](/docs/messages/instant-shell-url-data) insight.
+4. Optionally, [prefetch URL data](#prefetching-url-data) on the routes where streaming in after navigation isn't enough.
Both insights are development-only and never block the build. They appear in the dev overlay with fix cards that link the docs page for each fix. If a route isn't ready to adopt, export [`instant = false`](/docs/app/api-reference/file-conventions/route-segment-config/instant) from its page or layout to opt the route out of instant-navigation validation, and return to it later.
## Enable Partial Prefetching
+> **Good to know**: In an existing app, review the UI delivered by [``](#migrate-existing-full-prefetches) before enabling Partial Prefetching. These links use the legacy full prefetch, and enabling Partial Prefetching changes their behavior.
+
Enable [`partialPrefetching`](/docs/app/api-reference/config/next-config-js/partialPrefetching) in `next.config.ts`:
```ts filename="next.config.ts" highlight={5}
@@ -61,31 +64,29 @@ const nextConfig: NextConfig = {
export default nextConfig
```
-After enabling the flag, every `` prefetches its destination's App Shell, and `` no longer includes the route's dynamic content. Audit those links next to preserve what they delivered. A new project has no legacy links to audit and is done here.
+After enabling the flag, links using the default behavior, `prefetch="auto"`, or `prefetch={true}` prefetch the destination's App Shell. A link with `prefetch={true}` can also resolve cached URL-specific content, but it no longer includes uncached dynamic content from the legacy full prefetch. New projects can enable the flag without this audit because they have no legacy full prefetches to migrate.
## What changes for ``
-| `` prop | Before (Cache Components default) | After Partial Prefetching |
-| ----------------------------------- | -------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
-| `` | Prefetched the cached page render. | Loads the shared App Shell for `/x`. |
-| `` | Prefetched the cached page render **and** any dynamic content. | Loads the App Shell, plus URL-specific content through [per-link prefetching](/docs/app/guides/optimizing-prefetching) when `/x` reads it. |
-| `` | Disabled prefetching for this link. | Unchanged. Still disabled. |
+| `` prop | Before (Cache Components default) | After Partial Prefetching |
+| ----------------------------------- | -------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| `` | Prefetched the cached page render. | Prefetches the shared App Shell for `/x`. |
+| `` | Prefetched the cached page render **and** any dynamic content. | Prefetches the App Shell, plus cached URL-specific content through [per-link prefetching](/docs/app/guides/optimizing-prefetching) when `/x` reads it. |
+| `` | Disabled prefetching for this link. | Unchanged. Still disabled. |
The App Shell is shared across every link to a given route, regardless of dynamic params, so rendering many ``s to the same destination doesn't multiply the work.
-## Auditing `` calls
+## Migrate existing full prefetches
+
+Before Partial Prefetching, a `` whose effective `prefetch` value is `true` prefetches the complete destination, including uncached dynamic content. This includes `prefetch={true}`, the bare `prefetch` prop, and wrapper or conditional props that resolve to `true`. The default value, `prefetch="auto"`, and `prefetch={false}` don't use the legacy full prefetch.
-Each `` used to prefetch its destination's dynamic content along with the page. With the flag on it loads the App Shell like every other link, which can be thinner than the old full prefetch. Go through each one and decide what the destination should still prefetch:
+A legacy full prefetch can include more UI than the navigation needs. In most cases, the primary content at the top of the destination should be available before navigation, while secondary or frequently changing content can stream afterward.
> **Good to know**: `cookies()` and `headers()` don't tie a prefetch to a URL. They vary per session, not per link, so the App Shell still carries session content. Only `params` and `searchParams` are [URL data](/docs/app/glossary#url-data), which varies per link and can't be included in the shared App Shell.
-| Destination | Recommendation |
-| --------------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
-| [Fully static, or content already cached](#static-or-cached-content) | Remove the now-redundant `prefetch={true}`. |
-| [Delivered uncached content you want kept ahead of the click](#uncached-content) | Cache it with `use cache`, then remove `prefetch={true}`. |
-| [Delivered content that depends on `cookies()` or `headers()`](#session-content) | Cache the lookup behind the session value, then remove `prefetch={true}`. |
-| [Reads URL data, or has cached content that depends on it](#url-data) | Keep `prefetch={true}` to resolve the content ahead of the click. |
-| [Delivers real-time content that must stay fresh per request](#real-time-content) | Remove `prefetch={true}` and let the content stream in. |
+### Verify prefetched UI with tests
+
+To verify the migration programmatically, an [`instant()`](/docs/app/guides/instant-navigation#prevent-regressions-with-e2e-tests) test can capture the UI that should stay available from an existing full prefetch. Run this baseline against a production build with `partialPrefetching` disabled because automatic prefetching doesn't run in `next dev`. Then rerun the same assertions after adopting the destination. A failure identifies UI the App Shell no longer carries, so you can cache the data or subtree that restores it. The passing test provides regression coverage.
### Static or cached content
@@ -246,11 +247,19 @@ export default function Page() {
A prefetch of real-time content would be stale by the click, so there is nothing to preserve. Remove `prefetch={true}` and let the content stream in from behind its `` boundary.
+| Destination | Recommendation |
+| --------------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
+| [Fully static, or content already cached](#static-or-cached-content) | Remove the now-redundant `prefetch={true}`. |
+| [Delivered uncached content you want kept ahead of the click](#uncached-content) | Cache it with `use cache`, then remove `prefetch={true}`. |
+| [Delivered content that depends on `cookies()` or `headers()`](#session-content) | Cache the lookup behind the session value, then remove `prefetch={true}`. |
+| [Reads URL data, or has cached content that depends on it](#url-data) | Keep `prefetch={true}` to resolve the content ahead of the click. |
+| [Delivers real-time content that must stay fresh per request](#real-time-content) | Remove `prefetch={true}` and let the content stream in. |
+
## Adopting incrementally
Adoption doesn't have to happen in one change. [`prefetch = 'partial'`](/docs/app/api-reference/file-conventions/route-segment-config/prefetch) is the global flag scoped to one route, so with the global flag still off, you can adopt and deploy each destination on its own.
-While the flag is off, `prefetch={true}` still performs the legacy full prefetch. Navigating through one of these links in development surfaces the [dynamic data during prefetching](/docs/messages/instant-link-prefetch-partial) insight, naming the destination and pointing at its fixes:
+Before a destination opts into Partial Prefetching, `prefetch={true}` performs the legacy full prefetch. Navigating through one of these links in development surfaces the [dynamic data during prefetching](/docs/messages/instant-link-prefetch-partial) insight, naming the destination and pointing at its fixes:
`](https://react.dev/reference/react/Suspense) boundary ties the shell to the link's URL and surfaces the [URL data outside of Suspense](/docs/messages/instant-shell-url-data) insight, naming the route and pointing at its fixes:
diff --git a/docs/01-app/02-guides/ai-agents.mdx b/docs/01-app/02-guides/ai-agents.mdx
index c4c780f15110..d2e32031ef96 100644
--- a/docs/01-app/02-guides/ai-agents.mdx
+++ b/docs/01-app/02-guides/ai-agents.mdx
@@ -222,11 +222,11 @@ Make the navigation from /settings to /dashboard instant using the next-cache-co
The [`next-partial-prefetching-adoption`](https://www.skills.sh/vercel/next.js/next-partial-prefetching-adoption) Skill moves an app onto [Partial Prefetching](/docs/app/guides/adopting-partial-prefetching), where links share one App Shell:
-1. Audits the existing `` calls with you.
-2. Turns the flag on and resolves the insights it surfaces.
-3. Marks the routes whose URL data might be worth prefetching later.
+1. Audits existing `` navigations and identifies the prefetched UI to preserve.
+2. Captures that UI in passing [`instant()`](/docs/app/guides/instant-navigation#prevent-regressions-with-e2e-tests) tests before enabling Partial Prefetching, then migrates each destination until the same tests pass unchanged.
+3. Enables the flag, resolves the URL-data insights it surfaces, and marks optional per-link prefetching candidates for later.
-It needs [Cache Components](/docs/app/getting-started/caching) already adopted.
+It needs [Cache Components](/docs/app/getting-started/caching) already adopted and a production-like build it can run for prefetch verification.
```bash filename="Terminal"
npx skills add vercel/next.js --skill next-partial-prefetching-adoption
diff --git a/skills/next-cache-components-optimizer/rig-template.md b/skills/next-cache-components-optimizer/rig-template.md
index d0f2923004f7..c19c0ba520cf 100644
--- a/skills/next-cache-components-optimizer/rig-template.md
+++ b/skills/next-cache-components-optimizer/rig-template.md
@@ -39,7 +39,10 @@ build/run obstacles, accumulated as you first hit them).
and never for real production? Spellings: an explicit
`EXPOSE_TESTING_API=1` for local production builds; `process.env.DEPLOY_ENV
=== 'staging'` for a generic CI/staging env var; `process.env.VERCEL_ENV ===
-'preview'` on Vercel.
+'preview'` on Vercel. Set the condition during `next build`, not only
+ `next start`. Otherwise `instant()` may not acquire the testing cookie
+ before the test times out; rebuild the artifact before debugging the
+ assertion.
3. **RUN**: how is the Playwright suite invoked, and against which
`BASE_URL`?
4. **TEST USER**: which account does the suite run as, and how does login
@@ -64,7 +67,10 @@ build/run obstacles, accumulated as you first hit them).
chosen mechanism. For a local `build && start` rig the artifact is the one
freshly built, so no SHA probe is needed. Record the port, stop the previous
server before starting, fail the loop on `EADDRINUSE`, and verify the newly
- started process owns the port before running the test.
+ started process owns the port before running the test. `next start` can fork
+ a `next-server` child, so the launcher process ID may not own the port. Start
+ the server in a process group that the rig can stop as a unit, or discover
+ and stop the process listening on the recorded port before the next build.
## The file: copy, fill, commit as `instant-nav.rig.md`
diff --git a/skills/next-partial-prefetching-adoption/SKILL.md b/skills/next-partial-prefetching-adoption/SKILL.md
index f09895b653d9..aa11cd07d3a5 100644
--- a/skills/next-partial-prefetching-adoption/SKILL.md
+++ b/skills/next-partial-prefetching-adoption/SKILL.md
@@ -5,7 +5,8 @@ description: >
insights it surfaces. Use when the user wants to enable or adopt
Partial Prefetching, flip the `partialPrefetching` flag, opt routes
in with `export const prefetch = 'partial'`, audit
- `` calls, or resolve the
+ `Link prefetch={true}` behavior, preserve existing prefetched UI
+ with `instant()` tests, or resolve the
instant-link-prefetch-partial and instant-shell-url-data insights.
---
@@ -13,19 +14,23 @@ description: >
Enable Partial Prefetching and walk the app until every link reuses a shared App Shell. This skill sequences the work; per-insight recipes live in the dev overlay fix cards and their docs pages. The [Adopting Partial Prefetching guide](https://nextjs.org/docs/app/guides/adopting-partial-prefetching) is the canonical reference for the concepts this skill applies.
-The one thing that shapes everything below: **these insights surface only in `next dev`, in the dev overlay's Insights tab.** Nothing fails the build. There is no build-only fallback loop — confirming an insight is _cleared_ means driving the running app in a browser. But a missing browser gates that verification, not the whole skill: the adoption work is static and runs from the guide, so do the static pass anyway and hand off the live shell check.
+The development insights and the preservation tests are two different paths. Insights surface only in `next dev`, in the dev overlay's Insights tab. Test-backed preservation runs against a production-like build with `instant()` and does not need a development server. After the flag is enabled, the separate URL-data insight sweep still uses `next dev`.
-Talk to the user in terms of what they'll see — PRs, features, and how the app behaves after — never the insight slugs or step labels. Before you start, tell them briefly what Partial Prefetching changes: a `` loads a shared App Shell, and `prefetch={true}` no longer prefetches everything the old full prefetch did.
+## preservation gate
+
+When using test-backed preservation, the first implementation milestone is a passing flag-off `instant()` suite. Set up the production test rig, write the selected assertions, run them with `partialPrefetching` disabled, and record the command and exit status. Test-only configuration required by the rig is allowed, but until that baseline passes, do not enable `partialPrefetching` or edit the destination, cache boundaries, or Link props. Installing missing test dependencies is part of reaching the baseline, not a reason to adopt first. Use the manual path only when `rig-template.md` identifies a concrete blocker the repository cannot resolve, and record the blocker and deferred test coverage.
+
+Talk to the user in terms of what they'll see — PRs, features, and how the app behaves after — never the insight slugs or step labels. Before you start, tell them briefly what Partial Prefetching changes: links to a route prefetch one shared App Shell, and `prefetch={true}` can also resolve cached URL-specific content. The audit determines which UI from the legacy full prefetch to preserve.
## requires
-- **Cache Components on (`cacheComponents: true`).** This is the only hard requirement; `partialPrefetching` depends on it. Full Cache Components adoption is the ideal starting point but not a gate. Nothing in this skill blocks the build, and neither do the prerender insights an unadopted route surfaces, like a leftover `unstable_noStore` or a `cookies()` read outside ``: they are non-blocking dev signals, expected on any fresh branch off `main`, not a reason to stop. They replace the URL-data insight only on their own route in the [step 3](#step-3-sweep-for-url-data-insights-after-enabling) sweep; the flag-off step 1 audit and its static adoption run regardless. The only thing that actually stops this skill is a build-blocking failure, and anything build-blocking would have been resolved before you reached here. Otherwise fix the prerender insights you hit as inline [`next-cache-components-adoption`](https://github.com/vercel/next.js/tree/canary/skills/next-cache-components-adoption) work, or hand them off, and keep going.
+- **Cache Components adopted (`cacheComponents: true`) with a passing build.** Both `partialPrefetching` and the route-level `prefetch` export require Cache Components. If it is off, use [`next-cache-components-adoption`](https://github.com/vercel/next.js/tree/canary/skills/next-cache-components-adoption) first and return after its build-blocking prerender errors are resolved. Those errors can fail `next build`; only the Partial Prefetching insights handled by this skill are non-blocking development signals.
- **Next.js 16.3 or later.** `partialPrefetching`, the `prefetch` route segment config, and the prefetch insights all land there.
-- **A browser you can drive.** Install [`next-dev-loop`](https://github.com/vercel/next.js/tree/canary/skills/next-dev-loop) before starting, unless it is already available — it ships alongside this skill (`npx skills add https://github.com/vercel/next.js/tree/canary/skills/next-dev-loop`). Install it without asking — it's a tool, not a product change — and don't assume it's blocked: verify a real blocker (no network, no npm, read-only filesystem) before falling back, and name it in your report. Link prefetches fire when a link renders and enters the viewport, and shell validation fires on navigation — neither is reachable from `curl` or the build. If the app is webpack-pinned, drive a browser directly (`agent-browser`, Playwright) — you lose the framework cross-checks, not the insights; they're still in the overlay and the dev log.
+- **A browser you can drive.** Test-backed preservation uses an existing or minimal production-mode Playwright suite; manual preservation and the final demonstration use the running production app. The development insight path and the post-flag URL-data sweep use [`next-dev-loop`](https://github.com/vercel/next.js/tree/canary/skills/next-dev-loop); install it before either development pass unless it is already available (`npx skills add https://github.com/vercel/next.js/tree/canary/skills/next-dev-loop`). If the app is webpack-pinned, drive a browser directly (`agent-browser`, Playwright) — you lose the framework cross-checks, not the insights; they're still in the overlay and the dev log.
-- **A runnable app.** Verification runs against `next dev` for the insight sweep and a production `next build`/`next start` for prefetching (prefetching is prod-only), so the app has to boot in both. If it reads a database or required env at import (e.g. an `env.ts` that throws on a missing `DATABASE_URL`), confirm it starts — with the real environment, or local data you stand up — before step 1. An app that won't run can't be swept or verified.
+- **A runnable app.** Preservation and the final demonstration need a production-like build because automatic prefetching runs only in production. The development server is required only when using the insight path or running the post-flag URL-data sweep; do not start it merely to confirm a test-backed preservation case. If the app reads a database or required environment at import, confirm the environment used by the chosen path can start before step 1.
### notes
@@ -35,75 +40,104 @@ Talk to the user in terms of what they'll see — PRs, features, and how the app
## background
-Adopting Partial Prefetching means every route still delivers what its links prefetched before, now split between the shared App Shell and any extra per-link data a link explicitly asks for. The [guide](https://nextjs.org/docs/app/guides/adopting-partial-prefetching) is the canonical reference for what a prefetch contains and how to decide each case; this skill sequences that work against a running app.
+Adopting Partial Prefetching means every route preserves the prefetched UI that matters, now split between the shared App Shell and any extra per-link data a link explicitly asks for. The [guide](https://nextjs.org/docs/app/guides/adopting-partial-prefetching) is the canonical reference for what a prefetch contains and how to decide each case; this skill sequences that work against a running app.
The catch that decides most of the sweep: a default link warms only the shared App Shell. A route keyed by `params` or `searchParams` can prefetch more only after it has adopted Partial Prefetching and a specific link uses [``](https://nextjs.org/docs/app/api-reference/components/link#prefetch); then Next.js resolves the URL data and any cached content behind it before the click (the guide's [URL data](https://nextjs.org/docs/app/guides/adopting-partial-prefetching#url-data) section).
## working surfaces
-- **The dev server terminal — your primary record.** Each validated route's insights are logged as `Error: Route "...": Next.js encountered ...` lines with the `https://nextjs.org/docs/messages/` link. Tail the dev log during the sweep; it's the greppable record of what fired where, and it works the same on Turbopack and webpack.
+- **The production-mode `instant()` suite — the primary record for test-backed preservation.** Reuse the app's production build, test context, and Playwright setup. Read an existing `instant-nav.rig.md` first; if the project has no rig, create it from **`rig-template.md`**. The same tests define the legacy target before adoption and become the work queue after each destination opts into Partial Prefetching. Development can help investigate a failure, but only this suite decides whether the prefetched UI was preserved.
+- **The dev server terminal — the primary record for the insight path.** Each validated route's insights are logged as `Error: Route "...": Next.js encountered ...` lines with the `https://nextjs.org/docs/messages/` link. Tail the dev log during the sweep; it's the greppable record of what fired where, and it works the same on Turbopack and webpack.
- **The dev overlay Insights tab.** Insights are the amber, non-blocking tab. It appears only once an insight has fired, so a route that surfaces nothing shows no tab at all — that's the clean state, not a missing feature. Don't hunt for the tab on a quiet route; confirm clean from the dev log above, which is the reliable signal. The precondition is no blocking-prerender errors — those replace the insight on their route (see requires). An unrelated Issue (a hydration error, a console error) doesn't block the sweep; don't stall on it. When the tab is present, the overlay pill shows the count and each insight has fix cards linking its docs page. The overlay renders inside a shadow root (`nextjs-portal`), so accessibility-tree snapshots don't see it — evaluate into `shadowRoot` when you need to read or click it programmatically.
- **`next-dev-loop`** to drive navigations and read the overlay. Prefer it over hand-rolled browser automation for the same reasons as in the Cache Components skill (webpack apps: see requires). When browsing its `/_next/mcp` tools, the prefetch insights surface through `get_errors` and the overlay, not the similarly-named `get_request_insights`. That one is the span and performance recorder (gated behind `experimental.requestInsights`) and reports nothing about prefetching.
Every insight has a docs page — open it. Fetch the linked page for every distinct insight you encounter; the inline message is a summary, the page is the recipe.
-## step 1: audit `` (before enabling)
+## step 1: audit `` navigations (before enabling)
-If `partialPrefetching: true` is already set in `next.config.ts`, the app is adopted — skip to [step 3](#step-3-sweep-for-url-data-insights-after-enabling). Otherwise work the audit with the global flag **off**, adopting each destination with `export const prefetch = 'partial'` — enabling the flag first would mark every route adopted and silence the [`instant-link-prefetch-partial`](https://nextjs.org/docs/messages/instant-link-prefetch-partial) insight this audit runs on. Ask the user how to ship it, in the language of PRs:
+Keep the global flag **off** through this audit and the legacy baseline in step 2. Enabling it earlier would remove the legacy behavior the migration needs to measure. If the flag is already on in unshipped work, use the pre-flag commit for the audit and baseline. When the user is available, ask how to ship it in the language of PRs:
-- **One branch** — the whole audit in one change, with the flag enabled and the codemod run at the end (step 2).
-- **Route by route** — each adopted destination ships as its own PR. The insight still fires for the destinations you haven't reached, a live worklist, and step 2 comes after the last one.
+- **One branch** — the whole audit in one change, with the flag enabled and the codemod run at the end (step 4).
+- **Route by route** — each adopted destination ships as its own PR. The insight still fires for the destinations you haven't reached, a live worklist, and step 4 comes after the last one.
-The work is identical either way — only the commit boundaries differ. Default by app size: one branch for a handful of links, route by route when the audit is big enough that reviewers need smaller diffs. Note the choice in your report.
+The work and its order are identical either way — only the commit boundaries differ. When no user is available, default by app size: one branch for a handful of links, route by route when the audit is big enough that reviewers need smaller diffs. Note the choice in your report.
-Enumerate the prefetch sites across the whole source tree, not only `app/` — they often live in `src/components` or shared UI packages: `rg -n '\bprefetch\b|router\.prefetch' -g '*.tsx' -g '*.jsx' .`. Keep the `` and bare-prop matches (a bare prop is `true`) as the over-prefetching links this audit adopts destinations for, and drop `prefetch={false}` and other values. Also audit existing imperative [`router.prefetch()`](https://nextjs.org/docs/app/api-reference/functions/use-router#userouter) call sites with the same table, because they can be preserving the same "fetch before navigation" behavior and have no dev insight. For new navigation prefetching, prefer [``](https://nextjs.org/docs/app/api-reference/components/link), which the docs call the primary navigation API; use [`router.prefetch()`](https://nextjs.org/docs/app/guides/prefetching#manual-prefetch) only for manual prefetching. If the app already passes an internal `kind` option, treat that as existing implementation detail, not a pattern to spread. Always inspect custom Link wrappers and trace their consumers: a wrapper can call `router.prefetch()` on hover or touch while a consumer omits `prefetch` or passes `prefetch={false}`. Record the declarative and imperative behavior separately, and use keyboard activation when verifying the declarative path so hover prefetching does not mask it. If nothing matches, say so in your report and move on to [step 2](#step-2-enable-the-flag).
+Enumerate explicit prefetch and manual prefetch sites across the whole source tree, not only `app/` — they often live in `src/components` or shared UI packages. Start from `next/link` imports and re-exports, then follow custom wrappers to their consumers. Use `rg -n '\bprefetch\b|router\.prefetch' -g '*.tsx' -g '*.jsx' .` as a candidate list, not as the complete audit; inspect conditional props and forwarded `LinkProps` to determine the effective production value. Include every audited navigation whose effective production Link value is `prefetch={true}`: explicit `true`, a bare `prefetch` prop, and expressions that resolve to `true`. Exclude the default value, `prefetch="auto"`, and `prefetch={false}` from the preservation suite because they do not request the legacy full prefetch. Audit existing [`router.prefetch()`](https://nextjs.org/docs/app/api-reference/functions/use-router#userouter) calls separately because they have no Link insight. For new manual prefetching, follow the [Prefetching guide](https://nextjs.org/docs/app/guides/prefetching#manual-prefetch). If no Link resolves to `prefetch={true}`, say so and move on to [step 4](#step-4-enable-the-flag).
-Then, for each one:
+### Choose what to preserve and how to verify it
-1. **Click each `` in `next dev`.** The insight fires at navigation time, not when the link prefetches, so a link sitting in the viewport won't trip it — you have to navigate through it. This click is _verification_: it confirms the insight fires before you adopt and clears after. Imperative `router.prefetch()` sites have no equivalent insight, so audit them from source and verify them in production ([step 4](#step-4-verify)). Without a browser, skip the click and adopt from [`instant-link-prefetch-partial`](https://nextjs.org/docs/messages/instant-link-prefetch-partial) and the audit table below — the destination's structure tells you the row, and type-check gates the edit — then leave the live confirmation for the hand-off.
-2. **Adopt the destination.** Add the temporary route config with a link to the migration guide. That clears the insight for every link pointing at it:
+Before writing tests or editing destinations, follow the guide's [migration guidance](https://nextjs.org/docs/app/guides/adopting-partial-prefetching#migrate-existing-full-prefetches) to propose the UI worth preserving. Present the result in one concise table:
- ```tsx
- // See: https://nextjs.org/docs/app/guides/adopting-partial-prefetching
- export const prefetch = 'partial'
- ```
+| Navigation | Proposed result |
+| ---------- | --------------- |
- If the route reads URL data (`params`, `searchParams`), the default link still warms only its skeleton (the guide's [URL data](https://nextjs.org/docs/app/guides/adopting-partial-prefetching#url-data) section), so it's a per-link-prefetch candidate for step 5, not a finished adoption. Keep `prefetch={true}` on its links and mark the route:
+Group equivalent navigations. Summarize what will be ready immediately and what will stream. When a proposal is ambiguous, show the navigation in the running app and ask the user to confirm it. If they are unavailable, follow the guide and record the assumption.
- ```tsx
- // TODO(per-link-prefetch): assess with the user whether URL data should resolve before click.
- // See: https://nextjs.org/docs/app/guides/optimizing-prefetching
- export const prefetch = 'partial'
- ```
+After the target UI is settled, inspect the existing test setup. The `instant()` helper comes from the separate [`@next/playwright`](https://nextjs.org/docs/app/guides/instant-navigation#prevent-regressions-with-e2e-tests) package, not `next/experimental/testmode/playwright`.
+
+- **Applicable production-mode suite:** use test-backed preservation by default. Reuse the project's `@next/playwright` tests, production scripts, authentication, and existing `instant-nav.rig.md`. Follow the guide's [prefetched UI test workflow](https://nextjs.org/docs/app/guides/adopting-partial-prefetching#verify-prefetched-ui-with-tests) and make the complete flag-off suite green before adoption. The unchanged assertions drive the migration and stay as regression coverage.
+- **No applicable production-mode suite:** set up the production-mode rig in **`rig-template.md`** using the project's package manager and test conventions. This is part of test-backed adoption and does not require a user to be present.
+- **Rig cannot run reliably:** work through **`rig-template.md`** setup and liveness checks. Fall back to manual preservation only for a concrete blocker the repository cannot resolve, such as unavailable credentials or an inaccessible production environment. Record the blocker and the deferred test coverage; do not claim test-backed verification.
+
+No user input is required to reuse an existing suite or create the rig. Ask only when the repository cannot answer an environment question or when the target UI itself is a product decision. If no user is available, use the guide's safe product default and reserve manual verification for a concrete rig blocker. Treat new prefetched UI as step 7 work; verify any deliberate removal separately after adoption.
+
+This workflow is specific to a clicked ``. A direct call such as `router.prefetch('/dashboard')` is a manual prefetch, not a Link prefetch; keep it in the source audit and verify it separately in step 6.
+
+## step 2: capture the legacy baseline
+
+Do not enable `partialPrefetching` or edit route behavior, Link props, or cache boundaries during this step. Test-only configuration required to run `instant()` is allowed.
+
+For test-backed preservation, complete the [preservation gate](#preservation-gate): write the complete `instant()` suite and **run it** against the production-like rig with Partial Prefetching disabled. A test file, build, completed navigation, or command printed for the user is not a baseline. Do not continue to step 3 until the suite has actually passed.
- Use that exact prefix so step 5 can grep them back. Don't cache or decide anything for these routes now.
+For manual preservation, finish the before/target inventory before editing any destination. Fall back to this path only for a concrete rig blocker identified through `rig-template.md`, and record the blocker and deferred tests.
-3. **Preserve what that prefetch delivered.** The guide's [audit table](https://nextjs.org/docs/app/guides/adopting-partial-prefetching#auditing-link-prefetchtrue-calls) is the canonical decision — fetch it and apply the matching row. Caching uncached content is the judgment call in that table: trace where the data comes from and what freshness and revalidation it needs, per the [`use cache`](https://nextjs.org/docs/app/api-reference/directives/use-cache) docs, and ask the user when the answer isn't clear-cut. The URL-data routes you marked in the previous item wait for step 5.
+## step 3: adopt destinations and restore the target
- If the repository already has `instant()` e2e coverage for a destination, run it before editing and preserve its assertion as the contract. A successful build or completed navigation does not prove that the same UI was prefetched. If caching the primary data loader still leaves only a fallback inside `instant()`, inspect rendered descendants and providers for dynamic work, then expand the cache only to the smallest coherent rendered subtree that restores the contract.
+Adopt every audited destination with the temporary route config. The route export is enough for the unchanged tests to exercise Partial Prefetching on that destination while the global flag remains off:
+
+```tsx
+// See: https://nextjs.org/docs/app/guides/adopting-partial-prefetching
+export const prefetch = 'partial'
+```
+
+If other URL-specific UI might be worth prefetching but was not part of the legacy contract, keep `prefetch={true}` on its links and mark the route for step 7:
+
+```tsx
+// TODO(per-link-prefetch): assess with the user whether URL data should resolve before click.
+// See: https://nextjs.org/docs/app/guides/optimizing-prefetching
+export const prefetch = 'partial'
+```
+
+Use that exact prefix so step 7 can grep them back. Do not select new target UI now; restore only the target chosen from the legacy behavior.
+
+For test-backed preservation, rerun the affected **unchanged** tests after each destination changes and treat failures as the work queue. Run the complete suite and record its passing exit status before enabling the global flag. For manual preservation, compare the adopted production navigation with the selected target and document anything not yet restored. Apply the guide's matching preservation pattern for caching and Link-prop changes, and ask the user before making an unclear freshness or caching decision. New URL-data candidates marked above wait for step 7.
+
+When restoring the target changes caching or invalidation, follow the project's existing verification approach. Reuse or extend an applicable suite for the affected lifecycle, such as freshness after mutations, cache scope, or generated values. If the project doesn't test this type of behavior, do not introduce new test infrastructure during adoption; verify it manually in production and record the expected and observed results. A green `instant()` test proves readiness, not cache correctness. Ask the user only when the intended behavior is unclear.
> **If you add `use cache`, verify under `next start`, not only the build.** A `cookies()`/`headers()`/session read anywhere in the cached call tree throws at request time while `next build` passes clean. See [`use cache`](https://nextjs.org/docs/app/api-reference/directives/use-cache).
-## step 2: enable the flag
+## step 4: enable the flag
Once every audited destination has `prefetch = 'partial'`, finish in two moves.
1. **Enable the flag globally.** Set `partialPrefetching: true` in `next.config.ts` (alongside `cacheComponents: true`). Every route is adopted now, so every link is good.
-2. **Strip the redundant `prefetch = 'partial'` exports.** Run the first-party `remove-partial-prefetch` codemod rather than a text find-and-replace. It removes only `export const prefetch = 'partial'` and its generated Partial Prefetching guide comment. It leaves other values such as `prefetch = 'force-disabled'` in place, along with your `TODO(per-link-prefetch)` markers and their Optimizing prefetching guide links, which wait for step 5.
+2. **Strip the redundant `prefetch = 'partial'` exports.** Run the first-party `remove-partial-prefetch` codemod rather than a text find-and-replace. It removes every `export const prefetch = 'partial'`, including exports below a `TODO(per-link-prefetch)` marker, and removes its generated Partial Prefetching guide comment. The TODO marker and its Optimizing prefetching guide link stay for step 7. Other values such as `prefetch = 'force-disabled'` stay in place.
```bash
- npx @next/codemod@latest remove-partial-prefetch ./app
+ npx @next/codemod@canary remove-partial-prefetch ./app
```
- The codemod refuses to run on a dirty working tree. Commit or stash unrelated work first, or pass `--force` to let its edits land alongside your WIP. If the codemod isn't available (older `@next/codemod`, sandboxed environment, offline run), reproduce it by hand by removing `export const prefetch = 'partial'` and its generated Partial Prefetching guide comment from every `app/**/{page,layout}.{js,jsx,ts,tsx}` — leave other `prefetch` values in place, and leave the `TODO(per-link-prefetch)` markers and Optimizing prefetching guide links where they are. Don't hand-edit when the codemod can run.
+ Use `./src/app` in a `src/` project and check the reported file count. The codemod refuses to run on a dirty working tree. Commit or stash unrelated work first, or pass `--force` to let its edits land alongside your WIP. If the codemod isn't available (older `@next/codemod`, sandboxed environment, offline run), reproduce it by hand by removing `export const prefetch = 'partial'` and its generated Partial Prefetching guide comment from every `app/**/{page,layout}.{js,jsx,ts,tsx}` — leave other `prefetch` values in place, and leave the `TODO(per-link-prefetch)` markers and Optimizing prefetching guide links where they are. Don't hand-edit when the codemod can run.
+
+After the flag and codemod land together, rerun the locked preservation suite when using the test-backed path. Otherwise repeat the documented production comparisons under the final global configuration.
-## step 3: sweep for URL-data insights (after enabling)
+## step 5: sweep for URL-data insights (after enabling)
-This is a dev-only second pass. The shell check runs only with the flag on, fires at navigation time, and never blocks the build, so it can happen any time after step 2. Build the route queue from a concrete source (the last `next build` route table, or the `app/` tree) and keep it as a todo list.
+This is a dev-only second pass. The shell check runs only with the flag on, fires at navigation time, and never blocks the build, so it can happen any time after step 4. Build the route queue from a concrete source (the last `next build` route table, or the `app/` tree) and keep it as a todo list.
Sweep feature by feature. A feature is a single product surface — `app/settings/**`, `app/posts/[slug]/**` — not a whole top-level area. Finish one end-to-end before starting the next: load its routes in `next dev` and resolve their insights. The insight never blocks the build and each route is independent, so a partial sweep leaves a working app, and each feature is a self-contained change the user can review or ship on its own.
-If the environment can't finish the whole sweep (slow first compiles, a dev server that falls over under load, no browser at all), take the browser-free work as far as it goes before handing off. Adopt every route you can statically: apply the fix from [`URL data`](https://nextjs.org/docs/messages/instant-shell-url-data) (up to a new `` boundary) and opt the route into `prefetch = 'partial'`, gating on type-check. Work the whole queue in one pass — a larger refactor isn't a reason to defer, and asking whether to continue to the next route or tier isn't a checkpoint; keep going. Stop only for a genuine judgment call, and batch those into the single hand-off report: the routes you statically adopted, the ones still needing a live shell check, and the queue.
+If the environment can't finish the whole sweep (slow first compiles, a dev server that falls over under load, no browser at all), take the browser-free work as far as it goes before handing off. Adopt every route you can statically: apply the fix from [`URL data`](https://nextjs.org/docs/messages/instant-shell-url-data) up to a new `` boundary, gating on type-check. Work the whole queue in one pass — a larger refactor isn't a reason to defer, and asking whether to continue to the next route or tier isn't a checkpoint; keep going. Stop only for a genuine judgment call, and batch those into the single hand-off report: the routes you statically adopted, the ones still needing a live shell check, and the queue.
Watch the Insights tab and the dev log for `Next.js encountered … data` lines. The signal this step adds is [`URL data`](https://nextjs.org/docs/messages/instant-shell-url-data): a `params` or `searchParams` read too high in the suspended subtree ties the shared shell to one URL. This insight is narrow; it most reliably appears on a `generateStaticParams` route where `params` is already under ``, but still awaited before the URL-specific leaf boundary. If a `blocking-prerender-*` error fires instead, apply the same structural fix.
@@ -111,13 +145,15 @@ Loading a route with the flag on prerenders its App Shell, which validates more
These fixes rarely involve the user — each insight names the offending read and its docs page has the fix, so apply it and keep sweeping. Collect the rare exceptions for one batched question at the end: a page that is entirely one URL-dependent region (wrapping it all leaves an empty shell), or a route that should arguably stay opted out. Don't narrate the refactor with comments — the `` boundaries speak for themselves.
-## step 4: verify
+## step 6: verify
Checklist before checking in with the user:
- **An empty sweep is expected when Cache Components adoption finished cleanly.** A quiet log is success, not a missing signal. If you deliberately probe the validation path, use a `generateStaticParams` route with `params` read inside `` but before the URL-specific leaf boundary; other shapes may surface `blocking-prerender-*` instead.
- The App Shells are real: for each route you changed, confirm the first paint after a navigation shows the intended shared content, not an empty shell or a stuck fallback. A `` around the whole page body passes validation with an empty shell, which defeats the point.
-- The insights validate shell _structure_, not that a prefetch actually happened. Confirm on the production run (prefetching is prod-only) that navigating a changed link lands on the shared shell instantly.
+- The insights validate shell _structure_, not that a prefetch actually happened. Confirm on the production run (automatic prefetching runs only in production) that navigating a changed link lands on the shared shell instantly.
+- For test-backed preservation, every locked `instant()` test for an audited `` passes against the production run. For manual preservation, the before/after inventory and any deferred test follow-ups are recorded.
+- Any caching or invalidation changed to preserve the target is verified through an applicable existing test suite or a recorded manual check when the project has no such coverage.
- **If the app prefetches imperatively**, the insight sweep does not cover it, so an empty sweep is not proof the prefetch survived the flag. Verify the call under `next start`: compare the `_rsc` prefetch response or resource timing before/after, and make sure any intentionally preserved full prefetch still carries the data the old call was warming. If it now returns only the App Shell, migrate that call site using the same decision as the nearest `` destination — cache the data, or move per-link-prefetch behavior to a docs-supported ``.
- **Before blaming a broken route on the flag, reproduce it with `partialPrefetching` off** (or on the pre-flag branch). The flag surfaces existing issues — a fragile request-time auth gate, a rewrite, deployment skew — earlier and more visibly, but rarely causes them. If it breaks flag-off too, it isn't a Partial Prefetching problem; fix it there, not here.
- `next build` still passes.
@@ -126,19 +162,23 @@ Then check in with the user. Speak their language — no insight slugs or step l
- What you did: which links you audited, which destinations you adopted, and what each link now prefetches.
- What changed: dropped props, `use cache` boundaries added, and which routes carry a `TODO(per-link-prefetch)` marker for later.
-- Demo against a production run. Prefetching is limited in development, so `next dev` won't show the result — run `next build` and `next start`, and hand the user that URL. That run needs the app's real environment (database, auth, secrets), and a partial or stale install or leftover generated artifacts can fail the build for reasons unrelated to the adoption. Set the expectation up front that verification is a complete, credentialed production run, not a quick check.
+- Demo against a production run. Automatic prefetching runs only in production, so `next dev` won't show the result — run `next build` and `next start`, and hand the user that URL. That run needs the app's real environment (database, auth, secrets), and a partial or stale install or leftover generated artifacts can fail the build for reasons unrelated to the adoption. Set the expectation up front that verification is a complete, credentialed production run, not a quick check.
- Show, don't tell: drive one link live in the headed browser against the production server, so they see the shared App Shell paint instantly and the URL-specific region stream in. Attach before/after screenshots only when a live browser isn't possible.
- Give them the click-through: a table of each changed route — the link to click, and what to expect after the click (what paints instantly, what streams in) — so they can verify each result themselves.
- The question: "Want to commit this (or open the PR) before we look at which routes should also prefetch their URL-specific content?" Wait for the answer — adoption and per-link prefetching read best as their own changes.
-## step 5: per-link prefetching (optional)
+## step 7: per-link prefetching (optional)
+
+The audit marked candidates beyond the already-preserved legacy contract instead of deciding them. Grep for `TODO(per-link-prefetch)` and walk the list with the user in one conversation. The question per route is whether they want the additional URL-dependent content prefetched ahead of the click, or streaming in after navigation is fine. A per-link prefetch costs a server invocation per prefetchable link — the guide's [trade-offs](https://nextjs.org/docs/app/guides/optimizing-prefetching#trade-offs) section is the checklist. Don't make these calls alone.
+
+Where the answer is no, delete the marker and leave the route on the App Shell default. Where the answer is yes, follow the [Optimizing prefetching guide](https://nextjs.org/docs/app/guides/optimizing-prefetching), confirm the opted-in link against a production run, and delete the marker when the selected result is verified.
-The audit marked the candidates instead of deciding them. Grep for `TODO(per-link-prefetch)` and walk the list with the user in one conversation. The question per route is whether they want the URL-dependent content prefetched ahead of the click, or streaming in after navigation is fine. A per-link prefetch costs a server invocation per prefetchable link — the guide's [trade-offs](https://nextjs.org/docs/app/guides/optimizing-prefetching#trade-offs) section is the checklist. Don't make these calls alone.
+No `TODO(per-link-prefetch)` marker survives the finished step. Per-link optimization remains a separate commit or PR from adoption.
-Where the answer is yes, follow the [Optimizing prefetching guide](https://nextjs.org/docs/app/guides/optimizing-prefetching): keep [``](https://nextjs.org/docs/app/api-reference/components/link#prefetch) on the links that should resolve more than the App Shell, and cache the content behind the URL-data read using the guide's patterns (`use cache` with the runtime value passed in, or `use cache: private` for per-user data). Each per-link prefetch is a server render when the destination needs non-static data, so use the guide's [per-link trade-offs](https://nextjs.org/docs/app/guides/optimizing-prefetching#trade-offs) to decide when viewport prefetching is worth it and when [hover-triggered prefetch](https://nextjs.org/docs/app/guides/prefetching#hover-triggered-prefetch) is a better fit. Where it's no, delete the marker and leave the route on the App Shell default. Either way no `TODO(per-link-prefetch)` marker survives this step. Confirm the opted-in links against a production run (`next build` and `next start` — the per-link prefetch runs there, not in `next dev`), give the user the same click-through for them, and keep this as its own commit or PR.
+Finally, show any effective `prefetch={false}` links in a concise `Navigation | Why it may no longer be needed` table. Explain that `false` disables all prefetching, while Partial Prefetching's default `auto` behavior prefetches only the shared App Shell, so opt-outs added to avoid legacy full-route prefetching may now be unnecessary. Invite the user to revisit them separately.
## further reading
- [Instant navigation](https://nextjs.org/docs/app/guides/instant-navigation) — the broader validation model and loading-state tooling.
-- [Prevent regressions with e2e tests](https://nextjs.org/docs/app/guides/instant-navigation#prevent-regressions-with-e2e-tests) — the `@next/playwright` `instant()` helper locks in what a navigation shows immediately; recommend it once the sweep is clean, since nothing else guards these in CI.
+- [Prevent regressions with e2e tests](https://nextjs.org/docs/app/guides/instant-navigation#prevent-regressions-with-e2e-tests) — use the `@next/playwright` `instant()` helper to build the flag-off baseline suite, then keep it as the CI regression guard.
- [`next-cache-components-optimizer`](https://github.com/vercel/next.js/tree/canary/skills/next-cache-components-optimizer) — grows each route's static shell so the App Shell carries more.
diff --git a/skills/next-partial-prefetching-adoption/rig-template.md b/skills/next-partial-prefetching-adoption/rig-template.md
new file mode 100644
index 000000000000..bbfa4c7e84c8
--- /dev/null
+++ b/skills/next-partial-prefetching-adoption/rig-template.md
@@ -0,0 +1,172 @@
+# Production `instant()` rig
+
+The preservation suite needs a production build that exposes the Next.js
+testing API, a stable URL for that build, and a Playwright command that can
+drive the audited Links. Discover this setup once, record it in
+`instant-nav.rig.md`, and reuse it throughout adoption.
+
+Read an existing `instant-nav.rig.md` before creating one. Inspect the
+repository before asking the user:
+
+- `package.json` scripts for build, start, and end-to-end tests
+- `playwright.config.*` for `baseURL`, `webServer`, projects, and authentication
+- `next.config.*` for existing `experimental` options
+- CI, preview deployment, container, and hosting configuration
+- test helpers for login, `storageState`, fixtures, flags, and seeded data
+
+Ask only for details the repository cannot answer, such as unavailable
+credentials or which remote environment may expose the testing API.
+
+## What the rig must define
+
+### Production build and server
+
+Use `next build` followed by `next start`, or a remote artifact produced by the
+same production build. Automatic prefetching does not run in `next dev`, so a
+development server cannot verify preservation.
+
+Record separate build and start commands. For a local rig, record the port,
+stop any previous server before starting, fail on `EADDRINUSE`, and confirm the
+new process owns the port before running Playwright. `next start` can fork a
+`next-server` child, so the launcher process ID may not own the port. Start the
+server in a process group that the rig can stop as a unit, or discover and stop
+the process listening on the recorded port before the next build.
+
+### Testing API
+
+An `instant()` test against a production build requires
+`experimental.exposeTestingApiInProductionBuild`. Gate it so real production
+builds do not expose the API:
+
+```ts filename="next.config.ts" highlight={3,8-10}
+import type { NextConfig } from 'next'
+
+const exposeTestingApi = process.env.EXPOSE_TESTING_API === '1'
+
+const nextConfig: NextConfig = {
+ cacheComponents: true,
+ experimental: {
+ exposeTestingApiInProductionBuild: exposeTestingApi,
+ },
+}
+
+export default nextConfig
+```
+
+Merge the option into an existing `experimental` object instead of replacing
+the project's other experimental options.
+
+Set the condition while running `next build`. Setting it only for `next start`
+is too late because the testing API is compiled into the production artifact.
+When the artifact was built without it, Next.js does not activate the
+navigation lock, so the test cannot distinguish prefetched UI from streamed
+dynamic content. Rebuild with the condition enabled before interpreting the
+results. Use the project's existing environment naming when it already
+distinguishes test, staging, preview, and production builds.
+
+### Test command and base URL
+
+Record the exact Playwright command and how it receives the measured build's
+URL. Reuse the project's package manager, Playwright configuration, projects,
+and reporters. The suite must import `instant()` from `@next/playwright`. If
+the dependencies are absent, install `@next/playwright` on the same release
+line as the project's `next`, alongside `@playwright/test`.
+
+For a local rig, a typical sequence is:
+
+```bash filename="Terminal"
+EXPOSE_TESTING_API=1 pnpm build
+pnpm start --port 3000
+BASE_URL=http://localhost:3000 pnpm playwright test tests/prefetch-preservation.spec.ts
+```
+
+Adapt the script names and port to the project. Keep the production server
+running while the test command executes. Follow the public
+[client-navigation test](https://nextjs.org/docs/app/guides/instant-navigation#prevent-regressions-with-e2e-tests): load the source route, confirm the real
+Link is visible, then enter `instant()`, click, wait for the destination URL,
+and assert the prefetched UI.
+
+### Test context
+
+Record the state required to reach the audited Links and destination UI:
+
+- Use `public; no authentication` when the navigation is public.
+- Otherwise record the test account and login mechanism, including a fixture,
+ `storageState`, API login, or seeded session.
+- Record flags, plan, role, locale, seeded data, and other state that can change
+ which UI the test sees.
+
+A test user is not required. The field exists to make authenticated and
+state-dependent tests reproducible when the app needs one.
+
+### Drift
+
+List differences between the state used to choose the preservation target and
+the state used by Playwright. Feature flags, permissions, empty test data, and
+locale differences can make an assertion fail because the target is
+unreachable, not because Partial Prefetching removed it. Write `none known`
+only after checking the test context.
+
+### Iteration loop
+
+Record the complete loop the agent can repeat without rediscovering commands:
+
+- Local: build with the testing API, start the new artifact, run the focused
+ suite, stop the server, edit, and repeat.
+- Remote: push, wait for the measured artifact, verify it matches `HEAD`, run
+ the focused suite against its URL, edit, and repeat.
+
+Note any step the agent cannot perform without the user, including deployment
+approval, protected branches, secrets, or multi-factor authentication.
+
+### Artifact liveness
+
+For a remote rig, record how the test proves the deployment matches `HEAD`.
+Prefer an endpoint or response header that exposes the deployed commit SHA. If
+the app has neither, use the deployment provider's API to select the artifact
+whose commit SHA matches `HEAD`.
+
+A freshly completed local `build` followed by `start` does not need a SHA
+probe. Record `n/a; local build and start`.
+
+### Walls
+
+Record build and run obstacles with their working resolution, such as required
+environment variables, server-only imports that fail during prerendering,
+unavailable credentials, or a process that keeps reclaiming the test port.
+Reuse these notes on the next iteration.
+
+## Write `instant-nav.rig.md`
+
+Place this file at the repository root or next to the end-to-end configuration:
+
+```md
+# instant-nav rig:
+
+- BUILD:
+- EXPOSE:
+- RUN:
+- TEST USER: ; state:
+- DRIFT:
+- LOOP: ; agent limits: <...>
+- LIVENESS:
+- WALLS:
+```
+
+Every field needs a concrete value. `n/a` is valid only with a reason, such as
+`TEST USER: public; no authentication` or `LIVENESS: n/a; local build and
+start`.
+
+## Check the rig before writing the baseline
+
+Before recording the legacy prefetched UI:
+
+1. Build with the testing API condition enabled.
+2. Start or locate that exact artifact and confirm the base URL responds.
+3. Run one focused `instant()` smoke test through a real `` navigation.
+4. Confirm the test can reach its source Link and eventual destination UI in
+ the recorded test context.
+
+Fix the rig before interpreting a preservation failure. A missing testing API,
+stale deployment, unreachable target, or wrong test state is an environment
+failure rather than evidence that the migration changed the prefetch.
From 3243c970fc4dd6add9e64d0dd1e51ae899b675b3 Mon Sep 17 00:00:00 2001
From: "next-js-bot[bot]" <279046576+next-js-bot[bot]@users.noreply.github.com>
Date: Thu, 27 Aug 2026 20:13:20 +0000
Subject: [PATCH 2/9] Upgrade React from `f789f203-20260825` to
`29d9d318-20260826` (#97995)
---
package.json | 30 +-
.../cjs/react-dom-client.development.js | 15 +-
.../cjs/react-dom-client.production.js | 15 +-
.../cjs/react-dom-profiling.development.js | 15 +-
.../cjs/react-dom-profiling.profiling.js | 15 +-
...t-dom-server-legacy.browser.development.js | 2 +-
...ct-dom-server-legacy.browser.production.js | 2 +-
...eact-dom-server-legacy.node.development.js | 2 +-
...react-dom-server-legacy.node.production.js | 2 +-
.../react-dom-server.browser.development.js | 6 +-
.../react-dom-server.browser.production.js | 6 +-
.../cjs/react-dom-server.bun.production.js | 6 +-
.../cjs/react-dom-server.edge.development.js | 6 +-
.../cjs/react-dom-server.edge.production.js | 6 +-
.../cjs/react-dom-server.node.development.js | 6 +-
.../cjs/react-dom-server.node.production.js | 6 +-
.../react-dom-unstable_testing.development.js | 15 +-
.../react-dom-unstable_testing.production.js | 15 +-
.../cjs/react-dom.development.js | 2 +-
.../cjs/react-dom.production.js | 2 +-
.../cjs/react-dom.react-server.development.js | 2 +-
.../cjs/react-dom.react-server.production.js | 2 +-
.../react-dom-experimental/package.json | 4 +-
.../cjs/react-dom-client.development.js | 15 +-
.../cjs/react-dom-client.production.js | 15 +-
.../cjs/react-dom-profiling.development.js | 15 +-
.../cjs/react-dom-profiling.profiling.js | 15 +-
...t-dom-server-legacy.browser.development.js | 2 +-
...ct-dom-server-legacy.browser.production.js | 2 +-
...eact-dom-server-legacy.node.development.js | 2 +-
...react-dom-server-legacy.node.production.js | 2 +-
.../react-dom-server.browser.development.js | 6 +-
.../react-dom-server.browser.production.js | 6 +-
.../cjs/react-dom-server.bun.production.js | 6 +-
.../cjs/react-dom-server.edge.development.js | 6 +-
.../cjs/react-dom-server.edge.production.js | 6 +-
.../cjs/react-dom-server.node.development.js | 6 +-
.../cjs/react-dom-server.node.production.js | 6 +-
.../react-dom/cjs/react-dom.development.js | 2 +-
.../react-dom/cjs/react-dom.production.js | 2 +-
.../cjs/react-dom.react-server.development.js | 2 +-
.../cjs/react-dom.react-server.production.js | 2 +-
.../next/src/compiled/react-dom/package.json | 4 +-
.../cjs/react.development.js | 2 +-
.../cjs/react.production.js | 2 +-
.../cjs/react.react-server.development.js | 2 +-
.../cjs/react.react-server.production.js | 2 +-
.../next/src/compiled/react-is/package.json | 2 +-
...om-turbopack-client.browser.development.js | 4 +-
.../package.json | 4 +-
...om-turbopack-client.browser.development.js | 4 +-
.../react-server-dom-turbopack/package.json | 4 +-
...-dom-webpack-client.browser.development.js | 4 +-
.../package.json | 4 +-
...-dom-webpack-client.browser.development.js | 4 +-
.../react-server-dom-webpack/package.json | 4 +-
.../compiled/react/cjs/react.development.js | 2 +-
.../compiled/react/cjs/react.production.js | 2 +-
.../cjs/react.react-server.development.js | 2 +-
.../cjs/react.react-server.production.js | 2 +-
.../next/src/compiled/unistore/unistore.js | 2 +-
pnpm-lock.yaml | 1192 ++++++++---------
62 files changed, 779 insertions(+), 769 deletions(-)
diff --git a/package.json b/package.json
index 29ea9d3fa523..dedde3d180ec 100644
--- a/package.json
+++ b/package.json
@@ -259,24 +259,24 @@
"pretty-ms": "7.0.0",
"random-seed": "0.3.0",
"react": "19.0.0",
- "react-builtin": "npm:react@19.3.0-canary-f789f203-20260825",
+ "react-builtin": "npm:react@19.3.0-canary-29d9d318-20260826",
"react-dom": "19.0.0",
- "react-dom-builtin": "npm:react-dom@19.3.0-canary-f789f203-20260825",
- "react-dom-experimental-builtin": "npm:react-dom@0.0.0-experimental-f789f203-20260825",
- "react-experimental-builtin": "npm:react@0.0.0-experimental-f789f203-20260825",
- "react-is-builtin": "npm:react-is@19.3.0-canary-f789f203-20260825",
- "react-server-dom-turbopack": "npm:react-server-dom-turbopack@19.3.0-canary-f789f203-20260825",
- "react-server-dom-turbopack-experimental": "npm:react-server-dom-turbopack@0.0.0-experimental-f789f203-20260825",
- "react-server-dom-webpack": "npm:react-server-dom-webpack@19.3.0-canary-f789f203-20260825",
- "react-server-dom-webpack-experimental": "npm:react-server-dom-webpack@0.0.0-experimental-f789f203-20260825",
+ "react-dom-builtin": "npm:react-dom@19.3.0-canary-29d9d318-20260826",
+ "react-dom-experimental-builtin": "npm:react-dom@0.0.0-experimental-29d9d318-20260826",
+ "react-experimental-builtin": "npm:react@0.0.0-experimental-29d9d318-20260826",
+ "react-is-builtin": "npm:react-is@19.3.0-canary-29d9d318-20260826",
+ "react-server-dom-turbopack": "npm:react-server-dom-turbopack@19.3.0-canary-29d9d318-20260826",
+ "react-server-dom-turbopack-experimental": "npm:react-server-dom-turbopack@0.0.0-experimental-29d9d318-20260826",
+ "react-server-dom-webpack": "npm:react-server-dom-webpack@19.3.0-canary-29d9d318-20260826",
+ "react-server-dom-webpack-experimental": "npm:react-server-dom-webpack@0.0.0-experimental-29d9d318-20260826",
"react-ssr-prepass": "1.0.8",
"react-virtualized": "9.22.3",
"request-promise-core": "1.1.2",
"resolve-from": "5.0.0",
"sass": "1.54.0",
"satori": "0.29.0",
- "scheduler-builtin": "npm:scheduler@0.28.0-canary-f789f203-20260825",
- "scheduler-experimental-builtin": "npm:scheduler@0.0.0-experimental-f789f203-20260825",
+ "scheduler-builtin": "npm:scheduler@0.28.0-canary-29d9d318-20260826",
+ "scheduler-experimental-builtin": "npm:scheduler@0.0.0-experimental-29d9d318-20260826",
"seedrandom": "3.0.5",
"semver": "7.3.7",
"serve-handler": "6.1.6",
@@ -321,10 +321,10 @@
"@types/react-dom": "19.2.4",
"@types/retry": "0.12.0",
"jest-snapshot": "30.0.0-alpha.6",
- "react": "npm:react@19.3.0-canary-f789f203-20260825",
- "react-dom": "npm:react-dom@19.3.0-canary-f789f203-20260825",
- "react-is": "npm:react-is@19.3.0-canary-f789f203-20260825",
- "scheduler": "npm:scheduler@0.28.0-canary-f789f203-20260825"
+ "react": "npm:react@19.3.0-canary-29d9d318-20260826",
+ "react-dom": "npm:react-dom@19.3.0-canary-29d9d318-20260826",
+ "react-is": "npm:react-is@19.3.0-canary-29d9d318-20260826",
+ "scheduler": "npm:scheduler@0.28.0-canary-29d9d318-20260826"
},
"packageExtensions": {
"eslint-plugin-react-hooks@0.0.0-experimental-6de32a5a-20250822": {
diff --git a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-client.development.js b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-client.development.js
index 59a141fc069c..a960699aed48 100644
--- a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-client.development.js
+++ b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-client.development.js
@@ -26890,7 +26890,7 @@
}
function normalizeListenerOptions(opts) {
return null == opts
- ? "0"
+ ? "c=0"
: "boolean" === typeof opts
? "c=" + (opts ? "1" : "0")
: "c=" + (opts.capture ? "1" : "0");
@@ -30307,7 +30307,8 @@
SyntheticWheelEvent = createSyntheticEvent(WheelEventInterface),
ToggleEventInterface = assign({}, EventInterface, {
newState: 0,
- oldState: 0
+ oldState: 0,
+ source: 0
}),
SyntheticToggleEvent = createSyntheticEvent(ToggleEventInterface),
END_KEYCODES = [9, 13, 27, 32],
@@ -33369,11 +33370,11 @@
};
(function () {
var isomorphicReactPackageVersion = React.version;
- if ("19.3.0-experimental-f789f203-20260825" !== isomorphicReactPackageVersion)
+ if ("19.3.0-experimental-29d9d318-20260826" !== isomorphicReactPackageVersion)
throw Error(
'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' +
(isomorphicReactPackageVersion +
- "\n - react-dom: 19.3.0-experimental-f789f203-20260825\nLearn more: https://react.dev/warnings/version-mismatch")
+ "\n - react-dom: 19.3.0-experimental-29d9d318-20260826\nLearn more: https://react.dev/warnings/version-mismatch")
);
})();
("function" === typeof Map &&
@@ -33410,10 +33411,10 @@
!(function () {
var internals = {
bundleType: 1,
- version: "19.3.0-experimental-f789f203-20260825",
+ version: "19.3.0-experimental-29d9d318-20260826",
rendererPackageName: "react-dom",
currentDispatcherRef: ReactSharedInternals,
- reconcilerVersion: "19.3.0-experimental-f789f203-20260825"
+ reconcilerVersion: "19.3.0-experimental-29d9d318-20260826"
};
internals.overrideHookState = overrideHookState;
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
@@ -33561,7 +33562,7 @@
listenToAllSupportedEvents(container);
return new ReactDOMHydrationRoot(initialChildren);
};
- exports.version = "19.3.0-experimental-f789f203-20260825";
+ exports.version = "19.3.0-experimental-29d9d318-20260826";
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
"function" ===
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
diff --git a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-client.production.js b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-client.production.js
index 62c663b08968..10539270ae37 100644
--- a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-client.production.js
+++ b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-client.production.js
@@ -2040,7 +2040,8 @@ var KeyboardEventInterface = assign({}, UIEventInterface, {
SyntheticWheelEvent = createSyntheticEvent(WheelEventInterface),
ToggleEventInterface = assign({}, EventInterface, {
newState: 0,
- oldState: 0
+ oldState: 0,
+ source: 0
}),
SyntheticToggleEvent = createSyntheticEvent(ToggleEventInterface),
END_KEYCODES = [9, 13, 27, 32],
@@ -17996,7 +17997,7 @@ function getAttachOptions(opts) {
}
function normalizeListenerOptions(opts) {
return null == opts
- ? "0"
+ ? "c=0"
: "boolean" === typeof opts
? "c=" + (opts ? "1" : "0")
: "c=" + (opts.capture ? "1" : "0");
@@ -20362,14 +20363,14 @@ ReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function (target) {
};
var isomorphicReactPackageVersion$jscomp$inline_2233 = React.version;
if (
- "19.3.0-experimental-f789f203-20260825" !==
+ "19.3.0-experimental-29d9d318-20260826" !==
isomorphicReactPackageVersion$jscomp$inline_2233
)
throw Error(
formatProdErrorMessage(
527,
isomorphicReactPackageVersion$jscomp$inline_2233,
- "19.3.0-experimental-f789f203-20260825"
+ "19.3.0-experimental-29d9d318-20260826"
)
);
ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
@@ -20391,10 +20392,10 @@ ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
};
var internals$jscomp$inline_2889 = {
bundleType: 0,
- version: "19.3.0-experimental-f789f203-20260825",
+ version: "19.3.0-experimental-29d9d318-20260826",
rendererPackageName: "react-dom",
currentDispatcherRef: ReactSharedInternals,
- reconcilerVersion: "19.3.0-experimental-f789f203-20260825"
+ reconcilerVersion: "19.3.0-experimental-29d9d318-20260826"
};
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
var hook$jscomp$inline_2890 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
@@ -20501,4 +20502,4 @@ exports.hydrateRoot = function (container, initialChildren, options) {
listenToAllSupportedEvents(container);
return new ReactDOMHydrationRoot(initialChildren);
};
-exports.version = "19.3.0-experimental-f789f203-20260825";
+exports.version = "19.3.0-experimental-29d9d318-20260826";
diff --git a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-profiling.development.js b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-profiling.development.js
index 8e65e156d890..7821f27f9881 100644
--- a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-profiling.development.js
+++ b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-profiling.development.js
@@ -26898,7 +26898,7 @@
}
function normalizeListenerOptions(opts) {
return null == opts
- ? "0"
+ ? "c=0"
: "boolean" === typeof opts
? "c=" + (opts ? "1" : "0")
: "c=" + (opts.capture ? "1" : "0");
@@ -30364,7 +30364,8 @@
SyntheticWheelEvent = createSyntheticEvent(WheelEventInterface),
ToggleEventInterface = assign({}, EventInterface, {
newState: 0,
- oldState: 0
+ oldState: 0,
+ source: 0
}),
SyntheticToggleEvent = createSyntheticEvent(ToggleEventInterface),
END_KEYCODES = [9, 13, 27, 32],
@@ -33426,11 +33427,11 @@
};
(function () {
var isomorphicReactPackageVersion = React.version;
- if ("19.3.0-experimental-f789f203-20260825" !== isomorphicReactPackageVersion)
+ if ("19.3.0-experimental-29d9d318-20260826" !== isomorphicReactPackageVersion)
throw Error(
'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' +
(isomorphicReactPackageVersion +
- "\n - react-dom: 19.3.0-experimental-f789f203-20260825\nLearn more: https://react.dev/warnings/version-mismatch")
+ "\n - react-dom: 19.3.0-experimental-29d9d318-20260826\nLearn more: https://react.dev/warnings/version-mismatch")
);
})();
("function" === typeof Map &&
@@ -33467,10 +33468,10 @@
!(function () {
var internals = {
bundleType: 1,
- version: "19.3.0-experimental-f789f203-20260825",
+ version: "19.3.0-experimental-29d9d318-20260826",
rendererPackageName: "react-dom",
currentDispatcherRef: ReactSharedInternals,
- reconcilerVersion: "19.3.0-experimental-f789f203-20260825"
+ reconcilerVersion: "19.3.0-experimental-29d9d318-20260826"
};
internals.overrideHookState = overrideHookState;
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
@@ -33960,7 +33961,7 @@
exports.useFormStatus = function () {
return resolveDispatcher().useHostTransitionStatus();
};
- exports.version = "19.3.0-experimental-f789f203-20260825";
+ exports.version = "19.3.0-experimental-29d9d318-20260826";
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
"function" ===
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
diff --git a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-profiling.profiling.js b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-profiling.profiling.js
index 13e4f4c97cc7..f00a5c11c87b 100644
--- a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-profiling.profiling.js
+++ b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-profiling.profiling.js
@@ -2136,7 +2136,8 @@ var KeyboardEventInterface = assign({}, UIEventInterface, {
SyntheticWheelEvent = createSyntheticEvent(WheelEventInterface),
ToggleEventInterface = assign({}, EventInterface, {
newState: 0,
- oldState: 0
+ oldState: 0,
+ source: 0
}),
SyntheticToggleEvent = createSyntheticEvent(ToggleEventInterface),
END_KEYCODES = [9, 13, 27, 32],
@@ -20061,7 +20062,7 @@ function getAttachOptions(opts) {
}
function normalizeListenerOptions(opts) {
return null == opts
- ? "0"
+ ? "c=0"
: "boolean" === typeof opts
? "c=" + (opts ? "1" : "0")
: "c=" + (opts.capture ? "1" : "0");
@@ -22449,14 +22450,14 @@ ReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function (target) {
};
var isomorphicReactPackageVersion$jscomp$inline_2537 = React.version;
if (
- "19.3.0-experimental-f789f203-20260825" !==
+ "19.3.0-experimental-29d9d318-20260826" !==
isomorphicReactPackageVersion$jscomp$inline_2537
)
throw Error(
formatProdErrorMessage(
527,
isomorphicReactPackageVersion$jscomp$inline_2537,
- "19.3.0-experimental-f789f203-20260825"
+ "19.3.0-experimental-29d9d318-20260826"
)
);
ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
@@ -22478,10 +22479,10 @@ ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
};
var internals$jscomp$inline_3210 = {
bundleType: 0,
- version: "19.3.0-experimental-f789f203-20260825",
+ version: "19.3.0-experimental-29d9d318-20260826",
rendererPackageName: "react-dom",
currentDispatcherRef: ReactSharedInternals,
- reconcilerVersion: "19.3.0-experimental-f789f203-20260825"
+ reconcilerVersion: "19.3.0-experimental-29d9d318-20260826"
};
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
var hook$jscomp$inline_3211 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
@@ -22761,7 +22762,7 @@ exports.useFormState = function (action, initialState, permalink) {
exports.useFormStatus = function () {
return ReactSharedInternals.H.useHostTransitionStatus();
};
-exports.version = "19.3.0-experimental-f789f203-20260825";
+exports.version = "19.3.0-experimental-29d9d318-20260826";
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
"function" ===
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
diff --git a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server-legacy.browser.development.js b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server-legacy.browser.development.js
index a799884350e8..979bae2a841c 100644
--- a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server-legacy.browser.development.js
+++ b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server-legacy.browser.development.js
@@ -10825,5 +10825,5 @@
'The server used "renderToString" which does not support Suspense. If you intended for this Suspense boundary to render the fallback content on the server consider throwing an Error somewhere within the Suspense boundary. If you intended to have the server wait for the suspended component please switch to "renderToReadableStream" which supports Suspense on the server'
);
};
- exports.version = "19.3.0-experimental-f789f203-20260825";
+ exports.version = "19.3.0-experimental-29d9d318-20260826";
})();
diff --git a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server-legacy.browser.production.js b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server-legacy.browser.production.js
index 006d98b76713..5ca2403da3dc 100644
--- a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server-legacy.browser.production.js
+++ b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server-legacy.browser.production.js
@@ -7253,4 +7253,4 @@ exports.renderToString = function (children, options) {
'The server used "renderToString" which does not support Suspense. If you intended for this Suspense boundary to render the fallback content on the server consider throwing an Error somewhere within the Suspense boundary. If you intended to have the server wait for the suspended component please switch to "renderToReadableStream" which supports Suspense on the server'
);
};
-exports.version = "19.3.0-experimental-f789f203-20260825";
+exports.version = "19.3.0-experimental-29d9d318-20260826";
diff --git a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server-legacy.node.development.js b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server-legacy.node.development.js
index 234b5517fc5f..1aacab42b352 100644
--- a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server-legacy.node.development.js
+++ b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server-legacy.node.development.js
@@ -10825,5 +10825,5 @@
'The server used "renderToString" which does not support Suspense. If you intended for this Suspense boundary to render the fallback content on the server consider throwing an Error somewhere within the Suspense boundary. If you intended to have the server wait for the suspended component please switch to "renderToPipeableStream" which supports Suspense on the server'
);
};
- exports.version = "19.3.0-experimental-f789f203-20260825";
+ exports.version = "19.3.0-experimental-29d9d318-20260826";
})();
diff --git a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server-legacy.node.production.js b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server-legacy.node.production.js
index c69a5a2f4781..bc3f2593dc92 100644
--- a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server-legacy.node.production.js
+++ b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server-legacy.node.production.js
@@ -7358,4 +7358,4 @@ exports.renderToString = function (children, options) {
'The server used "renderToString" which does not support Suspense. If you intended for this Suspense boundary to render the fallback content on the server consider throwing an Error somewhere within the Suspense boundary. If you intended to have the server wait for the suspended component please switch to "renderToPipeableStream" which supports Suspense on the server'
);
};
-exports.version = "19.3.0-experimental-f789f203-20260825";
+exports.version = "19.3.0-experimental-29d9d318-20260826";
diff --git a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server.browser.development.js b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server.browser.development.js
index d517eff162a3..628547df0380 100644
--- a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server.browser.development.js
+++ b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server.browser.development.js
@@ -9849,11 +9849,11 @@
}
function ensureCorrectIsomorphicReactVersion() {
var isomorphicReactPackageVersion = React.version;
- if ("19.3.0-experimental-f789f203-20260825" !== isomorphicReactPackageVersion)
+ if ("19.3.0-experimental-29d9d318-20260826" !== isomorphicReactPackageVersion)
throw Error(
'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' +
(isomorphicReactPackageVersion +
- "\n - react-dom: 19.3.0-experimental-f789f203-20260825\nLearn more: https://react.dev/warnings/version-mismatch")
+ "\n - react-dom: 19.3.0-experimental-29d9d318-20260826\nLearn more: https://react.dev/warnings/version-mismatch")
);
}
var React = require("next/dist/compiled/react-experimental"),
@@ -11650,5 +11650,5 @@
startWork(request);
});
};
- exports.version = "19.3.0-experimental-f789f203-20260825";
+ exports.version = "19.3.0-experimental-29d9d318-20260826";
})();
diff --git a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server.browser.production.js b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server.browser.production.js
index d1933f669301..d9f1a5c590be 100644
--- a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server.browser.production.js
+++ b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server.browser.production.js
@@ -7972,12 +7972,12 @@ function getPostponedState(request) {
}
function ensureCorrectIsomorphicReactVersion() {
var isomorphicReactPackageVersion = React.version;
- if ("19.3.0-experimental-f789f203-20260825" !== isomorphicReactPackageVersion)
+ if ("19.3.0-experimental-29d9d318-20260826" !== isomorphicReactPackageVersion)
throw Error(
formatProdErrorMessage(
527,
isomorphicReactPackageVersion,
- "19.3.0-experimental-f789f203-20260825"
+ "19.3.0-experimental-29d9d318-20260826"
)
);
}
@@ -8192,4 +8192,4 @@ exports.resumeAndPrerender = function (children, postponedState, options) {
startWork(request);
});
};
-exports.version = "19.3.0-experimental-f789f203-20260825";
+exports.version = "19.3.0-experimental-29d9d318-20260826";
diff --git a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server.bun.production.js b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server.bun.production.js
index 53c6cc838988..8a4f2c02f900 100644
--- a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server.bun.production.js
+++ b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server.bun.production.js
@@ -7668,11 +7668,11 @@ function getPostponedState(request) {
}
function ensureCorrectIsomorphicReactVersion() {
var isomorphicReactPackageVersion = React.version;
- if ("19.3.0-experimental-f789f203-20260825" !== isomorphicReactPackageVersion)
+ if ("19.3.0-experimental-29d9d318-20260826" !== isomorphicReactPackageVersion)
throw Error(
'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' +
(isomorphicReactPackageVersion +
- "\n - react-dom: 19.3.0-experimental-f789f203-20260825\nLearn more: https://react.dev/warnings/version-mismatch")
+ "\n - react-dom: 19.3.0-experimental-29d9d318-20260826\nLearn more: https://react.dev/warnings/version-mismatch")
);
}
ensureCorrectIsomorphicReactVersion();
@@ -8165,4 +8165,4 @@ exports.resumeToPipeableStream = function (children, postponedState, options) {
}
};
};
-exports.version = "19.3.0-experimental-f789f203-20260825";
+exports.version = "19.3.0-experimental-29d9d318-20260826";
diff --git a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server.edge.development.js b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server.edge.development.js
index c531030c39c6..f34e543b3127 100644
--- a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server.edge.development.js
+++ b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server.edge.development.js
@@ -9878,11 +9878,11 @@
}
function ensureCorrectIsomorphicReactVersion() {
var isomorphicReactPackageVersion = React.version;
- if ("19.3.0-experimental-f789f203-20260825" !== isomorphicReactPackageVersion)
+ if ("19.3.0-experimental-29d9d318-20260826" !== isomorphicReactPackageVersion)
throw Error(
'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' +
(isomorphicReactPackageVersion +
- "\n - react-dom: 19.3.0-experimental-f789f203-20260825\nLearn more: https://react.dev/warnings/version-mismatch")
+ "\n - react-dom: 19.3.0-experimental-29d9d318-20260826\nLearn more: https://react.dev/warnings/version-mismatch")
);
}
var React = require("next/dist/compiled/react-experimental"),
@@ -11675,5 +11675,5 @@
startWork(request);
});
};
- exports.version = "19.3.0-experimental-f789f203-20260825";
+ exports.version = "19.3.0-experimental-29d9d318-20260826";
})();
diff --git a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server.edge.production.js b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server.edge.production.js
index d6c22e206055..127ba4936fe9 100644
--- a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server.edge.production.js
+++ b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server.edge.production.js
@@ -8092,11 +8092,11 @@ function getPostponedState(request) {
}
function ensureCorrectIsomorphicReactVersion() {
var isomorphicReactPackageVersion = React.version;
- if ("19.3.0-experimental-f789f203-20260825" !== isomorphicReactPackageVersion)
+ if ("19.3.0-experimental-29d9d318-20260826" !== isomorphicReactPackageVersion)
throw Error(
'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' +
(isomorphicReactPackageVersion +
- "\n - react-dom: 19.3.0-experimental-f789f203-20260825\nLearn more: https://react.dev/warnings/version-mismatch")
+ "\n - react-dom: 19.3.0-experimental-29d9d318-20260826\nLearn more: https://react.dev/warnings/version-mismatch")
);
}
ensureCorrectIsomorphicReactVersion();
@@ -8310,4 +8310,4 @@ exports.resumeAndPrerender = function (children, postponedState, options) {
startWork(request);
});
};
-exports.version = "19.3.0-experimental-f789f203-20260825";
+exports.version = "19.3.0-experimental-29d9d318-20260826";
diff --git a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server.node.development.js b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server.node.development.js
index a867dee67855..74b58fe619b1 100644
--- a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server.node.development.js
+++ b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server.node.development.js
@@ -9739,11 +9739,11 @@
}
function ensureCorrectIsomorphicReactVersion() {
var isomorphicReactPackageVersion = React.version;
- if ("19.3.0-experimental-f789f203-20260825" !== isomorphicReactPackageVersion)
+ if ("19.3.0-experimental-29d9d318-20260826" !== isomorphicReactPackageVersion)
throw Error(
'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' +
(isomorphicReactPackageVersion +
- "\n - react-dom: 19.3.0-experimental-f789f203-20260825\nLearn more: https://react.dev/warnings/version-mismatch")
+ "\n - react-dom: 19.3.0-experimental-29d9d318-20260826\nLearn more: https://react.dev/warnings/version-mismatch")
);
}
function createDrainHandler(destination, request) {
@@ -11826,5 +11826,5 @@
}
};
};
- exports.version = "19.3.0-experimental-f789f203-20260825";
+ exports.version = "19.3.0-experimental-29d9d318-20260826";
})();
diff --git a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server.node.production.js b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server.node.production.js
index bf4410fcb6a7..4717890240ea 100644
--- a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server.node.production.js
+++ b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server.node.production.js
@@ -7971,11 +7971,11 @@ function getPostponedState(request) {
}
function ensureCorrectIsomorphicReactVersion() {
var isomorphicReactPackageVersion = React.version;
- if ("19.3.0-experimental-f789f203-20260825" !== isomorphicReactPackageVersion)
+ if ("19.3.0-experimental-29d9d318-20260826" !== isomorphicReactPackageVersion)
throw Error(
'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' +
(isomorphicReactPackageVersion +
- "\n - react-dom: 19.3.0-experimental-f789f203-20260825\nLearn more: https://react.dev/warnings/version-mismatch")
+ "\n - react-dom: 19.3.0-experimental-29d9d318-20260826\nLearn more: https://react.dev/warnings/version-mismatch")
);
}
ensureCorrectIsomorphicReactVersion();
@@ -8473,4 +8473,4 @@ exports.resumeToPipeableStream = function (children, postponedState, options) {
}
};
};
-exports.version = "19.3.0-experimental-f789f203-20260825";
+exports.version = "19.3.0-experimental-29d9d318-20260826";
diff --git a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-unstable_testing.development.js b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-unstable_testing.development.js
index fdda0ab0e207..e206b53aa999 100644
--- a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-unstable_testing.development.js
+++ b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-unstable_testing.development.js
@@ -27113,7 +27113,7 @@
}
function normalizeListenerOptions(opts) {
return null == opts
- ? "0"
+ ? "c=0"
: "boolean" === typeof opts
? "c=" + (opts ? "1" : "0")
: "c=" + (opts.capture ? "1" : "0");
@@ -30623,7 +30623,8 @@
SyntheticWheelEvent = createSyntheticEvent(WheelEventInterface),
ToggleEventInterface = assign({}, EventInterface, {
newState: 0,
- oldState: 0
+ oldState: 0,
+ source: 0
}),
SyntheticToggleEvent = createSyntheticEvent(ToggleEventInterface),
END_KEYCODES = [9, 13, 27, 32],
@@ -33690,11 +33691,11 @@
};
(function () {
var isomorphicReactPackageVersion = React.version;
- if ("19.3.0-experimental-f789f203-20260825" !== isomorphicReactPackageVersion)
+ if ("19.3.0-experimental-29d9d318-20260826" !== isomorphicReactPackageVersion)
throw Error(
'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' +
(isomorphicReactPackageVersion +
- "\n - react-dom: 19.3.0-experimental-f789f203-20260825\nLearn more: https://react.dev/warnings/version-mismatch")
+ "\n - react-dom: 19.3.0-experimental-29d9d318-20260826\nLearn more: https://react.dev/warnings/version-mismatch")
);
})();
("function" === typeof Map &&
@@ -33731,10 +33732,10 @@
!(function () {
var internals = {
bundleType: 1,
- version: "19.3.0-experimental-f789f203-20260825",
+ version: "19.3.0-experimental-29d9d318-20260826",
rendererPackageName: "react-dom",
currentDispatcherRef: ReactSharedInternals,
- reconcilerVersion: "19.3.0-experimental-f789f203-20260825"
+ reconcilerVersion: "19.3.0-experimental-29d9d318-20260826"
};
internals.overrideHookState = overrideHookState;
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
@@ -34048,5 +34049,5 @@
}
};
};
- exports.version = "19.3.0-experimental-f789f203-20260825";
+ exports.version = "19.3.0-experimental-29d9d318-20260826";
})();
diff --git a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-unstable_testing.production.js b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-unstable_testing.production.js
index 39fe2cab9618..2d0a47c66328 100644
--- a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-unstable_testing.production.js
+++ b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-unstable_testing.production.js
@@ -2126,7 +2126,8 @@ var KeyboardEventInterface = assign({}, UIEventInterface, {
SyntheticWheelEvent = createSyntheticEvent(WheelEventInterface),
ToggleEventInterface = assign({}, EventInterface, {
newState: 0,
- oldState: 0
+ oldState: 0,
+ source: 0
}),
SyntheticToggleEvent = createSyntheticEvent(ToggleEventInterface),
END_KEYCODES = [9, 13, 27, 32],
@@ -18268,7 +18269,7 @@ function getAttachOptions(opts) {
}
function normalizeListenerOptions(opts) {
return null == opts
- ? "0"
+ ? "c=0"
: "boolean" === typeof opts
? "c=" + (opts ? "1" : "0")
: "c=" + (opts.capture ? "1" : "0");
@@ -20678,14 +20679,14 @@ ReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function (target) {
};
var isomorphicReactPackageVersion$jscomp$inline_2262 = React.version;
if (
- "19.3.0-experimental-f789f203-20260825" !==
+ "19.3.0-experimental-29d9d318-20260826" !==
isomorphicReactPackageVersion$jscomp$inline_2262
)
throw Error(
formatProdErrorMessage(
527,
isomorphicReactPackageVersion$jscomp$inline_2262,
- "19.3.0-experimental-f789f203-20260825"
+ "19.3.0-experimental-29d9d318-20260826"
)
);
ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
@@ -20707,10 +20708,10 @@ ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
};
var internals$jscomp$inline_2923 = {
bundleType: 0,
- version: "19.3.0-experimental-f789f203-20260825",
+ version: "19.3.0-experimental-29d9d318-20260826",
rendererPackageName: "react-dom",
currentDispatcherRef: ReactSharedInternals,
- reconcilerVersion: "19.3.0-experimental-f789f203-20260825"
+ reconcilerVersion: "19.3.0-experimental-29d9d318-20260826"
};
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
var hook$jscomp$inline_2924 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
@@ -20968,4 +20969,4 @@ exports.observeVisibleRects = function (
}
};
};
-exports.version = "19.3.0-experimental-f789f203-20260825";
+exports.version = "19.3.0-experimental-29d9d318-20260826";
diff --git a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom.development.js b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom.development.js
index 3590e012d839..e19f16f50011 100644
--- a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom.development.js
+++ b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom.development.js
@@ -435,7 +435,7 @@
exports.useFormStatus = function () {
return resolveDispatcher().useHostTransitionStatus();
};
- exports.version = "19.3.0-experimental-f789f203-20260825";
+ exports.version = "19.3.0-experimental-29d9d318-20260826";
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
"function" ===
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
diff --git a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom.production.js b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom.production.js
index 89569197df97..0152e6562161 100644
--- a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom.production.js
+++ b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom.production.js
@@ -226,4 +226,4 @@ exports.useFormState = function (action, initialState, permalink) {
exports.useFormStatus = function () {
return ReactSharedInternals.H.useHostTransitionStatus();
};
-exports.version = "19.3.0-experimental-f789f203-20260825";
+exports.version = "19.3.0-experimental-29d9d318-20260826";
diff --git a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom.react-server.development.js b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom.react-server.development.js
index fdb1995c714e..7e5f9c0a2907 100644
--- a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom.react-server.development.js
+++ b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom.react-server.development.js
@@ -345,5 +345,5 @@
}))
: Internals.d.m(href));
};
- exports.version = "19.3.0-experimental-f789f203-20260825";
+ exports.version = "19.3.0-experimental-29d9d318-20260826";
})();
diff --git a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom.react-server.production.js b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom.react-server.production.js
index 461aba1ce8e7..8834656f1529 100644
--- a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom.react-server.production.js
+++ b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom.react-server.production.js
@@ -158,4 +158,4 @@ exports.preloadModule = function (href, options) {
});
} else Internals.d.m(href);
};
-exports.version = "19.3.0-experimental-f789f203-20260825";
+exports.version = "19.3.0-experimental-29d9d318-20260826";
diff --git a/packages/next/src/compiled/react-dom-experimental/package.json b/packages/next/src/compiled/react-dom-experimental/package.json
index b57114b5b6ce..b807474ce367 100644
--- a/packages/next/src/compiled/react-dom-experimental/package.json
+++ b/packages/next/src/compiled/react-dom-experimental/package.json
@@ -72,10 +72,10 @@
"./package.json": "./package.json"
},
"dependencies": {
- "scheduler": "0.0.0-experimental-f789f203-20260825"
+ "scheduler": "0.0.0-experimental-29d9d318-20260826"
},
"peerDependencies": {
- "react": "0.0.0-experimental-f789f203-20260825"
+ "react": "0.0.0-experimental-29d9d318-20260826"
},
"browser": {
"./server.js": "./server.browser.js",
diff --git a/packages/next/src/compiled/react-dom/cjs/react-dom-client.development.js b/packages/next/src/compiled/react-dom/cjs/react-dom-client.development.js
index d48f34c4b019..f1d15bc94104 100644
--- a/packages/next/src/compiled/react-dom/cjs/react-dom-client.development.js
+++ b/packages/next/src/compiled/react-dom/cjs/react-dom-client.development.js
@@ -24511,7 +24511,7 @@
}
function normalizeListenerOptions(opts) {
return null == opts
- ? "0"
+ ? "c=0"
: "boolean" === typeof opts
? "c=" + (opts ? "1" : "0")
: "c=" + (opts.capture ? "1" : "0");
@@ -27937,7 +27937,8 @@
SyntheticWheelEvent = createSyntheticEvent(WheelEventInterface),
ToggleEventInterface = assign({}, EventInterface, {
newState: 0,
- oldState: 0
+ oldState: 0,
+ source: 0
}),
SyntheticToggleEvent = createSyntheticEvent(ToggleEventInterface),
END_KEYCODES = [9, 13, 27, 32],
@@ -30938,11 +30939,11 @@
};
(function () {
var isomorphicReactPackageVersion = React.version;
- if ("19.3.0-canary-f789f203-20260825" !== isomorphicReactPackageVersion)
+ if ("19.3.0-canary-29d9d318-20260826" !== isomorphicReactPackageVersion)
throw Error(
'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' +
(isomorphicReactPackageVersion +
- "\n - react-dom: 19.3.0-canary-f789f203-20260825\nLearn more: https://react.dev/warnings/version-mismatch")
+ "\n - react-dom: 19.3.0-canary-29d9d318-20260826\nLearn more: https://react.dev/warnings/version-mismatch")
);
})();
("function" === typeof Map &&
@@ -30979,10 +30980,10 @@
!(function () {
var internals = {
bundleType: 1,
- version: "19.3.0-canary-f789f203-20260825",
+ version: "19.3.0-canary-29d9d318-20260826",
rendererPackageName: "react-dom",
currentDispatcherRef: ReactSharedInternals,
- reconcilerVersion: "19.3.0-canary-f789f203-20260825"
+ reconcilerVersion: "19.3.0-canary-29d9d318-20260826"
};
internals.overrideHookState = overrideHookState;
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
@@ -31120,7 +31121,7 @@
listenToAllSupportedEvents(container);
return new ReactDOMHydrationRoot(initialChildren);
};
- exports.version = "19.3.0-canary-f789f203-20260825";
+ exports.version = "19.3.0-canary-29d9d318-20260826";
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
"function" ===
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
diff --git a/packages/next/src/compiled/react-dom/cjs/react-dom-client.production.js b/packages/next/src/compiled/react-dom/cjs/react-dom-client.production.js
index c2979ad709f9..215608077328 100644
--- a/packages/next/src/compiled/react-dom/cjs/react-dom-client.production.js
+++ b/packages/next/src/compiled/react-dom/cjs/react-dom-client.production.js
@@ -2069,7 +2069,8 @@ var KeyboardEventInterface = assign({}, UIEventInterface, {
SyntheticWheelEvent = createSyntheticEvent(WheelEventInterface),
ToggleEventInterface = assign({}, EventInterface, {
newState: 0,
- oldState: 0
+ oldState: 0,
+ source: 0
}),
SyntheticToggleEvent = createSyntheticEvent(ToggleEventInterface),
END_KEYCODES = [9, 13, 27, 32],
@@ -16053,7 +16054,7 @@ function getAttachOptions(opts) {
}
function normalizeListenerOptions(opts) {
return null == opts
- ? "0"
+ ? "c=0"
: "boolean" === typeof opts
? "c=" + (opts ? "1" : "0")
: "c=" + (opts.capture ? "1" : "0");
@@ -18431,14 +18432,14 @@ ReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function (target) {
};
var isomorphicReactPackageVersion$jscomp$inline_2040 = React.version;
if (
- "19.3.0-canary-f789f203-20260825" !==
+ "19.3.0-canary-29d9d318-20260826" !==
isomorphicReactPackageVersion$jscomp$inline_2040
)
throw Error(
formatProdErrorMessage(
527,
isomorphicReactPackageVersion$jscomp$inline_2040,
- "19.3.0-canary-f789f203-20260825"
+ "19.3.0-canary-29d9d318-20260826"
)
);
ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
@@ -18460,10 +18461,10 @@ ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
};
var internals$jscomp$inline_2583 = {
bundleType: 0,
- version: "19.3.0-canary-f789f203-20260825",
+ version: "19.3.0-canary-29d9d318-20260826",
rendererPackageName: "react-dom",
currentDispatcherRef: ReactSharedInternals,
- reconcilerVersion: "19.3.0-canary-f789f203-20260825"
+ reconcilerVersion: "19.3.0-canary-29d9d318-20260826"
};
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
var hook$jscomp$inline_2584 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
@@ -18561,4 +18562,4 @@ exports.hydrateRoot = function (container, initialChildren, options) {
listenToAllSupportedEvents(container);
return new ReactDOMHydrationRoot(initialChildren);
};
-exports.version = "19.3.0-canary-f789f203-20260825";
+exports.version = "19.3.0-canary-29d9d318-20260826";
diff --git a/packages/next/src/compiled/react-dom/cjs/react-dom-profiling.development.js b/packages/next/src/compiled/react-dom/cjs/react-dom-profiling.development.js
index 0839978b3958..559e6a69663f 100644
--- a/packages/next/src/compiled/react-dom/cjs/react-dom-profiling.development.js
+++ b/packages/next/src/compiled/react-dom/cjs/react-dom-profiling.development.js
@@ -24519,7 +24519,7 @@
}
function normalizeListenerOptions(opts) {
return null == opts
- ? "0"
+ ? "c=0"
: "boolean" === typeof opts
? "c=" + (opts ? "1" : "0")
: "c=" + (opts.capture ? "1" : "0");
@@ -27995,7 +27995,8 @@
SyntheticWheelEvent = createSyntheticEvent(WheelEventInterface),
ToggleEventInterface = assign({}, EventInterface, {
newState: 0,
- oldState: 0
+ oldState: 0,
+ source: 0
}),
SyntheticToggleEvent = createSyntheticEvent(ToggleEventInterface),
END_KEYCODES = [9, 13, 27, 32],
@@ -30996,11 +30997,11 @@
};
(function () {
var isomorphicReactPackageVersion = React.version;
- if ("19.3.0-canary-f789f203-20260825" !== isomorphicReactPackageVersion)
+ if ("19.3.0-canary-29d9d318-20260826" !== isomorphicReactPackageVersion)
throw Error(
'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' +
(isomorphicReactPackageVersion +
- "\n - react-dom: 19.3.0-canary-f789f203-20260825\nLearn more: https://react.dev/warnings/version-mismatch")
+ "\n - react-dom: 19.3.0-canary-29d9d318-20260826\nLearn more: https://react.dev/warnings/version-mismatch")
);
})();
("function" === typeof Map &&
@@ -31037,10 +31038,10 @@
!(function () {
var internals = {
bundleType: 1,
- version: "19.3.0-canary-f789f203-20260825",
+ version: "19.3.0-canary-29d9d318-20260826",
rendererPackageName: "react-dom",
currentDispatcherRef: ReactSharedInternals,
- reconcilerVersion: "19.3.0-canary-f789f203-20260825"
+ reconcilerVersion: "19.3.0-canary-29d9d318-20260826"
};
internals.overrideHookState = overrideHookState;
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
@@ -31520,7 +31521,7 @@
exports.useFormStatus = function () {
return resolveDispatcher().useHostTransitionStatus();
};
- exports.version = "19.3.0-canary-f789f203-20260825";
+ exports.version = "19.3.0-canary-29d9d318-20260826";
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
"function" ===
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
diff --git a/packages/next/src/compiled/react-dom/cjs/react-dom-profiling.profiling.js b/packages/next/src/compiled/react-dom/cjs/react-dom-profiling.profiling.js
index adbf48c783ff..cb8f69749917 100644
--- a/packages/next/src/compiled/react-dom/cjs/react-dom-profiling.profiling.js
+++ b/packages/next/src/compiled/react-dom/cjs/react-dom-profiling.profiling.js
@@ -2166,7 +2166,8 @@ var KeyboardEventInterface = assign({}, UIEventInterface, {
SyntheticWheelEvent = createSyntheticEvent(WheelEventInterface),
ToggleEventInterface = assign({}, EventInterface, {
newState: 0,
- oldState: 0
+ oldState: 0,
+ source: 0
}),
SyntheticToggleEvent = createSyntheticEvent(ToggleEventInterface),
END_KEYCODES = [9, 13, 27, 32],
@@ -17965,7 +17966,7 @@ function getAttachOptions(opts) {
}
function normalizeListenerOptions(opts) {
return null == opts
- ? "0"
+ ? "c=0"
: "boolean" === typeof opts
? "c=" + (opts ? "1" : "0")
: "c=" + (opts.capture ? "1" : "0");
@@ -20365,14 +20366,14 @@ ReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function (target) {
};
var isomorphicReactPackageVersion$jscomp$inline_2344 = React.version;
if (
- "19.3.0-canary-f789f203-20260825" !==
+ "19.3.0-canary-29d9d318-20260826" !==
isomorphicReactPackageVersion$jscomp$inline_2344
)
throw Error(
formatProdErrorMessage(
527,
isomorphicReactPackageVersion$jscomp$inline_2344,
- "19.3.0-canary-f789f203-20260825"
+ "19.3.0-canary-29d9d318-20260826"
)
);
ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
@@ -20394,10 +20395,10 @@ ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
};
var internals$jscomp$inline_2900 = {
bundleType: 0,
- version: "19.3.0-canary-f789f203-20260825",
+ version: "19.3.0-canary-29d9d318-20260826",
rendererPackageName: "react-dom",
currentDispatcherRef: ReactSharedInternals,
- reconcilerVersion: "19.3.0-canary-f789f203-20260825"
+ reconcilerVersion: "19.3.0-canary-29d9d318-20260826"
};
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
var hook$jscomp$inline_2901 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
@@ -20668,7 +20669,7 @@ exports.useFormState = function (action, initialState, permalink) {
exports.useFormStatus = function () {
return ReactSharedInternals.H.useHostTransitionStatus();
};
-exports.version = "19.3.0-canary-f789f203-20260825";
+exports.version = "19.3.0-canary-29d9d318-20260826";
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
"function" ===
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
diff --git a/packages/next/src/compiled/react-dom/cjs/react-dom-server-legacy.browser.development.js b/packages/next/src/compiled/react-dom/cjs/react-dom-server-legacy.browser.development.js
index c6d47be0f36e..dccad9e3bf07 100644
--- a/packages/next/src/compiled/react-dom/cjs/react-dom-server-legacy.browser.development.js
+++ b/packages/next/src/compiled/react-dom/cjs/react-dom-server-legacy.browser.development.js
@@ -10438,5 +10438,5 @@
'The server used "renderToString" which does not support Suspense. If you intended for this Suspense boundary to render the fallback content on the server consider throwing an Error somewhere within the Suspense boundary. If you intended to have the server wait for the suspended component please switch to "renderToReadableStream" which supports Suspense on the server'
);
};
- exports.version = "19.3.0-canary-f789f203-20260825";
+ exports.version = "19.3.0-canary-29d9d318-20260826";
})();
diff --git a/packages/next/src/compiled/react-dom/cjs/react-dom-server-legacy.browser.production.js b/packages/next/src/compiled/react-dom/cjs/react-dom-server-legacy.browser.production.js
index 9182f77ba462..a512c3f3c9ea 100644
--- a/packages/next/src/compiled/react-dom/cjs/react-dom-server-legacy.browser.production.js
+++ b/packages/next/src/compiled/react-dom/cjs/react-dom-server-legacy.browser.production.js
@@ -6975,4 +6975,4 @@ exports.renderToString = function (children, options) {
'The server used "renderToString" which does not support Suspense. If you intended for this Suspense boundary to render the fallback content on the server consider throwing an Error somewhere within the Suspense boundary. If you intended to have the server wait for the suspended component please switch to "renderToReadableStream" which supports Suspense on the server'
);
};
-exports.version = "19.3.0-canary-f789f203-20260825";
+exports.version = "19.3.0-canary-29d9d318-20260826";
diff --git a/packages/next/src/compiled/react-dom/cjs/react-dom-server-legacy.node.development.js b/packages/next/src/compiled/react-dom/cjs/react-dom-server-legacy.node.development.js
index 61ec17a94e43..836ff9bde22a 100644
--- a/packages/next/src/compiled/react-dom/cjs/react-dom-server-legacy.node.development.js
+++ b/packages/next/src/compiled/react-dom/cjs/react-dom-server-legacy.node.development.js
@@ -10438,5 +10438,5 @@
'The server used "renderToString" which does not support Suspense. If you intended for this Suspense boundary to render the fallback content on the server consider throwing an Error somewhere within the Suspense boundary. If you intended to have the server wait for the suspended component please switch to "renderToPipeableStream" which supports Suspense on the server'
);
};
- exports.version = "19.3.0-canary-f789f203-20260825";
+ exports.version = "19.3.0-canary-29d9d318-20260826";
})();
diff --git a/packages/next/src/compiled/react-dom/cjs/react-dom-server-legacy.node.production.js b/packages/next/src/compiled/react-dom/cjs/react-dom-server-legacy.node.production.js
index 97128d6aba88..2afa2044aef8 100644
--- a/packages/next/src/compiled/react-dom/cjs/react-dom-server-legacy.node.production.js
+++ b/packages/next/src/compiled/react-dom/cjs/react-dom-server-legacy.node.production.js
@@ -7069,4 +7069,4 @@ exports.renderToString = function (children, options) {
'The server used "renderToString" which does not support Suspense. If you intended for this Suspense boundary to render the fallback content on the server consider throwing an Error somewhere within the Suspense boundary. If you intended to have the server wait for the suspended component please switch to "renderToPipeableStream" which supports Suspense on the server'
);
};
-exports.version = "19.3.0-canary-f789f203-20260825";
+exports.version = "19.3.0-canary-29d9d318-20260826";
diff --git a/packages/next/src/compiled/react-dom/cjs/react-dom-server.browser.development.js b/packages/next/src/compiled/react-dom/cjs/react-dom-server.browser.development.js
index cea316d60764..07087e9d103c 100644
--- a/packages/next/src/compiled/react-dom/cjs/react-dom-server.browser.development.js
+++ b/packages/next/src/compiled/react-dom/cjs/react-dom-server.browser.development.js
@@ -9417,11 +9417,11 @@
}
function ensureCorrectIsomorphicReactVersion() {
var isomorphicReactPackageVersion = React.version;
- if ("19.3.0-canary-f789f203-20260825" !== isomorphicReactPackageVersion)
+ if ("19.3.0-canary-29d9d318-20260826" !== isomorphicReactPackageVersion)
throw Error(
'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' +
(isomorphicReactPackageVersion +
- "\n - react-dom: 19.3.0-canary-f789f203-20260825\nLearn more: https://react.dev/warnings/version-mismatch")
+ "\n - react-dom: 19.3.0-canary-29d9d318-20260826\nLearn more: https://react.dev/warnings/version-mismatch")
);
}
var React = require("next/dist/compiled/react"),
@@ -11201,5 +11201,5 @@
startWork(request);
});
};
- exports.version = "19.3.0-canary-f789f203-20260825";
+ exports.version = "19.3.0-canary-29d9d318-20260826";
})();
diff --git a/packages/next/src/compiled/react-dom/cjs/react-dom-server.browser.production.js b/packages/next/src/compiled/react-dom/cjs/react-dom-server.browser.production.js
index afe35988e66f..46255aaa6104 100644
--- a/packages/next/src/compiled/react-dom/cjs/react-dom-server.browser.production.js
+++ b/packages/next/src/compiled/react-dom/cjs/react-dom-server.browser.production.js
@@ -7611,12 +7611,12 @@ function getPostponedState(request) {
}
function ensureCorrectIsomorphicReactVersion() {
var isomorphicReactPackageVersion = React.version;
- if ("19.3.0-canary-f789f203-20260825" !== isomorphicReactPackageVersion)
+ if ("19.3.0-canary-29d9d318-20260826" !== isomorphicReactPackageVersion)
throw Error(
formatProdErrorMessage(
527,
isomorphicReactPackageVersion,
- "19.3.0-canary-f789f203-20260825"
+ "19.3.0-canary-29d9d318-20260826"
)
);
}
@@ -7831,4 +7831,4 @@ exports.resumeAndPrerender = function (children, postponedState, options) {
startWork(request);
});
};
-exports.version = "19.3.0-canary-f789f203-20260825";
+exports.version = "19.3.0-canary-29d9d318-20260826";
diff --git a/packages/next/src/compiled/react-dom/cjs/react-dom-server.bun.production.js b/packages/next/src/compiled/react-dom/cjs/react-dom-server.bun.production.js
index 4585433fc2a2..992c52895e57 100644
--- a/packages/next/src/compiled/react-dom/cjs/react-dom-server.bun.production.js
+++ b/packages/next/src/compiled/react-dom/cjs/react-dom-server.bun.production.js
@@ -7322,11 +7322,11 @@ function getPostponedState(request) {
}
function ensureCorrectIsomorphicReactVersion() {
var isomorphicReactPackageVersion = React.version;
- if ("19.3.0-canary-f789f203-20260825" !== isomorphicReactPackageVersion)
+ if ("19.3.0-canary-29d9d318-20260826" !== isomorphicReactPackageVersion)
throw Error(
'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' +
(isomorphicReactPackageVersion +
- "\n - react-dom: 19.3.0-canary-f789f203-20260825\nLearn more: https://react.dev/warnings/version-mismatch")
+ "\n - react-dom: 19.3.0-canary-29d9d318-20260826\nLearn more: https://react.dev/warnings/version-mismatch")
);
}
ensureCorrectIsomorphicReactVersion();
@@ -7819,4 +7819,4 @@ exports.resumeToPipeableStream = function (children, postponedState, options) {
}
};
};
-exports.version = "19.3.0-canary-f789f203-20260825";
+exports.version = "19.3.0-canary-29d9d318-20260826";
diff --git a/packages/next/src/compiled/react-dom/cjs/react-dom-server.edge.development.js b/packages/next/src/compiled/react-dom/cjs/react-dom-server.edge.development.js
index 0292932024d9..8ca91d8c35dd 100644
--- a/packages/next/src/compiled/react-dom/cjs/react-dom-server.edge.development.js
+++ b/packages/next/src/compiled/react-dom/cjs/react-dom-server.edge.development.js
@@ -9440,11 +9440,11 @@
}
function ensureCorrectIsomorphicReactVersion() {
var isomorphicReactPackageVersion = React.version;
- if ("19.3.0-canary-f789f203-20260825" !== isomorphicReactPackageVersion)
+ if ("19.3.0-canary-29d9d318-20260826" !== isomorphicReactPackageVersion)
throw Error(
'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' +
(isomorphicReactPackageVersion +
- "\n - react-dom: 19.3.0-canary-f789f203-20260825\nLearn more: https://react.dev/warnings/version-mismatch")
+ "\n - react-dom: 19.3.0-canary-29d9d318-20260826\nLearn more: https://react.dev/warnings/version-mismatch")
);
}
var React = require("next/dist/compiled/react"),
@@ -11220,5 +11220,5 @@
startWork(request);
});
};
- exports.version = "19.3.0-canary-f789f203-20260825";
+ exports.version = "19.3.0-canary-29d9d318-20260826";
})();
diff --git a/packages/next/src/compiled/react-dom/cjs/react-dom-server.edge.production.js b/packages/next/src/compiled/react-dom/cjs/react-dom-server.edge.production.js
index a9b11504b2ba..048a8309ee0b 100644
--- a/packages/next/src/compiled/react-dom/cjs/react-dom-server.edge.production.js
+++ b/packages/next/src/compiled/react-dom/cjs/react-dom-server.edge.production.js
@@ -7720,11 +7720,11 @@ function getPostponedState(request) {
}
function ensureCorrectIsomorphicReactVersion() {
var isomorphicReactPackageVersion = React.version;
- if ("19.3.0-canary-f789f203-20260825" !== isomorphicReactPackageVersion)
+ if ("19.3.0-canary-29d9d318-20260826" !== isomorphicReactPackageVersion)
throw Error(
'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' +
(isomorphicReactPackageVersion +
- "\n - react-dom: 19.3.0-canary-f789f203-20260825\nLearn more: https://react.dev/warnings/version-mismatch")
+ "\n - react-dom: 19.3.0-canary-29d9d318-20260826\nLearn more: https://react.dev/warnings/version-mismatch")
);
}
ensureCorrectIsomorphicReactVersion();
@@ -7938,4 +7938,4 @@ exports.resumeAndPrerender = function (children, postponedState, options) {
startWork(request);
});
};
-exports.version = "19.3.0-canary-f789f203-20260825";
+exports.version = "19.3.0-canary-29d9d318-20260826";
diff --git a/packages/next/src/compiled/react-dom/cjs/react-dom-server.node.development.js b/packages/next/src/compiled/react-dom/cjs/react-dom-server.node.development.js
index 376921d4db5c..ec8066e523dd 100644
--- a/packages/next/src/compiled/react-dom/cjs/react-dom-server.node.development.js
+++ b/packages/next/src/compiled/react-dom/cjs/react-dom-server.node.development.js
@@ -9315,11 +9315,11 @@
}
function ensureCorrectIsomorphicReactVersion() {
var isomorphicReactPackageVersion = React.version;
- if ("19.3.0-canary-f789f203-20260825" !== isomorphicReactPackageVersion)
+ if ("19.3.0-canary-29d9d318-20260826" !== isomorphicReactPackageVersion)
throw Error(
'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' +
(isomorphicReactPackageVersion +
- "\n - react-dom: 19.3.0-canary-f789f203-20260825\nLearn more: https://react.dev/warnings/version-mismatch")
+ "\n - react-dom: 19.3.0-canary-29d9d318-20260826\nLearn more: https://react.dev/warnings/version-mismatch")
);
}
function createDrainHandler(destination, request) {
@@ -11385,5 +11385,5 @@
}
};
};
- exports.version = "19.3.0-canary-f789f203-20260825";
+ exports.version = "19.3.0-canary-29d9d318-20260826";
})();
diff --git a/packages/next/src/compiled/react-dom/cjs/react-dom-server.node.production.js b/packages/next/src/compiled/react-dom/cjs/react-dom-server.node.production.js
index 209463757406..b140ad38d627 100644
--- a/packages/next/src/compiled/react-dom/cjs/react-dom-server.node.production.js
+++ b/packages/next/src/compiled/react-dom/cjs/react-dom-server.node.production.js
@@ -7613,11 +7613,11 @@ function getPostponedState(request) {
}
function ensureCorrectIsomorphicReactVersion() {
var isomorphicReactPackageVersion = React.version;
- if ("19.3.0-canary-f789f203-20260825" !== isomorphicReactPackageVersion)
+ if ("19.3.0-canary-29d9d318-20260826" !== isomorphicReactPackageVersion)
throw Error(
'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' +
(isomorphicReactPackageVersion +
- "\n - react-dom: 19.3.0-canary-f789f203-20260825\nLearn more: https://react.dev/warnings/version-mismatch")
+ "\n - react-dom: 19.3.0-canary-29d9d318-20260826\nLearn more: https://react.dev/warnings/version-mismatch")
);
}
ensureCorrectIsomorphicReactVersion();
@@ -8115,4 +8115,4 @@ exports.resumeToPipeableStream = function (children, postponedState, options) {
}
};
};
-exports.version = "19.3.0-canary-f789f203-20260825";
+exports.version = "19.3.0-canary-29d9d318-20260826";
diff --git a/packages/next/src/compiled/react-dom/cjs/react-dom.development.js b/packages/next/src/compiled/react-dom/cjs/react-dom.development.js
index 33da6f2c561f..f1f630e2afa8 100644
--- a/packages/next/src/compiled/react-dom/cjs/react-dom.development.js
+++ b/packages/next/src/compiled/react-dom/cjs/react-dom.development.js
@@ -435,7 +435,7 @@
exports.useFormStatus = function () {
return resolveDispatcher().useHostTransitionStatus();
};
- exports.version = "19.3.0-canary-f789f203-20260825";
+ exports.version = "19.3.0-canary-29d9d318-20260826";
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
"function" ===
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
diff --git a/packages/next/src/compiled/react-dom/cjs/react-dom.production.js b/packages/next/src/compiled/react-dom/cjs/react-dom.production.js
index cb4119b0fb6a..eb6e840dec56 100644
--- a/packages/next/src/compiled/react-dom/cjs/react-dom.production.js
+++ b/packages/next/src/compiled/react-dom/cjs/react-dom.production.js
@@ -226,4 +226,4 @@ exports.useFormState = function (action, initialState, permalink) {
exports.useFormStatus = function () {
return ReactSharedInternals.H.useHostTransitionStatus();
};
-exports.version = "19.3.0-canary-f789f203-20260825";
+exports.version = "19.3.0-canary-29d9d318-20260826";
diff --git a/packages/next/src/compiled/react-dom/cjs/react-dom.react-server.development.js b/packages/next/src/compiled/react-dom/cjs/react-dom.react-server.development.js
index 09c7396dc237..ff6ce8a33951 100644
--- a/packages/next/src/compiled/react-dom/cjs/react-dom.react-server.development.js
+++ b/packages/next/src/compiled/react-dom/cjs/react-dom.react-server.development.js
@@ -345,5 +345,5 @@
}))
: Internals.d.m(href));
};
- exports.version = "19.3.0-canary-f789f203-20260825";
+ exports.version = "19.3.0-canary-29d9d318-20260826";
})();
diff --git a/packages/next/src/compiled/react-dom/cjs/react-dom.react-server.production.js b/packages/next/src/compiled/react-dom/cjs/react-dom.react-server.production.js
index 1a443c18df61..e6cebf093477 100644
--- a/packages/next/src/compiled/react-dom/cjs/react-dom.react-server.production.js
+++ b/packages/next/src/compiled/react-dom/cjs/react-dom.react-server.production.js
@@ -158,4 +158,4 @@ exports.preloadModule = function (href, options) {
});
} else Internals.d.m(href);
};
-exports.version = "19.3.0-canary-f789f203-20260825";
+exports.version = "19.3.0-canary-29d9d318-20260826";
diff --git a/packages/next/src/compiled/react-dom/package.json b/packages/next/src/compiled/react-dom/package.json
index a44988ce6813..24f324d5c77e 100644
--- a/packages/next/src/compiled/react-dom/package.json
+++ b/packages/next/src/compiled/react-dom/package.json
@@ -67,10 +67,10 @@
"./package.json": "./package.json"
},
"dependencies": {
- "scheduler": "0.28.0-canary-f789f203-20260825"
+ "scheduler": "0.28.0-canary-29d9d318-20260826"
},
"peerDependencies": {
- "react": "19.3.0-canary-f789f203-20260825"
+ "react": "19.3.0-canary-29d9d318-20260826"
},
"browser": {
"./server.js": "./server.browser.js",
diff --git a/packages/next/src/compiled/react-experimental/cjs/react.development.js b/packages/next/src/compiled/react-experimental/cjs/react.development.js
index da523b204702..56f070203fcd 100644
--- a/packages/next/src/compiled/react-experimental/cjs/react.development.js
+++ b/packages/next/src/compiled/react-experimental/cjs/react.development.js
@@ -1391,7 +1391,7 @@
exports.useTransition = function () {
return resolveDispatcher().useTransition();
};
- exports.version = "19.3.0-experimental-f789f203-20260825";
+ exports.version = "19.3.0-experimental-29d9d318-20260826";
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
"function" ===
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
diff --git a/packages/next/src/compiled/react-experimental/cjs/react.production.js b/packages/next/src/compiled/react-experimental/cjs/react.production.js
index 0ec66ca95d98..e9fdb3704571 100644
--- a/packages/next/src/compiled/react-experimental/cjs/react.production.js
+++ b/packages/next/src/compiled/react-experimental/cjs/react.production.js
@@ -613,4 +613,4 @@ exports.useSyncExternalStore = function (
exports.useTransition = function () {
return ReactSharedInternals.H.useTransition();
};
-exports.version = "19.3.0-experimental-f789f203-20260825";
+exports.version = "19.3.0-experimental-29d9d318-20260826";
diff --git a/packages/next/src/compiled/react-experimental/cjs/react.react-server.development.js b/packages/next/src/compiled/react-experimental/cjs/react.react-server.development.js
index 05da3175e170..b440c378777d 100644
--- a/packages/next/src/compiled/react-experimental/cjs/react.react-server.development.js
+++ b/packages/next/src/compiled/react-experimental/cjs/react.react-server.development.js
@@ -1061,5 +1061,5 @@
exports.useMemo = function (create, deps) {
return resolveDispatcher().useMemo(create, deps);
};
- exports.version = "19.3.0-experimental-f789f203-20260825";
+ exports.version = "19.3.0-experimental-29d9d318-20260826";
})();
diff --git a/packages/next/src/compiled/react-experimental/cjs/react.react-server.production.js b/packages/next/src/compiled/react-experimental/cjs/react.react-server.production.js
index 80d97888b0bf..876475660107 100644
--- a/packages/next/src/compiled/react-experimental/cjs/react.react-server.production.js
+++ b/packages/next/src/compiled/react-experimental/cjs/react.react-server.production.js
@@ -579,4 +579,4 @@ exports.useId = function () {
exports.useMemo = function (create, deps) {
return ReactSharedInternals.H.useMemo(create, deps);
};
-exports.version = "19.3.0-experimental-f789f203-20260825";
+exports.version = "19.3.0-experimental-29d9d318-20260826";
diff --git a/packages/next/src/compiled/react-is/package.json b/packages/next/src/compiled/react-is/package.json
index 812df45351a5..86d00200ddc3 100644
--- a/packages/next/src/compiled/react-is/package.json
+++ b/packages/next/src/compiled/react-is/package.json
@@ -1,6 +1,6 @@
{
"name": "react-is",
- "version": "19.3.0-canary-f789f203-20260825",
+ "version": "19.3.0-canary-29d9d318-20260826",
"description": "Brand checking of React Elements.",
"main": "index.js",
"sideEffects": false,
diff --git a/packages/next/src/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-client.browser.development.js b/packages/next/src/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-client.browser.development.js
index dd1e1a3d8d62..018d21476164 100644
--- a/packages/next/src/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-client.browser.development.js
+++ b/packages/next/src/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-client.browser.development.js
@@ -5296,10 +5296,10 @@
return hook.checkDCE ? !0 : !1;
})({
bundleType: 1,
- version: "19.3.0-experimental-f789f203-20260825",
+ version: "19.3.0-experimental-29d9d318-20260826",
rendererPackageName: "react-server-dom-turbopack",
currentDispatcherRef: ReactSharedInternals,
- reconcilerVersion: "19.3.0-experimental-f789f203-20260825",
+ reconcilerVersion: "19.3.0-experimental-29d9d318-20260826",
getCurrentComponentInfo: function () {
return currentOwnerInDEV;
}
diff --git a/packages/next/src/compiled/react-server-dom-turbopack-experimental/package.json b/packages/next/src/compiled/react-server-dom-turbopack-experimental/package.json
index fb99ddf61d6f..d2575def23ac 100644
--- a/packages/next/src/compiled/react-server-dom-turbopack-experimental/package.json
+++ b/packages/next/src/compiled/react-server-dom-turbopack-experimental/package.json
@@ -48,7 +48,7 @@
"neo-async": "^2.6.1"
},
"peerDependencies": {
- "react": "0.0.0-experimental-f789f203-20260825",
- "react-dom": "0.0.0-experimental-f789f203-20260825"
+ "react": "0.0.0-experimental-29d9d318-20260826",
+ "react-dom": "0.0.0-experimental-29d9d318-20260826"
}
}
\ No newline at end of file
diff --git a/packages/next/src/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.browser.development.js b/packages/next/src/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.browser.development.js
index cbf28ad1bc6b..0918b99c2e07 100644
--- a/packages/next/src/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.browser.development.js
+++ b/packages/next/src/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.browser.development.js
@@ -5277,10 +5277,10 @@
return hook.checkDCE ? !0 : !1;
})({
bundleType: 1,
- version: "19.3.0-canary-f789f203-20260825",
+ version: "19.3.0-canary-29d9d318-20260826",
rendererPackageName: "react-server-dom-turbopack",
currentDispatcherRef: ReactSharedInternals,
- reconcilerVersion: "19.3.0-canary-f789f203-20260825",
+ reconcilerVersion: "19.3.0-canary-29d9d318-20260826",
getCurrentComponentInfo: function () {
return currentOwnerInDEV;
}
diff --git a/packages/next/src/compiled/react-server-dom-turbopack/package.json b/packages/next/src/compiled/react-server-dom-turbopack/package.json
index 639365cd3e43..7ae717096989 100644
--- a/packages/next/src/compiled/react-server-dom-turbopack/package.json
+++ b/packages/next/src/compiled/react-server-dom-turbopack/package.json
@@ -48,7 +48,7 @@
"neo-async": "^2.6.1"
},
"peerDependencies": {
- "react": "19.3.0-canary-f789f203-20260825",
- "react-dom": "19.3.0-canary-f789f203-20260825"
+ "react": "19.3.0-canary-29d9d318-20260826",
+ "react-dom": "19.3.0-canary-29d9d318-20260826"
}
}
\ No newline at end of file
diff --git a/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-client.browser.development.js b/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-client.browser.development.js
index 3bfe31510e2f..428a7fdb8582 100644
--- a/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-client.browser.development.js
+++ b/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-client.browser.development.js
@@ -5308,10 +5308,10 @@
return hook.checkDCE ? !0 : !1;
})({
bundleType: 1,
- version: "19.3.0-experimental-f789f203-20260825",
+ version: "19.3.0-experimental-29d9d318-20260826",
rendererPackageName: "react-server-dom-webpack",
currentDispatcherRef: ReactSharedInternals,
- reconcilerVersion: "19.3.0-experimental-f789f203-20260825",
+ reconcilerVersion: "19.3.0-experimental-29d9d318-20260826",
getCurrentComponentInfo: function () {
return currentOwnerInDEV;
}
diff --git a/packages/next/src/compiled/react-server-dom-webpack-experimental/package.json b/packages/next/src/compiled/react-server-dom-webpack-experimental/package.json
index c4d2d665a3a8..68056c332e65 100644
--- a/packages/next/src/compiled/react-server-dom-webpack-experimental/package.json
+++ b/packages/next/src/compiled/react-server-dom-webpack-experimental/package.json
@@ -52,8 +52,8 @@
"webpack-sources": "^3.2.0"
},
"peerDependencies": {
- "react": "0.0.0-experimental-f789f203-20260825",
- "react-dom": "0.0.0-experimental-f789f203-20260825",
+ "react": "0.0.0-experimental-29d9d318-20260826",
+ "react-dom": "0.0.0-experimental-29d9d318-20260826",
"webpack": "^5.59.0"
}
}
\ No newline at end of file
diff --git a/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-client.browser.development.js b/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-client.browser.development.js
index 19f1f422df92..e973b14288b9 100644
--- a/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-client.browser.development.js
+++ b/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-client.browser.development.js
@@ -5289,10 +5289,10 @@
return hook.checkDCE ? !0 : !1;
})({
bundleType: 1,
- version: "19.3.0-canary-f789f203-20260825",
+ version: "19.3.0-canary-29d9d318-20260826",
rendererPackageName: "react-server-dom-webpack",
currentDispatcherRef: ReactSharedInternals,
- reconcilerVersion: "19.3.0-canary-f789f203-20260825",
+ reconcilerVersion: "19.3.0-canary-29d9d318-20260826",
getCurrentComponentInfo: function () {
return currentOwnerInDEV;
}
diff --git a/packages/next/src/compiled/react-server-dom-webpack/package.json b/packages/next/src/compiled/react-server-dom-webpack/package.json
index 3f4b1b2ed5bf..47d582be99b8 100644
--- a/packages/next/src/compiled/react-server-dom-webpack/package.json
+++ b/packages/next/src/compiled/react-server-dom-webpack/package.json
@@ -52,8 +52,8 @@
"webpack-sources": "^3.2.0"
},
"peerDependencies": {
- "react": "19.3.0-canary-f789f203-20260825",
- "react-dom": "19.3.0-canary-f789f203-20260825",
+ "react": "19.3.0-canary-29d9d318-20260826",
+ "react-dom": "19.3.0-canary-29d9d318-20260826",
"webpack": "^5.59.0"
}
}
\ No newline at end of file
diff --git a/packages/next/src/compiled/react/cjs/react.development.js b/packages/next/src/compiled/react/cjs/react.development.js
index 168ec0b49b27..93c19a768381 100644
--- a/packages/next/src/compiled/react/cjs/react.development.js
+++ b/packages/next/src/compiled/react/cjs/react.development.js
@@ -1322,7 +1322,7 @@
exports.useTransition = function () {
return resolveDispatcher().useTransition();
};
- exports.version = "19.3.0-canary-f789f203-20260825";
+ exports.version = "19.3.0-canary-29d9d318-20260826";
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
"function" ===
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
diff --git a/packages/next/src/compiled/react/cjs/react.production.js b/packages/next/src/compiled/react/cjs/react.production.js
index 8f0a1acad217..88424bf38e71 100644
--- a/packages/next/src/compiled/react/cjs/react.production.js
+++ b/packages/next/src/compiled/react/cjs/react.production.js
@@ -562,4 +562,4 @@ exports.useSyncExternalStore = function (
exports.useTransition = function () {
return ReactSharedInternals.H.useTransition();
};
-exports.version = "19.3.0-canary-f789f203-20260825";
+exports.version = "19.3.0-canary-29d9d318-20260826";
diff --git a/packages/next/src/compiled/react/cjs/react.react-server.development.js b/packages/next/src/compiled/react/cjs/react.react-server.development.js
index 3822f1981832..c0ed749da514 100644
--- a/packages/next/src/compiled/react/cjs/react.react-server.development.js
+++ b/packages/next/src/compiled/react/cjs/react.react-server.development.js
@@ -874,5 +874,5 @@
exports.useMemo = function (create, deps) {
return resolveDispatcher().useMemo(create, deps);
};
- exports.version = "19.3.0-canary-f789f203-20260825";
+ exports.version = "19.3.0-canary-29d9d318-20260826";
})();
diff --git a/packages/next/src/compiled/react/cjs/react.react-server.production.js b/packages/next/src/compiled/react/cjs/react.react-server.production.js
index ff0b35967188..dfc9079cf2d3 100644
--- a/packages/next/src/compiled/react/cjs/react.react-server.production.js
+++ b/packages/next/src/compiled/react/cjs/react.react-server.production.js
@@ -433,4 +433,4 @@ exports.useId = function () {
exports.useMemo = function (create, deps) {
return ReactSharedInternals.H.useMemo(create, deps);
};
-exports.version = "19.3.0-canary-f789f203-20260825";
+exports.version = "19.3.0-canary-29d9d318-20260826";
diff --git a/packages/next/src/compiled/unistore/unistore.js b/packages/next/src/compiled/unistore/unistore.js
index f9dadceb3f25..bf75f7faa2ac 100644
--- a/packages/next/src/compiled/unistore/unistore.js
+++ b/packages/next/src/compiled/unistore/unistore.js
@@ -1 +1 @@
-(()=>{var t={755:t=>{function n(t,i){for(var _ in i)t[_]=i[_];return t}t.exports=function(t){var i=[];function u(t){for(var _=[],a=0;a{var t={607:t=>{function n(t,i){for(var _ in i)t[_]=i[_];return t}t.exports=function(t){var i=[];function u(t){for(var _=[],a=0;a=0.15.0'
- version: 2.2.1(react@19.3.0-canary-f789f203-20260825)
+ version: 2.2.1(react@19.3.0-canary-29d9d318-20260826)
source-map:
specifier: ^0.7.0
version: 0.7.3
@@ -1956,7 +1956,7 @@ importers:
devDependencies:
'@napi-rs/cli':
specifier: 3.7.2
- version: 3.7.2(@emnapi/runtime@1.11.2)(@types/node@20.17.7(patch_hash=fe6957869a9b616ec526ededb72bbe846b863bd2349204218772df5c1e62d6ab))(node-addon-api@6.1.0)
+ version: 3.7.2(@emnapi/runtime@1.9.2)(@types/node@20.17.7(patch_hash=fe6957869a9b616ec526ededb72bbe846b863bd2349204218772df5c1e62d6ab))(node-addon-api@6.1.0)
cross-env:
specifier: 6.0.3
version: 6.0.3
@@ -1976,8 +1976,8 @@ importers:
packages/third-parties:
dependencies:
react:
- specifier: npm:react@19.3.0-canary-f789f203-20260825
- version: 19.3.0-canary-f789f203-20260825
+ specifier: npm:react@19.3.0-canary-29d9d318-20260826
+ version: 19.3.0-canary-29d9d318-20260826
third-party-capital:
specifier: 1.0.20
version: 1.0.20
@@ -2040,14 +2040,14 @@ importers:
specifier: 29.5.0
version: 29.5.0
react:
- specifier: npm:react@19.3.0-canary-f789f203-20260825
- version: 19.3.0-canary-f789f203-20260825
+ specifier: npm:react@19.3.0-canary-29d9d318-20260826
+ version: 19.3.0-canary-29d9d318-20260826
react-test-renderer:
specifier: 18.2.0
- version: 18.2.0(react@19.3.0-canary-f789f203-20260825)
+ version: 18.2.0(react@19.3.0-canary-29d9d318-20260826)
styled-jsx:
specifier: ^5.1.2
- version: 5.1.6(@babel/core@7.26.10)(babel-plugin-macros@3.1.0)(react@19.3.0-canary-f789f203-20260825)
+ version: 5.1.6(@babel/core@7.26.10)(babel-plugin-macros@3.1.0)(react@19.3.0-canary-29d9d318-20260826)
packages:
@@ -16026,18 +16026,18 @@ packages:
resolution: {integrity: sha512-APPU8HB2uZnpl6Vt/+0AFoVYgSRtfiP6FLrZgPPTDmqSb2R4qZRbgd0A3VzIFxDt5e+Fozjx79WjLWnF69DK8g==}
engines: {node: '>=16.14.0'}
- react-dom@0.0.0-experimental-f789f203-20260825:
- resolution: {integrity: sha512-5LD0y0cPHRWB6UB5G5yYwytQSmZbASPSAGheATBeax57QIiygY/6SkiofnsTdUfp3F+iaDtsfOqxKjcSExoq7g==}
+ react-dom@0.0.0-experimental-29d9d318-20260826:
+ resolution: {integrity: sha512-Bf/wSOf7EgGoBZbIatdvjOaRZkJLOvd6aA2Z6C99PID9RfjJcvbc58zSw8MPDmR3laeaBcz6G0hks0UY5fgphg==}
peerDependencies:
- react: 0.0.0-experimental-f789f203-20260825
+ react: 0.0.0-experimental-29d9d318-20260826
- react-dom@19.3.0-canary-f789f203-20260825:
- resolution: {integrity: sha512-JtisJchWIlp7UooeN9Ltf3gkvnBr7wcRfe8IqfJMRFDJ6D3aJotxfmYIqmKO84vBP9Xzk5zaQOlgncvQGex7/w==}
+ react-dom@19.3.0-canary-29d9d318-20260826:
+ resolution: {integrity: sha512-VpVza0fV7h5m/9PvH/pKBSCy6tc3rhC9gJ//zCqC6KuIurH9ZVjZcpPRZLWj9AlL46zU7KSZZbclG6jj+YF2jA==}
peerDependencies:
- react: 19.3.0-canary-f789f203-20260825
+ react: 19.3.0-canary-29d9d318-20260826
- react-is@19.3.0-canary-f789f203-20260825:
- resolution: {integrity: sha512-4cCfM6jUm8rnNS0ont+tY8mx0oF7XuVl5Rj6Sdz8dBMPgiNIlDPaiMiuilYKpIyKukZUU0OWXrxsXgNwA4ZGTg==}
+ react-is@19.3.0-canary-29d9d318-20260826:
+ resolution: {integrity: sha512-+7T79hubjHd0QmsGef2OKIit0nDOYCBOtv9OzGohIgXtR6ttpqPrCsOsoPVPmequqjL5bfIMwd+VFcEWX8sckA==}
react-lifecycles-compat@3.0.4:
resolution: {integrity: sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==}
@@ -16092,34 +16092,34 @@ packages:
'@types/react':
optional: true
- react-server-dom-turbopack@0.0.0-experimental-f789f203-20260825:
- resolution: {integrity: sha512-OTamdULfmh5fvYy9m3iCn6/vJFGyXSDbj/xzfC5USooTgU0HX5H89ShByE6Glo/ck87tgdWuJDS0NNWgNIV2dg==}
+ react-server-dom-turbopack@0.0.0-experimental-29d9d318-20260826:
+ resolution: {integrity: sha512-MEDCFSFaRKbpgNNy6MCLLUyYcyyD0LD6Q/diW2AIHnwgc9UMvEVuHvMgNisHLQOGz4/yivcFV6/lkYqJhrSKbg==}
engines: {node: '>=0.10.0'}
peerDependencies:
- react: 0.0.0-experimental-f789f203-20260825
- react-dom: 0.0.0-experimental-f789f203-20260825
+ react: 0.0.0-experimental-29d9d318-20260826
+ react-dom: 0.0.0-experimental-29d9d318-20260826
- react-server-dom-turbopack@19.3.0-canary-f789f203-20260825:
- resolution: {integrity: sha512-8+oNV4La5x5xygbXC8p4//yPOwq9n7gS9DRxB/cul6ctdjTLSHoayQjSo6dPiOTEd8/Q2sCZQ/JVlW647dZ/VA==}
+ react-server-dom-turbopack@19.3.0-canary-29d9d318-20260826:
+ resolution: {integrity: sha512-DWOkoNKV9yJJCTCJQ19zlBp5Yu4QuP4q7YqECgPDs6A/1mixyK6r7Et2jw+tTeorNDwAKwCY6vR0KkmgiVgUxg==}
engines: {node: '>=0.10.0'}
peerDependencies:
- react: 19.3.0-canary-f789f203-20260825
- react-dom: 19.3.0-canary-f789f203-20260825
+ react: 19.3.0-canary-29d9d318-20260826
+ react-dom: 19.3.0-canary-29d9d318-20260826
- react-server-dom-webpack@0.0.0-experimental-f789f203-20260825:
- resolution: {integrity: sha512-fUnKzl9d07JujxFGjCLeL+K6xtYM2JwApLFMum83dTaPBhXegnUy76Q7IYGSF1QBm0LLM08p/1YQFmcnsAvuVg==}
+ react-server-dom-webpack@0.0.0-experimental-29d9d318-20260826:
+ resolution: {integrity: sha512-fj7EWDApUHcFSmMOTeQAE5oNHAGog4ki8QZACj+sK5SJJm/all1EVKVkGNihL4ZLTdrRHXcUKQe+DHIhPmchYw==}
engines: {node: '>=0.10.0'}
peerDependencies:
- react: 0.0.0-experimental-f789f203-20260825
- react-dom: 0.0.0-experimental-f789f203-20260825
+ react: 0.0.0-experimental-29d9d318-20260826
+ react-dom: 0.0.0-experimental-29d9d318-20260826
webpack: 5.98.0
- react-server-dom-webpack@19.3.0-canary-f789f203-20260825:
- resolution: {integrity: sha512-xtd+0Vx47NElbiwRXKVHCuSY4MngplTAY4749smwTYcTXsPwSHF266ZvcwE3DdrguaE5CjfRs4wOKTNPV+PLIQ==}
+ react-server-dom-webpack@19.3.0-canary-29d9d318-20260826:
+ resolution: {integrity: sha512-aS1oYsgtHfEG9kR9Kcgeeu7zOPsBMhX9pcs4CebHyx1kZtFGM+Afb5cjJ7Uvg/+cLQTj2dWrRnb5TjpYyD2Tag==}
engines: {node: '>=0.10.0'}
peerDependencies:
- react: 19.3.0-canary-f789f203-20260825
- react-dom: 19.3.0-canary-f789f203-20260825
+ react: 19.3.0-canary-29d9d318-20260826
+ react-dom: 19.3.0-canary-29d9d318-20260826
webpack: 5.98.0
react-shallow-renderer@16.15.0:
@@ -16170,12 +16170,12 @@ packages:
react: ^15.3.0 || ^16.0.0-alpha
react-dom: ^15.3.0 || ^16.0.0-alpha
- react@0.0.0-experimental-f789f203-20260825:
- resolution: {integrity: sha512-s2FNlz9xYsWnXKTN4qwHjgT/eau/Mw6iseMCnZxxHepGmH6pD16OAxa2TGWUDv5/N6PU7uON6o6Alfeo7L5fqg==}
+ react@0.0.0-experimental-29d9d318-20260826:
+ resolution: {integrity: sha512-9XFx39foeYhOA3sYuTlcjN4Pv+pq3qgLlyGDaBGHqnro4PdeXRgMEoLR9Os8U8PGqH5zgUMlVvpNMb0ol0Iztw==}
engines: {node: '>=0.10.0'}
- react@19.3.0-canary-f789f203-20260825:
- resolution: {integrity: sha512-b8dZ2V6iz/09DP9Ugpb2ESD+BUZOy4Nta6KN3tvH5tQTdJwphhTnkXyzWbZUJN36zcxVAXnqFmPGo1QLXPcYMQ==}
+ react@19.3.0-canary-29d9d318-20260826:
+ resolution: {integrity: sha512-ug9L441Vb9qtOlasxbhIAY/YXVpPG0esOQVbOaxRuHL8AK5PLmvpF7e1nKL8498VWnifeoyt47fQk2k7GnDKVQ==}
engines: {node: '>=0.10.0'}
read-all-stream@3.1.0:
@@ -16707,11 +16707,11 @@ packages:
resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==}
engines: {node: '>=v12.22.7'}
- scheduler@0.0.0-experimental-f789f203-20260825:
- resolution: {integrity: sha512-KLrwM5DfquWJXeRLE+wgeGvuv0QF9t4lwYtcAAw1Z/ijur7HSWVeuZrjijBBP+T5VC+THVe8IsY711KenQBQNg==}
+ scheduler@0.0.0-experimental-29d9d318-20260826:
+ resolution: {integrity: sha512-LkCn+aT5qCdGZ5oeq46EH4ZiYma8gGcZaVHddfdLx5v2Vy9IWIdQIHXypH/gWREJZE6UCGa9y39ebQ7tnwN6wA==}
- scheduler@0.28.0-canary-f789f203-20260825:
- resolution: {integrity: sha512-4otCFOc9yhVL3mBhHwvg2n2i1p2lWCWNdoyqI+BvzWBof0rDJ9mO7WE0iWw8+AscEd5JYnogVPDZ7MyT87LAFw==}
+ scheduler@0.28.0-canary-29d9d318-20260826:
+ resolution: {integrity: sha512-wszPzDIYcYKBuqaQvhLrUBCNao0BS7W4kGpbJX2pZdKhYU3Fgrf7OOzZ0A81FeGTOapeSvSZ6oFik+yNogxT6Q==}
schema-utils@2.7.1:
resolution: {integrity: sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==}
@@ -20032,28 +20032,28 @@ snapshots:
'@balena/dockerignore@1.0.2': {}
- '@base-ui-components/react@1.0.0-beta.2(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)':
+ '@base-ui-components/react@1.0.0-beta.2(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
'@babel/runtime': 7.27.6
- '@base-ui-components/utils': 0.1.0(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- '@floating-ui/react-dom': 2.1.5(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
+ '@base-ui-components/utils': 0.1.0(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ '@floating-ui/react-dom': 2.1.5(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
'@floating-ui/utils': 0.2.10
- react: 19.3.0-canary-f789f203-20260825
- react-dom: 19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-dom: 19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826)
reselect: 5.1.1
tabbable: 6.2.0
- use-sync-external-store: 1.5.0(react@19.3.0-canary-f789f203-20260825)
+ use-sync-external-store: 1.5.0(react@19.3.0-canary-29d9d318-20260826)
optionalDependencies:
'@types/react': 19.2.18
- '@base-ui-components/utils@0.1.0(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)':
+ '@base-ui-components/utils@0.1.0(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
'@babel/runtime': 7.27.6
'@floating-ui/utils': 0.2.10
- react: 19.3.0-canary-f789f203-20260825
- react-dom: 19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-dom: 19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826)
reselect: 5.1.1
- use-sync-external-store: 1.5.0(react@19.3.0-canary-f789f203-20260825)
+ use-sync-external-store: 1.5.0(react@19.3.0-canary-29d9d318-20260826)
optionalDependencies:
'@types/react': 19.2.18
@@ -20253,17 +20253,17 @@ snapshots:
'@emotion/memoize@0.8.1': {}
- '@emotion/react@11.11.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)':
+ '@emotion/react@11.11.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
'@babel/runtime': 7.27.0
'@emotion/babel-plugin': 11.11.0
'@emotion/cache': 11.11.0
'@emotion/serialize': 1.1.2
- '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@19.3.0-canary-f789f203-20260825)
+ '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@19.3.0-canary-29d9d318-20260826)
'@emotion/utils': 1.2.1
'@emotion/weak-memoize': 0.3.1
hoist-non-react-statics: 3.3.2
- react: 19.3.0-canary-f789f203-20260825
+ react: 19.3.0-canary-29d9d318-20260826
optionalDependencies:
'@types/react': 19.2.18
transitivePeerDependencies:
@@ -20281,9 +20281,9 @@ snapshots:
'@emotion/unitless@0.8.1': {}
- '@emotion/use-insertion-effect-with-fallbacks@1.0.1(react@19.3.0-canary-f789f203-20260825)':
+ '@emotion/use-insertion-effect-with-fallbacks@1.0.1(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
- react: 19.3.0-canary-f789f203-20260825
+ react: 19.3.0-canary-29d9d318-20260826
'@emotion/utils@1.2.1': {}
@@ -20705,24 +20705,24 @@ snapshots:
'@floating-ui/core': 1.7.3
'@floating-ui/utils': 0.2.10
- '@floating-ui/react-dom@2.1.0(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)':
+ '@floating-ui/react-dom@2.1.0(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
'@floating-ui/dom': 1.7.3
- react: 19.3.0-canary-f789f203-20260825
- react-dom: 19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-dom: 19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826)
- '@floating-ui/react-dom@2.1.5(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)':
+ '@floating-ui/react-dom@2.1.5(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
'@floating-ui/dom': 1.7.3
- react: 19.3.0-canary-f789f203-20260825
- react-dom: 19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-dom: 19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826)
- '@floating-ui/react@0.26.16(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)':
+ '@floating-ui/react@0.26.16(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
- '@floating-ui/react-dom': 2.1.0(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
+ '@floating-ui/react-dom': 2.1.0(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
'@floating-ui/utils': 0.2.2
- react: 19.3.0-canary-f789f203-20260825
- react-dom: 19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-dom: 19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826)
tabbable: 6.2.0
'@floating-ui/utils@0.2.10': {}
@@ -21733,23 +21733,23 @@ snapshots:
dependencies:
call-bind: 1.0.8
- '@mantine/core@7.10.1(@mantine/hooks@7.10.1(react@19.3.0-canary-f789f203-20260825))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)':
+ '@mantine/core@7.10.1(@mantine/hooks@7.10.1(react@19.3.0-canary-29d9d318-20260826))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
- '@floating-ui/react': 0.26.16(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- '@mantine/hooks': 7.10.1(react@19.3.0-canary-f789f203-20260825)
+ '@floating-ui/react': 0.26.16(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ '@mantine/hooks': 7.10.1(react@19.3.0-canary-29d9d318-20260826)
clsx: 2.1.1
- react: 19.3.0-canary-f789f203-20260825
- react-dom: 19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825)
- react-number-format: 5.4.0(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- react-remove-scroll: 2.5.10(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- react-textarea-autosize: 8.5.3(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-dom: 19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826)
+ react-number-format: 5.4.0(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ react-remove-scroll: 2.5.10(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ react-textarea-autosize: 8.5.3(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
type-fest: 4.18.3
transitivePeerDependencies:
- '@types/react'
- '@mantine/hooks@7.10.1(react@19.3.0-canary-f789f203-20260825)':
+ '@mantine/hooks@7.10.1(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
- react: 19.3.0-canary-f789f203-20260825
+ react: 19.3.0-canary-29d9d318-20260826
'@mapbox/node-pre-gyp@2.0.3(encoding@0.1.13)':
dependencies:
@@ -21794,17 +21794,17 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@mdx-js/react@2.2.1(react@19.3.0-canary-f789f203-20260825)':
+ '@mdx-js/react@2.2.1(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
'@types/mdx': 2.0.13
'@types/react': 19.2.18
- react: 19.3.0-canary-f789f203-20260825
+ react: 19.3.0-canary-29d9d318-20260826
- '@mdx-js/react@3.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)':
+ '@mdx-js/react@3.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
'@types/mdx': 2.0.13
'@types/react': 19.2.18
- react: 19.3.0-canary-f789f203-20260825
+ react: 19.3.0-canary-29d9d318-20260826
'@modelcontextprotocol/sdk@1.18.1(patch_hash=680fe4edb7abd1de29d08cdf217a22506e815a8cc1c2282201d5d47aa3e5da12)':
dependencies:
@@ -21870,7 +21870,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@napi-rs/cli@3.7.2(@emnapi/runtime@1.11.2)(@types/node@20.17.7(patch_hash=fe6957869a9b616ec526ededb72bbe846b863bd2349204218772df5c1e62d6ab))(node-addon-api@6.1.0)':
+ '@napi-rs/cli@3.7.2(@emnapi/runtime@1.9.2)(@types/node@20.17.7(patch_hash=fe6957869a9b616ec526ededb72bbe846b863bd2349204218772df5c1e62d6ab))(node-addon-api@6.1.0)':
dependencies:
'@inquirer/prompts': 8.5.2(@types/node@20.17.7(patch_hash=fe6957869a9b616ec526ededb72bbe846b863bd2349204218772df5c1e62d6ab))
'@napi-rs/cross-toolchain': 1.0.3
@@ -21885,7 +21885,7 @@ snapshots:
semver: 7.8.5
typanion: 3.14.0
optionalDependencies:
- '@emnapi/runtime': 1.11.2
+ '@emnapi/runtime': 1.9.2
transitivePeerDependencies:
- '@napi-rs/cross-toolchain-arm64-target-aarch64'
- '@napi-rs/cross-toolchain-arm64-target-armv7'
@@ -22869,589 +22869,589 @@ snapshots:
'@radix-ui/primitive@1.1.3': {}
- '@radix-ui/react-arrow@1.1.0(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-arrow@1.1.0(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
- '@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- react: 19.3.0-canary-f789f203-20260825
- react-dom: 19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825)
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-dom: 19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826)
optionalDependencies:
'@types/react': 19.2.18
'@types/react-dom': 19.2.4(@types/react@19.2.18)
- '@radix-ui/react-arrow@1.1.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-arrow@1.1.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
- '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- react: 19.3.0-canary-f789f203-20260825
- react-dom: 19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825)
+ '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-dom: 19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826)
optionalDependencies:
'@types/react': 19.2.18
'@types/react-dom': 19.2.4(@types/react@19.2.18)
- '@radix-ui/react-arrow@1.1.7(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-arrow@1.1.7(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- react: 19.3.0-canary-f789f203-20260825
- react-dom: 19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-dom: 19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826)
optionalDependencies:
'@types/react': 19.2.18
'@types/react-dom': 19.2.4(@types/react@19.2.18)
- '@radix-ui/react-collection@1.1.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-collection@1.1.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
- '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-context': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-slot': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- react: 19.3.0-canary-f789f203-20260825
- react-dom: 19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825)
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-context': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-slot': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-dom: 19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826)
optionalDependencies:
'@types/react': 19.2.18
'@types/react-dom': 19.2.4(@types/react@19.2.18)
- '@radix-ui/react-collection@1.1.7(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-collection@1.1.7(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-context': 1.1.2(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-slot': 1.2.3(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- react: 19.3.0-canary-f789f203-20260825
- react-dom: 19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825)
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-context': 1.1.2(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-slot': 1.2.3(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-dom: 19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826)
optionalDependencies:
'@types/react': 19.2.18
'@types/react-dom': 19.2.4(@types/react@19.2.18)
- '@radix-ui/react-compose-refs@1.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-compose-refs@1.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
- react: 19.3.0-canary-f789f203-20260825
+ react: 19.3.0-canary-29d9d318-20260826
optionalDependencies:
'@types/react': 19.2.18
- '@radix-ui/react-compose-refs@1.1.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-compose-refs@1.1.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
- react: 19.3.0-canary-f789f203-20260825
+ react: 19.3.0-canary-29d9d318-20260826
optionalDependencies:
'@types/react': 19.2.18
- '@radix-ui/react-compose-refs@1.1.2(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-compose-refs@1.1.2(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
- react: 19.3.0-canary-f789f203-20260825
+ react: 19.3.0-canary-29d9d318-20260826
optionalDependencies:
'@types/react': 19.2.18
- '@radix-ui/react-context@1.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-context@1.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
- react: 19.3.0-canary-f789f203-20260825
+ react: 19.3.0-canary-29d9d318-20260826
optionalDependencies:
'@types/react': 19.2.18
- '@radix-ui/react-context@1.1.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-context@1.1.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
- react: 19.3.0-canary-f789f203-20260825
+ react: 19.3.0-canary-29d9d318-20260826
optionalDependencies:
'@types/react': 19.2.18
- '@radix-ui/react-context@1.1.2(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-context@1.1.2(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
- react: 19.3.0-canary-f789f203-20260825
+ react: 19.3.0-canary-29d9d318-20260826
optionalDependencies:
'@types/react': 19.2.18
- '@radix-ui/react-dialog@1.1.4(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-dialog@1.1.4(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
'@radix-ui/primitive': 1.1.1
- '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-context': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-dismissable-layer': 1.1.3(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-focus-guards': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-id': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-portal': 1.1.3(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-slot': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-context': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-dismissable-layer': 1.1.3(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-focus-guards': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-id': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-portal': 1.1.3(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-slot': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
aria-hidden: 1.2.6
- react: 19.3.0-canary-f789f203-20260825
- react-dom: 19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825)
- react-remove-scroll: 2.7.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-dom: 19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826)
+ react-remove-scroll: 2.7.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
optionalDependencies:
'@types/react': 19.2.18
'@types/react-dom': 19.2.4(@types/react@19.2.18)
- '@radix-ui/react-direction@1.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-direction@1.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
- react: 19.3.0-canary-f789f203-20260825
+ react: 19.3.0-canary-29d9d318-20260826
optionalDependencies:
'@types/react': 19.2.18
- '@radix-ui/react-direction@1.1.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-direction@1.1.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
- react: 19.3.0-canary-f789f203-20260825
+ react: 19.3.0-canary-29d9d318-20260826
optionalDependencies:
'@types/react': 19.2.18
- '@radix-ui/react-dismissable-layer@1.1.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-dismissable-layer@1.1.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
'@radix-ui/primitive': 1.1.0
- '@radix-ui/react-compose-refs': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- react: 19.3.0-canary-f789f203-20260825
- react-dom: 19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825)
+ '@radix-ui/react-compose-refs': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-dom: 19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826)
optionalDependencies:
'@types/react': 19.2.18
'@types/react-dom': 19.2.4(@types/react@19.2.18)
- '@radix-ui/react-dismissable-layer@1.1.11(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-dismissable-layer@1.1.11(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
'@radix-ui/primitive': 1.1.3
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-use-escape-keydown': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- react: 19.3.0-canary-f789f203-20260825
- react-dom: 19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825)
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-use-escape-keydown': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-dom: 19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826)
optionalDependencies:
'@types/react': 19.2.18
'@types/react-dom': 19.2.4(@types/react@19.2.18)
- '@radix-ui/react-dismissable-layer@1.1.3(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-dismissable-layer@1.1.3(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
'@radix-ui/primitive': 1.1.1
- '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- react: 19.3.0-canary-f789f203-20260825
- react-dom: 19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825)
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-dom: 19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826)
optionalDependencies:
'@types/react': 19.2.18
'@types/react-dom': 19.2.4(@types/react@19.2.18)
- '@radix-ui/react-focus-guards@1.1.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-focus-guards@1.1.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
- react: 19.3.0-canary-f789f203-20260825
+ react: 19.3.0-canary-29d9d318-20260826
optionalDependencies:
'@types/react': 19.2.18
- '@radix-ui/react-focus-guards@1.1.3(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-focus-guards@1.1.3(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
- react: 19.3.0-canary-f789f203-20260825
+ react: 19.3.0-canary-29d9d318-20260826
optionalDependencies:
'@types/react': 19.2.18
- '@radix-ui/react-focus-scope@1.1.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-focus-scope@1.1.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
- '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- react: 19.3.0-canary-f789f203-20260825
- react-dom: 19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825)
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-dom: 19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826)
optionalDependencies:
'@types/react': 19.2.18
'@types/react-dom': 19.2.4(@types/react@19.2.18)
- '@radix-ui/react-focus-scope@1.1.7(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-focus-scope@1.1.7(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- react: 19.3.0-canary-f789f203-20260825
- react-dom: 19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825)
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-dom: 19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826)
optionalDependencies:
'@types/react': 19.2.18
'@types/react-dom': 19.2.4(@types/react@19.2.18)
- '@radix-ui/react-id@1.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-id@1.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
- '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- react: 19.3.0-canary-f789f203-20260825
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ react: 19.3.0-canary-29d9d318-20260826
optionalDependencies:
'@types/react': 19.2.18
- '@radix-ui/react-id@1.1.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-id@1.1.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
- '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- react: 19.3.0-canary-f789f203-20260825
+ '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ react: 19.3.0-canary-29d9d318-20260826
optionalDependencies:
'@types/react': 19.2.18
- '@radix-ui/react-popover@1.1.4(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-popover@1.1.4(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
'@radix-ui/primitive': 1.1.1
- '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-context': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-dismissable-layer': 1.1.3(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-focus-guards': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-id': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-popper': 1.2.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-portal': 1.1.3(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-slot': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-context': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-dismissable-layer': 1.1.3(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-focus-guards': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-id': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-popper': 1.2.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-portal': 1.1.3(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-slot': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
aria-hidden: 1.2.6
- react: 19.3.0-canary-f789f203-20260825
- react-dom: 19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825)
- react-remove-scroll: 2.7.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-dom: 19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826)
+ react-remove-scroll: 2.7.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
optionalDependencies:
'@types/react': 19.2.18
'@types/react-dom': 19.2.4(@types/react@19.2.18)
- '@radix-ui/react-popper@1.2.0(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)':
- dependencies:
- '@floating-ui/react-dom': 2.1.5(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-arrow': 1.1.0(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-compose-refs': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-context': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-use-rect': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-use-size': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
+ '@radix-ui/react-popper@1.2.0(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)':
+ dependencies:
+ '@floating-ui/react-dom': 2.1.5(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-arrow': 1.1.0(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-compose-refs': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-context': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-use-rect': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-use-size': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
'@radix-ui/rect': 1.1.0
- react: 19.3.0-canary-f789f203-20260825
- react-dom: 19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-dom: 19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826)
optionalDependencies:
'@types/react': 19.2.18
'@types/react-dom': 19.2.4(@types/react@19.2.18)
- '@radix-ui/react-popper@1.2.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)':
- dependencies:
- '@floating-ui/react-dom': 2.1.5(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-arrow': 1.1.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-context': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-use-rect': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-use-size': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
+ '@radix-ui/react-popper@1.2.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)':
+ dependencies:
+ '@floating-ui/react-dom': 2.1.5(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-arrow': 1.1.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-context': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-use-rect': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-use-size': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
'@radix-ui/rect': 1.1.0
- react: 19.3.0-canary-f789f203-20260825
- react-dom: 19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-dom: 19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826)
optionalDependencies:
'@types/react': 19.2.18
'@types/react-dom': 19.2.4(@types/react@19.2.18)
- '@radix-ui/react-popper@1.2.8(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)':
- dependencies:
- '@floating-ui/react-dom': 2.1.5(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-arrow': 1.1.7(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-context': 1.1.2(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-use-rect': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
+ '@radix-ui/react-popper@1.2.8(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)':
+ dependencies:
+ '@floating-ui/react-dom': 2.1.5(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-arrow': 1.1.7(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-context': 1.1.2(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-use-rect': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
'@radix-ui/rect': 1.1.1
- react: 19.3.0-canary-f789f203-20260825
- react-dom: 19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-dom: 19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826)
optionalDependencies:
'@types/react': 19.2.18
'@types/react-dom': 19.2.4(@types/react@19.2.18)
- '@radix-ui/react-portal@1.1.2(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-portal@1.1.2(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
- '@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- react: 19.3.0-canary-f789f203-20260825
- react-dom: 19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825)
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-dom: 19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826)
optionalDependencies:
'@types/react': 19.2.18
'@types/react-dom': 19.2.4(@types/react@19.2.18)
- '@radix-ui/react-portal@1.1.3(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-portal@1.1.3(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
- '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- react: 19.3.0-canary-f789f203-20260825
- react-dom: 19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825)
+ '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-dom: 19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826)
optionalDependencies:
'@types/react': 19.2.18
'@types/react-dom': 19.2.4(@types/react@19.2.18)
- '@radix-ui/react-portal@1.1.9(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-portal@1.1.9(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- react: 19.3.0-canary-f789f203-20260825
- react-dom: 19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-dom: 19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826)
optionalDependencies:
'@types/react': 19.2.18
'@types/react-dom': 19.2.4(@types/react@19.2.18)
- '@radix-ui/react-presence@1.1.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-presence@1.1.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
- '@radix-ui/react-compose-refs': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- react: 19.3.0-canary-f789f203-20260825
- react-dom: 19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825)
+ '@radix-ui/react-compose-refs': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-dom: 19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826)
optionalDependencies:
'@types/react': 19.2.18
'@types/react-dom': 19.2.4(@types/react@19.2.18)
- '@radix-ui/react-presence@1.1.2(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-presence@1.1.2(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
- '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- react: 19.3.0-canary-f789f203-20260825
- react-dom: 19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825)
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-dom: 19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826)
optionalDependencies:
'@types/react': 19.2.18
'@types/react-dom': 19.2.4(@types/react@19.2.18)
- '@radix-ui/react-primitive@2.0.0(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-primitive@2.0.0(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
- '@radix-ui/react-slot': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- react: 19.3.0-canary-f789f203-20260825
- react-dom: 19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825)
+ '@radix-ui/react-slot': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-dom: 19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826)
optionalDependencies:
'@types/react': 19.2.18
'@types/react-dom': 19.2.4(@types/react@19.2.18)
- '@radix-ui/react-primitive@2.0.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-primitive@2.0.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
- '@radix-ui/react-slot': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- react: 19.3.0-canary-f789f203-20260825
- react-dom: 19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825)
+ '@radix-ui/react-slot': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-dom: 19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826)
optionalDependencies:
'@types/react': 19.2.18
'@types/react-dom': 19.2.4(@types/react@19.2.18)
- '@radix-ui/react-primitive@2.1.3(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-primitive@2.1.3(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
- '@radix-ui/react-slot': 1.2.3(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- react: 19.3.0-canary-f789f203-20260825
- react-dom: 19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825)
+ '@radix-ui/react-slot': 1.2.3(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-dom: 19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826)
optionalDependencies:
'@types/react': 19.2.18
'@types/react-dom': 19.2.4(@types/react@19.2.18)
- '@radix-ui/react-roving-focus@1.1.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-roving-focus@1.1.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
'@radix-ui/primitive': 1.1.1
- '@radix-ui/react-collection': 1.1.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-context': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-direction': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-id': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- react: 19.3.0-canary-f789f203-20260825
- react-dom: 19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825)
+ '@radix-ui/react-collection': 1.1.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-context': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-direction': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-id': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-dom: 19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826)
optionalDependencies:
'@types/react': 19.2.18
'@types/react-dom': 19.2.4(@types/react@19.2.18)
- '@radix-ui/react-select@2.2.6(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-select@2.2.6(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
'@radix-ui/number': 1.1.1
'@radix-ui/primitive': 1.1.3
- '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-context': 1.1.2(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-direction': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-id': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-slot': 1.2.3(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
+ '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-context': 1.1.2(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-direction': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-id': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-slot': 1.2.3(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
aria-hidden: 1.2.6
- react: 19.3.0-canary-f789f203-20260825
- react-dom: 19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825)
- react-remove-scroll: 2.7.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-dom: 19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826)
+ react-remove-scroll: 2.7.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
optionalDependencies:
'@types/react': 19.2.18
'@types/react-dom': 19.2.4(@types/react@19.2.18)
- '@radix-ui/react-slot@1.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-slot@1.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
- '@radix-ui/react-compose-refs': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- react: 19.3.0-canary-f789f203-20260825
+ '@radix-ui/react-compose-refs': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ react: 19.3.0-canary-29d9d318-20260826
optionalDependencies:
'@types/react': 19.2.18
- '@radix-ui/react-slot@1.1.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-slot@1.1.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
- '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- react: 19.3.0-canary-f789f203-20260825
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ react: 19.3.0-canary-29d9d318-20260826
optionalDependencies:
'@types/react': 19.2.18
- '@radix-ui/react-slot@1.2.3(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-slot@1.2.3(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- react: 19.3.0-canary-f789f203-20260825
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ react: 19.3.0-canary-29d9d318-20260826
optionalDependencies:
'@types/react': 19.2.18
- '@radix-ui/react-toggle-group@1.1.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-toggle-group@1.1.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
'@radix-ui/primitive': 1.1.1
- '@radix-ui/react-context': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-direction': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-roving-focus': 1.1.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-toggle': 1.1.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- react: 19.3.0-canary-f789f203-20260825
- react-dom: 19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825)
+ '@radix-ui/react-context': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-direction': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-roving-focus': 1.1.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-toggle': 1.1.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-dom: 19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826)
optionalDependencies:
'@types/react': 19.2.18
'@types/react-dom': 19.2.4(@types/react@19.2.18)
- '@radix-ui/react-toggle@1.1.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-toggle@1.1.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
'@radix-ui/primitive': 1.1.1
- '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- react: 19.3.0-canary-f789f203-20260825
- react-dom: 19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825)
+ '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-dom: 19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826)
optionalDependencies:
'@types/react': 19.2.18
'@types/react-dom': 19.2.4(@types/react@19.2.18)
- '@radix-ui/react-tooltip@1.1.4(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-tooltip@1.1.4(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
'@radix-ui/primitive': 1.1.0
- '@radix-ui/react-compose-refs': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-context': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-dismissable-layer': 1.1.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-id': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-popper': 1.2.0(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-portal': 1.1.2(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-presence': 1.1.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-slot': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-visually-hidden': 1.1.0(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- react: 19.3.0-canary-f789f203-20260825
- react-dom: 19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825)
+ '@radix-ui/react-compose-refs': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-context': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-dismissable-layer': 1.1.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-id': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-popper': 1.2.0(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-portal': 1.1.2(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-presence': 1.1.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-slot': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-visually-hidden': 1.1.0(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-dom: 19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826)
optionalDependencies:
'@types/react': 19.2.18
'@types/react-dom': 19.2.4(@types/react@19.2.18)
- '@radix-ui/react-use-callback-ref@1.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-use-callback-ref@1.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
- react: 19.3.0-canary-f789f203-20260825
+ react: 19.3.0-canary-29d9d318-20260826
optionalDependencies:
'@types/react': 19.2.18
- '@radix-ui/react-use-callback-ref@1.1.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-use-callback-ref@1.1.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
- react: 19.3.0-canary-f789f203-20260825
+ react: 19.3.0-canary-29d9d318-20260826
optionalDependencies:
'@types/react': 19.2.18
- '@radix-ui/react-use-controllable-state@1.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-use-controllable-state@1.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
- '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- react: 19.3.0-canary-f789f203-20260825
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ react: 19.3.0-canary-29d9d318-20260826
optionalDependencies:
'@types/react': 19.2.18
- '@radix-ui/react-use-controllable-state@1.2.2(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-use-controllable-state@1.2.2(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
- '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- react: 19.3.0-canary-f789f203-20260825
+ '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ react: 19.3.0-canary-29d9d318-20260826
optionalDependencies:
'@types/react': 19.2.18
- '@radix-ui/react-use-effect-event@0.0.2(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-use-effect-event@0.0.2(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
- '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- react: 19.3.0-canary-f789f203-20260825
+ '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ react: 19.3.0-canary-29d9d318-20260826
optionalDependencies:
'@types/react': 19.2.18
- '@radix-ui/react-use-escape-keydown@1.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-use-escape-keydown@1.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
- '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- react: 19.3.0-canary-f789f203-20260825
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ react: 19.3.0-canary-29d9d318-20260826
optionalDependencies:
'@types/react': 19.2.18
- '@radix-ui/react-use-escape-keydown@1.1.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-use-escape-keydown@1.1.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
- '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- react: 19.3.0-canary-f789f203-20260825
+ '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ react: 19.3.0-canary-29d9d318-20260826
optionalDependencies:
'@types/react': 19.2.18
- '@radix-ui/react-use-layout-effect@1.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-use-layout-effect@1.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
- react: 19.3.0-canary-f789f203-20260825
+ react: 19.3.0-canary-29d9d318-20260826
optionalDependencies:
'@types/react': 19.2.18
- '@radix-ui/react-use-layout-effect@1.1.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-use-layout-effect@1.1.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
- react: 19.3.0-canary-f789f203-20260825
+ react: 19.3.0-canary-29d9d318-20260826
optionalDependencies:
'@types/react': 19.2.18
- '@radix-ui/react-use-previous@1.1.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-use-previous@1.1.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
- react: 19.3.0-canary-f789f203-20260825
+ react: 19.3.0-canary-29d9d318-20260826
optionalDependencies:
'@types/react': 19.2.18
- '@radix-ui/react-use-rect@1.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-use-rect@1.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
'@radix-ui/rect': 1.1.0
- react: 19.3.0-canary-f789f203-20260825
+ react: 19.3.0-canary-29d9d318-20260826
optionalDependencies:
'@types/react': 19.2.18
- '@radix-ui/react-use-rect@1.1.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-use-rect@1.1.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
'@radix-ui/rect': 1.1.1
- react: 19.3.0-canary-f789f203-20260825
+ react: 19.3.0-canary-29d9d318-20260826
optionalDependencies:
'@types/react': 19.2.18
- '@radix-ui/react-use-size@1.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-use-size@1.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
- '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- react: 19.3.0-canary-f789f203-20260825
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ react: 19.3.0-canary-29d9d318-20260826
optionalDependencies:
'@types/react': 19.2.18
- '@radix-ui/react-use-size@1.1.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-use-size@1.1.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
- '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- react: 19.3.0-canary-f789f203-20260825
+ '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ react: 19.3.0-canary-29d9d318-20260826
optionalDependencies:
'@types/react': 19.2.18
- '@radix-ui/react-visually-hidden@1.1.0(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-visually-hidden@1.1.0(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
- '@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- react: 19.3.0-canary-f789f203-20260825
- react-dom: 19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825)
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-dom: 19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826)
optionalDependencies:
'@types/react': 19.2.18
'@types/react-dom': 19.2.4(@types/react@19.2.18)
- '@radix-ui/react-visually-hidden@1.2.3(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)':
+ '@radix-ui/react-visually-hidden@1.2.3(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- react: 19.3.0-canary-f789f203-20260825
- react-dom: 19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-dom: 19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826)
optionalDependencies:
'@types/react': 19.2.18
'@types/react-dom': 19.2.4(@types/react@19.2.18)
@@ -23758,12 +23758,12 @@ snapshots:
'@storybook/addon-docs@8.6.0(@types/react@19.2.18)(storybook@8.6.0(prettier@3.6.2))':
dependencies:
- '@mdx-js/react': 3.1.0(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@storybook/blocks': 8.6.0(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)(storybook@8.6.0(prettier@3.6.2))
+ '@mdx-js/react': 3.1.0(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@storybook/blocks': 8.6.0(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)(storybook@8.6.0(prettier@3.6.2))
'@storybook/csf-plugin': 8.6.0(storybook@8.6.0(prettier@3.6.2))
- '@storybook/react-dom-shim': 8.6.0(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)(storybook@8.6.0(prettier@3.6.2))
- react: 19.3.0-canary-f789f203-20260825
- react-dom: 19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825)
+ '@storybook/react-dom-shim': 8.6.0(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)(storybook@8.6.0(prettier@3.6.2))
+ react: 19.3.0-canary-29d9d318-20260826
+ react-dom: 19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826)
storybook: 8.6.0(prettier@3.6.2)
ts-dedent: 2.2.0
transitivePeerDependencies:
@@ -23828,14 +23828,14 @@ snapshots:
- '@swc/helpers'
- webpack
- '@storybook/blocks@8.6.0(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)(storybook@8.6.0(prettier@3.6.2))':
+ '@storybook/blocks@8.6.0(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)(storybook@8.6.0(prettier@3.6.2))':
dependencies:
- '@storybook/icons': 1.3.0(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
+ '@storybook/icons': 1.3.0(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
storybook: 8.6.0(prettier@3.6.2)
ts-dedent: 2.2.0
optionalDependencies:
- react: 19.3.0-canary-f789f203-20260825
- react-dom: 19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-dom: 19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826)
'@storybook/builder-webpack5@8.6.0(@rspack/core@1.6.7(patch_hash=4cf28ea116b0e27c7c80b09035905f9d16a7b18d1f2b7d312fc80d42cd57068d)(@swc/helpers@0.5.23))(@swc/core@1.11.24(@swc/helpers@0.5.23))(esbuild@0.25.9)(storybook@8.6.0(prettier@3.6.2))(typescript@6.0.2)':
dependencies:
@@ -23914,10 +23914,10 @@ snapshots:
'@storybook/global@5.0.0': {}
- '@storybook/icons@1.3.0(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)':
+ '@storybook/icons@1.3.0(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
- react: 19.3.0-canary-f789f203-20260825
- react-dom: 19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-dom: 19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826)
'@storybook/instrumenter@8.6.0(storybook@8.6.0(prettier@3.6.2))':
dependencies:
@@ -23929,17 +23929,17 @@ snapshots:
dependencies:
storybook: 8.6.0(prettier@3.6.2)
- '@storybook/preset-react-webpack@8.6.0(@storybook/test@8.6.0(storybook@8.6.0(prettier@3.6.2)))(@swc/core@1.11.24(@swc/helpers@0.5.23))(esbuild@0.25.9)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)(storybook@8.6.0(prettier@3.6.2))(typescript@6.0.2)':
+ '@storybook/preset-react-webpack@8.6.0(@storybook/test@8.6.0(storybook@8.6.0(prettier@3.6.2)))(@swc/core@1.11.24(@swc/helpers@0.5.23))(esbuild@0.25.9)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)(storybook@8.6.0(prettier@3.6.2))(typescript@6.0.2)':
dependencies:
'@storybook/core-webpack': 8.6.0(storybook@8.6.0(prettier@3.6.2))
- '@storybook/react': 8.6.0(@storybook/test@8.6.0(storybook@8.6.0(prettier@3.6.2)))(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)(storybook@8.6.0(prettier@3.6.2))(typescript@6.0.2)
+ '@storybook/react': 8.6.0(@storybook/test@8.6.0(storybook@8.6.0(prettier@3.6.2)))(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)(storybook@8.6.0(prettier@3.6.2))(typescript@6.0.2)
'@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@6.0.2)(webpack@5.98.0(@swc/core@1.11.24(@swc/helpers@0.5.23))(esbuild@0.25.9))
'@types/semver': 7.5.6
find-up: 5.0.0
magic-string: 0.30.19
- react: 19.3.0-canary-f789f203-20260825
+ react: 19.3.0-canary-29d9d318-20260826
react-docgen: 7.1.0
- react-dom: 19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825)
+ react-dom: 19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826)
resolve: 1.22.10
semver: 7.6.3
storybook: 8.6.0(prettier@3.6.2)
@@ -23973,19 +23973,19 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@storybook/react-dom-shim@8.6.0(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)(storybook@8.6.0(prettier@3.6.2))':
+ '@storybook/react-dom-shim@8.6.0(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)(storybook@8.6.0(prettier@3.6.2))':
dependencies:
- react: 19.3.0-canary-f789f203-20260825
- react-dom: 19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-dom: 19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826)
storybook: 8.6.0(prettier@3.6.2)
- '@storybook/react-webpack5@8.6.0(@rspack/core@1.6.7(patch_hash=4cf28ea116b0e27c7c80b09035905f9d16a7b18d1f2b7d312fc80d42cd57068d)(@swc/helpers@0.5.23))(@storybook/test@8.6.0(storybook@8.6.0(prettier@3.6.2)))(@swc/core@1.11.24(@swc/helpers@0.5.23))(esbuild@0.25.9)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)(storybook@8.6.0(prettier@3.6.2))(typescript@6.0.2)':
+ '@storybook/react-webpack5@8.6.0(@rspack/core@1.6.7(patch_hash=4cf28ea116b0e27c7c80b09035905f9d16a7b18d1f2b7d312fc80d42cd57068d)(@swc/helpers@0.5.23))(@storybook/test@8.6.0(storybook@8.6.0(prettier@3.6.2)))(@swc/core@1.11.24(@swc/helpers@0.5.23))(esbuild@0.25.9)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)(storybook@8.6.0(prettier@3.6.2))(typescript@6.0.2)':
dependencies:
'@storybook/builder-webpack5': 8.6.0(@rspack/core@1.6.7(patch_hash=4cf28ea116b0e27c7c80b09035905f9d16a7b18d1f2b7d312fc80d42cd57068d)(@swc/helpers@0.5.23))(@swc/core@1.11.24(@swc/helpers@0.5.23))(esbuild@0.25.9)(storybook@8.6.0(prettier@3.6.2))(typescript@6.0.2)
- '@storybook/preset-react-webpack': 8.6.0(@storybook/test@8.6.0(storybook@8.6.0(prettier@3.6.2)))(@swc/core@1.11.24(@swc/helpers@0.5.23))(esbuild@0.25.9)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)(storybook@8.6.0(prettier@3.6.2))(typescript@6.0.2)
- '@storybook/react': 8.6.0(@storybook/test@8.6.0(storybook@8.6.0(prettier@3.6.2)))(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)(storybook@8.6.0(prettier@3.6.2))(typescript@6.0.2)
- react: 19.3.0-canary-f789f203-20260825
- react-dom: 19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825)
+ '@storybook/preset-react-webpack': 8.6.0(@storybook/test@8.6.0(storybook@8.6.0(prettier@3.6.2)))(@swc/core@1.11.24(@swc/helpers@0.5.23))(esbuild@0.25.9)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)(storybook@8.6.0(prettier@3.6.2))(typescript@6.0.2)
+ '@storybook/react': 8.6.0(@storybook/test@8.6.0(storybook@8.6.0(prettier@3.6.2)))(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)(storybook@8.6.0(prettier@3.6.2))(typescript@6.0.2)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-dom: 19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826)
storybook: 8.6.0(prettier@3.6.2)
optionalDependencies:
typescript: 6.0.2
@@ -23998,16 +23998,16 @@ snapshots:
- uglify-js
- webpack-cli
- '@storybook/react@8.6.0(@storybook/test@8.6.0(storybook@8.6.0(prettier@3.6.2)))(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)(storybook@8.6.0(prettier@3.6.2))(typescript@6.0.2)':
+ '@storybook/react@8.6.0(@storybook/test@8.6.0(storybook@8.6.0(prettier@3.6.2)))(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)(storybook@8.6.0(prettier@3.6.2))(typescript@6.0.2)':
dependencies:
'@storybook/components': 8.6.0(storybook@8.6.0(prettier@3.6.2))
'@storybook/global': 5.0.0
'@storybook/manager-api': 8.6.0(storybook@8.6.0(prettier@3.6.2))
'@storybook/preview-api': 8.6.0(storybook@8.6.0(prettier@3.6.2))
- '@storybook/react-dom-shim': 8.6.0(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)(storybook@8.6.0(prettier@3.6.2))
+ '@storybook/react-dom-shim': 8.6.0(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)(storybook@8.6.0(prettier@3.6.2))
'@storybook/theming': 8.6.0(storybook@8.6.0(prettier@3.6.2))
- react: 19.3.0-canary-f789f203-20260825
- react-dom: 19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-dom: 19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826)
storybook: 8.6.0(prettier@3.6.2)
optionalDependencies:
'@storybook/test': 8.6.0(storybook@8.6.0(prettier@3.6.2))
@@ -24289,13 +24289,13 @@ snapshots:
lodash: 4.18.1
redent: 3.0.0
- '@testing-library/react@15.0.7(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)':
+ '@testing-library/react@15.0.7(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)':
dependencies:
'@babel/runtime': 7.27.0
'@testing-library/dom': 10.1.0
'@types/react-dom': 19.2.4(@types/react@19.2.18)
- react: 19.3.0-canary-f789f203-20260825
- react-dom: 19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-dom: 19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826)
optionalDependencies:
'@types/react': 19.2.18
@@ -26586,14 +26586,14 @@ snapshots:
cmd-shim@7.0.0: {}
- cmdk@1.0.4(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825):
+ cmdk@1.0.4(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826):
dependencies:
- '@radix-ui/react-dialog': 1.1.4(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-id': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)
- react: 19.3.0-canary-f789f203-20260825
- react-dom: 19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825)
- use-sync-external-store: 1.5.0(react@19.3.0-canary-f789f203-20260825)
+ '@radix-ui/react-dialog': 1.1.4(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-id': 1.1.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-dom: 19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826)
+ use-sync-external-store: 1.5.0(react@19.3.0-canary-29d9d318-20260826)
transitivePeerDependencies:
- '@types/react'
- '@types/react-dom'
@@ -30030,7 +30030,7 @@ snapshots:
hoist-non-react-statics@3.3.2:
dependencies:
- react-is: 19.3.0-canary-f789f203-20260825
+ react-is: 19.3.0-canary-29d9d318-20260826
homedir-polyfill@1.0.3:
dependencies:
@@ -32248,13 +32248,13 @@ snapshots:
lru-cache@7.18.3: {}
- lucide-react@0.383.0(react@19.3.0-canary-f789f203-20260825):
+ lucide-react@0.383.0(react@19.3.0-canary-29d9d318-20260826):
dependencies:
- react: 19.3.0-canary-f789f203-20260825
+ react: 19.3.0-canary-29d9d318-20260826
- lucide-react@0.554.0(react@19.3.0-canary-f789f203-20260825):
+ lucide-react@0.554.0(react@19.3.0-canary-29d9d318-20260826):
dependencies:
- react: 19.3.0-canary-f789f203-20260825
+ react: 19.3.0-canary-29d9d318-20260826
lz-string@1.5.0: {}
@@ -33462,23 +33462,23 @@ snapshots:
dependencies:
inherits: 2.0.4
- next-themes@0.4.6(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825):
+ next-themes@0.4.6(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826):
dependencies:
- react: 19.3.0-canary-f789f203-20260825
- react-dom: 19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-dom: 19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826)
next-tick@1.0.0: {}
- next@16.2.3(@babel/core@7.26.10)(@opentelemetry/api@1.9.0)(@playwright/test@1.61.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@0.0.0-experimental-1371fcb-20260227)(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)(sass@1.77.8):
+ next@16.2.3(@babel/core@7.26.10)(@opentelemetry/api@1.9.0)(@playwright/test@1.61.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@0.0.0-experimental-1371fcb-20260227)(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)(sass@1.77.8):
dependencies:
'@next/env': 16.2.3
'@swc/helpers': 0.5.15
baseline-browser-mapping: 2.9.19
caniuse-lite: 1.0.30001746
postcss: 8.5.23
- react: 19.3.0-canary-f789f203-20260825
- react-dom: 19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825)
- styled-jsx: 5.1.6(@babel/core@7.26.10)(babel-plugin-macros@3.1.0)(react@19.3.0-canary-f789f203-20260825)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-dom: 19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826)
+ styled-jsx: 5.1.6(@babel/core@7.26.10)(babel-plugin-macros@3.1.0)(react@19.3.0-canary-29d9d318-20260826)
optionalDependencies:
'@next/swc-darwin-arm64': 16.2.3
'@next/swc-darwin-x64': 16.2.3
@@ -35181,31 +35181,31 @@ snapshots:
dependencies:
ansi-regex: 5.0.1
ansi-styles: 5.2.0
- react-is: 19.3.0-canary-f789f203-20260825
+ react-is: 19.3.0-canary-29d9d318-20260826
pretty-format@29.5.0:
dependencies:
'@jest/schemas': 29.4.3
ansi-styles: 5.2.0
- react-is: 19.3.0-canary-f789f203-20260825
+ react-is: 19.3.0-canary-29d9d318-20260826
pretty-format@29.7.0:
dependencies:
'@jest/schemas': 29.6.3
ansi-styles: 5.2.0
- react-is: 19.3.0-canary-f789f203-20260825
+ react-is: 19.3.0-canary-29d9d318-20260826
pretty-format@30.0.0-alpha.6:
dependencies:
'@jest/schemas': 30.0.0-alpha.6
ansi-styles: 5.2.0
- react-is: 19.3.0-canary-f789f203-20260825
+ react-is: 19.3.0-canary-29d9d318-20260826
pretty-format@30.2.0:
dependencies:
'@jest/schemas': 30.0.5
ansi-styles: 5.2.0
- react-is: 19.3.0-canary-f789f203-20260825
+ react-is: 19.3.0-canary-29d9d318-20260826
pretty-ms@7.0.0:
dependencies:
@@ -35267,7 +35267,7 @@ snapshots:
dependencies:
loose-envify: 1.4.0
object-assign: 4.1.1
- react-is: 19.3.0-canary-f789f203-20260825
+ react-is: 19.3.0-canary-29d9d318-20260826
property-information@5.6.0:
dependencies:
@@ -35490,157 +35490,157 @@ snapshots:
transitivePeerDependencies:
- supports-color
- react-dom@0.0.0-experimental-f789f203-20260825(react@19.3.0-canary-f789f203-20260825):
+ react-dom@0.0.0-experimental-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826):
dependencies:
- react: 19.3.0-canary-f789f203-20260825
- scheduler: 0.28.0-canary-f789f203-20260825
+ react: 19.3.0-canary-29d9d318-20260826
+ scheduler: 0.28.0-canary-29d9d318-20260826
- react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825):
+ react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826):
dependencies:
- react: 19.3.0-canary-f789f203-20260825
- scheduler: 0.28.0-canary-f789f203-20260825
+ react: 19.3.0-canary-29d9d318-20260826
+ scheduler: 0.28.0-canary-29d9d318-20260826
- react-is@19.3.0-canary-f789f203-20260825: {}
+ react-is@19.3.0-canary-29d9d318-20260826: {}
react-lifecycles-compat@3.0.4: {}
- react-number-format@5.4.0(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825):
+ react-number-format@5.4.0(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826):
dependencies:
prop-types: 15.8.1
- react: 19.3.0-canary-f789f203-20260825
- react-dom: 19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-dom: 19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826)
react-refresh@0.12.0: {}
- react-remove-scroll-bar@2.3.6(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825):
+ react-remove-scroll-bar@2.3.6(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826):
dependencies:
- react: 19.3.0-canary-f789f203-20260825
- react-style-singleton: 2.2.3(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-style-singleton: 2.2.3(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
tslib: 2.8.1
optionalDependencies:
'@types/react': 19.2.18
- react-remove-scroll-bar@2.3.8(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825):
+ react-remove-scroll-bar@2.3.8(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826):
dependencies:
- react: 19.3.0-canary-f789f203-20260825
- react-style-singleton: 2.2.3(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-style-singleton: 2.2.3(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
tslib: 2.8.1
optionalDependencies:
'@types/react': 19.2.18
- react-remove-scroll@2.5.10(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825):
+ react-remove-scroll@2.5.10(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826):
dependencies:
- react: 19.3.0-canary-f789f203-20260825
- react-remove-scroll-bar: 2.3.6(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- react-style-singleton: 2.2.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-remove-scroll-bar: 2.3.6(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ react-style-singleton: 2.2.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
tslib: 2.8.1
- use-callback-ref: 1.3.2(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- use-sidecar: 1.1.2(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
+ use-callback-ref: 1.3.2(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ use-sidecar: 1.1.2(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
optionalDependencies:
'@types/react': 19.2.18
- react-remove-scroll@2.7.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825):
+ react-remove-scroll@2.7.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826):
dependencies:
- react: 19.3.0-canary-f789f203-20260825
- react-remove-scroll-bar: 2.3.8(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- react-style-singleton: 2.2.3(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-remove-scroll-bar: 2.3.8(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ react-style-singleton: 2.2.3(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
tslib: 2.8.1
- use-callback-ref: 1.3.3(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
- use-sidecar: 1.1.3(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
+ use-callback-ref: 1.3.3(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
+ use-sidecar: 1.1.3(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
optionalDependencies:
'@types/react': 19.2.18
- react-server-dom-turbopack@0.0.0-experimental-f789f203-20260825(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825):
+ react-server-dom-turbopack@0.0.0-experimental-29d9d318-20260826(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826):
dependencies:
acorn-loose: 8.3.0
neo-async: 2.6.1
- react: 19.3.0-canary-f789f203-20260825
- react-dom: 19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-dom: 19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826)
- react-server-dom-turbopack@19.3.0-canary-f789f203-20260825(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825):
+ react-server-dom-turbopack@19.3.0-canary-29d9d318-20260826(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826):
dependencies:
acorn-loose: 8.3.0
neo-async: 2.6.1
- react: 19.3.0-canary-f789f203-20260825
- react-dom: 19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-dom: 19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826)
- react-server-dom-webpack@0.0.0-experimental-f789f203-20260825(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)(webpack@5.98.0(@swc/core@1.11.24(@swc/helpers@0.5.23))):
+ react-server-dom-webpack@0.0.0-experimental-29d9d318-20260826(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)(webpack@5.98.0(@swc/core@1.11.24(@swc/helpers@0.5.23))):
dependencies:
acorn-loose: 8.3.0
neo-async: 2.6.1
- react: 19.3.0-canary-f789f203-20260825
- react-dom: 19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-dom: 19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826)
webpack: 5.98.0(@swc/core@1.11.24(@swc/helpers@0.5.23))
webpack-sources: 3.2.3(patch_hash=26afc15966a3fc37a3d1d366312a95ce66723513f6a3a720e4166a37147da8bd)
- react-server-dom-webpack@19.3.0-canary-f789f203-20260825(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825)(webpack@5.98.0(@swc/core@1.11.24(@swc/helpers@0.5.23))):
+ react-server-dom-webpack@19.3.0-canary-29d9d318-20260826(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826)(webpack@5.98.0(@swc/core@1.11.24(@swc/helpers@0.5.23))):
dependencies:
acorn-loose: 8.3.0
neo-async: 2.6.1
- react: 19.3.0-canary-f789f203-20260825
- react-dom: 19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-dom: 19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826)
webpack: 5.98.0(@swc/core@1.11.24(@swc/helpers@0.5.23))
webpack-sources: 3.2.3(patch_hash=26afc15966a3fc37a3d1d366312a95ce66723513f6a3a720e4166a37147da8bd)
- react-shallow-renderer@16.15.0(react@19.3.0-canary-f789f203-20260825):
+ react-shallow-renderer@16.15.0(react@19.3.0-canary-29d9d318-20260826):
dependencies:
object-assign: 4.1.1
- react: 19.3.0-canary-f789f203-20260825
- react-is: 19.3.0-canary-f789f203-20260825
+ react: 19.3.0-canary-29d9d318-20260826
+ react-is: 19.3.0-canary-29d9d318-20260826
- react-ssr-prepass@1.0.8(react-is@19.3.0-canary-f789f203-20260825)(react@19.3.0-canary-f789f203-20260825):
+ react-ssr-prepass@1.0.8(react-is@19.3.0-canary-29d9d318-20260826)(react@19.3.0-canary-29d9d318-20260826):
dependencies:
object-is: 1.0.2
- react: 19.3.0-canary-f789f203-20260825
- react-is: 19.3.0-canary-f789f203-20260825
+ react: 19.3.0-canary-29d9d318-20260826
+ react-is: 19.3.0-canary-29d9d318-20260826
- react-style-singleton@2.2.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825):
+ react-style-singleton@2.2.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826):
dependencies:
get-nonce: 1.0.1
invariant: 2.2.4
- react: 19.3.0-canary-f789f203-20260825
+ react: 19.3.0-canary-29d9d318-20260826
tslib: 2.8.1
optionalDependencies:
'@types/react': 19.2.18
- react-style-singleton@2.2.3(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825):
+ react-style-singleton@2.2.3(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826):
dependencies:
get-nonce: 1.0.1
- react: 19.3.0-canary-f789f203-20260825
+ react: 19.3.0-canary-29d9d318-20260826
tslib: 2.8.1
optionalDependencies:
'@types/react': 19.2.18
- react-test-renderer@18.2.0(react@19.3.0-canary-f789f203-20260825):
+ react-test-renderer@18.2.0(react@19.3.0-canary-29d9d318-20260826):
dependencies:
- react: 19.3.0-canary-f789f203-20260825
- react-is: 19.3.0-canary-f789f203-20260825
- react-shallow-renderer: 16.15.0(react@19.3.0-canary-f789f203-20260825)
- scheduler: 0.28.0-canary-f789f203-20260825
+ react: 19.3.0-canary-29d9d318-20260826
+ react-is: 19.3.0-canary-29d9d318-20260826
+ react-shallow-renderer: 16.15.0(react@19.3.0-canary-29d9d318-20260826)
+ scheduler: 0.28.0-canary-29d9d318-20260826
- react-textarea-autosize@8.5.3(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825):
+ react-textarea-autosize@8.5.3(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826):
dependencies:
'@babel/runtime': 7.27.0
- react: 19.3.0-canary-f789f203-20260825
- use-composed-ref: 1.3.0(react@19.3.0-canary-f789f203-20260825)
- use-latest: 1.2.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
+ react: 19.3.0-canary-29d9d318-20260826
+ use-composed-ref: 1.3.0(react@19.3.0-canary-29d9d318-20260826)
+ use-latest: 1.2.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
transitivePeerDependencies:
- '@types/react'
- react-virtualized@9.22.3(react-dom@19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825))(react@19.3.0-canary-f789f203-20260825):
+ react-virtualized@9.22.3(react-dom@19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826))(react@19.3.0-canary-29d9d318-20260826):
dependencies:
'@babel/runtime': 7.27.0
clsx: 1.1.1
dom-helpers: 5.2.1
loose-envify: 1.4.0
prop-types: 15.8.1
- react: 19.3.0-canary-f789f203-20260825
- react-dom: 19.3.0-canary-f789f203-20260825(react@19.3.0-canary-f789f203-20260825)
+ react: 19.3.0-canary-29d9d318-20260826
+ react-dom: 19.3.0-canary-29d9d318-20260826(react@19.3.0-canary-29d9d318-20260826)
react-lifecycles-compat: 3.0.4
- react@0.0.0-experimental-f789f203-20260825: {}
+ react@0.0.0-experimental-29d9d318-20260826: {}
- react@19.3.0-canary-f789f203-20260825: {}
+ react@19.3.0-canary-29d9d318-20260826: {}
read-all-stream@3.1.0:
dependencies:
@@ -36331,9 +36331,9 @@ snapshots:
dependencies:
xmlchars: 2.2.0
- scheduler@0.0.0-experimental-f789f203-20260825: {}
+ scheduler@0.0.0-experimental-29d9d318-20260826: {}
- scheduler@0.28.0-canary-f789f203-20260825: {}
+ scheduler@0.28.0-canary-29d9d318-20260826: {}
schema-utils@2.7.1:
dependencies:
@@ -37213,10 +37213,10 @@ snapshots:
postcss: 8.5.23
postcss-load-plugins: 2.3.0
- styled-jsx@5.1.6(@babel/core@7.26.10)(babel-plugin-macros@3.1.0)(react@19.3.0-canary-f789f203-20260825):
+ styled-jsx@5.1.6(@babel/core@7.26.10)(babel-plugin-macros@3.1.0)(react@19.3.0-canary-29d9d318-20260826):
dependencies:
client-only: 0.0.1
- react: 19.3.0-canary-f789f203-20260825
+ react: 19.3.0-canary-29d9d318-20260826
optionalDependencies:
'@babel/core': 7.26.10
babel-plugin-macros: 3.1.0
@@ -37316,11 +37316,11 @@ snapshots:
'@swc/counter': 0.1.3
webpack: 5.98.0(@swc/core@1.11.24(@swc/helpers@0.5.23))(esbuild@0.25.9)
- swr@2.2.4(react@19.3.0-canary-f789f203-20260825):
+ swr@2.2.4(react@19.3.0-canary-29d9d318-20260826):
dependencies:
client-only: 0.0.1
- react: 19.3.0-canary-f789f203-20260825
- use-sync-external-store: 1.5.0(react@19.3.0-canary-f789f203-20260825)
+ react: 19.3.0-canary-29d9d318-20260826
+ use-sync-external-store: 1.5.0(react@19.3.0-canary-29d9d318-20260826)
symbol-tree@3.2.4: {}
@@ -38153,9 +38153,9 @@ snapshots:
unist-util-is: 6.0.0
unist-util-visit-parents: 6.0.1
- unistore@3.4.1(react@19.3.0-canary-f789f203-20260825):
+ unistore@3.4.1(react@19.3.0-canary-29d9d318-20260826):
optionalDependencies:
- react: 19.3.0-canary-f789f203-20260825
+ react: 19.3.0-canary-29d9d318-20260826
universal-github-app-jwt@1.1.1:
dependencies:
@@ -38272,56 +38272,56 @@ snapshots:
punycode: 1.4.1
qs: 6.14.0
- use-callback-ref@1.3.2(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825):
+ use-callback-ref@1.3.2(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826):
dependencies:
- react: 19.3.0-canary-f789f203-20260825
+ react: 19.3.0-canary-29d9d318-20260826
tslib: 2.8.1
optionalDependencies:
'@types/react': 19.2.18
- use-callback-ref@1.3.3(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825):
+ use-callback-ref@1.3.3(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826):
dependencies:
- react: 19.3.0-canary-f789f203-20260825
+ react: 19.3.0-canary-29d9d318-20260826
tslib: 2.8.1
optionalDependencies:
'@types/react': 19.2.18
- use-composed-ref@1.3.0(react@19.3.0-canary-f789f203-20260825):
+ use-composed-ref@1.3.0(react@19.3.0-canary-29d9d318-20260826):
dependencies:
- react: 19.3.0-canary-f789f203-20260825
+ react: 19.3.0-canary-29d9d318-20260826
- use-isomorphic-layout-effect@1.1.2(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825):
+ use-isomorphic-layout-effect@1.1.2(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826):
dependencies:
- react: 19.3.0-canary-f789f203-20260825
+ react: 19.3.0-canary-29d9d318-20260826
optionalDependencies:
'@types/react': 19.2.18
- use-latest@1.2.1(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825):
+ use-latest@1.2.1(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826):
dependencies:
- react: 19.3.0-canary-f789f203-20260825
- use-isomorphic-layout-effect: 1.1.2(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825)
+ react: 19.3.0-canary-29d9d318-20260826
+ use-isomorphic-layout-effect: 1.1.2(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826)
optionalDependencies:
'@types/react': 19.2.18
- use-sidecar@1.1.2(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825):
+ use-sidecar@1.1.2(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826):
dependencies:
detect-node-es: 1.1.0
- react: 19.3.0-canary-f789f203-20260825
+ react: 19.3.0-canary-29d9d318-20260826
tslib: 2.8.1
optionalDependencies:
'@types/react': 19.2.18
- use-sidecar@1.1.3(@types/react@19.2.18)(react@19.3.0-canary-f789f203-20260825):
+ use-sidecar@1.1.3(@types/react@19.2.18)(react@19.3.0-canary-29d9d318-20260826):
dependencies:
detect-node-es: 1.1.0
- react: 19.3.0-canary-f789f203-20260825
+ react: 19.3.0-canary-29d9d318-20260826
tslib: 2.8.1
optionalDependencies:
'@types/react': 19.2.18
- use-sync-external-store@1.5.0(react@19.3.0-canary-f789f203-20260825):
+ use-sync-external-store@1.5.0(react@19.3.0-canary-29d9d318-20260826):
dependencies:
- react: 19.3.0-canary-f789f203-20260825
+ react: 19.3.0-canary-29d9d318-20260826
util-deprecate@1.0.2: {}
From 6d6228c0c6513718a517965c55d2d444f14ac842 Mon Sep 17 00:00:00 2001
From: Josh Story
Date: Thu, 27 Aug 2026 13:23:43 -0700
Subject: [PATCH 3/9] Prune incomplete parallel route matchers (#97108)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
## Summary
This adds an experimental `strictRouteMatching` flag that leaves a
matcher out when its finalized loader tree contains a synthesized
default that will always call `notFound()` for a slot actually declared
by the owning layout. Adding a `default.tsx` keeps the matcher, and
structural router-state branches that are not real slots of that layout
do not make it incomplete. The flag defaults to `false` so matcher
pruning can roll out independently from the preceding loader-tree
correction.
The main goal is to make `children` and named slots behave the same way.
If a URL cannot construct a complete route tree on its own, it should be
treated as an unmatched URL instead of sometimes showing a slot 404 and
sometimes producing a missing page or default error.
## Semantics
For example:
```text
app/split-matcher/
├── layout.tsx
├── foo/page.tsx
├── bar/page.tsx
└── @slot/[...parts]/page.tsx
```
With strict route matching disabled, Next.js emits matchers for
`/split-matcher/foo`, `/split-matcher/bar`, and the broad
`/split-matcher/[...parts]`. The broad matcher can match any URL, but
its `children` branch has neither a matching page nor a default, so it
can only construct a permanent 404 tree. With strict route matching
enabled, that broad matcher is omitted while `/foo` and `/bar` remain
because each combines a real `children` page with the named-slot
catchall. Adding `app/split-matcher/default.tsx` deliberately makes the
broad matcher complete and keeps it.
The same rule applies without a catchall:
```text
app/disagreeing-slots/
├── layout.tsx
├── @first/foo/page.tsx
└── @second/bar/page.tsx
```
`/foo` is incomplete because `@second` has no matching page or default,
and `/bar` is incomplete for the corresponding reason in `@first`, so
neither matcher is emitted. A later PR in this stack reports the
now-unreachable page files as a project misconfiguration.
A declared `children` route is treated like any named slot:
```text
app/declared-children/
├── layout.tsx
├── page.tsx
└── @panel/
├── default.tsx
└── details/page.tsx
```
`/declared-children` is complete because `children` uses `page.tsx` and
`@panel` uses its default. `/declared-children/details` is incomplete
because `@panel` matches its page while the declared `children` slot has
no matching page or default at `/details`, so that matcher is pruned.
A route composed entirely from declared named slots is also complete:
```text
app/named-only/
├── layout.tsx
├── @left/[...slug]/page.tsx
└── @right/[...slug]/page.tsx
```
The preceding PR's default-on `explicitParallelRouteChildren` behavior
means this loader tree contains only `left` and `right`. Strict matching
keeps `/named-only/[...slug]` because both declared slots match; it does
not invent `children` and then prune the route for failing to satisfy
that nonexistent slot.
We got here incrementally.
[#47872](https://github.com/vercel/next.js/pull/47872) introduced the
404 fallback for unmatched parallel slots,
[#60186](https://github.com/vercel/next.js/pull/60186) added a
development warning because this was confusing in practice and linked
[#51805](https://github.com/vercel/next.js/issues/51805) and
[#49569](https://github.com/vercel/next.js/issues/49569), and
[#84702](https://github.com/vercel/next.js/pull/84702) later made a
missing default a build error for named slots while leaving `children`
on the old fallback for backwards compatibility. Strict matching takes
the next step and treats a matcher that can only construct a permanent
404 tree as unmatched.
This changes soft navigations that only worked by preserving a
previously active slot even though the URL could not be loaded directly,
which is why matcher pruning remains behind its own experimental flag.
The interception retention markers backed by `default-null`, including
named host slots from the first PR in this stack, are complete route
patches and are not pruned. This change however is well motivated
because if you did client nav to a route that only matches a named slot
and then hard refresh you will end up getting a 404. This is a sign our
current semantics are actually broken.
If you want to preserve the perma 404 behavior of the
slot-without-default you can just add a default and make it call
`notFound()` unconditionally.
## Verification
- `pnpm build-all`
- Focused `normalize-catchall-routes` unit coverage
- Production and development e2e coverage on Turbopack and Webpack
- The pruning e2e matrix with Cache Components enabled
---
crates/next-api/src/app.rs | 1 +
crates/next-core/src/app_structure.rs | 221 ++++++++++++--
crates/next-core/src/next_config.rs | 8 +
packages/next/src/build/build-context.ts | 1 +
packages/next/src/build/entries.ts | 39 ++-
packages/next/src/build/index.ts | 13 +
.../build/normalize-catchall-routes.test.ts | 288 ++++++++++++++++++
.../src/build/normalize-catchall-routes.ts | 12 +-
packages/next/src/build/route-discovery.ts | 18 +-
packages/next/src/build/webpack-build/impl.ts | 2 +
.../webpack/loaders/next-app-loader/index.ts | 44 ++-
packages/next/src/server/config-schema.ts | 1 +
packages/next/src/server/config-shared.ts | 9 +
packages/next/src/server/config.test.ts | 30 ++
packages/next/src/server/config.ts | 7 +
.../src/server/dev/hot-reloader-webpack.ts | 19 ++
.../router-utils/normalize-catchall-routes.ts | 195 +++++++++++-
.../lib/router-utils/setup-dev-bundler.ts | 11 +-
.../named-catchall-target/[...slug]/page.tsx | 3 +
.../app/named-host/@canonical/page.tsx | 3 +
.../app/named-host/@content/page.tsx | 1 +
.../[...slug]/page.tsx | 5 +
.../app/named-host/layout.tsx | 3 +
.../app/regular-route/default.tsx | 8 +
.../interception-dynamic-segment.test.ts | 54 ++++
.../next.config.js | 4 +
.../@content/dashboard/page.tsx | 3 +
.../app/interception-host/@content/page.tsx | 3 +
.../@modal/(.)dashboard/page.tsx | 3 +
.../app/interception-host/@modal/default.tsx | 3 +
.../app/interception-host/dashboard/page.tsx | 3 +
.../app/interception-host/layout.tsx | 17 ++
.../app/interception-host/page.tsx | 3 +
.../fixtures/no-build-error/next.config.js | 11 +
...outes-leaf-segments.no-build-error.test.ts | 13 +
.../grouped/@slot/specific/page.tsx | 3 +
.../grouped/[...slug]/page.tsx | 3 +
.../app/(pruning-group)/grouped/layout.tsx | 21 ++
.../(pruning-group)/grouped/specific/page.tsx | 3 +
.../app/children-catchall/@first/foo/page.tsx | 3 +
.../children-catchall/@second/bar/page.tsx | 3 +
.../app/children-catchall/[...slug]/page.tsx | 3 +
.../app/children-catchall/layout.tsx | 25 ++
.../children-default/@slot/[...slug]/page.tsx | 3 +
.../app/children-default/default.tsx | 3 +
.../app/children-default/layout.tsx | 20 ++
.../app/client-navigation.tsx | 17 ++
.../@slot/[...slug]/page.tsx | 3 +
.../app/complete-catchalls/[...slug]/page.tsx | 3 +
.../app/complete-catchalls/layout.tsx | 20 ++
.../app/default-not-found/@slot/default.tsx | 5 +
.../app/default-not-found/[...slug]/page.tsx | 3 +
.../app/default-not-found/layout.tsx | 21 ++
.../app/layout.tsx | 17 ++
.../@catchall/[...slug]/page.tsx | 3 +
.../app/named-catchall/@specific/foo/page.tsx | 3 +
.../app/named-catchall/layout.tsx | 22 ++
.../@left/[...slug]/page.tsx | 3 +
.../@right/[...slug]/page.tsx | 3 +
.../app/named-only-catchalls/layout.tsx | 21 ++
.../@outer/@inner/specific/page.tsx | 3 +
.../nested-parallel/@outer/[...slug]/page.tsx | 3 +
.../app/nested-parallel/@outer/layout.tsx | 20 ++
.../nested-parallel/@outer/specific/page.tsx | 3 +
.../app/nested-parallel/[...slug]/page.tsx | 3 +
.../app/nested-parallel/layout.tsx | 21 ++
.../app/nested-parallel/specific/page.tsx | 3 +
.../app/not-found.tsx | 3 +
.../@slot/specific/page.tsx | 3 +
.../[[...slug]]/page.tsx | 3 +
.../app/optional-children-catchall/layout.tsx | 19 ++
.../specific/page.tsx | 3 +
.../app/page.tsx | 22 ++
.../split-matcher/@slot/[...parts]/page.tsx | 3 +
.../app/split-matcher/bar/page.tsx | 3 +
.../app/split-matcher/foo/page.tsx | 3 +
.../app/split-matcher/layout.tsx | 21 ++
.../app/valid/@slot/default.tsx | 3 +
.../app/valid/@slot/special/page.tsx | 3 +
.../app/valid/[...slug]/page.tsx | 3 +
.../app/valid/layout.tsx | 21 ++
.../next.config.js | 10 +
.../parallel-routes-pruned-matchers.test.ts | 225 ++++++++++++++
83 files changed, 1654 insertions(+), 43 deletions(-)
create mode 100644 test/e2e/app-dir/interception-dynamic-segment/app/named-host/@canonical/named-catchall-target/[...slug]/page.tsx
create mode 100644 test/e2e/app-dir/interception-dynamic-segment/app/named-host/@canonical/page.tsx
create mode 100644 test/e2e/app-dir/interception-dynamic-segment/app/named-host/@modal/(.)named-catchall-target/[...slug]/page.tsx
create mode 100644 test/e2e/app-dir/interception-dynamic-segment/app/regular-route/default.tsx
create mode 100644 test/e2e/app-dir/parallel-routes-leaf-segments/fixtures/no-build-error/app/interception-host/@content/dashboard/page.tsx
create mode 100644 test/e2e/app-dir/parallel-routes-leaf-segments/fixtures/no-build-error/app/interception-host/@content/page.tsx
create mode 100644 test/e2e/app-dir/parallel-routes-leaf-segments/fixtures/no-build-error/app/interception-host/@modal/(.)dashboard/page.tsx
create mode 100644 test/e2e/app-dir/parallel-routes-leaf-segments/fixtures/no-build-error/app/interception-host/@modal/default.tsx
create mode 100644 test/e2e/app-dir/parallel-routes-leaf-segments/fixtures/no-build-error/app/interception-host/dashboard/page.tsx
create mode 100644 test/e2e/app-dir/parallel-routes-leaf-segments/fixtures/no-build-error/app/interception-host/layout.tsx
create mode 100644 test/e2e/app-dir/parallel-routes-leaf-segments/fixtures/no-build-error/app/interception-host/page.tsx
create mode 100644 test/e2e/app-dir/parallel-routes-leaf-segments/fixtures/no-build-error/next.config.js
create mode 100644 test/e2e/app-dir/parallel-routes-pruned-matchers/app/(pruning-group)/grouped/@slot/specific/page.tsx
create mode 100644 test/e2e/app-dir/parallel-routes-pruned-matchers/app/(pruning-group)/grouped/[...slug]/page.tsx
create mode 100644 test/e2e/app-dir/parallel-routes-pruned-matchers/app/(pruning-group)/grouped/layout.tsx
create mode 100644 test/e2e/app-dir/parallel-routes-pruned-matchers/app/(pruning-group)/grouped/specific/page.tsx
create mode 100644 test/e2e/app-dir/parallel-routes-pruned-matchers/app/children-catchall/@first/foo/page.tsx
create mode 100644 test/e2e/app-dir/parallel-routes-pruned-matchers/app/children-catchall/@second/bar/page.tsx
create mode 100644 test/e2e/app-dir/parallel-routes-pruned-matchers/app/children-catchall/[...slug]/page.tsx
create mode 100644 test/e2e/app-dir/parallel-routes-pruned-matchers/app/children-catchall/layout.tsx
create mode 100644 test/e2e/app-dir/parallel-routes-pruned-matchers/app/children-default/@slot/[...slug]/page.tsx
create mode 100644 test/e2e/app-dir/parallel-routes-pruned-matchers/app/children-default/default.tsx
create mode 100644 test/e2e/app-dir/parallel-routes-pruned-matchers/app/children-default/layout.tsx
create mode 100644 test/e2e/app-dir/parallel-routes-pruned-matchers/app/client-navigation.tsx
create mode 100644 test/e2e/app-dir/parallel-routes-pruned-matchers/app/complete-catchalls/@slot/[...slug]/page.tsx
create mode 100644 test/e2e/app-dir/parallel-routes-pruned-matchers/app/complete-catchalls/[...slug]/page.tsx
create mode 100644 test/e2e/app-dir/parallel-routes-pruned-matchers/app/complete-catchalls/layout.tsx
create mode 100644 test/e2e/app-dir/parallel-routes-pruned-matchers/app/default-not-found/@slot/default.tsx
create mode 100644 test/e2e/app-dir/parallel-routes-pruned-matchers/app/default-not-found/[...slug]/page.tsx
create mode 100644 test/e2e/app-dir/parallel-routes-pruned-matchers/app/default-not-found/layout.tsx
create mode 100644 test/e2e/app-dir/parallel-routes-pruned-matchers/app/layout.tsx
create mode 100644 test/e2e/app-dir/parallel-routes-pruned-matchers/app/named-catchall/@catchall/[...slug]/page.tsx
create mode 100644 test/e2e/app-dir/parallel-routes-pruned-matchers/app/named-catchall/@specific/foo/page.tsx
create mode 100644 test/e2e/app-dir/parallel-routes-pruned-matchers/app/named-catchall/layout.tsx
create mode 100644 test/e2e/app-dir/parallel-routes-pruned-matchers/app/named-only-catchalls/@left/[...slug]/page.tsx
create mode 100644 test/e2e/app-dir/parallel-routes-pruned-matchers/app/named-only-catchalls/@right/[...slug]/page.tsx
create mode 100644 test/e2e/app-dir/parallel-routes-pruned-matchers/app/named-only-catchalls/layout.tsx
create mode 100644 test/e2e/app-dir/parallel-routes-pruned-matchers/app/nested-parallel/@outer/@inner/specific/page.tsx
create mode 100644 test/e2e/app-dir/parallel-routes-pruned-matchers/app/nested-parallel/@outer/[...slug]/page.tsx
create mode 100644 test/e2e/app-dir/parallel-routes-pruned-matchers/app/nested-parallel/@outer/layout.tsx
create mode 100644 test/e2e/app-dir/parallel-routes-pruned-matchers/app/nested-parallel/@outer/specific/page.tsx
create mode 100644 test/e2e/app-dir/parallel-routes-pruned-matchers/app/nested-parallel/[...slug]/page.tsx
create mode 100644 test/e2e/app-dir/parallel-routes-pruned-matchers/app/nested-parallel/layout.tsx
create mode 100644 test/e2e/app-dir/parallel-routes-pruned-matchers/app/nested-parallel/specific/page.tsx
create mode 100644 test/e2e/app-dir/parallel-routes-pruned-matchers/app/not-found.tsx
create mode 100644 test/e2e/app-dir/parallel-routes-pruned-matchers/app/optional-children-catchall/@slot/specific/page.tsx
create mode 100644 test/e2e/app-dir/parallel-routes-pruned-matchers/app/optional-children-catchall/[[...slug]]/page.tsx
create mode 100644 test/e2e/app-dir/parallel-routes-pruned-matchers/app/optional-children-catchall/layout.tsx
create mode 100644 test/e2e/app-dir/parallel-routes-pruned-matchers/app/optional-children-catchall/specific/page.tsx
create mode 100644 test/e2e/app-dir/parallel-routes-pruned-matchers/app/page.tsx
create mode 100644 test/e2e/app-dir/parallel-routes-pruned-matchers/app/split-matcher/@slot/[...parts]/page.tsx
create mode 100644 test/e2e/app-dir/parallel-routes-pruned-matchers/app/split-matcher/bar/page.tsx
create mode 100644 test/e2e/app-dir/parallel-routes-pruned-matchers/app/split-matcher/foo/page.tsx
create mode 100644 test/e2e/app-dir/parallel-routes-pruned-matchers/app/split-matcher/layout.tsx
create mode 100644 test/e2e/app-dir/parallel-routes-pruned-matchers/app/valid/@slot/default.tsx
create mode 100644 test/e2e/app-dir/parallel-routes-pruned-matchers/app/valid/@slot/special/page.tsx
create mode 100644 test/e2e/app-dir/parallel-routes-pruned-matchers/app/valid/[...slug]/page.tsx
create mode 100644 test/e2e/app-dir/parallel-routes-pruned-matchers/app/valid/layout.tsx
create mode 100644 test/e2e/app-dir/parallel-routes-pruned-matchers/next.config.js
create mode 100644 test/e2e/app-dir/parallel-routes-pruned-matchers/parallel-routes-pruned-matchers.test.ts
diff --git a/crates/next-api/src/app.rs b/crates/next-api/src/app.rs
index daffc0aa0eee..d9be7f73c1cd 100644
--- a/crates/next-api/src/app.rs
+++ b/crates/next-api/src/app.rs
@@ -171,6 +171,7 @@ impl AppProject {
conf.page_extensions(),
conf.is_global_not_found_enabled(),
conf.explicit_parallel_route_children(),
+ conf.strict_route_matching(),
self.project.next_mode(),
)
}
diff --git a/crates/next-core/src/app_structure.rs b/crates/next-core/src/app_structure.rs
index e675114a430d..115d8155228d 100644
--- a/crates/next-core/src/app_structure.rs
+++ b/crates/next-core/src/app_structure.rs
@@ -517,6 +517,41 @@ impl AppPageLoaderTree {
true
}
+ fn is_builtin_not_found_default(&self, builtin_default: &FileSystemPath) -> bool {
+ &*self.segment == "__DEFAULT__"
+ && self.modules.default.as_ref().is_some_and(|default| {
+ default.fs == builtin_default.fs && default.path == builtin_default.path
+ })
+ }
+
+ /// Returns true when a slot declared by its owning layout can only use Next.js' built-in
+ /// not-found default. Structural router-state branches can contain the same default without
+ /// being renderable slots, so they do not make the matcher incomplete.
+ fn contains_declared_builtin_not_found_default(
+ &self,
+ builtin_default: &FileSystemPath,
+ declared_slots: &FxIndexMap>,
+ parent_layout: Option<&FileSystemPath>,
+ ) -> bool {
+ let owner_layout = self.modules.layout.as_ref().or(parent_layout);
+
+ self.parallel_routes.iter().any(|(slot, tree)| {
+ let is_declared_default = tree.is_builtin_not_found_default(builtin_default)
+ && owner_layout.is_some_and(|layout| {
+ declared_slots
+ .get(layout)
+ .is_some_and(|slots| slots.contains(slot))
+ });
+
+ is_declared_default
+ || tree.contains_declared_builtin_not_found_default(
+ builtin_default,
+ declared_slots,
+ owner_layout,
+ )
+ })
+ }
+
/// Returns true if this loader tree contains an intercepting route match.
pub fn is_intercepting(&self) -> bool {
if self.page.is_intercepting() && self.has_page() {
@@ -825,6 +860,7 @@ pub fn get_entrypoints(
page_extensions: Vc>,
is_global_not_found_enabled: Vc,
explicit_parallel_route_children: Vc,
+ strict_route_matching: Vc,
next_mode: Vc,
) -> Vc {
directory_tree_to_entrypoints(
@@ -833,6 +869,7 @@ pub fn get_entrypoints(
get_global_metadata(app_dir, page_extensions),
is_global_not_found_enabled,
explicit_parallel_route_children,
+ strict_route_matching,
next_mode,
Default::default(),
Default::default(),
@@ -856,28 +893,86 @@ pub async fn collect_root_params(
}
#[turbo_tasks::function]
-fn directory_tree_to_entrypoints(
+async fn directory_tree_to_entrypoints(
app_dir: FileSystemPath,
directory_tree: Vc,
global_metadata: Vc,
is_global_not_found_enabled: Vc,
explicit_parallel_route_children: Vc,
+ strict_route_matching: Vc,
next_mode: Vc,
root_layouts: Vc,
root_params: Vc,
-) -> Vc {
- directory_tree_to_entrypoints_internal(
- app_dir,
+) -> Result> {
+ let entrypoints = directory_tree_to_entrypoints_internal(
+ app_dir.clone(),
global_metadata,
is_global_not_found_enabled,
explicit_parallel_route_children,
+ strict_route_matching,
next_mode,
rcstr!(""),
directory_tree,
AppPage::new(),
root_layouts,
root_params,
- )
+ );
+
+ if !*strict_route_matching.await? {
+ return Ok(entrypoints);
+ }
+
+ let builtin_default = get_next_package(app_dir.clone())
+ .await?
+ .join("dist/client/components/builtin/default.js")?;
+ let entrypoints_ref = entrypoints.await?;
+ let plain_tree = directory_tree.into_plain().await?;
+ let mut declared_slots = FxIndexMap::default();
+ collect_declared_parallel_route_slots(&plain_tree, &mut declared_slots);
+ let mut retained_entrypoints = FxIndexMap::default();
+
+ // Loader trees built while walking a subtree may still contain temporary synthesized
+ // defaults that disappear when sibling pages are combined. Prune only the finalized root
+ // entrypoints so complete routes are never discarded based on an intermediate tree.
+ for (app_path, entrypoint) in entrypoints_ref.iter() {
+ let is_incomplete = match entrypoint {
+ Entrypoint::AppPage { loader_tree, .. } => loader_tree
+ .await?
+ .contains_declared_builtin_not_found_default(
+ &builtin_default,
+ &declared_slots,
+ None,
+ ),
+ _ => false,
+ };
+
+ if !is_incomplete {
+ retained_entrypoints.insert(app_path.clone(), entrypoint.clone());
+ }
+ }
+
+ // This assertion is intentionally separate from the filtering condition above. It guards
+ // future changes to entrypoint construction or pruning that might retain an incomplete tree.
+ for (app_path, entrypoint) in &retained_entrypoints {
+ let Entrypoint::AppPage { loader_tree, .. } = entrypoint else {
+ continue;
+ };
+ if !app_path.contains_interception()
+ && loader_tree
+ .await?
+ .contains_declared_builtin_not_found_default(
+ &builtin_default,
+ &declared_slots,
+ None,
+ )
+ {
+ bail!(
+ "Invariant: strict route matching retained the incomplete route matcher \
+ `{app_path}`"
+ );
+ }
+ }
+ Ok(Vc::cell(retained_entrypoints))
}
#[turbo_tasks::value]
@@ -1083,6 +1178,44 @@ fn has_declared_children_slot(directory_tree: &PlainDirectoryTree) -> bool {
.any(|(_, subdirectory)| subdirectory.contains_page_or_default)
}
+/// Collects named slots at the current URL level. Route groups are transparent, while ordinary
+/// segments and parallel routes establish nested levels with their own layout ownership.
+fn collect_named_slots_at_level(
+ directory_tree: &PlainDirectoryTree,
+ slots: &mut FxIndexSet,
+) {
+ for (name, subdirectory) in &directory_tree.subdirectories {
+ if let Some(slot) = match_parallel_route(name) {
+ if subdirectory.contains_page_or_default {
+ slots.insert(slot.into());
+ }
+ } else if is_group_route(name) {
+ collect_named_slots_at_level(subdirectory, slots);
+ }
+ }
+}
+
+/// Records the filesystem slots owned by each layout. Loader trees can also contain structural
+/// branches used to carry parallel-route state; those branches must not participate in matcher
+/// completeness unless the owning layout actually declares the slot.
+fn collect_declared_parallel_route_slots(
+ directory_tree: &PlainDirectoryTree,
+ slots_by_layout: &mut FxIndexMap>,
+) {
+ if let Some(layout) = &directory_tree.modules.layout {
+ let mut slots = FxIndexSet::default();
+ if has_declared_children_slot(directory_tree) {
+ slots.insert(rcstr!("children"));
+ }
+ collect_named_slots_at_level(directory_tree, &mut slots);
+ slots_by_layout.insert(layout.clone(), slots);
+ }
+
+ for subdirectory in directory_tree.subdirectories.values() {
+ collect_declared_parallel_route_slots(subdirectory, slots_by_layout);
+ }
+}
+
async fn check_duplicate(
duplicate: &mut FxHashMap,
loader_tree: &AppPageLoaderTree,
@@ -1109,7 +1242,7 @@ async fn check_duplicate(
#[turbo_tasks::value(transparent)]
struct AppPageLoaderTreeOption(Option>);
-/// creates the loader tree for a specific route (pathname / [AppPath])
+/// Creates the loader tree for a specific route (pathname / [AppPath]).
#[turbo_tasks::function]
async fn directory_tree_to_loader_tree(
app_dir: FileSystemPath,
@@ -1120,23 +1253,38 @@ async fn directory_tree_to_loader_tree(
// the page this loader tree is constructed for
for_app_path: AppPath,
explicit_parallel_route_children: Vc,
+ strict_route_matching: Vc,
) -> Result> {
let plain_tree_vc = directory_tree.into_plain();
let plain_tree = &*plain_tree_vc.await?;
+ let strict_route_matching = *strict_route_matching.await?;
+ let mut missing_defaults = Vec::new();
let tree = directory_tree_to_loader_tree_internal(
- app_dir,
+ app_dir.clone(),
global_metadata,
directory_name,
plain_tree,
- app_page,
+ app_page.clone(),
for_app_path,
*explicit_parallel_route_children.await?,
AppDirModules::default(),
Some(&plain_tree.url_tree),
+ &mut missing_defaults,
)
.await?;
+ // Strict matching handles incomplete routes after the finalized entrypoint is assembled.
+ // Preserve the legacy per-tree missing-default diagnostics when strict matching is disabled.
+ if !strict_route_matching {
+ for (page, slot) in missing_defaults {
+ missing_default_parallel_route_issue(app_dir.clone(), page, slot)
+ .to_resolved()
+ .await?
+ .emit();
+ }
+ }
+
Ok(Vc::cell(tree.map(AppPageLoaderTree::resolved_cell)))
}
@@ -1215,6 +1363,7 @@ async fn directory_tree_to_loader_tree_internal(
explicit_parallel_route_children: bool,
mut parent_modules: AppDirModules,
url_tree: Option<&UrlSegmentTree>,
+ missing_defaults: &mut Vec<(AppPage, RcStr)>,
) -> Result