@kelvininc/ui-components
Version:
Kelvin UI Components
33 lines (32 loc) • 2.46 kB
TypeScript
import { ITimezoneOffset } from '../../types';
import { IRelativeTimeInput } from '../absolute-time-picker/absolute-time-picker.types';
import { IRelativeTimePickerOption, ITimePickerRelativeTime, ITimePickerTimezone } from '../relative-time-picker/relative-time-picker.types';
import { ITimePickerTime, ITimePickerTimeState, SelectedTimestamp } from './time-picker.types';
/**
* Generates the text displayed in the dropdown when the custom interval option is selected
* @param range range in timestamp
* @param timezone timezone applied to the timestamp
* @returns label to be displayed in the dropdown
*/
export declare const buildCustomIntervalTimeRange: (range: SelectedTimestamp, timezone: string) => string;
/**
* Generates the text to be displayed by the tooltip when the dropdown input is hovered
* @param range selectd range
* @param timezones timezones available
* @returns tooltip text to be displayed
*/
export declare const buildTooltipText: (range: SelectedTimestamp, selectdTimezone: ITimePickerTimezone, timezonesByOffset: ITimezoneOffset[]) => string;
export declare const createTimestampInTimezoneFromFormattedDate: (date: string, timezone: string, format?: string) => number;
/**
* Transforms the selected timestamp range in formatted dates to be read by the kv-absolute-time-picker component
* @param selectedOption selected ranges and timezone
* @returns range in the calendar date time format
*/
export declare const getAbsoluteTimePickerRangeDates: (selectedOption: ITimePickerTimeState, defaultTimezone: ITimePickerTimezone) => string[];
export declare const getLast24HoursRange: () => SelectedTimestamp;
export declare const getRelativeTimeInputText: (options: IRelativeTimePickerOption[][], selectedTimeOption: ITimePickerRelativeTime, timezone: string) => IRelativeTimeInput;
export declare const getRelativeTimeLabel: (relativeTimeValue: string | undefined, relativeTimeOptions: IRelativeTimePickerOption[][]) => string | undefined;
export declare const getTimestampFromDateRange: (range: SelectedTimestamp, previousTimezone: string, newTimezone: string) => SelectedTimestamp;
export declare const hasRangeChanged: (componentRangeState: SelectedTimestamp, propRangeState: SelectedTimestamp) => boolean;
export declare const validateNewRange: (range: SelectedTimestamp) => boolean;
export declare const getTimePickerEventPayload: (timeState: ITimePickerTimeState, timezone: ITimePickerTimezone) => ITimePickerTime;