
macOS-inspired component library with 30+ composable UI elements, theme-aware light/dark modes, built-in design system (colors, typography, shapes, animations), and no external UI dependencies.
A Compose Multiplatform adaptation of the native macos 26 style. This port brings the same design language to Android, iOS, Desktop, and Web through Compose Multiplatform.
| Platform | Status |
|---|---|
| Android | ✓ |
| iOS | ✓ |
| Desktop (JVM) | ✓ |
| Web (JS) | ✓ |
| Web (Wasm) | ✓ |
// build.gradle.kts
kotlin {
sourceSets {
commonMain.dependencies {
implementation("io.github.kdroidfilter:compose-macos-ui:<version>")
}
}
}import io.github.kdroidfilter.nucleus.ui.apple.macos.theme.MacosTheme
@Composable
fun App() {
MacosTheme(darkTheme = false) {
// Your content here
// Access design tokens via MacosTheme.colors, MacosTheme.typography, etc.
}
}import io.github.kdroidfilter.nucleus.ui.apple.macos.components.*
@Composable
fun MyApp() {
var selectedItem by remember { mutableStateOf("inbox") }
Scaffold(
sidebar = {
Sidebar(
items = listOf(
SidebarItem("inbox", "Inbox", icon = Icons.Home),
SidebarItem("sent", "Sent", icon = Icons.Share2),
SidebarItem("settings", "Settings", icon = Icons.Settings),
),
activeItem = selectedItem,
)
},
titleBar = {
TitleBar(
title = { Text("Mail") },
actions = {
IconButton(
icon = Icons.Share2,
onClick = { /* open https://github.com/kdroidFilter/compose-macos-26-ui */ },
style = IconButtonStyle.Borderless,
)
},
)
},
) { padding ->
Column(Modifier.padding(padding).padding(16.dp)) {
Text("Welcome to macOS UI", style = MacosTheme.typography.title1)
PrimaryButton(onClick = { /* ... */ }) {
Text("Get Started")
}
}
}
}For the full component catalog, API details, and interactive demos, visit the documentation.
Compose Macos UI is available under a dual license:
Free for open-source projects. If your project is distributed under a GPL-compatible license, you can use Compose Macos UI at no cost under the terms of the GNU General Public License v3.0.
For proprietary/closed-source projects, a commercial license is available for $50 (one-time payment). This license covers usage in up to 3 commercial projects.
To purchase a commercial license, contact me privately via email or open an issue on the repository.
A Compose Multiplatform adaptation of the native macos 26 style. This port brings the same design language to Android, iOS, Desktop, and Web through Compose Multiplatform.
| Platform | Status |
|---|---|
| Android | ✓ |
| iOS | ✓ |
| Desktop (JVM) | ✓ |
| Web (JS) | ✓ |
| Web (Wasm) | ✓ |
// build.gradle.kts
kotlin {
sourceSets {
commonMain.dependencies {
implementation("io.github.kdroidfilter:compose-macos-ui:<version>")
}
}
}import io.github.kdroidfilter.nucleus.ui.apple.macos.theme.MacosTheme
@Composable
fun App() {
MacosTheme(darkTheme = false) {
// Your content here
// Access design tokens via MacosTheme.colors, MacosTheme.typography, etc.
}
}import io.github.kdroidfilter.nucleus.ui.apple.macos.components.*
@Composable
fun MyApp() {
var selectedItem by remember { mutableStateOf("inbox") }
Scaffold(
sidebar = {
Sidebar(
items = listOf(
SidebarItem("inbox", "Inbox", icon = Icons.Home),
SidebarItem("sent", "Sent", icon = Icons.Share2),
SidebarItem("settings", "Settings", icon = Icons.Settings),
),
activeItem = selectedItem,
)
},
titleBar = {
TitleBar(
title = { Text("Mail") },
actions = {
IconButton(
icon = Icons.Share2,
onClick = { /* open https://github.com/kdroidFilter/compose-macos-26-ui */ },
style = IconButtonStyle.Borderless,
)
},
)
},
) { padding ->
Column(Modifier.padding(padding).padding(16.dp)) {
Text("Welcome to macOS UI", style = MacosTheme.typography.title1)
PrimaryButton(onClick = { /* ... */ }) {
Text("Get Started")
}
}
}
}For the full component catalog, API details, and interactive demos, visit the documentation.
Compose Macos UI is available under a dual license:
Free for open-source projects. If your project is distributed under a GPL-compatible license, you can use Compose Macos UI at no cost under the terms of the GNU General Public License v3.0.
For proprietary/closed-source projects, a commercial license is available for $50 (one-time payment). This license covers usage in up to 3 commercial projects.
To purchase a commercial license, contact me privately via email or open an issue on the repository.