import type { Meta, StoryObj } from '@storybook/react';
import { Mail, Plus, PlusCircle, Search, UserPlus } from 'lucide-react';
import {
DropdownMenu,
DropdownMenuCheckboxItem,
DropdownMenuContent,
DropdownMenuGroup,
DropdownMenuItem,
DropdownMenuLabel,
DropdownMenuPortal,
DropdownMenuRadioGroup,
DropdownMenuRadioItem,
DropdownMenuSeparator,
DropdownMenuShortcut,
DropdownMenuSub,
DropdownMenuSubContent,
DropdownMenuSubTrigger,
DropdownMenuTrigger,
} from '@konobangu/design-system/components/ui/dropdown-menu';
/**
* Displays a menu to the user — such as a set of actions or functions —
* triggered by a button.
*/
const meta = {
title: 'ui/DropdownMenu',
component: DropdownMenu,
tags: ['autodocs'],
argTypes: {},
render: (args) => (
Open
My Account
Profile
Billing
Team
Subscription
),
parameters: {
layout: 'centered',
},
} satisfies Meta;
export default meta;
type Story = StoryObj;
/**
* The default form of the dropdown menu.
*/
export const Default: Story = {};
/**
* A dropdown menu with shortcuts.
*/
export const WithShortcuts: Story = {
render: (args) => (
Open
Controls
Back
⌘[
Forward
⌘]
),
};
/**
* A dropdown menu with submenus.
*/
export const WithSubmenus: Story = {
render: (args) => (
Open
Search
New Team
⌘+T
Invite users
Email
More...
),
};
/**
* A dropdown menu with radio items.
*/
export const WithRadioItems: Story = {
render: (args) => (
Open
Status
Info
Warning
Error
),
};
/**
* A dropdown menu with checkboxes.
*/
export const WithCheckboxes: Story = {
render: (args) => (
Open
Autosave
⌘S
Show Comments
),
};