index.d.mts 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500
  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 breakpoints: readonly ["sm", "md", "lg", "xl", "xxl"];
  8. type Breakpoint = typeof breakpoints[number];
  9. type DisplayBreakpoint = 'xs' | Breakpoint;
  10. type VNavigationDrawerImageSlot = {
  11. image: string | undefined;
  12. };
  13. declare const locations: readonly ["start", "end", "left", "right", "top", "bottom"];
  14. declare const VNavigationDrawer: {
  15. new (...args: any[]): vue.CreateComponentPublicInstance<{
  16. absolute: boolean;
  17. location: "end" | "start" | "left" | "top" | "bottom" | "right";
  18. width: string | number;
  19. order: string | number;
  20. style: vue.StyleValue;
  21. mobile: boolean | null;
  22. temporary: boolean;
  23. persistent: boolean;
  24. tag: string;
  25. sticky: boolean;
  26. modelValue: boolean | null;
  27. tile: boolean;
  28. floating: boolean;
  29. scrim: string | boolean;
  30. touchless: boolean;
  31. disableResizeWatcher: boolean;
  32. disableRouteWatcher: boolean;
  33. expandOnHover: boolean;
  34. permanent: boolean;
  35. rail: boolean | null;
  36. railWidth: string | number;
  37. } & {
  38. name?: string | undefined;
  39. border?: string | number | boolean | undefined;
  40. color?: string | undefined;
  41. image?: string | undefined;
  42. class?: any;
  43. theme?: string | undefined;
  44. elevation?: string | number | undefined;
  45. mobileBreakpoint?: number | DisplayBreakpoint | undefined;
  46. rounded?: string | number | boolean | undefined;
  47. closeDelay?: string | number | undefined;
  48. openDelay?: string | number | undefined;
  49. } & {
  50. $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
  51. default?: (() => vue.VNodeChild) | undefined;
  52. prepend?: (() => vue.VNodeChild) | undefined;
  53. append?: (() => vue.VNodeChild) | undefined;
  54. image?: ((arg: VNavigationDrawerImageSlot) => vue.VNodeChild) | undefined;
  55. };
  56. 'v-slots'?: {
  57. default?: false | (() => vue.VNodeChild) | undefined;
  58. prepend?: false | (() => vue.VNodeChild) | undefined;
  59. append?: false | (() => vue.VNodeChild) | undefined;
  60. image?: false | ((arg: VNavigationDrawerImageSlot) => vue.VNodeChild) | undefined;
  61. } | undefined;
  62. } & {
  63. "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
  64. "v-slot:prepend"?: false | (() => vue.VNodeChild) | undefined;
  65. "v-slot:append"?: false | (() => vue.VNodeChild) | undefined;
  66. "v-slot:image"?: false | ((arg: VNavigationDrawerImageSlot) => vue.VNodeChild) | undefined;
  67. } & {
  68. "onUpdate:modelValue"?: ((val: boolean) => any) | undefined;
  69. "onUpdate:rail"?: ((val: boolean) => any) | undefined;
  70. }, {
  71. isStuck: vue.ShallowRef<boolean | "top" | "bottom">;
  72. }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
  73. 'update:modelValue': (val: boolean) => true;
  74. 'update:rail': (val: boolean) => true;
  75. }, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
  76. absolute: boolean;
  77. location: "end" | "start" | "left" | "top" | "bottom" | "right";
  78. width: string | number;
  79. order: string | number;
  80. style: vue.StyleValue;
  81. mobile: boolean | null;
  82. temporary: boolean;
  83. persistent: boolean;
  84. tag: string;
  85. sticky: boolean;
  86. modelValue: boolean | null;
  87. tile: boolean;
  88. floating: boolean;
  89. scrim: string | boolean;
  90. touchless: boolean;
  91. disableResizeWatcher: boolean;
  92. disableRouteWatcher: boolean;
  93. expandOnHover: boolean;
  94. permanent: boolean;
  95. rail: boolean | null;
  96. railWidth: string | number;
  97. } & {
  98. name?: string | undefined;
  99. border?: string | number | boolean | undefined;
  100. color?: string | undefined;
  101. image?: string | undefined;
  102. class?: any;
  103. theme?: string | undefined;
  104. elevation?: string | number | undefined;
  105. mobileBreakpoint?: number | DisplayBreakpoint | undefined;
  106. rounded?: string | number | boolean | undefined;
  107. closeDelay?: string | number | undefined;
  108. openDelay?: string | number | undefined;
  109. } & {
  110. $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
  111. default?: (() => vue.VNodeChild) | undefined;
  112. prepend?: (() => vue.VNodeChild) | undefined;
  113. append?: (() => vue.VNodeChild) | undefined;
  114. image?: ((arg: VNavigationDrawerImageSlot) => vue.VNodeChild) | undefined;
  115. };
  116. 'v-slots'?: {
  117. default?: false | (() => vue.VNodeChild) | undefined;
  118. prepend?: false | (() => vue.VNodeChild) | undefined;
  119. append?: false | (() => vue.VNodeChild) | undefined;
  120. image?: false | ((arg: VNavigationDrawerImageSlot) => vue.VNodeChild) | undefined;
  121. } | undefined;
  122. } & {
  123. "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
  124. "v-slot:prepend"?: false | (() => vue.VNodeChild) | undefined;
  125. "v-slot:append"?: false | (() => vue.VNodeChild) | undefined;
  126. "v-slot:image"?: false | ((arg: VNavigationDrawerImageSlot) => vue.VNodeChild) | undefined;
  127. } & {
  128. "onUpdate:modelValue"?: ((val: boolean) => any) | undefined;
  129. "onUpdate:rail"?: ((val: boolean) => any) | undefined;
  130. }, {
  131. absolute: boolean;
  132. location: "end" | "start" | "left" | "top" | "bottom" | "right";
  133. width: string | number;
  134. order: string | number;
  135. style: vue.StyleValue;
  136. mobile: boolean | null;
  137. temporary: boolean;
  138. persistent: boolean;
  139. tag: string;
  140. sticky: boolean;
  141. modelValue: boolean | null;
  142. rounded: string | number | boolean;
  143. tile: boolean;
  144. floating: boolean;
  145. scrim: string | boolean;
  146. touchless: boolean;
  147. disableResizeWatcher: boolean;
  148. disableRouteWatcher: boolean;
  149. expandOnHover: boolean;
  150. permanent: boolean;
  151. rail: boolean | null;
  152. railWidth: string | number;
  153. }, true, {}, vue.SlotsType<Partial<{
  154. default: () => vue.VNode[];
  155. prepend: () => vue.VNode[];
  156. append: () => vue.VNode[];
  157. image: (arg: VNavigationDrawerImageSlot) => vue.VNode[];
  158. }>>, {
  159. P: {};
  160. B: {};
  161. D: {};
  162. C: {};
  163. M: {};
  164. Defaults: {};
  165. }, {
  166. absolute: boolean;
  167. location: "end" | "start" | "left" | "top" | "bottom" | "right";
  168. width: string | number;
  169. order: string | number;
  170. style: vue.StyleValue;
  171. mobile: boolean | null;
  172. temporary: boolean;
  173. persistent: boolean;
  174. tag: string;
  175. sticky: boolean;
  176. modelValue: boolean | null;
  177. tile: boolean;
  178. floating: boolean;
  179. scrim: string | boolean;
  180. touchless: boolean;
  181. disableResizeWatcher: boolean;
  182. disableRouteWatcher: boolean;
  183. expandOnHover: boolean;
  184. permanent: boolean;
  185. rail: boolean | null;
  186. railWidth: string | number;
  187. } & {
  188. name?: string | undefined;
  189. border?: string | number | boolean | undefined;
  190. color?: string | undefined;
  191. image?: string | undefined;
  192. class?: any;
  193. theme?: string | undefined;
  194. elevation?: string | number | undefined;
  195. mobileBreakpoint?: number | DisplayBreakpoint | undefined;
  196. rounded?: string | number | boolean | undefined;
  197. closeDelay?: string | number | undefined;
  198. openDelay?: string | number | undefined;
  199. } & {
  200. $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
  201. default?: (() => vue.VNodeChild) | undefined;
  202. prepend?: (() => vue.VNodeChild) | undefined;
  203. append?: (() => vue.VNodeChild) | undefined;
  204. image?: ((arg: VNavigationDrawerImageSlot) => vue.VNodeChild) | undefined;
  205. };
  206. 'v-slots'?: {
  207. default?: false | (() => vue.VNodeChild) | undefined;
  208. prepend?: false | (() => vue.VNodeChild) | undefined;
  209. append?: false | (() => vue.VNodeChild) | undefined;
  210. image?: false | ((arg: VNavigationDrawerImageSlot) => vue.VNodeChild) | undefined;
  211. } | undefined;
  212. } & {
  213. "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
  214. "v-slot:prepend"?: false | (() => vue.VNodeChild) | undefined;
  215. "v-slot:append"?: false | (() => vue.VNodeChild) | undefined;
  216. "v-slot:image"?: false | ((arg: VNavigationDrawerImageSlot) => vue.VNodeChild) | undefined;
  217. } & {
  218. "onUpdate:modelValue"?: ((val: boolean) => any) | undefined;
  219. "onUpdate:rail"?: ((val: boolean) => any) | undefined;
  220. }, {
  221. isStuck: vue.ShallowRef<boolean | "top" | "bottom">;
  222. }, {}, {}, {}, {
  223. absolute: boolean;
  224. location: "end" | "start" | "left" | "top" | "bottom" | "right";
  225. width: string | number;
  226. order: string | number;
  227. style: vue.StyleValue;
  228. mobile: boolean | null;
  229. temporary: boolean;
  230. persistent: boolean;
  231. tag: string;
  232. sticky: boolean;
  233. modelValue: boolean | null;
  234. rounded: string | number | boolean;
  235. tile: boolean;
  236. floating: boolean;
  237. scrim: string | boolean;
  238. touchless: boolean;
  239. disableResizeWatcher: boolean;
  240. disableRouteWatcher: boolean;
  241. expandOnHover: boolean;
  242. permanent: boolean;
  243. rail: boolean | null;
  244. railWidth: string | number;
  245. }>;
  246. __isFragment?: never;
  247. __isTeleport?: never;
  248. __isSuspense?: never;
  249. } & vue.ComponentOptionsBase<{
  250. absolute: boolean;
  251. location: "end" | "start" | "left" | "top" | "bottom" | "right";
  252. width: string | number;
  253. order: string | number;
  254. style: vue.StyleValue;
  255. mobile: boolean | null;
  256. temporary: boolean;
  257. persistent: boolean;
  258. tag: string;
  259. sticky: boolean;
  260. modelValue: boolean | null;
  261. tile: boolean;
  262. floating: boolean;
  263. scrim: string | boolean;
  264. touchless: boolean;
  265. disableResizeWatcher: boolean;
  266. disableRouteWatcher: boolean;
  267. expandOnHover: boolean;
  268. permanent: boolean;
  269. rail: boolean | null;
  270. railWidth: string | number;
  271. } & {
  272. name?: string | undefined;
  273. border?: string | number | boolean | undefined;
  274. color?: string | undefined;
  275. image?: string | undefined;
  276. class?: any;
  277. theme?: string | undefined;
  278. elevation?: string | number | undefined;
  279. mobileBreakpoint?: number | DisplayBreakpoint | undefined;
  280. rounded?: string | number | boolean | undefined;
  281. closeDelay?: string | number | undefined;
  282. openDelay?: string | number | undefined;
  283. } & {
  284. $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
  285. default?: (() => vue.VNodeChild) | undefined;
  286. prepend?: (() => vue.VNodeChild) | undefined;
  287. append?: (() => vue.VNodeChild) | undefined;
  288. image?: ((arg: VNavigationDrawerImageSlot) => vue.VNodeChild) | undefined;
  289. };
  290. 'v-slots'?: {
  291. default?: false | (() => vue.VNodeChild) | undefined;
  292. prepend?: false | (() => vue.VNodeChild) | undefined;
  293. append?: false | (() => vue.VNodeChild) | undefined;
  294. image?: false | ((arg: VNavigationDrawerImageSlot) => vue.VNodeChild) | undefined;
  295. } | undefined;
  296. } & {
  297. "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
  298. "v-slot:prepend"?: false | (() => vue.VNodeChild) | undefined;
  299. "v-slot:append"?: false | (() => vue.VNodeChild) | undefined;
  300. "v-slot:image"?: false | ((arg: VNavigationDrawerImageSlot) => vue.VNodeChild) | undefined;
  301. } & {
  302. "onUpdate:modelValue"?: ((val: boolean) => any) | undefined;
  303. "onUpdate:rail"?: ((val: boolean) => any) | undefined;
  304. }, {
  305. isStuck: vue.ShallowRef<boolean | "top" | "bottom">;
  306. }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
  307. 'update:modelValue': (val: boolean) => true;
  308. 'update:rail': (val: boolean) => true;
  309. }, string, {
  310. absolute: boolean;
  311. location: "end" | "start" | "left" | "top" | "bottom" | "right";
  312. width: string | number;
  313. order: string | number;
  314. style: vue.StyleValue;
  315. mobile: boolean | null;
  316. temporary: boolean;
  317. persistent: boolean;
  318. tag: string;
  319. sticky: boolean;
  320. modelValue: boolean | null;
  321. rounded: string | number | boolean;
  322. tile: boolean;
  323. floating: boolean;
  324. scrim: string | boolean;
  325. touchless: boolean;
  326. disableResizeWatcher: boolean;
  327. disableRouteWatcher: boolean;
  328. expandOnHover: boolean;
  329. permanent: boolean;
  330. rail: boolean | null;
  331. railWidth: string | number;
  332. }, {}, string, vue.SlotsType<Partial<{
  333. default: () => vue.VNode[];
  334. prepend: () => vue.VNode[];
  335. append: () => vue.VNode[];
  336. image: (arg: VNavigationDrawerImageSlot) => vue.VNode[];
  337. }>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
  338. theme: StringConstructor;
  339. tag: Omit<{
  340. type: StringConstructor;
  341. default: string;
  342. }, "type" | "default"> & {
  343. type: PropType<string>;
  344. default: string;
  345. };
  346. rounded: {
  347. type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
  348. default: undefined;
  349. };
  350. tile: BooleanConstructor;
  351. name: {
  352. type: StringConstructor;
  353. };
  354. order: {
  355. type: (StringConstructor | NumberConstructor)[];
  356. default: number;
  357. };
  358. absolute: BooleanConstructor;
  359. elevation: {
  360. type: (StringConstructor | NumberConstructor)[];
  361. validator(v: any): boolean;
  362. };
  363. mobile: Omit<{
  364. type: PropType<boolean | null>;
  365. default: boolean;
  366. }, "type" | "default"> & {
  367. type: PropType<boolean | null>;
  368. default: NonNullable<boolean | null> | null;
  369. };
  370. mobileBreakpoint: PropType<number | DisplayBreakpoint>;
  371. closeDelay: (StringConstructor | NumberConstructor)[];
  372. openDelay: (StringConstructor | NumberConstructor)[];
  373. class: PropType<ClassValue>;
  374. style: {
  375. type: PropType<vue.StyleValue>;
  376. default: null;
  377. };
  378. border: (StringConstructor | BooleanConstructor | NumberConstructor)[];
  379. color: StringConstructor;
  380. disableResizeWatcher: BooleanConstructor;
  381. disableRouteWatcher: BooleanConstructor;
  382. expandOnHover: BooleanConstructor;
  383. floating: BooleanConstructor;
  384. modelValue: {
  385. type: PropType<boolean | null>;
  386. default: null;
  387. };
  388. permanent: BooleanConstructor;
  389. rail: {
  390. type: PropType<boolean | null>;
  391. default: null;
  392. };
  393. railWidth: {
  394. type: (StringConstructor | NumberConstructor)[];
  395. default: number;
  396. };
  397. scrim: {
  398. type: (StringConstructor | BooleanConstructor)[];
  399. default: boolean;
  400. };
  401. image: StringConstructor;
  402. temporary: BooleanConstructor;
  403. persistent: BooleanConstructor;
  404. touchless: BooleanConstructor;
  405. width: {
  406. type: (StringConstructor | NumberConstructor)[];
  407. default: number;
  408. };
  409. location: {
  410. type: PropType<(typeof locations)[number]>;
  411. default: string;
  412. validator: (value: any) => boolean;
  413. };
  414. sticky: BooleanConstructor;
  415. }, vue.ExtractPropTypes<{
  416. theme: StringConstructor;
  417. tag: Omit<{
  418. type: StringConstructor;
  419. default: string;
  420. }, "type" | "default"> & {
  421. type: PropType<string>;
  422. default: string;
  423. };
  424. rounded: {
  425. type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
  426. default: undefined;
  427. };
  428. tile: BooleanConstructor;
  429. name: {
  430. type: StringConstructor;
  431. };
  432. order: {
  433. type: (StringConstructor | NumberConstructor)[];
  434. default: number;
  435. };
  436. absolute: BooleanConstructor;
  437. elevation: {
  438. type: (StringConstructor | NumberConstructor)[];
  439. validator(v: any): boolean;
  440. };
  441. mobile: Omit<{
  442. type: PropType<boolean | null>;
  443. default: boolean;
  444. }, "type" | "default"> & {
  445. type: PropType<boolean | null>;
  446. default: NonNullable<boolean | null> | null;
  447. };
  448. mobileBreakpoint: PropType<number | DisplayBreakpoint>;
  449. closeDelay: (StringConstructor | NumberConstructor)[];
  450. openDelay: (StringConstructor | NumberConstructor)[];
  451. class: PropType<ClassValue>;
  452. style: {
  453. type: PropType<vue.StyleValue>;
  454. default: null;
  455. };
  456. border: (StringConstructor | BooleanConstructor | NumberConstructor)[];
  457. color: StringConstructor;
  458. disableResizeWatcher: BooleanConstructor;
  459. disableRouteWatcher: BooleanConstructor;
  460. expandOnHover: BooleanConstructor;
  461. floating: BooleanConstructor;
  462. modelValue: {
  463. type: PropType<boolean | null>;
  464. default: null;
  465. };
  466. permanent: BooleanConstructor;
  467. rail: {
  468. type: PropType<boolean | null>;
  469. default: null;
  470. };
  471. railWidth: {
  472. type: (StringConstructor | NumberConstructor)[];
  473. default: number;
  474. };
  475. scrim: {
  476. type: (StringConstructor | BooleanConstructor)[];
  477. default: boolean;
  478. };
  479. image: StringConstructor;
  480. temporary: BooleanConstructor;
  481. persistent: BooleanConstructor;
  482. touchless: BooleanConstructor;
  483. width: {
  484. type: (StringConstructor | NumberConstructor)[];
  485. default: number;
  486. };
  487. location: {
  488. type: PropType<(typeof locations)[number]>;
  489. default: string;
  490. validator: (value: any) => boolean;
  491. };
  492. sticky: BooleanConstructor;
  493. }>>;
  494. type VNavigationDrawer = InstanceType<typeof VNavigationDrawer>;
  495. export { VNavigationDrawer };