index.d.mts 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559
  1. import * as vue from 'vue';
  2. import { ComponentPropsOptions, ExtractPropTypes, Prop, PropType, ComponentPublicInstance, FunctionalComponent } from 'vue';
  3. interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions>, Props = ExtractPropTypes<PropsOptions>> {
  4. filterProps<T extends Partial<Props>, U extends Exclude<keyof Props, Exclude<keyof Props, keyof T>>>(props: T): Partial<Pick<T, U>>;
  5. }
  6. type ClassValue = any;
  7. type Density = null | 'default' | 'comfortable' | 'compact';
  8. type TimelineDirection = 'vertical' | 'horizontal';
  9. type TimelineSide = 'start' | 'end' | undefined;
  10. type TimelineAlign = 'center' | 'start';
  11. type TimelineTruncateLine = 'start' | 'end' | 'both' | undefined;
  12. declare const VTimeline: {
  13. new (...args: any[]): vue.CreateComponentPublicInstance<{
  14. style: vue.StyleValue;
  15. size: string | number;
  16. tag: string;
  17. justify: string;
  18. density: Density;
  19. fillDot: boolean;
  20. lineInset: string | number;
  21. lineThickness: string | number;
  22. } & {
  23. direction?: TimelineDirection | undefined;
  24. class?: any;
  25. theme?: string | undefined;
  26. align?: TimelineAlign | undefined;
  27. side?: TimelineSide;
  28. dotColor?: string | undefined;
  29. iconColor?: string | undefined;
  30. lineColor?: string | undefined;
  31. hideOpposite?: boolean | undefined;
  32. truncateLine?: TimelineTruncateLine;
  33. } & {
  34. $children?: vue.VNodeChild | {
  35. default?: (() => vue.VNodeChild) | undefined;
  36. } | (() => vue.VNodeChild);
  37. 'v-slots'?: {
  38. default?: false | (() => vue.VNodeChild) | undefined;
  39. } | undefined;
  40. } & {
  41. "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
  42. }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
  43. style: vue.StyleValue;
  44. size: string | number;
  45. tag: string;
  46. justify: string;
  47. density: Density;
  48. fillDot: boolean;
  49. lineInset: string | number;
  50. lineThickness: string | number;
  51. } & {
  52. direction?: TimelineDirection | undefined;
  53. class?: any;
  54. theme?: string | undefined;
  55. align?: TimelineAlign | undefined;
  56. side?: TimelineSide;
  57. dotColor?: string | undefined;
  58. iconColor?: string | undefined;
  59. lineColor?: string | undefined;
  60. hideOpposite?: boolean | undefined;
  61. truncateLine?: TimelineTruncateLine;
  62. } & {
  63. $children?: vue.VNodeChild | {
  64. default?: (() => vue.VNodeChild) | undefined;
  65. } | (() => vue.VNodeChild);
  66. 'v-slots'?: {
  67. default?: false | (() => vue.VNodeChild) | undefined;
  68. } | undefined;
  69. } & {
  70. "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
  71. }, {
  72. style: vue.StyleValue;
  73. size: string | number;
  74. tag: string;
  75. justify: string;
  76. density: Density;
  77. fillDot: boolean;
  78. hideOpposite: boolean;
  79. lineInset: string | number;
  80. lineThickness: string | number;
  81. }, true, {}, vue.SlotsType<Partial<{
  82. default: () => vue.VNode[];
  83. }>>, {
  84. P: {};
  85. B: {};
  86. D: {};
  87. C: {};
  88. M: {};
  89. Defaults: {};
  90. }, {
  91. style: vue.StyleValue;
  92. size: string | number;
  93. tag: string;
  94. justify: string;
  95. density: Density;
  96. fillDot: boolean;
  97. lineInset: string | number;
  98. lineThickness: string | number;
  99. } & {
  100. direction?: TimelineDirection | undefined;
  101. class?: any;
  102. theme?: string | undefined;
  103. align?: TimelineAlign | undefined;
  104. side?: TimelineSide;
  105. dotColor?: string | undefined;
  106. iconColor?: string | undefined;
  107. lineColor?: string | undefined;
  108. hideOpposite?: boolean | undefined;
  109. truncateLine?: TimelineTruncateLine;
  110. } & {
  111. $children?: vue.VNodeChild | {
  112. default?: (() => vue.VNodeChild) | undefined;
  113. } | (() => vue.VNodeChild);
  114. 'v-slots'?: {
  115. default?: false | (() => vue.VNodeChild) | undefined;
  116. } | undefined;
  117. } & {
  118. "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
  119. }, {}, {}, {}, {}, {
  120. style: vue.StyleValue;
  121. size: string | number;
  122. tag: string;
  123. justify: string;
  124. density: Density;
  125. fillDot: boolean;
  126. hideOpposite: boolean;
  127. lineInset: string | number;
  128. lineThickness: string | number;
  129. }>;
  130. __isFragment?: never;
  131. __isTeleport?: never;
  132. __isSuspense?: never;
  133. } & vue.ComponentOptionsBase<{
  134. style: vue.StyleValue;
  135. size: string | number;
  136. tag: string;
  137. justify: string;
  138. density: Density;
  139. fillDot: boolean;
  140. lineInset: string | number;
  141. lineThickness: string | number;
  142. } & {
  143. direction?: TimelineDirection | undefined;
  144. class?: any;
  145. theme?: string | undefined;
  146. align?: TimelineAlign | undefined;
  147. side?: TimelineSide;
  148. dotColor?: string | undefined;
  149. iconColor?: string | undefined;
  150. lineColor?: string | undefined;
  151. hideOpposite?: boolean | undefined;
  152. truncateLine?: TimelineTruncateLine;
  153. } & {
  154. $children?: vue.VNodeChild | {
  155. default?: (() => vue.VNodeChild) | undefined;
  156. } | (() => vue.VNodeChild);
  157. 'v-slots'?: {
  158. default?: false | (() => vue.VNodeChild) | undefined;
  159. } | undefined;
  160. } & {
  161. "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
  162. }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
  163. style: vue.StyleValue;
  164. size: string | number;
  165. tag: string;
  166. justify: string;
  167. density: Density;
  168. fillDot: boolean;
  169. hideOpposite: boolean;
  170. lineInset: string | number;
  171. lineThickness: string | number;
  172. }, {}, string, vue.SlotsType<Partial<{
  173. default: () => vue.VNode[];
  174. }>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
  175. theme: StringConstructor;
  176. tag: {
  177. type: StringConstructor;
  178. default: string;
  179. };
  180. density: {
  181. type: vue.PropType<Density>;
  182. default: string;
  183. validator: (v: any) => boolean;
  184. };
  185. class: vue.PropType<ClassValue>;
  186. style: {
  187. type: vue.PropType<vue.StyleValue>;
  188. default: null;
  189. };
  190. size: {
  191. type: (StringConstructor | NumberConstructor)[];
  192. default: string;
  193. };
  194. dotColor: StringConstructor;
  195. fillDot: BooleanConstructor;
  196. iconColor: StringConstructor;
  197. hideOpposite: {
  198. type: BooleanConstructor;
  199. default: undefined;
  200. };
  201. lineInset: {
  202. type: vue.PropType<string | number>;
  203. default: NonNullable<string | number>;
  204. };
  205. align: Prop<TimelineAlign>;
  206. direction: Prop<TimelineDirection>;
  207. justify: {
  208. type: StringConstructor;
  209. default: string;
  210. validator: (v: any) => boolean;
  211. };
  212. side: Prop<TimelineSide>;
  213. lineThickness: {
  214. type: (StringConstructor | NumberConstructor)[];
  215. default: number;
  216. };
  217. lineColor: StringConstructor;
  218. truncateLine: Prop<TimelineTruncateLine>;
  219. }, vue.ExtractPropTypes<{
  220. theme: StringConstructor;
  221. tag: {
  222. type: StringConstructor;
  223. default: string;
  224. };
  225. density: {
  226. type: vue.PropType<Density>;
  227. default: string;
  228. validator: (v: any) => boolean;
  229. };
  230. class: vue.PropType<ClassValue>;
  231. style: {
  232. type: vue.PropType<vue.StyleValue>;
  233. default: null;
  234. };
  235. size: {
  236. type: (StringConstructor | NumberConstructor)[];
  237. default: string;
  238. };
  239. dotColor: StringConstructor;
  240. fillDot: BooleanConstructor;
  241. iconColor: StringConstructor;
  242. hideOpposite: {
  243. type: BooleanConstructor;
  244. default: undefined;
  245. };
  246. lineInset: {
  247. type: vue.PropType<string | number>;
  248. default: NonNullable<string | number>;
  249. };
  250. align: Prop<TimelineAlign>;
  251. direction: Prop<TimelineDirection>;
  252. justify: {
  253. type: StringConstructor;
  254. default: string;
  255. validator: (v: any) => boolean;
  256. };
  257. side: Prop<TimelineSide>;
  258. lineThickness: {
  259. type: (StringConstructor | NumberConstructor)[];
  260. default: number;
  261. };
  262. lineColor: StringConstructor;
  263. truncateLine: Prop<TimelineTruncateLine>;
  264. }>>;
  265. type VTimeline = InstanceType<typeof VTimeline>;
  266. type JSXComponent<Props = any> = {
  267. new (): ComponentPublicInstance<Props>;
  268. } | FunctionalComponent<Props>;
  269. type IconValue = string | (string | [path: string, opacity: number])[] | JSXComponent;
  270. declare const IconValue: PropType<IconValue>;
  271. declare const VTimelineItem: {
  272. new (...args: any[]): vue.CreateComponentPublicInstance<{
  273. style: vue.StyleValue;
  274. size: string | number;
  275. tag: string;
  276. tile: boolean;
  277. fillDot: boolean;
  278. hideDot: boolean;
  279. } & {
  280. height?: string | number | undefined;
  281. width?: string | number | undefined;
  282. maxHeight?: string | number | undefined;
  283. maxWidth?: string | number | undefined;
  284. minHeight?: string | number | undefined;
  285. minWidth?: string | number | undefined;
  286. class?: any;
  287. icon?: IconValue | undefined;
  288. elevation?: string | number | undefined;
  289. rounded?: string | number | boolean | undefined;
  290. density?: "default" | "compact" | undefined;
  291. dotColor?: string | undefined;
  292. iconColor?: string | undefined;
  293. hideOpposite?: boolean | undefined;
  294. lineInset?: string | number | undefined;
  295. } & {
  296. $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
  297. default?: (() => vue.VNodeChild) | undefined;
  298. icon?: (() => vue.VNodeChild) | undefined;
  299. opposite?: (() => vue.VNodeChild) | undefined;
  300. };
  301. 'v-slots'?: {
  302. default?: false | (() => vue.VNodeChild) | undefined;
  303. icon?: false | (() => vue.VNodeChild) | undefined;
  304. opposite?: false | (() => vue.VNodeChild) | undefined;
  305. } | undefined;
  306. } & {
  307. "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
  308. "v-slot:icon"?: false | (() => vue.VNodeChild) | undefined;
  309. "v-slot:opposite"?: false | (() => vue.VNodeChild) | undefined;
  310. }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
  311. style: vue.StyleValue;
  312. size: string | number;
  313. tag: string;
  314. tile: boolean;
  315. fillDot: boolean;
  316. hideDot: boolean;
  317. } & {
  318. height?: string | number | undefined;
  319. width?: string | number | undefined;
  320. maxHeight?: string | number | undefined;
  321. maxWidth?: string | number | undefined;
  322. minHeight?: string | number | undefined;
  323. minWidth?: string | number | undefined;
  324. class?: any;
  325. icon?: IconValue | undefined;
  326. elevation?: string | number | undefined;
  327. rounded?: string | number | boolean | undefined;
  328. density?: "default" | "compact" | undefined;
  329. dotColor?: string | undefined;
  330. iconColor?: string | undefined;
  331. hideOpposite?: boolean | undefined;
  332. lineInset?: string | number | undefined;
  333. } & {
  334. $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
  335. default?: (() => vue.VNodeChild) | undefined;
  336. icon?: (() => vue.VNodeChild) | undefined;
  337. opposite?: (() => vue.VNodeChild) | undefined;
  338. };
  339. 'v-slots'?: {
  340. default?: false | (() => vue.VNodeChild) | undefined;
  341. icon?: false | (() => vue.VNodeChild) | undefined;
  342. opposite?: false | (() => vue.VNodeChild) | undefined;
  343. } | undefined;
  344. } & {
  345. "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
  346. "v-slot:icon"?: false | (() => vue.VNodeChild) | undefined;
  347. "v-slot:opposite"?: false | (() => vue.VNodeChild) | undefined;
  348. }, {
  349. style: vue.StyleValue;
  350. size: string | number;
  351. tag: string;
  352. rounded: string | number | boolean;
  353. tile: boolean;
  354. fillDot: boolean;
  355. hideDot: boolean;
  356. hideOpposite: boolean;
  357. }, true, {}, vue.SlotsType<Partial<{
  358. default: () => vue.VNode[];
  359. icon: () => vue.VNode[];
  360. opposite: () => vue.VNode[];
  361. }>>, {
  362. P: {};
  363. B: {};
  364. D: {};
  365. C: {};
  366. M: {};
  367. Defaults: {};
  368. }, {
  369. style: vue.StyleValue;
  370. size: string | number;
  371. tag: string;
  372. tile: boolean;
  373. fillDot: boolean;
  374. hideDot: boolean;
  375. } & {
  376. height?: string | number | undefined;
  377. width?: string | number | undefined;
  378. maxHeight?: string | number | undefined;
  379. maxWidth?: string | number | undefined;
  380. minHeight?: string | number | undefined;
  381. minWidth?: string | number | undefined;
  382. class?: any;
  383. icon?: IconValue | undefined;
  384. elevation?: string | number | undefined;
  385. rounded?: string | number | boolean | undefined;
  386. density?: "default" | "compact" | undefined;
  387. dotColor?: string | undefined;
  388. iconColor?: string | undefined;
  389. hideOpposite?: boolean | undefined;
  390. lineInset?: string | number | undefined;
  391. } & {
  392. $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
  393. default?: (() => vue.VNodeChild) | undefined;
  394. icon?: (() => vue.VNodeChild) | undefined;
  395. opposite?: (() => vue.VNodeChild) | undefined;
  396. };
  397. 'v-slots'?: {
  398. default?: false | (() => vue.VNodeChild) | undefined;
  399. icon?: false | (() => vue.VNodeChild) | undefined;
  400. opposite?: false | (() => vue.VNodeChild) | undefined;
  401. } | undefined;
  402. } & {
  403. "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
  404. "v-slot:icon"?: false | (() => vue.VNodeChild) | undefined;
  405. "v-slot:opposite"?: false | (() => vue.VNodeChild) | undefined;
  406. }, {}, {}, {}, {}, {
  407. style: vue.StyleValue;
  408. size: string | number;
  409. tag: string;
  410. rounded: string | number | boolean;
  411. tile: boolean;
  412. fillDot: boolean;
  413. hideDot: boolean;
  414. hideOpposite: boolean;
  415. }>;
  416. __isFragment?: never;
  417. __isTeleport?: never;
  418. __isSuspense?: never;
  419. } & vue.ComponentOptionsBase<{
  420. style: vue.StyleValue;
  421. size: string | number;
  422. tag: string;
  423. tile: boolean;
  424. fillDot: boolean;
  425. hideDot: boolean;
  426. } & {
  427. height?: string | number | undefined;
  428. width?: string | number | undefined;
  429. maxHeight?: string | number | undefined;
  430. maxWidth?: string | number | undefined;
  431. minHeight?: string | number | undefined;
  432. minWidth?: string | number | undefined;
  433. class?: any;
  434. icon?: IconValue | undefined;
  435. elevation?: string | number | undefined;
  436. rounded?: string | number | boolean | undefined;
  437. density?: "default" | "compact" | undefined;
  438. dotColor?: string | undefined;
  439. iconColor?: string | undefined;
  440. hideOpposite?: boolean | undefined;
  441. lineInset?: string | number | undefined;
  442. } & {
  443. $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
  444. default?: (() => vue.VNodeChild) | undefined;
  445. icon?: (() => vue.VNodeChild) | undefined;
  446. opposite?: (() => vue.VNodeChild) | undefined;
  447. };
  448. 'v-slots'?: {
  449. default?: false | (() => vue.VNodeChild) | undefined;
  450. icon?: false | (() => vue.VNodeChild) | undefined;
  451. opposite?: false | (() => vue.VNodeChild) | undefined;
  452. } | undefined;
  453. } & {
  454. "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
  455. "v-slot:icon"?: false | (() => vue.VNodeChild) | undefined;
  456. "v-slot:opposite"?: false | (() => vue.VNodeChild) | undefined;
  457. }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
  458. style: vue.StyleValue;
  459. size: string | number;
  460. tag: string;
  461. rounded: string | number | boolean;
  462. tile: boolean;
  463. fillDot: boolean;
  464. hideDot: boolean;
  465. hideOpposite: boolean;
  466. }, {}, string, vue.SlotsType<Partial<{
  467. default: () => vue.VNode[];
  468. icon: () => vue.VNode[];
  469. opposite: () => vue.VNode[];
  470. }>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
  471. tag: {
  472. type: StringConstructor;
  473. default: string;
  474. };
  475. size: {
  476. type: (StringConstructor | NumberConstructor)[];
  477. default: string;
  478. };
  479. rounded: {
  480. type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
  481. default: undefined;
  482. };
  483. tile: BooleanConstructor;
  484. elevation: {
  485. type: (StringConstructor | NumberConstructor)[];
  486. validator(v: any): boolean;
  487. };
  488. height: (StringConstructor | NumberConstructor)[];
  489. maxHeight: (StringConstructor | NumberConstructor)[];
  490. maxWidth: (StringConstructor | NumberConstructor)[];
  491. minHeight: (StringConstructor | NumberConstructor)[];
  492. minWidth: (StringConstructor | NumberConstructor)[];
  493. width: (StringConstructor | NumberConstructor)[];
  494. class: PropType<ClassValue>;
  495. style: {
  496. type: PropType<vue.StyleValue>;
  497. default: null;
  498. };
  499. density: PropType<"default" | "compact">;
  500. dotColor: StringConstructor;
  501. fillDot: BooleanConstructor;
  502. hideDot: BooleanConstructor;
  503. hideOpposite: {
  504. type: BooleanConstructor;
  505. default: undefined;
  506. };
  507. icon: PropType<IconValue>;
  508. iconColor: StringConstructor;
  509. lineInset: (StringConstructor | NumberConstructor)[];
  510. }, vue.ExtractPropTypes<{
  511. tag: {
  512. type: StringConstructor;
  513. default: string;
  514. };
  515. size: {
  516. type: (StringConstructor | NumberConstructor)[];
  517. default: string;
  518. };
  519. rounded: {
  520. type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
  521. default: undefined;
  522. };
  523. tile: BooleanConstructor;
  524. elevation: {
  525. type: (StringConstructor | NumberConstructor)[];
  526. validator(v: any): boolean;
  527. };
  528. height: (StringConstructor | NumberConstructor)[];
  529. maxHeight: (StringConstructor | NumberConstructor)[];
  530. maxWidth: (StringConstructor | NumberConstructor)[];
  531. minHeight: (StringConstructor | NumberConstructor)[];
  532. minWidth: (StringConstructor | NumberConstructor)[];
  533. width: (StringConstructor | NumberConstructor)[];
  534. class: PropType<ClassValue>;
  535. style: {
  536. type: PropType<vue.StyleValue>;
  537. default: null;
  538. };
  539. density: PropType<"default" | "compact">;
  540. dotColor: StringConstructor;
  541. fillDot: BooleanConstructor;
  542. hideDot: BooleanConstructor;
  543. hideOpposite: {
  544. type: BooleanConstructor;
  545. default: undefined;
  546. };
  547. icon: PropType<IconValue>;
  548. iconColor: StringConstructor;
  549. lineInset: (StringConstructor | NumberConstructor)[];
  550. }>>;
  551. type VTimelineItem = InstanceType<typeof VTimelineItem>;
  552. export { VTimeline, VTimelineItem };