<div class='type'>Function</div>


<a id='references'></a>


<h2 id="shrinkout-animationspec-shrinktowards-clip-targetsize">shrinkOut</h2>

<div class='sourceset sourceset-common'>Common</div>


```kotlin
public fun shrinkOut(
    animationSpec: FiniteAnimationSpec<IntSize> =
        spring(
            stiffness = Spring.StiffnessMediumLow,
            visibilityThreshold = IntSize.VisibilityThreshold,
        ),
    shrinkTowards: Alignment = Alignment.BottomEnd,
    clip: Boolean = true,
    targetSize: (fullSize: IntSize) -> IntSize = { IntSize(0, 0) },
): ExitTransition
```


This shrinks the clip bounds of the disappearing content from the full size to the size returned
from `targetSize`. `shrinkTowards` controls the direction of the bounds shrink animation. By
default, the clip bounds animates from full size to `IntSize(0, 0)`, shrinking towards the the
bottom right corner (or bottom left corner in RTL layouts) of the content.

__Note__: `shrinkOut` animates the bounds of the content. This bounds change will also result in
the animation of other layouts that are dependent on this size.

`targetSize` is a lambda that takes the full size of the content and returns a target size of the
bounds of the content. This allows not only absolute size, but also a target size that is
proportional to the content size.

`clip` defines whether the content outside of the animated bounds should be clipped. By default,
clip is set to true, which only shows content in the animated bounds.

For shrinking only horizontally or vertically, consider `shrinkHorizontally`, `shrinkVertically`.

#### Parameters

| | |
| --- | --- |
| animationSpec | the animation used for the shrinking animation, `spring` by default. |
| shrinkTowards | the ending point of the shrinking bounds, `Alignment.BottomEnd` by default. |
| clip | whether the content outside of the animated bounds should be clipped, true by default |
| targetSize | returns the end size of the shrinking bounds, `IntSize(0, 0)` by default. |