Page-level enter/exit animations, shared element transitions with name + share="morph".
React 19's <ViewTransition> enables smooth animations between route changes.
From app/[slug]/page.tsx:
import { ViewTransition } from 'react';
export default async function BlogPostPage({ params }) {
return (
<ViewTransition enter="slide-from-right" exit="slide-to-right">
<article>...</article>
</ViewTransition>
);
}From app/dashboard/_components/PostList.tsx—connect elements across pages with the same name:
<Link href={`/dashboard/${post.slug}`}>
<ViewTransition name={`post-card-${The card morphs into the detail page when navigating.
Uses the browser's native View Transitions API. In unsupported browsers, navigation works normally—progressive enhancement.