UNPKG

@leancodepl/kratos

Version:

Headless React components library for building Ory Kratos authentication flows

42 lines (41 loc) 1.45 kB
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 {};