index.d.mts 15 KB

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