@leancodepl/kratos
Version:
Headless React components library for building Ory Kratos authentication flows
47 lines (46 loc) • 1.89 kB
TypeScript
import { UiNode, UiNodeGroupEnum, UiNodeScriptAttributesNodeTypeEnum, UiNodeTypeEnum } from "../kratos";
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";
} & import("../kratos").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 providers: readonly ["apple", "facebook", "google"];
export type OidcProvider = (typeof providers)[number];
export type OidcProviderUiNode = UiNode & {
group: "oidc";
attributes: {
node_type: "input";
value: OidcProvider;
};
};
export declare const isOidcProviderUiNode: (node: UiNode) => node is OidcProviderUiNode;
export declare const getOidcProviderUiNode: (nodes: UiNode[] | undefined, provider: OidcProvider) => OidcProviderUiNode | undefined;
export declare const handleFlowErrorResponse: <TFlow>({ error }: {
error: unknown;
}) => Promise<TFlow | undefined>;