This removes the Next logo animation/dimming and replaces it with more
explicit states. We also use this UI to show when caches are being
warmed (when using Cache Components). When caches are being bypassed in
DevTools, we also will show this in the indicator with warning text,
indicating that we cannot accurately reflect what can be statically
prerendered.
https://github.com/user-attachments/assets/665d4f8b-8c01-4def-a60e-bc4ecdd1f879
This moves `experimental.cacheComponents` to a top level config. As part
of this, I disabled some tests in `build-output-prerender` that assert
on `cacheComponents` appearing in the experimental list. In a separate
PR, I'm going to show that Cache Components is enabled next to the
bundler info.
This also updates some docs pages to remove "experimental" language.
When `experimental.cacheComponents` is enabled, the static indicator in
the Next.js DevTools is now disabled.
With Cache Components enabled, the binary static/dynamic state is no
longer accurate since routes are typically partially static and dynamic
(unless fully opted into dynamic rendering via a Suspense boundary above
the body, which is an edge case).
To avoid confusion, we're removing it for now, when the feature flag is
enabled. In the future, we will likely provide better tools that will
allow users to understand which parts of a page are prerendered and
which parts are dynamic.
In addition, this PR also improves the behavior for fully static App
Router pages (without Cache Components). Previously, we would show
"Dynamic" as default, and only flipped to "Static" when the request was
finished. Now, we're showing a spinner while the page is loading.

closes NAR-428
The static indicator was added in the new dev overlay but wasn't hooked up to pages router. This wires that up so they're properly marked static/dynamic.
Closes NDX-897