f37fe020504ba0ae241fdb2bd52bdcae0e39bcf766aa99a6f0e0a5ee4852af3f6ea8cf3321ba7f35ca67eec03a14712196e3b12e47772db496884f0f1f353d 10.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247
  1. import dayjs from 'dayjs';
  2. import type { SetupContext } from 'vue';
  3. import type { DateCell } from '../types';
  4. import type { BasicDateTableEmits, BasicDateTableProps } from '../props/basic-date-table';
  5. export declare const useBasicDateTable: (props: BasicDateTableProps, emit: SetupContext<BasicDateTableEmits>["emit"]) => {
  6. WEEKS: import("vue").ComputedRef<string[]>;
  7. rows: import("vue").ComputedRef<{
  8. column?: number | undefined;
  9. customClass?: string | undefined;
  10. disabled?: boolean | undefined;
  11. end?: boolean | undefined;
  12. inRange?: boolean | undefined;
  13. row?: number | undefined;
  14. selected?: {
  15. clone: () => Dayjs;
  16. isValid: () => boolean;
  17. year: {
  18. (): number;
  19. (value: number): Dayjs;
  20. };
  21. month: {
  22. (): number;
  23. (value: number): Dayjs;
  24. };
  25. date: {
  26. (): number;
  27. (value: number): Dayjs;
  28. };
  29. day: {
  30. (): 0 | 1 | 2 | 3 | 4 | 5 | 6;
  31. (value: number): Dayjs;
  32. };
  33. hour: {
  34. (): number;
  35. (value: number): Dayjs;
  36. };
  37. minute: {
  38. (): number;
  39. (value: number): Dayjs;
  40. };
  41. second: {
  42. (): number;
  43. (value: number): Dayjs;
  44. };
  45. millisecond: {
  46. (): number;
  47. (value: number): Dayjs;
  48. };
  49. set: (unit: dayjs.UnitType, value: number) => Dayjs;
  50. get: (unit: dayjs.UnitType) => number;
  51. add: (value: number, unit?: dayjs.ManipulateType) => Dayjs;
  52. subtract: (value: number, unit?: dayjs.ManipulateType) => Dayjs;
  53. startOf: (unit: dayjs.OpUnitType) => Dayjs;
  54. endOf: (unit: dayjs.OpUnitType) => Dayjs;
  55. format: (template?: string) => string;
  56. diff: (date?: dayjs.ConfigType, unit?: dayjs.QUnitType | dayjs.OpUnitType, float?: boolean) => number;
  57. valueOf: () => number;
  58. unix: () => number;
  59. daysInMonth: () => number;
  60. toDate: () => Date;
  61. toJSON: () => string;
  62. toISOString: () => string;
  63. toString: () => string;
  64. utcOffset: () => number;
  65. isBefore: (date?: dayjs.ConfigType, unit?: dayjs.OpUnitType) => boolean;
  66. isSame: (date?: dayjs.ConfigType, unit?: dayjs.OpUnitType) => boolean;
  67. isAfter: (date?: dayjs.ConfigType, unit?: dayjs.OpUnitType) => boolean;
  68. locale: {
  69. (): string;
  70. (preset: string | ILocale, object?: Partial<ILocale>): Dayjs;
  71. };
  72. localeData: () => dayjs.InstanceLocaleDataReturn;
  73. week: {
  74. (): number;
  75. (value: number): Dayjs;
  76. };
  77. weekYear: () => number;
  78. dayOfYear: {
  79. (): number;
  80. (value: number): Dayjs;
  81. };
  82. isSameOrAfter: (date?: dayjs.ConfigType, unit?: dayjs.OpUnitType) => boolean;
  83. isSameOrBefore: (date?: dayjs.ConfigType, unit?: dayjs.OpUnitType) => boolean;
  84. } | undefined;
  85. isCurrent?: boolean | undefined;
  86. isSelected?: boolean | undefined;
  87. start?: boolean | undefined;
  88. text?: number | undefined;
  89. renderText?: string | undefined;
  90. timestamp?: number | undefined;
  91. date?: {
  92. toString: () => string;
  93. toDateString: () => string;
  94. toTimeString: () => string;
  95. toLocaleString: {
  96. (): string;
  97. (locales?: string | string[], options?: Intl.DateTimeFormatOptions): string;
  98. };
  99. toLocaleDateString: {
  100. (): string;
  101. (locales?: string | string[], options?: Intl.DateTimeFormatOptions): string;
  102. };
  103. toLocaleTimeString: {
  104. (): string;
  105. (locales?: string | string[], options?: Intl.DateTimeFormatOptions): string;
  106. };
  107. valueOf: () => number;
  108. getTime: () => number;
  109. getFullYear: () => number;
  110. getUTCFullYear: () => number;
  111. getMonth: () => number;
  112. getUTCMonth: () => number;
  113. getDate: () => number;
  114. getUTCDate: () => number;
  115. getDay: () => number;
  116. getUTCDay: () => number;
  117. getHours: () => number;
  118. getUTCHours: () => number;
  119. getMinutes: () => number;
  120. getUTCMinutes: () => number;
  121. getSeconds: () => number;
  122. getUTCSeconds: () => number;
  123. getMilliseconds: () => number;
  124. getUTCMilliseconds: () => number;
  125. getTimezoneOffset: () => number;
  126. setTime: (time: number) => number;
  127. setMilliseconds: (ms: number) => number;
  128. setUTCMilliseconds: (ms: number) => number;
  129. setSeconds: (sec: number, ms?: number) => number;
  130. setUTCSeconds: (sec: number, ms?: number) => number;
  131. setMinutes: (min: number, sec?: number, ms?: number) => number;
  132. setUTCMinutes: (min: number, sec?: number, ms?: number) => number;
  133. setHours: (hours: number, min?: number, sec?: number, ms?: number) => number;
  134. setUTCHours: (hours: number, min?: number, sec?: number, ms?: number) => number;
  135. setDate: (date: number) => number;
  136. setUTCDate: (date: number) => number;
  137. setMonth: (month: number, date?: number) => number;
  138. setUTCMonth: (month: number, date?: number) => number;
  139. setFullYear: (year: number, month?: number, date?: number) => number;
  140. setUTCFullYear: (year: number, month?: number, date?: number) => number;
  141. toUTCString: () => string;
  142. toISOString: () => string;
  143. toJSON: (key?: any) => string;
  144. [Symbol.toPrimitive]: {
  145. (hint: "default"): string;
  146. (hint: "string"): string;
  147. (hint: "number"): number;
  148. (hint: string): string | number;
  149. };
  150. } | undefined;
  151. dayjs?: {
  152. clone: () => Dayjs;
  153. isValid: () => boolean;
  154. year: {
  155. (): number;
  156. (value: number): Dayjs;
  157. };
  158. month: {
  159. (): number;
  160. (value: number): Dayjs;
  161. };
  162. date: {
  163. (): number;
  164. (value: number): Dayjs;
  165. };
  166. day: {
  167. (): 0 | 1 | 2 | 3 | 4 | 5 | 6;
  168. (value: number): Dayjs;
  169. };
  170. hour: {
  171. (): number;
  172. (value: number): Dayjs;
  173. };
  174. minute: {
  175. (): number;
  176. (value: number): Dayjs;
  177. };
  178. second: {
  179. (): number;
  180. (value: number): Dayjs;
  181. };
  182. millisecond: {
  183. (): number;
  184. (value: number): Dayjs;
  185. };
  186. set: (unit: dayjs.UnitType, value: number) => Dayjs;
  187. get: (unit: dayjs.UnitType) => number;
  188. add: (value: number, unit?: dayjs.ManipulateType) => Dayjs;
  189. subtract: (value: number, unit?: dayjs.ManipulateType) => Dayjs;
  190. startOf: (unit: dayjs.OpUnitType) => Dayjs;
  191. endOf: (unit: dayjs.OpUnitType) => Dayjs;
  192. format: (template?: string) => string;
  193. diff: (date?: dayjs.ConfigType, unit?: dayjs.QUnitType | dayjs.OpUnitType, float?: boolean) => number;
  194. valueOf: () => number;
  195. unix: () => number;
  196. daysInMonth: () => number;
  197. toDate: () => Date;
  198. toJSON: () => string;
  199. toISOString: () => string;
  200. toString: () => string;
  201. utcOffset: () => number;
  202. isBefore: (date?: dayjs.ConfigType, unit?: dayjs.OpUnitType) => boolean;
  203. isSame: (date?: dayjs.ConfigType, unit?: dayjs.OpUnitType) => boolean;
  204. isAfter: (date?: dayjs.ConfigType, unit?: dayjs.OpUnitType) => boolean;
  205. locale: {
  206. (): string;
  207. (preset: string | ILocale, object?: Partial<ILocale>): Dayjs;
  208. };
  209. localeData: () => dayjs.InstanceLocaleDataReturn;
  210. week: {
  211. (): number;
  212. (value: number): Dayjs;
  213. };
  214. weekYear: () => number;
  215. dayOfYear: {
  216. (): number;
  217. (value: number): Dayjs;
  218. };
  219. isSameOrAfter: (date?: dayjs.ConfigType, unit?: dayjs.OpUnitType) => boolean;
  220. isSameOrBefore: (date?: dayjs.ConfigType, unit?: dayjs.OpUnitType) => boolean;
  221. } | undefined;
  222. type?: ("normal" | "week" | "today" | "prev-month" | "next-month") | undefined;
  223. }[][]>;
  224. tbodyRef: import("vue").Ref<HTMLElement | undefined>;
  225. currentCellRef: import("vue").Ref<HTMLElement | undefined>;
  226. focus: () => Promise<void | undefined>;
  227. isCurrent: (cell: DateCell) => boolean;
  228. isWeekActive: (cell: DateCell) => boolean;
  229. isSelectedCell: (cell: DateCell) => boolean | undefined;
  230. handlePickDate: (event: FocusEvent | MouseEvent, isKeyboardMovement?: boolean) => void;
  231. handleMouseUp: (event: MouseEvent) => void;
  232. handleMouseDown: (event: MouseEvent) => void;
  233. handleMouseMove: (event: MouseEvent) => void;
  234. handleFocus: (event: FocusEvent) => void;
  235. };
  236. export declare const useBasicDateTableDOM: (props: BasicDateTableProps, { isCurrent, isWeekActive, }: Pick<ReturnType<typeof useBasicDateTable>, "isCurrent" | "isWeekActive">) => {
  237. tableKls: import("vue").ComputedRef<(string | {
  238. 'is-week-mode': boolean;
  239. })[]>;
  240. tableLabel: import("vue").ComputedRef<string>;
  241. weekHeaderClass: string;
  242. getCellClasses: (cell: DateCell) => string;
  243. getRowKls: (cell: DateCell) => (string | {
  244. current: boolean;
  245. })[];
  246. t: import("element-plus/es/hooks").Translator;
  247. };