index.d.mts 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243
  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 ClassValue = any;
  7. declare const VLazy: {
  8. new (...args: any[]): vue.CreateComponentPublicInstance<{
  9. transition: string | boolean | (vue.TransitionProps & {
  10. component?: vue.Component;
  11. });
  12. style: vue.StyleValue;
  13. options: IntersectionObserverInit;
  14. tag: string;
  15. modelValue: boolean;
  16. } & {
  17. height?: string | number | undefined;
  18. width?: string | number | undefined;
  19. maxHeight?: string | number | undefined;
  20. maxWidth?: string | number | undefined;
  21. minHeight?: string | number | undefined;
  22. minWidth?: string | number | undefined;
  23. class?: any;
  24. } & {
  25. $children?: vue.VNodeChild | {
  26. default?: (() => vue.VNodeChild) | undefined;
  27. } | (() => vue.VNodeChild);
  28. 'v-slots'?: {
  29. default?: false | (() => vue.VNodeChild) | undefined;
  30. } | undefined;
  31. } & {
  32. "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
  33. } & {
  34. "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
  35. }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
  36. 'update:modelValue': (value: boolean) => true;
  37. }, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
  38. transition: string | boolean | (vue.TransitionProps & {
  39. component?: vue.Component;
  40. });
  41. style: vue.StyleValue;
  42. options: IntersectionObserverInit;
  43. tag: string;
  44. modelValue: boolean;
  45. } & {
  46. height?: string | number | undefined;
  47. width?: string | number | undefined;
  48. maxHeight?: string | number | undefined;
  49. maxWidth?: string | number | undefined;
  50. minHeight?: string | number | undefined;
  51. minWidth?: string | number | undefined;
  52. class?: any;
  53. } & {
  54. $children?: vue.VNodeChild | {
  55. default?: (() => vue.VNodeChild) | undefined;
  56. } | (() => vue.VNodeChild);
  57. 'v-slots'?: {
  58. default?: false | (() => vue.VNodeChild) | undefined;
  59. } | undefined;
  60. } & {
  61. "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
  62. } & {
  63. "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
  64. }, {
  65. transition: string | boolean | (vue.TransitionProps & {
  66. component?: vue.Component;
  67. });
  68. style: vue.StyleValue;
  69. options: IntersectionObserverInit;
  70. tag: string;
  71. modelValue: boolean;
  72. }, true, {}, vue.SlotsType<Partial<{
  73. default: () => vue.VNode[];
  74. }>>, {
  75. P: {};
  76. B: {};
  77. D: {};
  78. C: {};
  79. M: {};
  80. Defaults: {};
  81. }, {
  82. transition: string | boolean | (vue.TransitionProps & {
  83. component?: vue.Component;
  84. });
  85. style: vue.StyleValue;
  86. options: IntersectionObserverInit;
  87. tag: string;
  88. modelValue: boolean;
  89. } & {
  90. height?: string | number | undefined;
  91. width?: string | number | undefined;
  92. maxHeight?: string | number | undefined;
  93. maxWidth?: string | number | undefined;
  94. minHeight?: string | number | undefined;
  95. minWidth?: string | number | undefined;
  96. class?: any;
  97. } & {
  98. $children?: vue.VNodeChild | {
  99. default?: (() => vue.VNodeChild) | undefined;
  100. } | (() => vue.VNodeChild);
  101. 'v-slots'?: {
  102. default?: false | (() => vue.VNodeChild) | undefined;
  103. } | undefined;
  104. } & {
  105. "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
  106. } & {
  107. "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
  108. }, {}, {}, {}, {}, {
  109. transition: string | boolean | (vue.TransitionProps & {
  110. component?: vue.Component;
  111. });
  112. style: vue.StyleValue;
  113. options: IntersectionObserverInit;
  114. tag: string;
  115. modelValue: boolean;
  116. }>;
  117. __isFragment?: never;
  118. __isTeleport?: never;
  119. __isSuspense?: never;
  120. } & vue.ComponentOptionsBase<{
  121. transition: string | boolean | (vue.TransitionProps & {
  122. component?: vue.Component;
  123. });
  124. style: vue.StyleValue;
  125. options: IntersectionObserverInit;
  126. tag: string;
  127. modelValue: boolean;
  128. } & {
  129. height?: string | number | undefined;
  130. width?: string | number | undefined;
  131. maxHeight?: string | number | undefined;
  132. maxWidth?: string | number | undefined;
  133. minHeight?: string | number | undefined;
  134. minWidth?: string | number | undefined;
  135. class?: any;
  136. } & {
  137. $children?: vue.VNodeChild | {
  138. default?: (() => vue.VNodeChild) | undefined;
  139. } | (() => vue.VNodeChild);
  140. 'v-slots'?: {
  141. default?: false | (() => vue.VNodeChild) | undefined;
  142. } | undefined;
  143. } & {
  144. "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
  145. } & {
  146. "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
  147. }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
  148. 'update:modelValue': (value: boolean) => true;
  149. }, string, {
  150. transition: string | boolean | (vue.TransitionProps & {
  151. component?: vue.Component;
  152. });
  153. style: vue.StyleValue;
  154. options: IntersectionObserverInit;
  155. tag: string;
  156. modelValue: boolean;
  157. }, {}, string, vue.SlotsType<Partial<{
  158. default: () => vue.VNode[];
  159. }>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
  160. transition: Omit<{
  161. type: PropType<string | boolean | (vue.TransitionProps & {
  162. component?: vue.Component;
  163. })>;
  164. default: string;
  165. validator: (val: unknown) => boolean;
  166. }, "type" | "default"> & {
  167. type: PropType<string | boolean | (vue.TransitionProps & {
  168. component?: vue.Component;
  169. })>;
  170. default: NonNullable<string | boolean | (vue.TransitionProps & {
  171. component?: vue.Component;
  172. })>;
  173. };
  174. tag: {
  175. type: StringConstructor;
  176. default: string;
  177. };
  178. height: (StringConstructor | NumberConstructor)[];
  179. maxHeight: (StringConstructor | NumberConstructor)[];
  180. maxWidth: (StringConstructor | NumberConstructor)[];
  181. minHeight: (StringConstructor | NumberConstructor)[];
  182. minWidth: (StringConstructor | NumberConstructor)[];
  183. width: (StringConstructor | NumberConstructor)[];
  184. class: PropType<ClassValue>;
  185. style: {
  186. type: PropType<vue.StyleValue>;
  187. default: null;
  188. };
  189. modelValue: BooleanConstructor;
  190. options: {
  191. type: PropType<IntersectionObserverInit>;
  192. default: () => {
  193. root: undefined;
  194. rootMargin: undefined;
  195. threshold: undefined;
  196. };
  197. };
  198. }, vue.ExtractPropTypes<{
  199. transition: Omit<{
  200. type: PropType<string | boolean | (vue.TransitionProps & {
  201. component?: vue.Component;
  202. })>;
  203. default: string;
  204. validator: (val: unknown) => boolean;
  205. }, "type" | "default"> & {
  206. type: PropType<string | boolean | (vue.TransitionProps & {
  207. component?: vue.Component;
  208. })>;
  209. default: NonNullable<string | boolean | (vue.TransitionProps & {
  210. component?: vue.Component;
  211. })>;
  212. };
  213. tag: {
  214. type: StringConstructor;
  215. default: string;
  216. };
  217. height: (StringConstructor | NumberConstructor)[];
  218. maxHeight: (StringConstructor | NumberConstructor)[];
  219. maxWidth: (StringConstructor | NumberConstructor)[];
  220. minHeight: (StringConstructor | NumberConstructor)[];
  221. minWidth: (StringConstructor | NumberConstructor)[];
  222. width: (StringConstructor | NumberConstructor)[];
  223. class: PropType<ClassValue>;
  224. style: {
  225. type: PropType<vue.StyleValue>;
  226. default: null;
  227. };
  228. modelValue: BooleanConstructor;
  229. options: {
  230. type: PropType<IntersectionObserverInit>;
  231. default: () => {
  232. root: undefined;
  233. rootMargin: undefined;
  234. threshold: undefined;
  235. };
  236. };
  237. }>>;
  238. type VLazy = InstanceType<typeof VLazy>;
  239. export { VLazy };