github meursyphus/ssgoi v6.0.0

3 hours ago

SSGOI 6.0.0

A major release focused on page transitions — better APIs, cleaner internals, and finer UX controls.

Highlights

  • New internal animation model makes defining custom transitions significantly easier — clear Animation base + HostAnimation container with built-in motion matching across handoffs.
  • Page-transition-focused API. Per-element transitions have been removed. SSGOI now focuses on what it does best: smooth, interruptible page transitions across frameworks.
  • Cleaner page-transition interface — less boilerplate to wire up a transition config.
  • More UX options. Fine-grained controls for advanced patterns (scroll handling, container override, mobile gestures, etc.).

Breaking changes

Per-element transition API removed

SSGOI no longer ships per-element transition primitives. If you were attaching transitions directly to individual DOM elements, migrate those animations to your framework's native tools (CSS, Framer Motion, etc.). SSGOI continues to own the page-level transition layer.

Stricter scroll container detection

getScrollingElement() no longer treats an element as scrollable just because its content overflows. It now requires explicit overflow: auto | scroll | overlay (or overflow-x / overflow-y) on the element itself.

Why: the old "content overflows → scrollable" heuristic produced false positives on layouts that visually clip but don't actually scroll, causing scroll tracking to follow the wrong container.

Migration: either set explicit overflow CSS on the real scroll container, or use the new getScrollContainer option below to point SSGOI at it directly.

New

getScrollContainer in SsgoiConfig

Tell SSGOI exactly which element owns the page scroll, bypassing the parent-traversal heuristic.

const config = {
  transitions: [...],
  getScrollContainer: () => document.querySelector('#main-scroll'),
};

Useful for chat-style UIs, app shells, and any layout where the scroll container isn't the nearest scrollable ancestor.

Published packages

  • @ssgoi/core@6.0.0
  • @ssgoi/react@6.0.0
  • @ssgoi/svelte@6.0.0
  • @ssgoi/vue@6.0.0
  • @ssgoi/solid@6.0.0
  • @ssgoi/angular@6.0.0

Don't miss a new ssgoi release

NewReleases is sending notifications on new releases.