import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"
export default function Component() {
return (
<Avatar>
<AvatarImage
src="https://avatars.githubusercontent.com/u/170850194"
alt="@shipbase"
/>
<AvatarFallback>SB</AvatarFallback>
</Avatar>
)
}
Installation
Copy and paste the following code into your project.
"use client"
import * as React from "react"
import { Avatar as AvatarPrimitive } from "@ark-ui/react/avatar"
import { cn } from "@/lib/utils"
const Avatar = React.forwardRef<
React.ElementRef<typeof AvatarPrimitive.Root>,
AvatarPrimitive.RootProps
>(({ className, ...props }, ref) => (
<AvatarPrimitive.Root
ref={ref}
className={cn(
"relative flex size-8 shrink-0 overflow-hidden rounded-full",
className
)}
{...props}
/>
))
Avatar.displayName = "Avatar"
const AvatarContext = AvatarPrimitive.Context
const AvatarFallback = React.forwardRef<
React.ElementRef<typeof AvatarPrimitive.Fallback>,
AvatarPrimitive.FallbackProps
>(({ className, ...props }, ref) => (
<AvatarPrimitive.Fallback
ref={ref}
className={cn(
"flex size-full items-center justify-center rounded-[inherit] bg-secondary text-xs",
className
)}
{...props}
/>
))
AvatarFallback.displayName = "AvatarFallback"
const AvatarImage = React.forwardRef<
React.ElementRef<typeof AvatarPrimitive.Image>,
AvatarPrimitive.ImageProps
>(({ className, ...props }, ref) => (
<AvatarPrimitive.Image
ref={ref}
className={cn("aspect-square size-full", className)}
{...props}
/>
))
AvatarImage.displayName = "AvatarImage"
export { Avatar, AvatarContext, AvatarFallback, AvatarImage }
Update the import paths to match your project setup.
pnpm dlx shadcn@latest add @shipbase/avatar
yarn dlx shadcn@latest add @shipbase/avatar
npx shadcn@latest add @shipbase/avatar
bunx --bun shadcn@latest add @shipbase/avatar
Usage
import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"
<Avatar>
<AvatarImage src="https://github.com/iamdin.png" />
<AvatarFallback>UI</AvatarFallback>
</Avatar>