Timeline
ui.widgets.Timeline時間や状態ごとに縦方向のイベントを表示します。
BEHAVIOR CONTRACT
completed / current / pending、時刻、タイトル、説明が同じレールに揃います。
RECORDED INTERACTION
注文のライフサイクルを示します。
// ── 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);
}Storybook にあるこの story のコードそのままです(zenit 5f9add5+wip 2026-09-30)。W は ui.widgets のことで、col / row / label は Storybook 内の小さなレイアウトヘルパーです。
TimelineProps
ui.widgets.Timelinefn Timeline(props: TimelineProps) TimelineBuilderフィールド
型
デフォルト値
説明
items[]const TimelineItem&.{}—
*Node
ui.widgets.Timelinemount は *Node を直接返します。親ノードに append してください。