hongluan-ui
Version:
Hongluan Component Library for Vue 3
201 lines (200 loc) • 9.77 kB
TypeScript
import type { TabsPaneContext } from '@hongluan-ui/tokens';
import type { ExtractPropTypes } from 'vue';
import type { Awaitable } from '@hongluan-ui/utils';
export declare type TabPaneName = string | number;
export declare const tabsProps: {
readonly type: import("@hongluan-ui/utils").EpPropFinalized<StringConstructor, "" | "button" | "line", unknown, "", boolean>;
readonly activeName: {
readonly type: import("vue").PropType<import("@hongluan-ui/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
readonly required: false;
readonly validator: (val: unknown) => boolean;
__epPropKey: true;
};
readonly closable: BooleanConstructor;
readonly addable: BooleanConstructor;
readonly modelValue: {
readonly type: import("vue").PropType<import("@hongluan-ui/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
readonly required: false;
readonly validator: (val: unknown) => boolean;
__epPropKey: true;
};
readonly editable: BooleanConstructor;
readonly tabPosition: import("@hongluan-ui/utils").EpPropFinalized<StringConstructor, "top" | "bottom" | "left" | "right", unknown, "top", boolean>;
readonly beforeLeave: import("@hongluan-ui/utils").EpPropFinalized<import("vue").PropType<(newName: TabPaneName, oldName: TabPaneName) => Awaitable<void | boolean>>, unknown, unknown, () => true, boolean>;
readonly showPane: import("@hongluan-ui/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
readonly paneHeight: {
readonly type: import("vue").PropType<string>;
readonly required: false;
readonly validator: (val: unknown) => boolean;
__epPropKey: true;
};
readonly navHeight: {
readonly type: import("vue").PropType<string>;
readonly required: false;
readonly validator: (val: unknown) => boolean;
__epPropKey: true;
};
readonly navPadding: {
readonly type: import("vue").PropType<string>;
readonly required: false;
readonly validator: (val: unknown) => boolean;
__epPropKey: true;
};
readonly gap: {
readonly type: import("vue").PropType<string>;
readonly required: false;
readonly validator: (val: unknown) => boolean;
__epPropKey: true;
};
readonly stretch: BooleanConstructor;
};
export declare type TabsProps = ExtractPropTypes<typeof tabsProps>;
export declare const tabsEmits: {
"update:modelValue": (name: TabPaneName) => boolean;
/** @deprecated use `tab-change` instead */
input: (name: TabPaneName) => boolean;
tabClick: (pane: TabsPaneContext, ev: Event) => boolean;
tabChange: (name: TabPaneName) => boolean;
edit: (paneName: TabPaneName | undefined, action: 'remove' | 'add') => boolean;
tabRemove: (name: TabPaneName) => boolean;
tabAdd: () => boolean;
};
export declare type TabsEmits = typeof tabsEmits;
export declare type TabsPanes = Record<number, TabsPaneContext>;
declare const Tabs: import("vue").DefineComponent<{
readonly type: import("@hongluan-ui/utils").EpPropFinalized<StringConstructor, "" | "button" | "line", unknown, "", boolean>;
readonly activeName: {
readonly type: import("vue").PropType<import("@hongluan-ui/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
readonly required: false;
readonly validator: (val: unknown) => boolean;
__epPropKey: true;
};
readonly closable: BooleanConstructor;
readonly addable: BooleanConstructor;
readonly modelValue: {
readonly type: import("vue").PropType<import("@hongluan-ui/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
readonly required: false;
readonly validator: (val: unknown) => boolean;
__epPropKey: true;
};
readonly editable: BooleanConstructor;
readonly tabPosition: import("@hongluan-ui/utils").EpPropFinalized<StringConstructor, "top" | "bottom" | "left" | "right", unknown, "top", boolean>;
readonly beforeLeave: import("@hongluan-ui/utils").EpPropFinalized<import("vue").PropType<(newName: TabPaneName, oldName: TabPaneName) => Awaitable<void | boolean>>, unknown, unknown, () => true, boolean>;
readonly showPane: import("@hongluan-ui/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
readonly paneHeight: {
readonly type: import("vue").PropType<string>;
readonly required: false;
readonly validator: (val: unknown) => boolean;
__epPropKey: true;
};
readonly navHeight: {
readonly type: import("vue").PropType<string>;
readonly required: false;
readonly validator: (val: unknown) => boolean;
__epPropKey: true;
};
readonly navPadding: {
readonly type: import("vue").PropType<string>;
readonly required: false;
readonly validator: (val: unknown) => boolean;
__epPropKey: true;
};
readonly gap: {
readonly type: import("vue").PropType<string>;
readonly required: false;
readonly validator: (val: unknown) => boolean;
__epPropKey: true;
};
readonly stretch: BooleanConstructor;
}, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
"update:modelValue": (name: TabPaneName) => boolean;
/** @deprecated use `tab-change` instead */
input: (name: TabPaneName) => boolean;
tabClick: (pane: TabsPaneContext, ev: Event) => boolean;
tabChange: (name: TabPaneName) => boolean;
edit: (paneName: TabPaneName | undefined, action: 'remove' | 'add') => boolean;
tabRemove: (name: TabPaneName) => boolean;
tabAdd: () => boolean;
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
readonly type: import("@hongluan-ui/utils").EpPropFinalized<StringConstructor, "" | "button" | "line", unknown, "", boolean>;
readonly activeName: {
readonly type: import("vue").PropType<import("@hongluan-ui/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
readonly required: false;
readonly validator: (val: unknown) => boolean;
__epPropKey: true;
};
readonly closable: BooleanConstructor;
readonly addable: BooleanConstructor;
readonly modelValue: {
readonly type: import("vue").PropType<import("@hongluan-ui/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
readonly required: false;
readonly validator: (val: unknown) => boolean;
__epPropKey: true;
};
readonly editable: BooleanConstructor;
readonly tabPosition: import("@hongluan-ui/utils").EpPropFinalized<StringConstructor, "top" | "bottom" | "left" | "right", unknown, "top", boolean>;
readonly beforeLeave: import("@hongluan-ui/utils").EpPropFinalized<import("vue").PropType<(newName: TabPaneName, oldName: TabPaneName) => Awaitable<void | boolean>>, unknown, unknown, () => true, boolean>;
readonly showPane: import("@hongluan-ui/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
readonly paneHeight: {
readonly type: import("vue").PropType<string>;
readonly required: false;
readonly validator: (val: unknown) => boolean;
__epPropKey: true;
};
readonly navHeight: {
readonly type: import("vue").PropType<string>;
readonly required: false;
readonly validator: (val: unknown) => boolean;
__epPropKey: true;
};
readonly navPadding: {
readonly type: import("vue").PropType<string>;
readonly required: false;
readonly validator: (val: unknown) => boolean;
__epPropKey: true;
};
readonly gap: {
readonly type: import("vue").PropType<string>;
readonly required: false;
readonly validator: (val: unknown) => boolean;
__epPropKey: true;
};
readonly stretch: BooleanConstructor;
}>> & {
"onUpdate:modelValue"?: (name: TabPaneName) => any;
onInput?: (name: TabPaneName) => any;
onTabClick?: (pane: {
uid: number;
slots: {
[x: string]: import("vue").Slot;
};
props: {
readonly label: string;
readonly disabled: boolean;
readonly closable: boolean;
readonly lazy: boolean;
readonly name?: import("@hongluan-ui/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
};
paneName: string | number;
active: boolean;
index: string;
isClosable: boolean;
}, ev: Event) => any;
onTabRemove?: (name: TabPaneName) => any;
onTabChange?: (name: TabPaneName) => any;
onEdit?: (paneName: TabPaneName, action: "add" | "remove") => any;
onTabAdd?: () => any;
}, {
stretch: boolean;
type: import("@hongluan-ui/utils").EpPropMergeType<StringConstructor, "" | "button" | "line", unknown>;
tabPosition: import("@hongluan-ui/utils").EpPropMergeType<StringConstructor, "top" | "bottom" | "left" | "right", unknown>;
beforeLeave: (newName: TabPaneName, oldName: TabPaneName) => Awaitable<void | boolean>;
showPane: import("@hongluan-ui/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
closable: boolean;
addable: boolean;
editable: boolean;
}>;
export declare type TabsInstance = InstanceType<typeof Tabs> & {
currentName: TabPaneName;
};
export default Tabs;