UI component reference
Reference Index
Every reusable UI concept, component, and runtime block has a dedicated page.
This page is the canonical linked index for those pages. The implemented
ComponentCatalog API exposes the same inventory as deterministic Go data, and
WriteComponentCatalog plus bus-ui catalog --format json emit the
machine-readable JSON form for docs-owned catalog generation.
Design References
Versioned Concepts
- Node - Deterministic render tree.
- Component - Reusable Bus UI invocation.
- Shell - Page-level slot owner.
- Collection - Repeated data surface.
- State - Visible UI status.
- Expression children - Go expression children inside markup bodies.
- Callback props - Function props passed as Go values.
- Resource - External data or media boundary.
- Go WASM frontend runtime - Go WebAssembly mount lifecycle.
Core v0.1.1 Foundation
-
Shared interfaces- GoNode,Renderer, and default render function contracts. -
Text- Escaped scalar text node. -
Element- Generic HTML element. -
Fragment- Child group without a wrapper element. -
Props- Deterministic attribute map. -
VNode- Normalized node form for deterministic HTML rendering and tests.
Core v0.1.2-v0.1.5 GX And Components
- GX source tools - Parser, formatter, linter, and source diagnostics.
- GX compiler - Generated Go output.
- Component calls - Uppercase tags and typed props.
- Component composition - Component body markup and children.
Later Core Contracts
- Callback props - Function callback props.
- Go WASM frontend runtime - Go WebAssembly mount and update runtime.
- Runtime diagnostics - Mount, render, and callback diagnostics.
- Core test helpers - Test support for Core render and callback contracts.
Library: Common Shells
-
AppShell- Standard local application frame. -
SidebarShell- Collapsible multi-view shell.
Library: Layouts
-
SidebarNav- Sidebar navigation list. -
SplitLayout- Resizable pane layout.
Library: Surfaces
-
Panel- Bounded titled work surface. -
SurfaceCard- Repeated or grouped card surface. -
MetricCard- Compact dashboard metric.
Library: Navigation
-
LinkButton- Safe link with button styling. -
Menu- Bounded option menu. -
Tabs- Sibling view switcher.
Library: Event Controls
-
Button- Native event button. -
IconButton- Icon-only event button. -
EventBar- Ordered event group.
Library: Icons
-
Icon- Shared SVG icon.
Library: Forms
-
Form- Native form wrapper. -
Field- Labeled form control wrapper. -
Input- Generic typed input. -
TextInput- Single-line text field. -
PasswordInput- Password or token field. -
DateInput- Date input field. -
TextArea- Multiline text field. -
Select- Native bounded option set. -
FilterToolbar- Compact filter surface. -
SubmitState- Busy submit feedback.
Library: Lists
-
RecordList- Repeated non-tabular records. -
SummaryItem- Title/meta/detail summary row.
Library: Timelines
-
Timeline- Ordered event history.
Library: Status Surfaces
-
StatusPill- Compact semantic status. -
EmptyState- Visible absence state. -
LoadingState- Visible loading state. -
ResultPanel- Operation result surface. -
ErrorBanner- Recoverable error alert.
Library: Runtime Config
-
RuntimeConfig- Safe public runtime config.
Library: API URLs
-
APIURLResolver- Mounted API path resolver.
Library: Session
-
Session- Safe browser session view.
Library: Credentials
-
CredentialLoginCard- Generic credential entry surface.
Library: Provider Errors
-
ProviderError- Safe provider failure surface.
Library: Assistant
-
AssistantShell- Business surface with assistant pane. -
AIPanel- Assistant workbench surface. -
AIThreadList- Assistant thread list. -
AIMessage- Role-specific assistant message. -
AIMarkdown- Safe assistant Markdown renderer. -
AIModelSelect- Assistant model picker. -
AIAttachmentList- Assistant attachment chips. -
AIComposer- Assistant draft input. -
AIApprovals- Pending approval list. -
AIReviewStatus- Review-before-apply status. -
AIThreadIsolation- Assistant work isolation display. -
AIDropController- Assistant drop intake controller.
Library: Terminal
-
TerminalSessionPanel- Complete terminal surface. -
TerminalOutputView- Streamed output view. -
TerminalInputBox- Terminal stdin controls. -
TerminalApprovalPrompt- Command approval prompt. -
TerminalSessionAdapter- Event-to-terminal adapter.
Library: Evidence
-
EvidenceURLResolver- Safe evidence URL builder. -
EvidenceLink- Evidence open/download link. -
EvidencePreview- Safe evidence preview. -
ProjectionDetail- Ledger-like evidence detail.
Library: File Drops
-
DropZone- File/path intake surface.
Library: Image Gallery
-
ImageGallery- Linked image gallery.
CLI And Tooling
-
ComponentCatalog- Machine-readable component catalog inventory. -
CSSBundle- Shared CSS token bundle. -
CLIRuntimeFlags- Standard CLI flag behavior. -
BrowserOpen- Open local app URL. -
WASM app acceptance- Trusted Go WebAssembly app acceptance path.
The catalog API is Go-first:
package catalogui
import (
"os"
"github.com/busdk/bus-ui/pkg/uikit"
)
var catalog = uikit.ComponentCatalog()
func writeCatalogJSON() error {
return uikit.WriteComponentCatalog(os.Stdout, "json")
}
The JSON output is justified here because it is machine-readable tooling
metadata, not component or template markup. The schema version is
bus-ui.component_catalog/v1, and each entry records its docs path, roadmap id,
implementation status, package, and exported symbols.