UNPKG

lucid-ui

Version:

A UI component library from AppNexus.

78 lines (77 loc) 2.64 kB
import React from 'react'; import { StandardProps } from '../../util/component-types'; export interface ISlidePanelSlideProps extends StandardProps { description?: string; } declare class SlidePanelSlide extends React.Component<ISlidePanelSlideProps, {}, {}> { static displayName: string; static propName: string; render(): null; } export interface ISlidePanelProps extends StandardProps, React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement> { /** Max number of viewable slides to show simultaneously. */ slidesToShow: number; /** The offset of the left-most rendered slide. */ offset: number; /** Animate slides transitions from changes in `offset`. */ isAnimated: boolean; /** Slides are rendered in a continuous loop, where the first slide repeats * after the last slide and vice-versa. DOM elements are re-ordered and * re-used. */ isLooped: boolean; /** Called when a user's swipe would change the offset. Callback passes * number of slides by the user (positive for forward swipes, negative for * backwards swipes). */ onSwipe: (slidesSwiped: number, { event, props }: { event: React.TouchEvent; props: ISlidePanelProps; }) => void; } interface ISlidePanelState { translateXPixel: number; startX: number; isDragging: boolean; isAnimated: boolean; } declare class SlidePanel extends React.Component<ISlidePanelProps, ISlidePanelState, {}> { static _isPrivate: boolean; static displayName: string; static peek: { description: string; categories: string[]; }; static propTypes: { className: any; children: any; Slide: any; slidesToShow: any; offset: any; isAnimated: any; isLooped: any; onSwipe: any; }; private rootHTMLDivElement; private slideStrip; static Slide: typeof SlidePanelSlide; offsetTranslate: number; state: { translateXPixel: number; startX: number; isAnimated: boolean; isDragging: boolean; }; static defaultProps: { slidesToShow: number; offset: number; isAnimated: boolean; onSwipe: (...args: any[]) => void; isLooped: boolean; }; handleTouchStart: (event: React.TouchEvent) => void; handleTouchMove: (event: React.TouchEvent) => void; handleTouchEnd: (event: React.TouchEvent) => void; componentDidMount(): void; componentDidUpdate(prevProps: ISlidePanelProps, prevState: ISlidePanelState): void; render(): React.ReactNode; } export default SlidePanel;