@exadel/esl
Version:
Exadel Smart Library (ESL) is the lightweight custom elements library that provide a set of super-flexible components
44 lines (43 loc) • 1.54 kB
TypeScript
import { ESLBaseElement } from '../../../esl-base-element/core';
import type { ESLSelect } from './esl-select';
/**
* ESLSelectRenderer component
* @author Alexey Stsefanovich (ala'n)
*
* Auxiliary inner custom element to render {@link ESLSelect} inline field
*/
export declare class ESLSelectRenderer extends ESLBaseElement {
static readonly is = "esl-select-renderer";
/** Attribute for empty text value */
emptyText: string;
/** Attribute for more label format */
moreLabelFormat: string;
/** Marker attribute to reflect filled state */
hasValue: boolean;
/** Internal container */
protected get $container(): HTMLElement;
/** Inner remove button */
protected get $remove(): HTMLElement;
/** Inner text element */
protected get $text(): HTMLElement;
/** Inner rest label element */
protected get $rest(): HTMLElement;
/** ESLSelect owner */
get owner(): ESLSelect | null;
protected connectedCallback(): void;
protected disconnectedCallback(): void;
/** Rerender component with markers */
render(): void;
/** Render item with a visible items limit */
protected apply(items: string[], limit: number): void;
/** Render items using adaptive algorithm */
protected applyItems(items: string[]): void;
/** Handle clear button click */
protected _onClear(e: MouseEvent): void;
protected _onResize(): void;
}
declare global {
export interface HTMLElementTagNameMap {
'esl-select-renderer': ESLSelectRenderer;
}
}