@leancodepl/kratos
Version:
Headless React components library for building Ory Kratos authentication flows
51 lines • 2.5 kB
TypeScript
import { UiNode, UiNodeGroupEnum, UiNodeInputAttributes, UiNodeScriptAttributesNodeTypeEnum, UiNodeTypeEnum } from '../kratos';
import { OidcProvidersConfig } from './oidcProviders';
export declare function getNodeById(nodes: UiNode[] | undefined, name: string): UiNode | undefined;
export declare function getNodesById(nodes: UiNode[] | undefined, name: string): UiNode[];
export declare function inputNodeAttributes(node?: UiNode): ({
node_type: "input";
} & UiNodeInputAttributes) | undefined;
export declare function inputNodeMessages(node?: UiNode): import('../kratos').UiText[] | undefined;
export declare function getCsrfToken(flow: {
ui: {
nodes: UiNode[];
};
}): string;
export declare const getNodesOfGroup: <TGroup extends UiNodeGroupEnum>(nodes: UiNode[], group: TGroup) => (UiNode & {
group: TGroup;
})[];
export declare const isPasskeyRemoveUiNode: (node: UiNode) => node is UiNode & {
group: typeof UiNodeGroupEnum.Passkey;
type: typeof UiNodeTypeEnum.Input;
attributes: {
node_type: typeof UiNodeScriptAttributesNodeTypeEnum.Input;
name: "passkey_remove";
};
meta: {
label: {
context: {
added_at: string;
display_name: string;
added_at_unix: number;
};
};
};
};
export declare const defaultProviders: readonly ["apple", "facebook", "google"];
export type DefaultOidcProvider = (typeof defaultProviders)[number];
export type OidcProvider = DefaultOidcProvider | string;
export type OidcProviderUiNode<TProviderId extends string = string> = Omit<UiNode, "attributes" | "group"> & {
group: "oidc";
attributes: Omit<UiNodeInputAttributes, "node_type" | "value"> & {
node_type: "input";
value: TProviderId;
};
};
export declare const isOidcProviderUiNode: (node: UiNode) => node is OidcProviderUiNode;
export declare const getOidcProviderUiNode: (nodes: UiNode[] | undefined, provider: string) => OidcProviderUiNode<string> | undefined;
export declare const getAllOidcProviderUiNodes: (nodes: UiNode[] | undefined) => OidcProviderUiNode[];
export declare const isOidcProviderInConfig: <TOidcProvidersConfig extends OidcProvidersConfig>(config: TOidcProvidersConfig | undefined, providerId: string) => providerId is TOidcProvidersConfig[number]["id"];
export declare const handleFlowErrorResponse: <TFlow>({ error }: {
error: unknown;
}) => Promise<TFlow | undefined>;
//# sourceMappingURL=flow.d.ts.map