Angular 头像组件 | ng-hub-ui-avatar

Angular 头像组件,支持首字母、备用图片、在线状态徽标和 CSS 变量,用于可复用的用户身份界面。

API 参考

这里是 avatar 的完整契约:你可以绑定、监听、投影和设置主题的一切,都集中在一处。接入你需要的部分,自定义你想要的样式——它是 standalone 的,且对 signal 友好。

输入

通过 22 个输入项精细调校 avatar。像绑定任意 Angular @Input 一样绑定它们。

名称类型默认值描述
sizestring | number50头像尺寸:纯数字表示像素;任何 CSS 长度(1.75rem、50%、calc(2rem + 12px))都按原样绘制
namestring | null—当图片来源失败时用于生成首字母缩写的用户名
srcstring | SafeUrl | null—头像的主要自定义图片来源 URL
altstring | null—头像图片的替代文本,用于无障碍访问
roundbooleantrue头像是否为圆形(true),或遵循 cornerRadius
interactivebooleanfalse将头像标记为可交互控件:暴露 role=“button”,使其可聚焦,并可通过 Enter/Space 触发 clickOnAvatar。绑定 (clickOnAvatar) 时应始终启用。
bgColorstring—文字头像的背景颜色。若未提供则自动生成
autoColorbooleantrue为 `true`(默认)时,首字母头像的背景由名称的哈希值生成。设为 `false` 可改为通过 `--hub-avatar-bg-color` 变量进行主题化;显式的 `bgColor` 始终优先。
fgColorstring | undefined—首字母与投影内容的颜色。不设置时,头像会依背景选择黑色或白色——取能达到 WCAG 标准的那个;显式指定的值始终优先,无论对比度如何。
borderColorstring—头像周围的边框颜色
cornerRadiusstring | number0当 round 为 false 时的圆角半径
textSizeRationumber3根据头像尺寸计算文字大小的比例(size / textSizeRatio)
initialsSizestring | number0限制显示的首字母数量(0 = 不限制)
facebookIdstring | null—用于获取头像的 Facebook 用户 ID(尽力而为,可能受 API 限制)
githubIdstring | null—用于获取头像的 GitHub 用户名
gravatarIdstring | null—用于获取头像的 Gravatar 邮箱或 MD5 哈希值
valuestring | null—将自定义值显示为头像(例如 "75%"、"+5")
styleRecord<string, string | number | null | undefined> | string—合并到渲染内容(图片、姓名首字母或投影内容槽)的内联样式。接受样式对象或 CSS 字符串;不会作用于宿主元素
referrerpolicystring | null—头像图片的 referrer 策略(例如 "no-referrer")
placeholderstring—最后兜底的图片:仅在没有其他内容可画时显示——没有解析出来源、没有声明来源,或某个来源仍在加载——并且也没有姓名首字母。它永远不会进入回退链,因此不会像 `src` 那样越过首字母。
badgestring | number | boolean | nullnull角标叠加:`badge` / `[badge]="true"` → 圆点;`badge="4k"` → 文字徽标;null / 缺省 → 无。
badgeColorHubAvatarBadgeColor | string | nullnull徽标的语义颜色(primary · secondary · success · danger · warning · info · light · dark)→ `--hub-sys-color-*`。

输出

响应 avatar 的行为——有 1 个事件可供你挂接逻辑。

名称类型描述
clickOnAvatarOutputEmitterRef<Source | null>点击时触发,设置 `interactive` 后按 Enter/空格也会触发;返回正在绘制头像的来源(带有 `sourceType`、`sourceId` 与 `getAvatar(size)`),若没有来源解析成功则为 null。`Source` 由该包导出,因此处理函数可以写出类型,而不必退回 any

方法

通过代码驱动 avatar——其编程接口提供 1 个方法。

名称签名返回值描述
Source.getAvatargetAvatar(size: number): stringstring解析该来源在指定尺寸下所绘制的内容:远程来源给出图片 URL,本地来源给出首字母或纯文本。`Source` 是 `clickOnAvatar` 的载荷,并由该包导出。

模板

尚未记录任何模板。