* feat(date-picker): add Jalali (Persian) calendar support
- Add pure Jalali calendar math algorithms (no npm packages)
- Add JalaliDate class with valueOf() for reliable calendar comparison
- Add BrnJalaliDateAdapter implementing BrnDateAdapter<JalaliDate>
- Add comprehensive unit tests for all adapter methods
- Add Persian (Farsi) calendar i18n with RTL layout
- Add Jalali date picker example to docs page
- Add Storybook story with Persian locale
- Extend TranslateService to support 'fa' language
* feat(date-picker): add Jalali (Persian) calendar support
Add pure Jalali calendar math, JalaliDate class, and BrnJalaliDateAdapter with tests.
Move example from component docs to blocks/calendar page per PR review.
* refactor: clean up jalali date-time code
- Deduplicate JALALI_MONTHS array in calendar i18n files
- snake_case to camelCase in PersianDate (gregorianDaysInMonth, jalaliDaysInMonth)
- Expand cryptic param names (j_y to jalaliYear, g_y to gregorianYear, etc.)
- Remove parseInt() no-ops on typed number params
- Remove getMonthName (i18n concern, not calendrical)
- Destructure tuples with descriptive names across adapter/date/persian-date
- Fix month+day add drift: clamp day after month step before day arithmetic
* style: fix long line formatting to pass nx format check
* fix(date-picker): resolve merge conflicts from upstream and stashed changes
Merge descriptive variable names (_constrain, parseInt, getMonthName,
full descriptive names) with upstream descriptive names. All tests pass.
* refactor: remove parseInt unwrapping and getMonthName, add PersianDate tests
* fix: ensure BrnLuxDateAdapter#getDay() returns a value between 0-6 (#675)
* docs: document expectations on return type for the DateAdapter (#675)
* test: add tests for BrnLuxonDateAdapter and BrnNativeDateAdapter (#675)
* chore: fix linting issues