@leancodepl/kratos
Version:
Headless React components library for building Ory Kratos authentication flows
58 lines (57 loc) • 1.85 kB
TypeScript
import { ComponentType, ReactNode } from "react";
import { AuthError } from "../../../utils";
import { OnLoginFlowError } from "../types";
type ChooseMethodFormPropsComponentsBase = {
Google: ComponentType<{
children: ReactNode;
}>;
Passkey: ComponentType<{
children: ReactNode;
}>;
Apple: ComponentType<{
children: ReactNode;
}>;
Facebook: ComponentType<{
children: ReactNode;
}>;
};
type ChooseMethodFormPropsLoadedBase = {
errors: AuthError[];
isSubmitting: boolean;
isValidating: boolean;
};
type ChooseMethodFormPropsLoadedRefresh = ChooseMethodFormPropsLoadedBase & Partial<ChooseMethodFormPropsComponentsBase> & {
isRefresh: true;
identifier?: string;
passwordFields?: {
Password: ComponentType<{
children: ReactNode;
}>;
Submit: ComponentType<{
children: ReactNode;
}>;
};
};
type ChooseMethodFormPropsLoaded = ChooseMethodFormPropsComponentsBase & ChooseMethodFormPropsLoadedBase & {
isRefresh?: false;
passwordFields: {
Identifier: ComponentType<{
children: ReactNode;
}>;
Password: ComponentType<{
children: ReactNode;
}>;
Submit: ComponentType<{
children: ReactNode;
}>;
};
};
export type ChooseMethodFormProps = ChooseMethodFormPropsLoaded | ChooseMethodFormPropsLoadedRefresh;
type ChooseMethodFormWrapperProps = {
chooseMethodForm: ComponentType<ChooseMethodFormProps>;
isRefresh: boolean | undefined;
onError?: OnLoginFlowError;
onLoginSuccess?: () => void;
};
export declare function ChooseMethodFormWrapper({ chooseMethodForm: ChooseMethodForm, isRefresh, onError, onLoginSuccess, }: ChooseMethodFormWrapperProps): import("react/jsx-runtime").JSX.Element | null;
export {};