const App = `import { forwardRef } from "react";
import { useMemo } from "react";
import { AvatarIcon, useAvatar } from "@nextui-org/react";
const Avatar = forwardRef((props, ref) => {
const {
Component,
src,
icon = ,
alt,
classNames,
slots,
name,
showFallback,
fallback: fallbackComponent,
getInitials,
getAvatarProps,
getImageProps,
} = useAvatar({
ref,
...props,
});
const fallback = useMemo(() => {
if (!showFallback && src) return null;
const ariaLabel = alt || name || "avatar";
if (fallbackComponent) {
return (
{fallbackComponent}
);
}
return name ? (
{getInitials(name)}
) : (
{icon}
);
}, [showFallback, src, fallbackComponent, name, classNames]);
return (
{src &&
}
{fallback}
);
});
Avatar.displayName = "Avatar";
export default Avatar;`;
const AppTs = `import { forwardRef,useMemo } from "react";
import { AvatarIcon, useAvatar, UseAvatarProps } from "@nextui-org/react";
export interface AvatarProps extends Omit {}
const Avatar = forwardRef((props, ref) => {
const {
Component,
src,
icon = ,
alt,
classNames,
slots,
name,
showFallback,
fallback: fallbackComponent,
getInitials,
getAvatarProps,
getImageProps,
} = useAvatar({
ref,
...props,
});
const fallback = useMemo(() => {
if (!showFallback && src) return null;
const ariaLabel = alt || name || "avatar";
if (fallbackComponent) {
return (
{fallbackComponent}
);
}
return name ? (
{getInitials(name)}
) : (
{icon}
);
}, [showFallback, src, fallbackComponent, name, classNames]);
return (
{src &&
}
{fallback}
);
});
Avatar.displayName = "Avatar";
export default Avatar;`;
const react = {
"/App.jsx": App,
};
const reactTs = {
"/App.tsx": AppTs,
};
export default {
...react,
...reactTs,
};