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

```kotlin
@ExperimentalMaterial3ExpressiveApi
object ButtonGroupDefaults
```

Default values used by [ButtonGroup](/jetpack-compose/androidx.compose.material3/material3/components/ButtonGroup)

## Properties

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

```kotlin
val ExpandedRatio = 0.15f
```

The default percentage, represented as a float, of the width of the interacted child element
that will be used to expand the interacted child element as well as compress the neighboring
children. By Default, standard button group will expand the interacted child element by 15%
of its width and this will be propagated to its neighbors.

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

```kotlin
val HorizontalArrangement: Arrangement.Horizontal
```

The default Arrangement used between children for standard button group.

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

```kotlin
val ConnectedSpaceBetween: Dp
```

The default spacing used between children for connected button group

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

```kotlin
val connectedLeadingButtonShape: Shape
```

Default shape for the leading button in a connected button group

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

```kotlin
val connectedLeadingButtonPressShape: Shape
```

Default shape for the pressed state for the leading button in a connected button group.

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

```kotlin
val connectedTrailingButtonShape: Shape
```

Default shape for the trailing button in a connected button group

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

```kotlin
val connectedTrailingButtonPressShape: Shape
```

Default shape for the pressed state for the trailing button in a connected button group.

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

```kotlin
val connectedButtonCheckedShape = ShapeTokens.CornerFull
```

Default shape for the checked state for the buttons in a connected button group

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

```kotlin
val connectedMiddleButtonPressShape: Shape
```

Default shape for the pressed state for the middle buttons in a connected button group.

## Functions

<h2 id="connectedleadingbuttonshapes-shape-pressedshape-checkedshape">connectedLeadingButtonShapes</h2>

```kotlin
@Composable
    fun connectedLeadingButtonShapes(
        shape: Shape = connectedLeadingButtonShape,
        pressedShape: Shape = connectedLeadingButtonPressShape,
        checkedShape: Shape = connectedButtonCheckedShape,
    ): ToggleButtonShapes
```

Defaults button shapes for the start button in a `ConnectedButtonGroup`

<hr class="docs-overload-divider">

<h2 id="connectedmiddlebuttonshapes-shape-pressedshape-checkedshape">connectedMiddleButtonShapes</h2>

```kotlin
@Composable
    fun connectedMiddleButtonShapes(
        shape: Shape = ShapeDefaults.Small,
        pressedShape: Shape = connectedMiddleButtonPressShape,
        checkedShape: Shape = connectedButtonCheckedShape,
    ): ToggleButtonShapes
```

Defaults button shapes for a middle button in a `ConnectedButtonGroup`. A middle button is a
button that's not the start / end button in the button group.

<hr class="docs-overload-divider">

<h2 id="connectedtrailingbuttonshapes-shape-pressedshape-checkedshape">connectedTrailingButtonShapes</h2>

```kotlin
@Composable
    fun connectedTrailingButtonShapes(
        shape: Shape = connectedTrailingButtonShape,
        pressedShape: Shape = connectedTrailingButtonPressShape,
        checkedShape: Shape = connectedButtonCheckedShape,
    ): ToggleButtonShapes
```

Defaults button shapes for the end button in a `ConnectedButtonGroup`.

<hr class="docs-overload-divider">

<h2 id="overflowindicator-menustate-modifier-enabled-shape-colors-interactionsource">OverflowIndicator</h2>

```kotlin
@Composable
    fun OverflowIndicator(
        menuState: ButtonGroupMenuState,
        modifier: Modifier = Modifier,
        enabled: Boolean = true,
        shape: Shape = IconButtonDefaults.filledShape,
        colors: IconButtonColors = IconButtonDefaults.filledIconButtonColors(),
        interactionSource: MutableInteractionSource? = null,
    )
```

Default overflow indicator for [ButtonGroup](/jetpack-compose/androidx.compose.material3/material3/components/ButtonGroup). It uses a [FilledIconButton](/jetpack-compose/androidx.compose.material3/material3/components/FilledIconButton). When clicked it
will open the menu associated with the provided [ButtonGroupMenuState](/jetpack-compose/androidx.compose.material3/material3/classes/ButtonGroupMenuState).

#### Parameters

| | |
| --- | --- |
| menuState | the [ButtonGroupMenuState](/jetpack-compose/androidx.compose.material3/material3/classes/ButtonGroupMenuState) used to show or dismiss the overflow menu. |
| modifier | [Modifier](/jetpack-compose/androidx.compose.ui/ui/interfaces/Modifier) to be applied to the overflow indicator |
| enabled | controls the enabled state of this icon button. When `false`, this component will not respond to user input, and it will appear visually disabled and disabled to accessibility services. |
| shape | defines the shape of this icon button's container |
| colors | [IconButtonColors](/jetpack-compose/androidx.compose.material3/material3/classes/IconButtonColors) that will be used to resolve the colors used for this icon button in different states. See [IconButtonDefaults.filledIconButtonColors](/jetpack-compose/androidx.tv/tv-material/objects/IconButtonDefaults). |
| interactionSource | an optional hoisted [MutableInteractionSource](/jetpack-compose/androidx.compose.foundation/foundation/interfaces/MutableInteractionSource) for observing and emitting [androidx.compose.foundation.interaction.Interaction](/jetpack-compose/androidx.compose.foundation/foundation/interfaces/Interaction)s for this icon button. You can use this to change the icon button's appearance or preview the icon button in different states. Note that if `null` is provided, interactions will still happen internally. |