Kotlin Apache-2.0

miuix

A UI library for Compose Multiplatform

C

compose-miuix-ui

Dernière activité 29 sept. 2026
compose-miuix-ui/miuix

1,3 k

étoiles

110

forks

6

issues ouvertes

compose-multiplatformcompose-multiplatform-librarycompose-uimiuix

Ce README est souvent en anglais.

Miuix

A UI library for Compose Multiplatform.

This library is experimental. APIs may change without notice.

Kotlin Compose Multiplatform Maven Central License

Supported Platforms

Android iOS macOS Desktop JsCanvas WasmJs

Demos

JsCanvas WasmJs Other

Modules

Module Description
miuix-ui Core UI component library
miuix-preference Preference components library, depends on miuix-ui
miuix-icons Extended icon library, can be used independently
miuix-blur Blur effect library, can be used independently
miuix-squircle Squircle shapes library, can be used independently
miuix-nav Navigation library, can be used independently
miuix-shader Low-level runtime shader / render effect abstraction

Getting Started

kotlin {
    sourceSets {
        commonMain.dependencies {
            implementation("top.yukonga.miuix.kmp:miuix-ui:<version>")
            // Optional: Add miuix-preference for preference components
            implementation("top.yukonga.miuix.kmp:miuix-preference:<version>")
            // Optional: Add miuix-icons for more icons
            implementation("top.yukonga.miuix.kmp:miuix-icons:<version>")
            // Optional: Add miuix-blur for blur effects
            implementation("top.yukonga.miuix.kmp:miuix-blur:<version>")
            // Optional: Add miuix-squircle for squircle (smooth rounded corner) shapes
            implementation("top.yukonga.miuix.kmp:miuix-squircle:<version>")
            // Optional: Add miuix-nav for navigation
            implementation("top.yukonga.miuix.kmp:miuix-nav:<version>")
            // Other dependencies...
        }
        // Other sourceSets...
    }
    // Other configurations...
}

Usage

  • Provide a color scheme via MiuixTheme(colors = ...), e.g., lightColorScheme() or darkColorScheme().
@Composable
fun AppTheme(
    content: @Composable () -> Unit
) {
    val colors = if (isSystemInDarkTheme()) darkColorScheme() else lightColorScheme()
    return MiuixTheme(
        colors = colors,
        content = content
    )
}
  • Use ThemeController to manage modes and enable Monet dynamic colors. Pass keyColor to set a custom seed color.
@Composable
fun AppTheme(
    content: @Composable () -> Unit
) {
    val controller = remember {
        ThemeController(
            ColorSchemeMode.MonetSystem,
            keyColor = Color(0xFF3482FF)
        )
    }
    return MiuixTheme(
        controller = controller,
        content = content
    )
}

Screenshots

Screenshot 001 Screenshot 002 Screenshot 003
Screenshot 004 Screenshot 005 Screenshot 006

Projets similaires

Compose Multiplatform, a modern UI framework for Kotlin that makes building performant and beautiful user interfaces easy and enjoyable.

Kotlinandroidawtcompose
JJetBrains
19,4 k étoiles1,4 k

Fluent Design UI library for Compose Multiplatform

Kotlincomposecompose-multiplatformfluent
Ccompose-fluent
736 étoiles36

Modular UI components for Jetpack Compose

Kotlinandroidcompose-multiplatformjetpack-compose
Ccortenaui
461 étoiles0