Headless scheduling engine plus framework-agnostic Web Components. Zero dependencies. Built for Salesforce Locker Service and strict CSP.
Most calendar libraries use blocked JavaScript patterns — eval, dynamic Function constructors, prototype manipulation — that Locker Service prohibits.
forceCalendar uses only Locker-safe patterns. No blocked APIs, no runtime code generation.
Content Security Policy blocks inline styles, eval, and unsafe-inline. Calendar libraries that inject CSS or generate styles at runtime fail silently.
All styling uses CSS custom properties and external stylesheets. No inline style injection.
Enterprise security teams audit every dependency. A library with 50+ transitive dependencies creates weeks of review work and ongoing supply chain risk.
Zero dependencies means zero supply chain risk. One package to audit, one license to approve.
Most calendar libraries break inside Locker Service — that's where forceCalendar started. The same zero-dependency architecture works in any strict enterprise environment.

Runs as a Lightning Web Component. Uses real Salesforce data through Apex, not external APIs.
Zero blocked API calls. No eval, no dynamic Function constructors, no prototype manipulation.
Month, week, and day views with event creation, color coding, and full navigation.

Week view with timed events

Day view with event details
Salesforce is the flagship integration. The same architecture works anywhere strict security is required.
Shipping now. LWC + Apex with full Locker Service compliance.
Web Components work in React, Vue, Angular, or vanilla JS.
No eval, no inline styles. Works behind the strictest policies.
Zero external requests. Runs fully offline with no CDN dependencies.
Use Core for scheduling logic and Interface for production-ready UI components.
Pure JavaScript scheduling engine. No DOM, no dependencies. Headless calendar logic for any runtime.
Learn more →Web Components powered by Core. Framework-agnostic, Shadow DOM encapsulated. Works in React, Vue, Angular, or vanilla JS.
Learn more →Built on top of both packages. Loads as a static resource, connects to Salesforce data through Apex. Locker Service safe.
See it running →import { Calendar } from '@forcecalendar/core';
import '@forcecalendar/interface';
const calendar = new Calendar({
locale: 'en-US',
timezone: 'America/New_York'
});
// That's it. <forcecal-main> is ready to use.RFC 5545 RRULE support with exceptions, overrides, and timezone-aware expansion for complex enterprise schedules.
Full IANA timezone database with automatic daylight-saving transitions and cross-timezone conversion.
iCalendar file support for interoperability with Outlook, Google Calendar, and existing enterprise systems.
Spatial indexing enables fast overlap detection across large event sets without scanning every event.
Built-in search engine with fuzzy matching across event titles, descriptions, and custom fields.
35+ CSS custom properties for complete visual control without touching JavaScript or Shadow DOM internals.
Independent benchmarks against FullCalendar — an excellent, widely-used library. forceCalendar exists for a different niche: strict enterprise environments where most calendar libraries cannot run.
2.9x smaller total bundle. Fewer bytes to audit, fewer bytes to ship behind corporate firewalls.
The dedicated rrule library is significantly faster than forceCalendar’s built-in RecurrenceEngine at expanding recurrence rules (17x to 1000x depending on pattern complexity).
The trade-off: forceCalendar’s recurrence is built-in with zero extra dependencies, while FullCalendar requires the separate rrule library. For most calendars with moderate recurrence, the built-in engine is fast enough. For heavy RRULE workloads, a dedicated library wins.
Benchmarks run against published npm packages. Full methodology and interactive results available on the dashboard.
View full benchmark