@stratakit/bricks
Version:
Small, modular components for StrataKit
34 lines (33 loc) • 918 B
JavaScript
import { jsx } from "react/jsx-runtime";
import { Role } from "@ariakit/react/role";
import { forwardRef } from "@stratakit/foundations/secret-internals";
import cx from "classnames";
import { useInit } from "./~utils.useInit.js";
const Avatar = forwardRef((props, forwardedRef) => {
useInit();
const {
size = "medium",
initials,
alt,
image,
...rest
} = props;
const isDecorative = !alt;
return /* @__PURE__ */ jsx(Role.span, {
role: isDecorative ? void 0 : "img",
"aria-label": isDecorative ? void 0 : alt,
...rest,
"data-_sk-size": size,
className: cx("\u{1F95D}Avatar", props.className),
ref: forwardedRef,
children: image ?? /* @__PURE__ */ jsx("abbr", {
className: "\u{1F95D}AvatarInitials",
"aria-hidden": "true",
children: initials?.substring(0, 1)
})
});
});
var Avatar_default = Avatar;
export {
Avatar_default as default
};