
Security News
curl Shuts Down Bug Bounty Program After Flood of AI Slop Reports
A surge of AI-generated vulnerability reports has pushed open source maintainers to rethink bug bounties and tighten security disclosure processes.
react-chrono
Advanced tools
The Ultimate Timeline Component for React Applications
Build stunning, interactive timelines with rich media support, accessibility-first design, and comprehensive customization options
Timeline Modes & Layouts4 Flexible Modes • Nested Timelines • Responsive |
Rich Media & ContentImages • Videos • YouTube • Custom Components |
Theming & CustomizationDark Mode • 36 Properties • Google Fonts |
Developer ExperienceTypeScript • Zero Dependencies • Vanilla Extract |
User ExperienceSlideshow • Search • Keyboard Navigation |
Accessibility & i18nWCAG AA • 60+ i18n Elements • Mobile First |
⚡ Get started in 30 seconds
# Using npm
npm install react-chrono
# Using yarn
yarn add react-chrono
# Using bun (recommended)
bun add react-chrono
Requirements: React 18.2+ or 19+ | Node.js 22+ | TypeScript 4.0+ (optional) | Modern browsers
Minimal Setup - Your First Timeline
import { Chrono } from 'react-chrono';
const items = [
{ title: 'May 1940', cardTitle: 'Dunkirk', cardDetailedText: 'Allied evacuation from France' },
{ title: 'June 1944', cardTitle: 'D-Day', cardDetailedText: 'Normandy invasion begins' }
];
<Chrono items={items} />
Result Preview:

<Chrono
items={items}
mode="horizontal"
theme={{ primary: '#0070f3', cardBgColor: '#f5f5f5' }}
/>
const items = [
{
title: 'January 2024',
cardTitle: 'Product Launch',
cardDetailedText: 'Released version 3.0 with new features',
media: {
type: 'IMAGE',
source: { url: 'https://example.com/launch.jpg' },
name: 'Product launch event'
}
}
];
<Chrono items={items} mode="vertical" />
<Chrono
items={items}
mode="alternating"
animation={{
slideshow: {
enabled: true,
duration: 3000,
type: 'fade'
}
}}
/>
The new grouped API organizes configuration into logical sections:
<Chrono
items={items}
mode="alternating"
layout={{
cardWidth: 450,
cardHeight: 'auto', // Automatic sizing based on content
responsive: { enabled: true, breakpoint: 768 }
}}
content={{
alignment: {
horizontal: 'center',
vertical: 'center'
}
}}
interaction={{
keyboardNavigation: true,
pointClick: true,
autoScroll: true
}}
display={{
borderless: false,
toolbar: { enabled: true, sticky: true }
}}
animation={{
slideshow: { enabled: true, duration: 4000, type: 'fade' }
}}
theme={{
primary: '#0070f3',
cardBgColor: '#ffffff',
cardTitleColor: '#1f2937'
}}
/>
💡 Try it live: Browse interactive examples in Storybook
See React Chrono in action
|
Vertical Mode Scroll-friendly chronological flow
|
Alternating Mode Cards alternate left and right
|
|
Dark Mode Complete theme control
|
Horizontal All Dashboard view showing complete timeline
|
|
Timeline with Media Embed YouTube videos and images
|
React Chrono offers four layout modes, each optimized for specific use cases:
| Mode | Best For | Visual Style |
|---|---|---|
| Vertical | Feeds, news timelines, mobile experiences | Top-to-bottom scroll-friendly layout |
| Horizontal | Historical narratives, project phases | Left-to-right chronological flow |
| Alternating | Portfolios, company milestones | Cards alternate left and right of central axis |
| Horizontal All | Dashboards, comparisons | Shows all timeline items at once |
Perfect for feeds, news timelines, and mobile experiences where scrolling is natural.
<Chrono items={items} mode="vertical" />
Ideal for historical narratives and project phases where the journey matters.
<Chrono items={items} mode="horizontal" />
Great for portfolios and company milestones with balanced visual rhythm.
<Chrono items={items} mode="alternating" />
Perfect for dashboards, comparisons, and seeing the complete picture at once.
<Chrono items={items} mode="horizontal-all" />
|
Smart Loading & Performance
|
|
|
Slideshow Mode Auto-playing presentations with customizable durations, transition effects, and progress indicators. Keyboard Navigation Full accessibility with arrow keys, Home/End for quick jumps, Escape for modals. Real-time Search Instantly highlights matching content across titles, descriptions, and metadata. |
|
|
Complete Theme Control
|
|
|
Global Ready
|
|
|
Nested Timelines Create multi-level narratives where major events contain detailed sub-timelines. Custom Components Embed fully interactive React components within timeline cards. Responsive Design Fundamentally adapts to each device with smart font sizing and spacing. |
|
React Chrono requires minimal configuration to get started:
| Property | Type | Description |
|---|---|---|
items | TimelineItem[] | Array of timeline data |
mode | string | Layout mode: 'horizontal' | 'vertical' | 'alternating' | 'horizontal-all' |
theme | Theme | Customize colors and appearance |
📚 Need complete prop documentation? See our comprehensive Props Reference
React Chrono v3.0 maintains full backward compatibility - your existing v2.x code will work without changes. However, we recommend migrating to the new grouped API for better maintainability and IDE support.
v2.x (still works):
<Chrono
items={items}
cardWidth={400}
disableNavOnKey={false}
borderLessCards={true}
slideShow={true}
slideItemDuration={3000}
mediaHeight={400}
/>
v3.0 (recommended):
<Chrono
items={items}
layout={{ cardWidth: 400 }}
interaction={{ keyboardNavigation: true }}
display={{ borderless: true }}
animation={{
slideshow: {
enabled: true,
duration: 3000
}
}}
media={{ height: 400 }}
/>
| v2.x Prop | v3.0 Prop |
|---|---|
borderLessCards | display.borderless |
disableNavOnKey | interaction.keyboardNavigation (inverted) |
timelinePointDimension | layout.pointSize |
slideShow | animation.slideshow.enabled |
slideItemDuration | animation.slideshow.duration |
mediaHeight | media.height |
parseDetailsAsHTML | content.allowHTML |
disableToolbar | display.toolbar.enabled (inverted) |
layout, interaction, content, display, media, animation)🔗 Complete migration guide: Props Reference
🎉 Major updates and improvements
|
🏗️ Grouped API
Props organized into logical groups ( |
⚡ Performance Complete migration to Vanilla Extract for zero-runtime CSS and improved performance |
🎨 New Features Auto card height, content alignment, Google Fonts, i18n support, fullscreen mode, and more |
📋 Full changelog: See CHANGELOG.md for complete details
🔄 Backward Compatible: All v2.x props remain fully supported with automatic mapping to the new grouped API
# Clone the repository
git clone https://github.com/prabhuignoto/react-chrono.git
cd react-chrono
# Install dependencies
bun install
# Start development server with hot reload
bun run dev
# Build for production
bun run build
# Run unit tests
bun test
# Lint and format code
bun run clean
React Chrono uses a comprehensive testing approach:
We welcome contributions! Please see our Contributing Guide for details.
bun run find-bugsbun run clean|
Core Technologies
|
Development Tools |
Love React Chrono? Help us grow!
⭐ Star on GitHub | 🐦 Follow on Twitter | 🐛 Report Issues
Made with ❤️ by Prabhu Murthy and contributors
FAQs
A Modern Timeline component for React
The npm package react-chrono receives a total of 9,813 weekly downloads. As such, react-chrono popularity was classified as popular.
We found that react-chrono demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
A surge of AI-generated vulnerability reports has pushed open source maintainers to rethink bug bounties and tighten security disclosure processes.

Product
Scan results now load faster and remain consistent over time, with stable URLs and on-demand rescans for fresh security data.

Product
Socket's new Alert Details page is designed to surface more context, with a clearer layout, reachability dependency chains, and structured review.