UNPKG

@kelvininc/ui-components

Version:
149 lines (148 loc) 4.57 kB
import { EventEmitter } from '../../stencil-public-runtime'; import { EIconName } from '../icon/icon.types'; import { EValidationState, ITextField } from '../text-field/text-field.types'; import { ISingleSelectDropdown, ISingleSelectDropdownEvents, ISelectSingleOptions } from './single-select-dropdown.types'; import { CustomCssClass, EComponentSize, IIllustrationMessage, ISelectOption } from '../../types'; import { ComputePositionConfig } from '@floating-ui/dom'; /** * @part select - The select container. */ export declare class KvSingleSelectDropdown implements ISingleSelectDropdown, ISingleSelectDropdownEvents { /** @inheritdoc */ placeholder: string; /** @inheritdoc */ isOpen?: boolean; /** @inheritdoc */ loading?: boolean; /** @inheritdoc */ icon?: EIconName; /** @inheritdoc */ required?: boolean; /** @inheritdoc */ label?: string; /** @inheritdoc */ displayValue?: string; /** @inheritdoc */ displayPrefix?: string; /** @inheritdoc */ badge?: string; /** @inheritdoc */ errorState?: EValidationState; /** @inheritdoc */ helpText?: string | string[]; /** @inheritdoc */ disabled?: boolean; /** @inheritdoc */ inputSize?: EComponentSize; /** @inheritdoc */ dropdownOptions: Partial<ComputePositionConfig>; /** @inheritdoc */ customClass?: CustomCssClass; /** @inheritdoc */ clickOutsideClose?: boolean; /** @inheritdoc */ actionElement?: HTMLElement | null; /** @inheritdoc */ options?: ISelectSingleOptions; /** @inheritdoc */ selectedOption?: string; /** @inheritdoc */ filteredOptions?: ISelectSingleOptions; /** @inheritdoc */ noDataAvailableConfig?: IIllustrationMessage; /** @inheritdoc */ noResultsFoundConfig?: IIllustrationMessage; /** @inheritdoc */ searchable?: boolean; /** @inheritdoc */ searchPlaceholder?: string; /** @inheritdoc */ selectionClearable?: boolean; /** @inheritdoc */ clearSelectionLabel?: string; /** @inheritdoc */ minHeight?: string; /** @inheritdoc */ maxHeight?: string; /** @inheritdoc */ minWidth?: string; /** @inheritdoc */ maxWidth?: string; /** @inheritdoc */ selectionAll?: boolean; /** @inheritdoc */ selectAllLabel?: string; /** @inheritdoc */ counter?: boolean; /** @inheritdoc */ minSearchOptions?: number; /** @inheritdoc */ shortcuts?: boolean; /** @inheritdoc */ zIndex?: number; /** @inheritdoc */ canAddItems?: boolean; /** @inheritdoc */ createInputPlaceholder?: string; /** @inheritdoc */ createOptionPlaceholder?: string; /** @inheritdoc */ inputConfig?: Partial<ITextField>; /** @inheritdoc */ autoFocus?: boolean; /** @inheritdoc */ optionSelected: EventEmitter<string>; /** @inheritdoc */ searchChange: EventEmitter<string>; /** @inheritdoc */ clearSelection: EventEmitter<void>; /** @inheritdoc */ dismiss: EventEmitter<void>; /** @inheritdoc */ clickOutside: EventEmitter<void>; /** @inheritdoc */ optionCreated: EventEmitter<string>; /** @inheritdoc */ openStateChange: EventEmitter<boolean>; _searchValue: string; _selectionDisplayValue: string | undefined; /** The Host's element reference */ el: HTMLKvSingleSelectDropdownElement; selectOptions: { total: Record<string, ISelectOption>; filtered: Record<string, ISelectOption>; flatten: Record<string, ISelectOption>; }; highlightedOption?: string; optionsChangeHandler(): void; selectedOptionChangeHandler(): void; displayValueChangeHandler(): void; filterOptionsChangeHandler(): void; /** Focuses the search text field */ focusSearch(): Promise<void>; componentWillLoad(): void; private selectRef?; private onOptionSelected; private onDismiss; private onSearchChange; private onOpenStateChange; private onClearSelection; private onOptionCreated; private selectOption; private focusSearchInput; private setOpenState; private setSearch; private getMaxHeight; private getMinHeight; private getMaxWidth; private getMinWidth; private getInputConfig; private clearHighlightedOption; private closeCreatePopup; private calculateLabelValue; private validateSelectedOptionValue; private buildSelectionOptions; private get selectedOptions(); connectedCallback(): void; render(): any; }