tabs.d.ts 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. import type { TabNavInstance } from './tab-nav';
  2. import type { TabsPaneContext } from './constants';
  3. import type { ExtractPropTypes } from 'vue';
  4. import type { Awaitable } from 'element-plus/es/utils';
  5. export type TabPaneName = string | number;
  6. export declare const tabsProps: {
  7. readonly type: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "" | "card" | "border-card", unknown, "", boolean>;
  8. readonly closable: BooleanConstructor;
  9. readonly addable: BooleanConstructor;
  10. readonly modelValue: {
  11. readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
  12. readonly required: false;
  13. readonly validator: ((val: unknown) => boolean) | undefined;
  14. __epPropKey: true;
  15. };
  16. readonly editable: BooleanConstructor;
  17. readonly tabPosition: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "top" | "bottom" | "left" | "right", unknown, "top", boolean>;
  18. readonly beforeLeave: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (newName: TabPaneName, oldName: TabPaneName) => Awaitable<void | boolean>) | (() => (newName: TabPaneName, oldName: TabPaneName) => Awaitable<void | boolean>) | {
  19. (): (newName: TabPaneName, oldName: TabPaneName) => Awaitable<void | boolean>;
  20. new (): any;
  21. readonly prototype: any;
  22. } | ((new (...args: any[]) => (newName: TabPaneName, oldName: TabPaneName) => Awaitable<void | boolean>) | (() => (newName: TabPaneName, oldName: TabPaneName) => Awaitable<void | boolean>) | {
  23. (): (newName: TabPaneName, oldName: TabPaneName) => Awaitable<void | boolean>;
  24. new (): any;
  25. readonly prototype: any;
  26. })[], unknown, unknown, () => true, boolean>;
  27. readonly stretch: BooleanConstructor;
  28. };
  29. export type TabsProps = ExtractPropTypes<typeof tabsProps>;
  30. export declare const tabsEmits: {
  31. "update:modelValue": (name: TabPaneName) => name is string | number;
  32. tabClick: (pane: TabsPaneContext, ev: Event) => boolean;
  33. tabChange: (name: TabPaneName) => name is string | number;
  34. edit: (paneName: TabPaneName | undefined, action: "remove" | "add") => boolean;
  35. tabRemove: (name: TabPaneName) => name is string | number;
  36. tabAdd: () => boolean;
  37. };
  38. export type TabsEmits = typeof tabsEmits;
  39. export type TabsPanes = Record<number, TabsPaneContext>;
  40. declare const Tabs: import("vue").DefineComponent<{
  41. readonly type: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "" | "card" | "border-card", unknown, "", boolean>;
  42. readonly closable: BooleanConstructor;
  43. readonly addable: BooleanConstructor;
  44. readonly modelValue: {
  45. readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
  46. readonly required: false;
  47. readonly validator: ((val: unknown) => boolean) | undefined;
  48. __epPropKey: true;
  49. };
  50. readonly editable: BooleanConstructor;
  51. readonly tabPosition: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "top" | "bottom" | "left" | "right", unknown, "top", boolean>;
  52. readonly beforeLeave: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (newName: TabPaneName, oldName: TabPaneName) => Awaitable<void | boolean>) | (() => (newName: TabPaneName, oldName: TabPaneName) => Awaitable<void | boolean>) | {
  53. (): (newName: TabPaneName, oldName: TabPaneName) => Awaitable<void | boolean>;
  54. new (): any;
  55. readonly prototype: any;
  56. } | ((new (...args: any[]) => (newName: TabPaneName, oldName: TabPaneName) => Awaitable<void | boolean>) | (() => (newName: TabPaneName, oldName: TabPaneName) => Awaitable<void | boolean>) | {
  57. (): (newName: TabPaneName, oldName: TabPaneName) => Awaitable<void | boolean>;
  58. new (): any;
  59. readonly prototype: any;
  60. })[], unknown, unknown, () => true, boolean>;
  61. readonly stretch: BooleanConstructor;
  62. }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
  63. "update:modelValue": (name: TabPaneName) => name is string | number;
  64. tabClick: (pane: TabsPaneContext, ev: Event) => boolean;
  65. tabChange: (name: TabPaneName) => name is string | number;
  66. edit: (paneName: TabPaneName | undefined, action: "remove" | "add") => boolean;
  67. tabRemove: (name: TabPaneName) => name is string | number;
  68. tabAdd: () => boolean;
  69. }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
  70. readonly type: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "" | "card" | "border-card", unknown, "", boolean>;
  71. readonly closable: BooleanConstructor;
  72. readonly addable: BooleanConstructor;
  73. readonly modelValue: {
  74. readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
  75. readonly required: false;
  76. readonly validator: ((val: unknown) => boolean) | undefined;
  77. __epPropKey: true;
  78. };
  79. readonly editable: BooleanConstructor;
  80. readonly tabPosition: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "top" | "bottom" | "left" | "right", unknown, "top", boolean>;
  81. readonly beforeLeave: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (newName: TabPaneName, oldName: TabPaneName) => Awaitable<void | boolean>) | (() => (newName: TabPaneName, oldName: TabPaneName) => Awaitable<void | boolean>) | {
  82. (): (newName: TabPaneName, oldName: TabPaneName) => Awaitable<void | boolean>;
  83. new (): any;
  84. readonly prototype: any;
  85. } | ((new (...args: any[]) => (newName: TabPaneName, oldName: TabPaneName) => Awaitable<void | boolean>) | (() => (newName: TabPaneName, oldName: TabPaneName) => Awaitable<void | boolean>) | {
  86. (): (newName: TabPaneName, oldName: TabPaneName) => Awaitable<void | boolean>;
  87. new (): any;
  88. readonly prototype: any;
  89. })[], unknown, unknown, () => true, boolean>;
  90. readonly stretch: BooleanConstructor;
  91. }>> & {
  92. "onUpdate:modelValue"?: ((name: TabPaneName) => any) | undefined;
  93. onTabClick?: ((pane: {
  94. uid: number;
  95. slots: import("vue").Slots;
  96. props: {
  97. readonly label: string;
  98. readonly disabled: boolean;
  99. readonly closable: boolean;
  100. readonly lazy: boolean;
  101. readonly name?: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
  102. };
  103. paneName: string | number | undefined;
  104. active: boolean;
  105. index: string | undefined;
  106. isClosable: boolean;
  107. }, ev: Event) => any) | undefined;
  108. onTabRemove?: ((name: TabPaneName) => any) | undefined;
  109. onTabChange?: ((name: TabPaneName) => any) | undefined;
  110. onEdit?: ((paneName: TabPaneName | undefined, action: "add" | "remove") => any) | undefined;
  111. onTabAdd?: (() => any) | undefined;
  112. }, {
  113. readonly stretch: boolean;
  114. readonly type: import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "card" | "border-card", unknown>;
  115. readonly closable: boolean;
  116. readonly beforeLeave: (newName: TabPaneName, oldName: TabPaneName) => Awaitable<void | boolean>;
  117. readonly editable: boolean;
  118. readonly tabPosition: import("element-plus/es/utils").EpPropMergeType<StringConstructor, "top" | "bottom" | "left" | "right", unknown>;
  119. readonly addable: boolean;
  120. }>;
  121. export type TabsInstance = InstanceType<typeof Tabs> & {
  122. currentName: TabPaneName;
  123. tabNavRef: TabNavInstance | undefined;
  124. };
  125. export default Tabs;