KotStep

KotStep (Compose Multiplatform)

KotStep is an expressive, high-performance, fully customizable Stepper UI library built natively for Compose Multiplatform. Create elegant multi-step workflows, timelines, and progress flows across Android, iOS, Desktop (JVM), and Web (Wasm) from a single shared codebase.

KotStep Hero Showcase Banner

Overview


Quick Start

import androidx.compose.runtime.*
import com.binayshaw7777.kotstep.v3.KotStep
import com.binayshaw7777.kotstep.v3.model.step.StepLayoutStyle
import com.binayshaw7777.kotstep.v3.model.style.KotStepStyle
import com.binayshaw7777.kotstep.v3.util.ExperimentalKotStep

@OptIn(ExperimentalKotStep::class)
@Composable
fun CheckoutFlow() {
    var currentStep by remember { mutableFloatStateOf(1f) }

    KotStep(
        currentStep = { currentStep },
        style = KotStepStyle(stepLayoutStyle = StepLayoutStyle.Horizontal)
    ) {
        step(title = "Cart", onClick = { currentStep = 0f })
        step(title = "Shipping", onClick = { currentStep = 1f })
        step(title = "Payment", onClick = { currentStep = 2f })
        step(title = "Review", onClick = { currentStep = 3f })
    }
}

Visual Previews

Horizontal Stepper

Horizontal Stepper

Vertical Timeline

Vertical Timeline

Custom Icons

Custom Icons Stepper

Dashed Lines & Custom Shapes

Dashed Line Stepper

Dark Fintech Theme

Dark Fintech Stepper

Collapsible Steps

Collapsible Stepper


Installation

Add JitPack to your root settings.gradle.kts:

dependencyResolutionManagement {
    repositories {
        google()
        mavenCentral()
        maven("https://jitpack.io")
    }
}

Add dependency to commonMain:

kotlin {
    sourceSets {
        commonMain.dependencies {
            implementation("io.github.binayshaw7777:kotstep:3.2.0")
        }
    }
}

Migration

Migrating from the legacy Android-only V2 library? Check out the V2 to V3 Migration Guide.