index.d.mts 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458
  1. import * as vue from 'vue';
  2. import { ComponentPropsOptions, ExtractPropTypes, PropType, ComponentPublicInstance, FunctionalComponent } 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 JSXComponent<Props = any> = {
  8. new (): ComponentPublicInstance<Props>;
  9. } | FunctionalComponent<Props>;
  10. type IconValue = string | (string | [path: string, opacity: number])[] | JSXComponent;
  11. declare const IconValue: PropType<IconValue>;
  12. declare const VComponentIcon: {
  13. new (...args: any[]): vue.CreateComponentPublicInstance<{
  14. tag: string;
  15. } & {
  16. icon?: IconValue | undefined;
  17. } & {
  18. $children?: vue.VNodeChild | {
  19. default?: (() => vue.VNodeChild) | undefined;
  20. } | (() => vue.VNodeChild);
  21. 'v-slots'?: {
  22. default?: false | (() => vue.VNodeChild) | undefined;
  23. } | undefined;
  24. } & {
  25. "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
  26. }, () => JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
  27. tag: string;
  28. } & {
  29. icon?: IconValue | undefined;
  30. } & {
  31. $children?: vue.VNodeChild | {
  32. default?: (() => vue.VNodeChild) | undefined;
  33. } | (() => vue.VNodeChild);
  34. 'v-slots'?: {
  35. default?: false | (() => vue.VNodeChild) | undefined;
  36. } | undefined;
  37. } & {
  38. "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
  39. }, {}, true, {}, vue.SlotsType<Partial<{
  40. default: () => vue.VNode[];
  41. }>>, {
  42. P: {};
  43. B: {};
  44. D: {};
  45. C: {};
  46. M: {};
  47. Defaults: {};
  48. }, {
  49. tag: string;
  50. } & {
  51. icon?: IconValue | undefined;
  52. } & {
  53. $children?: vue.VNodeChild | {
  54. default?: (() => vue.VNodeChild) | undefined;
  55. } | (() => vue.VNodeChild);
  56. 'v-slots'?: {
  57. default?: false | (() => vue.VNodeChild) | undefined;
  58. } | undefined;
  59. } & {
  60. "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
  61. }, () => JSX.Element, {}, {}, {}, {}>;
  62. __isFragment?: never;
  63. __isTeleport?: never;
  64. __isSuspense?: never;
  65. } & vue.ComponentOptionsBase<{
  66. tag: string;
  67. } & {
  68. icon?: IconValue | undefined;
  69. } & {
  70. $children?: vue.VNodeChild | {
  71. default?: (() => vue.VNodeChild) | undefined;
  72. } | (() => vue.VNodeChild);
  73. 'v-slots'?: {
  74. default?: false | (() => vue.VNodeChild) | undefined;
  75. } | undefined;
  76. } & {
  77. "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
  78. }, () => JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {}, {}, string, vue.SlotsType<Partial<{
  79. default: () => vue.VNode[];
  80. }>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
  81. icon: {
  82. type: PropType<IconValue>;
  83. };
  84. tag: {
  85. type: StringConstructor;
  86. required: true;
  87. };
  88. }, vue.ExtractPropTypes<{
  89. icon: {
  90. type: PropType<IconValue>;
  91. };
  92. tag: {
  93. type: StringConstructor;
  94. required: true;
  95. };
  96. }>>;
  97. type VComponentIcon = InstanceType<typeof VComponentIcon>;
  98. declare const VSvgIcon: {
  99. new (...args: any[]): vue.CreateComponentPublicInstance<Readonly<vue.ExtractPropTypes<{
  100. icon: {
  101. type: PropType<IconValue>;
  102. };
  103. tag: {
  104. type: StringConstructor;
  105. required: true;
  106. };
  107. }>>, () => JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & Readonly<vue.ExtractPropTypes<{
  108. icon: {
  109. type: PropType<IconValue>;
  110. };
  111. tag: {
  112. type: StringConstructor;
  113. required: true;
  114. };
  115. }>>, {}, true, {}, {}, {
  116. P: {};
  117. B: {};
  118. D: {};
  119. C: {};
  120. M: {};
  121. Defaults: {};
  122. }, Readonly<vue.ExtractPropTypes<{
  123. icon: {
  124. type: PropType<IconValue>;
  125. };
  126. tag: {
  127. type: StringConstructor;
  128. required: true;
  129. };
  130. }>>, () => JSX.Element, {}, {}, {}, {}>;
  131. __isFragment?: never;
  132. __isTeleport?: never;
  133. __isSuspense?: never;
  134. } & vue.ComponentOptionsBase<Readonly<vue.ExtractPropTypes<{
  135. icon: {
  136. type: PropType<IconValue>;
  137. };
  138. tag: {
  139. type: StringConstructor;
  140. required: true;
  141. };
  142. }>>, () => JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, {}, {}, string, {}> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
  143. icon: {
  144. type: PropType<IconValue>;
  145. };
  146. tag: {
  147. type: StringConstructor;
  148. required: true;
  149. };
  150. }, vue.ExtractPropTypes<{
  151. icon: {
  152. type: PropType<IconValue>;
  153. };
  154. tag: {
  155. type: StringConstructor;
  156. required: true;
  157. };
  158. }>>;
  159. type VSvgIcon = InstanceType<typeof VSvgIcon>;
  160. declare const VLigatureIcon: {
  161. new (...args: any[]): vue.CreateComponentPublicInstance<Readonly<vue.ExtractPropTypes<{
  162. icon: {
  163. type: PropType<IconValue>;
  164. };
  165. tag: {
  166. type: StringConstructor;
  167. required: true;
  168. };
  169. }>>, () => JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & Readonly<vue.ExtractPropTypes<{
  170. icon: {
  171. type: PropType<IconValue>;
  172. };
  173. tag: {
  174. type: StringConstructor;
  175. required: true;
  176. };
  177. }>>, {}, true, {}, {}, {
  178. P: {};
  179. B: {};
  180. D: {};
  181. C: {};
  182. M: {};
  183. Defaults: {};
  184. }, Readonly<vue.ExtractPropTypes<{
  185. icon: {
  186. type: PropType<IconValue>;
  187. };
  188. tag: {
  189. type: StringConstructor;
  190. required: true;
  191. };
  192. }>>, () => JSX.Element, {}, {}, {}, {}>;
  193. __isFragment?: never;
  194. __isTeleport?: never;
  195. __isSuspense?: never;
  196. } & vue.ComponentOptionsBase<Readonly<vue.ExtractPropTypes<{
  197. icon: {
  198. type: PropType<IconValue>;
  199. };
  200. tag: {
  201. type: StringConstructor;
  202. required: true;
  203. };
  204. }>>, () => JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, {}, {}, string, {}> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
  205. icon: {
  206. type: PropType<IconValue>;
  207. };
  208. tag: {
  209. type: StringConstructor;
  210. required: true;
  211. };
  212. }, vue.ExtractPropTypes<{
  213. icon: {
  214. type: PropType<IconValue>;
  215. };
  216. tag: {
  217. type: StringConstructor;
  218. required: true;
  219. };
  220. }>>;
  221. type VLigatureIcon = InstanceType<typeof VLigatureIcon>;
  222. declare const VClassIcon: {
  223. new (...args: any[]): vue.CreateComponentPublicInstance<Readonly<vue.ExtractPropTypes<{
  224. icon: {
  225. type: PropType<IconValue>;
  226. };
  227. tag: {
  228. type: StringConstructor;
  229. required: true;
  230. };
  231. }>>, () => JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & Readonly<vue.ExtractPropTypes<{
  232. icon: {
  233. type: PropType<IconValue>;
  234. };
  235. tag: {
  236. type: StringConstructor;
  237. required: true;
  238. };
  239. }>>, {}, true, {}, {}, {
  240. P: {};
  241. B: {};
  242. D: {};
  243. C: {};
  244. M: {};
  245. Defaults: {};
  246. }, Readonly<vue.ExtractPropTypes<{
  247. icon: {
  248. type: PropType<IconValue>;
  249. };
  250. tag: {
  251. type: StringConstructor;
  252. required: true;
  253. };
  254. }>>, () => JSX.Element, {}, {}, {}, {}>;
  255. __isFragment?: never;
  256. __isTeleport?: never;
  257. __isSuspense?: never;
  258. } & vue.ComponentOptionsBase<Readonly<vue.ExtractPropTypes<{
  259. icon: {
  260. type: PropType<IconValue>;
  261. };
  262. tag: {
  263. type: StringConstructor;
  264. required: true;
  265. };
  266. }>>, () => JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, {}, {}, string, {}> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
  267. icon: {
  268. type: PropType<IconValue>;
  269. };
  270. tag: {
  271. type: StringConstructor;
  272. required: true;
  273. };
  274. }, vue.ExtractPropTypes<{
  275. icon: {
  276. type: PropType<IconValue>;
  277. };
  278. tag: {
  279. type: StringConstructor;
  280. required: true;
  281. };
  282. }>>;
  283. type VClassIcon = InstanceType<typeof VClassIcon>;
  284. declare const VIcon: {
  285. new (...args: any[]): vue.CreateComponentPublicInstance<{
  286. end: boolean;
  287. start: boolean;
  288. style: vue.StyleValue;
  289. disabled: boolean;
  290. size: string | number;
  291. tag: string;
  292. } & {
  293. color?: string | undefined;
  294. class?: any;
  295. theme?: string | undefined;
  296. icon?: IconValue | undefined;
  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. }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
  307. end: boolean;
  308. start: boolean;
  309. style: vue.StyleValue;
  310. disabled: boolean;
  311. size: string | number;
  312. tag: string;
  313. } & {
  314. color?: string | undefined;
  315. class?: any;
  316. theme?: string | undefined;
  317. icon?: IconValue | undefined;
  318. } & {
  319. $children?: vue.VNodeChild | {
  320. default?: (() => vue.VNodeChild) | undefined;
  321. } | (() => vue.VNodeChild);
  322. 'v-slots'?: {
  323. default?: false | (() => vue.VNodeChild) | undefined;
  324. } | undefined;
  325. } & {
  326. "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
  327. }, {
  328. end: boolean;
  329. start: boolean;
  330. style: vue.StyleValue;
  331. disabled: boolean;
  332. size: string | number;
  333. tag: string;
  334. }, true, {}, vue.SlotsType<Partial<{
  335. default: () => vue.VNode[];
  336. }>>, {
  337. P: {};
  338. B: {};
  339. D: {};
  340. C: {};
  341. M: {};
  342. Defaults: {};
  343. }, {
  344. end: boolean;
  345. start: boolean;
  346. style: vue.StyleValue;
  347. disabled: boolean;
  348. size: string | number;
  349. tag: string;
  350. } & {
  351. color?: string | undefined;
  352. class?: any;
  353. theme?: string | undefined;
  354. icon?: IconValue | undefined;
  355. } & {
  356. $children?: vue.VNodeChild | {
  357. default?: (() => vue.VNodeChild) | undefined;
  358. } | (() => vue.VNodeChild);
  359. 'v-slots'?: {
  360. default?: false | (() => vue.VNodeChild) | undefined;
  361. } | undefined;
  362. } & {
  363. "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
  364. }, {}, {}, {}, {}, {
  365. end: boolean;
  366. start: boolean;
  367. style: vue.StyleValue;
  368. disabled: boolean;
  369. size: string | number;
  370. tag: string;
  371. }>;
  372. __isFragment?: never;
  373. __isTeleport?: never;
  374. __isSuspense?: never;
  375. } & vue.ComponentOptionsBase<{
  376. end: boolean;
  377. start: boolean;
  378. style: vue.StyleValue;
  379. disabled: boolean;
  380. size: string | number;
  381. tag: string;
  382. } & {
  383. color?: string | undefined;
  384. class?: any;
  385. theme?: string | undefined;
  386. icon?: IconValue | undefined;
  387. } & {
  388. $children?: vue.VNodeChild | {
  389. default?: (() => vue.VNodeChild) | undefined;
  390. } | (() => vue.VNodeChild);
  391. 'v-slots'?: {
  392. default?: false | (() => vue.VNodeChild) | undefined;
  393. } | undefined;
  394. } & {
  395. "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
  396. }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
  397. end: boolean;
  398. start: boolean;
  399. style: vue.StyleValue;
  400. disabled: boolean;
  401. size: string | number;
  402. tag: string;
  403. }, {}, string, vue.SlotsType<Partial<{
  404. default: () => vue.VNode[];
  405. }>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
  406. theme: StringConstructor;
  407. tag: Omit<{
  408. type: StringConstructor;
  409. default: string;
  410. }, "type" | "default"> & {
  411. type: vue.PropType<string>;
  412. default: string;
  413. };
  414. size: {
  415. type: (StringConstructor | NumberConstructor)[];
  416. default: string;
  417. };
  418. class: vue.PropType<ClassValue>;
  419. style: {
  420. type: vue.PropType<vue.StyleValue>;
  421. default: null;
  422. };
  423. color: StringConstructor;
  424. disabled: BooleanConstructor;
  425. start: BooleanConstructor;
  426. end: BooleanConstructor;
  427. icon: vue.PropType<IconValue>;
  428. }, vue.ExtractPropTypes<{
  429. theme: StringConstructor;
  430. tag: Omit<{
  431. type: StringConstructor;
  432. default: string;
  433. }, "type" | "default"> & {
  434. type: vue.PropType<string>;
  435. default: string;
  436. };
  437. size: {
  438. type: (StringConstructor | NumberConstructor)[];
  439. default: string;
  440. };
  441. class: vue.PropType<ClassValue>;
  442. style: {
  443. type: vue.PropType<vue.StyleValue>;
  444. default: null;
  445. };
  446. color: StringConstructor;
  447. disabled: BooleanConstructor;
  448. start: BooleanConstructor;
  449. end: BooleanConstructor;
  450. icon: vue.PropType<IconValue>;
  451. }>>;
  452. type VIcon = InstanceType<typeof VIcon>;
  453. export { VClassIcon, VComponentIcon, VIcon, VLigatureIcon, VSvgIcon };