tab-nav.d.ts 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259
  1. import type { TabBarInstance } from './tab-bar';
  2. import type { ExtractPropTypes } from 'vue';
  3. import type { TabsPaneContext } from './constants';
  4. import type { TabPaneName } from './tabs';
  5. export declare const tabNavProps: {
  6. readonly panes: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => {
  7. uid: number;
  8. slots: import("vue").Slots;
  9. props: {
  10. readonly label: string;
  11. readonly disabled: boolean;
  12. readonly closable: boolean;
  13. readonly lazy: boolean;
  14. readonly name?: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
  15. };
  16. paneName: string | number | undefined;
  17. active: boolean;
  18. index: string | undefined;
  19. isClosable: boolean;
  20. }[]) | (() => {
  21. uid: number;
  22. slots: import("vue").Slots;
  23. props: {
  24. readonly label: string;
  25. readonly disabled: boolean;
  26. readonly closable: boolean;
  27. readonly lazy: boolean;
  28. readonly name?: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
  29. };
  30. paneName: string | number | undefined;
  31. active: boolean;
  32. index: string | undefined;
  33. isClosable: boolean;
  34. }[]) | ((new (...args: any[]) => {
  35. uid: number;
  36. slots: import("vue").Slots;
  37. props: {
  38. readonly label: string;
  39. readonly disabled: boolean;
  40. readonly closable: boolean;
  41. readonly lazy: boolean;
  42. readonly name?: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
  43. };
  44. paneName: string | number | undefined;
  45. active: boolean;
  46. index: string | undefined;
  47. isClosable: boolean;
  48. }[]) | (() => {
  49. uid: number;
  50. slots: import("vue").Slots;
  51. props: {
  52. readonly label: string;
  53. readonly disabled: boolean;
  54. readonly closable: boolean;
  55. readonly lazy: boolean;
  56. readonly name?: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
  57. };
  58. paneName: string | number | undefined;
  59. active: boolean;
  60. index: string | undefined;
  61. isClosable: boolean;
  62. }[]))[], unknown, unknown, () => [], boolean>;
  63. readonly currentName: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
  64. readonly editable: BooleanConstructor;
  65. readonly type: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "" | "card" | "border-card", unknown, "", boolean>;
  66. readonly stretch: BooleanConstructor;
  67. };
  68. export declare const tabNavEmits: {
  69. tabClick: (tab: TabsPaneContext, tabName: TabPaneName, ev: Event) => boolean;
  70. tabRemove: (tab: TabsPaneContext, ev: Event) => boolean;
  71. };
  72. export type TabNavProps = ExtractPropTypes<typeof tabNavProps>;
  73. export type TabNavEmits = typeof tabNavEmits;
  74. declare const TabNav: import("vue").DefineComponent<{
  75. readonly panes: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => {
  76. uid: number;
  77. slots: import("vue").Slots;
  78. props: {
  79. readonly label: string;
  80. readonly disabled: boolean;
  81. readonly closable: boolean;
  82. readonly lazy: boolean;
  83. readonly name?: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
  84. };
  85. paneName: string | number | undefined;
  86. active: boolean;
  87. index: string | undefined;
  88. isClosable: boolean;
  89. }[]) | (() => {
  90. uid: number;
  91. slots: import("vue").Slots;
  92. props: {
  93. readonly label: string;
  94. readonly disabled: boolean;
  95. readonly closable: boolean;
  96. readonly lazy: boolean;
  97. readonly name?: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
  98. };
  99. paneName: string | number | undefined;
  100. active: boolean;
  101. index: string | undefined;
  102. isClosable: boolean;
  103. }[]) | ((new (...args: any[]) => {
  104. uid: number;
  105. slots: import("vue").Slots;
  106. props: {
  107. readonly label: string;
  108. readonly disabled: boolean;
  109. readonly closable: boolean;
  110. readonly lazy: boolean;
  111. readonly name?: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
  112. };
  113. paneName: string | number | undefined;
  114. active: boolean;
  115. index: string | undefined;
  116. isClosable: boolean;
  117. }[]) | (() => {
  118. uid: number;
  119. slots: import("vue").Slots;
  120. props: {
  121. readonly label: string;
  122. readonly disabled: boolean;
  123. readonly closable: boolean;
  124. readonly lazy: boolean;
  125. readonly name?: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
  126. };
  127. paneName: string | number | undefined;
  128. active: boolean;
  129. index: string | undefined;
  130. isClosable: boolean;
  131. }[]))[], unknown, unknown, () => [], boolean>;
  132. readonly currentName: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
  133. readonly editable: BooleanConstructor;
  134. readonly type: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "" | "card" | "border-card", unknown, "", boolean>;
  135. readonly stretch: BooleanConstructor;
  136. }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
  137. tabClick: (tab: TabsPaneContext, tabName: TabPaneName, ev: Event) => boolean;
  138. tabRemove: (tab: TabsPaneContext, ev: Event) => boolean;
  139. }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
  140. readonly panes: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => {
  141. uid: number;
  142. slots: import("vue").Slots;
  143. props: {
  144. readonly label: string;
  145. readonly disabled: boolean;
  146. readonly closable: boolean;
  147. readonly lazy: boolean;
  148. readonly name?: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
  149. };
  150. paneName: string | number | undefined;
  151. active: boolean;
  152. index: string | undefined;
  153. isClosable: boolean;
  154. }[]) | (() => {
  155. uid: number;
  156. slots: import("vue").Slots;
  157. props: {
  158. readonly label: string;
  159. readonly disabled: boolean;
  160. readonly closable: boolean;
  161. readonly lazy: boolean;
  162. readonly name?: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
  163. };
  164. paneName: string | number | undefined;
  165. active: boolean;
  166. index: string | undefined;
  167. isClosable: boolean;
  168. }[]) | ((new (...args: any[]) => {
  169. uid: number;
  170. slots: import("vue").Slots;
  171. props: {
  172. readonly label: string;
  173. readonly disabled: boolean;
  174. readonly closable: boolean;
  175. readonly lazy: boolean;
  176. readonly name?: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
  177. };
  178. paneName: string | number | undefined;
  179. active: boolean;
  180. index: string | undefined;
  181. isClosable: boolean;
  182. }[]) | (() => {
  183. uid: number;
  184. slots: import("vue").Slots;
  185. props: {
  186. readonly label: string;
  187. readonly disabled: boolean;
  188. readonly closable: boolean;
  189. readonly lazy: boolean;
  190. readonly name?: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
  191. };
  192. paneName: string | number | undefined;
  193. active: boolean;
  194. index: string | undefined;
  195. isClosable: boolean;
  196. }[]))[], unknown, unknown, () => [], boolean>;
  197. readonly currentName: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
  198. readonly editable: BooleanConstructor;
  199. readonly type: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "" | "card" | "border-card", unknown, "", boolean>;
  200. readonly stretch: BooleanConstructor;
  201. }>> & {
  202. onTabClick?: ((tab: {
  203. uid: number;
  204. slots: import("vue").Slots;
  205. props: {
  206. readonly label: string;
  207. readonly disabled: boolean;
  208. readonly closable: boolean;
  209. readonly lazy: boolean;
  210. readonly name?: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
  211. };
  212. paneName: string | number | undefined;
  213. active: boolean;
  214. index: string | undefined;
  215. isClosable: boolean;
  216. }, tabName: TabPaneName, ev: Event) => any) | undefined;
  217. onTabRemove?: ((tab: {
  218. uid: number;
  219. slots: import("vue").Slots;
  220. props: {
  221. readonly label: string;
  222. readonly disabled: boolean;
  223. readonly closable: boolean;
  224. readonly lazy: boolean;
  225. readonly name?: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
  226. };
  227. paneName: string | number | undefined;
  228. active: boolean;
  229. index: string | undefined;
  230. isClosable: boolean;
  231. }, ev: Event) => any) | undefined;
  232. }, {
  233. readonly stretch: boolean;
  234. readonly type: import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "card" | "border-card", unknown>;
  235. readonly editable: boolean;
  236. readonly panes: {
  237. uid: number;
  238. slots: import("vue").Slots;
  239. props: {
  240. readonly label: string;
  241. readonly disabled: boolean;
  242. readonly closable: boolean;
  243. readonly lazy: boolean;
  244. readonly name?: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
  245. };
  246. paneName: string | number | undefined;
  247. active: boolean;
  248. index: string | undefined;
  249. isClosable: boolean;
  250. }[];
  251. readonly currentName: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
  252. }>;
  253. export type TabNavInstance = InstanceType<typeof TabNav> & {
  254. scrollToActiveTab: () => Promise<void>;
  255. removeFocus: () => void;
  256. tabListRef: HTMLDivElement | undefined;
  257. tabBarRef: TabBarInstance | undefined;
  258. };
  259. export default TabNav;