Timeline Bars
Events on a week track where a bar's width is its duration, one lane per kind.
$149 once · every Pro piece
A now line cuts the track in the accent: everything before it is solid, everything after it is hatched as planned, and the one event in progress burns in the accent up to now. Hover a bar for a pill that reads "2h 14m Review · Wed 11:45–13:59" while the rest step back and a time pill follows the pointer; switch between week and day, or click a day, and the view tweens in with hour ticks and labels inside the bars. Lanes isolate and hide from the legend; ←/→ walk the events from the keyboard.
Install
npx shadcn@latest add @obsyde/timeline-barsNeeds your licence key · Get Pro
Usage
Import it from where the CLI puts it, or copy the files below by hand.
import { TimelineBars } from '@/components/obsyde/ember/timeline-bars/TimelineBars';
export function Example() {
return (
<TimelineBars />
);
}
Files
What you get with Pro: plain React, TypeScript and CSS, with no dependencies.
ember/timeline-bars/TimelineBars.tsxcomponentember/timeline-bars/timeline-bars.cssstylesember/timeline-bars/TimelineBarsDemo.tsxdemoember/viz-kit/viz-kit.csssharedember/viz-kit/States.tsxsharedember/viz-kit/shape.tssharedember/viz-kit/motion.tssharedember/shared/spring.tssharedember/shared/accent.tssharedember/viz-kit/patterns.tsxsharedember/viz-kit/chart.tsxsharedember/shared/ember.csssharedember/viz-kit/touch.tssharedember/viz-kit/keyboard.tssharedember/viz-kit/focus.tssharedember/viz-kit/size.tssharedember/viz-kit/scale.tssharedember/viz-kit/roll.tssharedember/shared/rolling-number.csssharedember/viz-kit/Legend.tsxsharedember/viz-kit/demo.tsxsharedember/viz-kit/demo.cssshared
API
| Prop | Type | Default |
|---|---|---|
accentAccent | 'ember' | 'volt' | 'arc' | 'ember' |
zoomZoom | 'week' | 'day' | 'week' |
lanesLanes | number | 4 |
nowNow line | boolean | true |
crosshairCrosshair | 'none' | 'solid' | 'dashed' | 'none' |
legendLegend | 'row' | 'none' | 'row' |
patternPattern | 'diagonal-up' | 'diagonal-down' | 'dots' | 'vertical' | 'crosshatch' | 'none' | 'diagonal-up' |
revealReveal | 'sweep' | 'cool' | 'rise' | 'fade' | 'none' | 'sweep' |
statusStatus | 'ready' | 'loading' | 'empty' | 'ready' |
seedSeed | number | 6 |