import { ExtractPropTypes, PropType, VNode } from 'vue'; export declare const ObjectFitTypes: readonly ["fill", "contain", "cover", "none", "scale-down"]; export type ObjectFitT = (typeof ObjectFitTypes)[number]; export declare const avatarProps: { /** * @zh-CN 尺寸,支持数字、CSS 变量或带单位的值 * @en-US Size, supports number, CSS variable or unit value */ size: { type: PropType; default: string; }; /** * @zh-CN CSS background * @en-US CSS background */ background: { type: StringConstructor; }; /** * @zh-CN 头像图片地址 * @en-US Avatar image URL */ url: { type: StringConstructor; }; /** * @zh-CN 头像名称,用于展示首字符(当无 url 时生效) * @en-US Avatar name, displays the first character (takes effect when url is absent) */ name: { type: StringConstructor; }; /** * @zh-CN 名称渲染函数,接收 name 属性,返回 VNode 自定义渲染 * @en-US Name formatter, receives name prop and returns VNode for custom rendering */ nameFormatter: { type: PropType<(data: { name?: string; }) => VNode>; }; /** * @zh-CN 是否可点击,开启后 hover 显示遮罩层与编辑图标 * @en-US Whether the avatar is clickable. When enabled, a mask with edit icon shows on hover * @default false */ clickable: { type: BooleanConstructor; default: boolean; }; /** * @zh-CN 图片填充方式 * @en-US Image object-fit mode * @default 'fill' */ objectFit: { type: PropType; default: string; }; }; export type AvatarPropsT = ExtractPropTypes; export type AvatarGroupLayout = 'horizontal' | 'symmetric'; /** * @zh-CN 头像组项数据 * @en-US Avatar group item data */ export interface AvatarItem { /** * @zh-CN 图片地址 * @en-US img src * */ url?: string; /** * @zh-CN 名称 * @zh-CN name * */ name?: string; /** * @zh-CN CSS background * @en-US CSS background */ background?: string; } export declare const avatarGroupProps: { /** * @zh-CN 头像列表 * @en-US Avatar list */ urlList: { type: PropType; default: () => never[]; }; /** * @zh-CN 尺寸,统一设置组内所有头像的大小 * @en-US Size, applied to all avatars in the group * @default 'var(--o-icon_size-s)' */ size: { type: PropType; default: string; }; /** * @zh-CN 布局模式:`horizontal` 水平堆叠(最多显示 2 个 + 溢出提示),`symmetric` 对称排列(最多显示 4 个) * @en-US Layout mode: `horizontal` stacking (max 2 visible + overflow), `symmetric` grid (max 4 visible) * @default 'horizontal' */ layout: { type: PropType; default: string; }; /** * @zh-CN 溢出头像的展示方式:`ellipsis` 显示省略号图标,`count` 显示 +N 数量 * @en-US Overflow avatar display: `ellipsis` shows icon, `count` shows +N count * @default 'ellipsis' */ overflowType: { type: PropType<"ellipsis" | "count">; default: string; }; objectFit: { type: PropType; default: string; }; nameFormatter: { type: PropType<(data: { name?: string; }) => VNode>; }; }; export type AvatarGroupPropsT = ExtractPropTypes;