{"version":3,"file":"datepicker.d.ts","sources":["datepicker.d.ts"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA","sourcesContent":["import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, NgZone, OnChanges, OnDestroy, OnInit, SimpleChanges, TemplateRef } from '@angular/core';\r\nimport { ControlValueAccessor } from '@angular/forms';\r\nimport { NgbCalendar } from './ngb-calendar';\r\nimport { NgbDate } from './ngb-date';\r\nimport { NgbDatepickerService } from './datepicker-service';\r\nimport { NgbDatepickerKeyMapService } from './datepicker-keymap-service';\r\nimport { DatepickerViewModel, NavigationEvent } from './datepicker-view-model';\r\nimport { DayTemplateContext } from './datepicker-day-template-context';\r\nimport { NgbDatepickerConfig } from './datepicker-config';\r\nimport { NgbDateAdapter } from './adapters/ngb-date-adapter';\r\nimport { NgbDateStruct } from './ngb-date-struct';\r\nimport { NgbDatepickerI18n } from './datepicker-i18n';\r\n/**\r\n * An event emitted right before the navigation happens and the month displayed by the datepicker changes.\r\n */\r\nexport interface NgbDatepickerNavigateEvent {\r\n    /**\r\n     * The currently displayed month.\r\n     */\r\n    current: {\r\n        year: number;\r\n        month: number;\r\n    };\r\n    /**\r\n     * The month we're navigating to.\r\n     */\r\n    next: {\r\n        year: number;\r\n        month: number;\r\n    };\r\n    /**\r\n     * Calling this function will prevent navigation from happening.\r\n     *\r\n     * @since 4.1.0\r\n     */\r\n    preventDefault: () => void;\r\n}\r\n/**\r\n * A highly configurable component that helps you with selecting calendar dates.\r\n *\r\n * `NgbDatepicker` is meant to be displayed inline on a page or put inside a popup.\r\n */\r\nexport declare class NgbDatepicker implements OnDestroy, OnChanges, OnInit, AfterViewInit, ControlValueAccessor {\r\n    private _keyMapService;\r\n    _service: NgbDatepickerService;\r\n    private _calendar;\r\n    i18n: NgbDatepickerI18n;\r\n    private _cd;\r\n    private _elementRef;\r\n    private _ngbDateAdapter;\r\n    private _ngZone;\r\n    model: DatepickerViewModel;\r\n    private _monthsEl;\r\n    private _controlValue;\r\n    private _destroyed$;\r\n    /**\r\n     * The reference to a custom template for the day.\r\n     *\r\n     * Allows to completely override the way a day 'cell' in the calendar is displayed.\r\n     *\r\n     * See [`DayTemplateContext`](#/components/datepicker/api#DayTemplateContext) for the data you get inside.\r\n     */\r\n    dayTemplate: TemplateRef<DayTemplateContext>;\r\n    /**\r\n     * The callback to pass any arbitrary data to the template cell via the\r\n     * [`DayTemplateContext`](#/components/datepicker/api#DayTemplateContext)'s `data` parameter.\r\n     *\r\n     * `current` is the month that is currently displayed by the datepicker.\r\n     *\r\n     * @since 3.3.0\r\n     */\r\n    dayTemplateData: (date: NgbDate, current: {\r\n        year: number;\r\n        month: number;\r\n    }) => any;\r\n    /**\r\n     * The number of months to display.\r\n     */\r\n    displayMonths: number;\r\n    /**\r\n     * The first day of the week.\r\n     *\r\n     * With default calendar we use ISO 8601: 'weekday' is 1=Mon ... 7=Sun.\r\n     */\r\n    firstDayOfWeek: number;\r\n    /**\r\n     * The reference to the custom template for the datepicker footer.\r\n     *\r\n     * @since 3.3.0\r\n     */\r\n    footerTemplate: TemplateRef<any>;\r\n    /**\r\n     * The callback to mark some dates as disabled.\r\n     *\r\n     * It is called for each new date when navigating to a different month.\r\n     *\r\n     * `current` is the month that is currently displayed by the datepicker.\r\n     */\r\n    markDisabled: (date: NgbDate, current: {\r\n        year: number;\r\n        month: number;\r\n    }) => boolean;\r\n    /**\r\n     * The latest date that can be displayed or selected.\r\n     *\r\n     * If not provided, 'year' select box will display 10 years after the current month.\r\n     */\r\n    maxDate: NgbDateStruct;\r\n    /**\r\n     * The earliest date that can be displayed or selected.\r\n     *\r\n     * If not provided, 'year' select box will display 10 years before the current month.\r\n     */\r\n    minDate: NgbDateStruct;\r\n    /**\r\n     * Navigation type.\r\n     *\r\n     * * `\"select\"` - select boxes for month and navigation arrows\r\n     * * `\"arrows\"` - only navigation arrows\r\n     * * `\"none\"` - no navigation visible at all\r\n     */\r\n    navigation: 'select' | 'arrows' | 'none';\r\n    /**\r\n     * The way of displaying days that don't belong to the current month.\r\n     *\r\n     * * `\"visible\"` - days are visible\r\n     * * `\"hidden\"` - days are hidden, white space preserved\r\n     * * `\"collapsed\"` - days are collapsed, so the datepicker height might change between months\r\n     *\r\n     * For the 2+ months view, days in between months are never shown.\r\n     */\r\n    outsideDays: 'visible' | 'collapsed' | 'hidden';\r\n    /**\r\n     * If `true`, weekdays will be displayed.\r\n     */\r\n    showWeekdays: boolean;\r\n    /**\r\n     * If `true`, week numbers will be displayed.\r\n     */\r\n    showWeekNumbers: boolean;\r\n    /**\r\n     * The date to open calendar with.\r\n     *\r\n     * With the default calendar we use ISO 8601: 'month' is 1=Jan ... 12=Dec.\r\n     * If nothing or invalid date is provided, calendar will open with current month.\r\n     *\r\n     * You could use `navigateTo(date)` method as an alternative.\r\n     */\r\n    startDate: {\r\n        year: number;\r\n        month: number;\r\n        day?: number;\r\n    };\r\n    /**\r\n     * An event emitted right before the navigation happens and displayed month changes.\r\n     *\r\n     * See [`NgbDatepickerNavigateEvent`](#/components/datepicker/api#NgbDatepickerNavigateEvent) for the payload info.\r\n     */\r\n    navigate: EventEmitter<NgbDatepickerNavigateEvent>;\r\n    /**\r\n     * An event emitted when user selects a date using keyboard or mouse.\r\n     *\r\n     * The payload of the event is currently selected `NgbDate`.\r\n     */\r\n    select: EventEmitter<NgbDate>;\r\n    onChange: (_: any) => void;\r\n    onTouched: () => void;\r\n    constructor(_keyMapService: NgbDatepickerKeyMapService, _service: NgbDatepickerService, _calendar: NgbCalendar, i18n: NgbDatepickerI18n, config: NgbDatepickerConfig, _cd: ChangeDetectorRef, _elementRef: ElementRef<HTMLElement>, _ngbDateAdapter: NgbDateAdapter<any>, _ngZone: NgZone);\r\n    focus(): void;\r\n    /**\r\n     * Navigates to the provided date.\r\n     *\r\n     * With the default calendar we use ISO 8601: 'month' is 1=Jan ... 12=Dec.\r\n     * If nothing or invalid date provided calendar will open current month.\r\n     *\r\n     * Use the `[startDate]` input as an alternative.\r\n     */\r\n    navigateTo(date?: {\r\n        year: number;\r\n        month: number;\r\n        day?: number;\r\n    }): void;\r\n    ngAfterViewInit(): void;\r\n    ngOnDestroy(): void;\r\n    ngOnInit(): void;\r\n    ngOnChanges(changes: SimpleChanges): void;\r\n    onDateSelect(date: NgbDate): void;\r\n    onKeyDown(event: KeyboardEvent): void;\r\n    onNavigateDateSelect(date: NgbDate): void;\r\n    onNavigateEvent(event: NavigationEvent): void;\r\n    registerOnChange(fn: (value: any) => any): void;\r\n    registerOnTouched(fn: () => any): void;\r\n    setDisabledState(isDisabled: boolean): void;\r\n    writeValue(value: any): void;\r\n}\r\n"]}