const App = `import {forwardRef} from "react"; import {useMemo} from "react"; import {AvatarIcon, useAvatar} from "@nextui-org/react"; const MyAvatar = forwardRef((props, ref) => { const { 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 && {alt}} {fallback}
); }); MyAvatar.displayName = "MyAvatar"; export default MyAvatar;`; const AppTs = `import {forwardRef, useMemo} from "react"; import {AvatarIcon, useAvatar, AvatarProps as BaseAvatarProps} from "@nextui-org/react"; export interface AvatarProps extends BaseAvatarProps {} const MyAvatar = forwardRef((props, ref) => { const { 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 && {alt}} {fallback}
); }); Avatar.displayName = "MyAvatar"; export default MyAvatar;`; const react = { "/App.jsx": App, }; const reactTs = { "/App.tsx": AppTs, }; export default { ...react, ...reactTs, };