1// Signature format: 4.0 2package androidx.compose.material3.adaptive.layout { 3 4 @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi @androidx.compose.runtime.Stable public sealed interface AdaptStrategy { 5 method public String adapt(); 6 field public static final androidx.compose.material3.adaptive.layout.AdaptStrategy.Companion Companion; 7 } 8 9 public static final class AdaptStrategy.Companion { 10 method public androidx.compose.material3.adaptive.layout.AdaptStrategy getHide(); 11 property public androidx.compose.material3.adaptive.layout.AdaptStrategy Hide; 12 } 13 14 @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveComponentOverrideApi public interface AnimatedPaneOverride { 15 method @androidx.compose.runtime.Composable public <S, T extends androidx.compose.material3.adaptive.layout.PaneScaffoldValue<S>> void AnimatedPane(androidx.compose.material3.adaptive.layout.AnimatedPaneOverrideContext<S,T>); 16 } 17 18 @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveComponentOverrideApi public final class AnimatedPaneOverrideContext<S, T extends androidx.compose.material3.adaptive.layout.PaneScaffoldValue<S>> { 19 method public androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.IntRect> getBoundsAnimationSpec(); 20 method public kotlin.jvm.functions.Function1<androidx.compose.material3.adaptive.layout.AnimatedPaneScope,kotlin.Unit> getContent(); 21 method public androidx.compose.animation.EnterTransition getEnterTransition(); 22 method public androidx.compose.animation.ExitTransition getExitTransition(); 23 method public androidx.compose.ui.Modifier getModifier(); 24 method public androidx.compose.material3.adaptive.layout.ExtendedPaneScaffoldPaneScope<S,T> getScope(); 25 property public androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.IntRect> boundsAnimationSpec; 26 property public kotlin.jvm.functions.Function1<androidx.compose.material3.adaptive.layout.AnimatedPaneScope,kotlin.Unit> content; 27 property public androidx.compose.animation.EnterTransition enterTransition; 28 property public androidx.compose.animation.ExitTransition exitTransition; 29 property public androidx.compose.ui.Modifier modifier; 30 property public androidx.compose.material3.adaptive.layout.ExtendedPaneScaffoldPaneScope<S,T> scope; 31 } 32 33 public sealed interface AnimatedPaneScope extends androidx.compose.animation.AnimatedVisibilityScope { 34 field public static final androidx.compose.material3.adaptive.layout.AnimatedPaneScope.Companion Companion; 35 } 36 37 public static final class AnimatedPaneScope.Companion { 38 method @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi public androidx.compose.material3.adaptive.layout.AnimatedPaneScope create(androidx.compose.animation.AnimatedVisibilityScope animatedVisibilityScope); 39 } 40 41 @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi public sealed interface ExtendedPaneScaffoldPaneScope<Role, ScaffoldValue extends androidx.compose.material3.adaptive.layout.PaneScaffoldValue<Role>> extends androidx.compose.material3.adaptive.layout.ExtendedPaneScaffoldScope<Role,ScaffoldValue> androidx.compose.material3.adaptive.layout.PaneScaffoldPaneScope<Role> { 42 } 43 44 @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi public sealed interface ExtendedPaneScaffoldScope<Role, ScaffoldValue extends androidx.compose.material3.adaptive.layout.PaneScaffoldValue<Role>> extends androidx.compose.material3.adaptive.layout.PaneScaffoldScope androidx.compose.ui.layout.LookaheadScope androidx.compose.material3.adaptive.layout.PaneScaffoldTransitionScope<Role,ScaffoldValue> { 45 } 46 47 @androidx.compose.runtime.Immutable @kotlin.jvm.JvmInline public final value class HingePolicy { 48 field public static final androidx.compose.material3.adaptive.layout.HingePolicy.Companion Companion; 49 } 50 51 public static final class HingePolicy.Companion { 52 method public int getAlwaysAvoid(); 53 method public int getAvoidOccluding(); 54 method public int getAvoidSeparating(); 55 method public int getNeverAvoid(); 56 property public int AlwaysAvoid; 57 property public int AvoidOccluding; 58 property public int AvoidSeparating; 59 property public int NeverAvoid; 60 } 61 62 @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi public final class ListDetailPaneScaffoldDefaults { 63 method public androidx.compose.material3.adaptive.layout.ThreePaneScaffoldAdaptStrategies adaptStrategies(optional androidx.compose.material3.adaptive.layout.AdaptStrategy detailPaneAdaptStrategy, optional androidx.compose.material3.adaptive.layout.AdaptStrategy listPaneAdaptStrategy, optional androidx.compose.material3.adaptive.layout.AdaptStrategy extraPaneAdaptStrategy); 64 field public static final androidx.compose.material3.adaptive.layout.ListDetailPaneScaffoldDefaults INSTANCE; 65 } 66 67 public final class ListDetailPaneScaffoldKt { 68 method @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi @androidx.compose.runtime.Composable public static void ListDetailPaneScaffold(androidx.compose.material3.adaptive.layout.PaneScaffoldDirective directive, androidx.compose.material3.adaptive.layout.ThreePaneScaffoldState scaffoldState, kotlin.jvm.functions.Function1<? super androidx.compose.material3.adaptive.layout.ThreePaneScaffoldPaneScope,kotlin.Unit> listPane, kotlin.jvm.functions.Function1<? super androidx.compose.material3.adaptive.layout.ThreePaneScaffoldPaneScope,kotlin.Unit> detailPane, optional androidx.compose.ui.Modifier modifier, optional kotlin.jvm.functions.Function1<? super androidx.compose.material3.adaptive.layout.ThreePaneScaffoldPaneScope,kotlin.Unit>? extraPane, optional kotlin.jvm.functions.Function2<? super androidx.compose.material3.adaptive.layout.ThreePaneScaffoldScope,? super androidx.compose.material3.adaptive.layout.PaneExpansionState,kotlin.Unit>? paneExpansionDragHandle, optional androidx.compose.material3.adaptive.layout.PaneExpansionState? paneExpansionState); 69 method @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi @androidx.compose.runtime.Composable public static void ListDetailPaneScaffold(androidx.compose.material3.adaptive.layout.PaneScaffoldDirective directive, androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue value, kotlin.jvm.functions.Function1<? super androidx.compose.material3.adaptive.layout.ThreePaneScaffoldPaneScope,kotlin.Unit> listPane, kotlin.jvm.functions.Function1<? super androidx.compose.material3.adaptive.layout.ThreePaneScaffoldPaneScope,kotlin.Unit> detailPane, optional androidx.compose.ui.Modifier modifier, optional kotlin.jvm.functions.Function1<? super androidx.compose.material3.adaptive.layout.ThreePaneScaffoldPaneScope,kotlin.Unit>? extraPane, optional kotlin.jvm.functions.Function2<? super androidx.compose.material3.adaptive.layout.ThreePaneScaffoldScope,? super androidx.compose.material3.adaptive.layout.PaneExpansionState,kotlin.Unit>? paneExpansionDragHandle, optional androidx.compose.material3.adaptive.layout.PaneExpansionState? paneExpansionState); 70 } 71 72 public final class ListDetailPaneScaffoldRole { 73 method public androidx.compose.material3.adaptive.layout.ThreePaneScaffoldRole getDetail(); 74 method public androidx.compose.material3.adaptive.layout.ThreePaneScaffoldRole getExtra(); 75 method public androidx.compose.material3.adaptive.layout.ThreePaneScaffoldRole getList(); 76 property public androidx.compose.material3.adaptive.layout.ThreePaneScaffoldRole Detail; 77 property public androidx.compose.material3.adaptive.layout.ThreePaneScaffoldRole Extra; 78 property public androidx.compose.material3.adaptive.layout.ThreePaneScaffoldRole List; 79 field public static final androidx.compose.material3.adaptive.layout.ListDetailPaneScaffoldRole INSTANCE; 80 } 81 82 @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi @androidx.compose.runtime.Stable public final class MutableThreePaneScaffoldState extends androidx.compose.material3.adaptive.layout.ThreePaneScaffoldState { 83 ctor public MutableThreePaneScaffoldState(androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue initialScaffoldValue); 84 method public suspend Object? animateTo(optional androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue targetState, optional androidx.compose.animation.core.FiniteAnimationSpec<java.lang.Float>? animationSpec, optional boolean isPredictiveBackInProgress, kotlin.coroutines.Continuation<? super kotlin.Unit>); 85 method public androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue getCurrentState(); 86 method @FloatRange(from=0.0, to=1.0) public float getProgressFraction(); 87 method public androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue getTargetState(); 88 method public boolean isPredictiveBackInProgress(); 89 method public suspend Object? seekTo(@FloatRange(from=0.0, to=1.0) float fraction, optional androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue targetState, optional boolean isPredictiveBackInProgress, kotlin.coroutines.Continuation<? super kotlin.Unit>); 90 method public suspend Object? snapTo(androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue targetState, kotlin.coroutines.Continuation<? super kotlin.Unit>); 91 property public androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue currentState; 92 property public boolean isPredictiveBackInProgress; 93 property @FloatRange(from=0.0, to=1.0) public float progressFraction; 94 property public androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue targetState; 95 } 96 97 @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi @kotlin.jvm.JvmInline public final value class PaneAdaptedValue { 98 field public static final androidx.compose.material3.adaptive.layout.PaneAdaptedValue.Companion Companion; 99 } 100 101 public static final class PaneAdaptedValue.Companion { 102 method public String getExpanded(); 103 method public String getHidden(); 104 property public String Expanded; 105 property public String Hidden; 106 } 107 108 @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi public abstract sealed class PaneExpansionAnchor { 109 method @androidx.compose.runtime.Composable public abstract String getDescription(); 110 property @androidx.compose.runtime.Composable public abstract String description; 111 } 112 113 public abstract static class PaneExpansionAnchor.Offset extends androidx.compose.material3.adaptive.layout.PaneExpansionAnchor { 114 method public final int getDirection(); 115 method public final float getOffset(); 116 property public final int direction; 117 property public final float offset; 118 field public static final androidx.compose.material3.adaptive.layout.PaneExpansionAnchor.Offset.Companion Companion; 119 } 120 121 public static final class PaneExpansionAnchor.Offset.Companion { 122 method public androidx.compose.material3.adaptive.layout.PaneExpansionAnchor.Offset fromEnd(float offset); 123 method public androidx.compose.material3.adaptive.layout.PaneExpansionAnchor.Offset fromStart(float offset); 124 } 125 126 @kotlin.jvm.JvmInline public static final value class PaneExpansionAnchor.Offset.Direction { 127 field public static final androidx.compose.material3.adaptive.layout.PaneExpansionAnchor.Offset.Direction.Companion Companion; 128 } 129 130 public static final class PaneExpansionAnchor.Offset.Direction.Companion { 131 method public int getFromEnd(); 132 method public int getFromStart(); 133 property public int FromEnd; 134 property public int FromStart; 135 } 136 137 public static final class PaneExpansionAnchor.Proportion extends androidx.compose.material3.adaptive.layout.PaneExpansionAnchor { 138 ctor public PaneExpansionAnchor.Proportion(@FloatRange(from=0.0, to=1.0) float proportion); 139 method @androidx.compose.runtime.Composable public String getDescription(); 140 method public float getProportion(); 141 property @androidx.compose.runtime.Composable public String description; 142 property @FloatRange(from=0.0, to=1.0) public float proportion; 143 } 144 145 public final class PaneExpansionDraggableModifierKt { 146 method @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi @androidx.compose.runtime.Composable public static kotlin.jvm.functions.Function1<androidx.compose.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit> defaultDragHandleSemantics(androidx.compose.material3.adaptive.layout.PaneExpansionState); 147 } 148 149 @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi @androidx.compose.runtime.Stable public final class PaneExpansionState { 150 method public suspend Object? animateTo(androidx.compose.material3.adaptive.layout.PaneExpansionAnchor anchor, optional float initialVelocity, kotlin.coroutines.Continuation<? super kotlin.Unit>); 151 method public void clear(); 152 method public androidx.compose.material3.adaptive.layout.PaneExpansionAnchor? getCurrentAnchor(); 153 method public boolean isUnspecified(); 154 method public void setFirstPaneProportion(@FloatRange(from=0.0, to=1.0) float firstPaneProportion); 155 method public void setFirstPaneWidth(int firstPaneWidth); 156 property public androidx.compose.material3.adaptive.layout.PaneExpansionAnchor? currentAnchor; 157 field public static final androidx.compose.material3.adaptive.layout.PaneExpansionState.Companion Companion; 158 field public static final int Unspecified = -1; // 0xffffffff 159 } 160 161 public static final class PaneExpansionState.Companion { 162 property public static int Unspecified; 163 } 164 165 @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi @androidx.compose.runtime.Immutable public sealed interface PaneExpansionStateKey { 166 field public static final androidx.compose.material3.adaptive.layout.PaneExpansionStateKey.Companion Companion; 167 } 168 169 public static final class PaneExpansionStateKey.Companion { 170 method public androidx.compose.material3.adaptive.layout.PaneExpansionStateKey getDefault(); 171 property public androidx.compose.material3.adaptive.layout.PaneExpansionStateKey Default; 172 } 173 174 @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi @androidx.compose.runtime.Stable public sealed interface PaneExpansionStateKeyProvider { 175 method public androidx.compose.material3.adaptive.layout.PaneExpansionStateKey getPaneExpansionStateKey(); 176 property public abstract androidx.compose.material3.adaptive.layout.PaneExpansionStateKey paneExpansionStateKey; 177 } 178 179 public final class PaneExpansionStateKt { 180 method @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi @androidx.compose.runtime.Composable public static androidx.compose.material3.adaptive.layout.PaneExpansionState rememberPaneExpansionState(optional androidx.compose.material3.adaptive.layout.PaneExpansionStateKey key, optional java.util.List<? extends androidx.compose.material3.adaptive.layout.PaneExpansionAnchor> anchors, optional int initialAnchoredIndex, optional androidx.compose.animation.core.FiniteAnimationSpec<java.lang.Float> anchoringAnimationSpec, optional androidx.compose.foundation.gestures.FlingBehavior flingBehavior); 181 method @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi @androidx.compose.runtime.Composable public static androidx.compose.material3.adaptive.layout.PaneExpansionState rememberPaneExpansionState(androidx.compose.material3.adaptive.layout.PaneExpansionStateKeyProvider keyProvider, optional java.util.List<? extends androidx.compose.material3.adaptive.layout.PaneExpansionAnchor> anchors, optional int initialAnchoredIndex, optional androidx.compose.animation.core.FiniteAnimationSpec<java.lang.Float> anchoringAnimationSpec, optional androidx.compose.foundation.gestures.FlingBehavior flingBehavior); 182 } 183 184 public final class PaneKt { 185 method @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi @androidx.compose.runtime.Composable public static <S, T extends androidx.compose.material3.adaptive.layout.PaneScaffoldValue<S>> void AnimatedPane(androidx.compose.material3.adaptive.layout.ExtendedPaneScaffoldPaneScope<S,T>, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.animation.EnterTransition enterTransition, optional androidx.compose.animation.ExitTransition exitTransition, optional androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.IntRect> boundsAnimationSpec, kotlin.jvm.functions.Function1<? super androidx.compose.material3.adaptive.layout.AnimatedPaneScope,kotlin.Unit> content); 186 method @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveComponentOverrideApi public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.material3.adaptive.layout.AnimatedPaneOverride> getLocalAnimatedPaneOverride(); 187 property @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveComponentOverrideApi public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.material3.adaptive.layout.AnimatedPaneOverride> LocalAnimatedPaneOverride; 188 } 189 190 @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi @androidx.compose.runtime.Stable public sealed interface PaneMotion { 191 method public int getType(); 192 property public abstract int type; 193 field public static final androidx.compose.material3.adaptive.layout.PaneMotion.Companion Companion; 194 } 195 196 public static final class PaneMotion.Companion { 197 method public androidx.compose.material3.adaptive.layout.PaneMotion getAnimateBounds(); 198 method public androidx.compose.material3.adaptive.layout.PaneMotion getEnterFromLeft(); 199 method public androidx.compose.material3.adaptive.layout.PaneMotion getEnterFromLeftDelayed(); 200 method public androidx.compose.material3.adaptive.layout.PaneMotion getEnterFromRight(); 201 method public androidx.compose.material3.adaptive.layout.PaneMotion getEnterFromRightDelayed(); 202 method public androidx.compose.material3.adaptive.layout.PaneMotion getEnterWithExpand(); 203 method public androidx.compose.material3.adaptive.layout.PaneMotion getExitToLeft(); 204 method public androidx.compose.material3.adaptive.layout.PaneMotion getExitToRight(); 205 method public androidx.compose.material3.adaptive.layout.PaneMotion getExitWithShrink(); 206 method public androidx.compose.material3.adaptive.layout.PaneMotion getNoMotion(); 207 property public androidx.compose.material3.adaptive.layout.PaneMotion AnimateBounds; 208 property public androidx.compose.material3.adaptive.layout.PaneMotion EnterFromLeft; 209 property public androidx.compose.material3.adaptive.layout.PaneMotion EnterFromLeftDelayed; 210 property public androidx.compose.material3.adaptive.layout.PaneMotion EnterFromRight; 211 property public androidx.compose.material3.adaptive.layout.PaneMotion EnterFromRightDelayed; 212 property public androidx.compose.material3.adaptive.layout.PaneMotion EnterWithExpand; 213 property public androidx.compose.material3.adaptive.layout.PaneMotion ExitToLeft; 214 property public androidx.compose.material3.adaptive.layout.PaneMotion ExitToRight; 215 property public androidx.compose.material3.adaptive.layout.PaneMotion ExitWithShrink; 216 property public androidx.compose.material3.adaptive.layout.PaneMotion NoMotion; 217 } 218 219 @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi @kotlin.jvm.JvmInline public static final value class PaneMotion.Type { 220 method public int getValue(); 221 property public int value; 222 field public static final androidx.compose.material3.adaptive.layout.PaneMotion.Type.Companion Companion; 223 } 224 225 public static final class PaneMotion.Type.Companion { 226 method public int getEntering(); 227 method public int getExiting(); 228 method public int getHidden(); 229 method public int getShown(); 230 property public int Entering; 231 property public int Exiting; 232 property public int Hidden; 233 property public int Shown; 234 } 235 236 @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi public final class PaneMotionData { 237 method public androidx.compose.material3.adaptive.layout.PaneMotion getMotion(); 238 method public long getOriginPosition(); 239 method public long getOriginSize(); 240 method public long getTargetPosition(); 241 method public long getTargetSize(); 242 property public androidx.compose.material3.adaptive.layout.PaneMotion motion; 243 property public long originPosition; 244 property public long originSize; 245 property public long targetPosition; 246 property public long targetSize; 247 } 248 249 @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi public final class PaneMotionDefaults { 250 method public androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.IntRect> getAnimationSpec(); 251 method public androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.IntRect> getDelayedAnimationSpec(); 252 method public androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.IntOffset> getDelayedOffsetAnimationSpec(); 253 method public androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.IntSize> getDelayedSizeAnimationSpec(); 254 method public androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.IntOffset> getOffsetAnimationSpec(); 255 method public androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.IntSize> getSizeAnimationSpec(); 256 property public androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.IntRect> AnimationSpec; 257 property public androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.IntRect> DelayedAnimationSpec; 258 property public androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.IntOffset> DelayedOffsetAnimationSpec; 259 property public androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.IntSize> DelayedSizeAnimationSpec; 260 property public androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.IntOffset> OffsetAnimationSpec; 261 property public androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.IntSize> SizeAnimationSpec; 262 field public static final androidx.compose.material3.adaptive.layout.PaneMotionDefaults INSTANCE; 263 } 264 265 public final class PaneMotionKt { 266 method @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi public static <Role> androidx.compose.animation.EnterTransition calculateDefaultEnterTransition(androidx.compose.material3.adaptive.layout.PaneScaffoldMotionDataProvider<Role>, Role role); 267 method @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi public static <Role> androidx.compose.animation.ExitTransition calculateDefaultExitTransition(androidx.compose.material3.adaptive.layout.PaneScaffoldMotionDataProvider<Role>, Role role); 268 method @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi public static inline <Role> void forEach(androidx.compose.material3.adaptive.layout.PaneScaffoldMotionDataProvider<Role>, kotlin.jvm.functions.Function2<? super Role,? super androidx.compose.material3.adaptive.layout.PaneMotionData,kotlin.Unit> action); 269 method @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi public static inline <Role> void forEachReversed(androidx.compose.material3.adaptive.layout.PaneScaffoldMotionDataProvider<Role>, kotlin.jvm.functions.Function2<? super Role,? super androidx.compose.material3.adaptive.layout.PaneMotionData,kotlin.Unit> action); 270 } 271 272 @androidx.compose.runtime.Immutable public final class PaneScaffoldDirective { 273 ctor public PaneScaffoldDirective(int maxHorizontalPartitions, float horizontalPartitionSpacerSize, int maxVerticalPartitions, float verticalPartitionSpacerSize, float defaultPanePreferredWidth, java.util.List<androidx.compose.ui.geometry.Rect> excludedBounds); 274 method public androidx.compose.material3.adaptive.layout.PaneScaffoldDirective copy(optional int maxHorizontalPartitions, optional float horizontalPartitionSpacerSize, optional int maxVerticalPartitions, optional float verticalPartitionSpacerSize, optional float defaultPanePreferredWidth, optional java.util.List<androidx.compose.ui.geometry.Rect> excludedBounds); 275 method public float getDefaultPanePreferredWidth(); 276 method public java.util.List<androidx.compose.ui.geometry.Rect> getExcludedBounds(); 277 method public float getHorizontalPartitionSpacerSize(); 278 method public int getMaxHorizontalPartitions(); 279 method public int getMaxVerticalPartitions(); 280 method public float getVerticalPartitionSpacerSize(); 281 property public float defaultPanePreferredWidth; 282 property public java.util.List<androidx.compose.ui.geometry.Rect> excludedBounds; 283 property public float horizontalPartitionSpacerSize; 284 property public int maxHorizontalPartitions; 285 property public int maxVerticalPartitions; 286 property public float verticalPartitionSpacerSize; 287 field public static final androidx.compose.material3.adaptive.layout.PaneScaffoldDirective.Companion Companion; 288 } 289 290 public static final class PaneScaffoldDirective.Companion { 291 method public androidx.compose.material3.adaptive.layout.PaneScaffoldDirective getDefault(); 292 property public androidx.compose.material3.adaptive.layout.PaneScaffoldDirective Default; 293 } 294 295 public final class PaneScaffoldDirectiveKt { 296 method @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi public static androidx.compose.material3.adaptive.layout.PaneScaffoldDirective calculatePaneScaffoldDirective(androidx.compose.material3.adaptive.WindowAdaptiveInfo windowAdaptiveInfo, optional int verticalHingePolicy); 297 method @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi public static androidx.compose.material3.adaptive.layout.PaneScaffoldDirective calculatePaneScaffoldDirectiveWithTwoPanesOnMediumWidth(androidx.compose.material3.adaptive.WindowAdaptiveInfo windowAdaptiveInfo, optional int verticalHingePolicy); 298 } 299 300 @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi public sealed interface PaneScaffoldMotionDataProvider<Role> { 301 method public operator androidx.compose.material3.adaptive.layout.PaneMotionData get(int index); 302 method public operator androidx.compose.material3.adaptive.layout.PaneMotionData get(Role role); 303 method public int getCount(); 304 method public Role getRoleAt(int index); 305 method public long getScaffoldSize(); 306 property public abstract int count; 307 property public abstract long scaffoldSize; 308 } 309 310 @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi public sealed interface PaneScaffoldPaneScope<Role> { 311 method public androidx.compose.material3.adaptive.layout.PaneMotion getPaneMotion(); 312 method public Role getPaneRole(); 313 property public abstract androidx.compose.material3.adaptive.layout.PaneMotion paneMotion; 314 property public abstract Role paneRole; 315 } 316 317 @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi public sealed interface PaneScaffoldParentData { 318 method public float getMinTouchTargetSize(); 319 method public float getPreferredWidth(); 320 method public boolean isAnimatedPane(); 321 property public abstract boolean isAnimatedPane; 322 property public abstract float minTouchTargetSize; 323 property public abstract float preferredWidth; 324 } 325 326 public sealed interface PaneScaffoldScope { 327 method @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi public androidx.compose.ui.Modifier paneExpansionDraggable(androidx.compose.ui.Modifier, androidx.compose.material3.adaptive.layout.PaneExpansionState state, float minTouchTargetSize, androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, kotlin.jvm.functions.Function1<? super androidx.compose.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit> semanticsProperties); 328 method public androidx.compose.ui.Modifier preferredWidth(androidx.compose.ui.Modifier, float width); 329 } 330 331 @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi public sealed interface PaneScaffoldTransitionScope<Role, ScaffoldValue extends androidx.compose.material3.adaptive.layout.PaneScaffoldValue<Role>> { 332 method public androidx.compose.material3.adaptive.layout.PaneScaffoldMotionDataProvider<Role> getMotionDataProvider(); 333 method @FloatRange(from=0.0, to=1.0) public float getMotionProgress(); 334 method public androidx.compose.animation.core.Transition<ScaffoldValue> getScaffoldStateTransition(); 335 property public abstract androidx.compose.material3.adaptive.layout.PaneScaffoldMotionDataProvider<Role> motionDataProvider; 336 property @FloatRange(from=0.0, to=1.0) public abstract float motionProgress; 337 property public abstract androidx.compose.animation.core.Transition<ScaffoldValue> scaffoldStateTransition; 338 } 339 340 @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi public sealed interface PaneScaffoldValue<T> { 341 method public operator String get(T role); 342 } 343 344 @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi public final class SupportingPaneScaffoldDefaults { 345 method public androidx.compose.material3.adaptive.layout.ThreePaneScaffoldAdaptStrategies adaptStrategies(optional androidx.compose.material3.adaptive.layout.AdaptStrategy mainPaneAdaptStrategy, optional androidx.compose.material3.adaptive.layout.AdaptStrategy supportingPaneAdaptStrategy, optional androidx.compose.material3.adaptive.layout.AdaptStrategy extraPaneAdaptStrategy); 346 field public static final androidx.compose.material3.adaptive.layout.SupportingPaneScaffoldDefaults INSTANCE; 347 } 348 349 public final class SupportingPaneScaffoldKt { 350 method @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi @androidx.compose.runtime.Composable public static void SupportingPaneScaffold(androidx.compose.material3.adaptive.layout.PaneScaffoldDirective directive, androidx.compose.material3.adaptive.layout.ThreePaneScaffoldState scaffoldState, kotlin.jvm.functions.Function1<? super androidx.compose.material3.adaptive.layout.ThreePaneScaffoldPaneScope,kotlin.Unit> mainPane, kotlin.jvm.functions.Function1<? super androidx.compose.material3.adaptive.layout.ThreePaneScaffoldPaneScope,kotlin.Unit> supportingPane, optional androidx.compose.ui.Modifier modifier, optional kotlin.jvm.functions.Function1<? super androidx.compose.material3.adaptive.layout.ThreePaneScaffoldPaneScope,kotlin.Unit>? extraPane, optional kotlin.jvm.functions.Function2<? super androidx.compose.material3.adaptive.layout.ThreePaneScaffoldScope,? super androidx.compose.material3.adaptive.layout.PaneExpansionState,kotlin.Unit>? paneExpansionDragHandle, optional androidx.compose.material3.adaptive.layout.PaneExpansionState? paneExpansionState); 351 method @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi @androidx.compose.runtime.Composable public static void SupportingPaneScaffold(androidx.compose.material3.adaptive.layout.PaneScaffoldDirective directive, androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue value, kotlin.jvm.functions.Function1<? super androidx.compose.material3.adaptive.layout.ThreePaneScaffoldPaneScope,kotlin.Unit> mainPane, kotlin.jvm.functions.Function1<? super androidx.compose.material3.adaptive.layout.ThreePaneScaffoldPaneScope,kotlin.Unit> supportingPane, optional androidx.compose.ui.Modifier modifier, optional kotlin.jvm.functions.Function1<? super androidx.compose.material3.adaptive.layout.ThreePaneScaffoldPaneScope,kotlin.Unit>? extraPane, optional kotlin.jvm.functions.Function2<? super androidx.compose.material3.adaptive.layout.ThreePaneScaffoldScope,? super androidx.compose.material3.adaptive.layout.PaneExpansionState,kotlin.Unit>? paneExpansionDragHandle, optional androidx.compose.material3.adaptive.layout.PaneExpansionState? paneExpansionState); 352 } 353 354 @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi public final class SupportingPaneScaffoldRole { 355 method public androidx.compose.material3.adaptive.layout.ThreePaneScaffoldRole getExtra(); 356 method public androidx.compose.material3.adaptive.layout.ThreePaneScaffoldRole getMain(); 357 method public androidx.compose.material3.adaptive.layout.ThreePaneScaffoldRole getSupporting(); 358 property public androidx.compose.material3.adaptive.layout.ThreePaneScaffoldRole Extra; 359 property public androidx.compose.material3.adaptive.layout.ThreePaneScaffoldRole Main; 360 property public androidx.compose.material3.adaptive.layout.ThreePaneScaffoldRole Supporting; 361 field public static final androidx.compose.material3.adaptive.layout.SupportingPaneScaffoldRole INSTANCE; 362 } 363 364 @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi @androidx.compose.runtime.Immutable public final class ThreePaneMotion { 365 method public operator androidx.compose.material3.adaptive.layout.PaneMotion get(androidx.compose.material3.adaptive.layout.ThreePaneScaffoldRole role); 366 field public static final androidx.compose.material3.adaptive.layout.ThreePaneMotion.Companion Companion; 367 } 368 369 public static final class ThreePaneMotion.Companion { 370 method public androidx.compose.material3.adaptive.layout.ThreePaneMotion getNoMotion(); 371 property public androidx.compose.material3.adaptive.layout.ThreePaneMotion NoMotion; 372 } 373 374 @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi public final class ThreePaneScaffoldAdaptStrategies { 375 ctor public ThreePaneScaffoldAdaptStrategies(androidx.compose.material3.adaptive.layout.AdaptStrategy primaryPaneAdaptStrategy, androidx.compose.material3.adaptive.layout.AdaptStrategy secondaryPaneAdaptStrategy, androidx.compose.material3.adaptive.layout.AdaptStrategy tertiaryPaneAdaptStrategy); 376 method public operator androidx.compose.material3.adaptive.layout.AdaptStrategy get(androidx.compose.material3.adaptive.layout.ThreePaneScaffoldRole role); 377 } 378 379 @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi public final class ThreePaneScaffoldDestinationItem<T> { 380 ctor public ThreePaneScaffoldDestinationItem(androidx.compose.material3.adaptive.layout.ThreePaneScaffoldRole pane, optional T? contentKey); 381 method public T? getContentKey(); 382 method public androidx.compose.material3.adaptive.layout.ThreePaneScaffoldRole getPane(); 383 property public T? contentKey; 384 property public androidx.compose.material3.adaptive.layout.ThreePaneScaffoldRole pane; 385 } 386 387 @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi @androidx.compose.runtime.Immutable public final class ThreePaneScaffoldHorizontalOrder { 388 method public void forEach(kotlin.jvm.functions.Function1<? super androidx.compose.material3.adaptive.layout.ThreePaneScaffoldRole,kotlin.Unit> action); 389 method public void forEachIndexed(kotlin.jvm.functions.Function2<? super java.lang.Integer,? super androidx.compose.material3.adaptive.layout.ThreePaneScaffoldRole,kotlin.Unit> action); 390 method public void forEachIndexedReversed(kotlin.jvm.functions.Function2<? super java.lang.Integer,? super androidx.compose.material3.adaptive.layout.ThreePaneScaffoldRole,kotlin.Unit> action); 391 method public operator androidx.compose.material3.adaptive.layout.ThreePaneScaffoldRole get(int index); 392 method public int getSize(); 393 method public int indexOf(androidx.compose.material3.adaptive.layout.ThreePaneScaffoldRole role); 394 property public int size; 395 } 396 397 public final class ThreePaneScaffoldKt { 398 method @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveComponentOverrideApi public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.material3.adaptive.layout.ThreePaneScaffoldOverride> getLocalThreePaneScaffoldOverride(); 399 property @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveComponentOverrideApi public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.material3.adaptive.layout.ThreePaneScaffoldOverride> LocalThreePaneScaffoldOverride; 400 } 401 402 @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveComponentOverrideApi public interface ThreePaneScaffoldOverride { 403 method @androidx.compose.runtime.Composable public void ThreePaneScaffold(androidx.compose.material3.adaptive.layout.ThreePaneScaffoldOverrideContext); 404 } 405 406 @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveComponentOverrideApi public final class ThreePaneScaffoldOverrideContext { 407 method public androidx.compose.ui.Modifier getModifier(); 408 method public kotlin.jvm.functions.Function1<androidx.compose.material3.adaptive.layout.PaneExpansionState,kotlin.Unit>? getPaneExpansionDragHandle(); 409 method public androidx.compose.material3.adaptive.layout.PaneExpansionState getPaneExpansionState(); 410 method public androidx.compose.material3.adaptive.layout.ThreePaneScaffoldHorizontalOrder getPaneOrder(); 411 method public kotlin.jvm.functions.Function0<kotlin.Unit> getPrimaryPane(); 412 method public androidx.compose.material3.adaptive.layout.PaneScaffoldDirective getScaffoldDirective(); 413 method public androidx.compose.material3.adaptive.layout.ThreePaneScaffoldState getScaffoldState(); 414 method public kotlin.jvm.functions.Function0<kotlin.Unit> getSecondaryPane(); 415 method public kotlin.jvm.functions.Function0<kotlin.Unit>? getTertiaryPane(); 416 property public androidx.compose.ui.Modifier modifier; 417 property public kotlin.jvm.functions.Function1<androidx.compose.material3.adaptive.layout.PaneExpansionState,kotlin.Unit>? paneExpansionDragHandle; 418 property public androidx.compose.material3.adaptive.layout.PaneExpansionState paneExpansionState; 419 property public androidx.compose.material3.adaptive.layout.ThreePaneScaffoldHorizontalOrder paneOrder; 420 property public kotlin.jvm.functions.Function0<kotlin.Unit> primaryPane; 421 property public androidx.compose.material3.adaptive.layout.PaneScaffoldDirective scaffoldDirective; 422 property public androidx.compose.material3.adaptive.layout.ThreePaneScaffoldState scaffoldState; 423 property public kotlin.jvm.functions.Function0<kotlin.Unit> secondaryPane; 424 property public kotlin.jvm.functions.Function0<kotlin.Unit>? tertiaryPane; 425 } 426 427 @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi public sealed interface ThreePaneScaffoldPaneScope extends androidx.compose.material3.adaptive.layout.ThreePaneScaffoldScope androidx.compose.material3.adaptive.layout.ExtendedPaneScaffoldPaneScope<androidx.compose.material3.adaptive.layout.ThreePaneScaffoldRole,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue> { 428 } 429 430 public enum ThreePaneScaffoldRole { 431 enum_constant public static final androidx.compose.material3.adaptive.layout.ThreePaneScaffoldRole Primary; 432 enum_constant public static final androidx.compose.material3.adaptive.layout.ThreePaneScaffoldRole Secondary; 433 enum_constant public static final androidx.compose.material3.adaptive.layout.ThreePaneScaffoldRole Tertiary; 434 } 435 436 @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi public sealed interface ThreePaneScaffoldScope extends androidx.compose.material3.adaptive.layout.ExtendedPaneScaffoldScope<androidx.compose.material3.adaptive.layout.ThreePaneScaffoldRole,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue> { 437 } 438 439 @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi @androidx.compose.runtime.Stable public abstract sealed class ThreePaneScaffoldState { 440 method public abstract androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue getCurrentState(); 441 method @FloatRange(from=0.0, to=1.0) public abstract float getProgressFraction(); 442 method public abstract androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue getTargetState(); 443 method public abstract boolean isPredictiveBackInProgress(); 444 property public abstract androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue currentState; 445 property public abstract boolean isPredictiveBackInProgress; 446 property @FloatRange(from=0.0, to=1.0) public abstract float progressFraction; 447 property public abstract androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue targetState; 448 } 449 450 @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi @androidx.compose.runtime.Immutable public final class ThreePaneScaffoldValue implements androidx.compose.material3.adaptive.layout.PaneExpansionStateKeyProvider androidx.compose.material3.adaptive.layout.PaneScaffoldValue<androidx.compose.material3.adaptive.layout.ThreePaneScaffoldRole> { 451 ctor public ThreePaneScaffoldValue(String primary, String secondary, String tertiary); 452 method public operator String get(androidx.compose.material3.adaptive.layout.ThreePaneScaffoldRole role); 453 method public androidx.compose.material3.adaptive.layout.PaneExpansionStateKey getPaneExpansionStateKey(); 454 method public String getPrimary(); 455 method public String getSecondary(); 456 method public String getTertiary(); 457 property public androidx.compose.material3.adaptive.layout.PaneExpansionStateKey paneExpansionStateKey; 458 property public String primary; 459 property public String secondary; 460 property public String tertiary; 461 } 462 463 public final class ThreePaneScaffoldValueKt { 464 method @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi public static androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue calculateThreePaneScaffoldValue(int maxHorizontalPartitions, androidx.compose.material3.adaptive.layout.ThreePaneScaffoldAdaptStrategies adaptStrategies, androidx.compose.material3.adaptive.layout.ThreePaneScaffoldDestinationItem<? extends java.lang.Object?>? currentDestination); 465 method @SuppressCompatibility @androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi public static androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue calculateThreePaneScaffoldValue(int maxHorizontalPartitions, androidx.compose.material3.adaptive.layout.ThreePaneScaffoldAdaptStrategies adaptStrategies, java.util.List<? extends androidx.compose.material3.adaptive.layout.ThreePaneScaffoldDestinationItem<? extends java.lang.Object?>> destinationHistory); 466 } 467 468} 469 470