import type { Meta, StoryObj } from '@storybook/react'; import { Navigation } from './Navigation'; import Box from '@mui/material/Box'; import Typography from '@mui/material/Typography'; // Real FA logo — full wordmark for desktop, short icon for mobile const FALogo = () => ( {/* Full logo for desktop */} {/* Short icon for mobile */} ); const defaultItems = [ { label: 'Provider Portal', href: '/provider-portal' }, { label: 'FAQ', href: '/faq' }, { label: 'Contact Us', href: '/contact' }, { label: 'Log in', href: '/login' }, ]; const meta: Meta = { title: 'Organisms/Navigation', component: Navigation, tags: ['autodocs'], parameters: { layout: 'fullscreen', design: { type: 'figma', url: 'https://www.figma.com/design/XUDUrw4yMkEexBCCYHXUvT/Parsons?node-id=14-108', }, }, argTypes: { ctaLabel: { control: 'text' }, }, }; export default meta; type Story = StoryObj; // --- Default ----------------------------------------------------------------- /** Desktop — logo left, navigation links right */ export const Default: Story = { args: { logo: , items: defaultItems, }, }; // --- With CTA ---------------------------------------------------------------- /** Desktop with a primary call-to-action button */ export const WithCTA: Story = { args: { logo: , items: defaultItems, ctaLabel: 'Start planning', onCtaClick: () => alert('Navigate to arrangement flow'), }, }; // --- With Page Content ------------------------------------------------------- /** Full page layout — sticky header with scrollable content */ export const WithPageContent: Story = { render: () => ( } items={defaultItems} ctaLabel="Start planning" /> Find a funeral director Compare trusted funeral directors in your area. View services, pricing, and reviews to find the right support for your family. {Array.from({ length: 8 }).map((_, i) => ( Provider {i + 1} Placeholder content to demonstrate scroll behaviour with sticky header. ))} ), }; // --- Minimal ----------------------------------------------------------------- /** Minimal — logo only, no navigation items */ export const Minimal: Story = { args: { logo: , }, }; // --- Extended Navigation ----------------------------------------------------- /** More nav items for arrangements flow context */ export const ExtendedNavigation: Story = { args: { logo: , items: [ { label: 'Directors', href: '/directors' }, { label: 'Venues', href: '/venues' }, { label: 'Pricing', href: '/pricing' }, { label: 'Provider Portal', href: '/provider-portal' }, { label: 'FAQ', href: '/faq' }, { label: 'Contact Us', href: '/contact' }, { label: 'Log in', href: '/login' }, ], ctaLabel: 'Start planning', }, }; // --- With Dropdown ----------------------------------------------------------- /** Items with `children` render as a dropdown on desktop and a collapsible * section in the mobile drawer */ export const WithDropdown: Story = { args: { logo: , items: [ { label: 'Locations', children: [ { label: 'Melbourne', href: '/locations/melbourne' }, { label: 'Brisbane', href: '/locations/brisbane' }, { label: 'Sydney', href: '/locations/sydney' }, { label: 'South Coast NSW', href: '/locations/south-coast-nsw' }, { label: 'Central Coast NSW', href: '/locations/central-coast-nsw' }, ], }, { label: 'FAQ', href: '/faq' }, { label: 'Contact Us', href: '/contact' }, { label: 'Log in', href: '/login' }, ], }, };