avatar
neobrutalism/avatarFreeComponent
neobrutalism publishes no description for this item.
Live preview
live · rendered by the registry
Rendered by neobrutalism on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://neobrutalism.com/r/avatar.jsonSource
1"use client"23import * as React from "react"4import { Avatar as AvatarPrimitive } from "@base-ui/react/avatar"56import { cn } from "@/lib/utils"78function Avatar({9 className,10 size = "default",11 ...props12}: AvatarPrimitive.Root.Props & {13 size?: "default" | "sm" | "lg"14}) {15 return (16 <AvatarPrimitive.Root17 data-slot="avatar"18 data-size={size}19 className={cn(20 "group/avatar relative flex size-8 shrink-0 rounded-full border-2 select-none data-[size=lg]:size-10 data-[size=sm]:size-6",21 className22 )}23 {...props}24 />25 )26}2728function AvatarImage({ className, ...props }: AvatarPrimitive.Image.Props) {29 return (30 <AvatarPrimitive.Image31 data-slot="avatar-image"32 className={cn(33 "aspect-square size-full rounded-full object-cover",34 className35 )}36 {...props}37 />38 )39}4041function AvatarFallback({42 className,43 ...props44}: AvatarPrimitive.Fallback.Props) {45 return (46 <AvatarPrimitive.Fallback47 data-slot="avatar-fallback"48 className={cn(49 "flex size-full items-center justify-center rounded-full bg-muted font-head text-sm text-muted-foreground group-data-[size=sm]/avatar:text-xs",50 className51 )}52 {...props}53 />54 )55}5657function AvatarBadge({ className, ...props }: React.ComponentProps<"span">) {58 return (59 <span60 data-slot="avatar-badge"61 className={cn(62 "absolute right-0 bottom-0 z-10 inline-flex items-center justify-center rounded-full bg-primary text-primary-foreground bg-blend-color ring-2 ring-background select-none",63 "group-data-[size=sm]/avatar:size-2 group-data-[size=sm]/avatar:[&>svg]:hidden",64 "group-data-[size=default]/avatar:size-2.5 group-data-[size=default]/avatar:[&>svg]:size-2",65 "group-data-[size=lg]/avatar:size-3 group-data-[size=lg]/avatar:[&>svg]:size-2",66 className67 )}68 {...props}69 />70 )71}7273function AvatarGroup({ className, ...props }: React.ComponentProps<"div">) {74 return (75 <div76 data-slot="avatar-group"77 className={cn(78 "group/avatar-group flex -space-x-2 *:data-[slot=avatar]:ring-2 *:data-[slot=avatar]:ring-background",79 className80 )}81 {...props}82 />83 )84}8586function AvatarGroupCount({87 className,88 ...props89}: React.ComponentProps<"div">) {90 return (91 <div92 data-slot="avatar-group-count"93 className={cn(94// … truncated
What it pulls in
npm packages
Files it writes
More from neobrutalism
All 54 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| accordionaccordion | neobrutalism | Components | Free | 2 deps | |
| alertalert | neobrutalism | Components | Free | 2 deps | |
| alert-dialogalert-dialog | neobrutalism | Components | Free | 1 dep | |
| aspect-ratioaspect-ratio | neobrutalism | Components | Free | 1 dep | |
| badgebadge | neobrutalism | Components | Free | 2 deps | |
| breadcrumbbreadcrumb | neobrutalism | Components | Free | 2 deps | |
| buttonbutton | neobrutalism | Components | Free | 2 deps | |
| button-groupbutton-group | neobrutalism | Components | Free | 2 deps |
