index.d.mts 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214
  1. import * as vue from 'vue';
  2. import { ComponentPropsOptions, ExtractPropTypes } 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. declare const VTable: {
  9. new (...args: any[]): vue.CreateComponentPublicInstance<{
  10. style: vue.StyleValue;
  11. tag: string;
  12. density: Density;
  13. hover: boolean;
  14. fixedHeader: boolean;
  15. fixedFooter: boolean;
  16. } & {
  17. height?: string | number | undefined;
  18. class?: any;
  19. theme?: string | undefined;
  20. } & {
  21. $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
  22. default?: (() => vue.VNodeChild) | undefined;
  23. top?: (() => vue.VNodeChild) | undefined;
  24. bottom?: (() => vue.VNodeChild) | undefined;
  25. wrapper?: (() => vue.VNodeChild) | undefined;
  26. };
  27. 'v-slots'?: {
  28. default?: false | (() => vue.VNodeChild) | undefined;
  29. top?: false | (() => vue.VNodeChild) | undefined;
  30. bottom?: false | (() => vue.VNodeChild) | undefined;
  31. wrapper?: false | (() => vue.VNodeChild) | undefined;
  32. } | undefined;
  33. } & {
  34. "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
  35. "v-slot:top"?: false | (() => vue.VNodeChild) | undefined;
  36. "v-slot:bottom"?: false | (() => vue.VNodeChild) | undefined;
  37. "v-slot:wrapper"?: false | (() => vue.VNodeChild) | undefined;
  38. }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
  39. style: vue.StyleValue;
  40. tag: string;
  41. density: Density;
  42. hover: boolean;
  43. fixedHeader: boolean;
  44. fixedFooter: boolean;
  45. } & {
  46. height?: string | number | undefined;
  47. class?: any;
  48. theme?: string | undefined;
  49. } & {
  50. $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
  51. default?: (() => vue.VNodeChild) | undefined;
  52. top?: (() => vue.VNodeChild) | undefined;
  53. bottom?: (() => vue.VNodeChild) | undefined;
  54. wrapper?: (() => vue.VNodeChild) | undefined;
  55. };
  56. 'v-slots'?: {
  57. default?: false | (() => vue.VNodeChild) | undefined;
  58. top?: false | (() => vue.VNodeChild) | undefined;
  59. bottom?: false | (() => vue.VNodeChild) | undefined;
  60. wrapper?: false | (() => vue.VNodeChild) | undefined;
  61. } | undefined;
  62. } & {
  63. "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
  64. "v-slot:top"?: false | (() => vue.VNodeChild) | undefined;
  65. "v-slot:bottom"?: false | (() => vue.VNodeChild) | undefined;
  66. "v-slot:wrapper"?: false | (() => vue.VNodeChild) | undefined;
  67. }, {
  68. style: vue.StyleValue;
  69. tag: string;
  70. density: Density;
  71. hover: boolean;
  72. fixedHeader: boolean;
  73. fixedFooter: boolean;
  74. }, true, {}, vue.SlotsType<Partial<{
  75. default: () => vue.VNode[];
  76. top: () => vue.VNode[];
  77. bottom: () => vue.VNode[];
  78. wrapper: () => vue.VNode[];
  79. }>>, {
  80. P: {};
  81. B: {};
  82. D: {};
  83. C: {};
  84. M: {};
  85. Defaults: {};
  86. }, {
  87. style: vue.StyleValue;
  88. tag: string;
  89. density: Density;
  90. hover: boolean;
  91. fixedHeader: boolean;
  92. fixedFooter: boolean;
  93. } & {
  94. height?: string | number | undefined;
  95. class?: any;
  96. theme?: string | undefined;
  97. } & {
  98. $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
  99. default?: (() => vue.VNodeChild) | undefined;
  100. top?: (() => vue.VNodeChild) | undefined;
  101. bottom?: (() => vue.VNodeChild) | undefined;
  102. wrapper?: (() => vue.VNodeChild) | undefined;
  103. };
  104. 'v-slots'?: {
  105. default?: false | (() => vue.VNodeChild) | undefined;
  106. top?: false | (() => vue.VNodeChild) | undefined;
  107. bottom?: false | (() => vue.VNodeChild) | undefined;
  108. wrapper?: false | (() => vue.VNodeChild) | undefined;
  109. } | undefined;
  110. } & {
  111. "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
  112. "v-slot:top"?: false | (() => vue.VNodeChild) | undefined;
  113. "v-slot:bottom"?: false | (() => vue.VNodeChild) | undefined;
  114. "v-slot:wrapper"?: false | (() => vue.VNodeChild) | undefined;
  115. }, {}, {}, {}, {}, {
  116. style: vue.StyleValue;
  117. tag: string;
  118. density: Density;
  119. hover: boolean;
  120. fixedHeader: boolean;
  121. fixedFooter: boolean;
  122. }>;
  123. __isFragment?: never;
  124. __isTeleport?: never;
  125. __isSuspense?: never;
  126. } & vue.ComponentOptionsBase<{
  127. style: vue.StyleValue;
  128. tag: string;
  129. density: Density;
  130. hover: boolean;
  131. fixedHeader: boolean;
  132. fixedFooter: boolean;
  133. } & {
  134. height?: string | number | undefined;
  135. class?: any;
  136. theme?: string | undefined;
  137. } & {
  138. $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
  139. default?: (() => vue.VNodeChild) | undefined;
  140. top?: (() => vue.VNodeChild) | undefined;
  141. bottom?: (() => vue.VNodeChild) | undefined;
  142. wrapper?: (() => vue.VNodeChild) | undefined;
  143. };
  144. 'v-slots'?: {
  145. default?: false | (() => vue.VNodeChild) | undefined;
  146. top?: false | (() => vue.VNodeChild) | undefined;
  147. bottom?: false | (() => vue.VNodeChild) | undefined;
  148. wrapper?: false | (() => vue.VNodeChild) | undefined;
  149. } | undefined;
  150. } & {
  151. "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
  152. "v-slot:top"?: false | (() => vue.VNodeChild) | undefined;
  153. "v-slot:bottom"?: false | (() => vue.VNodeChild) | undefined;
  154. "v-slot:wrapper"?: false | (() => vue.VNodeChild) | undefined;
  155. }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
  156. style: vue.StyleValue;
  157. tag: string;
  158. density: Density;
  159. hover: boolean;
  160. fixedHeader: boolean;
  161. fixedFooter: boolean;
  162. }, {}, string, vue.SlotsType<Partial<{
  163. default: () => vue.VNode[];
  164. top: () => vue.VNode[];
  165. bottom: () => vue.VNode[];
  166. wrapper: () => vue.VNode[];
  167. }>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
  168. theme: StringConstructor;
  169. tag: {
  170. type: StringConstructor;
  171. default: string;
  172. };
  173. density: {
  174. type: vue.PropType<Density>;
  175. default: string;
  176. validator: (v: any) => boolean;
  177. };
  178. class: vue.PropType<ClassValue>;
  179. style: {
  180. type: vue.PropType<vue.StyleValue>;
  181. default: null;
  182. };
  183. fixedHeader: BooleanConstructor;
  184. fixedFooter: BooleanConstructor;
  185. height: (StringConstructor | NumberConstructor)[];
  186. hover: BooleanConstructor;
  187. }, vue.ExtractPropTypes<{
  188. theme: StringConstructor;
  189. tag: {
  190. type: StringConstructor;
  191. default: string;
  192. };
  193. density: {
  194. type: vue.PropType<Density>;
  195. default: string;
  196. validator: (v: any) => boolean;
  197. };
  198. class: vue.PropType<ClassValue>;
  199. style: {
  200. type: vue.PropType<vue.StyleValue>;
  201. default: null;
  202. };
  203. fixedHeader: BooleanConstructor;
  204. fixedFooter: BooleanConstructor;
  205. height: (StringConstructor | NumberConstructor)[];
  206. hover: BooleanConstructor;
  207. }>>;
  208. type VTable = InstanceType<typeof VTable>;
  209. export { VTable };