@extclp/vexip-ui
Version:
A Vue 3 UI library, Highly customizability, full TypeScript, performance pretty good
34 lines (33 loc) • 904 B
TypeScript
import { InjectionKey } from 'vue';
import { ComponentSize } from '@vexip-ui/config';
export type AvatarObjectFit = 'fill' | 'contain' | 'cover' | 'none' | 'scale-down';
export type AvatarOption = ({
src: string;
} | {
icon: Record<string, any>;
} | {
text: string;
}) & Record<string, any>;
export interface AvatarGroupState {
size: number | ComponentSize;
}
export interface AvatarSlots {
default?: () => any;
icon?: () => any;
}
export interface AvatarGroupSlots {
default?: (params: {
option: AvatarOption;
index: number;
}) => any;
rest?: (params: {
options: AvatarOption[];
count: number;
}) => any;
tip?: (params: {
options: AvatarOption[];
count: number;
}) => any;
}
export declare const GROUP_STATE: InjectionKey<AvatarGroupState>;
export declare const objectFitValues: readonly AvatarObjectFit[];