UNPKG

@universal-material/web

Version:
94 lines 2.91 kB
import { HTMLTemplateResult, LitElement } from 'lit'; import { UmMenuItem } from '../menu/menu-item.js'; import { UmMenu } from '../menu/menu.js'; import '../menu/menu.js'; import '../menu/menu-item.js'; import './highlight.js'; export interface Data { label: string; value: any; } export declare class UmTypeahead extends LitElement { #private; static readonly formAssociated = true; static styles: import("lit").CSSResult; private target; private results; /** * The datasource of the typeahead. Accepts an `Array` or a `Promise<[]>`. */ source: (any[] | ((term: string) => Promise<any[]>)) | undefined; /** * A function return a string based on a result from the `source`. Useful when the source results are objects. */ formatter: ((value: any) => string) | undefined; /** * A string representing an HTML to be rendered inside the menu item. If set, it will replace the `u-highlight`. * * _Note:_ Subject to signature change */ template: ((term: string, value: any) => string) | undefined; /** * The time in milliseconds before triggering an update in the results. */ debounce: number; /** * The number of suggestions to show */ limit: number; /** * How many characters must be typed before show suggestions * * _Note:_ Not used when the source is a `Promise` */ minLength: number; /** * Whether the menu will be show when the target get focus. * * _Note:_ The `minLength` will still be applied */ openOnFocus: boolean; /** * If `true`, model values will not be restricted only to items selected from the menu. */ editable: boolean; /** * The value for the `autocomplete` attribute for the target element. */ autocomplete: 'on' | 'off' | string; /** * The value for the `spellcheck` attribute for the target element. */ spellcheck: boolean; get form(): HTMLFormElement | null; /** * Gets or sets the current value of the typeahead. */ get value(): any; set value(value: any); focus(): void; clear(): void; /** * The id of the target element to attach the typeahead. */ get targetId(): string | undefined; set targetId(value: string | undefined); _menu: UmMenu; menuItems: NodeListOf<UmMenuItem>; get _menuItems(): UmMenuItem[]; constructor(); attributeChangedCallback(name: string, _old: string | null, value: string | null): void; connectedCallback(): void; disconnectedCallback(): void; protected render(): HTMLTemplateResult; private getTargetValue; private setTargetValue; private getMenuAnchor; private getTextValue; } declare global { interface HTMLElementTagNameMap { 'u-typeahead': UmTypeahead; } } //# sourceMappingURL=typeahead.d.ts.map