@fe6/water-pro
Version:
An enterprise-class UI design language and Vue-based implementation
621 lines (620 loc) • 25.3 kB
TypeScript
import { VNodeChild, PropType, Plugin } from 'vue';
import { Option, OptGroup, SelectProps as RcSelectProps } from '../vc-select';
import { OptionProps as OptionPropsType } from '../vc-select/Option';
declare type RawValue = string | number;
export declare type OptionProps = OptionPropsType;
export declare type OptionType = typeof Option;
export interface LabeledValue {
key?: string;
value: RawValue;
label: VNodeChild;
}
export declare type SizeType = 'small' | 'middle' | 'large' | undefined;
export declare type SelectValue = RawValue | RawValue[] | LabeledValue | LabeledValue[];
export interface InternalSelectProps<VT> extends Omit<RcSelectProps<VT>, 'mode'> {
suffixIcon?: VNodeChild;
itemIcon?: VNodeChild;
size?: SizeType;
mode?: 'multiple' | 'tags' | 'SECRET_COMBOBOX_MODE_DO_NOT_USE';
bordered?: boolean;
}
export interface SelectPropsTypes<VT> extends Omit<InternalSelectProps<VT>, 'inputIcon' | 'mode' | 'getInputElement' | 'backfill' | 'class' | 'style'> {
mode?: 'multiple' | 'tags';
}
export declare type SelectTypes = SelectPropsTypes<SelectValue>;
export declare const SelectProps: () => {
value: {
type: PropType<SelectValue>;
};
defaultValue: {
type: PropType<SelectValue>;
};
notFoundContent: import("vue-types").VueTypeValidableDef<import("../_util/type").VueNode>;
suffixIcon: import("vue-types").VueTypeValidableDef<import("../_util/type").VueNode>;
itemIcon: import("vue-types").VueTypeValidableDef<import("../_util/type").VueNode>;
size: import("vue-types").VueTypeDef<"small" | "large" | "default" | "middle">;
mode: import("vue-types").VueTypeDef<"multiple" | "tags" | "SECRET_COMBOBOX_MODE_DO_NOT_USE">;
bordered: import("vue-types").VueTypeValidableDef<boolean> & {
default: boolean;
};
transitionName: import("vue-types").VueTypeValidableDef<string> & {
default: string;
} & {
default: string;
};
choiceTransitionName: import("vue-types").VueTypeValidableDef<string> & {
default: string;
} & {
default: string;
};
animation: import("vue-types").VueTypeValidableDef<string> & {
default: string;
};
children: import("vue-types").VueTypeValidableDef<unknown[]> & {
default: () => unknown[];
};
onFocus: import("vue-types").VueTypeValidableDef<Function | Function[]>;
onBlur: import("vue-types").VueTypeValidableDef<Function | Function[]>;
onChange: import("vue-types").VueTypeValidableDef<Function | Function[]>;
onKeydown: import("vue-types").VueTypeValidableDef<Function | Function[]>;
onKeyup: import("vue-types").VueTypeValidableDef<Function | Function[]>;
onClick: import("vue-types").VueTypeValidableDef<Function | Function[]>;
onMousedown: import("vue-types").VueTypeValidableDef<Function | Function[]>;
onMouseenter: import("vue-types").VueTypeValidableDef<Function | Function[]>;
onMouseleave: import("vue-types").VueTypeValidableDef<Function | Function[]>;
onSelect: import("vue-types").VueTypeValidableDef<Function | Function[]>;
prefixCls: import("vue-types").VueTypeValidableDef<string> & {
default: string;
};
direction: import("vue-types").VueTypeValidableDef<string> & {
default: string;
};
open: import("vue-types").VueTypeValidableDef<boolean>;
disabled: import("vue-types").VueTypeValidableDef<boolean>;
virtual: import("vue-types").VueTypeValidableDef<boolean> & {
default: boolean;
};
id: import("vue-types").VueTypeValidableDef<string> & {
default: string;
};
options: import("vue-types").VueTypeValidableDef<unknown[]> & {
default: () => unknown[];
};
defaultActiveFirstOption: import("vue-types").VueTypeValidableDef<boolean>;
menuItemSelectedIcon: import("vue-types").VueTypeValidableDef<import("../_util/type").VueNode>;
searchValue: import("vue-types").VueTypeValidableDef<string> & {
default: string;
};
labelInValue: import("vue-types").VueTypeValidableDef<boolean>;
optionLabelProp: import("vue-types").VueTypeValidableDef<string> & {
default: string;
};
optionFilterProp: import("vue-types").VueTypeValidableDef<string> & {
default: string;
};
filterOption: import("vue-types").VueTypeValidableDef<any>;
autofocus: import("vue-types").VueTypeValidableDef<boolean>;
tabindex: import("vue-types").VueTypeValidableDef<number> & {
default: number;
};
removeIcon: import("vue-types").VueTypeValidableDef<import("../_util/type").VueNode>;
maxTagCount: import("vue-types").VueTypeValidableDef<number> & {
default: number;
};
maxTagTextLength: import("vue-types").VueTypeValidableDef<number> & {
default: number;
};
maxTagPlaceholder: import("vue-types").VueTypeValidableDef<any>;
tokenSeparators: import("vue-types").VueTypeValidableDef<unknown[]> & {
default: () => unknown[];
};
tagRender: import("vue-types").VueTypeValidableDef<(...args: any[]) => any> & {
default: (...args: any[]) => any;
};
placeholder: import("vue-types").VueTypeValidableDef<import("../_util/type").VueNode>;
showSearch: import("vue-types").VueTypeValidableDef<boolean>;
onInputKeyDown: import("vue-types").VueTypeValidableDef<Function | Function[]>;
onSearch: import("vue-types").VueTypeValidableDef<Function | Function[]>;
dropdownStyle: import("vue-types").VueTypeValidableDef<{
[key: string]: any;
}> & {
default: () => {
[key: string]: any;
};
};
dropdownClassName: import("vue-types").VueTypeValidableDef<string> & {
default: string;
};
dropdownMatchSelectWidth: import("vue-types").VueTypeDef<number | boolean>;
dropdownRender: import("vue-types").VueTypeValidableDef<(...args: any[]) => any> & {
default: (...args: any[]) => any;
};
getPopupContainer: import("vue-types").VueTypeValidableDef<(...args: any[]) => any> & {
default: (...args: any[]) => any;
};
dropdownAlign: import("vue-types").VueTypeValidableDef<any>;
showAction: import("vue-types").VueTypeValidableDef<unknown[]> & {
default: () => unknown[];
};
inputValue: import("vue-types").VueTypeValidableDef<string> & {
default: string;
};
autoClearSearchValue: import("vue-types").VueTypeValidableDef<boolean>;
onClear: import("vue-types").VueTypeValidableDef<Function | Function[]>;
allowClear: import("vue-types").VueTypeValidableDef<boolean>;
clearIcon: import("vue-types").VueTypeValidableDef<import("../_util/type").VueNode>;
showArrow: import("vue-types").VueTypeValidableDef<boolean>;
defaultOpen: import("vue-types").VueTypeValidableDef<boolean>;
listHeight: import("vue-types").VueTypeValidableDef<number> & {
default: number;
};
listItemHeight: import("vue-types").VueTypeValidableDef<number> & {
default: number;
};
loading: import("vue-types").VueTypeValidableDef<boolean>;
onPopupScroll: import("vue-types").VueTypeValidableDef<Function | Function[]>;
onDropdownVisibleChange: import("vue-types").VueTypeValidableDef<Function | Function[]>;
onDeselect: import("vue-types").VueTypeValidableDef<Function | Function[]>;
internalProps: import("vue-types").VueTypeValidableDef<{
[key: string]: any;
}> & {
default: () => {
[key: string]: any;
};
};
};
declare const _default: {
new (...args: any[]): {
$: import("vue").ComponentInternalInstance;
$data: {};
$props: Partial<{
animation: string;
children: unknown[];
prefixCls: string;
direction: string;
virtual: boolean;
id: string;
options: unknown[];
searchValue: string;
optionLabelProp: string;
optionFilterProp: string;
tabindex: number;
maxTagCount: number;
maxTagTextLength: number;
tokenSeparators: unknown[];
tagRender: (...args: any[]) => any;
choiceTransitionName: string;
transitionName: string;
dropdownStyle: {
[key: string]: any;
};
dropdownClassName: string;
dropdownRender: (...args: any[]) => any;
getPopupContainer: (...args: any[]) => any;
showAction: unknown[];
inputValue: string;
listHeight: number;
listItemHeight: number;
internalProps: {
[key: string]: any;
};
bordered: boolean;
}> & Omit<Readonly<{
animation: string;
children: unknown[];
prefixCls: string;
direction: string;
virtual: boolean;
id: string;
options: unknown[];
searchValue: string;
optionLabelProp: string;
optionFilterProp: string;
tabindex: number;
maxTagCount: number;
maxTagTextLength: number;
tokenSeparators: unknown[];
tagRender: (...args: any[]) => any;
choiceTransitionName: string;
transitionName: string;
dropdownStyle: {
[key: string]: any;
};
dropdownClassName: string;
dropdownRender: (...args: any[]) => any;
getPopupContainer: (...args: any[]) => any;
showAction: unknown[];
inputValue: string;
listHeight: number;
listItemHeight: number;
internalProps: {
[key: string]: any;
};
bordered: boolean;
} & {
mode?: "multiple" | "tags" | "SECRET_COMBOBOX_MODE_DO_NOT_USE";
value?: SelectValue;
onFocus?: Function | Function[];
onBlur?: Function | Function[];
onChange?: Function | Function[];
onKeydown?: Function | Function[];
onKeyup?: Function | Function[];
onClick?: Function | Function[];
onMousedown?: Function | Function[];
onMouseenter?: Function | Function[];
onMouseleave?: Function | Function[];
onSelect?: Function | Function[];
size?: "small" | "large" | "default" | "middle";
open?: boolean;
disabled?: boolean;
defaultActiveFirstOption?: boolean;
notFoundContent?: import("../_util/type").VueNode;
menuItemSelectedIcon?: import("../_util/type").VueNode;
labelInValue?: boolean;
filterOption?: any;
autofocus?: boolean;
removeIcon?: import("../_util/type").VueNode;
maxTagPlaceholder?: any;
placeholder?: import("../_util/type").VueNode;
showSearch?: boolean;
onInputKeyDown?: Function | Function[];
onSearch?: Function | Function[];
dropdownMatchSelectWidth?: number | boolean;
dropdownAlign?: any;
defaultValue?: SelectValue;
autoClearSearchValue?: boolean;
onClear?: Function | Function[];
allowClear?: boolean;
clearIcon?: import("../_util/type").VueNode;
showArrow?: boolean;
defaultOpen?: boolean;
loading?: boolean;
onPopupScroll?: Function | Function[];
onDropdownVisibleChange?: Function | Function[];
onDeselect?: Function | Function[];
suffixIcon?: import("../_util/type").VueNode;
itemIcon?: import("../_util/type").VueNode;
}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "animation" | "children" | "prefixCls" | "direction" | "virtual" | "id" | "options" | "searchValue" | "optionLabelProp" | "optionFilterProp" | "tabindex" | "maxTagCount" | "maxTagTextLength" | "tokenSeparators" | "tagRender" | "choiceTransitionName" | "transitionName" | "dropdownStyle" | "dropdownClassName" | "dropdownRender" | "getPopupContainer" | "showAction" | "inputValue" | "listHeight" | "listItemHeight" | "internalProps" | "bordered">;
$attrs: {
[x: string]: unknown;
};
$refs: {
[x: string]: unknown;
};
$slots: Readonly<{
[name: string]: import("vue").Slot;
}>;
$root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>>;
$parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>>;
$emit: (event: "change" | "update:value", ...args: any[]) => void;
$el: any;
$options: import("vue").ComponentOptionsBase<Readonly<{
animation: string;
children: unknown[];
prefixCls: string;
direction: string;
virtual: boolean;
id: string;
options: unknown[];
searchValue: string;
optionLabelProp: string;
optionFilterProp: string;
tabindex: number;
maxTagCount: number;
maxTagTextLength: number;
tokenSeparators: unknown[];
tagRender: (...args: any[]) => any;
choiceTransitionName: string;
transitionName: string;
dropdownStyle: {
[key: string]: any;
};
dropdownClassName: string;
dropdownRender: (...args: any[]) => any;
getPopupContainer: (...args: any[]) => any;
showAction: unknown[];
inputValue: string;
listHeight: number;
listItemHeight: number;
internalProps: {
[key: string]: any;
};
bordered: boolean;
} & {
mode?: "multiple" | "tags" | "SECRET_COMBOBOX_MODE_DO_NOT_USE";
value?: SelectValue;
onFocus?: Function | Function[];
onBlur?: Function | Function[];
onChange?: Function | Function[];
onKeydown?: Function | Function[];
onKeyup?: Function | Function[];
onClick?: Function | Function[];
onMousedown?: Function | Function[];
onMouseenter?: Function | Function[];
onMouseleave?: Function | Function[];
onSelect?: Function | Function[];
size?: "small" | "large" | "default" | "middle";
open?: boolean;
disabled?: boolean;
defaultActiveFirstOption?: boolean;
notFoundContent?: import("../_util/type").VueNode;
menuItemSelectedIcon?: import("../_util/type").VueNode;
labelInValue?: boolean;
filterOption?: any;
autofocus?: boolean;
removeIcon?: import("../_util/type").VueNode;
maxTagPlaceholder?: any;
placeholder?: import("../_util/type").VueNode;
showSearch?: boolean;
onInputKeyDown?: Function | Function[];
onSearch?: Function | Function[];
dropdownMatchSelectWidth?: number | boolean;
dropdownAlign?: any;
defaultValue?: SelectValue;
autoClearSearchValue?: boolean;
onClear?: Function | Function[];
allowClear?: boolean;
clearIcon?: import("../_util/type").VueNode;
showArrow?: boolean;
defaultOpen?: boolean;
loading?: boolean;
onPopupScroll?: Function | Function[];
onDropdownVisibleChange?: Function | Function[];
onDeselect?: Function | Function[];
suffixIcon?: import("../_util/type").VueNode;
itemIcon?: import("../_util/type").VueNode;
}>, {
selectRef: any;
mergedClassName: import("vue").ComputedRef<string>;
mode: import("vue").ComputedRef<any>;
focus: () => void;
blur: () => void;
configProvider: import("../config-provider").ConfigConsumerProps;
triggerChange: (...args: any[]) => void;
prefixCls: import("vue").ComputedRef<string>;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("change" | "update:value")[], string, {
animation: string;
children: unknown[];
prefixCls: string;
direction: string;
virtual: boolean;
id: string;
options: unknown[];
searchValue: string;
optionLabelProp: string;
optionFilterProp: string;
tabindex: number;
maxTagCount: number;
maxTagTextLength: number;
tokenSeparators: unknown[];
tagRender: (...args: any[]) => any;
choiceTransitionName: string;
transitionName: string;
dropdownStyle: {
[key: string]: any;
};
dropdownClassName: string;
dropdownRender: (...args: any[]) => any;
getPopupContainer: (...args: any[]) => any;
showAction: unknown[];
inputValue: string;
listHeight: number;
listItemHeight: number;
internalProps: {
[key: string]: any;
};
bordered: boolean;
}>;
$forceUpdate: import("vue").ReactiveEffect<any>;
$nextTick: typeof import("vue").nextTick;
$watch(source: string | Function, cb: Function, options?: import("vue").WatchOptions<boolean>): import("vue").WatchStopHandle;
} & Readonly<{
animation: string;
children: unknown[];
prefixCls: string;
direction: string;
virtual: boolean;
id: string;
options: unknown[];
searchValue: string;
optionLabelProp: string;
optionFilterProp: string;
tabindex: number;
maxTagCount: number;
maxTagTextLength: number;
tokenSeparators: unknown[];
tagRender: (...args: any[]) => any;
choiceTransitionName: string;
transitionName: string;
dropdownStyle: {
[key: string]: any;
};
dropdownClassName: string;
dropdownRender: (...args: any[]) => any;
getPopupContainer: (...args: any[]) => any;
showAction: unknown[];
inputValue: string;
listHeight: number;
listItemHeight: number;
internalProps: {
[key: string]: any;
};
bordered: boolean;
} & {
mode?: "multiple" | "tags" | "SECRET_COMBOBOX_MODE_DO_NOT_USE";
value?: SelectValue;
onFocus?: Function | Function[];
onBlur?: Function | Function[];
onChange?: Function | Function[];
onKeydown?: Function | Function[];
onKeyup?: Function | Function[];
onClick?: Function | Function[];
onMousedown?: Function | Function[];
onMouseenter?: Function | Function[];
onMouseleave?: Function | Function[];
onSelect?: Function | Function[];
size?: "small" | "large" | "default" | "middle";
open?: boolean;
disabled?: boolean;
defaultActiveFirstOption?: boolean;
notFoundContent?: import("../_util/type").VueNode;
menuItemSelectedIcon?: import("../_util/type").VueNode;
labelInValue?: boolean;
filterOption?: any;
autofocus?: boolean;
removeIcon?: import("../_util/type").VueNode;
maxTagPlaceholder?: any;
placeholder?: import("../_util/type").VueNode;
showSearch?: boolean;
onInputKeyDown?: Function | Function[];
onSearch?: Function | Function[];
dropdownMatchSelectWidth?: number | boolean;
dropdownAlign?: any;
defaultValue?: SelectValue;
autoClearSearchValue?: boolean;
onClear?: Function | Function[];
allowClear?: boolean;
clearIcon?: import("../_util/type").VueNode;
showArrow?: boolean;
defaultOpen?: boolean;
loading?: boolean;
onPopupScroll?: Function | Function[];
onDropdownVisibleChange?: Function | Function[];
onDeselect?: Function | Function[];
suffixIcon?: import("../_util/type").VueNode;
itemIcon?: import("../_util/type").VueNode;
}> & import("vue").ShallowUnwrapRef<{
selectRef: any;
mergedClassName: import("vue").ComputedRef<string>;
mode: import("vue").ComputedRef<any>;
focus: () => void;
blur: () => void;
configProvider: import("../config-provider").ConfigConsumerProps;
triggerChange: (...args: any[]) => void;
prefixCls: import("vue").ComputedRef<string>;
}> & {} & {} & import("vue").ComponentCustomProperties;
__isFragment?: never;
__isTeleport?: never;
__isSuspense?: never;
} & import("vue").ComponentOptionsBase<Readonly<{
animation: string;
children: unknown[];
prefixCls: string;
direction: string;
virtual: boolean;
id: string;
options: unknown[];
searchValue: string;
optionLabelProp: string;
optionFilterProp: string;
tabindex: number;
maxTagCount: number;
maxTagTextLength: number;
tokenSeparators: unknown[];
tagRender: (...args: any[]) => any;
choiceTransitionName: string;
transitionName: string;
dropdownStyle: {
[key: string]: any;
};
dropdownClassName: string;
dropdownRender: (...args: any[]) => any;
getPopupContainer: (...args: any[]) => any;
showAction: unknown[];
inputValue: string;
listHeight: number;
listItemHeight: number;
internalProps: {
[key: string]: any;
};
bordered: boolean;
} & {
mode?: "multiple" | "tags" | "SECRET_COMBOBOX_MODE_DO_NOT_USE";
value?: SelectValue;
onFocus?: Function | Function[];
onBlur?: Function | Function[];
onChange?: Function | Function[];
onKeydown?: Function | Function[];
onKeyup?: Function | Function[];
onClick?: Function | Function[];
onMousedown?: Function | Function[];
onMouseenter?: Function | Function[];
onMouseleave?: Function | Function[];
onSelect?: Function | Function[];
size?: "small" | "large" | "default" | "middle";
open?: boolean;
disabled?: boolean;
defaultActiveFirstOption?: boolean;
notFoundContent?: import("../_util/type").VueNode;
menuItemSelectedIcon?: import("../_util/type").VueNode;
labelInValue?: boolean;
filterOption?: any;
autofocus?: boolean;
removeIcon?: import("../_util/type").VueNode;
maxTagPlaceholder?: any;
placeholder?: import("../_util/type").VueNode;
showSearch?: boolean;
onInputKeyDown?: Function | Function[];
onSearch?: Function | Function[];
dropdownMatchSelectWidth?: number | boolean;
dropdownAlign?: any;
defaultValue?: SelectValue;
autoClearSearchValue?: boolean;
onClear?: Function | Function[];
allowClear?: boolean;
clearIcon?: import("../_util/type").VueNode;
showArrow?: boolean;
defaultOpen?: boolean;
loading?: boolean;
onPopupScroll?: Function | Function[];
onDropdownVisibleChange?: Function | Function[];
onDeselect?: Function | Function[];
suffixIcon?: import("../_util/type").VueNode;
itemIcon?: import("../_util/type").VueNode;
}>, {
selectRef: any;
mergedClassName: import("vue").ComputedRef<string>;
mode: import("vue").ComputedRef<any>;
focus: () => void;
blur: () => void;
configProvider: import("../config-provider").ConfigConsumerProps;
triggerChange: (...args: any[]) => void;
prefixCls: import("vue").ComputedRef<string>;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("change" | "update:value")[], "change" | "update:value", {
animation: string;
children: unknown[];
prefixCls: string;
direction: string;
virtual: boolean;
id: string;
options: unknown[];
searchValue: string;
optionLabelProp: string;
optionFilterProp: string;
tabindex: number;
maxTagCount: number;
maxTagTextLength: number;
tokenSeparators: unknown[];
tagRender: (...args: any[]) => any;
choiceTransitionName: string;
transitionName: string;
dropdownStyle: {
[key: string]: any;
};
dropdownClassName: string;
dropdownRender: (...args: any[]) => any;
getPopupContainer: (...args: any[]) => any;
showAction: unknown[];
inputValue: string;
listHeight: number;
listItemHeight: number;
internalProps: {
[key: string]: any;
};
bordered: boolean;
}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Plugin & {
readonly Option: typeof Option;
readonly OptGroup: typeof OptGroup;
readonly SECRET_COMBOBOX_MODE_DO_NOT_USE: 'SECRET_COMBOBOX_MODE_DO_NOT_USE';
};
export default _default;