UNPKG

@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
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; } }