Skip to content

Version 0.4.3 is tagged on GitHub and is not published on npm. A beta will be published before the stable 1.0.0.

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.

Native adapter

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.