@kelvininc/ui-components
Version:
Kelvin UI Components
79 lines (78 loc) • 3 kB
TypeScript
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;
}