import { Day, LocalizeFnOptions } from 'date-fns'; import { faIR } from 'date-fns/locale'; const customWeekdayShortNames = ['ی', 'د', 'س', 'چ', 'پ', 'ج', 'ش']; const customMonthNames = [ 'فروردین', 'اردیبهشت', 'خرداد', 'تیر', 'مرداد', 'شهریور', 'مهر', 'آبان', 'آذر', 'دی', 'بهمن', 'اسفند' ]; // Override default Persian localization export const jalaliFaIR = { ...faIR, localize: { ...faIR.localize, day: (value: Day, options: LocalizeFnOptions) => options.width === 'short' ? customWeekdayShortNames[value] : faIR.localize.day(value, options), month: (value: Day, options: LocalizeFnOptions) => { if (options.width === 'wide' || options.width === 'abbreviated') { return customMonthNames[value]; } if (options.width === 'narrow') { return customMonthNames[value][0]; } return faIR.localize.month(value, options); } } };