import type { Meta, StoryObj } from '@storybook/react' import { useState } from 'react' import { FormPage } from './FormPage' import { AppShell } from '@/components/templates/AppShell/AppShell' import { TopBar } from '@/components/organisms/TopBar/TopBar' import { SideNav, SideNavItem, SideNavGroup, SideNavDivider } from '@/components/organisms/SideNav/SideNav' import { PageHeader } from '@/components/organisms/PageHeader/PageHeader' import { Card, CardContent } from '@/components/molecules/Card/Card' import { Alert } from '@/components/molecules/Alert/Alert' import { Input } from '@/components/atoms/Input/Input' import { Select } from '@/components/atoms/Select/Select' import { Button } from '@/components/atoms/Button/Button' import { Badge } from '@/components/atoms/Badge/Badge' import { Avatar } from '@/components/atoms/Avatar/Avatar' import { NswLogo, TopBarAction } from '@/components/templates/_story-helpers' import { Menu, Bell, Home, FileText, LayoutGrid, Users, Link, ArrowRight, Settings } from 'lucide-react' const meta: Meta = { title: 'Templates/FormPage', component: FormPage, tags: ['autodocs', 'template'], parameters: { layout: 'fullscreen', docs: { description: { component: 'Form page template with optional vertical stepper and constrained-width form content. Use inside AppShell for the full page layout.', }, }, }, } export default meta type Story = StoryObj export const WithStepper: Story = { name: 'With stepper', render: () => { const [collapsed, setCollapsed] = useState(false) return ( } label="Menu" onClick={() => setCollapsed(!collapsed)} />} logo={} > } label="Notifications" /> } sideNav={ }>Home }>Profile }>Workspace }>Resources }>Documents } label="Applications" defaultOpen active> New application Guidelines History Support } sideNavCollapsed={collapsed} >
In progress
} actions={ <>

Role information

Select the role that best describes your position.

) }, } export const SimpleForm: Story = { name: 'Simple form (no stepper)', render: () => ( } >