index.d.mts 12 KB

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