{"version":3,"file":"datepicker-input.d.ts","sources":["datepicker-input.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;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 { ChangeDetectorRef, ComponentFactoryResolver, ElementRef, EventEmitter, NgZone, OnChanges, OnDestroy, Renderer2, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { AbstractControl, ControlValueAccessor, Validator } from '@angular/forms';\r\nimport { PlacementArray } from '../util/positioning';\r\nimport { NgbDateAdapter } from './adapters/ngb-date-adapter';\r\nimport { NgbDatepickerNavigateEvent } from './datepicker';\r\nimport { DayTemplateContext } from './datepicker-day-template-context';\r\nimport { NgbDatepickerService } from './datepicker-service';\r\nimport { NgbCalendar } from './ngb-calendar';\r\nimport { NgbDate } from './ngb-date';\r\nimport { NgbDateParserFormatter } from './ngb-date-parser-formatter';\r\nimport { NgbDateStruct } from './ngb-date-struct';\r\n/**\r\n * A directive that allows to stick a datepicker popup to an input field.\r\n *\r\n * Manages interaction with the input field itself, does value formatting and provides forms integration.\r\n */\r\nexport declare class NgbInputDatepicker implements OnChanges, OnDestroy, ControlValueAccessor, Validator {\r\n    private _parserFormatter;\r\n    private _elRef;\r\n    private _vcRef;\r\n    private _renderer;\r\n    private _cfr;\r\n    private _ngZone;\r\n    private _service;\r\n    private _calendar;\r\n    private _dateAdapter;\r\n    private _document;\r\n    private _changeDetector;\r\n    private _cRef;\r\n    private _disabled;\r\n    private _model;\r\n    private _inputValue;\r\n    private _zoneSubscription;\r\n    /**\r\n     * Indicates whether the datepicker popup should be closed automatically after date selection / outside click or not.\r\n     *\r\n     * * `true` - the popup will close on both date selection and outside click.\r\n     * * `false` - the popup can only be closed manually via `close()` or `toggle()` methods.\r\n     * * `\"inside\"` - the popup will close on date selection, but not outside clicks.\r\n     * * `\"outside\"` - the popup will close only on the outside click and not on date selection/inside clicks.\r\n     *\r\n     * @since 3.0.0\r\n     */\r\n    autoClose: boolean | 'inside' | 'outside';\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 earliest date that can be displayed or selected. Also used for form validation.\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     * The latest date that can be displayed or selected. Also used for form validation.\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     * 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     * The preferred placement of the datepicker popup.\r\n     *\r\n     * Possible values are `\"top\"`, `\"top-left\"`, `\"top-right\"`, `\"bottom\"`, `\"bottom-left\"`,\r\n     * `\"bottom-right\"`, `\"left\"`, `\"left-top\"`, `\"left-bottom\"`, `\"right\"`, `\"right-top\"`,\r\n     * `\"right-bottom\"`\r\n     *\r\n     * Accepts an array of strings or a string with space separated possible values.\r\n     *\r\n     * The default order of preference is `\"bottom-left bottom-right top-left top-right\"`\r\n     *\r\n     * Please see the [positioning overview](#/positioning) for more details.\r\n     */\r\n    placement: PlacementArray;\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     * A selector specifying the element the datepicker popup should be appended to.\r\n     *\r\n     * Currently only supports `\"body\"`.\r\n     */\r\n    container: string;\r\n    /**\r\n     * A css selector or html element specifying the element the datepicker popup should be positioned against.\r\n     *\r\n     * By default the input is used as a target.\r\n     *\r\n     * @since 4.2.0\r\n     */\r\n    positionTarget: string | HTMLElement;\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     * @since 1.1.1\r\n     */\r\n    dateSelect: EventEmitter<NgbDate>;\r\n    /**\r\n     * Event emitted right after 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 fired after closing datepicker window.\r\n     *\r\n     * @since 4.2.0\r\n     */\r\n    closed: EventEmitter<void>;\r\n    get disabled(): any;\r\n    set disabled(value: any);\r\n    private _onChange;\r\n    private _onTouched;\r\n    private _validatorChange;\r\n    constructor(_parserFormatter: NgbDateParserFormatter, _elRef: ElementRef<HTMLInputElement>, _vcRef: ViewContainerRef, _renderer: Renderer2, _cfr: ComponentFactoryResolver, _ngZone: NgZone, _service: NgbDatepickerService, _calendar: NgbCalendar, _dateAdapter: NgbDateAdapter<any>, _document: any, _changeDetector: ChangeDetectorRef);\r\n    registerOnChange(fn: (value: any) => any): void;\r\n    registerOnTouched(fn: () => any): void;\r\n    registerOnValidatorChange(fn: () => void): void;\r\n    setDisabledState(isDisabled: boolean): void;\r\n    validate(c: AbstractControl): {\r\n        [key: string]: any;\r\n    };\r\n    writeValue(value: any): void;\r\n    manualDateChange(value: string, updateView?: boolean): void;\r\n    isOpen(): boolean;\r\n    /**\r\n     * Opens the datepicker popup.\r\n     *\r\n     * If the related form control contains a valid date, the corresponding month will be opened.\r\n     */\r\n    open(): void;\r\n    /**\r\n     * Closes the datepicker popup.\r\n     */\r\n    close(): void;\r\n    /**\r\n     * Toggles the datepicker popup.\r\n     */\r\n    toggle(): 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    onBlur(): void;\r\n    ngOnChanges(changes: SimpleChanges): void;\r\n    ngOnDestroy(): void;\r\n    private _applyDatepickerInputs;\r\n    private _applyPopupStyling;\r\n    private _subscribeForDatepickerOutputs;\r\n    private _writeModelValue;\r\n    private _fromDateStruct;\r\n    private _updatePopupPosition;\r\n}\r\n"]}