zp-bee
Version:
zp-bee,是一款基于 Dumi,由 React + TypeScript 开发的组件库 🎉。
92 lines (91 loc) • 2.2 kB
TypeScript
import React from 'react';
declare type CustomizeComponent = React.FC<any>;
export interface TableComponents {
table?: CustomizeComponent;
header?: {
wrapper?: CustomizeComponent;
row?: CustomizeComponent;
cell?: CustomizeComponent;
};
body?: {
wrapper?: CustomizeComponent;
row?: CustomizeComponent;
cell?: CustomizeComponent;
};
}
export interface vt_opts {
id?: number;
/**
* @default 5
*/
overscanRowCount?: number;
/**
* this only needs the scroll.y
*/
scroll: {
y: number | string;
};
/**
* wheel event(only works on native events).
*/
onScroll?: ({ left, top, isEnd, }: {
top: number;
left: number;
isEnd: boolean;
}) => void;
initTop?: number;
/**
* @default false
*/
debug?: boolean;
ref?: React.MutableRefObject<{
scrollTo: (y: number) => void;
scrollToIndex: (idx: number) => void;
getDataSourceIndex: () => [startIndex: number, endIndex: number];
}>;
}
/**
* `INIT` -> `LOADED` -> `RUNNING`
*/
declare enum e_VT_STATE {
INIT = 1,
LOADED = 2,
RUNNING = 4
}
interface VT_CONTEXT extends vt_opts {
_y: number;
_raw_y: number | string;
_vtcomponents: TableComponents;
components: TableComponents;
vt_state: e_VT_STATE;
possible_hight_per_tr: number;
re_computed: number;
row_height: number[];
row_count: number;
prev_row_count: number;
wrap_inst: React.RefObject<HTMLDivElement>;
VTScroll?: (param?: {
top: number;
left: number;
}) => {
top: number;
left: number;
};
_React_ptr: any;
computed_h: number;
WH: number;
HND_PAINT: number;
_offset_top: number;
_offset_head: number;
_offset_tail: number;
top: number;
left: number;
evt: number;
end: boolean;
final_top: number;
f_final_top: number;
update_count: number;
}
export declare function _set_components(ctx: VT_CONTEXT, components: TableComponents): void;
export declare function init(fnOpts: () => vt_opts, deps: React.DependencyList): VT_CONTEXT;
export {};