@kadconsulting/dry
Version:
KAD Reusable Component Library
28 lines (27 loc) • 828 B
TypeScript
/// <reference types="react" />
export interface WizardStep {
id?: number;
component: React.ReactNode;
title: string;
text: string;
validate?: () => boolean;
onNext?: () => void | Promise<void>;
onPrevious?: () => void | Promise<void>;
noNextButton?: boolean;
removeButtons?: boolean;
}
export interface WizardProps extends React.HTMLAttributes<HTMLElement> {
passProps?: object;
/** Support @testing-library/react `screen.getByTestId` */
'data-testid'?: string;
steps: WizardStep[];
currentStep?: number;
onStepChange?: (step: number) => void;
error?: string;
nextButtonLabel?: string;
previousButtonLabel?: string;
onStepChanging?: (step: number) => Promise<void>;
loading?: boolean;
hasNextButton?: boolean;
hideProgressBar?: boolean;
}