You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: website/docs/api/options-animations.mdx
+39Lines changed: 39 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,3 +3,42 @@ id: options-animations
3
3
title: Animations
4
4
sidebar_label: Animations
5
5
---
6
+
7
+
Animation options are declared on layout `options.animations`. See the [Animations guide](../docs/style-animations) for examples (stack, modal, shared elements, zoom).
8
+
9
+
## Stack `push` / `pop`
10
+
11
+
Stack command animations support `content`, `topBar`, `bottomTabs`, `sharedElementTransitions`, `elementTransitions`, and on iOS 18+ [`zoom`](#zoom-ios-18).
12
+
13
+
## Zoom (iOS 18+)
14
+
15
+
Declared under **`animations.push.zoom` only** when pushing onto a stack. Ignored on `animations.pop`, `animations.setStackRoot`, and Android.
Copy file name to clipboardExpand all lines: website/docs/docs/style-animations.mdx
+57Lines changed: 57 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -113,6 +113,63 @@ options: {
113
113
</TabItem>
114
114
</Tabs>
115
115
116
+
### Zoom transition (iOS 18+)
117
+
118
+
Use UIKit's system **fluid zoom transition** when pushing onto a stack: the tapped view morphs into the next screen. The transition is interactive — users can drag to slow, reverse, or dismiss.
119
+
120
+
:::info Platform support
121
+
Configure under **`animations.push` only** (not `setStackRoot` or `pop`). Available on **iOS 18 and later**. Android ignores this option. Reverse zoom on pop is automatic when the detail screen is popped.
122
+
:::
123
+
124
+
This uses `UIViewController.preferredTransition` under the hood. It is separate from [shared element transitions](#shared-element-transitions): you do not declare `sharedElementTransitions` or `content` animations for zoom. If those custom animations are set on the same push, they take precedence and zoom is not applied.
125
+
126
+
#### Step 1 — Set `nativeID` on the source view
127
+
128
+
Mark the view that should expand (thumbnail, card, hero image, etc.):
0 commit comments