Package-level declarations

Screen frame: JengaScaffold, JengaTopAppBar and JengaBottomBar.

Types

Link copied to clipboard
class JengaBottomBarColors(val container: Color, val content: Color, val divider: Color)

Resolved colors for a JengaBottomBar. Override via JengaBottomBarDefaults.colors.

Link copied to clipboard

Defaults and token mappings for JengaBottomBar.

Link copied to clipboard

Defaults and token mappings for JengaScaffold.

Link copied to clipboard
class JengaTopAppBarColors(val container: Color, val content: Color, val divider: Color)

Resolved colors for a JengaTopAppBar. Override via JengaTopAppBarDefaults.colors.

Link copied to clipboard

Defaults for JengaTopAppBar. The composable members follow the theme's JengaTopAppBarStyle; Height is Jenga's built-in value, and JengaTopAppBar resolves the theme's height over it.

Link copied to clipboard
class JengaTopAppBarStyle(val height: Dp? = null, val contentPadding: PaddingValues? = null, val titleStyle: TextStyle? = null, val colors: JengaTopAppBarColors? = null)

Theme-wide style for every JengaTopAppBar, set through io.github.joelkanyi.jenga.theme.JengaComponentStyles.topAppBar. A null value keeps Jenga's default; arguments passed to a call still win.

Functions

Link copied to clipboard
fun JengaBottomBar(modifier: Modifier = Modifier, colors: JengaBottomBarColors = JengaBottomBarDefaults.colors(), content: @Composable RowScope.() -> Unit)

A bottom app bar: a surface pinned to the bottom of a JengaScaffold hosting a row of actions. Applies the navigation-bar inset itself, so it sits correctly above the system bar in an edge-to-edge app, and draws a hairline divider on top.

Link copied to clipboard
fun JengaScaffold(modifier: Modifier = Modifier, topBar: @Composable () -> Unit = {}, bottomBar: @Composable () -> Unit = {}, snackbarHost: @Composable () -> Unit = {}, containerColor: Color = JengaScaffoldDefaults.containerColor, contentColor: Color = JengaScaffoldDefaults.contentColor, contentWindowInsets: WindowInsets = JengaScaffoldDefaults.contentWindowInsets, content: @Composable (PaddingValues) -> Unit)

The structural shell for a Jenga screen: a background, optional top/bottom bars, and a content area inset to avoid them.

Link copied to clipboard
fun JengaTopAppBar(title: @Composable () -> Unit, modifier: Modifier = Modifier, navigationIcon: @Composable () -> Unit? = null, actions: @Composable RowScope.() -> Unit = {}, showDivider: Boolean = true, height: Dp = JengaTheme.components.topAppBar?.height ?: JengaTopAppBarDefaults.Height, contentPadding: PaddingValues = JengaTopAppBarDefaults.contentPadding, colors: JengaTopAppBarColors = JengaTopAppBarDefaults.colors())

A top app bar whose title is a slot, for titles that are more than one string (e.g. a monospaced id with a subtitle, or a tappable switcher line).

fun JengaTopAppBar(title: String, modifier: Modifier = Modifier, subtitle: String? = null, navigationIcon: @Composable () -> Unit? = null, actions: @Composable RowScope.() -> Unit = {}, showDivider: Boolean = true, height: Dp = JengaTheme.components.topAppBar?.height ?: JengaTopAppBarDefaults.Height, contentPadding: PaddingValues = JengaTopAppBarDefaults.contentPadding, colors: JengaTopAppBarColors = JengaTopAppBarDefaults.colors(), titleStyle: TextStyle = JengaTopAppBarDefaults.titleStyle)

A top app bar with a title, optional navigation icon and trailing actions.