Vaadin WC API reference

Description

<vaadin-login-overlay> is a web component which renders a login form in an overlay and provides an additional brand part for application title and description.

<vaadin-login-overlay opened></vaadin-login-overlay>

Styling

The following shadow DOM parts are available for styling:

Part name Description
backdrop Backdrop of the overlay
overlay The overlay container element
content The overlay content element
card Container for the brand and form wrapper
brand Container for application title and description
description The application description
form-wrapper The login form wrapper element
form The login form element
form-title Title of the login form
error-message Container for error message
error-message-title Container for error message title
error-message-description Container for error message description
footer Container for the footer element

See Styling Components documentation.

Properties

action

Type: string | null

If set, a synchronous POST call will be fired to the path defined. The login event is also dispatched, so event.preventDefault() can be called to prevent the POST call.

description

Type: string

Defines the application description

disabled

Type: boolean

If set, disable the "Log in" button and prevent user from submitting login form. It is re-enabled automatically, when error is set to true, allowing form resubmission after user makes changes.

error

Type: boolean

If set, the error message is shown. The message is hidden by default. When set, it changes the disabled state of the submit button.

headingLevel

Type: number

Sets the root heading level (aria-level) for the heading hierarchy. Default value: 1. Child headings automatically increment from this base level i.e. standalone login form renders its title as <h1>, whereas the form in the overlay uses <h2>, as the <h1> element is used by the overlay's own title.

i18n

Type: LoginI18n

The object used to localize this component. To change the default localization, replace this with an object that provides all properties, or just the individual properties you want to change.

The object has the following JSON structure (by default it doesn't include additionalInformation and header sections, header can be added to override title and description properties in vaadin-login-overlay):

{
  header: {
    title: 'App name',
    description: 'Inspiring application description'
  },
  form: {
    title: 'Log in',
    username: 'Username',
    password: 'Password',
    submit: 'Log in',
    forgotPassword: 'Forgot password'
  },
  errorMessage: {
    title: 'Incorrect username or password',
    message: 'Check that you have entered the correct username and password and try again.',
    username: 'Username is required',
    password: 'Password is required'
  },
  additionalInformation: 'In case you need to provide some additional info for the user.'
}

See also: LoginI18n

noAutofocus

Type: boolean

If set, the user name field automatically receives focus when the component is attached to the document.

noForgotPassword

Type: boolean

Whether to hide the forgot password button. The button is visible by default.

opened

Type: boolean

True if the overlay is currently displayed.

title

Type: string

Defines the application title

Methods

submit

Type: () => void

Submits the form.

Events

closed

Type: LoginOverlayClosedEvent

Fired when the overlay is closed.

description-changed

Type: LoginOverlayDescriptionChangedEvent

Fired when the description property changes.

disabled-changed

Type: LoginOverlayDisabledChangedEvent

Fired when the disabled property changes.

error-changed

Type: LoginOverlayErrorChangedEvent

Fired when the error property changes.

forgot-password

Type: CustomEvent

Fired when user clicks on the "Forgot password" button.

login

Type: LoginOverlayLoginEvent

Fired when an user submits the login. The event contains username and password values in the detail property.

Types

LoginI18n

export interface LoginI18n {
  form?: {
    title?: string;
    username?: string;
    password?: string;
    submit?: string;
    forgotPassword?: string;
  };
  errorMessage?: {
    title?: string;
    message?: string;
    username?: string;
    password?: string;
  };
  header?: {
    title?: string;
    description?: string;
  };
  additionalInformation?: string;
}

LoginOverlayClosedEvent

/**
 * Fired when the overlay is closed.
 */
export type LoginOverlayClosedEvent = CustomEvent;

LoginOverlayDescriptionChangedEvent

/**
 * Fired when the `description` property changes.
 */
export type LoginOverlayDescriptionChangedEvent = CustomEvent<{ value: string }>;

LoginOverlayDisabledChangedEvent

/**
 * Fired when the `disabled` property changes.
 */
export type LoginOverlayDisabledChangedEvent = CustomEvent<{ value: boolean }>;

LoginOverlayErrorChangedEvent

/**
 * Fired when the `error` property changes.
 */
export type LoginOverlayErrorChangedEvent = CustomEvent<{ value: boolean }>;

LoginOverlayLoginEvent

/**
 * Fired when a user submits the login.
 */
export type LoginOverlayLoginEvent = CustomEvent<{
  username: string;
  password: string;
  custom?: Record<string, unknown>;
}>;