@stratakit/bricks
Version:
Small, modular components for StrataKit
28 lines (27 loc) • 938 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) })
}
);
});
DEV: Avatar.displayName = "Avatar";
var Avatar_default = Avatar;
export {
Avatar_default as default
};