import { commonArgTypes, radiusOptions } from '@/lib/constants';
import DropdownMenu from '@/lib/components/DropdownMenu';
import Button from '@/lib/components/Button';
import type { Meta } from '@storybook/vue3';
import { Icon } from '@iconify/vue';
import { ref } from 'vue';
const meta = {
title: 'Menu Select Component/DropdownMenu',
component: DropdownMenu.Root,
parameters: {
layout: 'centered',
themes: {
themeOverride: 'dark'
},
docs: {
description: {
component: '버튼을 클릭하여 세부항목을 확인하고 하나의 항목을 선택하는 기능'
}
}
},
argTypes: {
radius: {
...commonArgTypes.radius,
description: 'dropdownMenu 둥글기'
},
size: {
...commonArgTypes.size,
table: {
category: 'Props',
type: {
summary: ['small', 'medium'].join(' | ')
}
},
options: ['small', 'medium'],
description: 'dropdownMenu 크기'
},
scaling: {
...commonArgTypes.scaling,
description: 'dropdownMenu scaling'
},
color: {
...commonArgTypes.color,
description: 'dropdownMenu color'
},
appearance: {
...commonArgTypes.appearance,
table: {
category: 'Props',
type: { summary: ['solid', 'soft'].join(' | ') }
},
options: ['solid', 'soft']
},
default: { table: { disable: true } }
}
} as Meta;
export default meta;
const commonComponents = {
DropdownMenuRoot: DropdownMenu.Root,
DropdownMenuTrigger: DropdownMenu.Trigger,
DropdownMenuContent: DropdownMenu.Content,
DropdownMenuLabel: DropdownMenu.Label,
DropdownMenuItem: DropdownMenu.Item,
DropdownMenuSeparator: DropdownMenu.Separator,
DropdownMenuCheckboxItem: DropdownMenu.CheckboxItem,
DropdownMenuRadioGroup: DropdownMenu.RadioGroup,
DropdownMenuRadioItem: DropdownMenu.RadioItem,
DropdownMenuSub: DropdownMenu.Sub,
DropdownMenuSubTrigger: DropdownMenu.SubTrigger,
DropdownMenuSubContent: DropdownMenu.SubContent,
DropdownMenuItemIndicator: DropdownMenu.ItemIndicator,
Button,
Icon
};
export const Default = {
render: (args: any) => ({
components: commonComponents,
setup() {
const checkboxOne = ref(true);
const checkboxTwo = ref(false);
const option = ref('option1');
return { args, option, checkboxOne, checkboxTwo };
},
template: `