UNPKG

@gez/date-time-kit

Version:

62 lines (61 loc) 2.45 kB
import { type DateGranularity } from '../../utils'; import { Ele as NumListEle } from '../num-list'; import { type BaseAttrs, type BaseEmits, UiBase } from '../web-component-base'; export declare const granularityList: readonly ["day", "month", "year"]; export type Granularity = DateGranularity; export declare const colOrderList: readonly ["ymd", "ydm", "myd", "mdy", "dym", "dmy"]; export type ColOrder = (typeof colOrderList)[number] & { [Symbol.iterator](): IterableIterator<'y' | 'm' | 'd'>; }; export interface Attrs extends BaseAttrs { millisecond: number; /** * 选择器的粒度,表示最大可选的时间单位。默认为 year。 * 例如设置为 'month',则表示最大只能选择到月份,年将被忽略。 */ 'max-granularity'?: Granularity; /** * 选择器的粒度,表示最小可选的时间单位。默认为 second。 * 例如设置为 'month',则表示只能选择到月份,日会将被忽略。 */ '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 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); get _staticEls(): { readonly cols: HTMLElement; readonly yCol: HTMLElement; readonly mCol: HTMLElement; readonly dCol: HTMLElement; readonly lists: any[]; readonly yList: NumListEle; readonly mList: NumListEle; readonly dList: NumListEle; }; protected get _minmaxGran(): { min: "month" | "year" | "day"; max: "month" | "year" | "day"; }; 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 _onColsSelect; }