import type { Meta, StoryObj } from '@storybook/react'; import { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuCheckboxItem, DropdownMenuRadioGroup, DropdownMenuRadioItem, } from './dropdown-menu'; import { Button } from './button'; import { User, CreditCard, Settings, Keyboard, LogOut, Mail, MessageSquare, PlusCircle, Plus, Github, LifeBuoy, Cloud } from 'lucide-react'; import { useState } from 'react'; const meta = { title: 'UI/DropdownMenu', component: DropdownMenu, tags: ['autodocs'], } satisfies Meta; export default meta; type Story = StoryObj; export const Default: Story = { render: (args) => ( My Account Profile ⇧⌘P Billing ⌘B Settings ⌘S Keyboard shortcuts ⌘K Log out ⇧⌘Q ), }; export const Checkboxes: Story = { render: () => { const [showStatusBar, setShowStatusBar] = useState(true); const [showActivityBar, setShowActivityBar] = useState(false); const [showPanel, setShowPanel] = useState(false); return ( Appearance Status Bar Activity Bar Panel ); }, }; export const RadioGroup: Story = { render: () => { const [position, setPosition] = useState("bottom"); return ( Panel Position Top Bottom Right ); }, }; // Helper for group mocking in story const DropdownMenuGroup = ({ children }: { children: React.ReactNode }) => <>{children};