yanzhen-design-vue
Version:
168 lines (167 loc) • 13.5 kB
TypeScript
import { Contacts } from '../constants/contacts';
import { handleTreeNode } from '../utils/handleTreeNode';
import { ContactsListEmits, ContactsListProps } from './contacts-list';
import { ContactsItem, ContactsItem as ContactsItemOption, ContactsValue } from '../constants';
import { SetupContext } from 'vue';
type ReusableTemplateProps = {
item?: ContactsItemOption;
checked?: boolean;
indeterminate?: boolean;
disabled?: boolean;
props?: Record<string, any>;
onClick?: () => void;
[key: string]: any;
};
type ReusableTreeTemplateProps = {
dataSource?: ContactsItemOption[];
height?: number;
props?: Record<string, any>;
onClick?: () => void;
};
export declare const useContactsList: (props: ContactsListProps, emit: SetupContext<ContactsListEmits>["emit"]) => {
readonly ctx: {
multiple: import('vue').Ref<boolean, boolean>;
activeTab: import('vue').Ref<import('@yanzhen-libs/utils-vue').EpPropMergeType<import('vue').PropType<Contacts | Contacts[]>, unknown, unknown>, import('@yanzhen-libs/utils-vue').EpPropMergeType<import('vue').PropType<Contacts | Contacts[]>, unknown, unknown>>;
optionKey: import('vue').ComputedRef<Record<"value" | "label" | "disabled" | "children", string>>;
_loading: import('vue').Ref<import('@yanzhen-libs/utils-vue').EpPropMergeType<BooleanConstructor, unknown, unknown>, import('@yanzhen-libs/utils-vue').EpPropMergeType<BooleanConstructor, unknown, unknown>>;
_disabledIds: import('vue').ComputedRef<(string | number)[]>;
_selectedIds: import('vue').ComputedRef<ContactsValue[]>;
_listProps: import('vue').ComputedRef<Pick<{
[x: string]: unknown;
}, string>>;
_childActiveTab: import('vue').Ref<import('@yanzhen-libs/utils-vue').EpPropMergeType<import('vue').PropType<import('../constants').User | import('../constants').User[]>, unknown, unknown>, import('@yanzhen-libs/utils-vue').EpPropMergeType<import('vue').PropType<import('../constants').User | import('../constants').User[]>, unknown, unknown>>;
selectedIconClass: import('vue').ComputedRef<unknown>;
listConfig: import('vue').ComputedRef<{
[x: string]: unknown;
}>;
$slots: Readonly<{
[name: string]: import('vue').Slot<any>;
}>;
tag: import('vue').Ref<string, string>;
mode: import('vue').Ref<import('@yanzhen-libs/utils-vue').EpPropMergeType<import('vue').PropType<readonly ["default", "virtual", "tree"]>, "default" | "virtual" | "tree", unknown>, import('@yanzhen-libs/utils-vue').EpPropMergeType<import('vue').PropType<readonly ["default", "virtual", "tree"]>, "default" | "virtual" | "tree", unknown>>;
disabled: import('vue').Ref<import('@yanzhen-libs/utils-vue').EpPropMergeType<BooleanConstructor, unknown, unknown>, import('@yanzhen-libs/utils-vue').EpPropMergeType<BooleanConstructor, unknown, unknown>>;
loading: import('vue').Ref<import('@yanzhen-libs/utils-vue').EpPropMergeType<BooleanConstructor, unknown, unknown>, import('@yanzhen-libs/utils-vue').EpPropMergeType<BooleanConstructor, unknown, unknown>>;
dataSource: import('vue').Ref<ContactsItem[], ContactsItem[]>;
distance: import('vue').Ref<number, number>;
childActiveTab: import('vue').Ref<import('@yanzhen-libs/utils-vue').EpPropMergeType<import('vue').PropType<import('../constants').User | import('../constants').User[]>, unknown, unknown>, import('@yanzhen-libs/utils-vue').EpPropMergeType<import('vue').PropType<import('../constants').User | import('../constants').User[]>, unknown, unknown>>;
childTabs: import('vue').Ref<{
value: import('../constants').User;
label: string;
}[], {
value: import('../constants').User;
label: string;
}[]>;
isTreeMode: import('vue').Ref<boolean, boolean>;
valueKey?: import('vue').Ref<import('@yanzhen-libs/utils-vue').EpPropMergeType<import('vue').PropType<string>, import('@yanzhen-libs/utils-vue').EpOptionKey<"value" | "label" | "disabled" | "children" | import('../constants').ContactsOption>, never>, import('@yanzhen-libs/utils-vue').EpPropMergeType<import('vue').PropType<string>, import('@yanzhen-libs/utils-vue').EpOptionKey<"value" | "label" | "disabled" | "children" | import('../constants').ContactsOption>, never>>;
labelKey?: import('vue').Ref<import('@yanzhen-libs/utils-vue').EpPropMergeType<import('vue').PropType<string>, import('@yanzhen-libs/utils-vue').EpOptionKey<"value" | "label" | "disabled" | "children" | import('../constants').ContactsOption>, never>, import('@yanzhen-libs/utils-vue').EpPropMergeType<import('vue').PropType<string>, import('@yanzhen-libs/utils-vue').EpOptionKey<"value" | "label" | "disabled" | "children" | import('../constants').ContactsOption>, never>>;
disabledKey?: import('vue').Ref<import('@yanzhen-libs/utils-vue').EpPropMergeType<import('vue').PropType<string>, import('@yanzhen-libs/utils-vue').EpOptionKey<"value" | "label" | "disabled" | "children" | import('../constants').ContactsOption>, never>, import('@yanzhen-libs/utils-vue').EpPropMergeType<import('vue').PropType<string>, import('@yanzhen-libs/utils-vue').EpOptionKey<"value" | "label" | "disabled" | "children" | import('../constants').ContactsOption>, never>>;
childrenKey?: import('vue').Ref<import('@yanzhen-libs/utils-vue').EpPropMergeType<import('vue').PropType<string>, import('@yanzhen-libs/utils-vue').EpOptionKey<"value" | "label" | "disabled" | "children" | import('../constants').ContactsOption>, never>, import('@yanzhen-libs/utils-vue').EpPropMergeType<import('vue').PropType<string>, import('@yanzhen-libs/utils-vue').EpOptionKey<"value" | "label" | "disabled" | "children" | import('../constants').ContactsOption>, never>>;
options?: import('vue').Ref<import('@yanzhen-libs/utils-vue').ExtractOptionType<"value" | "label" | "disabled" | "children" | import('../constants').ContactsOption>[], import('@yanzhen-libs/utils-vue').ExtractOptionType<"value" | "label" | "disabled" | "children" | import('../constants').ContactsOption>[]>;
style?: import('vue').Ref<any, any>;
class?: import('vue').Ref<any, any>;
onTreeExpand?: import('vue').Ref<(expandedKeys: import('ant-design-vue/es/vc-tree/interface').Key[], info: {
node: import('ant-design-vue/es/tree').EventDataNode;
expanded: boolean;
nativeEvent: MouseEvent;
}) => void, (expandedKeys: import('ant-design-vue/es/vc-tree/interface').Key[], info: {
node: import('ant-design-vue/es/tree').EventDataNode;
expanded: boolean;
nativeEvent: MouseEvent;
}) => void>;
height?: import('vue').Ref<import('@yanzhen-libs/utils-vue').EpPropMergeType<(StringConstructor | NumberConstructor)[], unknown, unknown>, import('@yanzhen-libs/utils-vue').EpPropMergeType<(StringConstructor | NumberConstructor)[], unknown, unknown>>;
typeKey?: import('vue').Ref<import('@yanzhen-libs/utils-vue').EpPropMergeType<import('vue').PropType<string>, import('@yanzhen-libs/utils-vue').EpOptionKey<"value" | "label" | "disabled" | "children" | import('../constants').ContactsOption>, never>, import('@yanzhen-libs/utils-vue').EpPropMergeType<import('vue').PropType<string>, import('@yanzhen-libs/utils-vue').EpOptionKey<"value" | "label" | "disabled" | "children" | import('../constants').ContactsOption>, never>>;
avatarKey?: import('vue').Ref<import('@yanzhen-libs/utils-vue').EpPropMergeType<import('vue').PropType<string>, import('@yanzhen-libs/utils-vue').EpOptionKey<"value" | "label" | "disabled" | "children" | import('../constants').ContactsOption>, never>, import('@yanzhen-libs/utils-vue').EpPropMergeType<import('vue').PropType<string>, import('@yanzhen-libs/utils-vue').EpOptionKey<"value" | "label" | "disabled" | "children" | import('../constants').ContactsOption>, never>>;
onItemClick?: import('vue').Ref<(item?: Partial<ContactsItem>) => void, (item?: Partial<ContactsItem>) => void>;
onSuffixClick?: import('vue').Ref<(item?: Partial<ContactsItem>) => void, (item?: Partial<ContactsItem>) => void>;
'onUpdate:loading'?: import('vue').Ref<(loading: boolean) => void, (loading: boolean) => void>;
onLoadMore?: import('vue').Ref<(state?: {
x: number;
y: number;
isScrolling: boolean;
arrivedState: {
left: boolean;
right: boolean;
top: boolean;
bottom: boolean;
};
directions: {
left: boolean;
right: boolean;
top: boolean;
bottom: boolean;
};
measure: () => void;
}) => void, (state?: {
x: number;
y: number;
isScrolling: boolean;
arrivedState: {
left: boolean;
right: boolean;
top: boolean;
bottom: boolean;
};
directions: {
left: boolean;
right: boolean;
top: boolean;
bottom: boolean;
};
measure: () => void;
}) => void>;
defaultNode?: import('vue').Ref<import('@yanzhen-libs/utils-vue').EpPropMergeType<import('vue').PropType<import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
[key: string]: any;
}> | (() => import('vue').VNode)>, unknown, unknown>, import('@yanzhen-libs/utils-vue').EpPropMergeType<import('vue').PropType<import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
[key: string]: any;
}> | (() => import('vue').VNode)>, unknown, unknown>>;
disableIds?: import('vue').Ref<ContactsValue[], ContactsValue[]>;
itemClass?: import('vue').Ref<string, string>;
headerClass?: import('vue').Ref<string, string>;
treeClass?: import('vue').Ref<string, string>;
onTreeSelect?: import('vue').Ref<(selectedKeys: import('ant-design-vue/es/vc-tree/interface').Key[], info: {
event: "select";
selected: boolean;
node: import('ant-design-vue/es/tree').EventDataNode;
selectedNodes: import('ant-design-vue/es/tree').DataNode[];
nativeEvent: MouseEvent;
}) => void, (selectedKeys: import('ant-design-vue/es/vc-tree/interface').Key[], info: {
event: "select";
selected: boolean;
node: import('ant-design-vue/es/tree').EventDataNode;
selectedNodes: import('ant-design-vue/es/tree').DataNode[];
nativeEvent: MouseEvent;
}) => void>;
'onUpdate:childActiveTab'?: import('vue').Ref<(val: any) => void, (val: any) => void>;
};
readonly templates: {
DefineHeaderTemplate: import('@vueuse/core').DefineTemplateComponent<object, Record<string, import('vue').Slot>>;
ReusableHeaderTemplate: import('@vueuse/core').ReuseTemplateComponent<object, Record<string, import('vue').Slot>>;
DefineContactsItemTemplate: import('@vueuse/core').DefineTemplateComponent<ReusableTemplateProps, Record<string, import('vue').Slot>>;
ReusableContactsItemTemplate: import('@vueuse/core').ReuseTemplateComponent<ReusableTemplateProps, Record<string, import('vue').Slot>>;
DefineContactsCardItemTemplate: import('@vueuse/core').DefineTemplateComponent<ReusableTemplateProps, Record<string, import('vue').Slot>>;
ReusableContactsCardItemTemplate: import('@vueuse/core').ReuseTemplateComponent<ReusableTemplateProps, Record<string, import('vue').Slot>>;
DefineSelectedIconTemplate: import('@vueuse/core').DefineTemplateComponent<ReusableTemplateProps, Record<string, import('vue').Slot>>;
ReusableSelectedIconTemplate: import('@vueuse/core').ReuseTemplateComponent<ReusableTemplateProps, Record<string, import('vue').Slot>>;
DefineTreeTemplate: import('@vueuse/core').DefineTemplateComponent<ReusableTreeTemplateProps, Record<string, import('vue').Slot>>;
ReusableTreeTemplate: import('@vueuse/core').ReuseTemplateComponent<ReusableTreeTemplateProps, Record<string, import('vue').Slot>>;
DefineTreeItemTemplate: import('@vueuse/core').DefineTemplateComponent<import('ant-design-vue/es/tree').DataNode, Record<string, import('vue').Slot>>;
ReusableTreeItemTemplate: import('@vueuse/core').ReuseTemplateComponent<import('ant-design-vue/es/tree').DataNode, Record<string, import('vue').Slot>>;
};
readonly handleTreeNode: typeof handleTreeNode;
readonly handleItemClick: (item: ContactsItem) => void;
readonly handleTreeSelect: (selectedKeys: import('ant-design-vue/es/vc-tree/interface').Key[], info: {
event: "select";
selected: boolean;
node: import('ant-design-vue/es/tree').EventDataNode;
selectedNodes: import('ant-design-vue/es/tree').DataNode[];
nativeEvent: MouseEvent;
}) => void;
readonly handleTreeExpand: (expandedKeys: import('ant-design-vue/es/vc-tree/interface').Key[], info: {
node: import('ant-design-vue/es/tree').EventDataNode;
expanded: boolean;
nativeEvent: MouseEvent;
}) => Promise<void>;
readonly handleLoadMore: (...args: never[]) => void;
readonly handleUpdateChildActiveTab: (value: never) => void;
};
export {};