/** * Copyright © INOVUA TRADING. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ import { Component, HTMLAttributes } from 'react'; import PropTypes from 'prop-types'; import cleanProps from '../../../packages/react-clean-props'; import isMobile from '../../../packages/isMobile'; import smoothScrollTo from '../../../packages/smoothScrollTo'; import scrollPage from '../../../packages/scrollPage'; import getScrollbarWidth from '../../../packages/getScrollbarWidth'; type ScrollContainerProps = { rtl?: boolean; theme?: string; autoHide?: boolean; inertialScroll?: boolean; inlineBlock?: boolean; usePassiveScroll?: boolean; viewStyle?: ElementCSSInlineStyle; viewClassName?: string; tagName?: string; scrollThumbStyle?: ElementCSSInlineStyle; showScrollbars?: boolean; } & HTMLAttributes; export default class InovuaScrollContainer extends Component { scrollerScrollSize: { width?: number; height?: number; }; scrollerClientSize: { width?: number; height?: number; }; refScroller?: any; scrollerNode?: any; constructor(props: ScrollContainerProps); onWrapperScroll(event: any): void; setupWrapperPassiveScrollListener(node: any): void; removeWrapperPassiveScrollListener(node?: any): void; setupPassiveScrollListener(node: any): void; removePassiveScrollListener(node?: any): void; componentWillUnmount(): void; componentDidMount(): void; shouldComponentUpdate(nextProps: any, nextState: any): any; ensureNonStaticStyle(style: any, domNode: any): any; render(): JSX.Element; onMouseEnter(event: any): void; onMouseLeave(): void; onViewResize(size: any): void; onResize(size: any): void; getDOMNode(): any; set scrollTop(value: any); set scrollLeft(value: any); get scrollTop(): any; get scrollLeft(): any; getScrollPosition(): any; get scrollTopMax(): number; get scrollLeftMax(): number; renderScrollbars(): any[]; getEmptyScrollOffset(): any; renderScrollbar(orientation: any, scrollbars: any): JSX.Element | null; onScrollbarStartDrag(orientation: any): void; onScrollbarStopDrag(orientation: any): void; focus(): void; onScrollbarWheelScroll(orientation: any, delta: any): void; onScrollbarPageScroll(orientation: any, direction: any): void; scrollPage(orientation: any, direction: any): void; scrollHorizontalPage(direction: any): void; scrollVerticalPage(direction: any): void; smoothScrollTo(newValue: any, cfg: any, callback: any): void; onScrollThumbScrollTop(pos: any): void; onScrollThumbScrollLeft(pos: any): void; getScrollerNode(): any; getScrollerChild(): any; getTrackSize(): any; getScrollSize(): any; getClientSize(): any; getScrollbars(): { vertical: boolean; horizontal: boolean; }; rafSync(callback: any): void; sync(): void; hasScrollbar(orientation: any): any; hasVerticalScrollbar(): any; hasHorizontalScrollbar(): any; computeScrollWithThreshold: (scrollTop: number, scrollThreshold: number | string, scrollMaxDelta: number) => boolean; onScroll(event: any): void; onScrollDebounce(eventTarget: any): void; getContainerTargetNode(): any; lazyShowScrollbars(): void; applyCSSContainOnScrollUpdate: (bool: any) => void; onStop(scrollPos: any, prevScrollPos: any, eventTarget: any): void; showScrollbars(): void; checkAllowedScrollbars(): { vertical: boolean; horizontal: boolean; }; setScrollbarsVisible(scrollbars: any): void; hideScrollbars(): void; } declare const propTypes: { alwaysShowTrack: PropTypes.Requireable; avoidScrollTopBrowserLayout: PropTypes.Requireable; applyCSSContainOnScroll: PropTypes.Requireable; avoidRepaintOnScroll: PropTypes.Requireable; autoHide: PropTypes.Requireable; cancelPrevScrollRaf: PropTypes.Requireable; dragToScroll: PropTypes.Requireable; display: PropTypes.Requireable; checkResizeDelay: PropTypes.Requireable; emptyScrollOffset: PropTypes.Requireable; factory: PropTypes.Requireable<(...args: any[]) => any>; nativeScroll: PropTypes.Requireable; forceNonStaticPosition: PropTypes.Requireable; hideDelay: PropTypes.Requireable; getClientSize: PropTypes.Requireable<(...args: any[]) => any>; getScrollSize: PropTypes.Requireable<(...args: any[]) => any>; getTrackSize: PropTypes.Requireable<(...args: any[]) => any>; getScrollerNodeClientSize: PropTypes.Requireable<(...args: any[]) => any>; hideTransitionDuration: PropTypes.Requireable; hideNativeScrollbarIfPossible: PropTypes.Requireable; inertialScroll: PropTypes.Requireable; rtl: PropTypes.Requireable; inlineBlock: PropTypes.Requireable; rafOnResize: PropTypes.Requireable; contain: PropTypes.Requireable>; onContainerScroll: PropTypes.Requireable<(...args: any[]) => any>; onContainerScrollHorizontal: PropTypes.Requireable<(...args: any[]) => any>; onContainerScrollHorizontalMax: PropTypes.Requireable<(...args: any[]) => any>; onContainerScrollHorizontalMin: PropTypes.Requireable<(...args: any[]) => any>; onContainerScrollVertical: PropTypes.Requireable<(...args: any[]) => any>; onContainerScrollVerticalMax: PropTypes.Requireable<(...args: any[]) => any>; onContainerScrollVerticalMin: PropTypes.Requireable<(...args: any[]) => any>; onResize: PropTypes.Requireable<(...args: any[]) => any>; onScroll: PropTypes.Requireable<(...args: any[]) => any>; onScrollbarsChange: PropTypes.Requireable<(...args: any[]) => any>; onScrollStart: PropTypes.Requireable<(...args: any[]) => any>; onScrollStop: PropTypes.Requireable<(...args: any[]) => any>; onViewResize: PropTypes.Requireable<(...args: any[]) => any>; rafOnScroll: PropTypes.Requireable; scrollDebounceDelay: PropTypes.Requireable; renderScroller: PropTypes.Requireable<(...args: any[]) => any>; renderView: PropTypes.Requireable<(...args: any[]) => any>; resizer: PropTypes.Requireable; scrollbars: PropTypes.Requireable; horizontal: PropTypes.Requireable; }> | null | undefined>>; usePassiveScroll: PropTypes.Requireable; showScrollbarsOnOver: PropTypes.Requireable; onScrollbarStartDrag: PropTypes.Requireable<(...args: any[]) => any>; onScrollbarStopDrag: PropTypes.Requireable<(...args: any[]) => any>; onHorizontalScrollbarStartDrag: PropTypes.Requireable<(...args: any[]) => any>; onHorizontalScrollbarStopDrag: PropTypes.Requireable<(...args: any[]) => any>; onVerticalScrollbarStartDrag: PropTypes.Requireable<(...args: any[]) => any>; onVerticalScrollbarStopDrag: PropTypes.Requireable<(...args: any[]) => any>; scrollerStyle: PropTypes.Requireable>; scrollStopDelay: PropTypes.Requireable; scrollThumbMargin: PropTypes.Requireable>; scrollMaxDelta: PropTypes.Requireable; scrollThumbMinSize: PropTypes.Requireable; scrollThumbOverWidth: PropTypes.Requireable; scrollThumbRadius: PropTypes.Requireable>; scrollThumbStartEndRespectMargin: PropTypes.Requireable; scrollThumbWidth: PropTypes.Requireable; scrollThumbStyle: PropTypes.Requireable>>; scrollTrackOverTransitionDuration: PropTypes.Requireable; showDelay: PropTypes.Requireable; showTrackOnDrag: PropTypes.Requireable; shouldComponentUpdate: PropTypes.Requireable<(...args: any[]) => any>; shouldAllowScrollbars: PropTypes.Requireable<(...args: any[]) => any>; showTransitionDuration: PropTypes.Requireable; tagName: PropTypes.Requireable; theme: PropTypes.Requireable; scrollerResizerProps: PropTypes.Requireable; onDidMount: PropTypes.Requireable<(...args: any[]) => any>; onWillUnmount: PropTypes.Requireable<(...args: any[]) => any>; viewClassName: PropTypes.Requireable; viewStyle: PropTypes.Requireable>; wrapperStyle: PropTypes.Requireable>; ResizeObserver: PropTypes.Requireable<(...args: any[]) => any>; scrollThreshold: PropTypes.Requireable>; showScrollbars: PropTypes.Requireable; }; export { propTypes, cleanProps, smoothScrollTo, scrollPage, getScrollbarWidth, isMobile, };