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.
Use Core for scheduling logic and Interface for production-ready UI components.
Pure JavaScript scheduling engine. No DOM, no dependencies. Use when you need headless calendar logic in secure runtimes.
Learn more →Web Components powered by Core. Framework-agnostic, Shadow DOM encapsulated. Use when you need calendar UI without framework lock-in.
Learn more →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.
Test real components, configure options, and evaluate behavior before integrating.