Package-level declarations

JengaIcon and the bundled JengaIcons line-icon set, shipped as Compose Resources vector drawables (no external icon dependency), tinted from tokens.

Types

Link copied to clipboard
object JengaIcons

Jenga's curated icon set: a small, self-contained collection of line icons shipped as vector drawables (no external icon dependency). Directional icons are autoMirrored, so they flip in right-to-left layouts.

Link copied to clipboard
class JengaIconSet(val add: ImageVector, val remove: ImageVector, val check: ImageVector, val checkCircle: ImageVector, val chevron: ImageVector, val close: ImageVector, val info: ImageVector, val search: ImageVector, val thumbsUp: ImageVector, val thumbsDown: ImageVector, val trash: ImageVector)

The semantic icons that Jenga components draw for themselves: the chevron on an expandable row, the +/- on a stepper, the glyph a banner shows for each tone, and so on. Provide a custom set via JengaTheme(icons = ...) (or rememberJengaIconSet) to give every component your own iconography.

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

Resolved colors for a JengaIconTile. Override via JengaIconTileDefaults.colors.

Link copied to clipboard

Defaults for JengaIconTile. shape follows the theme's JengaIconTileStyle; tileSize and iconSize are Jenga's built-in values, and JengaIconTile resolves the theme's per-size values over them.

Link copied to clipboard
Link copied to clipboard
class JengaIconTileSizeStyle(val tileSize: Dp? = null, val iconSize: Dp? = null)

Theme-wide metrics for one JengaIconTileSize, part of a JengaIconTileStyle. A null value keeps Jenga's default.

Link copied to clipboard
class JengaIconTileStyle(val shape: Shape? = null, val small: JengaIconTileSizeStyle? = null, val medium: JengaIconTileSizeStyle? = null, val large: JengaIconTileSizeStyle? = null)

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

Functions

Link copied to clipboard
fun JengaIcon(imageVector: ImageVector, contentDescription: String?, modifier: Modifier = Modifier, tint: Color = Color.Unspecified, size: Dp = JengaTheme.sizing.iconMedium)

Renders an ImageVector icon, sized and tinted from Jenga tokens.

Link copied to clipboard
fun JengaIconTile(icon: ImageVector, contentDescription: String?, modifier: Modifier = Modifier, tone: JengaBadgeTone = JengaBadgeTone.Neutral, size: JengaIconTileSize = JengaIconTileSize.Medium, colors: JengaIconTileColors = JengaIconTileDefaults.colors(tone), shape: Shape = JengaIconTileDefaults.shape, tileSize: Dp = JengaTheme.components.iconTile?.size(size)?.tileSize ?: JengaIconTileDefaults.tileSize(size), iconSize: Dp = JengaTheme.components.iconTile?.size(size)?.iconSize ?: JengaIconTileDefaults.iconSize(size))

An icon on a rounded-square tile, tinted by tone. Use it as the leading visual of a list row or card, where a bare JengaIcon reads too light.

Link copied to clipboard
fun rememberJengaIconSet(add: ImageVector = JengaIcons.Add, remove: ImageVector = JengaIcons.Remove, check: ImageVector = JengaIcons.Check, checkCircle: ImageVector = JengaIcons.CheckCircle, chevron: ImageVector = JengaIcons.ChevronRight, close: ImageVector = JengaIcons.Close, info: ImageVector = JengaIcons.Info, search: ImageVector = JengaIcons.Search, thumbsUp: ImageVector = JengaIcons.ThumbsUp, thumbsDown: ImageVector = JengaIcons.ThumbsDown, trash: ImageVector = JengaIcons.Trash): JengaIconSet

Builds a JengaIconSet, defaulting every role to Jenga's own JengaIcons vectors. Override only the glyphs you want to re-brand: