import Avatar from '@/lib/components/Avatar'; import { appearanceOptions, commonArgTypes, radiusOptions, scalingOptions, typoSizeOptions } from '@/lib/constants'; import type { Meta } from '@storybook/vue3'; import { Icon } from '@iconify/vue'; const meta = { title: 'Basic Component/Avatar', component: Avatar, parameters: { layout: 'centered', themes: { themeOverride: 'dark' }, docs: { description: { component: '사용자 프로필 아이콘으로 사용자를 대표하는 이미지를 사진이나 이니셜로 표현하는 컴포넌트' } } }, argTypes: { radius: { ...commonArgTypes.radius, description: 'Avatar 둥굴기', defaultValue: { summary: 'full' } }, scaling: { ...commonArgTypes.scaling, description: 'Avatar 비율' }, size: { table: { category: 'Props', type: { summary: '1 ~ 9' } }, options: typoSizeOptions, control: { type: 'select' }, description: 'Avatar 크기', defaultValue: { summary: '3' } }, color: { ...commonArgTypes.color, description: 'Avatar 메인 color' }, appearance: { ...commonArgTypes.appearance, description: 'Avatar 스타일', table: { category: 'Props', type: { summary: appearanceOptions .filter((option) => option === 'solid' || option === 'soft') .join(' | ') } }, options: appearanceOptions.filter((option) => option === 'solid' || option === 'soft') }, delayMs: { table: { disable: true } } } } as Meta; export default meta; export const Default = { render: (args: any) => ({ components: { Avatar, Icon }, setup() { return { args }; }, template: `