@esri/calcite-components
Version:
Web Components for Esri's Calcite Design System.
96 lines (95 loc) • 3.49 kB
TypeScript
/// <reference types="lodash" />
import { Event, EventEmitter, VNode } from "../../stencil-public-runtime";
import { StrictModifiers } from "@popperjs/core";
import { Scale, Theme } from "../interfaces";
interface ItemData {
label: string;
value: string;
}
export declare class CalciteCombobox {
el: HTMLCalciteComboboxElement;
/** Open and close combobox */
active: boolean;
activeHandler(): void;
/** Disable combobox input */
disabled: boolean;
/** Aria label for combobox (required) */
label: string;
/** Placeholder text for input */
placeholder?: string;
/** Specify the maximum number of combobox items (including nested children) to display before showing the scroller */
maxItems: number;
/** Allow entry of custom values which are not in the original set of items */
allowCustomValues: boolean;
/** Specify the scale of the combobox, defaults to m */
scale: Scale;
/** Select theme (light or dark) */
theme: Theme;
documentClickHandler(event: Event): void;
calciteComboboxItemChangeHandler(event: CustomEvent<HTMLCalciteComboboxItemElement>): void;
calciteChipDismissHandler(event: CustomEvent<HTMLCalciteChipElement>): void;
keydownHandler(event: KeyboardEvent): void;
reposition(): Promise<void>;
setFocus(): Promise<void>;
/** Called when the selected items set changes */
calciteLookupChange: EventEmitter<HTMLCalciteComboboxItemElement[]>;
calciteComboboxChipDismiss: EventEmitter;
connectedCallback(): void;
componentWillLoad(): void;
componentDidLoad(): void;
componentDidRender(): void;
disconnectedCallback(): void;
items: HTMLCalciteComboboxItemElement[];
selectedItems: HTMLCalciteComboboxItemElement[];
visibleItems: HTMLCalciteComboboxItemElement[];
activeItemIndex: number;
activeChipIndex: number;
activeDescendant: string;
text: string;
/** when search text is cleared, reset active to */
textHandler(): void;
textInput: HTMLInputElement;
data: ItemData[];
observer: MutationObserver;
private guid;
/** specifies the item wrapper height; it is updated when maxItems is > 0 **/
private maxScrollerHeight;
private inputHeight;
private popper;
private menuEl;
private referenceEl;
private listContainerEl;
setInactiveIfNotContained: (target: HTMLElement) => void;
setMenuEl: (el: HTMLDivElement) => void;
setListContainerEl: (el: HTMLDivElement) => void;
setReferenceEl: (el: HTMLDivElement) => void;
getModifiers(): Partial<StrictModifiers>[];
createPopper(): void;
destroyPopper(): void;
private getMaxScrollerHeight;
private calculateSingleItemHeight;
inputHandler: (event: Event) => void;
filterItems: import("lodash").DebouncedFunc<(value: string) => void>;
toggleSelection(item: HTMLCalciteComboboxItemElement, value?: boolean): void;
getVisibleItems(): HTMLCalciteComboboxItemElement[];
getSelectedItems(): HTMLCalciteComboboxItemElement[];
updateItems: () => void;
getData(): ItemData[];
resetText(): void;
getItems(): HTMLCalciteComboboxItemElement[];
addCustomChip(value: string): void;
removeActiveChip(): void;
removeLastChip(): void;
previousChip(): void;
nextChip(): void;
focusChip(): void;
shiftActiveItemIndex(delta: number): void;
updateActiveItemIndex(index: number): void;
comboboxFocusHandler: () => void;
comboboxBlurHandler: (event: FocusEvent) => void;
renderChips(): VNode[];
renderListBoxOptions(): VNode[];
renderPopperContainer(): VNode;
render(): VNode;
}
export {};