UNPKG

@exadel/esl

Version:

Exadel Smart Library (ESL) is the lightweight custom elements library that provide a set of super-flexible components

64 lines (63 loc) 2.38 kB
import { ESLSelectWrapper } from '../../esl-select-list/core/esl-select-wrapper'; import { ESLSelectRenderer } from './esl-select-renderer'; import { ESLSelectDropdown } from './esl-select-dropdown'; /** * ESLSelect component * @author Alexey Stsefanovich (ala'n) * * ESLSelect is a component on top of native select that brings more customization features. * Uses "select with dropdown" view. Supports both single and multiple selection. */ export declare class ESLSelect extends ESLSelectWrapper { static readonly is = "esl-select"; static observedAttributes: string[]; static register(): void; /** Placeholder text property */ placeholder: string; /** Class(es) to mark not empty state */ hasValueClass: string; /** Class(es) for focused state. Select is also focused if the dropdown list is opened */ hasFocusClass: string; /** Class(es) for select dropdown */ dropdownClass: string; /** Select all options text */ selectAllLabel: string; /** * Text to add when there is not enough space to show all selected options inline, * Supports `{rest}`, `{length}` and `{limit}` placeholders */ moreLabelFormat: string; /** Dropdown open marker */ open: boolean; /** Disabled state marker */ disabled: boolean; /** Marker for selecting items to be pinned to the top of the dropdown */ pinSelected: boolean; protected $renderer: ESLSelectRenderer; protected $dropdown: ESLSelectDropdown; constructor(); protected attributeChangedCallback(attrName: string, oldVal: string, newVal: string): void; protected connectedCallback(): void; protected disconnectedCallback(): void; /** Catches the focus */ focus(options?: FocusOptions): void; /** Updates select component */ update(valueChanged?: boolean): void; protected _prepare(): void; protected _dispose(): void; protected _updateMarkers(): void; protected _updateDisabled(): void; protected _onChange(event: Event): void; protected _onFocusOut(): void; protected _onClick(): void; protected _onKeydown(e: KeyboardEvent): void; protected _onPopupStateChange(e: CustomEvent): void; } declare global { export interface ESLLibrary { Select: typeof ESLSelect; } export interface HTMLElementTagNameMap { 'esl-select': ESLSelect; } }