Aurum Design System v0.3.1
The Aurum
Design System.
Jar's design system for Android, built on Jetpack Compose. Every
component, every token, every device size — always current with what
just shipped on main.
What's new
v0.3.0 released 4 May 2026
AurumCheckbox+AurumCheckboxGroup— multi-select selection family (component/selection/).AurumCheckboxis a tri-state control (AurumCheckState.Unchecked / Checked / Indeterminate) mapped to Figma5169:1314. Closed enum chosen overBoolean?to avoidnull-as-indeterminate ambiguity. MirrorsAurumRadioButton's API:selected,onCheckStateChange,label,subtext,enabled,error,labelPosition(End/Start). The 24 dp box is rendered viaCanvas— checked state fills withAurum.colors.interactive.bgPrimaryDefaultand overlays a stroked checkmark; indeterminate fills the box and overlays a centred horizontal bar; error tints both outline and glyph withfeedback-negative.AurumCheckboxGroup<T>mirrorsAurumRadioGroup<T>but withselected: ImmutableSet<T>andonSelectionChange: (T, Boolean) -> Unit; usestriStateToggleableper row soIndeterminate → Checkedadvancement is a single tap. Both ship Code Connect mappings (AurumCheckbox.figma.ktat5169:1314,AurumCheckboxGroup.figma.ktat5169:1796) plus 8 + 5@AurumPreviewpreviews. CatalogSelectionDemoextended with single-checkbox and group examples.AurumAmountInput— currency-prefixed numeric input mapped to Figma5080:261(component/field/AurumAmountInput.kt). Delegates toAurumTextFieldfor state, validation, helper/error/success text, label plumbing — currency symbol (default₹) is rendered in the leading slot usingAurum.type.headingLarge; optionalsuffixText(e.g. "0.0097 g") sits in the trailing slot.loading = trueswaps the trailing slot for an inlineAurumLoader(size = Aurum.iconSize.lg)and forces read-only. Caller is responsible for formatting bothvalueandsuffixText(locale + currency conventions are app-level concerns) — flagged in KDoc. Numeric keyboard viaKeyboardOptions(keyboardType = KeyboardType.Number). 8@AurumPreviewpreviews + Code Connect.AurumNavBar+AurumNavBarItem— bottom navigation family (component/navigation/). Mapped to the layout component_set at Figma5575:14226.AurumNavBaris a slot-based composable taking anImmutableList<AurumNavBarItem>(label + line/fill icon pair) plusselectedIndex,onSelect, and alayout: AurumNavBarLayout.AurumNavBarLayoutis asealed interfaceexposing four data variants —Standard3,Standard4,Standard5,CenterQr5(onQrClick)— each carrying anitemCountenforced viarequire()at composition time.CenterQr5takes 4 items (the QR action is rendered by the layout, not surfaced as an item) and inserts the raised QR FAB between items 1 and 2 usingAurumIcons.Action.QrCode. The per-cell rendererAurumNavBarCellisprivate— exposing it would only invite cells without a parent bar. 6@AurumPreviewpreviews (one per layout + selected-state variants) + Code Connect. CatalogNavigationDemoextended with all 4 layouts running interactiveselectedIndexstate.
How changes ship
From Figma to Compose, and back — the loop that keeps design and code in sync.
-
Inspect the diff
Open the gallery alongside the PR's visual diff. Any component that moved shows up as a side-by-side comparison — decide if the change is intentional.
-
Approve the change
Add the
record-baselineslabel on the PR. The new baselines get regenerated and committed back automatically — no one has to run anything. -
Verify on device
Install the catalog APK on Android to explore with real gestures and platform font rendering.
Figma plugins
Two plugins on the Figma Community that keep Figma and Compose speaking the same language.
Aurum Compose
Select any frame in Figma and get idiomatic Aurum Compose code — with exact token references like Aurum.colors.surface.bgPageBase and Aurum.space.s16 — ready to paste into Android Studio.
Aurum Token Sync
Populates codeSyntax.ANDROID on every Aurum Figma Variable so Dev Mode and Aurum Compose always render the correct Kotlin path. Run it after token edits.
Components
Every component across 6 device and font-scale combinations. Search by name.
Icons
The full Aurum icon set — line and fill weights, grouped by category. Pair search with copy-the-symbol.
Tokens
Every colour, type scale, spacing step, radius, and shadow — the exact values Figma and Compose share.
Changelog
What changed in each release, linked to the source commit.
Catalog APK
Install on Android to explore components with real gestures and platform font rendering.