@brightlayer-ui/react-auth-workflow
Version:
Re-usable workflow components for Authentication and Registration within Eaton applications.
60 lines (59 loc) • 1.58 kB
TypeScript
/**
* @packageDocumentation
* @module RegistrationWorkflowContext
*/
export type ScreenData = {
Eula: {
accepted: boolean;
};
CreateAccount: {
emailAddress: string;
};
VerifyCode: {
code: string;
};
CreatePassword: {
password: string;
confirmPassword: string;
};
AccountDetails: {
firstName: string;
lastName: string;
extra?: Record<string, boolean | string | number>;
};
Other?: Record<string, Record<string, boolean | string | number>>;
};
export type IndividualScreenData = {
screenId: 'Eula';
values: ScreenData['Eula'];
isAccountExist?: boolean;
} | {
screenId: 'CreateAccount';
values: ScreenData['CreateAccount'];
isAccountExist?: boolean;
} | {
screenId: 'VerifyCode';
values: ScreenData['VerifyCode'];
isAccountExist?: boolean;
} | {
screenId: 'CreatePassword';
values: ScreenData['CreatePassword'];
isAccountExist?: boolean;
} | {
screenId: 'AccountDetails';
values: ScreenData['AccountDetails'];
isAccountExist?: boolean;
} | {
screenId: string;
values: Record<string, boolean | string | number>;
isAccountExist?: boolean;
};
export type RegistrationWorkflowContextProps = {
currentScreen: number;
totalScreens: number;
nextScreen: (data: IndividualScreenData) => Promise<void> | undefined;
previousScreen: (data: IndividualScreenData) => void;
screenData: ScreenData;
updateScreenData: (data: IndividualScreenData) => void;
isInviteRegistration?: boolean;
};