15 min (daily)
15 min (MWF)
30 min (daily)
40 min (daily)
40 min (weekly MO)
45 min (daily)
60 min (daily)
60 min (MO/WE/FR)
120 min (daily)
15 min (daily)
15 min (biweekly TU)
30 min (daily)
30 min (TU/TH)
40 min (daily)
40 min (every 3 days)
45 min (daily)
60 min (daily)
120 min (daily)
120 min (TU/TH)
15 min (daily)
15 min (MWF)
30 min (daily)
30 min (1st WE)
40 min (daily)
45 min (daily)
45 min (WE/FR)
60 min (daily)
60 min (MO/WE/FR)
120 min (daily)
15 min (daily)
30 min (daily)
30 min (TU/TH)
40 min (daily)
45 min (daily)
45 min (biweekly TH)
60 min (daily)
120 min (daily)
120 min (TU/TH)
15 min (daily)
15 min (MWF)
30 min (daily)
40 min (daily)
40 min (every 3 days)
45 min (daily)
45 min (WE/FR)
60 min (daily)
60 min (MO/WE/FR)
120 min (daily)
15 min (daily)
30 min (daily)
40 min (daily)
45 min (daily)
60 min (daily)
120 min (daily)
Timeline dependency arrows (#22855, #22856, #22858, #23394)
Dependencies of the four types on the timeline, on a release day dataset where every arrow shape appears once: a short arrow between adjacent events, a straight arrow along a row, elbows across rows, the wraps of a Start-to-Start (API design → Test plan) and of Finish-to-Finish links (UI → Guide), the backward S of a violated Finish-to-Start (Testing → Notes) and the mirrored S of a Start-to-Finish link (Deploy → On-call shift). Drag or resize an event to see its arrows follow. Hover an event to reveal a terminal on each edge, and drag one onto another event to create a dependency: the dragged edge and the dropped edge define the type. Dropping on the event body targets its start edge; while the gesture hovers a target, its terminals show and the one the drop would land on is highlighted. A duplicate of the same type or a link that would close a cycle is rejected with a transient toast, and dropping on empty space cancels the gesture. Click an arrow to select it, then delete it with its button or the Delete/Backspace keys; Escape or clicking away deselects. Sync belongs to three resources: its dependency draws one arrow per row appearance, each terminal drags from its own row, and selecting any of its arrows reveals a delete button on each. The feature has no public API yet, so the demo feeds the internal store parameters.
Timeline auto-scheduling (#22857, #22858)
The Finish-to-Start auto-scheduling engine. Moving or resizing an event pushes its violated successors forward on the drop, transitively, as one atomic change — and only when the relationship is actually broken: dragging Plan slightly to the right lands inside Build's slack and moves nothing, dragging it well past Build's start pushes the whole chain. Moving a predecessor earlier never pulls its successors back. Dropping a successor onto or before its predecessor snaps it forward to the first valid position: a drop cannot create a violated arrow — what can move is moved, and a change that would need to move a read-only event is rejected with a transient toast. Violations already present in the data are left as-is. The Design diamond reconverges on Integrate, which settles once behind the later of its two branches. Audit is read-only: dropping Setup onto it is rejected with a transient toast, since the constraint could not be restored. The all-day pair shifts by whole days and stays all-day. Dragging a terminal to close a cycle (for example Deploy onto Plan) is rejected with a transient toast. The feature has no public API yet, so the demo feeds the internal store parameters.
Month view multi-day overflow
Continuation after overflow (#22735)
A multi-day event pushed into "+N more" should collapse to a lower free row and render as one continuous bar once it runs alone, with a continuation arrow.
A
B
A
Long trip
Long trip
Long trip
Overflow persists when no row frees up
An overflow event that can never collapse should stay counted in "+N more" on every day it crosses, not vanish after its first day.
Long trip
Long trip
Filler
Long trip
Filler
Overflow button behind spanning bars
Two all-day events fill the visible rows; a new event on Jul 9 forces a "+N more" button on a row a multi-day bar runs across. The button must stay visible and the bar must resurface after it, not vanish for the rest of the week.
All-day A
All-day B
All-day A
All-day B
All-day B
All-day A
All-day B
All-day A
All-day B
All-day A
All-day B
Compact (touch) views
Touch-optimized day/time-grid views for narrow widths, rendered here at a phone-like width. Each view shows a fixed number of days and uses the touch event variant (title only, no time).
Compact day view (1 day)
Gym Class
Alice's Birthday
Gym Class
Yoga
1-on-1 with Sarah
Code Review
Alice's Birthday
Morning Run
Team Meeting
Gym Class
Yoga
1-on-1 with Sarah
Code Review
4th of July BBQ
API
See the documentation below for a complete reference to all of the props and classes available to the components mentioned here.