tour-navigator
Version:
Streamline website tours with Tour Navigator: Customizable and intuitive.
38 lines (37 loc) • 1.64 kB
TypeScript
import { PureComponent, ReactNode } from 'react';
import './tourNavigator.css';
import { TourNavigatorProps, TourNavigatorStates, Step, ClientBoundingRect } from './types';
declare class TourNavigator extends PureComponent<TourNavigatorProps, TourNavigatorStates> {
static defaultProps: Partial<TourNavigatorProps>;
private renderElement;
private scrollingElement;
private helper;
private mutationObserver?;
private lastAvailableStepIndex;
private subscribe;
constructor(props: TourNavigatorProps);
get currentStepIndex(): number;
get currentStep(): Step | null;
get currentElement(): HTMLElement | null;
componentDidMount(): void;
componentWillUnmount(): void;
componentDidUpdate(prevProps: Readonly<TourNavigatorProps>, prevState: Readonly<TourNavigatorStates>, snapshot?: any): void;
mount(): void;
unmount(): void;
addListener(element: Element | Document | Window | string, args: [string, (e: Event) => void]): void;
initMutationObserver(): void;
mapElements(callback?: () => void): void;
updateBoundingClientRect(scrollIntoViewOptions?: ScrollIntoViewOptions): void;
stopCurrentScrollIntoView(): void;
getDynamicIntersectionOption(): IntersectionObserverInit | undefined;
getMaskBoundingClientRect(): ClientBoundingRect;
getHelperBoundingClientRect(): ClientBoundingRect;
focus(scrollBehavior?: 'smooth' | 'auto'): void;
goto(stepIndex: number): void;
next(): void;
prev(): void;
renderOverLay(): ReactNode;
renderHelper(): ReactNode;
render(): import("react").ReactPortal | null;
}
export default TourNavigator;