166 lines
8.0 KiB
TypeScript
166 lines
8.0 KiB
TypeScript
import { EpPropMergeType } from "../../../utils/vue/props/types.js";
|
|
import { TooltipInstance } from "../../tooltip/src/tooltip.js";
|
|
import { ScrollbarDirection, ScrollbarInstance } from "../../scrollbar/src/scrollbar.js";
|
|
import { SelectEmits, SelectProps } from "./select.js";
|
|
import { OptionBasic, OptionPublicInstance, OptionValue, SelectStates } from "./type.js";
|
|
import * as _$vue from "vue";
|
|
import { Component } from "vue";
|
|
import * as _$_vueuse_core0 from "@vueuse/core";
|
|
|
|
//#region ../../packages/components/select/src/useSelect.d.ts
|
|
declare const useSelect: (props: SelectProps, emit: SelectEmits) => {
|
|
inputId: _$vue.Ref<string | undefined, string | undefined>;
|
|
contentId: _$vue.Ref<string, string>;
|
|
nsSelect: {
|
|
namespace: _$vue.ComputedRef<string>;
|
|
b: (blockSuffix?: string) => string;
|
|
e: (element?: string) => string;
|
|
m: (modifier?: string) => string;
|
|
be: (blockSuffix?: string, element?: string) => string;
|
|
em: (element?: string, modifier?: string) => string;
|
|
bm: (blockSuffix?: string, modifier?: string) => string;
|
|
bem: (blockSuffix?: string, element?: string, modifier?: string) => string;
|
|
is: {
|
|
(name: string, state: boolean | undefined): string;
|
|
(name: string): string;
|
|
};
|
|
cssVar: (object: Record<string, string>) => Record<string, string>;
|
|
cssVarName: (name: string) => string;
|
|
cssVarBlock: (object: Record<string, string>) => Record<string, string>;
|
|
cssVarBlockName: (name: string) => string;
|
|
};
|
|
nsInput: {
|
|
namespace: _$vue.ComputedRef<string>;
|
|
b: (blockSuffix?: string) => string;
|
|
e: (element?: string) => string;
|
|
m: (modifier?: string) => string;
|
|
be: (blockSuffix?: string, element?: string) => string;
|
|
em: (element?: string, modifier?: string) => string;
|
|
bm: (blockSuffix?: string, modifier?: string) => string;
|
|
bem: (blockSuffix?: string, element?: string, modifier?: string) => string;
|
|
is: {
|
|
(name: string, state: boolean | undefined): string;
|
|
(name: string): string;
|
|
};
|
|
cssVar: (object: Record<string, string>) => Record<string, string>;
|
|
cssVarName: (name: string) => string;
|
|
cssVarBlock: (object: Record<string, string>) => Record<string, string>;
|
|
cssVarBlockName: (name: string) => string;
|
|
};
|
|
states: {
|
|
inputValue: string;
|
|
options: Map<EpPropMergeType<(BooleanConstructor | ObjectConstructor | StringConstructor | NumberConstructor)[], unknown, unknown>, OptionPublicInstance> & Omit<Map<EpPropMergeType<(BooleanConstructor | ObjectConstructor | StringConstructor | NumberConstructor)[], unknown, unknown>, OptionPublicInstance>, keyof Map<any, any>>;
|
|
cachedOptions: Map<EpPropMergeType<(BooleanConstructor | ObjectConstructor | StringConstructor | NumberConstructor)[], unknown, unknown>, OptionPublicInstance> & Omit<Map<EpPropMergeType<(BooleanConstructor | ObjectConstructor | StringConstructor | NumberConstructor)[], unknown, unknown>, OptionPublicInstance>, keyof Map<any, any>>;
|
|
optionValues: OptionValue[];
|
|
selected: {
|
|
index: number;
|
|
value: OptionValue;
|
|
currentLabel: OptionPublicInstance["currentLabel"];
|
|
isDisabled?: OptionPublicInstance["isDisabled"] | undefined;
|
|
}[];
|
|
hoveringIndex: number;
|
|
inputHovering: boolean;
|
|
selectionWidth: number;
|
|
collapseItemWidth: number;
|
|
previousQuery: string | null;
|
|
selectedLabel: string;
|
|
menuVisibleOnFocus: boolean;
|
|
isBeforeHide: boolean;
|
|
};
|
|
isFocused: _$vue.Ref<boolean, boolean>;
|
|
expanded: _$vue.Ref<boolean, boolean>;
|
|
optionsArray: _$vue.ComputedRef<OptionPublicInstance[]>;
|
|
hoverOption: _$vue.Ref<any, any>;
|
|
selectSize: _$vue.ComputedRef<"" | "default" | "small" | "large">;
|
|
filteredOptionsCount: _$vue.ComputedRef<number>;
|
|
updateTooltip: () => void;
|
|
updateTagTooltip: () => void;
|
|
debouncedOnInputChange: _$_vueuse_core0.UseDebounceFnReturn<() => void>;
|
|
onInput: (event: Event) => void;
|
|
deletePrevTag: (e: KeyboardEvent) => void;
|
|
deleteTag: (event: MouseEvent, tag: OptionBasic) => void;
|
|
deleteSelected: (event: Event) => void;
|
|
handleOptionSelect: (option: OptionPublicInstance) => void;
|
|
scrollToOption: (option: OptionPublicInstance | OptionPublicInstance[] | SelectStates["selected"]) => void;
|
|
hasModelValue: _$vue.ComputedRef<boolean>;
|
|
shouldShowPlaceholder: _$vue.ComputedRef<boolean>;
|
|
currentPlaceholder: _$vue.ComputedRef<string>;
|
|
mouseEnterEventName: string | null;
|
|
needStatusIcon: _$vue.ComputedRef<boolean>;
|
|
showClearBtn: _$vue.ComputedRef<boolean>;
|
|
iconComponent: _$vue.ComputedRef<EpPropMergeType<(new (...args: any[]) => (string | Component) & {}) | (() => string | Component) | (((new (...args: any[]) => (string | Component) & {}) | (() => string | Component)) | null)[], unknown, unknown>>;
|
|
iconReverse: _$vue.ComputedRef<string>;
|
|
validateState: _$vue.ComputedRef<"" | "error" | "success" | "validating">;
|
|
validateIcon: _$vue.ComputedRef<"" | Component>;
|
|
showNewOption: _$vue.ComputedRef<boolean>;
|
|
updateOptions: () => void;
|
|
collapseTagSize: _$vue.ComputedRef<"default" | "small">;
|
|
setSelected: () => void;
|
|
selectDisabled: _$vue.ComputedRef<boolean>;
|
|
emptyText: _$vue.ComputedRef<string | null>;
|
|
handleCompositionStart: (event: CompositionEvent) => void;
|
|
handleCompositionUpdate: (event: CompositionEvent) => void;
|
|
handleCompositionEnd: (event: CompositionEvent) => void;
|
|
handleKeydown: (e: KeyboardEvent) => void;
|
|
onOptionCreate: (vm: OptionPublicInstance) => void;
|
|
onOptionDestroy: (key: OptionValue, vm: OptionPublicInstance) => void;
|
|
handleMenuEnter: () => void;
|
|
focus: () => void;
|
|
blur: () => void;
|
|
handleClearClick: (event: Event) => void;
|
|
handleClickOutside: (event: Event) => void;
|
|
handleEsc: () => void;
|
|
toggleMenu: (event?: Event) => void;
|
|
selectOption: () => void;
|
|
getValueKey: (item: OptionPublicInstance | SelectStates["selected"][0]) => any;
|
|
navigateOptions: (direction: "prev" | "next") => void;
|
|
dropdownMenuVisible: _$vue.WritableComputedRef<boolean, boolean>;
|
|
showTagList: _$vue.ComputedRef<{
|
|
index: number;
|
|
value: OptionValue;
|
|
currentLabel: OptionPublicInstance["currentLabel"];
|
|
isDisabled?: OptionPublicInstance["isDisabled"] | undefined;
|
|
}[]>;
|
|
collapseTagList: _$vue.ComputedRef<{
|
|
index: number;
|
|
value: OptionValue;
|
|
currentLabel: OptionPublicInstance["currentLabel"];
|
|
isDisabled?: OptionPublicInstance["isDisabled"] | undefined;
|
|
}[]>;
|
|
popupScroll: (data: {
|
|
scrollTop: number;
|
|
scrollLeft: number;
|
|
}) => void;
|
|
getOption: (value: OptionValue) => {
|
|
index: number;
|
|
value: EpPropMergeType<(BooleanConstructor | ObjectConstructor | StringConstructor | NumberConstructor)[], unknown, unknown>;
|
|
currentLabel: any;
|
|
} | {
|
|
index: number;
|
|
value: EpPropMergeType<(BooleanConstructor | ObjectConstructor | StringConstructor | NumberConstructor)[], unknown, unknown>;
|
|
currentLabel: string | number | boolean;
|
|
readonly isDisabled: boolean;
|
|
};
|
|
endReached: (direction: ScrollbarDirection) => void;
|
|
tagStyle: _$vue.ComputedRef<{
|
|
maxWidth: string;
|
|
}>;
|
|
collapseTagStyle: _$vue.ComputedRef<{
|
|
maxWidth: string;
|
|
}>;
|
|
popperRef: _$vue.ComputedRef<HTMLElement | undefined>;
|
|
inputRef: _$vue.Ref<HTMLInputElement | undefined, HTMLInputElement | undefined>;
|
|
tooltipRef: _$vue.Ref<TooltipInstance | undefined, TooltipInstance | undefined>;
|
|
tagTooltipRef: _$vue.Ref<TooltipInstance | undefined, TooltipInstance | undefined>;
|
|
prefixRef: _$vue.Ref<HTMLElement | undefined, HTMLElement | undefined>;
|
|
suffixRef: _$vue.Ref<HTMLElement | undefined, HTMLElement | undefined>;
|
|
selectRef: _$vue.Ref<HTMLElement | undefined, HTMLElement | undefined>;
|
|
wrapperRef: _$vue.ShallowRef<HTMLElement | undefined, HTMLElement | undefined>;
|
|
selectionRef: _$vue.Ref<HTMLElement | undefined, HTMLElement | undefined>;
|
|
scrollbarRef: _$vue.Ref<ScrollbarInstance | undefined, ScrollbarInstance | undefined>;
|
|
menuRef: _$vue.Ref<HTMLElement | undefined, HTMLElement | undefined>;
|
|
tagMenuRef: _$vue.Ref<HTMLElement | undefined, HTMLElement | undefined>;
|
|
collapseItemRef: _$vue.Ref<HTMLElement | undefined, HTMLElement | undefined>;
|
|
};
|
|
//#endregion
|
|
export { useSelect }; |