import type { ReactNode } from 'react'; import { Avatar, AvatarFallback, AvatarImage } from 'cloudrite'; // Cloudrite is dark-only — foreground-coloured text and `border-border` are // invisible on the preview harness's white card body. Stories render on the // brand surface, which is also how a real screen is built. const Surface = ({ children }: { children: ReactNode }) => (
{children}
); // AvatarImage points at a remote URL in real use; previews render offline, so // these show the fallback path — which is also the state worth documenting, // since it is what every avatar shows before the image resolves. export const Fallbacks = () => (
{['JL', 'CR', 'AM', 'TK'].map((initials) => ( {initials} ))}
); export const Sizes = () => (
CR CR CR CR
); // size-10 with -space-x-3: at the default size-8 the overlap eats enough of each // circle that the initials clip. export const Stacked = () => (
{['JL', 'CR', 'AM'].map((initials) => ( {initials} ))} +5
);