@kelvininc/ui-components
Version:
Kelvin UI Components
67 lines (66 loc) • 2.8 kB
TypeScript
import { EventEmitter } from '../../stencil-public-runtime';
import { IRelativeTimeDropdownOption, IRelativeTimePicker, IRelativeTimePickerEvents, IRelativeTimePickerOption, ITimePickerRelativeTime, ITimePickerTimezone } from './relative-time-picker.types';
import { ISelectSingleOptions } from '../single-select-dropdown/single-select-dropdown.types';
import { CustomCssClass } from '../../types';
import { ITimezoneOffset, SelectedTimestamp } from '../time-picker/time-picker.types';
export declare class KvRelativeTimePicker implements IRelativeTimePicker, IRelativeTimePickerEvents {
private intervalID;
/** @inheritdoc */
selectedTimeKey?: string;
/** @inheritdoc */
options?: IRelativeTimePickerOption[][];
/** @inheritdoc */
selectedTimezone?: string;
/** @inheritdoc */
timezones?: ITimezoneOffset[];
/** @inheritdoc */
customIntervalOptionEnabled?: boolean;
/** @inheritdoc */
timezoneSelectionEnabled?: boolean;
/** @inheritdoc */
timezoneContentVisible?: boolean;
/** @inheritdoc */
disableTimezoneSelection?: boolean;
/** @inheritdoc */
customClass: CustomCssClass;
/** State that keeps the relative options that are constantly updated if the time
* changes
*/
relativeTimeOptions: IRelativeTimeDropdownOption[][];
/** Timezone dropdown management states */
timezonesSearchTerm: string;
timezoneDropdownOptions: ISelectSingleOptions;
timezoneFilteredDropdownOptions: ISelectSingleOptions;
/** State to determine if a scrollbar is needed to display all the options */
hasScroll: boolean;
/** Selected option range in timestamp */
selectedOptionRange: SelectedTimestamp;
/** @inheritdoc */
selectedRelativeTimeChange: EventEmitter<ITimePickerRelativeTime>;
/** @inheritdoc */
customizeIntervalClicked: EventEmitter<string>;
/** @inheritdoc */
timezoneChange: EventEmitter<ITimePickerTimezone>;
/** @inheritdoc */
timezoneInputClicked: EventEmitter<boolean>;
/** @inheritdoc */
timezoneDropdownStateChange: EventEmitter<boolean>;
handleRelativeTimeOptionsChanges(): void;
onTimezonesChange(timezones?: ITimezoneOffset[]): void;
onTimezoneSearch(searchTerm: string): void;
onSelectedTimeKeyChange(newKey: string): void;
onSelectedTimezoneChange(): void;
componentWillLoad(): void;
connectedCallback(): void;
disconnectedCallback(): void;
private onTimezoneSearchTermChange;
private onTimezoneSelected;
private onSelectRelativeOption;
private hasSelectedKeyRangeChanged;
private onSelectCustomizeIntervalOption;
private handleShowTimezoneContent;
private getSelectedTimezone;
private getSelectedTimezoneTitle;
private onTimezoneChange;
render(): any;
}