index.d.mts 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393
  1. import * as vue from 'vue';
  2. import { ComponentPropsOptions, ExtractPropTypes, PropType } 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 SparklineItem = number | {
  7. value: number;
  8. };
  9. declare const VSparkline: {
  10. new (...args: any[]): vue.CreateComponentPublicInstance<{
  11. fill: boolean;
  12. type: "bar" | "trend";
  13. height: string | number;
  14. width: string | number;
  15. smooth: boolean;
  16. padding: string | number;
  17. labels: SparklineItem[];
  18. modelValue: SparklineItem[];
  19. gradient: string[];
  20. itemValue: string;
  21. autoDraw: boolean;
  22. autoDrawEasing: string;
  23. gradientDirection: "left" | "top" | "bottom" | "right";
  24. labelSize: string | number;
  25. lineWidth: string | number;
  26. showLabels: boolean;
  27. autoLineWidth: boolean;
  28. } & {
  29. max?: string | number | undefined;
  30. id?: string | undefined;
  31. min?: string | number | undefined;
  32. color?: string | undefined;
  33. autoDrawDuration?: string | number | undefined;
  34. } & {
  35. $children?: vue.VNodeChild | ((arg: void) => vue.VNodeChild) | {
  36. default?: ((arg: void) => vue.VNodeChild) | undefined;
  37. label?: ((arg: {
  38. index: number;
  39. value: string;
  40. }) => vue.VNodeChild) | undefined;
  41. };
  42. 'v-slots'?: {
  43. default?: false | ((arg: void) => vue.VNodeChild) | undefined;
  44. label?: false | ((arg: {
  45. index: number;
  46. value: string;
  47. }) => vue.VNodeChild) | undefined;
  48. } | undefined;
  49. } & {
  50. "v-slot:default"?: false | ((arg: void) => vue.VNodeChild) | undefined;
  51. "v-slot:label"?: false | ((arg: {
  52. index: number;
  53. value: string;
  54. }) => vue.VNodeChild) | undefined;
  55. }, void, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
  56. fill: boolean;
  57. type: "bar" | "trend";
  58. height: string | number;
  59. width: string | number;
  60. smooth: boolean;
  61. padding: string | number;
  62. labels: SparklineItem[];
  63. modelValue: SparklineItem[];
  64. gradient: string[];
  65. itemValue: string;
  66. autoDraw: boolean;
  67. autoDrawEasing: string;
  68. gradientDirection: "left" | "top" | "bottom" | "right";
  69. labelSize: string | number;
  70. lineWidth: string | number;
  71. showLabels: boolean;
  72. autoLineWidth: boolean;
  73. } & {
  74. max?: string | number | undefined;
  75. id?: string | undefined;
  76. min?: string | number | undefined;
  77. color?: string | undefined;
  78. autoDrawDuration?: string | number | undefined;
  79. } & {
  80. $children?: vue.VNodeChild | ((arg: void) => vue.VNodeChild) | {
  81. default?: ((arg: void) => vue.VNodeChild) | undefined;
  82. label?: ((arg: {
  83. index: number;
  84. value: string;
  85. }) => vue.VNodeChild) | undefined;
  86. };
  87. 'v-slots'?: {
  88. default?: false | ((arg: void) => vue.VNodeChild) | undefined;
  89. label?: false | ((arg: {
  90. index: number;
  91. value: string;
  92. }) => vue.VNodeChild) | undefined;
  93. } | undefined;
  94. } & {
  95. "v-slot:default"?: false | ((arg: void) => vue.VNodeChild) | undefined;
  96. "v-slot:label"?: false | ((arg: {
  97. index: number;
  98. value: string;
  99. }) => vue.VNodeChild) | undefined;
  100. }, {
  101. fill: boolean;
  102. type: "bar" | "trend";
  103. height: string | number;
  104. width: string | number;
  105. smooth: boolean;
  106. padding: string | number;
  107. labels: SparklineItem[];
  108. modelValue: SparklineItem[];
  109. gradient: string[];
  110. itemValue: string;
  111. autoDraw: boolean;
  112. autoDrawEasing: string;
  113. gradientDirection: "left" | "top" | "bottom" | "right";
  114. labelSize: string | number;
  115. lineWidth: string | number;
  116. showLabels: boolean;
  117. autoLineWidth: boolean;
  118. }, true, {}, vue.SlotsType<Partial<{
  119. default: (arg: void) => vue.VNode[];
  120. label: (arg: {
  121. index: number;
  122. value: string;
  123. }) => vue.VNode[];
  124. }>>, {
  125. P: {};
  126. B: {};
  127. D: {};
  128. C: {};
  129. M: {};
  130. Defaults: {};
  131. }, {
  132. fill: boolean;
  133. type: "bar" | "trend";
  134. height: string | number;
  135. width: string | number;
  136. smooth: boolean;
  137. padding: string | number;
  138. labels: SparklineItem[];
  139. modelValue: SparklineItem[];
  140. gradient: string[];
  141. itemValue: string;
  142. autoDraw: boolean;
  143. autoDrawEasing: string;
  144. gradientDirection: "left" | "top" | "bottom" | "right";
  145. labelSize: string | number;
  146. lineWidth: string | number;
  147. showLabels: boolean;
  148. autoLineWidth: boolean;
  149. } & {
  150. max?: string | number | undefined;
  151. id?: string | undefined;
  152. min?: string | number | undefined;
  153. color?: string | undefined;
  154. autoDrawDuration?: string | number | undefined;
  155. } & {
  156. $children?: vue.VNodeChild | ((arg: void) => vue.VNodeChild) | {
  157. default?: ((arg: void) => vue.VNodeChild) | undefined;
  158. label?: ((arg: {
  159. index: number;
  160. value: string;
  161. }) => vue.VNodeChild) | undefined;
  162. };
  163. 'v-slots'?: {
  164. default?: false | ((arg: void) => vue.VNodeChild) | undefined;
  165. label?: false | ((arg: {
  166. index: number;
  167. value: string;
  168. }) => vue.VNodeChild) | undefined;
  169. } | undefined;
  170. } & {
  171. "v-slot:default"?: false | ((arg: void) => vue.VNodeChild) | undefined;
  172. "v-slot:label"?: false | ((arg: {
  173. index: number;
  174. value: string;
  175. }) => vue.VNodeChild) | undefined;
  176. }, {}, {}, {}, {}, {
  177. fill: boolean;
  178. type: "bar" | "trend";
  179. height: string | number;
  180. width: string | number;
  181. smooth: boolean;
  182. padding: string | number;
  183. labels: SparklineItem[];
  184. modelValue: SparklineItem[];
  185. gradient: string[];
  186. itemValue: string;
  187. autoDraw: boolean;
  188. autoDrawEasing: string;
  189. gradientDirection: "left" | "top" | "bottom" | "right";
  190. labelSize: string | number;
  191. lineWidth: string | number;
  192. showLabels: boolean;
  193. autoLineWidth: boolean;
  194. }>;
  195. __isFragment?: never;
  196. __isTeleport?: never;
  197. __isSuspense?: never;
  198. } & vue.ComponentOptionsBase<{
  199. fill: boolean;
  200. type: "bar" | "trend";
  201. height: string | number;
  202. width: string | number;
  203. smooth: boolean;
  204. padding: string | number;
  205. labels: SparklineItem[];
  206. modelValue: SparklineItem[];
  207. gradient: string[];
  208. itemValue: string;
  209. autoDraw: boolean;
  210. autoDrawEasing: string;
  211. gradientDirection: "left" | "top" | "bottom" | "right";
  212. labelSize: string | number;
  213. lineWidth: string | number;
  214. showLabels: boolean;
  215. autoLineWidth: boolean;
  216. } & {
  217. max?: string | number | undefined;
  218. id?: string | undefined;
  219. min?: string | number | undefined;
  220. color?: string | undefined;
  221. autoDrawDuration?: string | number | undefined;
  222. } & {
  223. $children?: vue.VNodeChild | ((arg: void) => vue.VNodeChild) | {
  224. default?: ((arg: void) => vue.VNodeChild) | undefined;
  225. label?: ((arg: {
  226. index: number;
  227. value: string;
  228. }) => vue.VNodeChild) | undefined;
  229. };
  230. 'v-slots'?: {
  231. default?: false | ((arg: void) => vue.VNodeChild) | undefined;
  232. label?: false | ((arg: {
  233. index: number;
  234. value: string;
  235. }) => vue.VNodeChild) | undefined;
  236. } | undefined;
  237. } & {
  238. "v-slot:default"?: false | ((arg: void) => vue.VNodeChild) | undefined;
  239. "v-slot:label"?: false | ((arg: {
  240. index: number;
  241. value: string;
  242. }) => vue.VNodeChild) | undefined;
  243. }, void, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
  244. fill: boolean;
  245. type: "bar" | "trend";
  246. height: string | number;
  247. width: string | number;
  248. smooth: boolean;
  249. padding: string | number;
  250. labels: SparklineItem[];
  251. modelValue: SparklineItem[];
  252. gradient: string[];
  253. itemValue: string;
  254. autoDraw: boolean;
  255. autoDrawEasing: string;
  256. gradientDirection: "left" | "top" | "bottom" | "right";
  257. labelSize: string | number;
  258. lineWidth: string | number;
  259. showLabels: boolean;
  260. autoLineWidth: boolean;
  261. }, {}, string, vue.SlotsType<Partial<{
  262. default: (arg: void) => vue.VNode[];
  263. label: (arg: {
  264. index: number;
  265. value: string;
  266. }) => vue.VNode[];
  267. }>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
  268. autoDraw: BooleanConstructor;
  269. autoDrawDuration: (StringConstructor | NumberConstructor)[];
  270. autoDrawEasing: {
  271. type: StringConstructor;
  272. default: string;
  273. };
  274. color: StringConstructor;
  275. gradient: {
  276. type: PropType<string[]>;
  277. default: () => never[];
  278. };
  279. gradientDirection: {
  280. type: PropType<"top" | "bottom" | "left" | "right">;
  281. validator: (val: string) => boolean;
  282. default: string;
  283. };
  284. height: {
  285. type: (StringConstructor | NumberConstructor)[];
  286. default: number;
  287. };
  288. labels: {
  289. type: PropType<SparklineItem[]>;
  290. default: () => never[];
  291. };
  292. labelSize: {
  293. type: (StringConstructor | NumberConstructor)[];
  294. default: number;
  295. };
  296. lineWidth: {
  297. type: (StringConstructor | NumberConstructor)[];
  298. default: number;
  299. };
  300. id: StringConstructor;
  301. itemValue: {
  302. type: StringConstructor;
  303. default: string;
  304. };
  305. modelValue: {
  306. type: PropType<SparklineItem[]>;
  307. default: () => never[];
  308. };
  309. min: (StringConstructor | NumberConstructor)[];
  310. max: (StringConstructor | NumberConstructor)[];
  311. padding: {
  312. type: (StringConstructor | NumberConstructor)[];
  313. default: number;
  314. };
  315. showLabels: BooleanConstructor;
  316. smooth: BooleanConstructor;
  317. width: {
  318. type: (StringConstructor | NumberConstructor)[];
  319. default: number;
  320. };
  321. fill: BooleanConstructor;
  322. autoLineWidth: BooleanConstructor;
  323. type: {
  324. type: PropType<"trend" | "bar">;
  325. default: string;
  326. };
  327. }, vue.ExtractPropTypes<{
  328. autoDraw: BooleanConstructor;
  329. autoDrawDuration: (StringConstructor | NumberConstructor)[];
  330. autoDrawEasing: {
  331. type: StringConstructor;
  332. default: string;
  333. };
  334. color: StringConstructor;
  335. gradient: {
  336. type: PropType<string[]>;
  337. default: () => never[];
  338. };
  339. gradientDirection: {
  340. type: PropType<"top" | "bottom" | "left" | "right">;
  341. validator: (val: string) => boolean;
  342. default: string;
  343. };
  344. height: {
  345. type: (StringConstructor | NumberConstructor)[];
  346. default: number;
  347. };
  348. labels: {
  349. type: PropType<SparklineItem[]>;
  350. default: () => never[];
  351. };
  352. labelSize: {
  353. type: (StringConstructor | NumberConstructor)[];
  354. default: number;
  355. };
  356. lineWidth: {
  357. type: (StringConstructor | NumberConstructor)[];
  358. default: number;
  359. };
  360. id: StringConstructor;
  361. itemValue: {
  362. type: StringConstructor;
  363. default: string;
  364. };
  365. modelValue: {
  366. type: PropType<SparklineItem[]>;
  367. default: () => never[];
  368. };
  369. min: (StringConstructor | NumberConstructor)[];
  370. max: (StringConstructor | NumberConstructor)[];
  371. padding: {
  372. type: (StringConstructor | NumberConstructor)[];
  373. default: number;
  374. };
  375. showLabels: BooleanConstructor;
  376. smooth: BooleanConstructor;
  377. width: {
  378. type: (StringConstructor | NumberConstructor)[];
  379. default: number;
  380. };
  381. fill: BooleanConstructor;
  382. autoLineWidth: BooleanConstructor;
  383. type: {
  384. type: PropType<"trend" | "bar">;
  385. default: string;
  386. };
  387. }>>;
  388. type VSparkline = InstanceType<typeof VSparkline>;
  389. export { VSparkline };