@leancodepl/kratos
Version:
Headless React components library for building Ory Kratos authentication flows
42 lines • 1.49 kB
TypeScript
import { ComponentType, ReactNode } from 'react';
import { AuthError, TraitsConfig } from '../../../utils';
import { OnSettingsFlowError } from '../types';
type TotpFormPropsBase = {
emailVerificationRequired?: boolean;
};
type TotpFormPropsLoading = TotpFormPropsBase & {
isLoading: true;
};
type TotpFormPropsLoaded = TotpFormPropsBase & {
isLoading?: false;
};
type TotpFormPropsLinked = TotpFormPropsLoaded & {
isTotpLinked: true;
Unlink?: ComponentType<{
children: ReactNode;
}>;
};
type TotpFormPropsUnlinked = TotpFormPropsLoaded & {
isTotpLinked?: false;
Code: ComponentType<{
children: ReactNode;
}>;
Submit: ComponentType<{
children: ReactNode;
}>;
totpQrImageSrc?: string;
totpSecretKey?: string;
errors: Array<AuthError>;
isSubmitting: boolean;
isValidating: boolean;
};
export type TotpFormProps = TotpFormPropsLinked | TotpFormPropsLoading | TotpFormPropsUnlinked;
type TotpFormWrapperProps<TTraitsConfig extends TraitsConfig> = {
totpForm: ComponentType<TotpFormProps>;
emailVerificationRequired?: boolean;
onError?: OnSettingsFlowError<TTraitsConfig>;
onTotpSuccess?: () => void;
};
export declare function TotpFormWrapper<TTraitsConfig extends TraitsConfig>({ totpForm: TotpForm, emailVerificationRequired, onError, onTotpSuccess, }: TotpFormWrapperProps<TTraitsConfig>): import("react/jsx-runtime").JSX.Element;
export {};
//# sourceMappingURL=TotpFormFormWrapper.d.ts.map