a11y-basepackage.src.delegate-focus-mixin.d.ts Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of vaadin-webcomponents Show documentation
Show all versions of vaadin-webcomponents Show documentation
Mvnpm composite: Vaadin webcomponents
The newest version!
/**
* @license
* Copyright (c) 2021 - 2024 Vaadin Ltd.
* This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
*/
import type { Constructor } from '@open-wc/dedupe-mixin';
import type { DisabledMixinClass } from './disabled-mixin.js';
import type { FocusMixinClass } from './focus-mixin.js';
import type { TabindexMixinClass } from './tabindex-mixin.js';
/**
* A mixin to forward focus to an element in the light DOM.
*/
export declare function DelegateFocusMixin>(
base: T,
): Constructor &
Constructor &
Constructor &
Constructor &
T;
export declare class DelegateFocusMixinClass {
/**
* Specify that this control should have input focus when the page loads.
*/
autofocus: boolean;
/**
* A reference to the focusable element controlled by the mixin.
* It can be an input, textarea, button or any element with tabindex > -1.
*
* Any component implementing this mixin is expected to provide it
* by using `this._setFocusElement(input)` Polymer API.
*/
readonly focusElement: HTMLElement | null | undefined;
protected _addFocusListeners(element: HTMLElement): void;
protected _removeFocusListeners(element: HTMLElement): void;
protected _focusElementChanged(element: HTMLElement, oldElement: HTMLElement): void;
protected _onBlur(event: FocusEvent): void;
protected _onFocus(event: FocusEvent): void;
protected _setFocusElement(element: HTMLElement): void;
}