Animated React components you copy and paste, built on the React's ViewTransition. No animation library, just React 19.3+ and a little CSS.
See the codeAnimated React components you copy and paste, built on the View Transition API and React's <ViewTransition>. No animation library, just React 19.3+ and a little CSS.

morph.css next to your globals.css and import it after Tailwind. Every component is built from its vt-* classes, and yours can use them too.@import "tailwindcss";
@import "./morph.css";
.tsx from its docs page into components/.Needs React 19.3+ and Tailwind CSS v4.
npm install
npm run dev
The site is a static export (output: "export"), served from out/ by Cloudflare Workers static assets (wrangler.jsonc). In the Cloudflare dashboard, import the repository and set:
npm run buildnpx wrangler deployThe site's URL, used for canonical links, OG images and the sitemap, is NEXT_PUBLIC_SITE_URL in .env.production.
src/registry/ — the components, one .tsx file each, written with plain elements and Tailwind classes.src/registry/morph.css — the one CSS file: a small set of vt-* classes every component composes, with settings you can override on :root.src/components/docs/examples/ — one runnable demo per component, shown under Usage.src/app/ — Next.js routes. Every component page is pre-rendered at build time.src/components/docs/ — the docs site, built with shadcn/ui.See AGENTS.md for conventions.
9 commits
TypeScript
84.9%
CSS
11.7%
JavaScript
3.3%
Animated React components you copy and paste, built on the React's ViewTransition. No animation library, just React 19.3+ and a little CSS.
See the codeAnimated React components you copy and paste, built on the View Transition API and React's <ViewTransition>. No animation library, just React 19.3+ and a little CSS.

morph.css next to your globals.css and import it after Tailwind. Every component is built from its vt-* classes, and yours can use them too.@import "tailwindcss";
@import "./morph.css";
.tsx from its docs page into components/.Needs React 19.3+ and Tailwind CSS v4.
npm install
npm run dev
The site is a static export (output: "export"), served from out/ by Cloudflare Workers static assets (wrangler.jsonc). In the Cloudflare dashboard, import the repository and set:
npm run buildnpx wrangler deployThe site's URL, used for canonical links, OG images and the sitemap, is NEXT_PUBLIC_SITE_URL in .env.production.
src/registry/ — the components, one .tsx file each, written with plain elements and Tailwind classes.src/registry/morph.css — the one CSS file: a small set of vt-* classes every component composes, with settings you can override on :root.src/components/docs/examples/ — one runnable demo per component, shown under Usage.src/app/ — Next.js routes. Every component page is pre-rendered at build time.src/components/docs/ — the docs site, built with shadcn/ui.See AGENTS.md for conventions.
9 commits
TypeScript
84.9%
CSS
11.7%
JavaScript
3.3%