import { commonArgTypes, scalingOptions } from '@/lib/constants'; import Breadcrumb from '@/lib/components/Breadcrumb'; import type { Meta } from '@storybook/vue3'; import { Icon } from '@iconify/vue'; const meta = { title: 'Navigation Component/Breadcrumb', component: Breadcrumb.Root, parameters: { layout: 'centered', themes: { themeOverride: 'dark' }, docs: { description: { component: '링크 계층을 사용하여 현재 리소스의 경로를 표시합니다.' } } }, argTypes: { size: { table: { category: 'Props', type: { summary: ['small', 'medium', 'large'].join(' | ') } }, control: { type: 'select' }, options: ['small', 'medium', 'large'], defaultValue: { summary: 'medium' }, description: 'breadcrumb 크기' }, scaling: { ...commonArgTypes.scaling, description: 'breadcrumb scaling' }, color: { ...commonArgTypes.color, description: 'breadcrumb 글자 색상', defaultValue: { summary: 'black' } } } } as Meta; export default meta; const commonComponents = { BreadcrumbRoot: Breadcrumb.Root, BreadcrumbItem: Breadcrumb.Item, BreadcrumbLink: Breadcrumb.Link, BreadcrumbList: Breadcrumb.List, BreadcrumbPage: Breadcrumb.Page, BreadcrumbSeparator: Breadcrumb.Separator, BreadcrumbEllipsis: Breadcrumb.Ellipsis }; export const Default = { render: (args: any) => ({ components: commonComponents, setup() { return { args }; }, template: ` Home Level2 ... Page ` }), parameters: { docs: { source: { code: ` ` } } } }; export const Scaling = { render: () => ({ components: commonComponents, setup() { return { scalingOptions }; }, template: `
` }), parameters: { docs: { source: { code: `
` } } } }; export const Size = { render: () => ({ components: commonComponents, setup() { return { sizeOptions: ['small', 'medium', 'large'] }; }, template: `
` }), parameters: { docs: { source: { code: `
` } } } }; export const WithIcon = { render: () => ({ components: { ...commonComponents, Icon }, template: ` 내정보관리 My ID ` }), parameters: { docs: { source: { code: ` ` } } } };