Avatar
adn-ui/avatarFreeComponent
An easily stylable avatar component for profile images and fallbacks.
Live preview
live · rendered by the registry
Rendered by adn-ui on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://ui.awaiden.com/r/avatar.jsonSource
1"use client";23import "./avatar.css";4import { Avatar as BaseAvatar } from "@base-ui/react/avatar";5import type React from "react";6import { cn } from "tailwind-variants";78import { AvatarContext, useAvatarContext } from "./avatar.context";9import { avatarVariants, type AvatarVariants } from "./avatar.variants";1011export type AvatarProps = AvatarVariants & React.ComponentProps<typeof BaseAvatar.Root>;1213export const AvatarRoot = ({ children, className, shape, size, ...props }: AvatarProps) => {14 const slots = avatarVariants({ shape, size });1516 return (17 <AvatarContext.Provider value={{ slots }}>18 <BaseAvatar.Root className={cn(slots.root(), className)} {...props}>19 {children}20 </BaseAvatar.Root>21 </AvatarContext.Provider>22 );23};2425export type AvatarImageProps = React.ComponentProps<typeof BaseAvatar.Image>;2627export const AvatarImage = ({ className, ...props }: AvatarImageProps) => {28 const { slots } = useAvatarContext();29 return <BaseAvatar.Image className={cn(slots.image(), className)} {...props} />;30};3132export type AvatarFallbackProps = React.ComponentProps<typeof BaseAvatar.Fallback>;3334export const AvatarFallback = ({ className, ...props }: AvatarFallbackProps) => {35 const { slots } = useAvatarContext();36 return <BaseAvatar.Fallback className={cn(slots.fallback(), className)} {...props} />;37};
What it pulls in
npm packages
Files it writes
More from adn-ui
All 46 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Accordionaccordion | adn-ui | Components | Free | 2 deps · 5 files | |
| Alert Dialogalert-dialog | adn-ui | Components | Free | 2 deps · 5 files | |
| Aspect Ratioaspect-ratio | adn-ui | Components | Free | 1 dep · 5 files | |
| Autocompleteautocomplete | adn-ui | Components | Free | 2 deps · 5 files | |
| Badgebadge | adn-ui | Components | Free | 1 dep · 5 files | |
| Breadcrumbbreadcrumb | adn-ui | Components | Free | 1 dep · 5 files | |
| Buttonbutton | adn-ui | Components | Free | 1 dep · 4 files | |
| Button Groupbutton-group | adn-ui | Components | Free | 1 dep · 5 files |
