lotusui
A Go design system for desktop and mobile — one codebase, native apps. Web when you want it.
GitHub

Layout

The readable page column, scrolling, titles, and virtualized lists.

Screen scaffolding: LayoutPage caps content at a readable width and centers it; Scrollable makes mixed content reachable; ListView is the virtualized list for real data. How those pieces (plus Wrap, SimpleGrid, Tabs) reflow when the window changes size is the Responsive guide.

The page column

LayoutPage is the readable column: content capped at 920dp, centered, padded — the difference between a window and a designed page.

Go
lotusui.LayoutPage(th, gtx, func(gtx C) D {
	return content(gtx)
})

TitleWithIcons

A lotusui extension: an in-content / section title with trailing action icons. TopBar is screen chrome (centered title, optional leading); TitleWithIcons is content chrome (start-aligned LabelTitle, trailing icons). Empty icons → title alone.

open demo ↗

Two trailing icons

open demo ↗

Long lists

For a screen's mixed content, Scrollable; the moment a collection can grow with data, the virtualized ListView component.

API

OptionTypeDescription
TitleWithIcons(th, title, icons…)widgetLabelTitle + trailing icons (Space.XS between icons only).
TopBar(th, title, leading)widgetScreen chrome — centered title, optional leading.
LayoutPage(th, gtx, content)widgetReadable column; cap th.PageMax (default 920) or PageMaxAt.

lotusui is a Go design system for native desktop and mobile — and the web when you want it. Docs demos are the real components (WebAssembly) — one gallery app, each Preview an iframe addressed by URL hash.