Skip to content

feat: add shared element transitions - #1

Merged
milkevich merged 5 commits into
mainfrom
feat/shared-elements
Jul 25, 2026
Merged

feat: add shared element transitions#1
milkevich merged 5 commits into
mainfrom
feat/shared-elements

Conversation

@milkevich

Copy link
Copy Markdown
Owner

Summary

Adds shared element transitions to Routeveil as a new page-transition capability.

Shared elements are matched across routes by name and run in three sequential phases:

Basic logic:
page exit → shared element movement → page enter

This PR includes:

  • RouteveilSharedElement public API and types
  • Shared element registration, matching, cloning, animation, handoff, cleanup, and interruption handling
  • Support for multiple shared elements and different source/target element types
  • Safe fallbacks for missing or ambiguous targets
  • Reduced-motion, SSR, accessibility, and lifecycle coverage
  • Shared element documentation and README updates
  • A link to the shared elements playground
  • New /lab/shared-elements masonry gallery demo
  • SEO, sitemap, and machine-readable documentation updates
  • Package version update to 0.2.0

Existing page transitions, overlay transitions, and same-page playback remain unchanged when shared elements are not used.

Validation

  • npm run check
  • npm run build:demo
  • Tests cover new or changed behavior
  • Public documentation matches verified behavior
  • Public API and package contents were reviewed
  • Visual styling and layout are unchanged unless required by the change

@vercel

vercel Bot commented Jul 25, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
routeveil Ready Ready Preview, Comment Jul 25, 2026 4:44am

@milkevich
milkevich merged commit e77e0ab into main Jul 25, 2026
3 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant