๐Ÿš€ Launch Week Day 5:Introducing Immutable Scans.Learn More โ†’
Socket
Book a DemoInstallSign in
Socket

react-chrono

Package Overview
Dependencies
Maintainers
1
Versions
139
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-chrono

A Modern Timeline component for React

Source
npmnpm
Version
3.2.1
Version published
Weekly downloads
12K
-1.28%
Maintainers
1
Weekly downloads
ย 
Created
Source
React Chrono UI Logo

React Chrono

The Ultimate Timeline Component for React Applications

Build stunning, interactive timelines with rich media support, accessibility-first design, and comprehensive customization options

npm version npm downloads npm bundle size License TypeScript

Build Status Coverage Status Codacy Badge Known Vulnerabilities

styled with PrettierReact

โœจ Why Choose React Chrono?

๐Ÿ† Flexible Storytelling

Four distinct layout modes adapt to any narrative: horizontal for traditional timelines, vertical for mobile-first feeds, alternating for visual balance, or dashboard for complete overviews. Perfect for company milestones, historical events, project roadmaps, or personal journeys.

๐ŸŽฏ Modern Development Experience

Built entirely in TypeScript with a grouped API that organizes props into logical sections. Exceptional IDE support with intelligent autocomplete, type checking, and zero external dependencies for a lean foundation.

๐ŸŽจ Complete Customization

25+ theme properties for pixel-perfect control - from subtle brand colors to full dark mode transformations. Effortless Google Fonts integration and support for custom React components within timeline cards.

๐Ÿš€ Production-Ready Performance

Native lazy loading for images, IntersectionObserver-managed visibility, and automatic video pause optimization ensure smooth performance with large datasets. Cross-browser compatible with comprehensive WCAG AA accessibility.

๐Ÿ“‘ Table of Contents

Quick Start
API Documentation
Features & Customization
Why React Chrono
Examples & Development

๐ŸŽ‰ What's New in v3.0

React Chrono v3.0 represents a complete evolution of the timeline component with architectural improvements and powerful new features:

๐Ÿ—๏ธ Architectural Overhaul

  • Grouped Configuration API - Props organized into logical groups (layout, interaction, content, display, media, animation, style, accessibility, i18n) for intuitive configuration and better IDE autocomplete
  • Vanilla Extract Migration - Complete migration from styled-components to Vanilla Extract for zero-runtime CSS, improved performance, and type-safe styling
  • Unified Context System - Streamlined from multiple contexts to a single optimized provider, reducing complexity and improving performance

โœจ New Features

  • Auto Card Height - Set cardHeight: 'auto' to automatically size cards based on their content
  • Content Alignment Control - Fine-grained control over horizontal and vertical alignment of card content
  • Google Fonts Integration - Dynamic font loading with per-element weight/style control and intelligent caching
  • Comprehensive Internationalization - 40+ configurable text elements across 11 categories with template string support
  • Fullscreen Mode - Cross-browser fullscreen support with proper portal handling and keyboard shortcuts
  • Enhanced Dark Mode - 25+ theme properties including button states, shadows, glows, and search highlighting
  • Sticky Toolbar - Optional sticky positioning for toolbar with configurable placement
  • Borderless Cards - Clean, minimal card variant for modern designs
  • Advanced Search Configuration - Customizable search input widths and positioning

๐ŸŽจ UX Improvements

  • Responsive Popover System - Smart positioning with fullscreen awareness
  • Improved Navigation - Enhanced keyboard navigation with better focus management
  • Text Density Control - Dynamic card remeasurement when switching between compact/detailed views
  • Smoother Animations - Refined slideshow transitions and card reveals

๐Ÿงช Testing & Quality

  • Component Testing - Isolated component tests with visual regression testing
  • Enhanced Coverage - Expanded test suite with integration tests for build output

๐Ÿ“ฆ Developer Experience

  • TypeScript-First - Enhanced type definitions with proper interface exports
  • Better Documentation - Comprehensive props reference with migration guides
  • Improved Demos - Redesigned demo site with full-width layouts and modern UX

All v2.x props remain fully supported with automatic mapping to the new grouped API, ensuring seamless upgrades without breaking changes.

๐Ÿš€ Quick Start

Installation

Get started with React Chrono in seconds:

# Using npm
npm install react-chrono

# Using yarn
yarn add react-chrono

# Using pnpm (recommended)
pnpm add react-chrono

Requirements: React 18.2+ | TypeScript 4.0+ (optional) | Modern browsers

๐ŸŽฏ Basic Usage

Minimal Setup - Your First Timeline

Get started with just two lines of code:

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} />

Common Configurations

Horizontal Timeline with Custom Theme

<Chrono
  items={items}
  mode="horizontal"
  theme={{ primary: '#0070f3', cardBgColor: '#f5f5f5' }}
/>

Vertical Timeline with Media

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" />

Alternating Timeline with Slideshow

<Chrono
  items={items}
  mode="alternating"
  animation={{
    slideshow: {
      enabled: true,
      duration: 3000,
      type: 'fade'
    }
  }}
/>

Advanced Configuration with Grouped API โœจ

The new grouped API organizes configuration into logical sections for better discoverability and maintainability:

<Chrono
  items={items}
  mode="alternating"

  layout={{
    cardWidth: 450,
    cardHeight: 'auto',  // NEW: Automatic sizing based on content
    responsive: { enabled: true, breakpoint: 768 }
  }}

  content={{
    alignment: {  // NEW: Control 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'
  }}
/>

Quick Start Examples by Use Case:

// Corporate Timeline
<Chrono items={milestones} mode="horizontal" theme={{ primary: '#1a73e8' }} />

// Project Roadmap
<Chrono
  items={tasks}
  mode="vertical"
  display={{ toolbar: { enabled: true, sticky: true } }}
/>

// Photo Timeline with Auto Height
<Chrono
  items={memories}
  mode="alternating"
  layout={{ cardHeight: 'auto' }}  // Cards size automatically to content
  media={{ height: 300, fit: 'cover' }}
/>

// Documentation Timeline
<Chrono
  items={releases}
  mode="vertical"
  content={{ allowHTML: true, readMore: true }}
/>

๐Ÿš€ Migration Made Easy: All existing v2.x props work alongside the new grouped API for seamless upgrades.

๐ŸŽญ Timeline Modes

React Chrono offers four thoughtfully designed layout modes, each optimized for specific content types and user experiences:

๐Ÿ”„ Horizontal Mode - Classic Storytelling

The traditional timeline experience where users navigate chronologically from left to right. Perfect for historical narratives, project phases, or any sequential story where the journey matters as much as the destinations. Users can smoothly scroll through time or use navigation controls for precise movement.

๐Ÿ“ฑ Vertical Mode - Mobile-First Design

A space-efficient, scroll-friendly layout that works beautifully on all devices. Content flows naturally from top to bottom, making it ideal for social media feeds, news timelines, or any scenario where users expect familiar scrolling behavior. Automatically adapts to narrow screens without sacrificing readability.

โš–๏ธ Alternating Mode - Visual Balance

The most visually striking option, where timeline cards gracefully alternate between left and right sides of a central axis. This symmetric design creates natural visual rhythm, prevents monotony, and maximizes screen real estate utilization. Excellent for portfolios, company milestones, or any content that benefits from balanced presentation.

๐Ÿ–ฅ๏ธ Horizontal All - Dashboard Overview

Displays all timeline items simultaneously in a comprehensive dashboard view. Users can see the entire timeline at once, making it perfect for project overviews, comparative analysis, or situations where the complete picture is more important than individual item focus.

Timeline Modes

๐ŸŽฏ Essential Props

React Chrono requires minimal configuration to get started:

PropertyTypeDescription
itemsTimelineItem[]Array of timeline data
modestringLayout mode: 'horizontal' | 'vertical' | 'alternating' | 'horizontal-all'
themeThemeCustomize colors and appearance

๐Ÿ“‹ Need complete prop documentation? See our comprehensive Props Reference

๐ŸŽฌ Showcase: What React Chrono Can Do

๐Ÿ“บ Rich Media Integration

Images load intelligently using intersection observers - only when entering the viewport - ensuring fast initial loads even with dozens of high-resolution photos. Videos auto-play when timeline items become active, creating cinematic storytelling experiences. The component handles responsive sizing, buffering states, accessibility attributes, and performance optimization automatically.

๐ŸŽฎ Interactive Features

Slideshow Mode: Auto-playing presentations with customizable durations, transition effects, and progress indicators - perfect for kiosks and guided storytelling.

Keyboard Navigation: Full accessibility with arrow keys for navigation, Home/End for quick jumps to first/last items, and Escape for closing modals. Smooth animations respect user motion preferences.

Real-time Search: Instantly highlights matching content across titles, descriptions, and metadata, helping users find specific events without losing context.

๐ŸŽจ Theming & Branding

Adapt to any visual identity with a comprehensive theming system. Dark mode is a first-class feature with dedicated properties for shadows, glows, and interaction states. Google Fonts integration handles loading optimization and fallback strategies automatically, making typography customization effortless.

๐ŸŒ Complete Internationalization

Customize every piece of user-facing text for any language or locale. The i18n system uses intelligent fallbacks - configure only what you need to change. Template strings support variable interpolation with full type safety.

<Chrono
  items={items}
  i18n={{
    texts: {
      navigation: { first: 'Premier รฉlรฉment', next: 'Suivant', previous: 'Prรฉcรฉdent' },
      search: { placeholder: 'Rechercher dans la chronologie', noResults: 'Aucun rรฉsultat trouvรฉ' }
    }
  }}
/>

๐Ÿ—๏ธ Advanced Architecture

Nested Timelines: Create multi-level narratives where major events contain detailed sub-timelines - ideal for historical periods, project phases, or biographical chapters.

Custom Components: Embed fully interactive React components within timeline cards - data visualizations, interactive maps, widgets, or custom UI elements.

๐Ÿ“ฑ Responsive Design

Fundamentally adapts to each device: precision hover states and multi-column layouts on desktop, optimized touch targets on tablets, and content-prioritized interfaces on mobile with smart font sizing and spacing.

๐Ÿ”„ Migration from v2 to v3

Upgrading is seamless with full backward compatibility:

// โœ… Both syntaxes work
<Chrono 
  cardWidth={400}           // Legacy prop
  disableNavOnKey={false}   // Legacy prop
  theme={{ primary: '#blue' }}
/>

// ๐Ÿš€ New grouped API (recommended)
<Chrono
  layout={{ cardWidth: 400 }}
  interaction={{ keyboardNavigation: true }}
  theme={{ primary: '#blue' }}
/>

๐Ÿ”— Complete migration guide: Props Reference

๐ŸŒŸ Why React Chrono

โšก Zero Configuration Required

Works beautifully out of the box with just items prop

๐ŸŽฏ TypeScript Native

Built with TypeScript for excellent IDE support and type safety

๐Ÿ“ฆ Lightweight & Tree Shakeable

Optimized bundle size - only import what you use

๐Ÿ”ง Highly Customizable

From basic theming to complete visual overhauls

โ™ฟ Accessibility Built-in

WCAG AA compliant with comprehensive keyboard navigation

๐ŸŒ Complete Internationalization

Comprehensive i18n support for global applications with 40+ configurable text elements

๐Ÿ“ฑ Mobile First

Responsive design that adapts to any screen size

๐ŸŽฌ Live Examples & Playground

๐Ÿš€ v3.0 Complete Feature Showcase โœจ NEW

Experience all the new v3.0 features with our comprehensive CodeSandbox example:

๐ŸŽฏ Open v3.0 Feature Showcase โ†’

This interactive example demonstrates:

  • โœ… Grouped Configuration API - All 9 configuration groups in action
  • โœ… Google Fonts Integration - Per-element font styling with Inter
  • โœ… Comprehensive i18n - 60+ customizable text elements
  • โœ… Enhanced Dark Mode - Dynamic theme switching with 36 properties
  • โœ… Sticky Toolbar - With advanced search configuration
  • โœ… Fullscreen Mode - Cross-browser support
  • โœ… Rich Media - Images with lazy loading
  • โœ… HTML Content - Formatted text with lists

๐Ÿ“ Want to create your own? The complete CodeSandbox example is available in the /codesandbox-example directory. Simply upload to CodeSandbox or fork our example to customize!

๐Ÿ“š Local Demo Site

Explore our comprehensive demo site with interactive examples. Run pnpm run dev locally to access:

  • All timeline layout modes (horizontal, vertical, alternating, horizontal-all)
  • Dark mode theming examples
  • Google Fonts integration demos
  • Internationalization samples
  • Media-rich timelines
  • Custom content examples
  • Nested timeline structures

๐Ÿ› ๏ธ Development Setup

Prerequisites

  • Node.js 18+
  • pnpm (recommended) or npm

Initial Setup

# Clone the repository
git clone https://github.com/prabhuignoto/react-chrono.git
cd react-chrono

# Install dependencies
pnpm install

Development Commands

# Start development server with hot reload
pnpm run dev

# Build for production
pnpm run build

# Run unit tests
pnpm test

# Lint and format code
pnpm run clean

Testing Framework

React Chrono uses a comprehensive testing approach:

  • Unit Tests: Vitest with @testing-library/react

๐Ÿค Contributing

We welcome contributions! Please see our Contributing Guide for details.

Quick Contribution Checklist

  • Fork the repo and create a feature branch
  • Write tests for new features
  • Ensure all tests pass: pnpm run find-bugs
  • Follow our code style: pnpm run clean
  • Update documentation if needed
  • Submit a pull request

๐Ÿงฑ Built With Modern Technologies

Core Technologies

Development Tools

๐Ÿ’– Support the Project

Love React Chrono? Help us grow!

โญ Star on GitHub | ๐Ÿฆ Follow on Twitter | ๐Ÿ› Report Issues

Made with โค๏ธ by Prabhu Murthy and contributors

Keywords

timeline

FAQs

Package last updated on 11 Nov 2025

Did you know?

Socket

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.

Install

Related posts