UNPKG

shineout

Version:

Shein 前端组件库

47 lines (46 loc) 1.48 kB
/** ------ context ------ */ import { CSSProperties, ReactNode } from 'react'; export interface ScrollContextProviderValue { element?: HTMLElement; left?: number; top?: number; } export declare type ScrollFixedType = 'x' | 'y' | 'both'; export declare type GetScrollContextConsumerValue<U> = Omit<U, 'scrollElement' | 'scrollLeft' | 'scrollTop'>; /** ------ scroll ------ */ export interface ScrollProps { left: number; top: number; scrollHeight?: number; scrollWidth?: number; scrollX: boolean; scrollY: boolean; onScroll: (x: number, y: number, maxX: number, inner: HTMLElement, rectWidth: number, rectHeight: number, pixelX?: number, pixelY?: number, drag?: boolean) => void; stable?: boolean; footer?: ReactNode; innerScrollAttr?: string[]; className?: string; style?: CSSProperties; children?: ReactNode; } /** ------ bar ------ */ export interface BarProps { className?: string; direction?: 'x' | 'y'; forceHeight?: number; length: number; barLength: number; offset: number; onScroll: (offset: number) => void; scrollLength: number; } /** ------ fixedLength ------ */ export interface FixedLengthProps extends Omit<BarProps, 'barLength'> { } /** ------ index ------ */ export interface ScrollIndexProps extends Omit<ScrollProps, 'left' | 'top' | 'scrollX' | 'scrollY'> { scrollLeft?: number; scrollTop?: number; scroll?: ScrollFixedType; children?: ReactNode; }