animations
The transitions of the commands: push, pop, modals, the root, and elements that move between screens.
Options
Every key, with the platforms it works on. A dashed platform means the key does nothing there.
14 options shown
The push of a screen, read from the screen that comes.
(iOS 18+) The zoom of the new screen out of a view of the screen it is pushed from; the pop zooms back.
Whether the command is animated; false shows or removes the screens at once, at the moment an animated one would have started. On pop it is read from the screen that goes.
Whether to wait for the new top screen to be drawn before the transition. Without it, the transition waits for the first mount of the new top's content, half a second at most, with the platform's transition as with an animation of its own; on a push the options the screen sets as it renders for the first time (useScreenOptions, such as its title) are in its bar from the first frame. true waits as long as it takes, false starts at once, the content drawing as it comes ((Android) a push with appProvider still renders the screen first). (iOS) The components of the bar are waited for too, each to its own limit.
The animation of the screens: enter for the screen that comes (on a pop, the one that was below), exit for the one that goes. A property with a from or a to makes it an animation of its own, which replaces the platform's transition; the side left out stays still. With one of its own, (Android) the top bar goes with its screen: the bar of the screen that goes leaves with it, and the bar of the screen that comes moves, scales and fades with it; (iOS) UIKit keeps the bar in place and changes its title and buttons at once. (Android) The tab bar doesn't travel with the screens. (Android) When the transition has elements, a push plays only enter and a pop only exit, and only when that side is a single alpha; any other side is not played, and the screen fades in or out in 300 ms around the elements instead. iOS plays the sides as they are set.
The animation of the top bar when it shows or hides because the screens differ in topBar.visible. Without it, the bar slides up by its height and back in 300 ms; with a content of its own it shows or hides with its screen. iOS animates the bar with UIKit.
The animation of the tab bar when it shows or hides because the screens differ in their tabs. Without it, the bar travels with the screens in the platform's transition, or slides down by its height and back in 300 ms. iOS animates the bar with UIKit.
The animations of single views of the screens, with or without shared elements. A list that is not empty makes the animation the library's own; [] removes the list the layers below give.
The pop of a screen, also popTo and popToRoot, read from the screen that goes. The swipe back of iOS is UIKit's, or the pop's own animation under the finger (interactive); the back gesture of Android previews the pop (preview).
The replacing of the screens of a stack, read from the new top screen.
The new root of the app, from setRoot or switchTo: enter animates the new root, exit the old one (on iOS a snapshot of the old window). Without it, iOS dissolves the old root in 0.3 s and Android plays a fade through.
The showing of a modal, read from the modal with its containers. A sheet keeps the system's sheet motion: (iOS) 'pageSheet', 'formSheet' and a modal without a style, (Android) the bottom sheet. The enter, exit and elements set here don't apply to it.
The dismissing of a modal, also dismissAllModals (from the top modal), read from the modal that goes. A sheet keeps the system's sheet motion: (iOS) 'pageSheet', 'formSheet' and a modal without a style, (Android) the bottom sheet. The enter, exit and elements set here don't apply to it.