from textual.containers import VerticalScroll, Horizontal from textual.app import ComposeResult class TimelineRow(Horizontal): DEFAULT_CSS = """ TimelineRow { background: $surface-lighten-1; height: 8; margin-bottom: 1; } """ def compose(self) -> ComposeResult: yield from () class Timeline(VerticalScroll): DEFAULT_CSS = """ Timeline { padding: 1 0; hatch: "-" $surface-lighten-1; } """ def compose(self) -> ComposeResult: yield TimelineRow() yield TimelineRow()