import type { Meta, StoryObj } from '@storybook/react-vite' import { SiteNav } from './SiteNav' import type { SiteNavPage } from './SiteNav' import { Home, List, Inbox, FolderOpen, FileText, BarChart3, Search, MessagesSquare, } from 'lucide-react' const meta = { title: 'Components/SiteNav', component: SiteNav, tags: ['autodocs'], parameters: { layout: 'fullscreen' }, decorators: [ (Story) => (

Page content area

), ], } satisfies Meta export default meta type Story = StoryObj const sitePages: SiteNavPage[] = [ { label: 'Home', icon: Home }, { label: 'Records', icon: List, isSelected: true }, { label: 'Inbox', icon: Inbox, badge: '(3)' }, { label: 'Directory', icon: FolderOpen, isGroup: true, children: [ { label: 'People' }, { label: 'Teams' }, ], }, { label: 'Reports', icon: BarChart3 }, { label: 'Search', icon: Search }, { label: 'Chat', icon: MessagesSquare }, ] export const Default: Story = { args: { displayName: 'My Application', pages: sitePages, userName: 'Jane Doe', }, } export const Collapsed: Story = { args: { displayName: 'My Application', pages: sitePages, collapsed: true, userName: 'Jane Doe', }, } export const WithGroupExpanded: Story = { args: { displayName: 'My Application', pages: [ { label: 'Home', icon: Home }, { label: 'Records', icon: List }, { label: 'Directory', icon: FolderOpen, isGroup: true, children: [ { label: 'People', isSelected: true }, { label: 'Teams' }, ], }, { label: 'Reports', icon: BarChart3 }, ], userName: 'Jane Doe', }, } export const MinimalPages: Story = { args: { displayName: 'My Application', pages: [ { label: 'Home', icon: Home, isSelected: true }, { label: 'Documents', icon: FileText }, ], userName: 'Alex Brown', }, } export const Hidden: Story = { args: { displayName: 'My Application', pages: sitePages, showNavigation: false, userName: 'Jane Doe', }, }