avatar
ora-ui/avatarFreeComponent
ora-ui publishes no description for this item.
Live preview
live · rendered by the registry
Rendered by ora-ui on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://ora-ui.com/r/avatar.jsonSource
1'use client';23import * as React from 'react';4import { Avatar as AvatarPrimitive } from '@base-ui/react/avatar';56import { cn } from '@/registry/lib/utils';78type Theme = 'gray' | 'accent' | (string & {});910function Avatar({11 className,12 size = 'default',13 theme = 'gray',14 ...props15}: AvatarPrimitive.Root.Props & {16 size?: 'default' | 'sm' | 'lg';17 theme?: Theme;18}) {19 return (20 <AvatarPrimitive.Root21 data-slot="avatar"22 data-size={size}23 data-theme={theme !== 'gray' ? theme : undefined}24 className={cn(25 'group/avatar relative flex size-8 shrink-0 rounded-full select-none after:absolute after:inset-0 after:rounded-full after:border after:border-line-ui after:mix-blend-darken data-[size=lg]:size-10 data-[size=sm]:size-6 dark:after:mix-blend-lighten',26 className27 )}28 {...props}29 />30 );31}3233function AvatarImage({ className, ...props }: AvatarPrimitive.Image.Props) {34 return (35 <AvatarPrimitive.Image36 data-slot="avatar-image"37 className={cn('aspect-square size-full rounded-[inherit] object-cover', className)}38 {...props}39 />40 );41}4243function AvatarFallback({ className, ...props }: AvatarPrimitive.Fallback.Props) {44 return (45 <AvatarPrimitive.Fallback46 data-slot="avatar-fallback"47 className={cn(48 'flex size-full items-center justify-center rounded-[inherit] bg-line-subtle text-sm text-ui-label group-data-[size=sm]/avatar:text-xs',49 className50 )}51 {...props}52 />53 );54}5556function AvatarBadge({ className, ...props }: React.ComponentProps<'span'>) {57 return (58 <span59 data-slot="avatar-badge"60 className={cn(61 'absolute right-0 bottom-0 z-10 inline-flex items-center justify-center rounded-full bg-fill text-on-fill bg-blend-color select-none',62 'group-data-[size=sm]/avatar:size-2 group-data-[size=sm]/avatar:[&>svg]:hidden',63 'group-data-[size=default]/avatar:size-2.5 group-data-[size=default]/avatar:[&>svg]:size-2',64 'group-data-[size=lg]/avatar:size-3 group-data-[size=lg]/avatar:[&>svg]:size-2',65 className66 )}67 {...props}68 />69 );70}7172export { Avatar, AvatarImage, AvatarFallback, AvatarBadge };73export { AvatarGroup, AvatarGroupCount } from './avatar-group';
What it pulls in
npm packages
Other registry items
Files it writes
More from ora-ui
All 31 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| accordionaccordion | ora-ui | Components | Free | 2 deps | |
| alert-dialogalert-dialog | ora-ui | Components | Free | 1 dep | |
| avatar-groupavatar-group | ora-ui | Components | Free | no deps | |
| badgebadge | ora-ui | Components | Free | 2 deps | |
| buttonbutton | ora-ui | Components | Free | 2 deps | |
| button-groupbutton-group | ora-ui | Components | Free | 2 deps | |
| checkboxcheckbox | ora-ui | Components | Free | 3 deps | |
| checkbox-groupcheckbox-group | ora-ui | Components | Free | 1 dep |
