import type { JSX } from "keycloakify/tools/JSX"; import { useState } from "react"; import { kcSanitize } from "keycloakify/lib/kcSanitize"; import { useIsPasswordRevealed } from "keycloakify/tools/useIsPasswordRevealed"; import { clsx } from "keycloakify/tools/clsx"; import type { PageProps } from "keycloakify/login/pages/PageProps"; import { getKcClsx, type KcClsx } from "keycloakify/login/lib/kcClsx"; import type { KcContext } from "../KcContext"; import type { I18n } from "../i18n"; export default function Login(props: PageProps, I18n>) { const { kcContext, i18n, doUseDefaultCss, Template, classes } = props; const { kcClsx } = getKcClsx({ doUseDefaultCss, classes }); const { social, realm, url, usernameHidden, login, auth, registrationDisabled, messagesPerField } = kcContext; const { msg, msgStr } = i18n; const [isLoginButtonDisabled, setIsLoginButtonDisabled] = useState(false); return ( ); } function PasswordWrapper(props: { kcClsx: KcClsx; i18n: I18n; passwordInputId: string; children: JSX.Element }) { const { kcClsx, i18n, passwordInputId, children } = props; const { msgStr } = i18n; const { isPasswordRevealed, toggleIsPasswordRevealed } = useIsPasswordRevealed({ passwordInputId }); return (
{children}
); }