{"version":3,"file":"ng-zorro-antd-calendar.mjs","sources":["../../components/calendar/calendar-cells.ts","../../components/calendar/calendar-header.component.ts","../../components/calendar/calendar.component.ts","../../components/calendar/calendar.module.ts","../../components/calendar/public-api.ts","../../components/calendar/ng-zorro-antd-calendar.ts"],"sourcesContent":["/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Directive } from '@angular/core';\n\n@Directive({\n  selector: '[nzDateCell]',\n  exportAs: 'nzDateCell'\n})\nexport class NzDateCellDirective {}\n\n@Directive({\n  selector: '[nzMonthCell]',\n  exportAs: 'nzMonthCell'\n})\nexport class NzMonthCellDirective {}\n\n@Directive({\n  selector: '[nzDateFullCell]',\n  exportAs: 'nzDateFullCell'\n})\nexport class NzDateFullCellDirective {}\n\n@Directive({\n  selector: '[nzMonthFullCell]',\n  exportAs: 'nzMonthFullCell'\n})\nexport class NzMonthFullCellDirective {}\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://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  EventEmitter,\n  Input,\n  OnInit,\n  Output,\n  ViewEncapsulation\n} from '@angular/core';\n\nimport { CandyDate } from 'ng-zorro-antd/core/time';\nimport { DateHelperService, NzI18nService as I18n } from 'ng-zorro-antd/i18n';\nimport { NzSelectSizeType } from 'ng-zorro-antd/select';\n\n@Component({\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  selector: 'nz-calendar-header',\n  exportAs: 'nzCalendarHeader',\n  template: `\n    <div class=\"ant-picker-calendar-header\">\n      <nz-select\n        class=\"ant-picker-calendar-year-select\"\n        [nzSize]=\"size\"\n        [nzDropdownMatchSelectWidth]=\"false\"\n        [ngModel]=\"activeYear\"\n        (ngModelChange)=\"updateYear($event)\"\n      >\n        <nz-option *ngFor=\"let year of years\" [nzLabel]=\"year.label\" [nzValue]=\"year.value\"></nz-option>\n      </nz-select>\n\n      <nz-select\n        *ngIf=\"mode === 'month'\"\n        class=\"ant-picker-calendar-month-select\"\n        [nzSize]=\"size\"\n        [nzDropdownMatchSelectWidth]=\"false\"\n        [ngModel]=\"activeMonth\"\n        (ngModelChange)=\"monthChange.emit($event)\"\n      >\n        <nz-option *ngFor=\"let month of months\" [nzLabel]=\"month.label\" [nzValue]=\"month.value\"></nz-option>\n      </nz-select>\n\n      <nz-radio-group\n        class=\"ant-picker-calendar-mode-switch\"\n        [(ngModel)]=\"mode\"\n        (ngModelChange)=\"modeChange.emit($event)\"\n        [nzSize]=\"size\"\n      >\n        <label nz-radio-button nzValue=\"month\">{{ monthTypeText }}</label>\n        <label nz-radio-button nzValue=\"year\">{{ yearTypeText }}</label>\n      </nz-radio-group>\n    </div>\n  `,\n  host: {\n    class: 'ant-fullcalendar-header',\n    '[style.display]': `'block'`\n  }\n})\nexport class NzCalendarHeaderComponent implements OnInit {\n  @Input() mode: 'month' | 'year' = 'month';\n  @Input() fullscreen: boolean = true;\n  @Input() activeDate: CandyDate = new CandyDate();\n\n  @Output() readonly modeChange: EventEmitter<'month' | 'year'> = new EventEmitter();\n  @Output() readonly yearChange: EventEmitter<number> = new EventEmitter();\n  @Output() readonly monthChange: EventEmitter<number> = new EventEmitter();\n  // @Output() readonly valueChange: EventEmitter<CandyDate> = new EventEmitter();\n\n  yearOffset: number = 10;\n  yearTotal: number = 20;\n  years: Array<{ label: string; value: number }> = [];\n  months: Array<{ label: string; value: number }> = [];\n\n  get activeYear(): number {\n    return this.activeDate.getYear();\n  }\n\n  get activeMonth(): number {\n    return this.activeDate.getMonth();\n  }\n\n  get size(): NzSelectSizeType {\n    return this.fullscreen ? 'default' : 'small';\n  }\n\n  get yearTypeText(): string {\n    return this.i18n.getLocale().Calendar.lang.year;\n  }\n\n  get monthTypeText(): string {\n    return this.i18n.getLocale().Calendar.lang.month;\n  }\n\n  constructor(private i18n: I18n, private dateHelper: DateHelperService) {}\n\n  ngOnInit(): void {\n    this.setUpYears();\n    this.setUpMonths();\n  }\n\n  updateYear(year: number): void {\n    this.yearChange.emit(year);\n    this.setUpYears(year);\n  }\n\n  private setUpYears(year?: number): void {\n    const start = (year || this.activeYear) - this.yearOffset;\n    const end = start + this.yearTotal;\n\n    this.years = [];\n    for (let i = start; i < end; i++) {\n      this.years.push({ label: `${i}`, value: i });\n    }\n  }\n\n  private setUpMonths(): void {\n    this.months = [];\n\n    for (let i = 0; i < 12; i++) {\n      const dateInMonth = this.activeDate.setMonth(i);\n      const monthText = this.dateHelper.format(dateInMonth.nativeDate, 'MMM');\n      this.months.push({ label: monthText, value: i });\n    }\n  }\n}\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://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Direction, Directionality } from '@angular/cdk/bidi';\nimport {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ContentChild,\n  EventEmitter,\n  forwardRef,\n  Input,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  Optional,\n  Output,\n  SimpleChanges,\n  TemplateRef,\n  ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { CandyDate } from 'ng-zorro-antd/core/time';\nimport { BooleanInput } from 'ng-zorro-antd/core/types';\nimport { InputBoolean } from 'ng-zorro-antd/core/util';\n\nimport {\n  NzDateCellDirective as DateCell,\n  NzDateFullCellDirective as DateFullCell,\n  NzMonthCellDirective as MonthCell,\n  NzMonthFullCellDirective as MonthFullCell\n} from './calendar-cells';\n\nexport type NzCalendarMode = 'month' | 'year';\ntype NzCalendarDateTemplate = TemplateRef<{ $implicit: Date }>;\n\n@Component({\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  selector: 'nz-calendar',\n  exportAs: 'nzCalendar',\n  template: `\n    <nz-calendar-header\n      [fullscreen]=\"nzFullscreen\"\n      [activeDate]=\"activeDate\"\n      [(mode)]=\"nzMode\"\n      (modeChange)=\"onModeChange($event)\"\n      (yearChange)=\"onYearSelect($event)\"\n      (monthChange)=\"onMonthSelect($event)\"\n    ></nz-calendar-header>\n\n    <div class=\"ant-picker-panel\">\n      <div class=\"ant-picker-{{ nzMode === 'month' ? 'date' : 'month' }}-panel\">\n        <div class=\"ant-picker-body\">\n          <ng-container *ngIf=\"nzMode === 'month'; then monthModeTable; else yearModeTable\"></ng-container>\n        </div>\n      </div>\n    </div>\n    <ng-template #monthModeTable>\n      <!--  TODO(@wenqi73) [cellRender] [fullCellRender] -->\n      <date-table\n        [prefixCls]=\"prefixCls\"\n        [value]=\"activeDate\"\n        [activeDate]=\"activeDate\"\n        [cellRender]=\"$any(dateCell)\"\n        [fullCellRender]=\"$any(dateFullCell)\"\n        [disabledDate]=\"nzDisabledDate\"\n        (valueChange)=\"onDateSelect($event)\"\n      ></date-table>\n    </ng-template>\n\n    <!--  TODO(@wenqi73) [cellRender] [fullCellRender] -->\n    <ng-template #yearModeTable>\n      <month-table\n        [prefixCls]=\"prefixCls\"\n        [value]=\"activeDate\"\n        [activeDate]=\"activeDate\"\n        [cellRender]=\"$any(monthCell)\"\n        [fullCellRender]=\"$any(monthFullCell)\"\n        (valueChange)=\"onDateSelect($event)\"\n      ></month-table>\n    </ng-template>\n  `,\n  host: {\n    class: 'ant-picker-calendar',\n    '[class.ant-picker-calendar-full]': 'nzFullscreen',\n    '[class.ant-picker-calendar-mini]': '!nzFullscreen',\n    '[class.ant-picker-calendar-rtl]': `dir === 'rtl'`\n  },\n  providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => NzCalendarComponent), multi: true }]\n})\nexport class NzCalendarComponent implements ControlValueAccessor, OnChanges, OnInit, OnDestroy {\n  static ngAcceptInputType_nzFullscreen: BooleanInput;\n\n  activeDate: CandyDate = new CandyDate();\n  prefixCls: string = 'ant-picker-calendar';\n  private destroy$ = new Subject<void>();\n  dir: Direction = 'ltr';\n\n  private onChangeFn: (date: Date) => void = () => {};\n  private onTouchFn: () => void = () => {};\n\n  @Input() nzMode: NzCalendarMode = 'month';\n  @Input() nzValue?: Date;\n  @Input() nzDisabledDate?: (date: Date) => boolean;\n\n  @Output() readonly nzModeChange: EventEmitter<NzCalendarMode> = new EventEmitter();\n  @Output() readonly nzPanelChange: EventEmitter<{ date: Date; mode: NzCalendarMode }> = new EventEmitter();\n  @Output() readonly nzSelectChange: EventEmitter<Date> = new EventEmitter();\n  @Output() readonly nzValueChange: EventEmitter<Date> = new EventEmitter();\n\n  /**\n   * Cannot use @Input and @ContentChild on one variable\n   * because { static: false } will make @Input property get delayed\n   **/\n  @Input() nzDateCell?: NzCalendarDateTemplate;\n  @ContentChild(DateCell, { static: false, read: TemplateRef }) nzDateCellChild?: NzCalendarDateTemplate;\n  get dateCell(): NzCalendarDateTemplate {\n    return (this.nzDateCell || this.nzDateCellChild)!;\n  }\n\n  @Input() nzDateFullCell?: NzCalendarDateTemplate;\n  @ContentChild(DateFullCell, { static: false, read: TemplateRef }) nzDateFullCellChild?: NzCalendarDateTemplate;\n  get dateFullCell(): NzCalendarDateTemplate {\n    return (this.nzDateFullCell || this.nzDateFullCellChild)!;\n  }\n\n  @Input() nzMonthCell?: NzCalendarDateTemplate;\n  @ContentChild(MonthCell, { static: false, read: TemplateRef }) nzMonthCellChild?: NzCalendarDateTemplate;\n  get monthCell(): NzCalendarDateTemplate {\n    return (this.nzMonthCell || this.nzMonthCellChild)!;\n  }\n\n  @Input() nzMonthFullCell?: NzCalendarDateTemplate;\n  @ContentChild(MonthFullCell, { static: false, read: TemplateRef }) nzMonthFullCellChild?: NzCalendarDateTemplate;\n  get monthFullCell(): NzCalendarDateTemplate {\n    return (this.nzMonthFullCell || this.nzMonthFullCellChild)!;\n  }\n\n  @Input() @InputBoolean() nzFullscreen: boolean = true;\n\n  constructor(private cdr: ChangeDetectorRef, @Optional() private directionality: Directionality) {}\n\n  ngOnInit(): void {\n    this.dir = this.directionality.value;\n    this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe(() => {\n      this.dir = this.directionality.value;\n    });\n  }\n\n  onModeChange(mode: NzCalendarMode): void {\n    this.nzModeChange.emit(mode);\n    this.nzPanelChange.emit({ date: this.activeDate.nativeDate, mode });\n  }\n\n  onYearSelect(year: number): void {\n    const date = this.activeDate.setYear(year);\n    this.updateDate(date);\n  }\n\n  onMonthSelect(month: number): void {\n    const date = this.activeDate.setMonth(month);\n    this.updateDate(date);\n  }\n\n  onDateSelect(date: CandyDate): void {\n    // Only activeDate is enough in calendar\n    // this.value = date;\n    this.updateDate(date);\n  }\n\n  writeValue(value: Date | null): void {\n    this.updateDate(new CandyDate(value as Date), false);\n    this.cdr.markForCheck();\n  }\n\n  registerOnChange(fn: (date: Date) => void): void {\n    this.onChangeFn = fn;\n  }\n\n  registerOnTouched(fn: () => void): void {\n    this.onTouchFn = fn;\n  }\n\n  private updateDate(date: CandyDate, touched: boolean = true): void {\n    this.activeDate = date;\n\n    if (touched) {\n      this.onChangeFn(date.nativeDate);\n      this.onTouchFn();\n      this.nzSelectChange.emit(date.nativeDate);\n      this.nzValueChange.emit(date.nativeDate);\n    }\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    if (changes.nzValue) {\n      this.updateDate(new CandyDate(this.nzValue), false);\n    }\n  }\n\n  ngOnDestroy(): void {\n    this.destroy$.next();\n    this.destroy$.complete();\n  }\n}\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://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { BidiModule } from '@angular/cdk/bidi';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { LibPackerModule } from 'ng-zorro-antd/date-picker';\nimport { NzI18nModule } from 'ng-zorro-antd/i18n';\nimport { NzRadioModule } from 'ng-zorro-antd/radio';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\n\nimport {\n  NzDateCellDirective,\n  NzDateFullCellDirective,\n  NzMonthCellDirective,\n  NzMonthFullCellDirective\n} from './calendar-cells';\nimport { NzCalendarHeaderComponent } from './calendar-header.component';\nimport { NzCalendarComponent } from './calendar.component';\n\n@NgModule({\n  declarations: [\n    NzCalendarHeaderComponent,\n    NzCalendarComponent,\n    NzDateCellDirective,\n    NzDateFullCellDirective,\n    NzMonthCellDirective,\n    NzMonthFullCellDirective\n  ],\n  exports: [\n    NzCalendarComponent,\n    NzDateCellDirective,\n    NzDateFullCellDirective,\n    NzMonthCellDirective,\n    NzMonthFullCellDirective\n  ],\n  imports: [BidiModule, CommonModule, FormsModule, NzI18nModule, NzRadioModule, NzSelectModule, LibPackerModule]\n})\nexport class NzCalendarModule {}\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://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nexport * from './calendar.module';\nexport * from './calendar.component';\nexport * from './calendar-cells';\nexport * from './calendar-header.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","DateCell","DateFullCell","MonthCell","MonthFullCell","i3","i4.NzCalendarHeaderComponent"],"mappings":"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"}