@kelvininc/ui-components
Version:
Kelvin UI Components
92 lines (91 loc) • 3.48 kB
TypeScript
import { EventEmitter } from '../../stencil-public-runtime';
import { ITextField } from '../text-field/text-field.types';
import { ETimePickerView } from './time-picker.types';
import { ComputePositionConfig } from '@floating-ui/dom';
import { ETooltipPosition, ITimezoneOffset } from '../../types';
import { IRelativeTimePickerOption } from '../relative-time-picker/relative-time-picker.types';
import { ITimePicker, ITimePickerEvents, ITimePickerTimeState, ITimePickerTime } from './time-picker.types';
export declare class KvTimePicker implements ITimePicker, ITimePickerEvents {
/** @inheritdoc */
inputConfig?: Partial<ITextField>;
/** @inheritdoc */
dropdownPositionOptions?: Partial<ComputePositionConfig>;
/** @inheritdoc */
disabled?: boolean;
/** @inheritdoc */
showCalendar?: boolean;
/** @inheritdoc */
selectedTimeOption?: ITimePickerTimeState | ITimePickerTime;
/** @inheritdoc */
relativeTimePickerOptions?: IRelativeTimePickerOption[][];
/** @inheritdoc */
timezones?: ITimezoneOffset[];
/** @inheritdoc */
disableTimezoneSelection?: boolean;
/** @inheritdoc */
displayCustomizeInterval?: boolean;
/** @inheritdoc */
displayTimezoneDropdown?: boolean;
/** @inheritdoc */
calendarInputMinDate?: number;
/** @inheritdoc */
calendarInputMaxDate?: number;
/** @inheritdoc */
zIndex?: number;
/** @inheritdoc */
tooltipPosition?: ETooltipPosition;
timePickerView: ETimePickerView;
selectedTimeState: ITimePickerTimeState;
dropdownOpen: boolean;
applyButtontooltipText: string;
calendarViewLocked: boolean;
timezoneSelectionContentVisible: boolean;
internalDropdownsOpen: boolean;
/** @inheritdoc */
timeRangeChange: EventEmitter<ITimePickerTime>;
/** @inheritdoc */
dropdownStateChange: EventEmitter<boolean>;
/** @inheritdoc */
cancelClicked: EventEmitter<CustomEvent<MouseEvent>>;
/** @inheritdoc */
showCalendarStateChange: EventEmitter<boolean>;
handleSelectTimeStateChange(timeState: ITimePickerTimeState | ITimePickerTime): void;
handleShowCalendarChange(value: boolean): void;
componentWillLoad(): void;
private syncShowCalendarViewState;
private syncTimeStateWithTimeOption;
private resetDefaultSelectedTimeState;
private getSelectedTimezone;
private onDropdownChange;
private onSelectedRelativeTimeChange;
private onClickSeeCustomInterval;
private onSelectedTimezoneChange;
private onClickApply;
private onClickBack;
private onClickCancel;
private undoLastChanges;
private onShowCalendarClick;
private getRelativeTimeInputConfig;
private handleRelativeTimeConfigReset;
private handleAbsoluteDatesChange;
private displayInputWrapperContent;
private getCalendarLimitDatesFormatted;
private isApplyButtonDisabled;
private updateApplyButtonConfig;
private getDropdownInputValue;
private getTextFieldTooltip;
private getFormattedSelectedTime;
private getInputConfig;
/**
* Returns the apply button tooltip helptext
* @returns apply button help text
*/
private getApplyButtonTooltipText;
/**
* Transforms the timestamp into absolute-time-picker dates in the format: YYYY/MM/DD HH:mm:ss
* @returns formatted dates to the absolute time picker component
*/
private getAbsoluteRange;
private onInternalDropdownsStateChange;
render(): any;
}