Free Public Beta · MIT · TypeScript · Zero dependencies

High-Performance JavaScript Event Calendar

Month, Week, Day, and Agenda views with continuous navigation and responsive layouts.

Built for real application data, large event collections, and narrow containers without continuously growing the DOM.

Public Beta · 0.1.0-beta.0

npm GitHub

RollDateEvents · week view
RollDate Events week view with timed events
4views
0runtime deps
TSdefinitions
MITlicense
Betapublic release

Views

Four views, one event model

RollDate Events month view with event chips

Month

Calendar overview with event chips; compact colored dots on narrow containers.

RollDate Events week view with timed grid

Week

Timed grid with all-day band and overlapping event layout.

RollDate Events day view schedule

Day

Focused single-day schedule with vertical day navigation.

RollDate Events agenda list grouped by date

Agenda

Complete event list grouped by date with native scroll.

Explore live demo →

Architecture

Continuous navigation without an ever-growing DOM

  • Buffered navigationViews mount a bounded buffer of date segments
  • Range-based preparationonVisibleRangeChange for lazy loading
  • Separate event storeIndexed by day, independent from view rendering
  • Stable scrollEvent updates preserve navigation where possible

Read how the calendar architecture handles large datasets →

API

Built for event data

calendar.js
calendar.setEvents(events)
calendar.getEvents()
calendar.addEvent({ id: 2, title: 'Review', start, end })
calendar.updateEvent(1, { title: 'Standup (remote)' })
calendar.removeEvent(1)

Responsive

Responsive by container width

Layout adapts to the calendar container — compact Month dots, readable Week columns, dense Agenda rows. Uses ResizeObserver when available.

Quick start

Install from npm

terminal
npm install @rolldate/events@beta
app.js
import { RollDateEvents } from '@rolldate/events'
import '@rolldate/events/styles'

new RollDateEvents('#calendar', {
  defaultView: 'week',
  events: [{ id: 1, title: 'Standup', start: '2026-08-30T09:00:00', end: '2026-08-30T09:30:00' }]
})

Beta

Free public beta

RollDate Events is in public beta. Month, Week, Day, and Agenda are available now, but APIs may evolve before 1.0.

Not included in the current Free beta: drag and drop, event resizing, resource timeline, recurring-event expansion.

Try RollDate Events with your own data