@lobehub/ui
Version:
Lobe UI is an open-source UI component library for building AIGC web apps
40 lines (39 loc) • 1.21 kB
JavaScript
import { isValidElement } from "react";
//#region src/Avatar/utils.ts
/**
* 判断 avatar 是否是默认的 Ant Design Avatar 类型
* (URL 路径或 React 元素)
*/
const isDefaultAntAvatar = (avatar) => {
if (!avatar) return false;
const isUrlOrDataUri = typeof avatar === "string" && [
"/",
"http",
"data:"
].some((prefix) => avatar.startsWith(prefix));
return Boolean(isUrlOrDataUri || isValidElement(avatar));
};
/**
* 判断是否有有效的背景色
*/
const hasValidBackground = (background) => {
return Boolean(background && background !== "transparent" && background !== "rgba(0,0,0,0)" && background !== null);
};
/**
* 格式化头像文本(转大写并可选切片)
*/
const formatAvatarText = (text, sliceText) => {
if (!text) return "";
const upperText = text.toUpperCase();
return sliceText ? upperText.slice(0, 2) : upperText;
};
/**
* 计算 emoji 大小
*/
const calculateEmojiSize = (size, hasBackground, emojiScaleWithBackground) => {
if (emojiScaleWithBackground) return hasBackground ? size * .85 : size;
return size * .85;
};
//#endregion
export { calculateEmojiSize, formatAvatarText, hasValidBackground, isDefaultAntAvatar };
//# sourceMappingURL=utils.mjs.map