UNPKG

@leancodepl/kratos

Version:

Headless React components library for building Ory Kratos authentication flows

32 lines 1.8 kB
import { ComponentType, ReactNode } from 'react'; import { AuthError, OidcProviderComponents, OidcProvidersConfig, TraitsConfig } from '../../../utils'; import { OnRegistrationFlowError } from '../types'; import { TraitCheckbox, TraitInput } from './fields'; type TraitsComponents<TTraitsConfig extends TraitsConfig> = { [K in keyof TTraitsConfig]: TTraitsConfig[K] extends { type: "string"; } ? ComponentType<Omit<typeof TraitInput, "trait">> : TTraitsConfig[K] extends { type: "boolean"; } ? ComponentType<Omit<typeof TraitCheckbox, "trait">> : never; }; export type TraitsFormProps<TTraitsConfig extends TraitsConfig, TOidcProvidersConfig extends OidcProvidersConfig = readonly []> = { traitFields: TraitsComponents<TTraitsConfig> & { Submit: ComponentType<{ children: ReactNode; }>; }; oidcProviders: OidcProviderComponents<TOidcProvidersConfig>; errors: Array<AuthError>; isSubmitting: boolean; isValidating: boolean; }; type TraitsFormWrapperProps<TTraitsConfig extends TraitsConfig, TOidcProvidersConfig extends OidcProvidersConfig = readonly []> = { traitsConfig: TTraitsConfig; oidcProvidersConfig?: TOidcProvidersConfig; traitsForm: ComponentType<TraitsFormProps<TTraitsConfig, TOidcProvidersConfig>>; onError?: OnRegistrationFlowError<TTraitsConfig>; onRegistrationSuccess?: () => void; }; export declare function TraitsFormWrapper<TTraitsConfig extends TraitsConfig, TOidcProvidersConfig extends OidcProvidersConfig = readonly []>({ traitsConfig, oidcProvidersConfig, traitsForm: TraitsForm, onError, onRegistrationSuccess, }: TraitsFormWrapperProps<TTraitsConfig, TOidcProvidersConfig>): import("react/jsx-runtime").JSX.Element; export {}; //# sourceMappingURL=TraitsFormWrapper.d.ts.map