141 lines
4.0 KiB
JavaScript
141 lines
4.0 KiB
JavaScript
import Avatar from "../../app/components/asset/Avatar";
|
|
|
|
export default {
|
|
title: "Components/Asset/Avatar",
|
|
component: Avatar,
|
|
parameters: {
|
|
layout: "centered",
|
|
docs: {
|
|
description: {
|
|
component:
|
|
"Rounded profile image primitive; stacks with **`AvatarContainer`**. Fuller DS-driven Avatar behavior is **[CR-58](https://linear.app/community-rule/issue/CR-58)**.",
|
|
},
|
|
},
|
|
},
|
|
argTypes: {
|
|
src: {
|
|
control: { type: "text" },
|
|
description: "The source URL of the avatar image",
|
|
},
|
|
alt: {
|
|
control: { type: "text" },
|
|
description: "Alt text for accessibility",
|
|
},
|
|
size: {
|
|
control: { type: "select" },
|
|
options: ["small", "medium", "large", "xlarge"],
|
|
description: "The size of the avatar",
|
|
},
|
|
className: {
|
|
control: { type: "text" },
|
|
description: "Additional CSS classes",
|
|
},
|
|
},
|
|
tags: ["autodocs"],
|
|
};
|
|
|
|
export const Default = {
|
|
args: {
|
|
src: "assets/marketing/avatar-1.svg",
|
|
alt: "User Avatar",
|
|
size: "medium",
|
|
},
|
|
};
|
|
|
|
export const Sizes = {
|
|
args: {
|
|
src: "assets/marketing/avatar-1.svg",
|
|
alt: "User Avatar",
|
|
},
|
|
render: (args) => (
|
|
<div className="space-y-4">
|
|
<div className="space-x-4">
|
|
<Avatar {...args} size="small" />
|
|
<Avatar {...args} size="medium" />
|
|
<Avatar {...args} size="large" />
|
|
<Avatar {...args} size="xlarge" />
|
|
</div>
|
|
</div>
|
|
),
|
|
parameters: {
|
|
docs: {
|
|
description: {
|
|
story: "Different size variants available for the avatar component.",
|
|
},
|
|
},
|
|
},
|
|
};
|
|
|
|
export const DifferentAvatars = {
|
|
args: {
|
|
size: "large",
|
|
},
|
|
render: (args) => (
|
|
<div className="space-y-4">
|
|
<div className="space-x-4">
|
|
<Avatar {...args} src="assets/marketing/avatar-1.svg" alt="User 1" />
|
|
<Avatar {...args} src="assets/marketing/avatar-2.svg" alt="User 2" />
|
|
<Avatar {...args} src="assets/marketing/avatar-3.svg" alt="User 3" />
|
|
</div>
|
|
</div>
|
|
),
|
|
parameters: {
|
|
docs: {
|
|
description: {
|
|
story: "Different avatar images available in the project.",
|
|
},
|
|
},
|
|
},
|
|
};
|
|
|
|
export const AllSizesWithDifferentAvatars = {
|
|
args: {},
|
|
render: () => (
|
|
<div className="space-y-6">
|
|
<div>
|
|
<h3 className="text-white font-semibold mb-3">Small Size</h3>
|
|
<div className="space-x-4">
|
|
<Avatar size="small" src="assets/marketing/avatar-1.svg" alt="User 1" />
|
|
<Avatar size="small" src="assets/marketing/avatar-2.svg" alt="User 2" />
|
|
<Avatar size="small" src="assets/marketing/avatar-3.svg" alt="User 3" />
|
|
</div>
|
|
</div>
|
|
|
|
<div>
|
|
<h3 className="text-white font-semibold mb-3">Medium Size</h3>
|
|
<div className="space-x-4">
|
|
<Avatar size="medium" src="assets/marketing/avatar-1.svg" alt="User 1" />
|
|
<Avatar size="medium" src="assets/marketing/avatar-2.svg" alt="User 2" />
|
|
<Avatar size="medium" src="assets/marketing/avatar-3.svg" alt="User 3" />
|
|
</div>
|
|
</div>
|
|
|
|
<div>
|
|
<h3 className="text-white font-semibold mb-3">Large Size</h3>
|
|
<div className="space-x-4">
|
|
<Avatar size="large" src="assets/marketing/avatar-1.svg" alt="User 1" />
|
|
<Avatar size="large" src="assets/marketing/avatar-2.svg" alt="User 2" />
|
|
<Avatar size="large" src="assets/marketing/avatar-3.svg" alt="User 3" />
|
|
</div>
|
|
</div>
|
|
|
|
<div>
|
|
<h3 className="text-white font-semibold mb-3">XLarge Size</h3>
|
|
<div className="space-x-4">
|
|
<Avatar size="xlarge" src="assets/marketing/avatar-1.svg" alt="User 1" />
|
|
<Avatar size="xlarge" src="assets/marketing/avatar-2.svg" alt="User 2" />
|
|
<Avatar size="xlarge" src="assets/marketing/avatar-3.svg" alt="User 3" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
),
|
|
parameters: {
|
|
docs: {
|
|
description: {
|
|
story:
|
|
"Complete overview of all avatar sizes with different user images.",
|
|
},
|
|
},
|
|
},
|
|
};
|