# SuccessConfirmationDialog

## Functions summary

|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/SuccessConfirmationDialog.composable#SuccessConfirmationDialog(kotlin.Boolean,kotlin.Function0,kotlin.Function1,androidx.compose.ui.Modifier,androidx.wear.compose.material3.ConfirmationDialogColors,androidx.compose.ui.window.DialogProperties,kotlin.Long,kotlin.Function0)( visible: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html, onDismissRequest: () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html, curvedText: (https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedScope.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)?, modifier: https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier, colors: https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/ConfirmationDialogColors, properties: https://developer.android.com/reference/kotlin/androidx/compose/ui/window/DialogProperties, durationMillis: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html, content: @https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html )` Shows a `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/SuccessConfirmationDialog.composable#SuccessConfirmationDialog(kotlin.Boolean,kotlin.Function0,kotlin.Function1,androidx.compose.ui.Modifier,androidx.wear.compose.material3.ConfirmationDialogColors,androidx.compose.ui.window.DialogProperties,kotlin.Long,kotlin.Function0)` dialog with a success icon and optional short curved text. |

## Functions

### SuccessConfirmationDialog

Artifact: [androidx.wear.compose:compose-material3](https://developer.android.com/jetpack/androidx/releases/wear-compose) [View Source](https://cs.android.com/search?q=file:androidx/wear/compose/material3/ConfirmationDialog.kt+function:SuccessConfirmationDialog) Added in [1.5.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.5.0)

```
@Composable
fun SuccessConfirmationDialog(
    visible: Boolean,
    onDismissRequest: () -> Unit,
    curvedText: (CurvedScope.() -> Unit)?,
    modifier: Modifier = Modifier,
    colors: ConfirmationDialogColors = ConfirmationDialogDefaults.successColors(),
    properties: DialogProperties = DialogProperties(),
    durationMillis: Long = ConfirmationDialogDefaults.DurationMillis,
    content: @Composable () -> Unit = { ConfirmationDialogDefaults.SuccessIcon() }
): Unit
```

Shows a `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/SuccessConfirmationDialog.composable#SuccessConfirmationDialog(kotlin.Boolean,kotlin.Function0,kotlin.Function1,androidx.compose.ui.Modifier,androidx.wear.compose.material3.ConfirmationDialogColors,androidx.compose.ui.window.DialogProperties,kotlin.Long,kotlin.Function0)` dialog with a success icon and optional short curved text. This variation of confirmation dialog indicates a successful operation or action.

The confirmation dialog will show a message to the user for `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/package-summary#SuccessConfirmationDialog(kotlin.Boolean,kotlin.Function0,kotlin.Function1,androidx.compose.ui.Modifier,androidx.wear.compose.material3.ConfirmationDialogColors,androidx.compose.ui.window.DialogProperties,kotlin.Long,kotlin.Function0)`. After a specified timeout, the `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/package-summary#SuccessConfirmationDialog(kotlin.Boolean,kotlin.Function0,kotlin.Function1,androidx.compose.ui.Modifier,androidx.wear.compose.material3.ConfirmationDialogColors,androidx.compose.ui.window.DialogProperties,kotlin.Long,kotlin.Function0)` callback will be invoked, where it's up to the caller to handle the dismissal. To hide the confirmation, `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/package-summary#SuccessConfirmationDialog(kotlin.Boolean,kotlin.Function0,kotlin.Function1,androidx.compose.ui.Modifier,androidx.wear.compose.material3.ConfirmationDialogColors,androidx.compose.ui.window.DialogProperties,kotlin.Long,kotlin.Function0)` parameter should be set to false.

Where user input is required, such as choosing to ok or cancel an action, use `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/AlertDialog.composable#AlertDialog(kotlin.Boolean,kotlin.Function0,kotlin.Function1,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function1,kotlin.Function0,kotlin.Function0,androidx.compose.foundation.layout.Arrangement.Vertical,androidx.compose.foundation.layout.PaddingValues,androidx.compose.ui.window.DialogProperties,kotlin.Function1)` instead of `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/SuccessConfirmationDialog.composable#SuccessConfirmationDialog(kotlin.Boolean,kotlin.Function0,kotlin.Function1,androidx.compose.ui.Modifier,androidx.wear.compose.material3.ConfirmationDialogColors,androidx.compose.ui.window.DialogProperties,kotlin.Long,kotlin.Function0)`.

Example of a `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/SuccessConfirmationDialog.composable#SuccessConfirmationDialog(kotlin.Boolean,kotlin.Function0,kotlin.Function1,androidx.compose.ui.Modifier,androidx.wear.compose.material3.ConfirmationDialogColors,androidx.compose.ui.window.DialogProperties,kotlin.Long,kotlin.Function0)` usage:

```kotlin
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.wear.compose.material3.ConfirmationDialog
import androidx.wear.compose.material3.ConfirmationDialogDefaults
import androidx.wear.compose.material3.FilledTonalButton
import androidx.wear.compose.material3.SuccessConfirmationDialog
import androidx.wear.compose.material3.Text
import androidx.wear.compose.material3.confirmationDialogCurvedText

var showConfirmation by remember { mutableStateOf(false) }

Box(Modifier.fillMaxSize()) {
    FilledTonalButton(
        modifier = Modifier.align(Alignment.Center),
        onClick = { showConfirmation = true },
        label = { Text("Show Confirmation") },
    )
}

val text = "Success"
val style = ConfirmationDialogDefaults.curvedTextStyle
SuccessConfirmationDialog(
    visible = showConfirmation,
    onDismissRequest = { showConfirmation = false },
    curvedText = { confirmationDialogCurvedText(text, style) },
)
```

| Parameters |
|---|---|
| `visible: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | A boolean indicating whether the confirmation dialog should be displayed. |
| `onDismissRequest: () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | A lambda function to be called when the dialog is dismissed - either by swiping right or when the `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/package-summary#SuccessConfirmationDialog(kotlin.Boolean,kotlin.Function0,kotlin.Function1,androidx.compose.ui.Modifier,androidx.wear.compose.material3.ConfirmationDialogColors,androidx.compose.ui.window.DialogProperties,kotlin.Long,kotlin.Function0)` has passed. Implementation of this lambda must remove the dialog from the composition hierarchy e.g. by setting `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/package-summary#SuccessConfirmationDialog(kotlin.Boolean,kotlin.Function0,kotlin.Function1,androidx.compose.ui.Modifier,androidx.wear.compose.material3.ConfirmationDialogColors,androidx.compose.ui.window.DialogProperties,kotlin.Long,kotlin.Function0)` to false. |
| `curvedText: (https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedScope.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)?` | A slot for displaying curved text content which will be shown along the bottom edge of the dialog. We recommend using `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/package-summary#(androidx.wear.compose.foundation.CurvedScope).confirmationDialogCurvedText(kotlin.String,androidx.wear.compose.foundation.CurvedTextStyle)` for this parameter, which will give the default sweep angle and padding, and `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/ConfirmationDialogDefaults#curvedTextStyle()` as the style. |
| `modifier: https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier = Modifier` | Modifier to be applied to the confirmation content. |
| `colors: https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/ConfirmationDialogColors = ConfirmationDialogDefaults.successColors()` | A `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/ConfirmationDialogColors` object for customizing the colors used in this `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/SuccessConfirmationDialog.composable#SuccessConfirmationDialog(kotlin.Boolean,kotlin.Function0,kotlin.Function1,androidx.compose.ui.Modifier,androidx.wear.compose.material3.ConfirmationDialogColors,androidx.compose.ui.window.DialogProperties,kotlin.Long,kotlin.Function0)`. |
| `properties: https://developer.android.com/reference/kotlin/androidx/compose/ui/window/DialogProperties = DialogProperties()` | An optional `https://developer.android.com/reference/kotlin/androidx/compose/ui/window/DialogProperties` object for configuring the dialog's behavior. |
| `durationMillis: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html = ConfirmationDialogDefaults.DurationMillis` | The duration in milliseconds for which the dialog is displayed. This value will be adjusted by the accessibility manager according to the content displayed. |
| `content: @https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html = { ConfirmationDialogDefaults.SuccessIcon() }` | A slot for displaying an icon inside the confirmation dialog, which can be animated. Defaults to an animated `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/ConfirmationDialogDefaults#SuccessIcon(androidx.compose.ui.Modifier)`. |