import React from 'react'; import Box from '@mui/material/Box'; import Container from '@mui/material/Container'; import Grid from '@mui/material/Grid'; import type { SxProps, Theme } from '@mui/material/styles'; import { Typography } from '../../atoms/Typography'; import { Link } from '../../atoms/Link'; import { Divider } from '../../atoms/Divider'; // ─── Types ─────────────────────────────────────────────────────────────────── /** A group of links in the footer */ export interface FooterLinkGroup { /** Group heading */ heading: string; /** Links within this group */ links: { label: string; href: string; onClick?: () => void }[]; } /** Props for the FA Footer organism */ export interface FooterProps { /** Site logo — rendered in the footer top row */ logo: React.ReactNode; /** Optional tagline below the logo */ tagline?: string; /** Link groups displayed as columns */ linkGroups?: FooterLinkGroup[]; /** Phone number displayed in the contact section */ phone?: string; /** Email address displayed in the contact section */ email?: string; /** Copyright text — defaults to current year + "Funeral Arranger" */ copyright?: string; /** Optional legal links shown in the bottom bar (Privacy, Terms, etc.) */ legalLinks?: { label: string; href: string; onClick?: () => void }[]; /** MUI sx prop for the root element */ sx?: SxProps; } // ─── Component ─────────────────────────────────────────────────────────────── /** * Site footer for the FA design system. * * Multi-column footer with logo, link groups, contact info, and legal bar. * Designed for warmth and trust — uses the brand's dark surface with * inverse (white) text. * * Composes Typography + Link + Divider. * * Usage: * ```tsx *