hongluan-ui
Version:
Hongluan Component Library for Vue 3
242 lines (241 loc) • 10.7 kB
TypeScript
import dayjs from 'dayjs';
import type { SetupContext } from 'vue';
import type { DateCell } from '../date-picker.type';
import type { BasicDateTableEmits, BasicDateTableProps } from '../props/basic-date-table';
export declare const useBasicDateTable: (props: BasicDateTableProps, emit: SetupContext<BasicDateTableEmits>['emit']) => {
WEEKS: import("vue").ComputedRef<string[]>;
rows: import("vue").ComputedRef<{
column?: number;
customClass?: string;
disabled?: boolean;
end?: boolean;
inRange?: boolean;
row?: number;
selected?: {
clone: () => dayjs.Dayjs;
isValid: () => boolean;
year: {
(): number;
(value: number): dayjs.Dayjs;
};
month: {
(): number;
(value: number): dayjs.Dayjs;
};
date: {
(): number;
(value: number): dayjs.Dayjs;
};
day: {
(): number;
(value: number): dayjs.Dayjs;
};
hour: {
(): number;
(value: number): dayjs.Dayjs;
};
minute: {
(): number;
(value: number): dayjs.Dayjs;
};
second: {
(): number;
(value: number): dayjs.Dayjs;
};
millisecond: {
(): number;
(value: number): dayjs.Dayjs;
};
set: (unit: dayjs.UnitType, value: number) => dayjs.Dayjs;
get: (unit: dayjs.UnitType) => number;
add: (value: number, unit?: dayjs.ManipulateType) => dayjs.Dayjs;
subtract: (value: number, unit?: dayjs.ManipulateType) => dayjs.Dayjs;
startOf: (unit: dayjs.OpUnitType) => dayjs.Dayjs;
endOf: (unit: dayjs.OpUnitType) => dayjs.Dayjs;
format: (template?: string) => string;
diff: (date?: string | number | Date | dayjs.Dayjs, unit?: "year" | "years" | "month" | "months" | "date" | "dates" | "week" | "D" | "M" | "y" | "weeks" | "day" | "hour" | "minute" | "second" | "millisecond" | "hours" | "minutes" | "seconds" | "s" | "milliseconds" | "days" | "d" | "h" | "m" | "ms" | "w" | "quarter" | "quarters" | "Q", float?: boolean) => number;
valueOf: () => number;
unix: () => number;
daysInMonth: () => number;
toDate: () => Date;
toJSON: () => string;
toISOString: () => string;
toString: () => string;
utcOffset: () => number;
isBefore: (date: string | number | Date | dayjs.Dayjs, unit?: dayjs.OpUnitType) => boolean;
isSame: (date: string | number | Date | dayjs.Dayjs, unit?: dayjs.OpUnitType) => boolean;
isAfter: (date: string | number | Date | dayjs.Dayjs, unit?: dayjs.OpUnitType) => boolean;
locale: {
(): string;
(preset: string | ILocale, object?: Partial<ILocale>): dayjs.Dayjs;
};
localeData: () => dayjs.InstanceLocaleDataReturn;
week: {
(): number;
(value: number): dayjs.Dayjs;
};
weekYear: () => number;
dayOfYear: {
(): number;
(value: number): dayjs.Dayjs;
};
isSameOrAfter: (date: string | number | Date | dayjs.Dayjs, unit?: dayjs.OpUnitType) => boolean;
isSameOrBefore: (date: string | number | Date | dayjs.Dayjs, unit?: dayjs.OpUnitType) => boolean;
};
isCurrent?: boolean;
isSelected?: boolean;
start?: boolean;
text?: number;
renderText?: string;
timestamp?: number;
date?: {
toString: () => string;
toDateString: () => string;
toTimeString: () => string;
toLocaleString: {
(): string;
(locales?: string | string[], options?: Intl.DateTimeFormatOptions): string;
};
toLocaleDateString: {
(): string;
(locales?: string | string[], options?: Intl.DateTimeFormatOptions): string;
};
toLocaleTimeString: {
(): string;
(locales?: string | string[], options?: Intl.DateTimeFormatOptions): string;
};
valueOf: () => number;
getTime: () => number;
getFullYear: () => number;
getUTCFullYear: () => number;
getMonth: () => number;
getUTCMonth: () => number;
getDate: () => number;
getUTCDate: () => number;
getDay: () => number;
getUTCDay: () => number;
getHours: () => number;
getUTCHours: () => number;
getMinutes: () => number;
getUTCMinutes: () => number;
getSeconds: () => number;
getUTCSeconds: () => number;
getMilliseconds: () => number;
getUTCMilliseconds: () => number;
getTimezoneOffset: () => number;
setTime: (time: number) => number;
setMilliseconds: (ms: number) => number;
setUTCMilliseconds: (ms: number) => number;
setSeconds: (sec: number, ms?: number) => number;
setUTCSeconds: (sec: number, ms?: number) => number;
setMinutes: (min: number, sec?: number, ms?: number) => number;
setUTCMinutes: (min: number, sec?: number, ms?: number) => number;
setHours: (hours: number, min?: number, sec?: number, ms?: number) => number;
setUTCHours: (hours: number, min?: number, sec?: number, ms?: number) => number;
setDate: (date: number) => number;
setUTCDate: (date: number) => number;
setMonth: (month: number, date?: number) => number;
setUTCMonth: (month: number, date?: number) => number;
setFullYear: (year: number, month?: number, date?: number) => number;
setUTCFullYear: (year: number, month?: number, date?: number) => number;
toUTCString: () => string;
toISOString: () => string;
toJSON: (key?: any) => string;
[Symbol.toPrimitive]: {
(hint: "default"): string;
(hint: "string"): string;
(hint: "number"): number;
(hint: string): string | number;
};
};
dayjs?: {
clone: () => dayjs.Dayjs;
isValid: () => boolean;
year: {
(): number;
(value: number): dayjs.Dayjs;
};
month: {
(): number;
(value: number): dayjs.Dayjs;
};
date: {
(): number;
(value: number): dayjs.Dayjs;
};
day: {
(): number;
(value: number): dayjs.Dayjs;
};
hour: {
(): number;
(value: number): dayjs.Dayjs;
};
minute: {
(): number;
(value: number): dayjs.Dayjs;
};
second: {
(): number;
(value: number): dayjs.Dayjs;
};
millisecond: {
(): number;
(value: number): dayjs.Dayjs;
};
set: (unit: dayjs.UnitType, value: number) => dayjs.Dayjs;
get: (unit: dayjs.UnitType) => number;
add: (value: number, unit?: dayjs.ManipulateType) => dayjs.Dayjs;
subtract: (value: number, unit?: dayjs.ManipulateType) => dayjs.Dayjs;
startOf: (unit: dayjs.OpUnitType) => dayjs.Dayjs;
endOf: (unit: dayjs.OpUnitType) => dayjs.Dayjs;
format: (template?: string) => string;
diff: (date?: string | number | Date | dayjs.Dayjs, unit?: "year" | "years" | "month" | "months" | "date" | "dates" | "week" | "D" | "M" | "y" | "weeks" | "day" | "hour" | "minute" | "second" | "millisecond" | "hours" | "minutes" | "seconds" | "s" | "milliseconds" | "days" | "d" | "h" | "m" | "ms" | "w" | "quarter" | "quarters" | "Q", float?: boolean) => number;
valueOf: () => number;
unix: () => number;
daysInMonth: () => number;
toDate: () => Date;
toJSON: () => string;
toISOString: () => string;
toString: () => string;
utcOffset: () => number;
isBefore: (date: string | number | Date | dayjs.Dayjs, unit?: dayjs.OpUnitType) => boolean;
isSame: (date: string | number | Date | dayjs.Dayjs, unit?: dayjs.OpUnitType) => boolean;
isAfter: (date: string | number | Date | dayjs.Dayjs, unit?: dayjs.OpUnitType) => boolean;
locale: {
(): string;
(preset: string | ILocale, object?: Partial<ILocale>): dayjs.Dayjs;
};
localeData: () => dayjs.InstanceLocaleDataReturn;
week: {
(): number;
(value: number): dayjs.Dayjs;
};
weekYear: () => number;
dayOfYear: {
(): number;
(value: number): dayjs.Dayjs;
};
isSameOrAfter: (date: string | number | Date | dayjs.Dayjs, unit?: dayjs.OpUnitType) => boolean;
isSameOrBefore: (date: string | number | Date | dayjs.Dayjs, unit?: dayjs.OpUnitType) => boolean;
};
type?: "week" | "normal" | "today" | "prev-month" | "next-month";
}[][]>;
tbodyRef: import("vue").Ref<HTMLElement>;
currentCellRef: import("vue").Ref<HTMLElement>;
focus: () => Promise<void>;
isCurrent: (cell: DateCell) => boolean;
isWeekActive: (cell: DateCell) => boolean;
isSelectedCell: (cell: DateCell) => boolean;
handlePickDate: (event: FocusEvent | MouseEvent, isKeyboardMovement?: boolean) => void;
handleMouseUp: (event: MouseEvent) => void;
handleMouseDown: (event: MouseEvent) => void;
handleMouseMove: (event: MouseEvent) => void;
handleFocus: (event: FocusEvent) => void;
};
export declare const useBasicDateTableDOM: (props: BasicDateTableProps, { isCurrent, }: Pick<ReturnType<typeof useBasicDateTable>, 'isCurrent' | 'isWeekActive'>) => {
tableLabel: import("vue").ComputedRef<string>;
weekLabel: import("vue").ComputedRef<string>;
getCellClasses: (cell: DateCell) => string;
t: import("hongluan-ui/es/hooks").Translator;
};