@kelvininc/ui-components
Version:
Kelvin UI Components
129 lines (128 loc) • 4 kB
TypeScript
import { EventEmitter } from '../../stencil-public-runtime';
import { EIconName } from '../icon/icon.types';
import { EValidationState, ITextField } from '../text-field/text-field.types';
import { IMultiSelectDropdown, IMultiSelectDropdownEvents } from './multi-select-dropdown.types';
import { CustomCssClass, EComponentSize, IIllustrationMessage } from '../../types';
import { ISelectMultiOptions } from '../select-multi-options/select-multi-options.types';
import { ComputePositionConfig } from '@floating-ui/dom';
export declare class KvMultiSelectDropdown implements IMultiSelectDropdown, IMultiSelectDropdownEvents {
/** @inheritdoc */
placeholder?: string;
/** @inheritdoc */
loading?: boolean;
/** @inheritdoc */
icon?: EIconName;
/** @inheritdoc */
searchable?: boolean;
/** @inheritdoc */
searchPlaceholder?: string;
/** @inheritdoc */
selectionClearable?: boolean;
/** @inheritdoc */
clearSelectionLabel?: string;
/** @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 */
noDataAvailableConfig?: IIllustrationMessage;
/** @inheritdoc */
noResultsFoundConfig?: IIllustrationMessage;
/** @inheritdoc */
options?: ISelectMultiOptions;
/** @inheritdoc */
selectedOptions?: Record<string, boolean>;
/** @inheritdoc */
filteredOptions?: ISelectMultiOptions;
/** @inheritdoc */
minHeight?: string;
/** @inheritdoc */
maxHeight?: string;
/** @inheritdoc */
minWidth?: string;
/** @inheritdoc */
maxWidth?: string;
/** @inheritdoc */
inputSize?: EComponentSize;
/** @inheritdoc */
customClass?: CustomCssClass;
/** @inheritdoc */
dropdownOptions: Partial<ComputePositionConfig>;
/** @inheritdoc */
selectionAll: boolean;
/** @inheritdoc */
selectAllLabel: string;
/** @inheritdoc */
counter: boolean;
/** @inheritdoc */
minSearchOptions?: number;
/** @inheritdoc */
shortcuts?: boolean;
/** @inheritdoc */
clickOutsideClose?: boolean;
/** @inheritdoc */
actionElement?: HTMLElement | null;
/** @inheritdoc */
zIndex?: number;
/** @inheritdoc */
inputConfig?: Partial<ITextField>;
/** @inheritdoc */
autoFocus?: boolean;
/** @inheritdoc */
optionsSelected: EventEmitter<Record<string, boolean>>;
/** @inheritdoc */
searchChange: EventEmitter<string>;
/** @inheritdoc */
clearSelection: EventEmitter<void>;
/** @inheritdoc */
selectAll: EventEmitter<void>;
/** @inheritdoc */
dismiss: EventEmitter<void>;
/** @inheritdoc */
clickOutside: EventEmitter<void>;
/** @inheritdoc */
openStateChange: EventEmitter<boolean>;
_selectionDisplayValue: string | undefined;
_searchValue: string;
_badgeLabel: string | undefined;
_isOpen: boolean;
/** The Host's element reference */
el: HTMLKvMultiSelectDropdownElement;
badgeChangeHandler(): void;
labelValueHandler(): void;
/** Focuses the search text field */
focusSearch(): Promise<void>;
componentWillLoad(): void;
private selectRef?;
private onOptionsSelected;
private onSearchChange;
private onClearSelection;
private onSelectAll;
private onDismiss;
private onOpenStateChange;
private setOpenState;
private setSearch;
private getMaxHeight;
private getMinHeight;
private getMaxWidth;
private getMinWidth;
private clearHighlightedOption;
private calculateLabelValue;
private calculateBadgeValue;
private getInputConfig;
private focusSearchInput;
connectedCallback(): void;
render(): any;
}