vexip-ui
Version:
A Vue 3 UI library, Highly customizability, full TypeScript, performance pretty good
73 lines (72 loc) • 5.41 kB
TypeScript
import { ExtractPropTypes, PropType } from 'vue';
import { ConfigurableProps } from '@vexip-ui/config';
import { ChangeEvent, SelectBaseValue, SelectFilter, SelectKeyConfig, SelectRawOption, SelectSlots } from './symbol';
type CustomChangeEvent = ChangeEvent | ((value: SelectBaseValue, data: any) => void) | ((value: string, data: any) => void) | ((value: number, data: any) => void) | ((value: boolean, data: any) => void) | ((values: SelectBaseValue[], data: any[]) => void) | ((values: string[], data: any[]) => void) | ((values: number[], data: any[]) => void) | ((value: boolean[], data: any) => void);
export declare const selectProps: {
inherit: PropType<boolean>;
size: PropType<"default" | "small" | "large">;
state: PropType<"default" | "success" | "error" | "warning">;
locale: PropType<Partial<{
placeholder: string;
empty: string;
search: string;
ariaLabel: {
clear: string;
};
}>>;
visible: PropType<boolean>;
options: PropType<SelectRawOption[]>;
disabled: PropType<boolean>;
transitionName: PropType<string>;
outsideClose: PropType<boolean>;
placeholder: PropType<string>;
prefix: PropType<any>;
prefixColor: PropType<string>;
suffix: PropType<any>;
suffixColor: PropType<string>;
noSuffix: PropType<boolean>;
value: PropType<string | number | boolean | (string | number | boolean)[]>;
multiple: PropType<boolean>;
clearable: PropType<boolean>;
maxListHeight: PropType<number>;
listClass: PropType<string | Record<string, any> | (string | Record<string, any>)[]>;
placement: PropType<"bottom" | "top" | "right" | "left" | "bottom-start" | "bottom-end" | "top-start" | "top-end" | "right-start" | "right-end" | "left-start" | "left-end">;
transfer: PropType<string | boolean>;
optionCheck: PropType<boolean>;
emptyText: PropType<string>;
staticSuffix: PropType<boolean>;
loading: PropType<boolean>;
loadingIcon: PropType<any>;
loadingLock: PropType<boolean>;
loadingEffect: PropType<string>;
keyConfig: PropType<SelectKeyConfig>;
filter: PropType<boolean | SelectFilter>;
ignoreCase: PropType<boolean>;
creatable: PropType<boolean>;
transparent: PropType<boolean>;
maxTagCount: PropType<number>;
noRestTip: PropType<boolean>;
tagType: PropType<"default" | "success" | "error" | "warning" | "info" | "cyan" | "gold" | "lime" | "magenta" | "navy" | "orange" | "pink" | "purple" | "tomato" | "primary">;
noPreview: PropType<boolean>;
remote: PropType<boolean>;
fitPopper: PropType<number | boolean>;
name: PropType<string>;
popperAlive: PropType<boolean>;
countLimit: PropType<number>;
filterPosition: PropType<"in-control" | "in-list">;
slots: PropType<SelectSlots>;
shift: PropType<boolean>;
onFocus: PropType<((event: FocusEvent) => void) | ((event: FocusEvent) => void)[]>;
onBlur: PropType<((event: FocusEvent) => void) | ((event: FocusEvent) => void)[]>;
onToggle: PropType<((visible: boolean) => void) | ((visible: boolean) => void)[]>;
onSelect: PropType<((value: string, data: any) => void) | ((value: boolean, data: any) => void) | ((value: string | number, data: any) => void) | ((value: number, data: any) => void) | ((value: number | boolean, data: any) => void) | ((value: string | boolean, data: any) => void) | ((value: string | number | boolean, data: any) => void) | (((value: string, data: any) => void) | ((value: boolean, data: any) => void) | ((value: string | number, data: any) => void) | ((value: number, data: any) => void) | ((value: number | boolean, data: any) => void) | ((value: string | boolean, data: any) => void) | ((value: string | number | boolean, data: any) => void))[]>;
onCancel: PropType<((value: string, data: any) => void) | ((value: boolean, data: any) => void) | ((value: string | number, data: any) => void) | ((value: number, data: any) => void) | ((value: number | boolean, data: any) => void) | ((value: string | boolean, data: any) => void) | ((value: string | number | boolean, data: any) => void) | (((value: string, data: any) => void) | ((value: boolean, data: any) => void) | ((value: string | number, data: any) => void) | ((value: number, data: any) => void) | ((value: number | boolean, data: any) => void) | ((value: string | boolean, data: any) => void) | ((value: string | number | boolean, data: any) => void))[]>;
onChange: PropType<ChangeEvent | ((value: SelectBaseValue, data: any) => void) | ((value: string, data: any) => void) | ((value: number, data: any) => void) | ((value: boolean, data: any) => void) | ((values: SelectBaseValue[], data: any[]) => void) | ((values: string[], data: any[]) => void) | ((values: number[], data: any[]) => void) | ((value: boolean[], data: any) => void) | CustomChangeEvent[]>;
onClickOutside: PropType<import('@vexip-ui/config').AnyFunction | import('@vexip-ui/config').AnyFunction[]>;
onOutsideClose: PropType<import('@vexip-ui/config').AnyFunction | import('@vexip-ui/config').AnyFunction[]>;
onClear: PropType<import('@vexip-ui/config').AnyFunction | import('@vexip-ui/config').AnyFunction[]>;
onFilterInput: PropType<((value: string) => void) | ((value: string) => void)[]>;
};
export type SelectProps = ExtractPropTypes<typeof selectProps>;
export type SelectCProps = ConfigurableProps<SelectProps>;
export {};