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 && {alt}} {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 && {alt}} {fallback} ); }); Avatar.displayName = "Avatar"; export default Avatar;`; const react = { "/App.jsx": App, }; const reactTs = { "/App.tsx": AppTs, }; export default { ...react, ...reactTs, };