@fe6/water-pro
Version:
An enterprise-class UI design language and Vue-based implementation
738 lines (737 loc) • 30.6 kB
TypeScript
/**
* To match accessibility requirement, we always provide an input in the component.
* Other element will not set `tabindex` to avoid `onBlur` sequence problem.
* For focused select, we set `aria-live="polite"` to update the accessibility content.
*
* ref:
* - keyboard: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/listbox_role#Keyboard_interactions
*/
import { RenderNode, Mode, RenderDOMFunc } from './interface';
import { GetLabeledValue, FilterOptions, FilterFunc, DefaultValueType, RawValueType, Key, FlattenOptionsType, SingleType, OnClear, SelectSource, CustomTagProps, DropdownRender } from './interface/generator';
import { OptionListProps } from './OptionList';
import { CSSProperties, DefineComponent, VNodeChild } from 'vue';
export declare const BaseProps: () => {
prefixCls: import("vue-types").VueTypeValidableDef<string> & {
default: string;
};
id: import("vue-types").VueTypeValidableDef<string> & {
default: string;
};
class: import("vue-types").VueTypeValidableDef<string> & {
default: string;
};
style: import("vue-types").VueTypeValidableDef<any>;
options: import("vue-types").VueTypeValidableDef<unknown[]> & {
default: () => unknown[];
};
mode: import("vue-types").VueTypeValidableDef<string> & {
default: string;
};
value: import("vue-types").VueTypeValidableDef<any>;
defaultValue: import("vue-types").VueTypeValidableDef<any>;
labelInValue: import("vue-types").VueTypeValidableDef<boolean>;
inputValue: import("vue-types").VueTypeValidableDef<string> & {
default: string;
};
searchValue: import("vue-types").VueTypeValidableDef<string> & {
default: string;
};
optionFilterProp: import("vue-types").VueTypeValidableDef<string> & {
default: string;
};
/**
* In Select, `false` means do nothing.
* In TreeSelect, `false` will highlight match item.
* It's by design.
*/
filterOption: import("vue-types").VueTypeValidableDef<any>;
showSearch: import("vue-types").VueTypeValidableDef<boolean>;
autoClearSearchValue: import("vue-types").VueTypeValidableDef<boolean>;
onSearch: import("vue-types").VueTypeValidableDef<Function | Function[]>;
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>;
inputIcon: import("vue-types").VueTypeValidableDef<import("../_util/type").VueNode>;
removeIcon: import("vue-types").VueTypeValidableDef<import("../_util/type").VueNode>;
menuItemSelectedIcon: import("vue-types").VueTypeValidableDef<import("../_util/type").VueNode>;
open: 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;
};
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>;
virtual: import("vue-types").VueTypeValidableDef<boolean> & {
default: boolean;
};
dropdownRender: import("vue-types").VueTypeValidableDef<(...args: any[]) => any> & {
default: (...args: any[]) => any;
};
dropdownAlign: import("vue-types").VueTypeValidableDef<any>;
animation: import("vue-types").VueTypeValidableDef<string> & {
default: string;
};
transitionName: import("vue-types").VueTypeValidableDef<string> & {
default: string;
};
getPopupContainer: import("vue-types").VueTypeValidableDef<(...args: any[]) => any> & {
default: (...args: any[]) => any;
};
direction: import("vue-types").VueTypeValidableDef<string> & {
default: string;
};
disabled: import("vue-types").VueTypeValidableDef<boolean>;
loading: import("vue-types").VueTypeValidableDef<boolean>;
autofocus: import("vue-types").VueTypeValidableDef<boolean>;
defaultActiveFirstOption: import("vue-types").VueTypeValidableDef<boolean>;
notFoundContent: import("vue-types").VueTypeValidableDef<import("../_util/type").VueNode>;
placeholder: import("vue-types").VueTypeValidableDef<import("../_util/type").VueNode>;
backfill: import("vue-types").VueTypeValidableDef<boolean>;
getInputElement: import("vue-types").VueTypeValidableDef<(...args: any[]) => any> & {
default: (...args: any[]) => any;
};
optionLabelProp: import("vue-types").VueTypeValidableDef<string> & {
default: string;
};
maxTagTextLength: import("vue-types").VueTypeValidableDef<number> & {
default: number;
};
maxTagCount: 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;
};
showAction: import("vue-types").VueTypeValidableDef<unknown[]> & {
default: () => unknown[];
};
tabindex: import("vue-types").VueTypeValidableDef<number> & {
default: number;
};
onKeyup: import("vue-types").VueTypeValidableDef<Function | Function[]>;
onKeydown: import("vue-types").VueTypeValidableDef<Function | Function[]>;
onPopupScroll: import("vue-types").VueTypeValidableDef<Function | Function[]>;
onDropdownVisibleChange: import("vue-types").VueTypeValidableDef<Function | Function[]>;
onSelect: import("vue-types").VueTypeValidableDef<Function | Function[]>;
onDeselect: import("vue-types").VueTypeValidableDef<Function | Function[]>;
onInputKeyDown: import("vue-types").VueTypeValidableDef<Function | Function[]>;
onClick: import("vue-types").VueTypeValidableDef<Function | Function[]>;
onChange: import("vue-types").VueTypeValidableDef<Function | Function[]>;
onBlur: import("vue-types").VueTypeValidableDef<Function | Function[]>;
onFocus: 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[]>;
choiceTransitionName: import("vue-types").VueTypeValidableDef<string> & {
default: string;
};
/**
* Only used in current version for internal event process.
* Do not use in production environment.
*/
internalProps: import("vue-types").VueTypeValidableDef<{
[key: string]: any;
}> & {
default: () => {
[key: string]: any;
};
};
children: import("vue-types").VueTypeValidableDef<unknown[]> & {
default: () => unknown[];
};
};
export interface SelectProps<OptionsType extends object[], ValueType> {
prefixCls?: string;
id?: string;
class?: string;
style?: CSSProperties;
options?: OptionsType;
children?: any[];
mode?: Mode;
value?: ValueType;
defaultValue?: ValueType;
labelInValue?: boolean;
inputValue?: string;
searchValue?: string;
optionFilterProp?: string;
/**
* In Select, `false` means do nothing.
* In TreeSelect, `false` will highlight match item.
* It's by design.
*/
filterOption?: boolean | FilterFunc<OptionsType[number]>;
showSearch?: boolean;
autoClearSearchValue?: boolean;
onSearch?: (value: string) => void | ((value: string) => void)[];
onClear?: () => void | (() => void)[];
allowClear?: boolean;
clearIcon?: VNodeChild;
showArrow?: boolean;
inputIcon?: RenderNode;
removeIcon?: VNodeChild;
menuItemSelectedIcon?: RenderNode;
open?: boolean;
defaultOpen?: boolean;
listHeight?: number;
listItemHeight?: number;
dropdownStyle?: CSSProperties;
dropdownClassName?: string;
dropdownMatchSelectWidth?: boolean | number;
virtual?: boolean;
dropdownRender?: DropdownRender;
dropdownAlign?: any;
animation?: string;
transitionName?: string;
getPopupContainer?: RenderDOMFunc;
direction?: string;
disabled?: boolean;
loading?: boolean;
autofocus?: boolean;
defaultActiveFirstOption?: boolean;
notFoundContent?: VNodeChild;
placeholder?: VNodeChild;
backfill?: boolean;
getInputElement?: () => VNodeChild | JSX.Element;
optionLabelProp?: string;
maxTagTextLength?: number;
maxTagCount?: number;
maxTagPlaceholder?: any;
tokenSeparators?: string[];
tagRender?: (props: CustomTagProps) => VNodeChild;
showAction?: ('focus' | 'click')[];
tabindex?: number;
onKeyup?: (event: Event) => void | ((event: Event) => void)[];
onKeydown?: (event: Event) => void | ((event: Event) => void)[];
onPopupScroll?: (event: Event) => void | ((event: Event) => void)[];
onDropdownVisibleChange?: (open: boolean) => void;
onSelect?: (value: SingleType<ValueType>, option: OptionsType[number]) => void | ((value: SingleType<ValueType>, option: OptionsType[number]) => void)[];
onDeselect?: (value: SingleType<ValueType>, option: OptionsType[number]) => void | ((value: SingleType<ValueType>, option: OptionsType[number]) => void)[];
onInputKeyDown?: (event: Event) => void | ((event: Event) => void)[];
onClick?: (event: Event) => void | ((event: Event) => void)[];
onChange?: (value: ValueType, option: OptionsType[number] | OptionsType) => void | ((value: ValueType, option: OptionsType[number] | OptionsType) => void)[];
onBlur?: (event: Event) => void | ((event: Event) => void)[];
onFocus?: (event: Event) => void | ((event: Event) => void)[];
onMousedown?: (event: Event) => void | ((event: Event) => void)[];
onMouseenter?: (event: Event) => void | ((event: Event) => void)[];
onMouseleave?: (event: Event) => void | ((event: Event) => void)[];
choiceTransitionName?: string;
/**
* Only used in current version for internal event process.
* Do not use in production environment.
*/
internalProps?: {
mark?: string;
onClear?: OnClear;
skipTriggerChange?: boolean;
skipTriggerSelect?: boolean;
onRawSelect?: (value: RawValueType, option: OptionsType[number], source: SelectSource) => void;
onRawDeselect?: (value: RawValueType, option: OptionsType[number], source: SelectSource) => void;
};
}
export interface GenerateConfig<OptionsType extends object[]> {
prefixCls: string;
components: {
optionList: DefineComponent<Omit<OptionListProps, 'options'> & {
options?: OptionsType;
}>;
};
/** Convert jsx tree into `OptionsType` */
convertChildrenToData: (children: VNodeChild | JSX.Element) => OptionsType;
/** Flatten nest options into raw option list */
flattenOptions: (options: OptionsType, props: any) => FlattenOptionsType<OptionsType>;
/** Convert single raw value into { label, value } format. Will be called by each value */
getLabeledValue: GetLabeledValue<FlattenOptionsType<OptionsType>>;
filterOptions: FilterOptions<OptionsType>;
findValueOption: ((values: RawValueType[], options: FlattenOptionsType<OptionsType>) => OptionsType) | ((values: RawValueType[], options: FlattenOptionsType<OptionsType>, info?: {
prevValueOptions?: OptionsType[];
}) => OptionsType);
/** Check if a value is disabled */
isValueDisabled: (value: RawValueType, options: FlattenOptionsType<OptionsType>) => boolean;
warningProps?: (props: any) => void;
fillOptionsWithMissingValue?: (options: OptionsType, value: DefaultValueType, optionLabelProp: string, labelInValue: boolean) => OptionsType;
omitDOMProps?: (props: object) => object;
}
/**
* This function is in internal usage.
* Do not use it in your prod env since we may refactor this.
*/
export default function generateSelector<OptionsType extends {
value?: RawValueType;
label?: VNodeChild;
key?: Key;
disabled?: boolean;
}[]>(config: GenerateConfig<OptionsType>): DefineComponent<SelectProps<OptionsType, DefaultValueType>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{ [K in "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)]: [SelectProps<OptionsType, DefaultValueType>[K]] extends [null] ? any : [SelectProps<OptionsType, DefaultValueType>[K]] extends [{
type: true;
}] ? any : [SelectProps<OptionsType, DefaultValueType>[K]] extends [ObjectConstructor | {
type: ObjectConstructor;
}] ? Record<string, any> : [SelectProps<OptionsType, DefaultValueType>[K]] extends [BooleanConstructor | {
type: BooleanConstructor;
}] ? boolean : [SelectProps<OptionsType, DefaultValueType>[K]] extends [DateConstructor | {
type: DateConstructor;
}] ? Date : [SelectProps<OptionsType, DefaultValueType>[K]] extends [import("vue").Prop<infer V, infer D>] ? unknown extends V ? D : V : SelectProps<OptionsType, DefaultValueType>[K]; } & { [K_1 in Exclude<"class", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"style", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"mode", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"value", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"animation", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"children", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"onFocus", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"onBlur", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"onChange", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"onKeydown", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"onKeyup", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"onClick", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"onMousedown", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"onMouseenter", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"onMouseleave", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"onSelect", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"prefixCls", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"direction", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"open", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"disabled", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"virtual", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"id", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"options", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"defaultActiveFirstOption", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"notFoundContent", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"menuItemSelectedIcon", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"searchValue", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"labelInValue", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"optionLabelProp", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"optionFilterProp", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"filterOption", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"autofocus", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"tabindex", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"removeIcon", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"maxTagCount", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"maxTagTextLength", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"maxTagPlaceholder", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"tokenSeparators", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"tagRender", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"choiceTransitionName", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"placeholder", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"showSearch", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"onInputKeyDown", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"backfill", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"onSearch", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"transitionName", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"dropdownStyle", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"dropdownClassName", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"dropdownMatchSelectWidth", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"dropdownRender", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"getPopupContainer", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"dropdownAlign", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"showAction", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"defaultValue", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"inputValue", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"autoClearSearchValue", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"onClear", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"allowClear", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"clearIcon", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"showArrow", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"inputIcon", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"defaultOpen", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"listHeight", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"listItemHeight", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"loading", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"getInputElement", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"onPopupScroll", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"onDropdownVisibleChange", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"onDeselect", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)> | Exclude<"internalProps", "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
required: true;
} | {
default: any;
} | {
type: BooleanConstructor;
} ? "options" : never)>]?: [SelectProps<OptionsType, DefaultValueType>[K_1]] extends [null] ? any : [SelectProps<OptionsType, DefaultValueType>[K_1]] extends [{
type: true;
}] ? any : [SelectProps<OptionsType, DefaultValueType>[K_1]] extends [ObjectConstructor | {
type: ObjectConstructor;
}] ? Record<string, any> : [SelectProps<OptionsType, DefaultValueType>[K_1]] extends [BooleanConstructor | {
type: BooleanConstructor;
}] ? boolean : [SelectProps<OptionsType, DefaultValueType>[K_1]] extends [DateConstructor | {
type: DateConstructor;
}] ? Date : [SelectProps<OptionsType, DefaultValueType>[K_1]] extends [import("vue").Prop<infer V, infer D>] ? unknown extends V ? D : V : SelectProps<OptionsType, DefaultValueType>[K_1]; }>, { [K_2 in "maxTagPlaceholder" | "dropdownAlign" | (OptionsType extends BooleanConstructor | {
default: any;
} | {
type: BooleanConstructor;
} ? OptionsType extends {
type: BooleanConstructor;
required: true;
} ? never : "options" : never)]: [SelectProps<OptionsType, DefaultValueType>[K_2]] extends [null] ? any : [SelectProps<OptionsType, DefaultValueType>[K_2]] extends [{
type: true;
}] ? any : [SelectProps<OptionsType, DefaultValueType>[K_2]] extends [ObjectConstructor | {
type: ObjectConstructor;
}] ? Record<string, any> : [SelectProps<OptionsType, DefaultValueType>[K_2]] extends [BooleanConstructor | {
type: BooleanConstructor;
}] ? boolean : [SelectProps<OptionsType, DefaultValueType>[K_2]] extends [DateConstructor | {
type: DateConstructor;
}] ? Date : [SelectProps<OptionsType, DefaultValueType>[K_2]] extends [import("vue").Prop<infer V, infer D>] ? unknown extends V ? D : V : SelectProps<OptionsType, DefaultValueType>[K_2]; }>;