@oslokommune/punkt-elements
Version:
Komponentbiblioteket til Punkt, et designsystem laget av Oslo Origo
65 lines (64 loc) • 2.01 kB
TypeScript
import { PropertyValues } from 'lit';
import { PktElement } from '../../base-elements/element';
import { IPktComboboxOption } from '../../shared-types/combobox';
declare global {
interface HTMLElementTagNameMap {
'pkt-listbox': PktListbox;
}
}
export interface IPktListbox {
options: IPktComboboxOption[];
isOpen: boolean;
disabled: boolean;
includeSearch: boolean;
isMultiSelect: boolean;
allowUserInput: boolean;
maxIsReached: boolean;
customUserInput: string | null;
searchPlaceholder: string | null;
searchValue: string | null;
maxLength: number;
userMessage: string | null;
}
export declare class PktListbox extends PktElement implements IPktListbox {
id: string;
label: string | null;
options: IPktComboboxOption[];
isOpen: boolean;
disabled: boolean;
includeSearch: boolean;
isMultiSelect: boolean;
allowUserInput: boolean;
maxIsReached: boolean;
customUserInput: string | null;
searchPlaceholder: string | null;
searchValue: string | null;
maxLength: number;
userMessage: string | null;
private _selectedOptions;
private typeahead;
private _filteredOptions;
connectedCallback(): void;
disconnectedCallback(): void;
updated(changedProperties: PropertyValues): void;
attributeChangedCallback(name: string, _old: string | null, value: string | null): void;
private get _hasOptions();
render(): import('lit-html').TemplateResult<1>;
private renderCheckboxOrCheckIcon;
private renderEmptyMessage;
private renderList;
private renderNewOptionBanner;
private renderMaximumReachedBanner;
private renderUserMessage;
private renderSearch;
private handleSearchInput;
private handleSearchKeydown;
private handleOptionKeydown;
focusFirstOrSelectedOption(): void;
private toggleOption;
private selectAll;
private closeOptions;
private tabClose;
filterOptions(): void;
private handleTypeAhead;
}