{"version":3,"file":"nebular-moment.mjs","sources":["../../../src/framework/moment/services/moment-date.service.ts","../../../src/framework/moment/moment.module.ts","../../../src/framework/moment/public_api.ts","../../../src/framework/moment/nebular-moment.ts"],"sourcesContent":["/*\n * @license\n * Copyright Akveo. All Rights Reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n */\n\nimport { Inject, Injectable, LOCALE_ID } from '@angular/core';\nimport { TranslationWidth } from '@angular/common';\n\nimport { NbDateService } from '@nebular/theme';\n\nimport _moment from 'moment';\n// @ts-ignore\nimport { default as _rollupMoment, LongDateFormatKey, Moment } from 'moment';\n\nconst moment = _rollupMoment || _moment;\n\n\n@Injectable()\nexport class NbMomentDateService extends NbDateService<Moment> {\n  protected localeData: {\n    firstDayOfWeek: number,\n    defaultFormat: string,\n    months: { [key: string]: string[] },\n    days: { [key: string]: string[] },\n  };\n\n  protected readonly TIME_ONLY_FORMAT_KEY: LongDateFormatKey = 'LT';\n  constructor(@Inject(LOCALE_ID) locale: string) {\n    super();\n    this.setLocale(locale);\n  }\n\n  setLocale(locale: string) {\n    super.setLocale(locale);\n    this.setMomentLocaleData(locale);\n  }\n\n  setHours(date: Moment, hour: number): Moment {\n    return this.clone(date).set({ hour });\n  }\n\n  setMinutes(date: Moment, minute: number): Moment {\n    return this.clone(date).set({ minute });\n  }\n\n  setSeconds(date: Moment, second: number): Moment {\n    return this.clone(date).set({ second });\n  }\n\n  setMilliseconds(date: Moment, milliseconds: number): Moment {\n    return this.clone(date).set({ milliseconds });\n  }\n\n  addDay(date: Moment, days: number): Moment {\n    return this.clone(date).add({ days });\n  }\n\n  addMonth(date: Moment, months: number): Moment {\n    return this.clone(date).add({ months });\n  }\n\n  addYear(date: Moment, years: number): Moment {\n    return this.clone(date).add({ years });\n  }\n\n  addMinutes(date: Moment, minute: number): Moment {\n    return this.clone(date).add( { minute });\n  }\n\n  addHours(date: Moment, hour: number): Moment {\n    return this.clone(date).add( { hour });\n  }\n\n  clone(date: Moment): Moment {\n    return date.clone().locale(this.locale);\n  }\n\n  valueOf(date: Moment): number {\n    return date.valueOf();\n  }\n\n  compareDates(date1: Moment, date2: Moment): number {\n    return this.getYear(date1) - this.getYear(date2) ||\n      this.getMonth(date1) - this.getMonth(date2) ||\n      this.getDate(date1) - this.getDate(date2);\n  }\n\n  createDate(year: number, month: number, date: number): Moment {\n    return moment([year, month, date]);\n  }\n\n  format(date: Moment, format: string): string {\n    if (date) {\n      return date.format(format || this.localeData.defaultFormat);\n    }\n\n    return '';\n  }\n\n  getLocaleTimeFormat(): string {\n    return moment.localeData().longDateFormat(this.TIME_ONLY_FORMAT_KEY);\n  }\n\n  getDate(date: Moment): number {\n    return this.clone(date).date();\n  }\n\n  getDayOfWeek(date: Moment): number {\n    return this.clone(date).day();\n  }\n\n  getDayOfWeekNames(style: TranslationWidth = TranslationWidth.Narrow): string[] {\n    return this.localeData.days[style];\n  }\n\n  getFirstDayOfWeek(): number {\n    return this.localeData.firstDayOfWeek;\n  }\n\n  getMonth(date: Moment): number {\n    return date.month();\n  }\n\n  getHours(date: Moment): number {\n    return date.hour();\n  }\n\n  getMinutes(date: Moment): number {\n    return date.minute();\n  }\n\n  getSeconds(date: Moment): number {\n    return date.second();\n  }\n\n  getMilliseconds(date: Moment): number {\n    return date.milliseconds();\n  }\n\n  getMonthEnd(date: Moment): Moment {\n    return this.clone(date).endOf('month');\n  }\n\n  getMonthName(date: Moment, style: TranslationWidth = TranslationWidth.Abbreviated): string {\n    const month = this.getMonth(date);\n    return this.getMonthNameByIndex(month, style);\n  }\n\n  getMonthNameByIndex(month: number, style: TranslationWidth = TranslationWidth.Abbreviated): string {\n    return this.localeData.months[style][month];\n  }\n\n  getMonthStart(date: Moment): Moment {\n    return this.clone(date).startOf('month');\n  }\n\n  getNumberOfDaysInMonth(date: Moment): number {\n    return this.clone(date).daysInMonth();\n  }\n\n  getYear(date: Moment): number {\n    return this.clone(date).year();\n  }\n\n  getYearEnd(date: Moment): Moment {\n    return this.clone(date).endOf('year');\n  }\n\n  getYearStart(date: Moment): Moment {\n    return this.clone(date).startOf('year');\n  }\n\n  isSameDay(date1: Moment, date2: Moment): boolean {\n    return this.isSameMonth(date1, date2) && this.getDate(date1) === this.getDate(date2);\n  }\n\n  isSameMonth(date1: Moment, date2: Moment): boolean {\n    return this.isSameYear(date1, date2) && this.getMonth(date1) === this.getMonth(date2);\n  }\n\n  isSameYear(date1: Moment, date2: Moment): boolean {\n    return this.getYear(date1) === this.getYear(date2);\n  }\n\n  isValidDateString(date: string, format: string): boolean {\n    return this.parse(date, format).isValid();\n  }\n\n  isValidTimeString(date: string, format: string): boolean {\n    return moment(date, format, true).isValid();\n  }\n\n  parse(date: string, format: string): Moment {\n    return moment(date, format || this.localeData.defaultFormat);\n  }\n\n  today(): Moment {\n    return moment();\n  }\n\n  getId(): string {\n    return 'moment';\n  }\n\n  protected setMomentLocaleData(locale: string) {\n    const momentLocaleData = moment.localeData(locale);\n\n    this.localeData = {\n      firstDayOfWeek: momentLocaleData.firstDayOfWeek(),\n      defaultFormat: momentLocaleData.longDateFormat('L'),\n      months: {\n        [TranslationWidth.Abbreviated]: momentLocaleData.monthsShort(),\n        [TranslationWidth.Wide]: momentLocaleData.months(),\n      },\n      days: {\n        [TranslationWidth.Wide]: momentLocaleData.weekdays(),\n        [TranslationWidth.Short]: momentLocaleData.weekdaysShort(),\n        [TranslationWidth.Narrow]: momentLocaleData.weekdaysMin(),\n      },\n    };\n  }\n\n  getWeekNumber(date: Moment): number {\n    return date.week();\n  }\n\n  getDateFormat(): string {\n    return 'YYYY-MM-DD';\n  }\n\n  getTwelveHoursFormat(): string {\n    return 'hh:mm A';\n  }\n}\n","/*\n * @license\n * Copyright Akveo. All Rights Reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n */\n\nimport { NgModule } from '@angular/core';\n\nimport { NbDateService } from '@nebular/theme';\nimport { NbMomentDateService } from './services/moment-date.service';\n\n\n@NgModule({\n  providers: [{ provide: NbDateService, useClass: NbMomentDateService }],\n})\nexport class NbMomentDateModule {\n}\n","/*\n * @license\n * Copyright Akveo. All Rights Reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n */\n\nexport * from './services/moment-date.service';\nexport * from './moment.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["_moment"],"mappings":"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"}