New releasecore v2.5.3interface v1.7.0
Live

Playground

The real @forcecalendar/interface web component running live. Load sample events, switch views, watch the DOM events fire, and copy ready-to-paste code for HTML, React, or Vue. Prefer a real editor? Open the starter in StackBlitz.

0 events
Fully keyboard accessible: Tab into the grid, move with the arrow keys, PageUp/PageDown to change period, Enter to select. Every view implements the WAI-ARIA grid pattern.
index.html
<forcecal-main
  view="month"
  locale="en-US"
  week-starts-on="0"
  style="display: block; min-height: 560px"
></forcecal-main>

<script type="module">
  import '@forcecalendar/interface';

  const calendar = document.querySelector('forcecal-main');

  // Assign a complete snapshot; the calendar reconciles it and
  // dispatches one calendar-events-set with the change set
  calendar.events = [
    {
      id: 'standup',
      title: 'Daily Standup',
      start: '2026-09-07T09:15:00',
      end: '2026-09-07T09:30:00',
      recurrenceRule: 'FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR'
    }
  ];

  // Fires after first render and on every navigation or view change
  calendar.addEventListener('calendar-range-change', ({ detail }) => {
    console.log('visible', detail.start, detail.end);
  });
</script>

Configuration

Events

No events yet. Add the samples to see the calendar in action.

Event log

DOM events dispatched by <forcecal-main>. Navigate to see calendar-range-change; load or clear events to see one calendar-events-set per snapshot.

Waiting for activity…