UNPKG

@gez/date-time-kit

Version:

65 lines (64 loc) 2.67 kB
import { type TimeGranularity } from '../../utils'; import { Ele as NumListEle } from '../num-list'; import { type BaseAttrs, type BaseEmits, UiBase } from '../web-component-base'; export declare const granularityList: readonly ["millisecond", "second", "minute", "hour"]; export type Granularity = TimeGranularity; export declare const colOrderList: readonly ["hms", "hsm", "mhs", "msh", "shm", "smh"]; export type ColOrder = (typeof colOrderList)[number] & { [Symbol.iterator](): IterableIterator<'h' | 'm' | 's'>; }; export interface Attrs extends BaseAttrs { millisecond: number; /** * 选择器的粒度,表示最大可选的时间单位。默认为 hour。 * 例如设置为 'minute',则表示最大只能选择到分钟,小时将被忽略。 */ 'max-granularity'?: Granularity; /** * 选择器的粒度,表示最小可选的时间单位。默认为 millisecond。 * 例如设置为 'minute',则表示只能选择到分钟,秒和毫秒将被忽略。 */ 'min-granularity'?: Granularity; 'col-order'?: ColOrder; } export type { BaseEmits }; /** 时分秒毫秒选择器 */ export declare class BaseEle<A extends Attrs, E extends BaseEmits> extends UiBase<A, E> { protected static _style: string; protected static _template: string; static get observedAttributes(): string[]; get _staticEls(): { readonly cols: HTMLElement; readonly hCol: HTMLElement; readonly mCol: HTMLElement; readonly sCol: HTMLElement; readonly lists: any[]; readonly hList: NumListEle; readonly mList: NumListEle; readonly sList: NumListEle; readonly msWrapper: HTMLElement; readonly msInput: HTMLInputElement; }; /** 当前时间的毫秒数,范围为一天内的毫秒数(0 到 86399999),随着用户选择时实时更新 */ get millisecond(): number; set millisecond(v: number); get maxGranularity(): Granularity; set maxGranularity(v: Granularity); get minGranularity(): Granularity; set minGranularity(v: Granularity); get colOrder(): ColOrder; set colOrder(v: ColOrder); protected get _minmaxGran(): { min: "hour" | "minute" | "second" | "millisecond"; max: "hour" | "minute" | "second" | "millisecond"; }; scrollToCurrentItem(): void; connectedCallback(): boolean | void; protected _onAttrChanged(name: string, oldValue: string | null, newValue: string | null): void; private _renderCols; private _updateGranularity; private _updateColsValue; private _getMsFromEle; private _onMsInput; private _onColsSelect; }