Package-level declarations

Types

Link copied to clipboard

Aligns flex lines when there is extra space on the cross axis. Only has effect when FlexWrap is not FlexWrap.NoWrap and there are multiple lines. Mirrors CSS align-content.

Link copied to clipboard

Aligns flex items along the cross axis. Mirrors CSS align-items.

Link copied to clipboard

Overrides AlignItems for individual flex items. Mirrors CSS align-self.

Link copied to clipboard
sealed class FlexBasis

Represents the flex-basis value, which can be auto, an explicit size, or a percentage.

Link copied to clipboard
class FlexboxCalculator(val containerStyle: FlexContainerStyle)

Kotlin/Native entry point for iOS consumers that want to use the Flex flexbox algorithm from SwiftUI's Layout protocol.

Link copied to clipboard
Link copied to clipboard

Scope for FlexBox content — provides Modifier.flexItem to configure per-child flex properties.

Link copied to clipboard
data class FlexboxSwiftItem(val style: FlexItemStyle, val preferredWidth: Float, val preferredHeight: Float)

Describes a flex item for use from Swift when implementing SwiftUI's Layout protocol.

Link copied to clipboard
data class FlexContainerStyle(val flexDirection: FlexDirection = FlexDirection.Row, val flexWrap: FlexWrap = FlexWrap.NoWrap, val justifyContent: JustifyContent = JustifyContent.FlexStart, val alignItems: AlignItems = AlignItems.Stretch, val alignContent: AlignContent = AlignContent.Stretch, val rowGap: Float = 0.0f, val columnGap: Float = 0.0f, val overflow: Overflow = Overflow.Visible)

Holds the flex layout properties for a flex container.

Link copied to clipboard

Defines the direction flex items are placed in the flex container. Mirrors CSS flex-direction.

Link copied to clipboard
data class FlexItemInput(val style: FlexItemStyle, val measurer: FlexMeasurer)

Input descriptor for a single flex item.

Link copied to clipboard
data class FlexItemLayout(val x: Float, val y: Float, val width: Float, val height: Float)

Layout result for a single flex item — all values are in pixels from the container's top-left.

Link copied to clipboard
data class FlexItemStyle(val order: Int = 0, val flexGrow: Float = 0.0f, val flexShrink: Float = 1.0f, val flexBasis: FlexBasis = FlexBasis.Auto, val alignSelf: AlignSelf = AlignSelf.Auto, val position: Position = Position.Static)

Holds the flex layout properties for a flex item.

Link copied to clipboard
fun interface FlexMeasurer

Callback used by FlexboxEngine to determine an item's size.

Link copied to clipboard

Controls whether flex items are forced onto a single line or can wrap. Mirrors CSS flex-wrap.

Link copied to clipboard

Aligns flex items along the main axis. Mirrors CSS justify-content.

Link copied to clipboard

Controls how content that overflows the flex container is handled. Mirrors CSS overflow.

Link copied to clipboard
sealed interface Position

Defines how a flex item is positioned within or relative to the flex container. Mirrors CSS position.

Functions

Link copied to clipboard
@Composable
fun FlexBox(modifier: Modifier = Modifier, containerStyle: FlexContainerStyle = FlexContainerStyle(), content: @Composable FlexBoxScope.() -> Unit)

A composable that lays out its content children following CSS Flexbox rules.

@Composable
fun FlexBox(modifier: Modifier = Modifier, flexDirection: FlexDirection = FlexDirection.Row, flexWrap: FlexWrap = FlexWrap.NoWrap, justifyContent: JustifyContent = JustifyContent.FlexStart, alignItems: AlignItems = AlignItems.Stretch, alignContent: AlignContent = AlignContent.Stretch, rowGap: Float = 0.0f, columnGap: Float = 0.0f, overflow: Overflow = Overflow.Visible, content: @Composable FlexBoxScope.() -> Unit)

Overload of FlexBox that accepts FlexContainerStyle parameters directly instead of a pre-built FlexContainerStyle instance.

Link copied to clipboard

Returns a copy of this style with both FlexContainerStyle.rowGap and FlexContainerStyle.columnGap set to gap. Mirrors CSS gap: <length>.