import React from "react"; import Avatar from "../Avatar"; import AvatarGroup from "../../AvatarGroup/AvatarGroup"; import { createStoryMetaSettingsDecorator } from "../../../storybook"; import { createComponentTemplate, StoryDescription } from "vibe-storybook-components"; import Tooltip from "../../Tooltip/Tooltip"; import { Counter, Flex } from "../.."; import { guest, home, minus, owner, person1, person2, person3 } from "./assets"; import { WhatsNew } from "../../Icon/Icons"; import { useCallback, useState } from "react"; import "./Avatar.stories.scss"; const metaSettings = createStoryMetaSettingsDecorator({ component: Avatar, enumPropNamesArray: ["type", "size"], iconPropNamesArray: ["icon"] }); const avatarTemplate = createComponentTemplate(Avatar); export default { title: "Media/Avatar/Avatar", component: Avatar, argTypes: metaSettings.argTypes, decorators: metaSettings.decorators }; export const Overview = { render: avatarTemplate.bind({}), name: "Overview", args: { size: Avatar.sizes.LARGE, src: window.location.origin + "/" + person1, type: Avatar.types.IMG, ariaLabel: "Julia Martinez" } }; export const Size = { render: () => ( <> ), name: "Size" }; export const Disable = { render: () => ( <> ), name: "Disable" }; export const AvatarWithText = { render: () => ( <> ), name: "Avatar with text" }; export const SquareAvatar = { render: () => ( <> ), name: "Square avatar" }; export const AvatarWithRightBadge = { render: () => ( <> ), name: "Avatar with right badge" }; export const AvatarWithLeftBadge = { render: () => ( <> {" "} ), name: "Avatar with left badge" }; export const AvatarWithTooltip = { render: () => ( Julia Martinez, position: Tooltip.positions.BOTTOM }} ariaLabel={"Julia Martinez"} /> ), name: "Avatar with tooltip" }; export const ClickableAvatar = { render: () => { const [count, setCount] = useState(0); const incrementCount = useCallback(() => { setCount(prevState => prevState + 1); }, []); return ( ); }, name: "Clickable avatar" }; export const MultipleAvatars = { render: () => ( ), name: "Multiple avatars" };