Roadmap
The main features of this package: what ships today, what comes next, and what is only an idea.
Implemented
Two calendars, one adapter
HijriDateAdapter runs the Umm al-Qura or Gregorian calendar and can switch at runtime.
Locale is not the calendar
An English Hijri picker and an Arabic Gregorian picker both work. Locale sets digits, names, and the week start.
CalendarDate values
HijriDateAdapter stores CalendarDate objects from @internationalized/date, so a time zone cannot shift the day.
calendarOf() helper
Application code can ask which supported calendar a CalendarDate uses, without comparing gregory and gregorian by hand.
Native Hijri adapter
provideNativeHijriDateAdapter() from ngx-mat-hijri-adapter/native is an alternative for a plain mat-datepicker. It stores a JavaScript Date at UTC noon. Intl formats and parses it. The ready-made fields store CalendarDate and do not use this provider.
Material datepicker
A plain mat-datepicker uses the adapter, including min, max, and date filters.
Reactive and signal fields
Date and range fields for reactive forms and for signal forms.
Calendar toggle
The field can show and accept the other calendar while the stored value stays in valueCalendar. An optional hint shows that same day in the other calendar.
Custom calendar-toggle templates
A #calendarToggle template replaces the icon buttons. let-controller can show or open either calendar while valueCalendar stays the saved value.
Display formats
Numeric day, month, and year, or the locale's month name.
Strict parsing
Typed text is read in the active calendar, including Arabic-Indic and Persian digits. Unreadable text becomes an invalid date instead of a guessed one.
Right-to-left
Works with the CDK direction directive, including the datepicker overlay.
ng add
ng add installs the calendar peer when it is missing and registers provideHijriDateAdapter().
Agent skill
The package ships a markdown skill any coding agent can follow to install the adapter and store dates.
Arabic and English docs
The docs site switches between English and Arabic with ngx-translate. Arabic uses the Noto Kufi Arabic font and a right-to-left layout.
A @types package will not be published. This library ships its own .d.ts files.
Under development
Stable 1.0.0 release
Still ahead. A beta is published before it, then the version, changelog, tag, and retiring the unpublished-version banner.
ng update migrations
Stay current when a future Angular Material DateAdapter change requires one.
Future
These ideas are not scheduled. Nothing in this list is a commitment.
Package MCP server
A small server an agent can call for setup, the stored date type, and calendar checks. The markdown skill stays the way those rules are installed.