@exadel/esl
Version:
Exadel Smart Library (ESL) is the lightweight custom elements library that provide a set of super-flexible components
47 lines (46 loc) • 1.78 kB
TypeScript
import { ESLScrollbar } from '../../../esl-scrollbar/core';
import { ESLSelectItem } from './esl-select-item';
import { ESLSelectWrapper } from './esl-select-wrapper';
/**
* ESLSelectList component
* @author Alexey Stsefanovich (ala'n)
*
* ESLSelectList is a component to show selectable list of items. Decorates native HTMLSelectElement
*/
export declare class ESLSelectList extends ESLSelectWrapper {
static readonly is = "esl-select-list";
static observedAttributes: string[];
static register(): void;
/** Select all options text */
selectAllLabel: string;
/** Disabled state marker */
disabled: boolean;
/** Marker for selecting items to be pinned to the top of the list */
pinSelected: boolean;
protected $items: ESLSelectItem[];
protected $list: HTMLDivElement;
protected $scroll: ESLScrollbar;
protected $selectAll: ESLSelectItem;
constructor();
protected attributeChangedCallback(attrName: string, oldVal: string, newVal: string): void;
protected connectedCallback(): void;
protected disconnectedCallback(): void;
protected bindSelect(): void;
protected _renderItems(): void;
protected _renderGroup(items: ESLSelectItem[]): void;
protected _updateSelectAll(): void;
protected _updateDisabled(): void;
protected _onTargetChange(newTarget: HTMLSelectElement | undefined, oldTarget: HTMLSelectElement | undefined): void;
_onChange(): void;
_onListChange(): void;
protected _onClick(e: MouseEvent | KeyboardEvent): void;
protected _onKeydown(e: KeyboardEvent): void;
}
declare global {
export interface ESLLibrary {
SelectList: typeof ESLSelectList;
}
export interface HTMLElementTagNameMap {
'esl-select-list': ESLSelectList;
}
}