Getting Started Overview
Overview
FormaUI is an opinionated, Material You–native component library for Compose Multiplatform. It gives you 40 production-ready components that look great with zero styling work— “Material 3, with better defaults.”
Batteries included, not headless
Headless component libraries hand you behavior — focus management, keyboard handling, state — and leave the rest to you: pick a design system, define tokens, style every variant yourself. That’s the right trade for teams building their own design system. It’s the wrong one for teams that just want to ship.
FormaUI takes the opposite bet. Every component ships with a distinctive brand theme already applied — Public Sans set at an editorial display scale, a warm cream/coral palette, spacing locked to a 4dp grid — and every one of those decisions is still yours to override: modifier, colors, and shape are exposed on everything.
What you get
M3
Better defaults
A distinctive brand theme out of the box — Public Sans with an editorial display scale and a warm cream/coral palette — instead of the stock Material look.
4dp
Grid-aligned spacing
Every spacing token (xs/sm/md/lg/xl) snaps to a consistent 4dp grid, so layouts stay aligned without hand-tuned padding.
48dp
Accessible by default
48dp minimum touch targets and semantics roles are enforced on every interactive component, not left as an exercise for the caller.
100%
Fully overridable
modifier, colors, and shape are exposed on everything. Reach for the brand defaults, or override down to the pixel.
Live previews, not screenshots
Every component doc page embeds the real Compose component, compiled to WebAssembly and rendered in an iframe — not a screenshot. Flip through a component’s variants and toggle its in-canvas light/dark theme, and you’re looking at the exact same code that runs on Android, iOS, and desktop.
Open a live previewOne dependency
FormaUI ships as a single Maven artifact — io.github.devsnackio:components:0.1.0-beta04. Wrap your app once in FormaTheme, and every component you drop in afterward already matches. Licensed Apache 2.0.