Getting started
Install @ascentsparksoftware/angular-calendar, wire the date adapter once, and render your first view in a few lines. The library is standalone, signals-first, zoneless and SSR-safe — you bring your own event data and templates, and it drops onto any color scheme.
Install
Add the package plus its runtime dependencies. The heavy, optional features live behind secondary entry points so they only ship if you import them.
npm i @ascentsparksoftware/angular-calendar date-fns date-fns-tz rruleQuick start
Provide the date adapter once in your ApplicationConfig, then import a view component and pass it your events, a viewDate and today. That's a working month calendar.
import { ApplicationConfig } from '@angular/core';
import { provideCalendar, withDateAdapter } from '@ascentsparksoftware/angular-calendar';
import { provideDateFnsAdapter } from '@ascentsparksoftware/angular-calendar/date-fns';
export const appConfig: ApplicationConfig = {
providers: [
// Wire the date adapter once, at the application root.
provideCalendar(withDateAdapter(provideDateFnsAdapter())),
],
};Angular versions
One release line per supported Angular major. The package major always tracks the Angular major, so you install the matching line via its npm dist-tag.
| Angular | Package major | npm dist-tag |
|---|---|---|
| 22 | 22.x | @latest |
| 21 | 21.x | @ng21 |
| 20 | 20.x | @ng20 |
# Angular 22 (current) — installs 22.x
npm i @ascentsparksoftware/angular-calendar@latest
# Angular 21 — installs 21.x
npm i @ascentsparksoftware/angular-calendar@ng21
# Angular 20 — installs 20.x
npm i @ascentsparksoftware/angular-calendar@ng20FAQ
Common questions about licensing, hosting, version support and correctness.
Is it free and open-source?
Yes. MIT-licensed, no account or paid tier.
Does it need a backend?
No. It renders your event data entirely client-side; you own the data and apply edits from the eventChanged output.
Which Angular versions are supported?
Angular 20, 21 and 22 — one release line each (@ng20, @ng21, @latest); the package major matches the Angular major.
Is it zoneless and SSR-safe?
Yes. Standalone, signals-first, OnPush, no zone.js, and safe to server-render / prerender.
Does it handle timezones and DST?
Yes. Events carry an explicit IANA zone via a pluggable date adapter (date-fns + date-fns-tz by default); positioning is wall-clock correct across DST.