UNPKG

react-promenade

Version:

React components for crafting multi-step user flows

62 lines (57 loc) 1.79 kB
import React, { ReactNode } from 'react'; type PromenadeProviderProps = { /** * The children of the PromenadeProvider should be PromenadeStep components */ children: ReactNode; /** * The total number of steps in the flow */ stepCount: number; /** * Whether the next button should be disabled * @default () => false */ isNextDisabled?: (index: number) => boolean; /** * Whether the back button should be disabled * @default () => false */ isBackDisabled?: (index: number) => boolean; /** * Whether the next button is loading * @default () => false */ isNextLoading?: (index: number) => boolean; /** * Whether the back button is loading * @default () => false * */ isBackLoading?: (index: number) => boolean; /** * Callback for when the user clicks the back button */ onBack?: (index: number) => void | Promise<void>; /** * Callback for when the user clicks the next button */ onNext?: (index: number) => void | Promise<void>; }; declare const PromenadeProvider: ({ children, stepCount, isNextDisabled, isBackDisabled, isNextLoading, isBackLoading, onBack, onNext }: PromenadeProviderProps) => React.JSX.Element; type PromenadeStepProps = { index: number; children: React.ReactNode; }; declare const PromenadeStep: ({ index, children }: PromenadeStepProps) => React.JSX.Element | null; declare const usePromenade: () => { index: number; stepCount: number; isNextDisabled: boolean; isBackDisabled: boolean; isNextLoading: boolean; isBackLoading: boolean; goForward: () => void; goBack: () => void; cancelFlow: () => void; }; export { PromenadeProvider, PromenadeStep, usePromenade };