Reference
Transitions API
Router installation and the lower-level transition services.
internalPlugins.transitions defaults to true. Radical supplies the native transition overlay plugin. @akshatowo/radical/transitions.css contains the browser transition styles.
TanStack installer
browserTransitions(router, options?, browserLayer?) from @akshatowo/radical/tanstack-start-client installs once per router. Returns { cancel(), dispose() }. SSR returns no-op methods.
| Option | Meaning |
|---|---|
timeoutMs | Overlay and animation wait timeout. Defaults to 1000 milliseconds in the installer. Never bounds the router commit. |
direction | Callback mapping history-derived "forward" or "back" to the selected direction. |
The optional third argument replaces BrowserTransitionsLive. Destination staticData.radical.transition accepts "slide" or "fade". Shells use native overlays; capable browsers use typed view transitions. Unsupported browsers use plain navigation.
Client exports
| Export | Contract |
|---|---|
TransitionSchema, Transition | { kind: "slide" | "fade", direction: "forward" | "back" } |
BrowserTransitions, BrowserTransitionsLive | Service for typed-transition support and active transition state. |
BrowserTransition | finished Effect and skip Effect. |
cancelBrowserTransition | Effect requiring BrowserTransitions. Skips the active transition. |
watchBrowserTransition(timeoutMs) | Effect requiring BrowserTransitions. Skips on timeout; completion does not gate Router's DOM update. |
NativeTransitions, NativeTransitionsLive | Service with cover(id), reveal(id, transition), remove(id), and painted. The live layer requires Bridge. |
nativeTransition(id, transition, commit, timeoutMs?) | Effect requiring NativeTransitions. Runs the commit once even if capture fails. Default timeout 1000 milliseconds. |
transitionStrategy | Effect requiring Bridge | BrowserTransitions. Returns "native", "browser", or "plain". |
| Behavior or error | Contract |
|---|---|
TransitionFailed, TransitionTimeout | Carry cause |
NavigationFailed | Adapter navigation failure |
| Capture failure | Commit once without animation |
| Reduced motion | Honored by both shells |
| Stale overlay | Removed after three seconds |
| Slide | 30% background parallax; history back reverses direction |
Platform support
| Capability | Android | iOS | Browser |
|---|---|---|---|
| Navigation transition | Native overlay | Native overlay | Typed view transition if supported; otherwise plain navigation |
Source: transition implementation, protocol details.