# androidx.compose.material3.adaptive.layout

Common/All

## Interfaces

|---|---|---|
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/AdaptStrategy` | Provides the information about how the associated pane should be adapted if not all panes can be displayed in the `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneAdaptedValue#Expanded()` state. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/AnimatedPaneScope` | Scope for the content of `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/AnimatedPane.composable#(androidx.compose.material3.adaptive.layout.ExtendedPaneScaffoldPaneScope).AnimatedPane(androidx.compose.ui.Modifier,androidx.compose.animation.EnterTransition,androidx.compose.animation.ExitTransition,androidx.compose.animation.core.FiniteAnimationSpec,kotlin.Function1,androidx.compose.ui.graphics.Shape,kotlin.Function1)`. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ExtendedPaneScaffoldPaneScope` | Extended scope for the panes of pane scaffolds. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ExtendedPaneScaffoldScope` | Extended scope for pane scaffolds. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneAdaptedValue` | The adapted state of a pane. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneExpansionStateKey` | Interface that serves as keys to remember and retrieve `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneExpansionState` with `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/rememberPaneExpansionState.composable#rememberPaneExpansionState(androidx.compose.material3.adaptive.layout.PaneExpansionStateKeyProvider,kotlin.collections.List,kotlin.Int,androidx.compose.animation.core.FiniteAnimationSpec,androidx.compose.foundation.gestures.FlingBehavior,kotlin.Function1)`. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneExpansionStateKeyProvider` | Interface that provides `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneExpansionStateKey` to remember and retrieve `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneExpansionState` with `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/rememberPaneExpansionState.composable#rememberPaneExpansionState(androidx.compose.material3.adaptive.layout.PaneExpansionStateKeyProvider,kotlin.collections.List,kotlin.Int,androidx.compose.animation.core.FiniteAnimationSpec,androidx.compose.foundation.gestures.FlingBehavior,kotlin.Function1)`. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneMargins` | Represents the margins of a pane within a pane scaffold. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneMotion` | Interface to specify a custom pane enter/exit motion when a pane's visibility changes. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldHorizontalOrder` | Represents the horizontal order of panes in a pane scaffold. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldMotionDataProvider` | Scope for performing pane motions within a pane scaffold. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldPaneScope` | The pane scope of the current pane under the scope, which provides the pane relevant info like its role and `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneMotion`. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldParentData` | The parent data passed to pane scaffolds by their contents like panes and drag handles. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldRole` | The interface that represents roles of panes in pane scaffold implementations. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldScope` | The base scope of pane scaffolds, which provides scoped functions that supported by pane scaffolds. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldTransitionScope` | The transition scope of pane scaffold implementations, which provides the current transition info of the associated pane scaffold. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldValue` | Interface to provide adapted value of panes. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ThreePaneScaffoldPaneScope` | Scope for the panes of `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/package-summary#ThreePaneScaffold(androidx.compose.ui.Modifier,androidx.compose.material3.adaptive.layout.PaneScaffoldDirective,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldHorizontalOrder,kotlin.Function1,kotlin.Function1,androidx.compose.material3.adaptive.layout.PaneExpansionState,kotlin.Function2,kotlin.Function1)`. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ThreePaneScaffoldScope` | Scope for the panes of `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/package-summary#ThreePaneScaffold(androidx.compose.ui.Modifier,androidx.compose.material3.adaptive.layout.PaneScaffoldDirective,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldHorizontalOrder,kotlin.Function1,kotlin.Function1,androidx.compose.material3.adaptive.layout.PaneExpansionState,kotlin.Function2,kotlin.Function1)`. | Cmn |

## Classes

|---|---|---|
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/AdaptStrategy.Levitate` | Indicate the associated pane should be levitated when it's the current destination. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/AdaptStrategy.Reflow` | Indicate the associated pane should be reflowed when certain conditions are met. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/DragToResizeState` | A state object that can be used to control the resizing behavior of a pane. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/HingePolicy` | Policies that indicate how hinges are supposed to be addressed in an adaptive layout. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/MutableThreePaneScaffoldState` | The seekable state of a three pane scaffold. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneAdaptedValue.Levitated` | Indicates that the associated pane should be levitated with the specified `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneAdaptedValue.Levitated#(androidx.compose.ui.Alignment,kotlin.Function0,androidx.compose.material3.adaptive.layout.DragToResizeState)`. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneAdaptedValue.Reflowed` | Indicates that the associated pane should be reflowed to its `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneAdaptedValue.Reflowed#(androidx.compose.material3.adaptive.layout.PaneScaffoldRole)`, i.e., it will be displayed under the target pane. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneExpansionAnchor` | The implementations of this interface represent different types of anchors of pane expansion dragging. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneExpansionAnchor.Offset` | `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneExpansionAnchor` implementation that specifies the anchor position based on the offset in `https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp`. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneExpansionAnchor.Offset.Direction` | Represents the direction from where the offset will be calculated. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneExpansionAnchor.Proportion` | `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneExpansionAnchor` implementation that specifies the anchor position in the proportion of the total size of the layout at the start side of the anchor. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneExpansionState` | This class manages the pane expansion state for pane scaffolds. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneMotion.Type` | Indicates the current type of pane motion, like if the pane is entering or exiting, or is kept showing or hidden. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneMotionData` | A class to collect motion-relevant data of a specific pane. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldDirective` | Top-level directives about how a pane scaffold should be arranged and spaced, like how many partitions the layout can be split into and what should be the gutter size. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ThreePaneMotion` | The class that provides motion settings for three pane scaffolds like `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ListDetailPaneScaffold.composable#ListDetailPaneScaffold(androidx.compose.material3.adaptive.layout.PaneScaffoldDirective,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue,kotlin.Function1,kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1,kotlin.Function2,androidx.compose.material3.adaptive.layout.PaneExpansionState)` and `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/SupportingPaneScaffold.composable#SupportingPaneScaffold(androidx.compose.material3.adaptive.layout.PaneScaffoldDirective,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue,kotlin.Function1,kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1,kotlin.Function2,androidx.compose.material3.adaptive.layout.PaneExpansionState)`. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ThreePaneScaffoldAdaptStrategies` | The adaptation specs of `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/package-summary#ThreePaneScaffold(androidx.compose.ui.Modifier,androidx.compose.material3.adaptive.layout.PaneScaffoldDirective,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldHorizontalOrder,kotlin.Function1,kotlin.Function1,androidx.compose.material3.adaptive.layout.PaneExpansionState,kotlin.Function2,kotlin.Function1)`. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ThreePaneScaffoldDestinationItem` | An item representing a navigation destination in a `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/package-summary#ThreePaneScaffold(androidx.compose.ui.Modifier,androidx.compose.material3.adaptive.layout.PaneScaffoldDirective,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldHorizontalOrder,kotlin.Function1,kotlin.Function1,androidx.compose.material3.adaptive.layout.PaneExpansionState,kotlin.Function2,kotlin.Function1)`. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ThreePaneScaffoldHorizontalOrder` | Represents the horizontal order of panes in a `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/package-summary#ThreePaneScaffold(androidx.compose.ui.Modifier,androidx.compose.material3.adaptive.layout.PaneScaffoldDirective,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldHorizontalOrder,kotlin.Function1,kotlin.Function1,androidx.compose.material3.adaptive.layout.PaneExpansionState,kotlin.Function2,kotlin.Function1)` from start to end. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ThreePaneScaffoldState` | A read-only state of a three pane scaffold. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ThreePaneScaffoldValue` | The adapted value of `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/package-summary#ThreePaneScaffold(androidx.compose.ui.Modifier,androidx.compose.material3.adaptive.layout.PaneScaffoldDirective,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldHorizontalOrder,kotlin.Function1,kotlin.Function1,androidx.compose.material3.adaptive.layout.PaneExpansionState,kotlin.Function2,kotlin.Function1)`. | Cmn |

## Objects

|---|---|---|
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/LevitatedPaneScrimDefaults` | The objet to provide default values of `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/LevitatedPaneScrim.composable#LevitatedPaneScrim(androidx.compose.ui.Modifier,kotlin.Function0,androidx.compose.ui.graphics.Color)`. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ListDetailPaneScaffoldDefaults` | Provides default values of `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ListDetailPaneScaffold.composable#ListDetailPaneScaffold(androidx.compose.material3.adaptive.layout.PaneScaffoldDirective,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue,kotlin.Function1,kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1,kotlin.Function2,androidx.compose.material3.adaptive.layout.PaneExpansionState)`. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ListDetailPaneScaffoldRole` | The set of the available pane roles of `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ListDetailPaneScaffold.composable#ListDetailPaneScaffold(androidx.compose.material3.adaptive.layout.PaneScaffoldDirective,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue,kotlin.Function1,kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1,kotlin.Function2,androidx.compose.material3.adaptive.layout.PaneExpansionState)`. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneMotionDefaults` | The default settings of pane motions. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/SupportingPaneScaffoldDefaults` | Provides default values of `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/SupportingPaneScaffold.composable#SupportingPaneScaffold(androidx.compose.material3.adaptive.layout.PaneScaffoldDirective,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue,kotlin.Function1,kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1,kotlin.Function2,androidx.compose.material3.adaptive.layout.PaneExpansionState)`. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/SupportingPaneScaffoldRole` | The set of the available pane roles of `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/SupportingPaneScaffold.composable#SupportingPaneScaffold(androidx.compose.material3.adaptive.layout.PaneScaffoldDirective,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue,kotlin.Function1,kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1,kotlin.Function2,androidx.compose.material3.adaptive.layout.PaneExpansionState)`. | Cmn |

## Enums

|---|---|---|
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/DockedEdge` | Represents the edge of a resizable pane that is docked, i.e. the edge that will stay in the same position during resizing. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ThreePaneScaffoldRole` | The set of the available pane roles of `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/package-summary#ThreePaneScaffold(androidx.compose.ui.Modifier,androidx.compose.material3.adaptive.layout.PaneScaffoldDirective,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldHorizontalOrder,kotlin.Function1,kotlin.Function1,androidx.compose.material3.adaptive.layout.PaneExpansionState,kotlin.Function2,kotlin.Function1)`. | Cmn |

## Composables

|---|---|---|
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/AnimatedPane.composable` | The root composable of pane contents in a `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/package-summary#ThreePaneScaffold(androidx.compose.ui.Modifier,androidx.compose.material3.adaptive.layout.PaneScaffoldDirective,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldHorizontalOrder,kotlin.Function1,kotlin.Function1,androidx.compose.material3.adaptive.layout.PaneExpansionState,kotlin.Function2,kotlin.Function1)` that supports default motions during pane switching. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/LevitatedPaneScrim.composable` | The default scrim implementation shown with a levitated pane to block the user interaction from the underlying layout. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ListDetailPaneScaffold.composable` | A three pane layout that follows the Material guidelines, displaying the provided panes in a canonical [list-detail layout](https://m3.material.io/foundations/layout/canonical-layouts/list-detail). | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/SupportingPaneScaffold.composable` | A three pane layout that follows the Material guidelines, displaying the provided panes in a canonical [supporting pane layout](https://m3.material.io/foundations/layout/canonical-layouts/supporting-pane). | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/defaultDragHandleSemantics.composable` | This function sets up the default semantics of pane expansion drag handles with the given `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneExpansionState`. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/rememberDragToResizeState.composable` | Creates and remembers a `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/DragToResizeState` instance. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/rememberPaneExpansionState.composable` | Remembers and returns a `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneExpansionState` associated to a given `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneExpansionStateKey`. | Cmn |

## Top-level functions summary

|---|---|---|
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldDirective` | `@https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/ExperimentalMaterial3AdaptiveApi https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/package-summary#calculatePaneScaffoldDirective(androidx.compose.material3.adaptive.WindowAdaptiveInfo,androidx.compose.material3.adaptive.layout.HingePolicy)( windowAdaptiveInfo: https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/WindowAdaptiveInfo, verticalHingePolicy: https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/HingePolicy )` Calculates the recommended `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldDirective` from a given `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/WindowAdaptiveInfo`. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldDirective` | `@https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/ExperimentalMaterial3AdaptiveApi https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/package-summary#calculatePaneScaffoldDirectiveWithTwoPanesOnMediumWidth(androidx.compose.material3.adaptive.WindowAdaptiveInfo,androidx.compose.material3.adaptive.layout.HingePolicy)( windowAdaptiveInfo: https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/WindowAdaptiveInfo, verticalHingePolicy: https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/HingePolicy )` Calculates the recommended `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldDirective` from a given `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/WindowAdaptiveInfo`. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ThreePaneScaffoldValue` | `@https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/ExperimentalMaterial3AdaptiveApi https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/package-summary#calculateThreePaneScaffoldValue(kotlin.Int,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldAdaptStrategies,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldDestinationItem,kotlin.Int)( maxHorizontalPartitions: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, adaptStrategies: https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ThreePaneScaffoldAdaptStrategies, currentDestination: https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ThreePaneScaffoldDestinationItem<*>?, maxVerticalPartitions: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html )` Calculates the current adapted value of `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/package-summary#ThreePaneScaffold(androidx.compose.ui.Modifier,androidx.compose.material3.adaptive.layout.PaneScaffoldDirective,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldHorizontalOrder,kotlin.Function1,kotlin.Function1,androidx.compose.material3.adaptive.layout.PaneExpansionState,kotlin.Function2,kotlin.Function1)` according to the given `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/package-summary#calculateThreePaneScaffoldValue(kotlin.Int,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldAdaptStrategies,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldDestinationItem,kotlin.Int)`, `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/package-summary#calculateThreePaneScaffoldValue(kotlin.Int,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldAdaptStrategies,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldDestinationItem,kotlin.Int)` and `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/package-summary#calculateThreePaneScaffoldValue(kotlin.Int,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldAdaptStrategies,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldDestinationItem,kotlin.Int)`. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ThreePaneScaffoldValue` | `@https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/ExperimentalMaterial3AdaptiveApi https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/package-summary#calculateThreePaneScaffoldValue(kotlin.Int,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldAdaptStrategies,kotlin.collections.List,kotlin.Int)( maxHorizontalPartitions: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, adaptStrategies: https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ThreePaneScaffoldAdaptStrategies, destinationHistory: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ThreePaneScaffoldDestinationItem<*>>, maxVerticalPartitions: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html )` Calculates the current adapted value of `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/package-summary#ThreePaneScaffold(androidx.compose.ui.Modifier,androidx.compose.material3.adaptive.layout.PaneScaffoldDirective,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldHorizontalOrder,kotlin.Function1,kotlin.Function1,androidx.compose.material3.adaptive.layout.PaneExpansionState,kotlin.Function2,kotlin.Function1)` according to the given `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/package-summary#calculateThreePaneScaffoldValue(kotlin.Int,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldAdaptStrategies,kotlin.collections.List,kotlin.Int)`, `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/package-summary#calculateThreePaneScaffoldValue(kotlin.Int,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldAdaptStrategies,kotlin.collections.List,kotlin.Int)` and `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/package-summary#calculateThreePaneScaffoldValue(kotlin.Int,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldAdaptStrategies,kotlin.collections.List,kotlin.Int)`. | Cmn |

## Extension functions summary

|---|---|---|
| `https://developer.android.com/reference/kotlin/androidx/compose/animation/EnterTransition` | `@https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/ExperimentalMaterial3AdaptiveApi <Role : https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldRole> https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldMotionDataProvider<Role>.https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/package-summary#(androidx.compose.material3.adaptive.layout.PaneScaffoldMotionDataProvider).calculateDefaultEnterTransition(androidx.compose.material3.adaptive.layout.PaneScaffoldRole)( role: Role )` Calculates the default `https://developer.android.com/reference/kotlin/androidx/compose/animation/EnterTransition` of the pane associated to the given role when it's showing. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/animation/ExitTransition` | `@https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/ExperimentalMaterial3AdaptiveApi <Role : https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldRole> https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldMotionDataProvider<Role>.https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/package-summary#(androidx.compose.material3.adaptive.layout.PaneScaffoldMotionDataProvider).calculateDefaultExitTransition(androidx.compose.material3.adaptive.layout.PaneScaffoldRole)( role: Role )` Calculates the default `https://developer.android.com/reference/kotlin/androidx/compose/animation/ExitTransition` of the pane associated to the given role when it's hiding. | Cmn |
| `inline https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `@https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/ExperimentalMaterial3AdaptiveApi <Role : https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldRole> https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldMotionDataProvider<Role>.https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/package-summary#(androidx.compose.material3.adaptive.layout.PaneScaffoldMotionDataProvider).forEach(kotlin.Function2)( action: (Role, https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneMotionData) -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html )` Perform actions on each `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneMotionData`, in the left-to-right order of the panes in the scaffold. | Cmn |
| `inline https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `@https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/ExperimentalMaterial3AdaptiveApi <Role : https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldRole> https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldMotionDataProvider<Role>.https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/package-summary#(androidx.compose.material3.adaptive.layout.PaneScaffoldMotionDataProvider).forEachReversed(kotlin.Function2)( action: (Role, https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneMotionData) -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html )` Perform actions on each `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneMotionData`, in the right-to-left order of the panes in the scaffold. | Cmn |

## Top-level functions

### calculatePaneScaffoldDirective

Cmn Artifact: [androidx.compose.material3.adaptive:adaptive-layout](https://developer.android.com/jetpack/androidx/releases/compose-material3-adaptive) [View Source](https://cs.android.com/search?q=file:androidx/compose/material3/adaptive/layout/PaneScaffoldDirective.kt+function:calculatePaneScaffoldDirective) Added in [1.2.0](https://developer.android.com/jetpack/androidx/releases/compose-material3-adaptive#1.2.0)

```
@ExperimentalMaterial3AdaptiveApi
fun calculatePaneScaffoldDirective(
    windowAdaptiveInfo: WindowAdaptiveInfo,
    verticalHingePolicy: HingePolicy = HingePolicy.AvoidSeparating
): PaneScaffoldDirective
```

Calculates the recommended `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldDirective` from a given `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/WindowAdaptiveInfo`. Use this method with `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/currentWindowAdaptiveInfoV2.composable#currentWindowAdaptiveInfoV2()` to acquire Material-recommended adaptive layout settings of the current activity window.

See more details on the Material design guideline site (https://m3.material.io/foundations/layout/applying-layout/window-size-classes).

| Parameters |
|---|---|
| `windowAdaptiveInfo: https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/WindowAdaptiveInfo` | `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/WindowAdaptiveInfo` that collects useful information in making layout adaptation decisions like `https://developer.android.com/reference/kotlin/androidx/window/core/layout/WindowSizeClass`. |
| `verticalHingePolicy: https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/HingePolicy = HingePolicy.AvoidSeparating` | `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/HingePolicy` that decides how layouts are supposed to address vertical hinges. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldDirective` | an `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldDirective` to be used to decide adaptive layout states. |

### calculatePaneScaffoldDirectiveWithTwoPanesOnMediumWidth

Cmn Artifact: [androidx.compose.material3.adaptive:adaptive-layout](https://developer.android.com/jetpack/androidx/releases/compose-material3-adaptive) [View Source](https://cs.android.com/search?q=file:androidx/compose/material3/adaptive/layout/PaneScaffoldDirective.kt+function:calculatePaneScaffoldDirectiveWithTwoPanesOnMediumWidth) Added in [1.2.0](https://developer.android.com/jetpack/androidx/releases/compose-material3-adaptive#1.2.0)

```
@ExperimentalMaterial3AdaptiveApi
fun calculatePaneScaffoldDirectiveWithTwoPanesOnMediumWidth(
    windowAdaptiveInfo: WindowAdaptiveInfo,
    verticalHingePolicy: HingePolicy = HingePolicy.AvoidSeparating
): PaneScaffoldDirective
```

Calculates the recommended `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldDirective` from a given `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/WindowAdaptiveInfo`. Use this method with `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/currentWindowAdaptiveInfoV2.composable#currentWindowAdaptiveInfoV2()` to acquire Material-recommended dense-mode adaptive layout settings of the current activity window. Note that this function results in a dual-pane layout when the window width falls in the Medium size bucket, while `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/package-summary#calculatePaneScaffoldDirective(androidx.compose.material3.adaptive.WindowAdaptiveInfo,androidx.compose.material3.adaptive.layout.HingePolicy)` results in a single-pane layout instead. We recommend to use `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/package-summary#calculatePaneScaffoldDirective(androidx.compose.material3.adaptive.WindowAdaptiveInfo,androidx.compose.material3.adaptive.layout.HingePolicy)`, unless you have a strong use case to show two panes on a medium-width window, which can make your layout look too packed.

See more details on the Material design guideline site (https://m3.material.io/foundations/layout/applying-layout/window-size-classes).

| Parameters |
|---|---|
| `windowAdaptiveInfo: https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/WindowAdaptiveInfo` | `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/WindowAdaptiveInfo` that collects useful information in making layout adaptation decisions like `https://developer.android.com/reference/kotlin/androidx/window/core/layout/WindowSizeClass`. |
| `verticalHingePolicy: https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/HingePolicy = HingePolicy.AvoidSeparating` | `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/HingePolicy` that decides how layouts are supposed to address vertical hinges. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldDirective` | an `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldDirective` to be used to decide adaptive layout states. |

### calculateThreePaneScaffoldValue

Cmn Artifact: [androidx.compose.material3.adaptive:adaptive-layout](https://developer.android.com/jetpack/androidx/releases/compose-material3-adaptive) [View Source](https://cs.android.com/search?q=file:androidx/compose/material3/adaptive/layout/ThreePaneScaffoldValue.kt+function:calculateThreePaneScaffoldValue) Added in [1.2.0](https://developer.android.com/jetpack/androidx/releases/compose-material3-adaptive#1.2.0)

```
@ExperimentalMaterial3AdaptiveApi
fun calculateThreePaneScaffoldValue(
    maxHorizontalPartitions: Int,
    adaptStrategies: ThreePaneScaffoldAdaptStrategies,
    currentDestination: ThreePaneScaffoldDestinationItem<*>?,
    maxVerticalPartitions: Int = 1
): ThreePaneScaffoldValue
```

Calculates the current adapted value of `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/package-summary#ThreePaneScaffold(androidx.compose.ui.Modifier,androidx.compose.material3.adaptive.layout.PaneScaffoldDirective,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldHorizontalOrder,kotlin.Function1,kotlin.Function1,androidx.compose.material3.adaptive.layout.PaneExpansionState,kotlin.Function2,kotlin.Function1)` according to the given `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/package-summary#calculateThreePaneScaffoldValue(kotlin.Int,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldAdaptStrategies,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldDestinationItem,kotlin.Int)`, `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/package-summary#calculateThreePaneScaffoldValue(kotlin.Int,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldAdaptStrategies,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldDestinationItem,kotlin.Int)` and `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/package-summary#calculateThreePaneScaffoldValue(kotlin.Int,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldAdaptStrategies,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldDestinationItem,kotlin.Int)`. The returned value can be used as a unique representation of the current layout structure.

The function will treat the current destination as the highest priority and then adapt the rest panes according to the order of `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ThreePaneScaffoldRole#Primary`, `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ThreePaneScaffoldRole#Secondary` and `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ThreePaneScaffoldRole#Tertiary`. If there are still remaining partitions to put the pane, the pane will be set as `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneAdaptedValue#Expanded()`, otherwise it will be adapted according to its associated `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/AdaptStrategy`.

| Parameters |
|---|---|
| `maxHorizontalPartitions: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | The maximum allowed partitions along the horizontal axis, i.e., how many expanded panes can be shown at the same time. |
| `adaptStrategies: https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ThreePaneScaffoldAdaptStrategies` | The adapt strategies of each pane role that `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/package-summary#ThreePaneScaffold(androidx.compose.ui.Modifier,androidx.compose.material3.adaptive.layout.PaneScaffoldDirective,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldHorizontalOrder,kotlin.Function1,kotlin.Function1,androidx.compose.material3.adaptive.layout.PaneExpansionState,kotlin.Function2,kotlin.Function1)` supports, the default value will be `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ThreePaneScaffoldDefaults#adaptStrategies(androidx.compose.material3.adaptive.layout.AdaptStrategy,androidx.compose.material3.adaptive.layout.AdaptStrategy,androidx.compose.material3.adaptive.layout.AdaptStrategy)`. |
| `currentDestination: https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ThreePaneScaffoldDestinationItem<*>?` | The current destination item, which will be treated as having the highest priority, can be `null`. |
| `maxVerticalPartitions: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html = 1` | The maximum allowed partitions along the vertical axis, by default it will be 1 and in this case no reflowed panes will be allowed; if the value equals to or larger than 2, reflowed panes are allowed, besides the expanded pane in the same horizontal partition. |

### calculateThreePaneScaffoldValue

Cmn Artifact: [androidx.compose.material3.adaptive:adaptive-layout](https://developer.android.com/jetpack/androidx/releases/compose-material3-adaptive) [View Source](https://cs.android.com/search?q=file:androidx/compose/material3/adaptive/layout/ThreePaneScaffoldValue.kt+function:calculateThreePaneScaffoldValue)

```
@ExperimentalMaterial3AdaptiveApi
fun calculateThreePaneScaffoldValue(
    maxHorizontalPartitions: Int,
    adaptStrategies: ThreePaneScaffoldAdaptStrategies,
    destinationHistory: List<ThreePaneScaffoldDestinationItem<*>>,
    maxVerticalPartitions: Int = 1
): ThreePaneScaffoldValue
```

Calculates the current adapted value of `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/package-summary#ThreePaneScaffold(androidx.compose.ui.Modifier,androidx.compose.material3.adaptive.layout.PaneScaffoldDirective,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldHorizontalOrder,kotlin.Function1,kotlin.Function1,androidx.compose.material3.adaptive.layout.PaneExpansionState,kotlin.Function2,kotlin.Function1)` according to the given `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/package-summary#calculateThreePaneScaffoldValue(kotlin.Int,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldAdaptStrategies,kotlin.collections.List,kotlin.Int)`, `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/package-summary#calculateThreePaneScaffoldValue(kotlin.Int,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldAdaptStrategies,kotlin.collections.List,kotlin.Int)` and `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/package-summary#calculateThreePaneScaffoldValue(kotlin.Int,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldAdaptStrategies,kotlin.collections.List,kotlin.Int)`. The returned value can be used as a unique representation of the current layout structure.

The function will treat the current focus as the highest priority and then adapt the rest panes according to the order of `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ThreePaneScaffoldRole#Primary`, `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ThreePaneScaffoldRole#Secondary` and `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ThreePaneScaffoldRole#Tertiary`. If there are still remaining partitions to put the pane, the pane will be set as `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneAdaptedValue#Expanded()`, otherwise it will be adapted according to its associated `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/AdaptStrategy`.

| Parameters |
|---|---|
| `maxHorizontalPartitions: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | The maximum allowed partitions along the horizontal axis, i.e., how many expanded panes can be shown at the same time. |
| `adaptStrategies: https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ThreePaneScaffoldAdaptStrategies` | The adapt strategies of each pane role that `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/package-summary#ThreePaneScaffold(androidx.compose.ui.Modifier,androidx.compose.material3.adaptive.layout.PaneScaffoldDirective,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldHorizontalOrder,kotlin.Function1,kotlin.Function1,androidx.compose.material3.adaptive.layout.PaneExpansionState,kotlin.Function2,kotlin.Function1)` supports, the default value will be `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ThreePaneScaffoldDefaults#adaptStrategies(androidx.compose.material3.adaptive.layout.AdaptStrategy,androidx.compose.material3.adaptive.layout.AdaptStrategy,androidx.compose.material3.adaptive.layout.AdaptStrategy)`. |
| `destinationHistory: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ThreePaneScaffoldDestinationItem<*>>` | The history of past destination items. The last destination will have the highest priority, and the second last destination will have the second highest priority, and so forth until all panes have a priority assigned. Note that the last destination is supposed to be the last item of the provided list. |
| `maxVerticalPartitions: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html = 1` | The maximum allowed partitions along the vertical axis, by default it will be 1 and in this case no reflowed panes will be allowed; if the value equals to or larger than 2, reflowed panes are allowed, besides the expanded pane in the same horizontal partition. |

## Extension functions

### PaneScaffoldMotionDataProvider.calculateDefaultEnterTransition

Cmn Artifact: [androidx.compose.material3.adaptive:adaptive-layout](https://developer.android.com/jetpack/androidx/releases/compose-material3-adaptive) [View Source](https://cs.android.com/search?q=file:androidx/compose/material3/adaptive/layout/PaneMotion.kt+function:calculateDefaultEnterTransition) Added in [1.2.0](https://developer.android.com/jetpack/androidx/releases/compose-material3-adaptive#1.2.0)

```
@ExperimentalMaterial3AdaptiveApi
fun <Role : PaneScaffoldRole> PaneScaffoldMotionDataProvider<Role>.calculateDefaultEnterTransition(
    role: Role
): EnterTransition
```

Calculates the default `https://developer.android.com/reference/kotlin/androidx/compose/animation/EnterTransition` of the pane associated to the given role when it's showing. The `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneMotion` and pane measurement data provided by `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldMotionDataProvider` will be used to decide the transition type and relevant values like sliding offsets.

| Parameters |
|---|---|
| `role: Role` | the role of the pane that is supposed to perform the `https://developer.android.com/reference/kotlin/androidx/compose/animation/EnterTransition` when showing. |

### PaneScaffoldMotionDataProvider.calculateDefaultExitTransition

Cmn Artifact: [androidx.compose.material3.adaptive:adaptive-layout](https://developer.android.com/jetpack/androidx/releases/compose-material3-adaptive) [View Source](https://cs.android.com/search?q=file:androidx/compose/material3/adaptive/layout/PaneMotion.kt+function:calculateDefaultExitTransition) Added in [1.2.0](https://developer.android.com/jetpack/androidx/releases/compose-material3-adaptive#1.2.0)

```
@ExperimentalMaterial3AdaptiveApi
fun <Role : PaneScaffoldRole> PaneScaffoldMotionDataProvider<Role>.calculateDefaultExitTransition(
    role: Role
): ExitTransition
```

Calculates the default `https://developer.android.com/reference/kotlin/androidx/compose/animation/ExitTransition` of the pane associated to the given role when it's hiding. The `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneMotion` and pane measurement data provided by `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldMotionDataProvider` will be used to decide the transition type and relevant values like sliding offsets.

| Parameters |
|---|---|
| `role: Role` | the role of the pane that is supposed to perform the `https://developer.android.com/reference/kotlin/androidx/compose/animation/ExitTransition` when hiding. |

### PaneScaffoldMotionDataProvider.forEach

Cmn Artifact: [androidx.compose.material3.adaptive:adaptive-layout](https://developer.android.com/jetpack/androidx/releases/compose-material3-adaptive) [View Source](https://cs.android.com/search?q=file:androidx/compose/material3/adaptive/layout/PaneMotion.kt+function:forEach) Added in [1.2.0](https://developer.android.com/jetpack/androidx/releases/compose-material3-adaptive#1.2.0)

```
@ExperimentalMaterial3AdaptiveApi
inline fun <Role : PaneScaffoldRole> PaneScaffoldMotionDataProvider<Role>.forEach(
    action: (Role, PaneMotionData) -> Unit
): Unit
```

Perform actions on each `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneMotionData`, in the left-to-right order of the panes in the scaffold.

| Parameters |
|---|---|
| `action: (Role, https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneMotionData) -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | action to perform on each `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneMotionData`. |

### PaneScaffoldMotionDataProvider.forEachReversed

Cmn Artifact: [androidx.compose.material3.adaptive:adaptive-layout](https://developer.android.com/jetpack/androidx/releases/compose-material3-adaptive) [View Source](https://cs.android.com/search?q=file:androidx/compose/material3/adaptive/layout/PaneMotion.kt+function:forEachReversed) Added in [1.2.0](https://developer.android.com/jetpack/androidx/releases/compose-material3-adaptive#1.2.0)

```
@ExperimentalMaterial3AdaptiveApi
inline fun <Role : PaneScaffoldRole> PaneScaffoldMotionDataProvider<Role>.forEachReversed(
    action: (Role, PaneMotionData) -> Unit
): Unit
```

Perform actions on each `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneMotionData`, in the right-to-left order of the panes in the scaffold.

| Parameters |
|---|---|
| `action: (Role, https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneMotionData) -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | action to perform on each `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneMotionData`. |