element-plus
Version:
A Component Library for Vue 3
111 lines (110 loc) • 10.6 kB
TypeScript
import { useCache } from '../hooks/use-cache';
import { BACKWARD, FORWARD } from '../defaults';
import type { Ref, StyleValue, UnwrapRef, VNode } from 'vue';
import type { Alignment, GridConstructorProps, GridScrollOptions } from '../types';
import type { VirtualizedGridProps } from '../props';
declare const createGrid: ({ name, clearCache, getColumnPosition, getColumnStartIndexForOffset, getColumnStopIndexForStartIndex, getEstimatedTotalHeight, getEstimatedTotalWidth, getColumnOffset, getRowOffset, getRowPosition, getRowStartIndexForOffset, getRowStopIndexForStartIndex, initCache, injectToInstance, validateProps, }: GridConstructorProps<VirtualizedGridProps>) => import("vue").DefineComponent<{
readonly className: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
readonly containerElement: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<string | Element>, "div", unknown, unknown, unknown>;
readonly data: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<any[]>, () => [], unknown, unknown, unknown>;
readonly direction: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "ltr", false, "ltr" | "rtl", never>;
readonly height: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, NumberConstructor], unknown, true, unknown, unknown>;
readonly innerElement: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, ObjectConstructor], "div", unknown, unknown, unknown>;
readonly style: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<StyleValue>, unknown, unknown, unknown, unknown>;
readonly useIsScrolling: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
readonly width: import("element-plus/es/utils").BuildPropReturn<readonly [NumberConstructor, StringConstructor], unknown, false, unknown, unknown>;
readonly perfMode: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
readonly scrollbarAlwaysOn: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
readonly columnCache: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 2, false, never, never>;
readonly columnWidth: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<number | import("../types").ItemSize>, never, true, never, never>;
readonly estimatedColumnWidth: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, never, false, never, never>;
readonly estimatedRowHeight: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, never, false, never, never>;
readonly initScrollLeft: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 0, false, never, never>;
readonly initScrollTop: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 0, false, never, never>;
readonly itemKey: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<import("../types").GridItemKeyGetter>, ({ columnIndex, rowIndex }: {
columnIndex: any;
rowIndex: any;
}) => string, unknown, unknown, unknown>;
readonly rowCache: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 2, false, never, never>;
readonly rowHeight: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<number | import("../types").ItemSize>, never, true, never, never>;
readonly totalColumn: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, never, true, never, never>;
readonly totalRow: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, never, true, never, never>;
readonly hScrollbarSize: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 6, unknown, unknown, unknown>;
readonly vScrollbarSize: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 6, unknown, unknown, unknown>;
readonly scrollbarStartGap: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 0, unknown, unknown, unknown>;
readonly scrollbarEndGap: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 2, unknown, unknown, unknown>;
}, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("scroll" | "itemRendered")[], "scroll" | "itemRendered", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
readonly className: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
readonly containerElement: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<string | Element>, "div", unknown, unknown, unknown>;
readonly data: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<any[]>, () => [], unknown, unknown, unknown>;
readonly direction: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "ltr", false, "ltr" | "rtl", never>;
readonly height: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, NumberConstructor], unknown, true, unknown, unknown>;
readonly innerElement: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, ObjectConstructor], "div", unknown, unknown, unknown>;
readonly style: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<StyleValue>, unknown, unknown, unknown, unknown>;
readonly useIsScrolling: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
readonly width: import("element-plus/es/utils").BuildPropReturn<readonly [NumberConstructor, StringConstructor], unknown, false, unknown, unknown>;
readonly perfMode: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
readonly scrollbarAlwaysOn: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
readonly columnCache: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 2, false, never, never>;
readonly columnWidth: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<number | import("../types").ItemSize>, never, true, never, never>;
readonly estimatedColumnWidth: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, never, false, never, never>;
readonly estimatedRowHeight: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, never, false, never, never>;
readonly initScrollLeft: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 0, false, never, never>;
readonly initScrollTop: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 0, false, never, never>;
readonly itemKey: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<import("../types").GridItemKeyGetter>, ({ columnIndex, rowIndex }: {
columnIndex: any;
rowIndex: any;
}) => string, unknown, unknown, unknown>;
readonly rowCache: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 2, false, never, never>;
readonly rowHeight: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<number | import("../types").ItemSize>, never, true, never, never>;
readonly totalColumn: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, never, true, never, never>;
readonly totalRow: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, never, true, never, never>;
readonly hScrollbarSize: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 6, unknown, unknown, unknown>;
readonly vScrollbarSize: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 6, unknown, unknown, unknown>;
readonly scrollbarStartGap: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 0, unknown, unknown, unknown>;
readonly scrollbarEndGap: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 2, unknown, unknown, unknown>;
}>> & {
onScroll?: ((...args: any[]) => any) | undefined;
onItemRendered?: ((...args: any[]) => any) | undefined;
}, {
data: any[];
width: import("element-plus/es/utils").BuildPropType<readonly [NumberConstructor, StringConstructor], unknown, unknown>;
style: StyleValue;
className: string;
direction: import("element-plus/es/utils").BuildPropType<StringConstructor, "ltr" | "rtl", never>;
scrollbarAlwaysOn: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
perfMode: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
containerElement: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<string | Element>, unknown, unknown>;
innerElement: import("element-plus/es/utils").BuildPropType<readonly [StringConstructor, ObjectConstructor], unknown, unknown>;
useIsScrolling: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
estimatedRowHeight: number;
itemKey: import("../types").GridItemKeyGetter;
columnCache: number;
estimatedColumnWidth: number;
initScrollLeft: number;
initScrollTop: number;
rowCache: number;
hScrollbarSize: number;
vScrollbarSize: number;
scrollbarStartGap: number;
scrollbarEndGap: number;
}>;
export default createGrid;
declare type Dir = typeof FORWARD | typeof BACKWARD;
export declare type GridInstance = InstanceType<ReturnType<typeof createGrid>> & UnwrapRef<{
windowRef: Ref<HTMLElement>;
innerRef: Ref<HTMLElement>;
getItemStyleCache: ReturnType<typeof useCache>;
scrollTo: (scrollOptions: GridScrollOptions) => void;
scrollToItem: (rowIndex: number, columnIndex: number, alignment: Alignment) => void;
states: Ref<{
isScrolling: boolean;
scrollLeft: number;
scrollTop: number;
updateRequested: boolean;
xAxisScrollDir: Dir;
yAxisScrollDir: Dir;
}>;
}>;