Avatar Group
shadcn-ui-full-calendar/avatar-groupFreeComponent
A component to display a group of avatars.
Install it
npx shadcn@latest add https://calendar.jeraidi.dev/r/avatar-group.jsonSource
1import * as React from "react";23import { Avatar, AvatarFallback } from "@/components/ui/avatar";4import { cn } from "@/lib/utils";56type AvatarProps = React.ComponentProps<typeof Avatar>;78interface AvatarGroupProps extends React.ComponentProps<"div"> {9 children: React.ReactElement<AvatarProps>[];10 max?: number;11}1213const AvatarGroup = ({14 children,15 max,16 className,17 ...props18}: AvatarGroupProps) => {19 const totalAvatars = React.Children.count(children);20 const displayedAvatars = React.Children.toArray(children)21 .slice(0, max)22 .reverse();23 const remainingAvatars = max ? Math.max(totalAvatars - max, 1) : 0;2425 return (26 <div27 className={cn("flex items-center flex-row-reverse", className)}28 {...props}29 >30 {remainingAvatars > 0 && (31 <Avatar className="-ml-2 hover:z-10 relative ring-2 ring-background">32 <AvatarFallback className="bg-muted-foreground text-white">33 +{remainingAvatars}34 </AvatarFallback>35 </Avatar>36 )}37 {displayedAvatars.map((avatar, index) => {38 if (!React.isValidElement(avatar)) return null;3940 return (41 <div key={index} className="-ml-2 hover:z-10 relative">42 {React.cloneElement(avatar as React.ReactElement<AvatarProps>, {43 className: "ring-2 ring-background",44 })}45 </div>46 );47 })}48 </div>49 );50};5152export { AvatarGroup };
What it pulls in
Other registry items
Files it writes
More from shadcn/ui full calendar
All 6 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Buttons groupbutton-group | shadcn/ui full calendar | Components | Free | no deps | |
| Date Time Pickerdate-time-picker | shadcn/ui full calendar | Components | Free | no deps | |
| Day Pickerday-picker | shadcn/ui full calendar | Components | Free | 2 deps | |
| Responsive modalresponsive-modal | shadcn/ui full calendar | Components | Free | no deps |
