index.d.mts 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695
  1. import * as vue from 'vue';
  2. import { DirectiveBinding, ComponentPropsOptions, ExtractPropTypes, PropType, ComponentPublicInstance, FunctionalComponent, ComponentInternalInstance, Ref, ComputedRef } from 'vue';
  3. // @ts-ignore
  4. import * as vue_router from 'vue-router';
  5. type ClassValue = any;
  6. interface RippleDirectiveBinding extends Omit<DirectiveBinding, 'modifiers' | 'value'> {
  7. value?: boolean | {
  8. class: string;
  9. };
  10. modifiers: {
  11. center?: boolean;
  12. circle?: boolean;
  13. stop?: boolean;
  14. };
  15. }
  16. type Density = null | 'default' | 'comfortable' | 'compact';
  17. declare const block: readonly ["top", "bottom"];
  18. declare const inline: readonly ["start", "end", "left", "right"];
  19. type Tblock = typeof block[number];
  20. type Tinline = typeof inline[number];
  21. type Anchor = Tblock | Tinline | 'center' | 'center center' | `${Tblock} ${Tinline | 'center'}` | `${Tinline} ${Tblock | 'center'}`;
  22. interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions>, Props = ExtractPropTypes<PropsOptions>> {
  23. filterProps<T extends Partial<Props>, U extends Exclude<keyof Props, Exclude<keyof Props, keyof T>>>(props: T): Partial<Pick<T, U>>;
  24. }
  25. type JSXComponent<Props = any> = {
  26. new (): ComponentPublicInstance<Props>;
  27. } | FunctionalComponent<Props>;
  28. type IconValue = string | (string | [path: string, opacity: number])[] | JSXComponent;
  29. declare const IconValue: PropType<IconValue>;
  30. declare const allowedVariants: readonly ["elevated", "flat", "tonal", "outlined", "text", "plain"];
  31. type Variant = typeof allowedVariants[number];
  32. interface GroupItem {
  33. id: number;
  34. value: Ref<unknown>;
  35. disabled: Ref<boolean | undefined>;
  36. useIndexAsValue?: boolean;
  37. }
  38. interface GroupProvide {
  39. register: (item: GroupItem, cmp: ComponentInternalInstance) => void;
  40. unregister: (id: number) => void;
  41. select: (id: number, value: boolean) => void;
  42. selected: Ref<Readonly<number[]>>;
  43. isSelected: (id: number) => boolean;
  44. prev: () => void;
  45. next: () => void;
  46. selectedClass: Ref<string | undefined>;
  47. items: ComputedRef<{
  48. id: number;
  49. value: unknown;
  50. disabled: boolean | undefined;
  51. }[]>;
  52. disabled: Ref<boolean | undefined>;
  53. getItemIndex: (value: unknown) => number;
  54. }
  55. declare const VFab: {
  56. new (...args: any[]): vue.CreateComponentPublicInstance<{
  57. symbol: any;
  58. replace: boolean;
  59. flat: boolean;
  60. variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
  61. offset: boolean;
  62. exact: boolean;
  63. absolute: boolean;
  64. block: boolean;
  65. active: boolean;
  66. order: string | number;
  67. transition: string | boolean | (vue.TransitionProps & {
  68. component?: vue.Component;
  69. });
  70. style: vue.StyleValue;
  71. disabled: boolean;
  72. size: string | number;
  73. readonly: boolean;
  74. tag: string;
  75. layout: boolean;
  76. appear: boolean;
  77. app: boolean;
  78. modelValue: boolean;
  79. tile: boolean;
  80. density: Density;
  81. extended: boolean;
  82. slim: boolean;
  83. stacked: boolean;
  84. ripple: boolean | {
  85. class: string;
  86. } | undefined;
  87. } & {
  88. name?: string | undefined;
  89. location?: Anchor | null | undefined;
  90. height?: string | number | undefined;
  91. width?: string | number | undefined;
  92. border?: string | number | boolean | undefined;
  93. color?: string | undefined;
  94. maxHeight?: string | number | undefined;
  95. maxWidth?: string | number | undefined;
  96. minHeight?: string | number | undefined;
  97. minWidth?: string | number | undefined;
  98. position?: "fixed" | "absolute" | "relative" | "static" | "sticky" | undefined;
  99. value?: any;
  100. loading?: string | boolean | undefined;
  101. text?: string | undefined;
  102. class?: any;
  103. theme?: string | undefined;
  104. to?: vue_router.RouteLocationRaw | undefined;
  105. icon?: boolean | IconValue | undefined;
  106. href?: string | undefined;
  107. elevation?: string | number | undefined;
  108. rounded?: string | number | boolean | undefined;
  109. baseColor?: string | undefined;
  110. selectedClass?: string | undefined;
  111. activeColor?: string | undefined;
  112. prependIcon?: IconValue | undefined;
  113. appendIcon?: IconValue | undefined;
  114. } & {
  115. $children?: vue.VNodeChild | {
  116. default?: (() => vue.VNodeChild) | undefined;
  117. } | (() => vue.VNodeChild);
  118. 'v-slots'?: {
  119. default?: false | (() => vue.VNodeChild) | undefined;
  120. } | undefined;
  121. } & {
  122. "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
  123. } & {
  124. "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
  125. }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
  126. 'update:modelValue': (value: boolean) => true;
  127. }, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
  128. symbol: any;
  129. replace: boolean;
  130. flat: boolean;
  131. variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
  132. offset: boolean;
  133. exact: boolean;
  134. absolute: boolean;
  135. block: boolean;
  136. active: boolean;
  137. order: string | number;
  138. transition: string | boolean | (vue.TransitionProps & {
  139. component?: vue.Component;
  140. });
  141. style: vue.StyleValue;
  142. disabled: boolean;
  143. size: string | number;
  144. readonly: boolean;
  145. tag: string;
  146. layout: boolean;
  147. appear: boolean;
  148. app: boolean;
  149. modelValue: boolean;
  150. tile: boolean;
  151. density: Density;
  152. extended: boolean;
  153. slim: boolean;
  154. stacked: boolean;
  155. ripple: boolean | {
  156. class: string;
  157. } | undefined;
  158. } & {
  159. name?: string | undefined;
  160. location?: Anchor | null | undefined;
  161. height?: string | number | undefined;
  162. width?: string | number | undefined;
  163. border?: string | number | boolean | undefined;
  164. color?: string | undefined;
  165. maxHeight?: string | number | undefined;
  166. maxWidth?: string | number | undefined;
  167. minHeight?: string | number | undefined;
  168. minWidth?: string | number | undefined;
  169. position?: "fixed" | "absolute" | "relative" | "static" | "sticky" | undefined;
  170. value?: any;
  171. loading?: string | boolean | undefined;
  172. text?: string | undefined;
  173. class?: any;
  174. theme?: string | undefined;
  175. to?: vue_router.RouteLocationRaw | undefined;
  176. icon?: boolean | IconValue | undefined;
  177. href?: string | undefined;
  178. elevation?: string | number | undefined;
  179. rounded?: string | number | boolean | undefined;
  180. baseColor?: string | undefined;
  181. selectedClass?: string | undefined;
  182. activeColor?: string | undefined;
  183. prependIcon?: IconValue | undefined;
  184. appendIcon?: IconValue | undefined;
  185. } & {
  186. $children?: vue.VNodeChild | {
  187. default?: (() => vue.VNodeChild) | undefined;
  188. } | (() => vue.VNodeChild);
  189. 'v-slots'?: {
  190. default?: false | (() => vue.VNodeChild) | undefined;
  191. } | undefined;
  192. } & {
  193. "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
  194. } & {
  195. "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
  196. }, {
  197. symbol: any;
  198. replace: boolean;
  199. flat: boolean;
  200. variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
  201. offset: boolean;
  202. exact: boolean;
  203. absolute: boolean;
  204. block: boolean;
  205. active: boolean;
  206. order: string | number;
  207. transition: string | boolean | (vue.TransitionProps & {
  208. component?: vue.Component;
  209. });
  210. style: vue.StyleValue;
  211. disabled: boolean;
  212. size: string | number;
  213. readonly: boolean;
  214. tag: string;
  215. layout: boolean;
  216. appear: boolean;
  217. app: boolean;
  218. modelValue: boolean;
  219. rounded: string | number | boolean;
  220. tile: boolean;
  221. density: Density;
  222. extended: boolean;
  223. slim: boolean;
  224. stacked: boolean;
  225. ripple: boolean | {
  226. class: string;
  227. } | undefined;
  228. }, true, {}, vue.SlotsType<Partial<{
  229. default: () => vue.VNode[];
  230. }>>, {
  231. P: {};
  232. B: {};
  233. D: {};
  234. C: {};
  235. M: {};
  236. Defaults: {};
  237. }, {
  238. symbol: any;
  239. replace: boolean;
  240. flat: boolean;
  241. variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
  242. offset: boolean;
  243. exact: boolean;
  244. absolute: boolean;
  245. block: boolean;
  246. active: boolean;
  247. order: string | number;
  248. transition: string | boolean | (vue.TransitionProps & {
  249. component?: vue.Component;
  250. });
  251. style: vue.StyleValue;
  252. disabled: boolean;
  253. size: string | number;
  254. readonly: boolean;
  255. tag: string;
  256. layout: boolean;
  257. appear: boolean;
  258. app: boolean;
  259. modelValue: boolean;
  260. tile: boolean;
  261. density: Density;
  262. extended: boolean;
  263. slim: boolean;
  264. stacked: boolean;
  265. ripple: boolean | {
  266. class: string;
  267. } | undefined;
  268. } & {
  269. name?: string | undefined;
  270. location?: Anchor | null | undefined;
  271. height?: string | number | undefined;
  272. width?: string | number | undefined;
  273. border?: string | number | boolean | undefined;
  274. color?: string | undefined;
  275. maxHeight?: string | number | undefined;
  276. maxWidth?: string | number | undefined;
  277. minHeight?: string | number | undefined;
  278. minWidth?: string | number | undefined;
  279. position?: "fixed" | "absolute" | "relative" | "static" | "sticky" | undefined;
  280. value?: any;
  281. loading?: string | boolean | undefined;
  282. text?: string | undefined;
  283. class?: any;
  284. theme?: string | undefined;
  285. to?: vue_router.RouteLocationRaw | undefined;
  286. icon?: boolean | IconValue | undefined;
  287. href?: string | undefined;
  288. elevation?: string | number | undefined;
  289. rounded?: string | number | boolean | undefined;
  290. baseColor?: string | undefined;
  291. selectedClass?: string | undefined;
  292. activeColor?: string | undefined;
  293. prependIcon?: IconValue | undefined;
  294. appendIcon?: IconValue | undefined;
  295. } & {
  296. $children?: vue.VNodeChild | {
  297. default?: (() => vue.VNodeChild) | undefined;
  298. } | (() => vue.VNodeChild);
  299. 'v-slots'?: {
  300. default?: false | (() => vue.VNodeChild) | undefined;
  301. } | undefined;
  302. } & {
  303. "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
  304. } & {
  305. "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
  306. }, {}, {}, {}, {}, {
  307. symbol: any;
  308. replace: boolean;
  309. flat: boolean;
  310. variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
  311. offset: boolean;
  312. exact: boolean;
  313. absolute: boolean;
  314. block: boolean;
  315. active: boolean;
  316. order: string | number;
  317. transition: string | boolean | (vue.TransitionProps & {
  318. component?: vue.Component;
  319. });
  320. style: vue.StyleValue;
  321. disabled: boolean;
  322. size: string | number;
  323. readonly: boolean;
  324. tag: string;
  325. layout: boolean;
  326. appear: boolean;
  327. app: boolean;
  328. modelValue: boolean;
  329. rounded: string | number | boolean;
  330. tile: boolean;
  331. density: Density;
  332. extended: boolean;
  333. slim: boolean;
  334. stacked: boolean;
  335. ripple: boolean | {
  336. class: string;
  337. } | undefined;
  338. }>;
  339. __isFragment?: never;
  340. __isTeleport?: never;
  341. __isSuspense?: never;
  342. } & vue.ComponentOptionsBase<{
  343. symbol: any;
  344. replace: boolean;
  345. flat: boolean;
  346. variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
  347. offset: boolean;
  348. exact: boolean;
  349. absolute: boolean;
  350. block: boolean;
  351. active: boolean;
  352. order: string | number;
  353. transition: string | boolean | (vue.TransitionProps & {
  354. component?: vue.Component;
  355. });
  356. style: vue.StyleValue;
  357. disabled: boolean;
  358. size: string | number;
  359. readonly: boolean;
  360. tag: string;
  361. layout: boolean;
  362. appear: boolean;
  363. app: boolean;
  364. modelValue: boolean;
  365. tile: boolean;
  366. density: Density;
  367. extended: boolean;
  368. slim: boolean;
  369. stacked: boolean;
  370. ripple: boolean | {
  371. class: string;
  372. } | undefined;
  373. } & {
  374. name?: string | undefined;
  375. location?: Anchor | null | undefined;
  376. height?: string | number | undefined;
  377. width?: string | number | undefined;
  378. border?: string | number | boolean | undefined;
  379. color?: string | undefined;
  380. maxHeight?: string | number | undefined;
  381. maxWidth?: string | number | undefined;
  382. minHeight?: string | number | undefined;
  383. minWidth?: string | number | undefined;
  384. position?: "fixed" | "absolute" | "relative" | "static" | "sticky" | undefined;
  385. value?: any;
  386. loading?: string | boolean | undefined;
  387. text?: string | undefined;
  388. class?: any;
  389. theme?: string | undefined;
  390. to?: vue_router.RouteLocationRaw | undefined;
  391. icon?: boolean | IconValue | undefined;
  392. href?: string | undefined;
  393. elevation?: string | number | undefined;
  394. rounded?: string | number | boolean | undefined;
  395. baseColor?: string | undefined;
  396. selectedClass?: string | undefined;
  397. activeColor?: string | undefined;
  398. prependIcon?: IconValue | undefined;
  399. appendIcon?: IconValue | undefined;
  400. } & {
  401. $children?: vue.VNodeChild | {
  402. default?: (() => vue.VNodeChild) | undefined;
  403. } | (() => vue.VNodeChild);
  404. 'v-slots'?: {
  405. default?: false | (() => vue.VNodeChild) | undefined;
  406. } | undefined;
  407. } & {
  408. "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
  409. } & {
  410. "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
  411. }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
  412. 'update:modelValue': (value: boolean) => true;
  413. }, string, {
  414. symbol: any;
  415. replace: boolean;
  416. flat: boolean;
  417. variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
  418. offset: boolean;
  419. exact: boolean;
  420. absolute: boolean;
  421. block: boolean;
  422. active: boolean;
  423. order: string | number;
  424. transition: string | boolean | (vue.TransitionProps & {
  425. component?: vue.Component;
  426. });
  427. style: vue.StyleValue;
  428. disabled: boolean;
  429. size: string | number;
  430. readonly: boolean;
  431. tag: string;
  432. layout: boolean;
  433. appear: boolean;
  434. app: boolean;
  435. modelValue: boolean;
  436. rounded: string | number | boolean;
  437. tile: boolean;
  438. density: Density;
  439. extended: boolean;
  440. slim: boolean;
  441. stacked: boolean;
  442. ripple: boolean | {
  443. class: string;
  444. } | undefined;
  445. }, {}, string, vue.SlotsType<Partial<{
  446. default: () => vue.VNode[];
  447. }>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
  448. transition: Omit<{
  449. type: vue.PropType<string | boolean | (vue.TransitionProps & {
  450. component?: vue.Component;
  451. })>;
  452. default: string;
  453. validator: (val: unknown) => boolean;
  454. }, "type" | "default"> & {
  455. type: vue.PropType<string | boolean | (vue.TransitionProps & {
  456. component?: vue.Component;
  457. })>;
  458. default: NonNullable<string | boolean | (vue.TransitionProps & {
  459. component?: vue.Component;
  460. })>;
  461. };
  462. location: vue.PropType<Anchor | null>;
  463. name: {
  464. type: StringConstructor;
  465. };
  466. order: {
  467. type: (StringConstructor | NumberConstructor)[];
  468. default: number;
  469. };
  470. absolute: BooleanConstructor;
  471. symbol: {
  472. type: null;
  473. default: vue.InjectionKey<GroupProvide>;
  474. };
  475. replace: BooleanConstructor;
  476. flat: BooleanConstructor;
  477. variant: Omit<{
  478. type: vue.PropType<Variant>;
  479. default: string;
  480. validator: (v: any) => boolean;
  481. }, "type" | "default"> & {
  482. type: vue.PropType<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
  483. default: NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
  484. };
  485. exact: BooleanConstructor;
  486. block: BooleanConstructor;
  487. height: (StringConstructor | NumberConstructor)[];
  488. width: (StringConstructor | NumberConstructor)[];
  489. active: Omit<{
  490. type: BooleanConstructor;
  491. default: undefined;
  492. }, "type" | "default"> & {
  493. type: vue.PropType<boolean>;
  494. default: boolean;
  495. };
  496. border: (StringConstructor | BooleanConstructor | NumberConstructor)[];
  497. color: StringConstructor;
  498. maxHeight: (StringConstructor | NumberConstructor)[];
  499. maxWidth: (StringConstructor | NumberConstructor)[];
  500. minHeight: (StringConstructor | NumberConstructor)[];
  501. minWidth: (StringConstructor | NumberConstructor)[];
  502. position: {
  503. type: vue.PropType<"fixed" | "absolute" | "relative" | "static" | "sticky">;
  504. validator: (v: any) => boolean;
  505. };
  506. value: null;
  507. loading: (StringConstructor | BooleanConstructor)[];
  508. style: {
  509. type: vue.PropType<vue.StyleValue>;
  510. default: null;
  511. };
  512. text: StringConstructor;
  513. disabled: BooleanConstructor;
  514. size: {
  515. type: (StringConstructor | NumberConstructor)[];
  516. default: string;
  517. };
  518. readonly: BooleanConstructor;
  519. class: vue.PropType<ClassValue>;
  520. theme: StringConstructor;
  521. tag: Omit<{
  522. type: StringConstructor;
  523. default: string;
  524. }, "type" | "default"> & {
  525. type: vue.PropType<string>;
  526. default: string;
  527. };
  528. to: vue.PropType<vue_router.RouteLocationRaw>;
  529. icon: vue.PropType<boolean | IconValue>;
  530. href: StringConstructor;
  531. elevation: {
  532. type: (StringConstructor | NumberConstructor)[];
  533. validator(v: any): boolean;
  534. };
  535. rounded: {
  536. type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
  537. default: undefined;
  538. };
  539. tile: BooleanConstructor;
  540. density: {
  541. type: vue.PropType<Density>;
  542. default: string;
  543. validator: (v: any) => boolean;
  544. };
  545. baseColor: StringConstructor;
  546. selectedClass: StringConstructor;
  547. activeColor: StringConstructor;
  548. prependIcon: vue.PropType<IconValue>;
  549. appendIcon: vue.PropType<IconValue>;
  550. slim: BooleanConstructor;
  551. stacked: BooleanConstructor;
  552. ripple: {
  553. type: vue.PropType<RippleDirectiveBinding["value"]>;
  554. default: boolean;
  555. };
  556. app: BooleanConstructor;
  557. appear: BooleanConstructor;
  558. extended: BooleanConstructor;
  559. layout: BooleanConstructor;
  560. offset: BooleanConstructor;
  561. modelValue: {
  562. type: BooleanConstructor;
  563. default: boolean;
  564. };
  565. }, vue.ExtractPropTypes<{
  566. transition: Omit<{
  567. type: vue.PropType<string | boolean | (vue.TransitionProps & {
  568. component?: vue.Component;
  569. })>;
  570. default: string;
  571. validator: (val: unknown) => boolean;
  572. }, "type" | "default"> & {
  573. type: vue.PropType<string | boolean | (vue.TransitionProps & {
  574. component?: vue.Component;
  575. })>;
  576. default: NonNullable<string | boolean | (vue.TransitionProps & {
  577. component?: vue.Component;
  578. })>;
  579. };
  580. location: vue.PropType<Anchor | null>;
  581. name: {
  582. type: StringConstructor;
  583. };
  584. order: {
  585. type: (StringConstructor | NumberConstructor)[];
  586. default: number;
  587. };
  588. absolute: BooleanConstructor;
  589. symbol: {
  590. type: null;
  591. default: vue.InjectionKey<GroupProvide>;
  592. };
  593. replace: BooleanConstructor;
  594. flat: BooleanConstructor;
  595. variant: Omit<{
  596. type: vue.PropType<Variant>;
  597. default: string;
  598. validator: (v: any) => boolean;
  599. }, "type" | "default"> & {
  600. type: vue.PropType<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
  601. default: NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
  602. };
  603. exact: BooleanConstructor;
  604. block: BooleanConstructor;
  605. height: (StringConstructor | NumberConstructor)[];
  606. width: (StringConstructor | NumberConstructor)[];
  607. active: Omit<{
  608. type: BooleanConstructor;
  609. default: undefined;
  610. }, "type" | "default"> & {
  611. type: vue.PropType<boolean>;
  612. default: boolean;
  613. };
  614. border: (StringConstructor | BooleanConstructor | NumberConstructor)[];
  615. color: StringConstructor;
  616. maxHeight: (StringConstructor | NumberConstructor)[];
  617. maxWidth: (StringConstructor | NumberConstructor)[];
  618. minHeight: (StringConstructor | NumberConstructor)[];
  619. minWidth: (StringConstructor | NumberConstructor)[];
  620. position: {
  621. type: vue.PropType<"fixed" | "absolute" | "relative" | "static" | "sticky">;
  622. validator: (v: any) => boolean;
  623. };
  624. value: null;
  625. loading: (StringConstructor | BooleanConstructor)[];
  626. style: {
  627. type: vue.PropType<vue.StyleValue>;
  628. default: null;
  629. };
  630. text: StringConstructor;
  631. disabled: BooleanConstructor;
  632. size: {
  633. type: (StringConstructor | NumberConstructor)[];
  634. default: string;
  635. };
  636. readonly: BooleanConstructor;
  637. class: vue.PropType<ClassValue>;
  638. theme: StringConstructor;
  639. tag: Omit<{
  640. type: StringConstructor;
  641. default: string;
  642. }, "type" | "default"> & {
  643. type: vue.PropType<string>;
  644. default: string;
  645. };
  646. to: vue.PropType<vue_router.RouteLocationRaw>;
  647. icon: vue.PropType<boolean | IconValue>;
  648. href: StringConstructor;
  649. elevation: {
  650. type: (StringConstructor | NumberConstructor)[];
  651. validator(v: any): boolean;
  652. };
  653. rounded: {
  654. type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
  655. default: undefined;
  656. };
  657. tile: BooleanConstructor;
  658. density: {
  659. type: vue.PropType<Density>;
  660. default: string;
  661. validator: (v: any) => boolean;
  662. };
  663. baseColor: StringConstructor;
  664. selectedClass: StringConstructor;
  665. activeColor: StringConstructor;
  666. prependIcon: vue.PropType<IconValue>;
  667. appendIcon: vue.PropType<IconValue>;
  668. slim: BooleanConstructor;
  669. stacked: BooleanConstructor;
  670. ripple: {
  671. type: vue.PropType<RippleDirectiveBinding["value"]>;
  672. default: boolean;
  673. };
  674. app: BooleanConstructor;
  675. appear: BooleanConstructor;
  676. extended: BooleanConstructor;
  677. layout: BooleanConstructor;
  678. offset: BooleanConstructor;
  679. modelValue: {
  680. type: BooleanConstructor;
  681. default: boolean;
  682. };
  683. }>>;
  684. type VFab = InstanceType<typeof VFab>;
  685. export { VFab };