yanzhen-design-vue
Version:
55 lines (54 loc) • 3.3 kB
TypeScript
import { ListEmits, ListProps } from './list';
import { UseVirtualListOptions } from '@vueuse/core';
import { CSSProperties, Ref, SetupContext } from 'vue';
type ReusableTemplateProps = {
loading: boolean;
empty: boolean;
};
type ELElement = HTMLElement | SVGAElement | null | undefined;
export declare function useList(props: ListProps, emit: SetupContext<ListEmits>['emit']): {
readonly ctx: {
_ref: Ref<any, any>;
_itemRef: Ref<HTMLElement, HTMLElement>;
_boxRef: Ref<ELElement, ELElement>;
_headerRef: Ref<ELElement, ELElement>;
_mainRef: Ref<ELElement, ELElement>;
_footerRef: Ref<ELElement, ELElement>;
wrapStyle: import('vue').ComputedRef<unknown>;
wrapClass: import('vue').ComputedRef<unknown>;
styles: Ref<Record<string, CSSProperties>, Record<string, CSSProperties>>;
$slots: Readonly<{
[name: string]: import('vue').Slot<any>;
}>;
_dataSource: import('vue').ComputedRef<import('../..').ContactsItem[]>;
_loading: import('vue').WritableComputedRef<import('@yanzhen-libs/utils-vue').EpPropMergeType<BooleanConstructor, unknown, unknown>, import('@yanzhen-libs/utils-vue').EpPropMergeType<BooleanConstructor, unknown, unknown>>;
virtualOptions: import('vue').ComputedRef<UseVirtualListOptions>;
mainHeight: Ref<number, number>;
tag: Ref<string, string>;
mode: 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: Ref<import('@yanzhen-libs/utils-vue').EpPropMergeType<BooleanConstructor, unknown, unknown>, import('@yanzhen-libs/utils-vue').EpPropMergeType<BooleanConstructor, unknown, unknown>>;
loading: Ref<import('@yanzhen-libs/utils-vue').EpPropMergeType<BooleanConstructor, unknown, unknown>, import('@yanzhen-libs/utils-vue').EpPropMergeType<BooleanConstructor, unknown, unknown>>;
dataSource: Ref<import('../..').ContactsItem[], import('../..').ContactsItem[]>;
distance: Ref<number, number>;
style?: Ref<any, any>;
class?: Ref<any, any>;
height?: Ref<string | number, string | number>;
"onUpdate:loading"?: Ref<(loading: boolean) => void, (loading: boolean) => void>;
onLoadMore?: Ref<import('./list').ListLoadMoreFn, import('./list').ListLoadMoreFn>;
};
readonly templates: {
DefineEmptyTemplate: import('@vueuse/core').DefineTemplateComponent<ReusableTemplateProps, Record<string, import('vue').Slot>>;
ReusableEmptyTemplate: import('@vueuse/core').ReuseTemplateComponent<ReusableTemplateProps, Record<string, import('vue').Slot>>;
DefineItemTemplate: import('@vueuse/core').DefineTemplateComponent<{
class: any;
item: any;
index: number;
}, Record<string, import('vue').Slot>>;
ReusableItemTemplate: import('@vueuse/core').ReuseTemplateComponent<{
class: any;
item: any;
index: number;
}, Record<string, import('vue').Slot>>;
};
};
export {};