interface.d.ts 746 B

1234567891011121314151617181920212223242526
  1. /// <reference types="react" />
  2. export type RenderFunc<T> = (item: T, index: number, props: {
  3. style: React.CSSProperties;
  4. offsetX: number;
  5. }) => React.ReactNode;
  6. export interface SharedConfig<T> {
  7. getKey: (item: T) => React.Key;
  8. }
  9. export type GetKey<T> = (item: T) => React.Key;
  10. export type GetSize = (startKey: React.Key, endKey?: React.Key) => {
  11. top: number;
  12. bottom: number;
  13. };
  14. export interface ExtraRenderInfo {
  15. /** Virtual list start line */
  16. start: number;
  17. /** Virtual list end line */
  18. end: number;
  19. /** Is current in virtual render */
  20. virtual: boolean;
  21. /** Used for `scrollWidth` tell the horizontal offset */
  22. offsetX: number;
  23. offsetY: number;
  24. rtl: boolean;
  25. getSize: GetSize;
  26. }