---
title: "IconButtonDefaults"
description: "Contains the default values for all four icon and icon toggle button types."
type: "object"
---
## API Reference

> Source set: Common

```kotlin
public object IconButtonDefaults
```

Contains the default values for all four icon and icon toggle button types.

## Properties

### standardShape

> Source set: Common

```kotlin
public val standardShape: Shape
```

Default ripple shape for a standard icon button.

### filledShape

> Source set: Common

```kotlin
public val filledShape: Shape
```

Default shape for a filled icon button.

### outlinedShape

> Source set: Common

```kotlin
public val outlinedShape: Shape
```

Default shape for an outlined icon button.

### extraSmallRoundShape

> Source set: Common

```kotlin
public val extraSmallRoundShape: Shape
```

Default round shape for any extra small icon button.

### extraSmallSquareShape

> Source set: Common

```kotlin
public val extraSmallSquareShape: Shape
```

Default square shape for any extra small icon button.

### extraSmallPressedShape

> Source set: Common

```kotlin
public val extraSmallPressedShape: Shape
```

Default pressed shape for any extra small icon button.

### extraSmallSelectedRoundShape

> Source set: Common

```kotlin
public val extraSmallSelectedRoundShape: Shape
```

Default selected shape for any extra small icon button.

### extraSmallSelectedSquareShape

> Source set: Common

```kotlin
public val extraSmallSelectedSquareShape: Shape
```

Default selected shape for any extra small, square icon button.

### smallRoundShape

> Source set: Common

```kotlin
public val smallRoundShape: Shape
```

Default shape for any small icon button.

### smallSquareShape

> Source set: Common

```kotlin
public val smallSquareShape: Shape
```

Default square shape for any small icon button.

### smallPressedShape

> Source set: Common

```kotlin
public val smallPressedShape: Shape
```

Default pressed shape for any small icon button.

### smallSelectedRoundShape

> Source set: Common

```kotlin
public val smallSelectedRoundShape: Shape
```

Default selected shape for any small icon button.

### smallSelectedSquareShape

> Source set: Common

```kotlin
public val smallSelectedSquareShape: Shape
```

Default selected shape for any small, square icon button.

### SmallSelectedSquareShape

> Source set: Common

```kotlin
@Deprecated(
        message = "Use the camel case version",
        replaceWith = ReplaceWith("smallSelectedSquareShape"),
        level = DeprecationLevel.HIDDEN,
    )
    @get:JvmName("getSmallSelectedSquareShape_pascalName") // Renames the JVM signature
    public val SmallSelectedSquareShape: Shape
```

### mediumRoundShape

> Source set: Common

```kotlin
public val mediumRoundShape: Shape
```

Default shape for any medium icon button.

### mediumSquareShape

> Source set: Common

```kotlin
public val mediumSquareShape: Shape
```

Default shape for any medium icon button.

### mediumPressedShape

> Source set: Common

```kotlin
public val mediumPressedShape: Shape
```

Default pressed shape for any medium icon button.

### mediumSelectedRoundShape

> Source set: Common

```kotlin
public val mediumSelectedRoundShape: Shape
```

Default selected shape for any medium icon button.

### mediumSelectedSquareShape

> Source set: Common

```kotlin
public val mediumSelectedSquareShape: Shape
```

Default selected shape for any medium, square icon button.

### largeRoundShape

> Source set: Common

```kotlin
public val largeRoundShape: Shape
```

Default shape for any large icon button.

### largeSquareShape

> Source set: Common

```kotlin
public val largeSquareShape: Shape
```

Default shape for any large icon button.

### largePressedShape

> Source set: Common

```kotlin
public val largePressedShape: Shape
```

Default pressed shape for any large icon button.

### largeSelectedRoundShape

> Source set: Common

```kotlin
public val largeSelectedRoundShape: Shape
```

Default selected shape for any large icon button.

### largeSelectedSquareShape

> Source set: Common

```kotlin
public val largeSelectedSquareShape: Shape
```

Default selected shape for any large, square icon button.

### extraLargeRoundShape

> Source set: Common

```kotlin
public val extraLargeRoundShape: Shape
```

Default shape for any extra large icon button.

### extraLargeSquareShape

> Source set: Common

```kotlin
public val extraLargeSquareShape: Shape
```

Default shape for any extra large icon button.

### extraLargePressedShape

> Source set: Common

```kotlin
public val extraLargePressedShape: Shape
```

Default pressed shape for any extra large icon button.

### extraLargeSelectedRoundShape

> Source set: Common

```kotlin
public val extraLargeSelectedRoundShape: Shape
```

Default selected shape for any extra large icon button.

### extraLargeSelectedSquareShape

> Source set: Common

```kotlin
public val extraLargeSelectedSquareShape: Shape
```

Default selected shape for any extra large, square icon button.

### extraSmallIconSize

> Source set: Common

```kotlin
public val extraSmallIconSize: Dp = XSmallIconButtonTokens.IconSize
```

Default container for any extra small icon button.

### smallIconSize

> Source set: Common

```kotlin
public val smallIconSize: Dp = SmallIconButtonTokens.IconSize
```

Default size for any small icon button.

### mediumIconSize

> Source set: Common

```kotlin
public val mediumIconSize: Dp = MediumIconButtonTokens.IconSize
```

Default container size for any medium icon button.

### largeIconSize

> Source set: Common

```kotlin
public val largeIconSize: Dp = LargeIconButtonTokens.IconSize
```

Default size for any large icon button.

### extraLargeIconSize

> Source set: Common

```kotlin
public val extraLargeIconSize: Dp = XLargeIconButtonTokens.IconSize
```

Default size for any xlarge icon button.

## Functions

### iconButtonColors

> Source set: Common

```kotlin
@Composable
    public fun iconButtonColors(): IconButtonColors
```

Contains the default values used by [IconButton](/jetpack-compose/androidx.compose.material3/material3/components/IconButton/api). [LocalContentColor](/jetpack-compose/androidx.compose.material3/material3/properties/LocalContentColor/api) will be applied to the
icon and down the UI tree.

See `iconButtonVibrantColors` for default values that applies the recommended high contrast
colors.

### iconButtonColors

> Source set: Common

```kotlin
@Composable
    public fun iconButtonColors(
        containerColor: Color = Color.Unspecified,
        contentColor: Color = LocalContentColor.current,
        disabledContainerColor: Color = Color.Unspecified,
        disabledContentColor: Color =
            contentColor.copy(alpha = StandardIconButtonTokens.DisabledOpacity),
    ): IconButtonColors
```

Creates a [IconButtonColors](/jetpack-compose/androidx.compose.material3/material3/classes/IconButtonColors/api) that represents the default colors used in a [IconButton](/jetpack-compose/androidx.compose.material3/material3/components/IconButton/api).
[LocalContentColor](/jetpack-compose/androidx.compose.material3/material3/properties/LocalContentColor/api) will be applied to the icon and down the UI tree unless a custom
`contentColor` is provided.

See `iconButtonVibrantColors` for default values that applies the recommended high contrast
colors.

#### Parameters

| | |
| --- | --- |
| containerColor | the container color of this icon button when enabled. |
| contentColor | the content color of this icon button when enabled. By default, this will use the current LocalContentColor value. |
| disabledContainerColor | the container color of this icon button when not enabled. |
| disabledContentColor | the content color of this icon button when not enabled. |

### iconButtonVibrantColors

> Source set: Common

```kotlin
@Composable
    public fun iconButtonVibrantColors(): IconButtonColors
```

Creates a [IconButtonColors](/jetpack-compose/androidx.compose.material3/material3/classes/IconButtonColors/api) that represents the recommended high contrast colors used in an
[IconButton](/jetpack-compose/androidx.compose.material3/material3/components/IconButton/api).

See `iconButtonColors` for default values that applies [LocalContentColor](/jetpack-compose/androidx.compose.material3/material3/properties/LocalContentColor/api) to the icon and
down the UI tree.

### iconButtonVibrantColors

> Source set: Common

```kotlin
@Composable
    public fun iconButtonVibrantColors(
        containerColor: Color = Color.Unspecified,
        contentColor: Color = Color.Unspecified,
        disabledContainerColor: Color = Color.Unspecified,
        disabledContentColor: Color =
            contentColor.copy(alpha = StandardIconButtonTokens.DisabledOpacity),
    ): IconButtonColors
```

Creates a [IconButtonColors](/jetpack-compose/androidx.compose.material3/material3/classes/IconButtonColors/api) that represents the recommended high contrast colors used in an
[IconButton](/jetpack-compose/androidx.compose.material3/material3/components/IconButton/api).

See `iconButtonColors` for default values that applies [LocalContentColor](/jetpack-compose/androidx.compose.material3/material3/properties/LocalContentColor/api) to the icon and
down the UI tree.

#### Parameters

| | |
| --- | --- |
| containerColor | the container color of this icon button when enabled. |
| contentColor | the content color of this icon button when enabled. |
| disabledContainerColor | the container color of this icon button when not enabled. |
| disabledContentColor | the content color of this icon button when not enabled. |

### iconToggleButtonColors

> Source set: Common

```kotlin
@Composable
    public fun iconToggleButtonColors(): IconToggleButtonColors
```

Creates a [IconToggleButtonColors](/jetpack-compose/androidx.compose.material3/material3/classes/IconToggleButtonColors/api) that represents the default colors used in a
[IconToggleButton](/jetpack-compose/androidx.compose.material3/material3/components/IconToggleButton/api). [LocalContentColor](/jetpack-compose/androidx.compose.material3/material3/properties/LocalContentColor/api) will be applied to the icon and down the UI tree.

See `iconToggleButtonVibrantColors` for default values that applies the recommended high
contrast colors.

### iconToggleButtonColors

> Source set: Common

```kotlin
@Composable
    public fun iconToggleButtonColors(
        containerColor: Color = Color.Unspecified,
        contentColor: Color = LocalContentColor.current,
        disabledContainerColor: Color = Color.Unspecified,
        disabledContentColor: Color =
            contentColor.copy(alpha = StandardIconButtonTokens.DisabledOpacity),
        checkedContainerColor: Color = Color.Unspecified,
        checkedContentColor: Color = Color.Unspecified,
    ): IconToggleButtonColors
```

Creates a [IconToggleButtonColors](/jetpack-compose/androidx.compose.material3/material3/classes/IconToggleButtonColors/api) that represents the default colors used in a
[IconToggleButton](/jetpack-compose/androidx.compose.material3/material3/components/IconToggleButton/api). [LocalContentColor](/jetpack-compose/androidx.compose.material3/material3/properties/LocalContentColor/api) will be applied to the icon and down the UI tree
unless a custom `contentColor` is provided.

See `iconToggleButtonVibrantColors` for default values that applies the recommended high
contrast colors.

#### Parameters

| | |
| --- | --- |
| containerColor | the container color of this icon button when enabled. |
| contentColor | the content color of this icon button when enabled. |
| disabledContainerColor | the container color of this icon button when not enabled. |
| disabledContentColor | the content color of this icon button when not enabled. |
| checkedContainerColor | the container color of this icon button when checked. |
| checkedContentColor | the content color of this icon button when checked. |

### iconToggleButtonVibrantColors

> Source set: Common

```kotlin
@Composable
    public fun iconToggleButtonVibrantColors(): IconToggleButtonColors
```

Creates a [IconToggleButtonColors](/jetpack-compose/androidx.compose.material3/material3/classes/IconToggleButtonColors/api) that represents the recommended high contrast colors used
in a [IconToggleButton](/jetpack-compose/androidx.compose.material3/material3/components/IconToggleButton/api). See `iconToggleButtonColors` for default values that applies
[LocalContentColor](/jetpack-compose/androidx.compose.material3/material3/properties/LocalContentColor/api) to the icon and down the UI tree.

### iconToggleButtonVibrantColors

> Source set: Common

```kotlin
@Composable
    public fun iconToggleButtonVibrantColors(
        containerColor: Color = Color.Unspecified,
        contentColor: Color = Color.Unspecified,
        disabledContainerColor: Color = Color.Unspecified,
        disabledContentColor: Color =
            contentColor.copy(alpha = StandardIconButtonTokens.DisabledOpacity),
        checkedContainerColor: Color = Color.Unspecified,
        checkedContentColor: Color = Color.Unspecified,
    ): IconToggleButtonColors
```

Creates a [IconToggleButtonColors](/jetpack-compose/androidx.compose.material3/material3/classes/IconToggleButtonColors/api) that represents the recommended high contrast colors used
in a [IconToggleButton](/jetpack-compose/androidx.compose.material3/material3/components/IconToggleButton/api).

See `iconToggleButtonColors` for default values that applies [LocalContentColor](/jetpack-compose/androidx.compose.material3/material3/properties/LocalContentColor/api) to the icon
and down the UI tree.

#### Parameters

| | |
| --- | --- |
| containerColor | the container color of this icon button when enabled. |
| contentColor | the content color of this icon button when enabled. |
| disabledContainerColor | the container color of this icon button when not enabled. |
| disabledContentColor | the content color of this icon button when not enabled. |
| checkedContainerColor | the container color of this icon button when checked. |
| checkedContentColor | the content color of this icon button when checked. |

### filledIconButtonColors

> Source set: Common

```kotlin
@Composable
    public fun filledIconButtonColors(): IconButtonColors
```

Creates a [IconButtonColors](/jetpack-compose/androidx.compose.material3/material3/classes/IconButtonColors/api) that represents the default colors used in a [FilledIconButton](/jetpack-compose/androidx.compose.material3/material3/components/FilledIconButton/api).

### filledIconButtonColors

> Source set: Common

```kotlin
@Composable
    public fun filledIconButtonColors(
        containerColor: Color = Color.Unspecified,
        contentColor: Color = contentColorFor(containerColor),
        disabledContainerColor: Color = Color.Unspecified,
        disabledContentColor: Color = Color.Unspecified,
    ): IconButtonColors
```

Creates a [IconButtonColors](/jetpack-compose/androidx.compose.material3/material3/classes/IconButtonColors/api) that represents the default colors used in a [FilledIconButton](/jetpack-compose/androidx.compose.material3/material3/components/FilledIconButton/api).

#### Parameters

| | |
| --- | --- |
| containerColor | the container color of this icon button when enabled. |
| contentColor | the content color of this icon button when enabled. |
| disabledContainerColor | the container color of this icon button when not enabled. |
| disabledContentColor | the content color of this icon button when not enabled. |

### filledIconToggleButtonColors

> Source set: Common

```kotlin
@Composable
    public fun filledIconToggleButtonColors(): IconToggleButtonColors
```

Creates a [IconToggleButtonColors](/jetpack-compose/androidx.compose.material3/material3/classes/IconToggleButtonColors/api) that represents the default colors used in a
[FilledIconToggleButton](/jetpack-compose/androidx.compose.material3/material3/components/FilledIconToggleButton/api).

### filledIconToggleButtonColors

> Source set: Common

```kotlin
@Composable
    public fun filledIconToggleButtonColors(
        containerColor: Color = Color.Unspecified,
        // TODO(b/228455081): Using contentColorFor here will return OnSurfaceVariant,
        //  while the token value is Primary.
        contentColor: Color = Color.Unspecified,
        disabledContainerColor: Color = Color.Unspecified,
        disabledContentColor: Color = Color.Unspecified,
        checkedContainerColor: Color = Color.Unspecified,
        checkedContentColor: Color = contentColorFor(checkedContainerColor),
    ): IconToggleButtonColors
```

Creates a [IconToggleButtonColors](/jetpack-compose/androidx.compose.material3/material3/classes/IconToggleButtonColors/api) that represents the default colors used in a
[FilledIconToggleButton](/jetpack-compose/androidx.compose.material3/material3/components/FilledIconToggleButton/api).

#### Parameters

| | |
| --- | --- |
| containerColor | the container color of this icon button when enabled. |
| contentColor | the content color of this icon button when enabled. |
| disabledContainerColor | the container color of this icon button when not enabled. |
| disabledContentColor | the content color of this icon button when not enabled. |
| checkedContainerColor | the container color of this icon button when checked. |
| checkedContentColor | the content color of this icon button when checked. |

### filledTonalIconButtonColors

> Source set: Common

```kotlin
@Composable
    public fun filledTonalIconButtonColors(): IconButtonColors
```

Creates a [IconButtonColors](/jetpack-compose/androidx.compose.material3/material3/classes/IconButtonColors/api) that represents the default colors used in a
[FilledTonalIconButton](/jetpack-compose/androidx.compose.material3/material3/components/FilledTonalIconButton/api).

### filledTonalIconButtonColors

> Source set: Common

```kotlin
@Composable
    public fun filledTonalIconButtonColors(
        containerColor: Color = Color.Unspecified,
        contentColor: Color = contentColorFor(containerColor),
        disabledContainerColor: Color = Color.Unspecified,
        disabledContentColor: Color = Color.Unspecified,
    ): IconButtonColors
```

Creates a [IconButtonColors](/jetpack-compose/androidx.compose.material3/material3/classes/IconButtonColors/api) that represents the default colors used in a
[FilledTonalIconButton](/jetpack-compose/androidx.compose.material3/material3/components/FilledTonalIconButton/api).

#### Parameters

| | |
| --- | --- |
| containerColor | the container color of this icon button when enabled. |
| contentColor | the content color of this icon button when enabled. |
| disabledContainerColor | the container color of this icon button when not enabled. |
| disabledContentColor | the content color of this icon button when not enabled. |

### filledTonalIconToggleButtonColors

> Source set: Common

```kotlin
@Composable
    public fun filledTonalIconToggleButtonColors(): IconToggleButtonColors
```

Creates a [IconToggleButtonColors](/jetpack-compose/androidx.compose.material3/material3/classes/IconToggleButtonColors/api) that represents the default colors used in a
[FilledTonalIconToggleButton](/jetpack-compose/androidx.compose.material3/material3/components/FilledTonalIconToggleButton/api).

### filledTonalIconToggleButtonColors

> Source set: Common

```kotlin
@Composable
    public fun filledTonalIconToggleButtonColors(
        containerColor: Color = Color.Unspecified,
        contentColor: Color = contentColorFor(containerColor),
        disabledContainerColor: Color = Color.Unspecified,
        disabledContentColor: Color = Color.Unspecified,
        checkedContainerColor: Color = Color.Unspecified,
        checkedContentColor: Color = contentColorFor(checkedContainerColor),
    ): IconToggleButtonColors
```

Creates a [IconToggleButtonColors](/jetpack-compose/androidx.compose.material3/material3/classes/IconToggleButtonColors/api) that represents the default colors used in a
[FilledTonalIconToggleButton](/jetpack-compose/androidx.compose.material3/material3/components/FilledTonalIconToggleButton/api).

#### Parameters

| | |
| --- | --- |
| containerColor | the container color of this icon button when enabled. |
| contentColor | the content color of this icon button when enabled. |
| disabledContainerColor | the container color of this icon button when not enabled. |
| disabledContentColor | the content color of this icon button when not enabled. |
| checkedContainerColor | the container color of this icon button when checked. |
| checkedContentColor | the content color of this icon button when checked. |

### outlinedIconButtonColors

> Source set: Common

```kotlin
@Composable
    public fun outlinedIconButtonColors(): IconButtonColors
```

Creates a [IconButtonColors](/jetpack-compose/androidx.compose.material3/material3/classes/IconButtonColors/api) that represents the default colors used in a
[OutlinedIconButton](/jetpack-compose/androidx.compose.material3/material3/components/OutlinedIconButton/api). [LocalContentColor](/jetpack-compose/androidx.compose.material3/material3/properties/LocalContentColor/api) will be applied to the icon and down the UI tree.

See `outlinedIconButtonVibrantColors` for default values that applies the recommended high
contrast colors.

### outlinedIconButtonColors

> Source set: Common

```kotlin
@Composable
    public fun outlinedIconButtonColors(
        containerColor: Color = Color.Unspecified,
        contentColor: Color = LocalContentColor.current,
        disabledContainerColor: Color = Color.Unspecified,
        disabledContentColor: Color =
            contentColor.copy(alpha = OutlinedIconButtonTokens.DisabledOpacity),
    ): IconButtonColors
```

Creates a [IconButtonColors](/jetpack-compose/androidx.compose.material3/material3/classes/IconButtonColors/api) that represents the default colors used in a
[OutlinedIconButton](/jetpack-compose/androidx.compose.material3/material3/components/OutlinedIconButton/api).

See `outlinedIconButtonVibrantColors` for default values that applies the recommended high
contrast colors.

#### Parameters

| | |
| --- | --- |
| containerColor | the container color of this icon button when enabled. |
| contentColor | the content color of this icon button when enabled. |
| disabledContainerColor | the container color of this icon button when not enabled. |
| disabledContentColor | the content color of this icon button when not enabled. |

### outlinedIconButtonVibrantColors

> Source set: Common

```kotlin
@Composable
    public fun outlinedIconButtonVibrantColors(): IconButtonColors
```

Creates a [IconButtonColors](/jetpack-compose/androidx.compose.material3/material3/classes/IconButtonColors/api) that represents the default colors used in a
[OutlinedIconButton](/jetpack-compose/androidx.compose.material3/material3/components/OutlinedIconButton/api).

See `outlinedIconButtonColors` for default values that applies [LocalContentColor](/jetpack-compose/androidx.compose.material3/material3/properties/LocalContentColor/api) to the
icon and down the UI tree.

### outlinedIconButtonVibrantColors

> Source set: Common

```kotlin
@Composable
    public fun outlinedIconButtonVibrantColors(
        containerColor: Color = Color.Unspecified,
        contentColor: Color = Color.Unspecified,
        disabledContainerColor: Color = Color.Unspecified,
        disabledContentColor: Color =
            contentColor.copy(alpha = OutlinedIconButtonTokens.DisabledOpacity),
    ): IconButtonColors
```

Creates a [IconButtonColors](/jetpack-compose/androidx.compose.material3/material3/classes/IconButtonColors/api) that represents the default colors used in a
[OutlinedIconButton](/jetpack-compose/androidx.compose.material3/material3/components/OutlinedIconButton/api).

See `outlinedIconButtonColors` for default values that applies [LocalContentColor](/jetpack-compose/androidx.compose.material3/material3/properties/LocalContentColor/api) to the
icon and down the UI tree.

#### Parameters

| | |
| --- | --- |
| containerColor | the container color of this icon button when enabled. |
| contentColor | the content color of this icon button when enabled. |
| disabledContainerColor | the container color of this icon button when not enabled. |
| disabledContentColor | the content color of this icon button when not enabled. |

### outlinedIconToggleButtonColors

> Source set: Common

```kotlin
@Composable
    public fun outlinedIconToggleButtonColors(): IconToggleButtonColors
```

Creates a [IconToggleButtonColors](/jetpack-compose/androidx.compose.material3/material3/classes/IconToggleButtonColors/api) that represents the default colors used in a
[OutlinedIconToggleButton](/jetpack-compose/androidx.compose.material3/material3/components/OutlinedIconToggleButton/api). [LocalContentColor](/jetpack-compose/androidx.compose.material3/material3/properties/LocalContentColor/api) will be applied to the icon and down the UI
tree.

See `outlinedIconButtonVibrantColors` for default values that applies the recommended high
contrast colors.

### outlinedIconToggleButtonColors

> Source set: Common

```kotlin
@Composable
    public fun outlinedIconToggleButtonColors(
        containerColor: Color = Color.Unspecified,
        contentColor: Color = LocalContentColor.current,
        disabledContainerColor: Color = Color.Unspecified,
        disabledContentColor: Color =
            contentColor.copy(alpha = OutlinedIconButtonTokens.DisabledOpacity),
        checkedContainerColor: Color = Color.Unspecified,
        checkedContentColor: Color = contentColorFor(checkedContainerColor),
    ): IconToggleButtonColors
```

Creates a [IconToggleButtonColors](/jetpack-compose/androidx.compose.material3/material3/classes/IconToggleButtonColors/api) that represents the default colors used in a
[OutlinedIconToggleButton](/jetpack-compose/androidx.compose.material3/material3/components/OutlinedIconToggleButton/api). [LocalContentColor](/jetpack-compose/androidx.compose.material3/material3/properties/LocalContentColor/api) will be applied to the icon and down the UI
tree.

See `outlinedIconButtonVibrantColors` for default values that applies the recommended high
contrast colors.

#### Parameters

| | |
| --- | --- |
| containerColor | the container color of this icon button when enabled. |
| contentColor | the content color of this icon button when enabled. |
| disabledContainerColor | the container color of this icon button when not enabled. |
| disabledContentColor | the content color of this icon button when not enabled. |
| checkedContainerColor | the container color of this icon button when checked. |
| checkedContentColor | the content color of this icon button when checked. |

### outlinedIconToggleButtonVibrantColors

> Source set: Common

```kotlin
@Composable
    public fun outlinedIconToggleButtonVibrantColors(): IconToggleButtonColors
```

Creates a [IconToggleButtonColors](/jetpack-compose/androidx.compose.material3/material3/classes/IconToggleButtonColors/api) that represents the default colors used in a
[OutlinedIconToggleButton](/jetpack-compose/androidx.compose.material3/material3/components/OutlinedIconToggleButton/api).

See `outlinedIconToggleButtonColors` for default values that applies [LocalContentColor](/jetpack-compose/androidx.compose.material3/material3/properties/LocalContentColor/api) to
the icon and down the UI tree.

### outlinedIconToggleButtonVibrantColors

> Source set: Common

```kotlin
@Composable
    public fun outlinedIconToggleButtonVibrantColors(
        containerColor: Color = Color.Unspecified,
        contentColor: Color = Color.Unspecified,
        disabledContainerColor: Color = Color.Unspecified,
        disabledContentColor: Color =
            contentColor.copy(alpha = OutlinedIconButtonTokens.DisabledOpacity),
        checkedContainerColor: Color = Color.Unspecified,
        checkedContentColor: Color = contentColorFor(checkedContainerColor),
    ): IconToggleButtonColors
```

Creates a [IconToggleButtonColors](/jetpack-compose/androidx.compose.material3/material3/classes/IconToggleButtonColors/api) that represents the default colors used in a
[OutlinedIconToggleButton](/jetpack-compose/androidx.compose.material3/material3/components/OutlinedIconToggleButton/api).

See `outlinedIconToggleButtonColors` for default values that applies [LocalContentColor](/jetpack-compose/androidx.compose.material3/material3/properties/LocalContentColor/api) to
the icon and down the UI tree.

#### Parameters

| | |
| --- | --- |
| containerColor | the container color of this icon button when enabled. |
| contentColor | the content color of this icon button when enabled. |
| disabledContainerColor | the container color of this icon button when not enabled. |
| disabledContentColor | the content color of this icon button when not enabled. |
| checkedContainerColor | the container color of this icon button when checked. |
| checkedContentColor | the content color of this icon button when checked. |

### outlinedIconToggleButtonBorder

> Source set: Common

```kotlin
@Composable
    public fun outlinedIconToggleButtonBorder(enabled: Boolean, checked: Boolean): BorderStroke?
```

Represents the `BorderStroke` for an [OutlinedIconButton](/jetpack-compose/androidx.compose.material3/material3/components/OutlinedIconButton/api), depending on its `enabled` and
`checked` state. [LocalContentColor](/jetpack-compose/androidx.compose.material3/material3/properties/LocalContentColor/api) will be used as the border color.

See `outlinedIconToggleButtonVibrantBorder` for a `BorderStroke` that uses the spec
recommended color as the border color.

#### Parameters

| | |
| --- | --- |
| enabled | whether the icon button is enabled |
| checked | whether the icon button is checked |

### outlinedIconToggleButtonVibrantBorder

> Source set: Common

```kotlin
@Composable
    public fun outlinedIconToggleButtonVibrantBorder(
        enabled: Boolean,
        checked: Boolean,
    ): BorderStroke?
```

Represents the `BorderStroke` for an [OutlinedIconButton](/jetpack-compose/androidx.compose.material3/material3/components/OutlinedIconButton/api), depending on its `enabled` and
`checked` state. The spec recommended color will be used as the border color.

#### Parameters

| | |
| --- | --- |
| enabled | whether the icon button is enabled |
| checked | whether the icon button is checked |

### outlinedIconButtonBorder

> Source set: Common

```kotlin
@Composable
    public fun outlinedIconButtonBorder(enabled: Boolean): BorderStroke
```

Represents the `BorderStroke` for an [OutlinedIconButton](/jetpack-compose/androidx.compose.material3/material3/components/OutlinedIconButton/api), depending on its `enabled` state.
[LocalContentColor](/jetpack-compose/androidx.compose.material3/material3/properties/LocalContentColor/api) will be used as the border color.

See `outlinedIconToggleButtonVibrantBorder` for a `BorderStroke` that uses the spec
recommended color as the border color.

#### Parameters

| | |
| --- | --- |
| enabled | whether the icon button is enabled |

### outlinedIconButtonVibrantBorder

> Source set: Common

```kotlin
@Composable
    public fun outlinedIconButtonVibrantBorder(enabled: Boolean): BorderStroke
```

Represents the `BorderStroke` for an [OutlinedIconButton](/jetpack-compose/androidx.compose.material3/material3/components/OutlinedIconButton/api), depending on its `enabled` state.
The spec recommended color will be used as the border color.

#### Parameters

| | |
| --- | --- |
| enabled | whether the icon button is enabled |

### shapes

> Source set: Common

```kotlin
@Composable
    public fun shapes(shape: Shape? = null, pressedShape: Shape? = null): IconButtonShapes
```

Creates a [IconButtonShapes](/jetpack-compose/androidx.compose.material3/material3/classes/IconButtonShapes/api) that correspond to the shapes in the default or pressed states.
Icon button will morph between these shapes as long as the shapes are all
`CornerBasedShape`s.

#### Parameters

| | |
| --- | --- |
| shape | the unchecked shape for [ButtonShapes](/jetpack-compose/androidx.compose.material3/material3/classes/ButtonShapes) |
| pressedShape | the unchecked shape for [ButtonShapes](/jetpack-compose/androidx.compose.material3/material3/classes/ButtonShapes) |

### shapes

> Source set: Common

```kotlin
@Composable public fun shapes(): IconButtonShapes
```

Creates a [IconButtonShapes](/jetpack-compose/androidx.compose.material3/material3/classes/IconButtonShapes/api) that correspond to a default [IconButton](/jetpack-compose/androidx.compose.material3/material3/components/IconButton/api) in the active and
pressed states. [IconButton](/jetpack-compose/androidx.compose.material3/material3/components/IconButton/api) will morph between these shapes as long as the shapes are all
`CornerBasedShape`s.

### toggleableShapes

> Source set: Common

```kotlin
@Composable
    public fun toggleableShapes(
        shape: Shape? = null,
        pressedShape: Shape? = null,
        checkedShape: Shape? = null,
    ): IconToggleButtonShapes
```

Creates a [IconToggleButtonShapes](/jetpack-compose/androidx.compose.material3/material3/classes/IconToggleButtonShapes/api) that correspond to the shapes in the default, pressed, and
checked states. Icon button will morph between these shapes as long as the shapes are all
`CornerBasedShape`s.

#### Parameters

| | |
| --- | --- |
| shape | the active shape for [IconToggleButtonShapes](/jetpack-compose/androidx.compose.material3/material3/classes/IconToggleButtonShapes) |
| pressedShape | the pressed shape for [IconToggleButtonShapes](/jetpack-compose/androidx.compose.material3/material3/classes/IconToggleButtonShapes) |
| checkedShape | the checked shape for [IconToggleButtonShapes](/jetpack-compose/androidx.compose.material3/material3/classes/IconToggleButtonShapes) |

### toggleableShapes

> Source set: Common

```kotlin
@Composable
    public fun toggleableShapes(): IconToggleButtonShapes
```

Creates a [ButtonShapes](/jetpack-compose/androidx.compose.material3/material3/classes/ButtonShapes/api) that correspond to a default [IconToggleButton](/jetpack-compose/androidx.compose.material3/material3/components/IconToggleButton/api) in the active,
pressed and selected states. [IconToggleButton](/jetpack-compose/androidx.compose.material3/material3/components/IconToggleButton/api) will morph between these shapes as long as
the shapes are all `CornerBasedShape`s.

### extraSmallContainerSize

> Source set: Common

```kotlin
public fun extraSmallContainerSize(
        widthOption: IconButtonWidthOption = IconButtonWidthOption.Uniform
    ): DpSize
```

Default container size for any extra small icon button.

#### Parameters

| | |
| --- | --- |
| widthOption | the width of the container |

### smallContainerSize

> Source set: Common

```kotlin
public fun smallContainerSize(
        widthOption: IconButtonWidthOption = IconButtonWidthOption.Uniform
    ): DpSize
```

Default container size for any small icon button.

#### Parameters

| | |
| --- | --- |
| widthOption | the width of the container |

### mediumContainerSize

> Source set: Common

```kotlin
public fun mediumContainerSize(
        widthOption: IconButtonWidthOption = IconButtonWidthOption.Uniform
    ): DpSize
```

Default container size for any medium icon button.

#### Parameters

| | |
| --- | --- |
| widthOption | the width of the container |

### largeContainerSize

> Source set: Common

```kotlin
public fun largeContainerSize(
        widthOption: IconButtonWidthOption = IconButtonWidthOption.Uniform
    ): DpSize
```

Default container size for any large icon button.

#### Parameters

| | |
| --- | --- |
| widthOption | the width of the container |

### extraLargeContainerSize

> Source set: Common

```kotlin
public fun extraLargeContainerSize(
        widthOption: IconButtonWidthOption = IconButtonWidthOption.Uniform
    ): DpSize
```

Default container size for any extra large icon button.

#### Parameters

| | |
| --- | --- |
| widthOption | the width of the container |

## Members

### IconButtonWidthOption

> Source set: Common

```kotlin
public class IconButtonWidthOption private constructor(private val value: Int)
```

Class that describes the different supported widths of the [IconButton](/jetpack-compose/androidx.compose.material3/material3/components/IconButton/api).

## Members

### Companion

> Source set: Common

```kotlin
public companion object
```

## Properties

### Narrow

> Source set: Common

```kotlin
public val Narrow: IconButtonWidthOption
```

### Uniform

> Source set: Common

```kotlin
public val Uniform: IconButtonWidthOption
```

### Wide

> Source set: Common

```kotlin
public val Wide: IconButtonWidthOption
```
