Database

Timeline View

Gantt-style bars on a day scale with a today line. Drag a bar to move its date; off-screen items show an edge arrow.

Tasks
October 2026
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

Usage

  • Use the timeline layout to plan work over time and see overlaps between rows.
  • Give rows a date so they render as bars; rows without one are left out of the timeline.
  • Don’t use a timeline for single-day events in a month view; use the calendar layout instead.
  • Don’t rely on dragging bars as the only way to change dates; it is pointer-only.

Installation

Install the package (React 19):

terminal
npm install @krackedui/motion

Import the styles once, in your app entry or root layout:

/src/main.tsx
import '@krackedui/motion/styles.css';

Use it anywhere inside your app's <Theme> (see Installation):

/src/TimelineViewExample.tsx
import { DatabaseView, SAMPLE_TODAY, createTasksSample } from '@krackedui/motion';

export function TimelineViewExample() {
  return (
    <DatabaseView data={createTasksSample()} initialViewId="v-timeline" today={SAMPLE_TODAY} />
  );
}

Examples

Bare timeline

The timeline is width px wide; outside DatabaseView, put it in a horizontal scroll container.

October 2026
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

Composition

Views read the database from context, so render them inside <DatabaseView> (which picks the active view for you) or inside your own <DatabaseProvider value={useDatabase(...)}>.

anatomy
<TimelineView width={…}>
  CalendarToolbar leading={» Open table} extra={Month ▾}
  day header (40px days, today pill)
  body → weekend bands · today line · bar × n (34px) · edge arrow chips
</TimelineView>

API Reference

TimelineView

PropTypeDefault
onOpenRow
(row: Row) => void
today
string
width
number
708

Accessibility

  • Bars are role="button" and open the page; edge chips are labelled "Scroll to <title>".
  • Dragging a bar is pointer-only.
© 2026 Motion. Internal documentation.