---
title: "PlacementModifierScope"
description: "The scope to the [block][Modifier.placement] callback in of the [placement][Modifier.placement] modifier."
type: "class"
lastmod: "2026-09-24"
---
## API Reference

> Source set: Common

```kotlin
public class PlacementModifierScope
```

The scope to the [block](/jetpack-compose/androidx.compose.foundation/foundation/modifiers/placement/api) callback in of the [placement](/jetpack-compose/androidx.compose.foundation/foundation/modifiers/placement/api)
modifier.

## Properties

### left

> Source set: Common

```kotlin
public var left: Dp = Dp.Unspecified
```

Offsets the component horizontally from its original calculated left position. Positive
values shift the component to the right, negative to the left.

### right

> Source set: Common

```kotlin
public var right: Dp = Dp.Unspecified
```

Offsets the component horizontally from its original calculated right position. Positive
values shift the component to the left (further from the right edge), negative to the right.

### top

> Source set: Common

```kotlin
public var top: Dp = Dp.Unspecified
```

Offsets the component vertically from its original calculated top position. Positive values
shift the component downwards, negative upwards.

### bottom

> Source set: Common

```kotlin
public var bottom: Dp = Dp.Unspecified
```

Offsets the component vertically from its original calculated bottom position. Positive
values shift the component upwards (further from the bottom edge), negative downwards.

### minWidth

> Source set: Common

```kotlin
public var minWidth: Dp = Dp.Unspecified
```

Constrains the minimum width of the component. The component's width, including padding, will
be at least this value.

If both `minWidth` and `maxWidth` are specified and `minWidth` is greater than `maxWidth`
`minWidth` will be clamped to `maxWidth`.

If `left` and/or `right` are specified, `maxWidth` is clamped to the remaining horizontal
space remaining in the constraints after the `left` and `right` are removed.

### maxWidth

> Source set: Common

```kotlin
public var maxWidth: Dp = Dp.Unspecified
```

Constrains the maximum width of the component. The component's width, including padding, will
be at most this value.

If `maxWidth` is negative it is treated as being `0.dp`.

If `left` and/or `right` are specified, `maxWidth` is clamped to the remaining horizontal
space remaining in the constraints after the `left` and `right` are removed.

### minHeight

> Source set: Common

```kotlin
public var minHeight: Dp = Dp.Unspecified
```

Constrains the minimum height of the component. The component's height, including padding,
will be at least this value.

If both `minHeight` and `maxHeight` are specified and `minHeight` is greater than `maxHeight`
`minHeight` will be clamped to `maxHeight`.

If `top` and/or `bottom` are specified, `minHeight` is clamped to the remaining vertical
space remaining in the constraints in the constraints after the `top` and `bottom` are
removed.

### maxHeight

> Source set: Common

```kotlin
public var maxHeight: Dp = Dp.Unspecified
```

Constrains the maximum height of the component. The component's height, including padding,
will be at most this value.

If `maxHeight` is negative it is treated as being `0.dp`.

If `top` and/or `bottom` are specified, `maxHeight` is clamped to the remaining vertical
space remaining in the constraints after the `top` and `bottom` are removed.

### width

> Source set: Common

```kotlin
public var width: Breadth = Breadth.None
```

Sets the preferred width of the component. The actual size will also depend on the parent's
constraints and other modifiers.

### height

> Source set: Common

```kotlin
public var height: Breadth = Breadth.None
```

Sets the preferred height of the component. The actual size will also depend on the parent's
constraints and other modifiers.
