index.d.mts 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342
  1. import * as vue from 'vue';
  2. import { ComponentPropsOptions, ExtractPropTypes, PropType, ComponentPublicInstance, FunctionalComponent } from 'vue';
  3. type ClassValue = any;
  4. declare const block: readonly ["top", "bottom"];
  5. declare const inline: readonly ["start", "end", "left", "right"];
  6. type Tblock = typeof block[number];
  7. type Tinline = typeof inline[number];
  8. type Anchor = Tblock | Tinline | 'center' | 'center center' | `${Tblock} ${Tinline | 'center'}` | `${Tinline} ${Tblock | 'center'}`;
  9. interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions>, Props = ExtractPropTypes<PropsOptions>> {
  10. filterProps<T extends Partial<Props>, U extends Exclude<keyof Props, Exclude<keyof Props, keyof T>>>(props: T): Partial<Pick<T, U>>;
  11. }
  12. type JSXComponent<Props = any> = {
  13. new (): ComponentPublicInstance<Props>;
  14. } | FunctionalComponent<Props>;
  15. type IconValue = string | (string | [path: string, opacity: number])[] | JSXComponent;
  16. declare const IconValue: PropType<IconValue>;
  17. declare const VBadge: {
  18. new (...args: any[]): vue.CreateComponentPublicInstance<{
  19. inline: boolean;
  20. location: Anchor | null;
  21. transition: string | boolean | (vue.TransitionProps & {
  22. component?: vue.Component;
  23. });
  24. label: string;
  25. style: vue.StyleValue;
  26. tag: string;
  27. dot: boolean;
  28. modelValue: boolean;
  29. tile: boolean;
  30. floating: boolean;
  31. bordered: boolean;
  32. } & {
  33. max?: string | number | undefined;
  34. color?: string | undefined;
  35. content?: string | number | undefined;
  36. class?: any;
  37. theme?: string | undefined;
  38. icon?: IconValue | undefined;
  39. rounded?: string | number | boolean | undefined;
  40. offsetX?: string | number | undefined;
  41. offsetY?: string | number | undefined;
  42. textColor?: string | undefined;
  43. } & {
  44. $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
  45. default?: (() => vue.VNodeChild) | undefined;
  46. badge?: (() => vue.VNodeChild) | undefined;
  47. };
  48. 'v-slots'?: {
  49. default?: false | (() => vue.VNodeChild) | undefined;
  50. badge?: false | (() => vue.VNodeChild) | undefined;
  51. } | undefined;
  52. } & {
  53. "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
  54. "v-slot:badge"?: false | (() => vue.VNodeChild) | undefined;
  55. }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
  56. inline: boolean;
  57. location: Anchor | null;
  58. transition: string | boolean | (vue.TransitionProps & {
  59. component?: vue.Component;
  60. });
  61. label: string;
  62. style: vue.StyleValue;
  63. tag: string;
  64. dot: boolean;
  65. modelValue: boolean;
  66. tile: boolean;
  67. floating: boolean;
  68. bordered: boolean;
  69. } & {
  70. max?: string | number | undefined;
  71. color?: string | undefined;
  72. content?: string | number | undefined;
  73. class?: any;
  74. theme?: string | undefined;
  75. icon?: IconValue | undefined;
  76. rounded?: string | number | boolean | undefined;
  77. offsetX?: string | number | undefined;
  78. offsetY?: string | number | undefined;
  79. textColor?: string | undefined;
  80. } & {
  81. $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
  82. default?: (() => vue.VNodeChild) | undefined;
  83. badge?: (() => vue.VNodeChild) | undefined;
  84. };
  85. 'v-slots'?: {
  86. default?: false | (() => vue.VNodeChild) | undefined;
  87. badge?: false | (() => vue.VNodeChild) | undefined;
  88. } | undefined;
  89. } & {
  90. "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
  91. "v-slot:badge"?: false | (() => vue.VNodeChild) | undefined;
  92. }, {
  93. inline: boolean;
  94. location: Anchor | null;
  95. transition: string | boolean | (vue.TransitionProps & {
  96. component?: vue.Component;
  97. });
  98. label: string;
  99. style: vue.StyleValue;
  100. tag: string;
  101. dot: boolean;
  102. modelValue: boolean;
  103. rounded: string | number | boolean;
  104. tile: boolean;
  105. floating: boolean;
  106. bordered: boolean;
  107. }, true, {}, vue.SlotsType<Partial<{
  108. default: () => vue.VNode[];
  109. badge: () => vue.VNode[];
  110. }>>, {
  111. P: {};
  112. B: {};
  113. D: {};
  114. C: {};
  115. M: {};
  116. Defaults: {};
  117. }, {
  118. inline: boolean;
  119. location: Anchor | null;
  120. transition: string | boolean | (vue.TransitionProps & {
  121. component?: vue.Component;
  122. });
  123. label: string;
  124. style: vue.StyleValue;
  125. tag: string;
  126. dot: boolean;
  127. modelValue: boolean;
  128. tile: boolean;
  129. floating: boolean;
  130. bordered: boolean;
  131. } & {
  132. max?: string | number | undefined;
  133. color?: string | undefined;
  134. content?: string | number | undefined;
  135. class?: any;
  136. theme?: string | undefined;
  137. icon?: IconValue | undefined;
  138. rounded?: string | number | boolean | undefined;
  139. offsetX?: string | number | undefined;
  140. offsetY?: string | number | undefined;
  141. textColor?: string | undefined;
  142. } & {
  143. $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
  144. default?: (() => vue.VNodeChild) | undefined;
  145. badge?: (() => vue.VNodeChild) | undefined;
  146. };
  147. 'v-slots'?: {
  148. default?: false | (() => vue.VNodeChild) | undefined;
  149. badge?: false | (() => vue.VNodeChild) | undefined;
  150. } | undefined;
  151. } & {
  152. "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
  153. "v-slot:badge"?: false | (() => vue.VNodeChild) | undefined;
  154. }, {}, {}, {}, {}, {
  155. inline: boolean;
  156. location: Anchor | null;
  157. transition: string | boolean | (vue.TransitionProps & {
  158. component?: vue.Component;
  159. });
  160. label: string;
  161. style: vue.StyleValue;
  162. tag: string;
  163. dot: boolean;
  164. modelValue: boolean;
  165. rounded: string | number | boolean;
  166. tile: boolean;
  167. floating: boolean;
  168. bordered: boolean;
  169. }>;
  170. __isFragment?: never;
  171. __isTeleport?: never;
  172. __isSuspense?: never;
  173. } & vue.ComponentOptionsBase<{
  174. inline: boolean;
  175. location: Anchor | null;
  176. transition: string | boolean | (vue.TransitionProps & {
  177. component?: vue.Component;
  178. });
  179. label: string;
  180. style: vue.StyleValue;
  181. tag: string;
  182. dot: boolean;
  183. modelValue: boolean;
  184. tile: boolean;
  185. floating: boolean;
  186. bordered: boolean;
  187. } & {
  188. max?: string | number | undefined;
  189. color?: string | undefined;
  190. content?: string | number | undefined;
  191. class?: any;
  192. theme?: string | undefined;
  193. icon?: IconValue | undefined;
  194. rounded?: string | number | boolean | undefined;
  195. offsetX?: string | number | undefined;
  196. offsetY?: string | number | undefined;
  197. textColor?: string | undefined;
  198. } & {
  199. $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
  200. default?: (() => vue.VNodeChild) | undefined;
  201. badge?: (() => vue.VNodeChild) | undefined;
  202. };
  203. 'v-slots'?: {
  204. default?: false | (() => vue.VNodeChild) | undefined;
  205. badge?: false | (() => vue.VNodeChild) | undefined;
  206. } | undefined;
  207. } & {
  208. "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
  209. "v-slot:badge"?: false | (() => vue.VNodeChild) | undefined;
  210. }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
  211. inline: boolean;
  212. location: Anchor | null;
  213. transition: string | boolean | (vue.TransitionProps & {
  214. component?: vue.Component;
  215. });
  216. label: string;
  217. style: vue.StyleValue;
  218. tag: string;
  219. dot: boolean;
  220. modelValue: boolean;
  221. rounded: string | number | boolean;
  222. tile: boolean;
  223. floating: boolean;
  224. bordered: boolean;
  225. }, {}, string, vue.SlotsType<Partial<{
  226. default: () => vue.VNode[];
  227. badge: () => vue.VNode[];
  228. }>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
  229. transition: Omit<{
  230. type: vue.PropType<string | boolean | (vue.TransitionProps & {
  231. component?: vue.Component;
  232. })>;
  233. default: string;
  234. validator: (val: unknown) => boolean;
  235. }, "type" | "default"> & {
  236. type: vue.PropType<string | boolean | (vue.TransitionProps & {
  237. component?: vue.Component;
  238. })>;
  239. default: NonNullable<string | boolean | (vue.TransitionProps & {
  240. component?: vue.Component;
  241. })>;
  242. };
  243. theme: StringConstructor;
  244. tag: {
  245. type: StringConstructor;
  246. default: string;
  247. };
  248. rounded: {
  249. type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
  250. default: undefined;
  251. };
  252. tile: BooleanConstructor;
  253. location: {
  254. type: vue.PropType<Anchor | null>;
  255. default: NonNullable<Anchor | null>;
  256. };
  257. class: vue.PropType<ClassValue>;
  258. style: {
  259. type: vue.PropType<vue.StyleValue>;
  260. default: null;
  261. };
  262. bordered: BooleanConstructor;
  263. color: StringConstructor;
  264. content: (StringConstructor | NumberConstructor)[];
  265. dot: BooleanConstructor;
  266. floating: BooleanConstructor;
  267. icon: vue.PropType<IconValue>;
  268. inline: BooleanConstructor;
  269. label: {
  270. type: StringConstructor;
  271. default: string;
  272. };
  273. max: (StringConstructor | NumberConstructor)[];
  274. modelValue: {
  275. type: BooleanConstructor;
  276. default: boolean;
  277. };
  278. offsetX: (StringConstructor | NumberConstructor)[];
  279. offsetY: (StringConstructor | NumberConstructor)[];
  280. textColor: StringConstructor;
  281. }, vue.ExtractPropTypes<{
  282. transition: Omit<{
  283. type: vue.PropType<string | boolean | (vue.TransitionProps & {
  284. component?: vue.Component;
  285. })>;
  286. default: string;
  287. validator: (val: unknown) => boolean;
  288. }, "type" | "default"> & {
  289. type: vue.PropType<string | boolean | (vue.TransitionProps & {
  290. component?: vue.Component;
  291. })>;
  292. default: NonNullable<string | boolean | (vue.TransitionProps & {
  293. component?: vue.Component;
  294. })>;
  295. };
  296. theme: StringConstructor;
  297. tag: {
  298. type: StringConstructor;
  299. default: string;
  300. };
  301. rounded: {
  302. type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
  303. default: undefined;
  304. };
  305. tile: BooleanConstructor;
  306. location: {
  307. type: vue.PropType<Anchor | null>;
  308. default: NonNullable<Anchor | null>;
  309. };
  310. class: vue.PropType<ClassValue>;
  311. style: {
  312. type: vue.PropType<vue.StyleValue>;
  313. default: null;
  314. };
  315. bordered: BooleanConstructor;
  316. color: StringConstructor;
  317. content: (StringConstructor | NumberConstructor)[];
  318. dot: BooleanConstructor;
  319. floating: BooleanConstructor;
  320. icon: vue.PropType<IconValue>;
  321. inline: BooleanConstructor;
  322. label: {
  323. type: StringConstructor;
  324. default: string;
  325. };
  326. max: (StringConstructor | NumberConstructor)[];
  327. modelValue: {
  328. type: BooleanConstructor;
  329. default: boolean;
  330. };
  331. offsetX: (StringConstructor | NumberConstructor)[];
  332. offsetY: (StringConstructor | NumberConstructor)[];
  333. textColor: StringConstructor;
  334. }>>;
  335. type VBadge = InstanceType<typeof VBadge>;
  336. export { VBadge };