{"version":3,"file":"Avatar.cjs","sources":["../../../../src/components/data-display/avatar/Avatar.tsx"],"sourcesContent":["import AvatarFallback from '@components/data-display/avatar/components/avatar-fallback/AvatarFallback.tsx'\r\nimport AvatarImage from '@components/data-display/avatar/components/avatar-image/AvatarImage.tsx'\r\nimport AvatarRoot from '@components/data-display/avatar/components/avatar-root/AvatarRoot.tsx'\r\nimport AvatarStatus from '@components/data-display/avatar/components/avatar-status/AvatarStatus.tsx'\r\nimport { AVATAR_SIZES } from '@components/data-display/avatar/constants'\r\nimport type { AvatarCompound } from '@components/data-display/avatar/types/index.ts'\r\nimport type { AvatarProps } from '@components/data-display/avatar/types/Avatar.props.ts'\r\nimport { memo } from 'react'\r\n\r\n/**\r\n * Displays a user avatar with an optional image, initials fallback, icon\r\n * fallback, and online/presence status indicator.\r\n *\r\n * Compound slots: `Avatar.Root`, `Avatar.Image`, `Avatar.Fallback`,\r\n * `Avatar.Status`.\r\n */\r\nconst Avatar = memo<AvatarProps>(({\r\n    src,\r\n    alt,\r\n    initials,\r\n    icon,\r\n    size = AVATAR_SIZES.md,\r\n    shape = 'circle',\r\n    color = 'primary',\r\n    status,\r\n    statusLabel,\r\n    statusSize,\r\n    fallbackDelay,\r\n    onLoadingStatusChange,\r\n    className,\r\n    ref,\r\n    ...props\r\n}) => {\r\n    const hasImage = Boolean(src)\r\n\r\n    return (\r\n        <AvatarRoot\r\n            ref={ref}\r\n            size={size}\r\n            shape={shape}\r\n            color={color}\r\n            className={className}\r\n            {...props}\r\n        >\r\n            {hasImage && (\r\n                <AvatarImage\r\n                    src={src}\r\n                    alt={alt}\r\n                    onLoadingStatusChange={onLoadingStatusChange}\r\n                />\r\n            )}\r\n            <AvatarFallback\r\n                initials={initials}\r\n                icon={icon}\r\n                size={size}\r\n                delay={fallbackDelay}\r\n            />\r\n            {status && (\r\n                <AvatarStatus\r\n                    status={status}\r\n                    size={statusSize ?? size}\r\n                    label={statusLabel}\r\n                />\r\n            )}\r\n        </AvatarRoot>\r\n    )\r\n}) as unknown as AvatarCompound\r\n\r\nAvatar.displayName = 'Avatar'\r\nAvatar.Root = AvatarRoot\r\nAvatar.Image = AvatarImage\r\nAvatar.Fallback = AvatarFallback\r\nAvatar.Status = AvatarStatus\r\n\r\nexport { Avatar }\r\n"],"names":["Avatar","memo","src","alt","initials","icon","size","AVATAR_SIZES","shape","color","status","statusLabel","statusSize","fallbackDelay","onLoadingStatusChange","className","ref","props","hasImage","jsxs","AvatarRoot","jsx","AvatarImage","AvatarFallback","AvatarStatus"],"mappings":"yZAgBMA,EAASC,EAAAA,KAAkB,CAAC,CAC9B,IAAAC,EACA,IAAAC,EACA,SAAAC,EACA,KAAAC,EACA,KAAAC,EAAOC,EAAAA,aAAa,GACpB,MAAAC,EAAQ,SACR,MAAAC,EAAQ,UACR,OAAAC,EACA,YAAAC,EACA,WAAAC,EACA,cAAAC,EACA,sBAAAC,EACA,UAAAC,EACA,IAAAC,EACA,GAAGC,CACP,IAAM,CACF,MAAMC,EAAW,EAAQhB,EAEzB,OACIiB,EAAAA,KAACC,EAAA,CACG,IAAAJ,EACA,KAAAV,EACA,MAAAE,EACA,MAAAC,EACA,UAAAM,EACC,GAAGE,EAEH,SAAA,CAAAC,GACGG,EAAAA,IAACC,EAAA,CACG,IAAApB,EACA,IAAAC,EACA,sBAAAW,CAAA,CAAA,EAGRO,EAAAA,IAACE,EAAA,CACG,SAAAnB,EACA,KAAAC,EACA,KAAAC,EACA,MAAOO,CAAA,CAAA,EAEVH,GACGW,EAAAA,IAACG,EAAA,CACG,OAAAd,EACA,KAAME,GAAcN,EACpB,MAAOK,CAAA,CAAA,CACX,CAAA,CAAA,CAIhB,CAAC,EAEDX,EAAO,YAAc,SACrBA,EAAO,KAAOoB,EACdpB,EAAO,MAAQsB,EACftB,EAAO,SAAWuB,EAClBvB,EAAO,OAASwB"}