element-plus
Version:
A Component Library for Vue 3
91 lines (90 loc) • 3.78 kB
TypeScript
import { Effect } from 'element-plus/es/components/popper';
import type { SelectProps } from './defaults';
import type { ExtractPropTypes, CSSProperties } from 'vue';
import type { Option } from './select.types';
declare const useSelect: (props: ExtractPropTypes<typeof SelectProps>, emit: any) => {
collapseTagSize: import("vue").ComputedRef<"small" | "mini">;
currentPlaceholder: import("vue").ComputedRef<string>;
expanded: import("vue").Ref<boolean>;
emptyText: import("vue").ComputedRef<string | false | null>;
popupHeight: import("vue").ComputedRef<number>;
debounce: import("vue").ComputedRef<0 | 300>;
filteredOptions: import("vue").ComputedRef<never[]>;
iconClass: import("vue").ComputedRef<"" | "arrow-up is-reverse" | "arrow-up">;
inputWrapperStyle: import("vue").ComputedRef<CSSProperties>;
popperSize: import("vue").Ref<number>;
dropdownMenuVisible: import("vue").ComputedRef<boolean>;
shouldShowPlaceholder: import("vue").ComputedRef<boolean>;
selectDisabled: import("vue").ComputedRef<boolean | undefined>;
selectSize: import("vue").ComputedRef<any>;
showClearBtn: import("vue").ComputedRef<boolean>;
states: {
inputValue: string;
displayInputValue: string;
calculatedWidth: number;
cachedPlaceholder: string;
cachedOptions: {
[x: string]: any;
label: string;
created?: boolean | undefined;
value: any;
}[];
createdOptions: {
[x: string]: any;
label: string;
created?: boolean | undefined;
value: any;
}[];
createdLabel: string;
createdSelected: boolean;
currentPlaceholder: string;
hoveringIndex: number;
comboBoxHovering: boolean;
isOnComposition: boolean;
isSilentBlur: boolean;
isComposing: boolean;
inputLength: number;
selectWidth: number;
initialInputHeight: number;
previousQuery: null;
previousValue: string;
query: string;
selectedLabel: string;
softFocus: boolean;
tagInMultiLine: boolean;
};
tagMaxWidth: import("vue").ComputedRef<number>;
calculatorRef: import("vue").Ref<HTMLElement>;
controlRef: import("vue").Ref<null>;
inputRef: import("vue").Ref<null>;
menuRef: import("vue").Ref<null>;
popper: import("vue").Ref<null>;
selectRef: import("vue").Ref<null>;
selectionRef: import("vue").Ref<null>;
popperRef: import("vue").ComputedRef<any>;
Effect: typeof Effect;
debouncedOnInputChange: import("lodash").DebouncedFunc<() => Promise<void>>;
deleteTag: (event: MouseEvent, tag: Option) => Promise<void> | undefined;
getLabel: (item: unknown) => any;
getValueKey: (item: unknown) => unknown;
handleBlur: () => Promise<void>;
handleClear: () => Promise<void>;
handleClickOutside: () => Promise<void>;
handleDel: (e: KeyboardEvent) => void;
handleEsc: () => void;
handleFocus: (event: FocusEvent) => void;
handleMenuEnter: () => Promise<void>;
handleResize: () => Promise<void> | undefined;
toggleMenu: () => Promise<void> | undefined;
scrollTo: (index: number) => void;
onInput: (event: any) => Promise<void> | undefined;
onKeyboardNavigate: (direction: 'forward' | 'backward', hoveringIndex?: number) => any;
onKeyboardSelect: () => Promise<void> | undefined;
onSelect: (option: Option, idx: number, byClick?: boolean) => void;
onHover: (idx: number) => void;
onUpdateInputValue: (val: string) => void;
handleCompositionStart: () => void;
handleCompositionEnd: (event: any) => void;
handleCompositionUpdate: (event: any) => void;
};
export default useSelect;