UNPKG

@kelvininc/ui-components

Version:
79 lines (78 loc) 3 kB
import { EventEmitter } from '../../stencil-public-runtime'; import { EAbsoluteTimeError } from '../../types'; import dayjs from 'dayjs'; import { ERelativeTimeInputMode, EAbsoluteTimePickerMode, IAbsoluteTimePicker, IAbsoluteTimePickerEvents, IRelativeTimeInput, IAbsoluteSelectedRangeDates } from './absolute-time-picker.types'; export declare class KvAbsoluteTimePicker implements IAbsoluteTimePicker, IAbsoluteTimePickerEvents { /** @inheritdoc */ headerTitle?: string; /** @inheritdoc */ displayBackButton?: boolean; /** @inheritdoc */ mode?: EAbsoluteTimePickerMode; /** @inheritdoc */ selectedDates?: string[]; /** @inheritdoc */ initialDate?: string; /** @inheritdoc */ disabledDates?: string[]; /** @inheritdoc */ relativeTimeConfig?: IRelativeTimeInput; /** @inheritdoc */ calendarInputMinDate?: string; /** @inheritdoc */ calendarInputMaxDate?: string; /** @inheritdoc */ error?: EAbsoluteTimeError; /** @inheritdoc */ selectedDatesChange: EventEmitter<IAbsoluteSelectedRangeDates>; /** @inheritdoc */ backButtonClicked: EventEmitter<MouseEvent>; /** @inheritdoc */ relativeTimeConfigReset: EventEmitter<MouseEvent>; /** @inheritdoc */ relativeTimeConfigChange: EventEmitter<IAbsoluteSelectedRangeDates>; /** Input values inserted by the user on the date and time input */ fromInputValue: string; toInputValue: string; singleInputValue: string; /** Shared hovered date between calendars for range mode */ hoveredDate: string; /** First calendar displayed month (Second calendar is displayedMonth + 1) */ displayedMonth: dayjs.Dayjs; /** Used to force focus the from and to input */ fromInputFocused: boolean; toInputFocused: boolean; /** * Used to define when the input dates came from the relative time picker where the input * can be an absolute date or a text (ex: last 24 hours) */ inputMode: ERelativeTimeInputMode; /** Calendars max and minimum dates */ minDate: string; maxDate: string; handleSelectedRangeDatesChange(value?: string[]): void; handleRelativeTimeConfigInput(newValue: IRelativeTimeInput): void; private setDateLimits; private setInputValues; private resetInputValues; private resetDateLimits; private emitSelectRangeDatesChangeEvent; private handleBackClick; private onClickDate; private handleClickBackMonth; private handleClickForwardMonth; private handleHoveredDateChange; private handleInputReset; /** User date-time-input I/O event handlers */ private handleOnFocusFromInput; private handleOnFocusToInput; private handleDateChange; private handleFromInputDateChange; private handleToInputDateChange; private handleEndDateLostFocus; /** Components config methods */ private useInputMask; private getCalendarStringLimits; private getCalendarTimestampLimits; render(): any; }