import PinInput from '@/lib/components/PinInput'; import { commonArgTypes, radiusOptions, scalingOptions, typoSizeOptions } from '@/lib/constants'; import { Meta, StoryObj } from '@storybook/vue3/*'; const meta = { title: 'Input Component/PinInput', component: PinInput, parameters: { themes: { themeOverride: 'dark' }, docs: { description: { component: '' } } }, argTypes: { radius: { ...commonArgTypes.radius, description: 'PinInput 의 둥굴기' }, size: { table: { category: 'Props', type: { summary: ['small', 'medium', 'large'].join(' | ') } }, control: { type: 'select' }, options: ['small', 'medium', 'large'], defaultValue: { summary: 'medium' }, description: 'PinInput 의 크기' }, scaling: { ...commonArgTypes.scaling, description: 'PinInput 의 비율' }, color: { ...commonArgTypes.color, description: 'PinInput 의 색상' } } } as Meta; export default meta; type Story = StoryObj; export const Default = { render: (args: {}) => ({ components: { PinInputRoot: PinInput.Root, PinInputInput: PinInput.Input }, setup() { return { args }; }, template: `
` }) }; export const Size = { render: (args: {}) => ({ components: { PinInputRoot: PinInput.Root, PinInputInput: PinInput.Input }, setup() { const sizeOptions = ['small', 'medium', 'large']; return { args, sizeOptions }; }, template: `
` }) }; export const Radius = { render: (args: {}) => ({ components: { PinInputRoot: PinInput.Root, PinInputInput: PinInput.Input }, setup() { return { args, radiusOptions }; }, template: `
` }) }; export const Scaling = { render: (args: {}) => ({ components: { PinInputRoot: PinInput.Root, PinInputInput: PinInput.Input }, setup() { return { args, scalingOptions }; }, template: `
` }) };