lapras
Version:
A React library to create guided walkthroughs and tours
53 lines (52 loc) • 1.29 kB
TypeScript
import { Placement } from 'popper.js';
export interface TourNode {
target: string | Element;
placement: Placement;
content: string | Element;
}
export interface TourItemObj {
nodes: TourNode[];
hideNavigationControls?: boolean;
hideNextButton?: boolean;
hidePrevButton?: boolean;
onAfterEnter?(): void;
onAfterExit?(): void;
onBeforeEnter?(): boolean;
onBeforeExit?(): boolean;
prev?: () => boolean;
next?: () => boolean;
}
export interface LaprasProps {
startAt?: number;
steps: TourItemObj[];
}
export interface StartActionPayload {
currentStepIndex: number;
}
export interface StartAction {
type: 'START';
payload: StartActionPayload;
}
export interface EndActionPayload {
prevStepIndex: number;
}
export interface EndAction {
type: 'END';
payload: EndActionPayload;
}
export interface TransitionActionPayload {
prevStepIndex: number;
currentStepIndex: number;
}
export interface TransitionAction {
type: 'TRANSITION';
payload: TransitionActionPayload;
}
export interface MiscActionPayload {
[key: string]: any;
}
export interface MiscAction {
type: 'MISC';
payload: MiscActionPayload;
}
export declare type ACTION = StartAction | EndAction | TransitionAction | MiscAction;