import * as i0 from '@angular/core'; import { OnInit, OnChanges, ChangeDetectorRef, EventEmitter, ElementRef, SimpleChanges, AfterViewInit, Renderer2 } from '@angular/core'; import { ButtonOptions } from '@usitsdasdesign/dds-ng/button'; import { DestroyCtor, I18nCtor, ResponsivenessCtor, FormAccessorCtor, ErrorStateCtor } from '@usitsdasdesign/dds-ng/core/common-behaviors'; import { KeyCodes, LabelPosition, ErrorState, Size, PositionState, Devices, AdditionalClass, ButtonKind } from '@usitsdasdesign/dds-ng/shared'; import { ResizeHandlerService } from '@usitsdasdesign/dds-ng/shared/resize-handler'; import { StickerDirective } from '@usitsdasdesign/dds-ng/sticker'; import { Subject } from 'rxjs'; import { NgControl, NgForm, FormGroupDirective } from '@angular/forms'; import { DdsConfigService } from '@usitsdasdesign/dds-ng/shared/dds-config'; import { I18nService, ITranslation } from '@usitsdasdesign/dds-ng/shared/i18n'; interface DatepickerOptions { value?: Date; label?: string; labelPosition?: LabelPosition | string; description?: string; errorMessage?: string; errorState?: string | ErrorState; size?: Size | string; placeholder?: string; format?: string; icon?: string; customClass?: string; openedDate?: Date; disabled?: boolean; isResponsive?: boolean; isInverse?: boolean; isRequired?: boolean; readonly?: boolean; minMode?: DatepickerStates | string; startState?: DatepickerStates | string; minDate?: Date; maxDate?: Date; isUTCFormat?: boolean; isError?: boolean; isManualInput?: boolean; inputByFormatMask?: boolean; disabledDates?: DisabledDates; isClearBtnEnabled?: boolean; stickerPosition?: PositionState | string; stickerIndent?: number; stickerShift?: number; stickerMaxHeight?: number | string; stickerCustomClass?: string; stickerIsDisabled?: boolean; stickerIsDynamic?: boolean; } interface DaterangepickerOptions { value?: Date[]; label?: string; openedDate?: Date; labelPosition?: LabelPosition | string; description?: string; errorMessage?: string; errorState?: string | ErrorState; size?: Size | string; placeholder?: string[]; format?: string; icon?: string; customClass?: string; minDate?: Date; maxDate?: Date; isUTCFormat?: boolean; disabled?: boolean; isInverse?: boolean; isResponsive?: boolean; readonly?: boolean; isError?: boolean; isRequired?: boolean; isManualInput?: boolean; inputByFormatMask?: boolean; isStartDateEmitted?: boolean; disabledDates?: DisabledDates; isClearBtnEnabled?: boolean; stickerPosition?: PositionState | string; stickerIndent?: number; stickerShift?: number; stickerMaxHeight?: number | string; stickerCustomClass?: string; stickerIsDisabled?: boolean; stickerIsDynamic?: boolean; } interface DatepickerItem { value: number; date: Date; isActive?: boolean; isCurrent?: boolean; disabled?: boolean; inRange?: boolean; isOtherMonth?: boolean; } interface DisabledDates { before?: Date; after?: Date; days?: number[]; daysOfMonth?: number[]; dates?: Date[]; ranges?: DisabledRanges[]; } interface DisabledRanges { from: Date; to: Date; } interface SelectedDate { year?: number; month?: number; day?: number; } interface DaterangepickerInfo { start?: Date; end?: Date; } interface DaterangepickerPlaceholder { start?: string; end?: string; } interface DaterangepickerHeaderOption { isEndPicker?: boolean; isHeaderBtns?: boolean; directionKeycode?: KeyCodes.ARROW_LEFT | KeyCodes.ARROW_RIGHT; } declare enum DaterangepickerItems { end = "end", start = "start" } declare enum DatepickerYearsActions { prev = "prev", next = "next" } declare enum DatepickerStates { year = "year", month = "month", day = "day" } declare const DatepickerBase: DestroyCtor & I18nCtor & ResponsivenessCtor & FormAccessorCtor & ErrorStateCtor; declare class DatepickerComponent extends DatepickerBase implements OnInit, OnChanges { ngControl: NgControl; parentForm: NgForm; parentFormGroup: FormGroupDirective; cdr: ChangeDetectorRef; resizeService: ResizeHandlerService; i18n: I18nService; private ddsConfig; disabled: boolean | undefined; isEmptyValue: boolean; label: string | undefined; description: string | undefined; errorMessage: string | undefined; customClass: string | undefined; placeholder: string | undefined; format: string | undefined; icon: string | undefined; isError: boolean | undefined; errorState: string | ErrorState | undefined; minDate: Date | undefined; maxDate: Date | undefined; openedDate: Date | undefined; labelPosition: LabelPosition | string | undefined; size: Size | string | undefined; startState: DatepickerStates | string | undefined; minMode: DatepickerStates | string | undefined; isManualInput: boolean | undefined; isResponsive: boolean | undefined; inputByFormatMask: boolean | undefined; isInverse: boolean | undefined; readonly: boolean | undefined; isRequired: boolean | undefined; isUTCFormat: boolean | undefined; disabledDates: DisabledDates | undefined; isClearBtnEnabled: boolean | undefined; stickerPosition: PositionState | string | undefined; stickerIndent: number | undefined; stickerShift: number | undefined; stickerMaxHeight: number | string | undefined; stickerCustomClass: string | undefined; stickerIsDisabled: boolean | undefined; stickerIsDynamic: boolean | undefined; get value(): Date; set value(value: Date); dateChanged: EventEmitter; onShown: EventEmitter; onHidden: EventEmitter; sticker: StickerDirective; dateInput: ElementRef; clearBtn: ElementRef; datepickerBtn: ElementRef; stickerIsOutsideClick: boolean; stickerWidth: number; calendarOpen: boolean; isSizeLg: boolean; isSizeSm: boolean; isExternalLabel: boolean; keyboardStatus: boolean; applyBtnText: string; isInputActive: boolean; applyBtnSize: Size; maskForDate: string; popupAriaLabel: string; isSelected: boolean; inputValue: Date; descId: string; popupId: string; clearBtnAriaLabel: string; private _value; private currentDevice; private selectedDateForMobile; private _minDate; private _maxDate; get calendarBtnAriaLabel(): string; constructor(ngControl: NgControl, parentForm: NgForm, parentFormGroup: FormGroupDirective, cdr: ChangeDetectorRef, resizeService: ResizeHandlerService, i18n: I18nService, ddsConfig: DdsConfigService); ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; writeValue(value: Date): void; setDisabledState(disabled: boolean): void; setDate(date: Date): void; toggleDatepicker(event: Event): void; click(): void; onKeyup(event: KeyboardEvent): void; onKeydown(event: KeyboardEvent): void; popupShown(): void; popupHidden(): void; inputFocus(): void; inputBlur(): void; inputChanged(field: HTMLInputElement): void; selectDate(date: Date, fromCalendar?: boolean): void; applySelectedDate(): void; close(event?: MouseEvent): void; clearField(event: Event): void; reset(): void; protected checkDevice(device: Devices): void; private removeFocus; private setNEmitDate; private emitDate; private checkIsEmpty; private checkLabelPosition; private checkSize; protected setI18nTexts(translation: ITranslation): void; private checkInputDate; private setMaskForDate; private isExceedMaxDate; private isLessMinDate; private includeDisabledDays; private includeDisabledDaysOfMonth; private includeDisabledDates; private includeDisabledRanges; private validDisabledDate; private checkDisabledDate; private getEnabledDate; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare const DaterangepickerBase: DestroyCtor & I18nCtor & ResponsivenessCtor & FormAccessorCtor & ErrorStateCtor; declare class DaterangepickerComponent extends DaterangepickerBase implements OnChanges, OnInit { ngControl: NgControl; parentForm: NgForm; parentFormGroup: FormGroupDirective; cdr: ChangeDetectorRef; resizeService: ResizeHandlerService; i18n: I18nService; private ddsConfig; disabled: boolean | undefined; isEmptyValue: boolean; label: string | undefined; description: string | undefined; errorMessage: string | undefined; customClass: string | undefined; isError: boolean | undefined; errorState: string | ErrorState | undefined; size: Size | string | undefined; labelPosition: LabelPosition | string | undefined; startState: DatepickerStates | string | undefined; icon: string | undefined; openedDate: Date | undefined; format: string | undefined; placeholder: string[] | undefined; isResponsive: boolean | undefined; inputByFormatMask: boolean | undefined; isManualInput: boolean | undefined; minDate: Date | undefined; maxDate: Date | undefined; isInverse: boolean | undefined; readonly: boolean | undefined; isRequired: boolean | undefined; isUTCFormat: boolean | undefined; isStartDateEmitted: boolean | undefined; disabledDates: DisabledDates | undefined; isClearBtnEnabled: boolean | undefined; stickerPosition: PositionState | string | undefined; stickerIndent: number | undefined; stickerShift: number | undefined; stickerMaxHeight: number | string | undefined; stickerCustomClass: string | undefined; stickerIsDisabled: boolean | undefined; stickerIsDynamic: boolean | undefined; get value(): Date[]; set value(value: Date[]); dateChanged: EventEmitter; onShown: EventEmitter; onHidden: EventEmitter; sticker: StickerDirective; daterangepickerBtn: ElementRef; startInput: ElementRef; endInput: ElementRef; clearBtn: ElementRef; rangePlaceholder: DaterangepickerPlaceholder; rangeStartMaxDate: Date; rangeEndMinDate: Date; rangeEndHoveredDate: Date; rangeValueArray: Date[]; isSizeLg: boolean; isSizeSm: boolean; isExternalLabel: boolean; rangeStartDate: DaterangepickerInfo; rangeValue: DaterangepickerInfo; isCalendarOpen: boolean; stickerIsOutsideClick: boolean; isRangepicker: boolean; minMode: DatepickerStates; keyboardStatus: boolean; applyBtnText: string; isInputActive: boolean; maskForDate: string; applyBtnSize: Size; daterangepickerItems: typeof DaterangepickerItems; popupAriaLabel: string; popupStartAriaLabel: string; popupEndAriaLabel: string; rangeFieldValue: DaterangepickerInfo; descId: string; popupId: string; labelledById: string; clearBtnAriaLabel: string; private _value; private currentDevice; private innerStart; private innerEnd; private dateBeforeApply; private isMobileApply; private isDateHovered; private _minDate; private _maxDate; get backdropValue(): string; get checkActiveInput(): boolean; get calendarBtnAriaLabel(): string; constructor(ngControl: NgControl, parentForm: NgForm, parentFormGroup: FormGroupDirective, cdr: ChangeDetectorRef, resizeService: ResizeHandlerService, i18n: I18nService, ddsConfig: DdsConfigService); ngOnChanges(changes: SimpleChanges): void; ngOnInit(): void; writeValue(value: Date[]): void; setDisabledState(disabled: boolean): void; click(): void; onKeyup(event: KeyboardEvent): void; onKeydown(event: KeyboardEvent): void; popupShown(): void; popupHidden(): void; inputFocus(): void; inputBlur(): void; inputChanged(field: HTMLInputElement, dateRangeItem: DaterangepickerItems): void; selectedDate(date: Date): void; applySelectedDate(): void; hoveredDate(date: Date): void; dateWrapMouseenter(): void; dateWrapMouseleave(): void; afterViewInitedStartInner(innerInstance: DatepickerInnerComponent): void; afterViewInitedEndInner(innerInstance: DatepickerInnerComponent): void; pickerChanged(option: DaterangepickerHeaderOption): void; close(): void; keyDownEndInput(event: KeyboardEvent): void; protected checkDevice(device: Devices): void; clearField(event: Event): void; reset(): void; private removeFocus; private checkIsEmpty; private checkLabelPosition; private checkSize; private checkDateOnMonth; private isEndDateLessStartDate; private setRangePlaceholder; private setRangeValue; private setMinMaxDate; private setRangeStartDate; private emitDate; private setRangeStartView; protected setI18nTexts(translation: ITranslation): void; private actionsAfterSelectedRange; private checkInputDate; private setMaskForDate; private setDateFromInput; private setStartDateFromInput; private setEndDateFromInput; private checkStartDate; private checkEndDate; private compareDate; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare const DatepickerInnerBase: DestroyCtor & ResponsivenessCtor; declare class DatepickerInnerComponent extends DatepickerInnerBase implements OnInit, AfterViewInit, OnChanges { private renderer; resizeService: ResizeHandlerService; cdr: ChangeDetectorRef; el: ElementRef; datepickerComponent: DatepickerComponent; daterangepickerComponent: DaterangepickerComponent; class: AdditionalClass; rangeValue: Date[]; minDate: Date; maxDate: Date; startState: DatepickerStates | string; startDate: Date; minMode: DatepickerStates | string; hovered: Date; openedDate: Date; isInverse: boolean; isRange: boolean; isRangepickerEnd: boolean; stickerRef: StickerDirective; isResponsive: boolean; ariaLabel: string; value: Date; disabledDates: DisabledDates; afterViewInited: EventEmitter; dateChanged: EventEmitter; dateHovered: EventEmitter; dateWrapMouseenter: EventEmitter; dateWrapMouseleave: EventEmitter; pickerChanged: EventEmitter; datepicker: ElementRef; datepickerHeader: ElementRef; datepickerBody: ElementRef; onClick(event: MouseEvent): void; activeState: DatepickerStates | string; btnOptions: ButtonOptions; headerMonthFormat: string; headerYearFormat: string; datepickerStates: typeof DatepickerStates; isMinModeYear: boolean; selectedDate: SelectedDate; status: Subject; disabledDate: Date; btnSize: Size; isFocusEmpty: boolean; changeYearAction: EventEmitter; tableId: string; get monthBtnKind(): ButtonKind; get yearBtnKind(): ButtonKind; constructor(renderer: Renderer2, resizeService: ResizeHandlerService, cdr: ChangeDetectorRef, el: ElementRef, datepickerComponent: DatepickerComponent, daterangepickerComponent: DaterangepickerComponent); ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; ngAfterViewInit(): void; changeState(state: DatepickerStates): void; changeViewDate(isNext?: boolean): void; selectDate(state: DatepickerStates, data: DatepickerItem): void; onKeydown(event: KeyboardEvent): void; onHeaderKeydown(event: KeyboardEvent): void; focusPrevItem(picker: ElementRef, items: HTMLButtonElement[], elIndex: number, removeFrom?: ElementRef): void; focusNextItem(picker: ElementRef, items: HTMLButtonElement[], elIndex: number, removeFrom?: ElementRef): void; focusRangeItem(picker: ElementRef, items: HTMLButtonElement[], elIndex: number, removeFrom?: ElementRef, keycode?: KeyCodes.ARROW_LEFT | KeyCodes.ARROW_RIGHT, isHeaderBtns?: boolean): void; private closeOnTabOut; private setFocus; private focusFirstEl; focusDate(): void; private focusReset; private checkFirstSelectedEndPicker; private checkRangeValue; private setSelectedDate; private setDefaultStartState; protected checkDevice(device: Devices): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare const DaypickerBase: DestroyCtor; declare class DaypickerComponent extends DaypickerBase implements OnInit, OnChanges { private datepickerInner; private cdr; private i18n; hovered: Date; disabledDates: DisabledDates; value: Date; daysName: { short: string; long: string; }[]; dayList: DatepickerItem[]; disabledDate: Date; btnOptions: ButtonOptions; isInverse: boolean; daypickerBody: ElementRef; constructor(datepickerInner: DatepickerInnerComponent, cdr: ChangeDetectorRef, i18n: I18nService); ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; getButtonKind(day: DatepickerItem): string; selectDay(day: DatepickerItem, event: Event): void; hoverOverDay(hoverDay?: DatepickerItem): void; onKeydown(event: KeyboardEvent): void; onDateWrapMouseenter(): void; onDateWrapMouseleave(): void; get firstDayOfCalendar(): Date; private closeOnTabOut; private getDaysName; private getDates; private isCurrentDate; private isActiveDay; private disabled; private isOtherMonth; private checkLastWeekIsOtherMonth; private isMinDate; private isMaxDate; private includeDisabledDays; private includeDisabledDaysOfMonth; private includeDisabledDates; private includeDisabledRanges; private isDayOfPrevMonth; private isDayOfNextMonth; private isSelectedDate; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class MonthpickerComponent implements OnInit, OnChanges { private datepickerInner; value: Date; monthPickerFormat: string; monthList: DatepickerItem[]; disabledDate: Date; btnOptions: ButtonOptions; isInverse: boolean; monthpicker: ElementRef; constructor(datepickerInner: DatepickerInnerComponent); ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; getButtonKind(month: DatepickerItem): string; selectMonth(month: DatepickerItem, event: Event): void; onKeydown(event: KeyboardEvent): void; onDateWrapMouseenter(): void; onDateWrapMouseleave(): void; private getMonths; private closeOnTabOut; private isCurrentDate; private isActiveMonth; private disabled; private isMinDate; private isMaxDate; private getFirstDayOfDate; private getLastDayOfDate; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare const YearpickerBase: DestroyCtor & I18nCtor; declare class YearpickerComponent extends YearpickerBase implements OnInit { private datepickerInner; i18n: I18nService; cdr: ChangeDetectorRef; yearList: DatepickerItem[]; btnOptions: ButtonOptions; disabledDate: Date; disabledBtnPrev: boolean; disabledBtnNext: boolean; calendarYearsActions: typeof DatepickerYearsActions; yearPickerFormat: string; prevYearBtnAriaLabel: string; nextYearBtnAriaLabel: string; yearValueAriaLabel: string; isInverse: boolean; private firstYear; yearpicker: ElementRef; constructor(datepickerInner: DatepickerInnerComponent, i18n: I18nService, cdr: ChangeDetectorRef); ngOnInit(): void; getButtonKind(year: DatepickerItem): string; changeYear(action: string): void; selectYear(year: DatepickerItem, event: Event): void; getAriaLabel(year: string): string; onKeydown(event: KeyboardEvent): void; onDateWrapMouseenter(): void; onDateWrapMouseleave(): void; private getYears; private closeOnTabOut; private isActive; private disabled; protected setI18nTexts(translation: ITranslation): void; private isMinDate; private isMaxDate; private checkDisabledBtn; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class DatepickerModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } export { DatepickerComponent, DatepickerModule, DatepickerStates, DatepickerYearsActions, DaterangepickerComponent, DaterangepickerItems }; export type { DatepickerItem, DatepickerOptions, DaterangepickerHeaderOption, DaterangepickerInfo, DaterangepickerOptions, DaterangepickerPlaceholder, DisabledDates, DisabledRanges, SelectedDate };