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.

Versioned Concepts

Core v0.1.1 Foundation

  • Shared interfaces - Go Node, 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

Later Core Contracts

Library: Common Shells

Library: Layouts

Library: Surfaces

Library: Navigation

  • LinkButton - Safe link with button styling.
  • Menu - Bounded option menu.
  • Tabs - Sibling view switcher.

Library: Event Controls

Library: Icons

  • Icon - Shared SVG icon.

Library: Forms

Library: Tables

Library: Lists

Library: Timelines

Library: Status Surfaces

Library: Runtime Config

Library: API URLs

Library: Session

  • Session - Safe browser session view.

Library: Credentials

Library: Provider Errors

Library: Assistant

Library: Terminal

Library: Evidence

Library: File Drops

CLI And Tooling

The catalog API is provided by the small pkg/uicatalog metadata helper and the uicatalog.Catalog shape used by adjacent UI tooling:

package catalogui

import "github.com/busdk/bus-ui/pkg/uicatalog"

var catalog = uicatalog.Catalog{
	Entries: []uicatalog.Entry{
		{ID: "credential-login-card", Name: "CredentialLoginCard", Package: "pkg/ui"},
	},
}

func hasReference(name string) bool {
	return catalog.HasReference(name)
}

Legacy migration status: pkg/uikit still owns the full machine-generated component catalog export helpers, but that helper is an internal bridge rather than the normal docs-facing API.

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.