{"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;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';\nimport { AbstractControl, ControlValueAccessor, ValidationErrors, Validator } from '@angular/forms';\nimport { PlacementArray } from '../util/positioning';\nimport { NgbDateAdapter } from './adapters/ngb-date-adapter';\nimport { NgbDatepickerNavigateEvent } from './datepicker';\nimport { DayTemplateContext } from './datepicker-day-template-context';\nimport { NgbCalendar } from './ngb-calendar';\nimport { NgbDate } from './ngb-date';\nimport { NgbDateParserFormatter } from './ngb-date-parser-formatter';\nimport { NgbDateStruct } from './ngb-date-struct';\nimport { NgbInputDatepickerConfig } from './datepicker-input-config';\n/**\n * A directive that allows to stick a datepicker popup to an input field.\n *\n * Manages interaction with the input field itself, does value formatting and provides forms integration.\n */\nexport declare class NgbInputDatepicker implements OnChanges, OnDestroy, ControlValueAccessor, Validator {\n private _parserFormatter;\n private _elRef;\n private _vcRef;\n private _renderer;\n private _cfr;\n private _ngZone;\n private _calendar;\n private _dateAdapter;\n private _document;\n private _changeDetector;\n static ngAcceptInputType_autoClose: boolean | string;\n static ngAcceptInputType_disabled: boolean | '';\n static ngAcceptInputType_navigation: string;\n static ngAcceptInputType_outsideDays: string;\n private _cRef;\n private _disabled;\n private _elWithFocus;\n private _model;\n private _inputValue;\n private _zoneSubscription;\n /**\n * Indicates whether the datepicker popup should be closed automatically after date selection / outside click or not.\n *\n * * `true` - the popup will close on both date selection and outside click.\n * * `false` - the popup can only be closed manually via `close()` or `toggle()` methods.\n * * `\"inside\"` - the popup will close on date selection, but not outside clicks.\n * * `\"outside\"` - the popup will close only on the outside click and not on date selection/inside clicks.\n *\n * @since 3.0.0\n */\n autoClose: boolean | 'inside' | 'outside';\n /**\n * The reference to a custom template for the day.\n *\n * Allows to completely override the way a day 'cell' in the calendar is displayed.\n *\n * See [`DayTemplateContext`](#/components/datepicker/api#DayTemplateContext) for the data you get inside.\n */\n dayTemplate: TemplateRef;\n /**\n * The callback to pass any arbitrary data to the template cell via the\n * [`DayTemplateContext`](#/components/datepicker/api#DayTemplateContext)'s `data` parameter.\n *\n * `current` is the month that is currently displayed by the datepicker.\n *\n * @since 3.3.0\n */\n dayTemplateData: (date: NgbDate, current?: {\n year: number;\n month: number;\n }) => any;\n /**\n * The number of months to display.\n */\n displayMonths: number;\n /**\n * The first day of the week.\n *\n * With default calendar we use ISO 8601: 'weekday' is 1=Mon ... 7=Sun.\n */\n firstDayOfWeek: number;\n /**\n * The reference to the custom template for the datepicker footer.\n *\n * @since 3.3.0\n */\n footerTemplate: TemplateRef;\n /**\n * The callback to mark some dates as disabled.\n *\n * It is called for each new date when navigating to a different month.\n *\n * `current` is the month that is currently displayed by the datepicker.\n */\n markDisabled: (date: NgbDate, current?: {\n year: number;\n month: number;\n }) => boolean;\n /**\n * The earliest date that can be displayed or selected. Also used for form validation.\n *\n * If not provided, 'year' select box will display 10 years before the current month.\n */\n minDate: NgbDateStruct;\n /**\n * The latest date that can be displayed or selected. Also used for form validation.\n *\n * If not provided, 'year' select box will display 10 years after the current month.\n */\n maxDate: NgbDateStruct;\n /**\n * Navigation type.\n *\n * * `\"select\"` - select boxes for month and navigation arrows\n * * `\"arrows\"` - only navigation arrows\n * * `\"none\"` - no navigation visible at all\n */\n navigation: 'select' | 'arrows' | 'none';\n /**\n * The way of displaying days that don't belong to the current month.\n *\n * * `\"visible\"` - days are visible\n * * `\"hidden\"` - days are hidden, white space preserved\n * * `\"collapsed\"` - days are collapsed, so the datepicker height might change between months\n *\n * For the 2+ months view, days in between months are never shown.\n */\n outsideDays: 'visible' | 'collapsed' | 'hidden';\n /**\n * The preferred placement of the datepicker popup.\n *\n * Possible values are `\"top\"`, `\"top-left\"`, `\"top-right\"`, `\"bottom\"`, `\"bottom-left\"`,\n * `\"bottom-right\"`, `\"left\"`, `\"left-top\"`, `\"left-bottom\"`, `\"right\"`, `\"right-top\"`,\n * `\"right-bottom\"`\n *\n * Accepts an array of strings or a string with space separated possible values.\n *\n * The default order of preference is `\"bottom-left bottom-right top-left top-right\"`\n *\n * Please see the [positioning overview](#/positioning) for more details.\n */\n placement: PlacementArray;\n /**\n * If `true`, when closing datepicker will focus element that was focused before datepicker was opened.\n *\n * Alternatively you could provide a selector or an `HTMLElement` to focus. If the element doesn't exist or invalid,\n * we'll fallback to focus document body.\n *\n * @since 5.2.0\n */\n restoreFocus: true | string | HTMLElement;\n /**\n * If `true`, weekdays will be displayed.\n */\n showWeekdays: boolean;\n /**\n * If `true`, week numbers will be displayed.\n */\n showWeekNumbers: boolean;\n /**\n * The date to open calendar with.\n *\n * With the default calendar we use ISO 8601: 'month' is 1=Jan ... 12=Dec.\n * If nothing or invalid date is provided, calendar will open with current month.\n *\n * You could use `navigateTo(date)` method as an alternative.\n */\n startDate: {\n year: number;\n month: number;\n day?: number;\n };\n /**\n * A selector specifying the element the datepicker popup should be appended to.\n *\n * Currently only supports `\"body\"`.\n */\n container: string;\n /**\n * A css selector or html element specifying the element the datepicker popup should be positioned against.\n *\n * By default the input is used as a target.\n *\n * @since 4.2.0\n */\n positionTarget: string | HTMLElement;\n /**\n * An event emitted when user selects a date using keyboard or mouse.\n *\n * The payload of the event is currently selected `NgbDate`.\n *\n * @since 1.1.1\n */\n dateSelect: EventEmitter;\n /**\n * Event emitted right after the navigation happens and displayed month changes.\n *\n * See [`NgbDatepickerNavigateEvent`](#/components/datepicker/api#NgbDatepickerNavigateEvent) for the payload info.\n */\n navigate: EventEmitter;\n /**\n * An event fired after closing datepicker window.\n *\n * @since 4.2.0\n */\n closed: EventEmitter;\n get disabled(): any;\n set disabled(value: any);\n private _onChange;\n private _onTouched;\n private _validatorChange;\n constructor(_parserFormatter: NgbDateParserFormatter, _elRef: ElementRef, _vcRef: ViewContainerRef, _renderer: Renderer2, _cfr: ComponentFactoryResolver, _ngZone: NgZone, _calendar: NgbCalendar, _dateAdapter: NgbDateAdapter, _document: any, _changeDetector: ChangeDetectorRef, config: NgbInputDatepickerConfig);\n registerOnChange(fn: (value: any) => any): void;\n registerOnTouched(fn: () => any): void;\n registerOnValidatorChange(fn: () => void): void;\n setDisabledState(isDisabled: boolean): void;\n validate(c: AbstractControl): ValidationErrors | null;\n writeValue(value: any): void;\n manualDateChange(value: string, updateView?: boolean): void;\n isOpen(): boolean;\n /**\n * Opens the datepicker popup.\n *\n * If the related form control contains a valid date, the corresponding month will be opened.\n */\n open(): void;\n /**\n * Closes the datepicker popup.\n */\n close(): void;\n /**\n * Toggles the datepicker popup.\n */\n toggle(): void;\n /**\n * Navigates to the provided date.\n *\n * With the default calendar we use ISO 8601: 'month' is 1=Jan ... 12=Dec.\n * If nothing or invalid date provided calendar will open current month.\n *\n * Use the `[startDate]` input as an alternative.\n */\n navigateTo(date?: {\n year: number;\n month: number;\n day?: number;\n }): void;\n onBlur(): void;\n onFocus(): void;\n ngOnChanges(changes: SimpleChanges): void;\n ngOnDestroy(): void;\n private _applyDatepickerInputs;\n private _applyPopupStyling;\n private _subscribeForDatepickerOutputs;\n private _writeModelValue;\n private _fromDateStruct;\n private _updatePopupPosition;\n}\n"]}