tab-nav.d.ts 10 KB

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