@tapsellorg/angular-material-library
Version:
Angular library for Tapsell
1 lines • 46.5 kB
Source Map (JSON)
{"version":3,"file":"tapsellorg-angular-material-library-src-lib-jalali-date-adapter.mjs","sources":["../../projects/pegah-library/src/lib/jalali-date-adapter/jalali-date.ts","../../projects/pegah-library/src/lib/jalali-date-adapter/material-jalali-date.adapter.ts","../../projects/pegah-library/src/lib/jalali-date-adapter/date-format.ts","../../projects/pegah-library/src/lib/jalali-date-adapter/date.utils.ts","../../projects/pegah-library/src/lib/jalali-date-adapter/jalali-date.pipe.ts","../../projects/pegah-library/src/lib/jalali-date-adapter/jalali-date.module.ts","../../projects/pegah-library/src/lib/jalali-date-adapter/locale-ir.ts","../../projects/pegah-library/src/lib/jalali-date-adapter/material-paginator-intl.ts","../../projects/pegah-library/src/lib/jalali-date-adapter/material-persian-global-options.ts","../../projects/pegah-library/src/lib/jalali-date-adapter/tapsellorg-angular-material-library-src-lib-jalali-date-adapter.ts"],"sourcesContent":["import { StringUtils } from '@tapsellorg/angular-material-library/src/lib/common';\n\nexport class JalaliDate {\n constructor(public year: number, public month: number, public day: number) {}\n\n static from(value: JalaliDate | Date | string | number): JalaliDate {\n if (value instanceof JalaliDate) {\n return value;\n }\n if (typeof value === 'string' && !isDateStringIso(value)) {\n value = value.replace(/\\s/, 'T');\n value = `${value}Z`;\n }\n\n const date = new Date(value);\n if (Number.isNaN(date) || !(date instanceof Date)) {\n throw new Error('JalaliDate: Invalid pipe argument');\n }\n return GregorianJalaliHelper.fromGregorian(date);\n }\n /**\n * string type is the jalali form of date: 1399/01/30\n */\n static parse(value: string, parseFormat: string | string[]) {\n const [year, month, day] = value.split('/');\n return new JalaliDate(parseInt(year, 10), parseInt(month, 10), parseInt(day, 10));\n }\n clone(): JalaliDate {\n return new JalaliDate(this.year, this.month, this.day);\n }\n isValid() {\n return (\n this.month > 0 &&\n this.month < 13 &&\n this.day > 0 &&\n this.day <= GregorianJalaliHelper.getDaysPerMonth(this.month, this.year)\n );\n }\n dayOfWeek() {\n return GregorianJalaliHelper.toGregorian(this).getDay();\n }\n format(displayFormat: string = 'YYYY/MM/DD') {\n return StringUtils.stringReplaceBulk(\n displayFormat,\n ['YYYY', 'MMMM', 'MM', 'DD'],\n [this.year, LONG_MONTHS[this.month - 1], this.month, this.day],\n );\n }\n\n addYears = (years: number) => {\n this.year += years;\n return this;\n };\n\n addMonths = (months: number) => {\n const month = this.month + months;\n return this.setJalaliMonth(month);\n };\n\n setJalaliMonth(month: number) {\n this.year += Math.floor((month - 1) / 12);\n this.month = Math.floor((((month - 1) % 12) + 12) % 12) + 1;\n return this;\n }\n\n setJalaliDay(day: number) {\n let mDays = GregorianJalaliHelper.getDaysPerMonth(this.month, this.year);\n if (day <= 0) {\n while (day <= 0) {\n this.setJalaliMonth(this.month - 1);\n mDays = GregorianJalaliHelper.getDaysPerMonth(this.month, this.year);\n day += mDays;\n }\n } else if (day > mDays) {\n while (day > mDays) {\n day -= mDays;\n this.setJalaliMonth(this.month + 1);\n mDays = GregorianJalaliHelper.getDaysPerMonth(this.month, this.year);\n }\n }\n this.day = day;\n return this;\n }\n\n addDays = (days: number) => {\n const day = this.day + days;\n return this.setJalaliDay(day);\n };\n}\n\nclass GregorianJalaliHelperClass {\n /**\n * Returns the equivalent jalali date value for a give input Gregorian date.\n * `gdate` is a JS Date to be converted to jalali.\n * utc to local\n */\n fromGregorian(gdate: Date): JalaliDate {\n const g2d = this.gregorianToDay(gdate.getFullYear(), gdate.getMonth() + 1, gdate.getDate());\n return this.dayToJalali(g2d);\n }\n /*\n Converts a date of the Jalali calendar to the Julian Day number.\n @param jy Jalali year (1 to 3100)\n @param jm Jalali month (1 to 12)\n @param jd Jalali day (1 to 29/31)\n @return Julian Day number\n */\n gregorianToDay(gy: number, gm: number, gd: number) {\n let day =\n div((gy + div(gm - 8, 6) + 100100) * 1461, 4) +\n div(153 * mod(gm + 9, 12) + 2, 5) +\n gd -\n 34840408;\n day = day - div(div(gy + 100100 + div(gm - 8, 6), 100) * 3, 4) + 752;\n return day;\n }\n /*\n Converts the Julian Day number to a date in the Jalali calendar.\n @param jdn Julian Day number\n @return\n jy: Jalali year (1 to 3100)\n jm: Jalali month (1 to 12)\n jd: Jalali day (1 to 29/31)\n */\n dayToJalali(julianDayNumber: number) {\n const gy = this.dayToGregorian(julianDayNumber).getFullYear(); // Calculate Gregorian year (gy).\n let jalaliYear = gy - 621;\n const r = this.jalCal(jalaliYear);\n const gregorianDay = this.gregorianToDay(gy, 3, r.march);\n let jalaliDay;\n let jalaliMonth;\n let numberOfDays;\n // Find number of days that passed since 1 Farvardin.\n numberOfDays = julianDayNumber - gregorianDay;\n if (numberOfDays >= 0) {\n if (numberOfDays <= 185) {\n // The first 6 months.\n jalaliMonth = 1 + div(numberOfDays, 31);\n jalaliDay = mod(numberOfDays, 31) + 1;\n return new JalaliDate(jalaliYear, jalaliMonth, jalaliDay);\n }\n // The remaining months.\n numberOfDays -= 186;\n } else {\n // Previous Jalali year.\n jalaliYear -= 1;\n numberOfDays += 179;\n if (r.leap === 1) {\n numberOfDays += 1;\n }\n }\n jalaliMonth = 7 + div(numberOfDays, 30);\n jalaliDay = mod(numberOfDays, 30) + 1;\n return new JalaliDate(jalaliYear, jalaliMonth, jalaliDay);\n }\n /**\n * Returns the equivalent JS date value for a give input Jalali date.\n * `jalaliDate` is an Jalali date to be converted to Gregorian.\n */\n toGregorian(jalaliDate: JalaliDate): Date {\n const { year, month, day } = jalaliDate;\n const jdn = this.jalaliToDay(year, month, day);\n const date = this.dayToGregorian(jdn);\n date.setHours(6, 30, 3, 200);\n return date;\n }\n /*\n Converts a date of the Jalali calendar to the Julian Day number.\n @param jy Jalali year (1 to 3100)\n @param jm Jalali month (1 to 12)\n @param jd Jalali day (1 to 29/31)\n @return Julian Day number\n */\n jalaliToDay(jYear: number, jMonth: number, jDay: number) {\n const r = this.jalCal(jYear);\n return (\n this.gregorianToDay(r.gy, 3, r.march) +\n (jMonth - 1) * 31 -\n div(jMonth, 7) * (jMonth - 7) +\n jDay -\n 1\n );\n }\n /*\n Calculates Gregorian and Julian calendar dates from the Julian Day number\n (jdn) for the period since jdn=-34839655 (i.e. the year -100100 of both\n calendars) to some millions years ahead of the present.\n @param jdn Julian Day number\n @return\n gy: Calendar year (years BC numbered 0, -1, -2, ...)\n gm: Calendar month (1 to 12)\n gd: Calendar day of the month M (1 to 28/29/30/31)\n */\n dayToGregorian(julianDayNumber: number) {\n let j;\n j = 4 * julianDayNumber + 139361631;\n j = j + div(div(4 * julianDayNumber + 183187720, 146097) * 3, 4) * 4 - 3908;\n const i = div(mod(j, 1461), 4) * 5 + 308;\n const gDay = div(mod(i, 153), 5) + 1;\n const gMonth = mod(div(i, 153), 12) + 1;\n const gYear = div(j, 1461) - 100100 + div(8 - gMonth, 6);\n return new Date(gYear, gMonth - 1, gDay);\n }\n /*\n This function determines if the Jalali (Persian) year is\n leap (366-day long) or is the common year (365 days), and\n finds the day in March (Gregorian calendar) of the first\n day of the Jalali year (jy).\n @param jy Jalali calendar year (-61 to 3177)\n @return\n leap: number of years since the last leap year (0 to 4)\n gy: Gregorian year of the beginning of Jalali year\n march: the March day of Farvardin the 1st (1st day of jy)\n @see: http://www.astro.uni.torun.pl/~kb/Papers/EMP/PersianC-EMP.htm\n @see: http://www.fourmilab.ch/documents/calendar/\n */\n jalCal(jalaliYear: number) {\n // Jalali years starting the 33-year rule.\n const breaks = [\n -61, 9, 38, 199, 426, 686, 756, 818, 1111, 1181, 1210, 1635, 2060, 2097, 2192, 2262, 2324,\n 2394, 2456, 3178,\n ];\n const breaksLength = breaks.length;\n const gYear = jalaliYear + 621;\n let leapJ = -14;\n let jp = breaks[0];\n let jm;\n let jump: number | undefined;\n let leap;\n let n;\n let i;\n if (jalaliYear < jp || jalaliYear >= breaks[breaksLength - 1]) {\n throw new Error(`Invalid Jalali year ${jalaliYear}`);\n }\n // Find the limiting years for the Jalali year jalaliYear.\n for (i = 1; i < breaksLength; i += 1) {\n jm = breaks[i];\n jump = jm - jp;\n if (jalaliYear < jm) {\n break;\n }\n leapJ = leapJ + div(jump, 33) * 8 + div(mod(jump, 33), 4);\n jp = jm;\n }\n n = jalaliYear - jp;\n // Find the number of leap years from AD 621 to the beginning\n // of the current Jalali year in the Persian calendar.\n leapJ = leapJ + div(n, 33) * 8 + div(mod(n, 33) + 3, 4);\n if (mod(jump!, 33) === 4 && jump! - n === 4) {\n leapJ += 1;\n }\n // And the same in the Gregorian calendar (until the year gYear).\n const leapG = div(gYear, 4) - div((div(gYear, 100) + 1) * 3, 4) - 150;\n // Determine the Gregorian date of Farvardin the 1st.\n const march = 20 + leapJ - leapG;\n // Find how many years have passed since the last leap year.\n if (jump! - n < 6) {\n n = n - jump! + div(jump! + 4, 33) * 33;\n }\n leap = mod(mod(n + 1, 33) - 1, 4);\n if (leap === -1) {\n leap = 4;\n }\n return {\n leap,\n gy: gYear,\n march,\n };\n }\n\n getDaysPerMonth(month: number, year: number): number {\n if (month <= 6) {\n return 31;\n }\n if (month <= 11) {\n return 30;\n }\n if (this.jalCal(year).leap === 0) {\n return 30;\n }\n return 29;\n }\n}\nfunction mod(a: number, b: number): number {\n return a - b * Math.floor(a / b);\n}\nfunction div(a: number, b: number) {\n return Math.trunc(a / b);\n}\nexport const GregorianJalaliHelper = new GregorianJalaliHelperClass();\n\nexport const LONG_MONTHS = [\n 'فروردین',\n 'اردیبهشت',\n 'خرداد',\n 'تیر',\n 'مرداد',\n 'شهریور',\n 'مهر',\n 'آبان',\n 'آذر',\n 'دی',\n 'بهمن',\n 'اسفند',\n];\n\nexport const ISO_DATE_REGEX =\n /\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d(:[0-5]\\d)?(\\.\\d+)?([+-][0-2]\\d:[0-5]\\d|Z)?/;\nexport function isDateStringIso(dateString: string): boolean {\n return ISO_DATE_REGEX.test(dateString);\n}\n","import { DateAdapter } from '@angular/material/core';\nimport { GregorianJalaliHelper, JalaliDate, LONG_MONTHS } from './jalali-date';\n\nexport class MaterialJalaliDateAdapter extends DateAdapter<JalaliDate> {\n private readonly dayNames: string[] = [...new Array(31)].map((_, i) => (i + 1).toString());\n\n constructor() {\n super();\n super.setLocale('fa-IR');\n }\n\n getYear(date: JalaliDate): number {\n return this.clone(date).year;\n }\n\n getMonth(date: JalaliDate): number {\n return this.clone(date).month - 1;\n }\n\n getDate(date: JalaliDate): number {\n return this.clone(date).day;\n }\n\n getDayOfWeek(date: JalaliDate): number {\n return this.clone(date).dayOfWeek();\n }\n\n getMonthNames(style: 'long' | 'short' | 'narrow'): string[] {\n // Jalali month names have no abbreviation and should be in long format\n // switch (style) {\n // case 'long':\n // return LONG_MONTHS;\n // case 'short':\n // return SHORT_MONTHS;\n // default:\n // // case 'narrow':\n // return NARROW_MONTHS;\n // }\n return LONG_MONTHS;\n }\n\n getDateNames(): string[] {\n return this.dayNames;\n }\n\n getDayOfWeekNames(style: 'long' | 'short' | 'narrow'): string[] {\n switch (style) {\n case 'long':\n return ['یکشنبه', 'دوشنبه', 'سه\\u200Cشنبه', 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه'];\n case 'short':\n return ['یک', 'دو', 'سه', 'چهار', 'پنج', 'جمعه', 'شنبه'];\n default:\n // case 'narrow':\n return ['ی', 'د', 'س', 'چ', 'پ', 'ج', 'ش'];\n }\n }\n\n getYearName(date: JalaliDate): string {\n return this.clone(date).year.toString();\n }\n\n getFirstDayOfWeek(): number {\n return 6;\n }\n\n getNumDaysInMonth(date: JalaliDate): number {\n return GregorianJalaliHelper.getDaysPerMonth(date.month, date.year);\n }\n\n clone(date: JalaliDate): JalaliDate {\n return date.clone();\n // return date.clone().locale('fa-IR');\n }\n\n createDate(year: number, month: number, date: number): JalaliDate {\n // console.log('#ee year', year, month, date);\n if (month < 0 || month > 12) {\n throw new Error(`Invalid month index \"${month}\". Month index has to be between 0 and 11.`);\n }\n if (date < 1) {\n throw new Error(`Invalid date \"${date}\". Date has to be greater than 0.`);\n }\n const result = new JalaliDate(year, month + 1, date);\n\n // if (this.getMonth(result) !== month) {\n // throw new Error(`Invalid date ${date} for month with index ${month}.`);\n // }\n if (!result.isValid()) {\n throw new Error(`Invalid date \"${date}\" for month with index \"${month}\".`);\n }\n return result;\n }\n\n today(): JalaliDate {\n return GregorianJalaliHelper.fromGregorian(new Date());\n }\n\n parse(value: any, parseFormat: string | string[]): JalaliDate | null {\n if (typeof value === 'string') {\n return JalaliDate.parse(value, parseFormat);\n }\n return null;\n }\n\n format(date: JalaliDate, displayFormat: string): string {\n date = this.clone(date);\n if (!this.isValid(date)) {\n throw new Error('JalaliMomentDateAdapter: Cannot format invalid date.');\n }\n return date.format(displayFormat);\n }\n\n addCalendarYears(date: JalaliDate, years: number): JalaliDate {\n return this.clone(date).addYears(years);\n }\n\n addCalendarMonths(date: JalaliDate, months: number): JalaliDate {\n return this.clone(date).addMonths(months);\n }\n\n addCalendarDays(date: JalaliDate, days: number): JalaliDate {\n return this.clone(date).addDays(days);\n }\n\n toIso8601(date: JalaliDate): string {\n return this.clone(date).format('YYYY-MM-DD');\n }\n\n isDateInstance(obj: any): boolean {\n return obj instanceof JalaliDate;\n }\n\n isValid(date: JalaliDate): boolean {\n return this.clone(date).isValid();\n }\n\n isLeapYear(year: number) {\n return year % 4 === 3;\n }\n\n invalid(): JalaliDate {\n return new JalaliDate(-1, -1, -1);\n }\n\n deserialize(value: any): JalaliDate | null {\n let date;\n if (value instanceof Date) {\n date = GregorianJalaliHelper.fromGregorian(value);\n }\n\n if (!value) {\n return null;\n }\n\n if (date && this.isValid(date)) {\n return date;\n }\n return super.deserialize(value);\n }\n\n sameDate(first: JalaliDate | null, second: JalaliDate | null): boolean {\n if (!first || !second) return false;\n return !this.compareDate(first, second);\n }\n\n compareDate(first: JalaliDate, second: JalaliDate): number {\n if (!this.isValid(first) || !this.isValid(second)) return 0;\n return first.year - second.year || first.month - second.month || first.day - second.day;\n }\n}\n","import { MatDateFormats } from '@angular/material/core';\n\nexport const JALALI_SLASH_FORMATS: MatDateFormats = {\n parse: {\n // eslint-disable-next-line sonarjs/no-duplicate-string\n dateInput: 'YYYY/MM/DD',\n },\n display: {\n dateInput: 'YYYY/MM/DD',\n monthYearLabel: 'YYYY MMMM',\n dateA11yLabel: 'YYYY/MM/DD',\n monthYearA11yLabel: 'YYYY MMMM',\n },\n};\n\nexport const JALALI_NAME_MONTH_FORMATS: MatDateFormats = {\n parse: {\n // eslint-disable-next-line sonarjs/no-duplicate-string\n dateInput: 'DD MMMM YYYY',\n },\n display: {\n dateInput: 'DD MMMM YYYY',\n monthYearLabel: 'MMMM YYYY',\n dateA11yLabel: 'DD MMMM YYYY',\n monthYearA11yLabel: 'MMMM YYYY',\n },\n};\n","import { GregorianJalaliHelper, ISO_DATE_REGEX, JalaliDate } from './jalali-date';\nimport { StringUtils } from '@tapsellorg/angular-material-library/src/lib/common';\n\n// @dynamic\nexport class DateUtils {\n static ISO_DATE_REGEX = ISO_DATE_REGEX;\n static isDateStringIso(dateString: string): boolean {\n return this.isDateStringIso(dateString);\n }\n static getTodayJalali(): JalaliDate {\n return this.gregorianToJalali(new Date());\n }\n static jalaliToGregorian(date: JalaliDate): Date {\n return GregorianJalaliHelper.toGregorian(date);\n }\n static gregorianToJalali(date: Date): JalaliDate {\n return GregorianJalaliHelper.fromGregorian(date);\n }\n\n static isValidDate(date: any): date is Date {\n return !Number.isNaN(date) && date instanceof Date;\n }\n\n static format(date: Date, format: string = 'YYYY/MM/DD') {\n const hours = date.getHours();\n const minutes = date.getMinutes();\n\n return StringUtils.stringReplaceBulk(\n format,\n ['YYYY', 'MM', 'DD', 'HH', 'MM'],\n [\n date.getFullYear(),\n date.getMonth() + 1,\n date.getDay(),\n StringUtils.convertToTwoCharactersNumber(hours),\n StringUtils.convertToTwoCharactersNumber(minutes),\n ],\n );\n }\n\n /**\n * @deprecated use DateUtils.milliSecsToMinSecsConverter(milliSecs)\n * @param milliSecs\n */\n static miliSecsToMinSecsConverter(milliSecs: number) {\n return DateUtils.milliSecsToMinSecsConverter(milliSecs);\n }\n static milliSecsToMinSecsConverter(milliSecs: number) {\n const secs: number = Math.floor(milliSecs / 1000);\n const seconds = secs % 60;\n const minutes = Math.floor(secs / 60);\n return { minutes, seconds };\n }\n\n static isDateToday(_date: Date | string) {\n const date = new Date(_date);\n return date.toDateString() === new Date().toDateString();\n }\n\n static daysBetween(_date1: string | Date, _date2: string | Date) {\n const date1 = new Date(_date1);\n const date2 = new Date(_date2);\n return Math.abs(date1.getTime() - date2.getTime()) / 1000 / 3600 / 24;\n }\n\n static jalaliDaysBetween(_date1: JalaliDate, _date2: JalaliDate) {\n const date1 = this.jalaliToGregorian(_date1);\n const date2 = this.jalaliToGregorian(_date2);\n return this.daysBetween(date1, date2);\n }\n\n static getHourAndMinuteDate(date: Date) {\n return `${date.toLocaleTimeString(undefined, {\n hour: '2-digit',\n minute: '2-digit',\n })}`;\n }\n\n static getOnlyDateISO(date: Date | string | number) {\n const dateObj = new Date(date);\n return !date || this.isValidDate(dateObj) ? dateObj.toISOString().slice(0, 10) : null;\n }\n\n static calculateFromAndToOfDateRange(dateRange: { length: number; to: number }): {\n fromJalali: JalaliDate;\n toJalali: JalaliDate;\n fromDate: Date;\n toDate: Date;\n } {\n const toJalali = DateUtils.getTodayJalali();\n toJalali.addDays(dateRange.to);\n if (!toJalali) {\n throw new Error('Calculated to jalali is null');\n }\n const toDate = DateUtils.jalaliToGregorian(toJalali);\n const fromDate = new Date(toDate);\n fromDate.setDate(toDate.getDate() - (dateRange.length - 1));\n const fromJalali = DateUtils.gregorianToJalali(fromDate);\n\n return { fromJalali, toJalali, fromDate, toDate };\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { JalaliDate } from './jalali-date';\nimport { DateUtils } from './date.utils';\n\n@Pipe({\n name: 'pghJalaliDate',\n pure: true,\n standalone: false,\n})\nexport class PghJalaliDatePipe implements PipeTransform {\n transform(\n value: JalaliDate | Date | string | number | null | undefined,\n time: boolean | string = false,\n dateParser?: ((dateString: string) => Date) | null,\n ): string {\n if (!value) return '';\n\n let jalaliDate;\n try {\n if (dateParser && typeof value === 'string') {\n jalaliDate = JalaliDate.from(dateParser(value));\n } else {\n jalaliDate = JalaliDate.from(value);\n }\n } catch (error) {\n throw new Error('PghJalaliDatePipe: Invalid pipe argument');\n }\n\n if (!time) {\n return jalaliDate.format();\n }\n\n if (value instanceof JalaliDate) {\n throw new Error(\n \"pghJalaliDate Pipe: value type is JalaliDate and time format is required. JalaliDate doesn't have time data. Use a Date object instead\",\n );\n }\n\n const timeFormat = typeof time === 'boolean' ? 'HH:MM' : time;\n const date = new Date(value);\n return `${jalaliDate.format()} ${DateUtils.format(date, timeFormat)}`;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PghJalaliDatePipe } from './jalali-date.pipe';\n\n@NgModule({\n declarations: [PghJalaliDatePipe],\n imports: [CommonModule],\n exports: [PghJalaliDatePipe],\n})\nexport class PghJalaliDateModule {}\n","/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n// THIS CODE IS GENERATED - DO NOT MODIFY\n// See angular/tools/gulp-tasks/cldr/extract.js\nconst u = undefined;\n\nfunction plural(n: number): number {\n const i = Math.floor(Math.abs(n));\n if (i === 0 || n === 1) {\n return 1;\n }\n return 5;\n}\n\nexport const localeIr = ({ isRial = false }) => [\n 'fa-IR',\n [\n ['ق', 'ب'],\n ['ق.ظ.', 'ب.ظ.'],\n ['قبل\\u200Cازظهر', 'بعدازظهر'],\n ],\n [['ق.ظ.', 'ب.ظ.'], u, ['قبل\\u200Cازظهر', 'بعدازظهر']],\n [\n ['ی', 'د', 'س', 'چ', 'پ', 'ج', 'ش'],\n ['یک', 'دو', 'سه', 'چهار', 'پنج', 'جمعه', 'شنبه'],\n ['یکشنبه', 'دوشنبه', 'سه\\u200Cشنبه', 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه'],\n ['۱ش', '۲ش', '۳ش', '۴ش', '۵ش', 'ج', 'ش'],\n ],\n u,\n [\n ['فر', 'ار', 'خر', 'تی', 'مر', 'شه', 'مه', 'آ', 'آذ', 'دی', 'به', 'اس'],\n ['فرو', 'اردی', 'خرد', 'تیر', 'مرد', 'شهر', 'مهر', 'آبان', 'آذر', 'دی', 'بهمن', 'اسف'],\n [\n 'فروردین',\n 'اردیبهشت',\n 'خرداد',\n 'تیر',\n 'مرداد',\n 'شهریور',\n 'مهر',\n 'آبان',\n 'آذر',\n 'دی',\n 'بهمن',\n 'اسفند',\n ],\n ],\n [\n ['ژ', 'ف', 'م', 'آ', 'م', 'ژ', 'ژ', 'ا', 'س', 'ا', 'ن', 'د'],\n [\n 'ژانویه',\n 'فوریه',\n 'مارس',\n 'آوریل',\n 'مه',\n 'ژوئن',\n 'ژوئیه',\n 'اوت',\n 'سپتامبر',\n 'اکتبر',\n 'نوامبر',\n 'دسامبر',\n ],\n u,\n ],\n [\n ['ق', 'م'],\n ['ق.م.', 'م.'],\n ['قبل از میلاد', 'میلادی'],\n ],\n 6,\n [5, 5],\n ['y/M/d', 'd MMM y', 'd MMMM y', 'EEEE d MMMM y'],\n ['H:mm', 'H:mm:ss', 'H:mm:ss (z)', 'H:mm:ss (zzzz)'],\n ['{1}،\\u200F {0}', u, '{1}، ساعت {0}', u],\n ['.', ',', ';', '%', '\\u200E+', '\\u200E−', 'E', '×', '‰', '∞', 'غیر عدد', ':'],\n ['#,##0.###', '#,##0%', '#,##0.00 ¤', '#E0'],\n 'IRR',\n isRial ? 'ریال' : 'تومان',\n isRial ? 'ریال ایران' : 'تومان ایران',\n {\n IRR: isRial ? ['ریال', 'ریال', 'ریال'] : ['تومان', 'تومان', 'تومان'],\n },\n 'rtl',\n plural,\n];\n","import { Injectable } from '@angular/core';\nimport { MatPaginatorIntl } from '@angular/material/paginator';\n\n@Injectable()\nexport class PghPersianMatPaginatorIntl extends MatPaginatorIntl {\n itemsPerPageLabel = 'آیتم در هر صفحه';\n nextPageLabel = 'صفحهی بعد';\n previousPageLabel = 'صفحهی قبل';\n firstPageLabel = 'صفحه اول';\n lastPageLabel = 'صفحه آخر';\n\n getRangeLabel = (page: number, pageSize: number, length: number): string => {\n if (length === 0 || pageSize === 0) return `0 از ${length}`;\n length = Math.max(length, 0);\n const startIndex = page * pageSize;\n const endIndex =\n startIndex < length ? Math.min(startIndex + pageSize, length) : startIndex + pageSize;\n return `${startIndex + 1} - ${endIndex} از ${length}`;\n };\n}\n","import { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\nimport { JALALI_SLASH_FORMATS } from './date-format';\nimport { MatPaginatorIntl } from '@angular/material/paginator';\nimport { PghPersianMatPaginatorIntl } from './material-paginator-intl';\nimport { MaterialJalaliDateAdapter } from './material-jalali-date.adapter';\n\nexport const PGH_MAT_PERSIAN_GLOBAL_OPTIONS = [\n { provide: DateAdapter, useClass: MaterialJalaliDateAdapter, deps: [MAT_DATE_LOCALE] },\n { provide: MAT_DATE_FORMATS, useValue: JALALI_SLASH_FORMATS },\n { provide: MatPaginatorIntl, useClass: PghPersianMatPaginatorIntl },\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}