{"version":3,"file":"exalif-ngx-material-dayjs-adapter.mjs","sources":["../../../../libs/ngx-material-dayjs-adapter/src/lib/adapter/dayjs-date-adapter.ts","../../../../libs/ngx-material-dayjs-adapter/src/lib/adapter/dayjs-date-formats.ts","../../../../libs/ngx-material-dayjs-adapter/src/lib/adapter/index.ts","../../../../libs/ngx-material-dayjs-adapter/src/exalif-ngx-material-dayjs-adapter.ts"],"sourcesContent":["import { Optional, Inject, InjectionToken, Injectable } from '@angular/core';\r\nimport { DateAdapter, MAT_DATE_LOCALE } from '@angular/material/core';\r\n\r\nimport dayjs, { Dayjs } from 'dayjs';\r\nimport utc from 'dayjs/plugin/utc';\r\nimport localeData from 'dayjs/plugin/localeData';\r\nimport LocalizedFormat from 'dayjs/plugin/localizedFormat';\r\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\r\n\r\nexport interface DayJsDateAdapterOptions {\r\n  /**\r\n   * Turns the use of utc dates on or off.\r\n   * Changing this will change how Angular Material components like DatePicker output dates.\r\n   * {@default false}\r\n   */\r\n  useUtc?: boolean;\r\n}\r\n\r\n/** InjectionToken for Dayjs date adapter to configure options. */\r\nexport const MAT_DAYJS_DATE_ADAPTER_OPTIONS = new InjectionToken<DayJsDateAdapterOptions>(\r\n  'MAT_DAYJS_DATE_ADAPTER_OPTIONS', {\r\n  providedIn: 'root',\r\n  factory: MAT_DAYJS_DATE_ADAPTER_OPTIONS_FACTORY\r\n});\r\n\r\nexport function MAT_DAYJS_DATE_ADAPTER_OPTIONS_FACTORY(): DayJsDateAdapterOptions {\r\n  return {\r\n    useUtc: false\r\n  };\r\n}\r\n\r\n/** Creates an array and fills it with values. */\r\nfunction range<T>(length: number, valueFunction: (index: number) => T): T[] {\r\n  const valuesArray = Array(length);\r\n  for (let i = 0; i < length; i++) {\r\n    valuesArray[i] = valueFunction(i);\r\n  }\r\n  return valuesArray;\r\n}\r\n\r\n@Injectable()\r\nexport class DayjsDateAdapter extends DateAdapter<Dayjs> {\r\n  private localeData: {\r\n    firstDayOfWeek: number,\r\n    longMonths: string[],\r\n    shortMonths: string[],\r\n    dates: string[],\r\n    longDaysOfWeek: string[],\r\n    shortDaysOfWeek: string[],\r\n    narrowDaysOfWeek: string[]\r\n  };\r\n\r\n  constructor(@Optional() @Inject(MAT_DATE_LOCALE) public dateLocale: string,\r\n    @Optional() @Inject(MAT_DAYJS_DATE_ADAPTER_OPTIONS) private options?: DayJsDateAdapterOptions) {\r\n    super();\r\n\r\n    this.initializeParser(dateLocale);\r\n  }\r\n\r\n  // TODO: Implement\r\n  setLocale(locale: string) {\r\n    super.setLocale(locale);\r\n\r\n    const dayJsLocaleData = this.dayJs().localeData();\r\n    this.localeData = {\r\n      firstDayOfWeek: dayJsLocaleData.firstDayOfWeek(),\r\n      longMonths: dayJsLocaleData.months(),\r\n      shortMonths: dayJsLocaleData.monthsShort(),\r\n      dates: range(31, (i) => this.createDate(2017, 0, i + 1).format('D')),\r\n      longDaysOfWeek: range(7, (i) => this.dayJs().set('day', i).format('dddd')),\r\n      shortDaysOfWeek: dayJsLocaleData.weekdaysShort(),\r\n      narrowDaysOfWeek: dayJsLocaleData.weekdaysMin(),\r\n    };\r\n  }\r\n\r\n  getYear(date: Dayjs): number {\r\n    return this.dayJs(date).year();\r\n  }\r\n\r\n  getMonth(date: Dayjs): number {\r\n    return this.dayJs(date).month();\r\n  }\r\n\r\n  getDate(date: Dayjs): number {\r\n    return this.dayJs(date).date();\r\n  }\r\n\r\n  getDayOfWeek(date: Dayjs): number {\r\n    return this.dayJs(date).day();\r\n  }\r\n\r\n  getMonthNames(style: 'long' | 'short' | 'narrow'): string[] {\r\n    return style === 'long' ? this.localeData.longMonths : this.localeData.shortMonths;\r\n  }\r\n\r\n  getDateNames(): string[] {\r\n    return this.localeData.dates;\r\n  }\r\n\r\n  getDayOfWeekNames(style: 'long' | 'short' | 'narrow'): string[] {\r\n    if (style === 'long') {\r\n      return this.localeData.longDaysOfWeek;\r\n    }\r\n    if (style === 'short') {\r\n      return this.localeData.shortDaysOfWeek;\r\n    }\r\n    return this.localeData.narrowDaysOfWeek;\r\n  }\r\n\r\n  getYearName(date: Dayjs): string {\r\n    return this.dayJs(date).format('YYYY');\r\n  }\r\n\r\n  getFirstDayOfWeek(): number {\r\n    return this.localeData.firstDayOfWeek;\r\n  }\r\n\r\n  getNumDaysInMonth(date: Dayjs): number {\r\n    return this.dayJs(date).daysInMonth();\r\n  }\r\n\r\n  clone(date: Dayjs): Dayjs {\r\n    return date.clone();\r\n  }\r\n\r\n  createDate(year: number, month: number, date: number): Dayjs {\r\n    const returnDayjs = this.dayJs()\r\n      .set('year', year)\r\n      .set('month', month)\r\n      .set('date', date);\r\n    return returnDayjs;\r\n  }\r\n\r\n  today(): Dayjs {\r\n    return this.dayJs();\r\n  }\r\n\r\n  parse(value: any, parseFormat: string): Dayjs | null {\r\n    if (value && typeof value === 'string') {\r\n      return this.dayJs(value, dayjs().localeData().longDateFormat(parseFormat), this.locale);\r\n    }\r\n    return value ? this.dayJs(value).locale(this.locale) : null;\r\n  }\r\n\r\n  format(date: Dayjs, displayFormat: string): string {\r\n    if (!this.isValid(date)) {\r\n      throw Error('DayjsDateAdapter: Cannot format invalid date.');\r\n    }\r\n    return date.locale(this.locale).format(displayFormat);\r\n  }\r\n\r\n  addCalendarYears(date: Dayjs, years: number): Dayjs {\r\n    return date.add(years, 'year');\r\n  }\r\n\r\n  addCalendarMonths(date: Dayjs, months: number): Dayjs {\r\n    return date.add(months, 'month');\r\n  }\r\n\r\n  addCalendarDays(date: Dayjs, days: number): Dayjs {\r\n    return date.add(days, 'day');\r\n  }\r\n\r\n  toIso8601(date: Dayjs): string {\r\n    return date.toISOString();\r\n  }\r\n\r\n  /**\r\n   * Attempts to deserialize a value to a valid date object. This is different from parsing in that\r\n   * deserialize should only accept non-ambiguous, locale-independent formats (e.g. a ISO 8601\r\n   * string). The default implementation does not allow any deserialization, it simply checks that\r\n   * the given value is already a valid date object or null. The `<mat-datepicker>` will call this\r\n   * method on all of it's `@Input()` properties that accept dates. It is therefore possible to\r\n   * support passing values from your backend directly to these properties by overriding this method\r\n   * to also deserialize the format used by your backend.\r\n   * @param value The value to be deserialized into a date object.\r\n   * @returns The deserialized date object, either a valid date, null if the value can be\r\n   *     deserialized into a null date (e.g. the empty string), or an invalid date.\r\n   */\r\n  deserialize(value: any): Dayjs | null {\r\n    let date;\r\n    if (value instanceof Date) {\r\n      date = this.dayJs(value);\r\n    } else if (this.isDateInstance(value)) {\r\n      // NOTE: assumes that cloning also sets the correct locale.\r\n      return this.clone(value);\r\n    }\r\n    if (typeof value === 'string') {\r\n      if (!value) {\r\n        return null;\r\n      }\r\n      date = this.dayJs(value).toISOString();\r\n    }\r\n    if (date && this.isValid(date)) {\r\n      return this.dayJs(date); // NOTE: Is this necessary since Dayjs is immutable?\r\n    }\r\n    return super.deserialize(value);\r\n  }\r\n\r\n  isDateInstance(obj: any): boolean {\r\n    return dayjs.isDayjs(obj);\r\n  }\r\n\r\n  isValid(date: Dayjs): boolean {\r\n    return this.dayJs(date).isValid();\r\n  }\r\n\r\n  invalid(): Dayjs {\r\n    return this.dayJs(null);\r\n  }\r\n\r\n  private dayJs(input?: any, format?: string, locale?: string): Dayjs {\r\n    if (!this.shouldUseUtc) {\r\n      return dayjs(input, { format, locale }, locale);\r\n    }\r\n    return dayjs(input, { format, locale, utc: this.shouldUseUtc }, locale).utc();\r\n  }\r\n\r\n  private get shouldUseUtc(): boolean {\r\n    const { useUtc }: DayJsDateAdapterOptions = this.options || {};\r\n    return !!useUtc;\r\n  }\r\n\r\n  private initializeParser(dateLocale: string) {\r\n    if (this.shouldUseUtc) {\r\n      dayjs.extend(utc);\r\n    }\r\n\r\n    dayjs.extend(LocalizedFormat);\r\n    dayjs.extend(customParseFormat);\r\n    dayjs.extend(localeData);\r\n\r\n    this.setLocale(dateLocale);\r\n  }\r\n}\r\n","import { MatDateFormats } from '@angular/material/core';\r\n\r\nexport const MAT_DAYJS_DATE_FORMATS: MatDateFormats = {\r\n  parse: {\r\n    dateInput: 'l',\r\n  },\r\n  display: {\r\n    dateInput: 'l',\r\n    monthYearLabel: 'MMM YYYY',\r\n    dateA11yLabel: 'LL',\r\n    monthYearA11yLabel: 'MMMM YYYY',\r\n  },\r\n};\r\n","import { NgModule } from '@angular/core';\r\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\r\n\r\nimport { MAT_DAYJS_DATE_ADAPTER_OPTIONS, DayjsDateAdapter } from './dayjs-date-adapter';\r\nimport { MAT_DAYJS_DATE_FORMATS } from './dayjs-date-formats';\r\n\r\nexport * from './dayjs-date-adapter';\r\nexport * from './dayjs-date-formats';\r\n\r\n@NgModule({\r\n  providers: [\r\n    {\r\n      provide: DateAdapter,\r\n      useClass: DayjsDateAdapter,\r\n      deps: [MAT_DATE_LOCALE, MAT_DAYJS_DATE_ADAPTER_OPTIONS],\r\n    },\r\n  ],\r\n})\r\nexport class DayjsDateModule { }\r\n\r\n@NgModule({\r\n  imports: [DayjsDateModule],\r\n  providers: [{ provide: MAT_DATE_FORMATS, useValue: MAT_DAYJS_DATE_FORMATS }],\r\n})\r\nexport class MatDayjsDateModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}