Timeline
ui.widgets.TimelineVertical events by time or status.
BEHAVIOR CONTRACT
completed / current / pending, time, title and description align on one rail.
RECORDED INTERACTION
Shows an order lifecycle.
// ── Timeline ──
pub fn buildTimeline(scope: *ui.Scope, cx: *ui.Cx) anyerror!*ui.Node {
const items = [_]W.TimelineItem{
.{ .title = "Created", .description = "Order placed", .time = "09:00", .status = .completed },
.{ .title = "Shipped", .description = "In transit", .time = "12:30", .status = .active },
.{ .title = "Delivered", .description = "Pending", .status = .pending },
};
return W.Timeline(.{ .items = &items }).mount(scope, cx);
}The story's verbatim source from the Storybook (zenit 4c50245 2026-10-01). W is ui.widgets; col / row / label are small Storybook layout helpers.
TimelineProps
ui.widgets.Timelinefn Timeline(props: TimelineProps) TimelineBuilderField
Type
Default
Description
items[]const TimelineItem&.{}—
*Node
ui.widgets.Timelinemount returns *Node directly. Append it to a parent.