@progressive-development/pd-page
Version:
Progressive development page helper, teaser, menu, footer.
66 lines • 2.88 kB
TypeScript
import { LitElement, CSSResultGroup } from 'lit';
/**
* Login form component for email/password authentication.
*
* This is a pure UI component that emits events for login attempts.
* The actual authentication logic should be handled by the parent component.
*
* Supports two views:
* - **login**: Default login form with email and password fields.
* - **forgot-password**: Password reset request form with email field only.
*
* @summary Login form with email and password fields, including forgot password flow.
*
* @tagname pd-login
*
* @event login-attempt - Fired when user submits valid credentials. Detail: `LoginAttemptDetail`.
* @event forgot-password-attempt - Fired when user requests password reset. Detail: `ForgotPasswordAttemptDetail`.
* @event view-change - Fired when the form switches between the login and forgot-password views. Detail: `ViewChangeDetail`. The owner should clear any externally controlled `errorMessage` in response, since it belongs to the view being left.
*
* @cssprop --pd-login-bg-color - Form background color. Default: `var(--pd-default-bg-light-col)`.
* @cssprop --pd-login-border-radius - Form border radius. Default: `var(--pd-radius-md)`.
* @cssprop --pd-login-max-width - Maximum width of the form. Default: `500px`.
* @cssprop --pd-login-padding - Form padding. Default: `1rem 0 1rem 1rem`.
*/
export declare class PdLogin extends LitElement {
/** Shows loading state on the submit button. */
loading: boolean;
/** Error message to display. */
errorMessage: string;
/** Success message to display (e.g., after password reset request). */
successMessage: string;
/** Hide the forgot password link. */
hideForgotPassword: boolean;
/** Current view: login form or forgot password form (internal). */
private _view;
private _validForm;
private _forgotPasswordValidForm;
private _prefillEmail;
/** @ignore */
private _formElement;
/** @ignore */
private _forgotPasswordFormElement;
static styles: CSSResultGroup;
render(): import('lit').TemplateResult<1>;
private _renderLoginView;
private _renderForgotPasswordView;
/** Clears the form and resets validation state. */
clear(): void;
private _handleFormChange;
private _handleSubmit;
/**
* Central view switch. Emits `view-change` so the owner can clear the
* externally controlled `errorMessage` (which belongs to the view being
* left). The component never mutates `errorMessage` itself.
*/
private _setView;
private _handleForgotPassword;
private _handleForgotPasswordFormChange;
private _handleForgotPasswordSubmit;
private _handleBackToLogin;
/** Switch to forgot password view. */
showForgotPassword(): void;
/** Switch back to login view. */
showLogin(): void;
}
//# sourceMappingURL=PdLogin.d.ts.map