Home
Softono

React Activity Calendar

Open source MIT TypeScript
574
Stars
42
Forks
3
Issues
2
Watchers
3 months
Last Commit

 About React Activity Calendar

React component for displaying activity data in a calendar (heatmap)

Platforms

Web Self-hosted

Languages

TypeScript

Need Help Installing React Activity Calendar?

We provide expert installation service for this software. Our team will install, configure, and secure React Activity Calendar on your server. plans start at just $30.

React Activity Calendar

View on GitHub

React Activity Calendar

Tests Playwright tests npm version

A React component to display activity data in a calendar (heatmap).
Documentation (Storybook)

Version 3 has been released 🎉
See the upgrade guide.

Screenshot

Buy Me A Coffee

Installation

npm install react-activity-calendar

Features

  • any number of activity levels, including negative ones
  • color themes
  • dark and light mode
  • tooltips
  • event handlers
  • localization

The component expects activity data in the following shape, where each activity level must be in the bounds controlled by the minLevel and maxLevel props. By default, the level bounds are [0, 4] but any range is possible (see documentation). It is up to you how to generate and classify your data.

import { ActivityCalendar } from 'react-activity-calendar'

const data = [
  {
    date: '2024-06-23',
    count: 2,
    level: 1,
  },
  {
    date: '2024-08-02',
    count: 16,
    level: 4,
  },
  {
    date: '2024-11-29',
    count: 11,
    level: 3,
  },
]

function Calendar() {
  return <ActivityCalendar data={data} />
}

FAQ

Why does the calendar not render in environment x?

If you encounter issues rendering this component in a specific React framework, please refer to the following repository. It contains working examples for Astro, Next.js, Remix and Vite. Server side rendering (SSR) is supported.

Framework examples

Why is Create React App unsupported?

Create React App (CRA) is considered abandoned, and you probably should not use it anymore (more background). Using this component inside CRA will lead to errors for reasons described in issue #105. This repo is not for CRA support questions. If you encounter issues, you need to fix those yourself given the maintenance state of CRA. Personally, I would recommend using Vite instead of CRA.

Development

Start the Storybook

npm run storybook

Update the documentation

npm run build:storybook

Related projects