DomposableScreenScaffold
fun DomposableScreenScaffold(modifier: DomposableModifier = DomposableModifier, insets: DomposableInsets = DomposableInsets(), topBar: @Composable () -> Unit = {}, bottomBar: @Composable () -> Unit = {}, navigation: @Composable () -> Unit = {}, contextual: @Composable () -> Unit = {}, floatingAction: @Composable () -> Unit = {}, floatingActionPosition: DomposableScaffoldFabPosition = DomposableScaffoldFabPosition.End, snackbar: @Composable () -> Unit = {}, overlays: @Composable () -> Unit = {}, appearance: DomposableSurfaceAppearance? = null, content: @Composable DomposableScaffoldScope.() -> Unit)
Screen chrome without imposing a state model, ViewModel, DI container, or navigator.
fun <T> DomposableScreenScaffold(state: DomposableScreenState<T>, modifier: DomposableModifier = DomposableModifier, insets: DomposableInsets = DomposableInsets(), topBar: @Composable () -> Unit = {}, bottomBar: @Composable () -> Unit = {}, navigation: @Composable () -> Unit = {}, contextual: @Composable () -> Unit = {}, floatingAction: @Composable () -> Unit = {}, floatingActionPosition: DomposableScaffoldFabPosition = DomposableScaffoldFabPosition.End, snackbar: @Composable () -> Unit = {}, overlays: @Composable () -> Unit = {}, appearance: DomposableSurfaceAppearance? = null, loading: @Composable DomposableScaffoldScope.() -> Unit = {
DomposableProgress(DomposableProgressProps())
}, error: @Composable DomposableScaffoldScope.(DomposableScreenState.Error) -> Unit = { failure ->
DomposableBanner(DomposableBannerProps(failure.message, isError = true))
failure.retry?.let { DomposableButton("Retry", it) }
}, content: @Composable DomposableScaffoldScope.(T) -> Unit)
Optional loading/error convenience; applications can supply their own state and chrome.