@extclp/vexip-ui
Version:
A Vue 3 UI library, Highly customizability, full TypeScript, performance pretty good
45 lines (44 loc) • 1.63 kB
TypeScript
import { ExtractPropTypes, PropType } from 'vue';
import { ConfigurableProps } from '@vexip-ui/config';
import { TransferFilter, TransferKeyConfig, TransferSlots } from './symbol';
export type RawOption = string | Record<string, any>;
export type Values = (string | number)[];
export type SelectHandler = (type: 'source' | 'target', selected: {
source: Values;
target: Values;
}, data: {
source: RawOption[];
target: RawOption[];
}) => void;
export declare const transferProps: {
inherit: PropType<boolean>;
state: PropType<"default" | "success" | "error" | "warning">;
locale: PropType<Partial<{
source: string;
target: string;
empty: string;
reverse: string;
search: string;
}>>;
options: PropType<RawOption[]>;
value: PropType<Values>;
disabled: PropType<boolean>;
paged: PropType<boolean>;
filter: PropType<boolean | TransferFilter>;
emptyText: PropType<string>;
keyConfig: PropType<TransferKeyConfig>;
optionHeight: PropType<number>;
ignoreCase: PropType<boolean>;
sourceTitle: PropType<string>;
targetTitle: PropType<string>;
deepState: PropType<boolean>;
loading: PropType<boolean>;
loadingIcon: PropType<any>;
loadingLock: PropType<boolean>;
loadingEffect: PropType<string>;
slots: PropType<TransferSlots>;
onChange: PropType<((values: Values) => void) | ((values: Values) => void)[]>;
onSelect: PropType<SelectHandler | SelectHandler[]>;
};
export type TransferProps = ExtractPropTypes<typeof transferProps>;
export type TransferCProps = ConfigurableProps<TransferProps>;