About Experience Work Learn Contact
Personal project — solo, npm package

shamsi-datepicker

A dependency-free Jalali/Gregorian date & time picker written in plain TypeScript: a DOM-free core usable from Node or any framework, with thin adapters for Angular, React and vanilla JS.

LanguageTypeScript
DependenciesNone
Works withAngular · React · Vanilla
CalendarsJalali ⇄ Gregorian

Features

Zero dependencies
Written in plain TypeScript
DOM-free core — usable from Node or any framework
Thin adapters for Angular, React and vanilla JS
Single date or range selection
Optional time picker
Jalali ⇄ Gregorian
Full RTL / Persian localisation
Independent per-instance theming, for several pickers on one page

How it's built

01

Core

Date logic and Jalali ⇄ Gregorian conversion with no DOM — runs in Node, a worker, or any framework.

02

Adapters

Thin wrappers for Angular, React and vanilla JS that connect the core to the page.

03

Theming

Each instance carries its own theme, so several pickers can look different on the same page.