Free · 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.

Stable · 1.0.0

npm GitHub

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

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

Compact event list grouped by date. Days without events are skipped.

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
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' }]
})

Scope

Free and open source

RollDate Events 1.0 is a complete free event-calendar library under the MIT license with zero runtime dependencies.

Not included in v1: drag and drop, event resizing, resource timeline, recurring-event expansion.

Try RollDate Events with your own data