Bus UI Data Display

Readable data surfaces from node-first Go props.

Use the individual component pages for the public pkg/ui data-display wrappers. Each page names the exact Go entry point and the return type.

Public APIs

ComponentUse it forPublic API
DenseTableDense comparable rows with validated headings and cell counts.DenseTable(p DenseTableProps) gx.Node
TextTableCompatibility tables that already own trusted row nodes.TextTable(headers []string, rows []Node, log ControlLogSink) gx.Node
RecordListOrdered record summaries with empty-state support.RecordList(p RecordListProps) gx.Node
SummaryItemCompact summary cards and list items.SummaryItem(p SummaryItemProps) gx.Node
ProjectionDetailPublic-safe projection fields plus evidence actions and diagnostics.ProjectionDetail(p ProjectionDetailProps) (ProjectionDetailResult, error)
ProviderErrorPublic provider failure surfaces and redacted field errors.ProviderError(p ProviderErrorProps) gx.Node
TimelineOrdered event history with timestamps, sequences, and status chips.Timeline(p TimelineProps) gx.Node

Shared example

import (
  gx "github.com/busdk/bus-gx/pkg/gx"
  ui "github.com/busdk/bus-ui/pkg/ui"
)

rows := []ui.DenseTableRow{
  ui.DenseTableRowText("June receipts", "3 files", "Ready"),
}

node := ui.DenseTable(ui.DenseTableProps{
  Caption: "Document queue",
  Columns: []ui.DenseTableColumn{
    ui.DenseTableColumnText("title", "Title"),
    ui.DenseTableColumnText("files", "Files"),
    ui.DenseTableColumnText("state", "State"),
  },
  Rows: rows,
})

html, err := gx.RenderHTML(node)

These shared examples now use the public pkg/ui facade.