element-plus
Version:
> TODO: description
154 lines (153 loc) • 4.94 kB
TypeScript
import { DefaultListProps } from '../defaults';
import type { CSSProperties } from 'vue';
import type { ListConstructorProps, Alignment } from '../types';
declare const createList: ({ name, getOffset, getItemSize, getItemOffset, getEstimatedTotalSize, getStartIndexForOffset, getStopIndexForStartIndex, initCache, clearCache, validateProps, }: ListConstructorProps<typeof DefaultListProps>) => import("vue").DefineComponent<{
cache: {
type: import("vue").PropType<number>;
default: number;
};
className: {
type: import("vue").PropType<string>;
default: string;
};
containerElement: {
type: (StringConstructor | ObjectConstructor)[];
default: string;
};
data: {
type: import("vue").PropType<any[]>;
default: () => any[];
};
direction: {
type: import("vue").PropType<import("../types").Direction>;
default: string;
validator: (val: import("../types").Direction) => boolean;
};
estimatedItemSize: {
type: import("vue").PropType<number>;
};
height: {
type: import("vue").PropType<string | number>;
required: boolean;
};
layout: {
type: import("vue").PropType<import("../types").LayoutDirection>;
default: string;
};
initScrollOffset: {
type: NumberConstructor;
default: number;
};
innerElement: {
type: (StringConstructor | ObjectConstructor)[];
default: string;
};
total: {
type: import("vue").PropType<number>;
required: boolean;
};
itemSize: {
type: import("vue").PropType<number | import("../types").ItemSize>;
required: boolean;
};
style: {
type: import("vue").PropType<import("../types").StyleValue>;
default: () => {};
};
useIsScrolling: {
type: BooleanConstructor;
default: boolean;
};
width: {
type: import("vue").PropType<string | number>;
required: boolean;
};
}, {
clientSize: import("vue").ComputedRef<string | number>;
estimatedTotalSize: import("vue").ComputedRef<number>;
windowStyle: import("vue").ComputedRef<({
position: string;
overflow: string;
WebkitOverflowScrolling: string;
willChange: string;
} | {
direction: import("../types").Direction;
height: string | number;
width: string | number;
position?: undefined;
overflow?: undefined;
WebkitOverflowScrolling?: undefined;
willChange?: undefined;
})[]>;
windowRef: import("vue").Ref<HTMLElement>;
innerRef: import("vue").Ref<HTMLElement>;
innerStyle: import("vue").ComputedRef<{
height: string;
pointerEvents: string;
width: string;
}>;
itemsToRender: import("vue").ComputedRef<number[]>;
scrollbarRef: any;
states: import("vue").Ref<{
isScrolling: boolean;
scrollDir: string;
scrollOffset: number;
updateRequested: boolean;
isScrollbarDragging: boolean;
}>;
getItemStyle: (idx: number) => CSSProperties;
onScroll: (e: Event) => void;
onScrollbarScroll: (distanceToGo: number, totalSteps: number) => void;
onWheel: (e: WheelEvent) => void;
scrollTo: (offset: number) => void;
scrollToItem: (idx: number, alignment?: Alignment) => void;
resetScrollTop: () => void;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("scroll" | "item-rendered")[], "scroll" | "item-rendered", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
cache?: unknown;
className?: unknown;
containerElement?: unknown;
data?: unknown;
direction?: unknown;
estimatedItemSize?: unknown;
height?: unknown;
layout?: unknown;
initScrollOffset?: unknown;
innerElement?: unknown;
total?: unknown;
itemSize?: unknown;
style?: unknown;
useIsScrolling?: unknown;
width?: unknown;
} & {
data: any[];
style: {};
direction: import("../types").Direction;
layout: import("../types").LayoutDirection;
className: string;
cache: number;
containerElement: string;
initScrollOffset: number;
innerElement: string;
useIsScrolling: boolean;
} & {
height?: string | number;
width?: string | number;
total?: number;
estimatedItemSize?: number;
itemSize?: number | import("../types").ItemSize;
}> & {
onScroll?: (...args: any[]) => any;
"onItem-rendered"?: (...args: any[]) => any;
}, {
data: any[];
style: {};
direction: import("../types").Direction;
layout: import("../types").LayoutDirection;
className: string;
cache: number;
containerElement: string;
initScrollOffset: number;
innerElement: string;
useIsScrolling: boolean;
}>;
export default createList;