Skip to main content

Overview

The Footer component provides consistent footer patterns with navigation links, social media, copyright information, and additional site-wide content.

Basic Usage

Minimal footer with just copyright text.

Multi-Column Layout

Props

Copyright text to display
Array of link objects: { label: string, href: string }[]
array
Array of column objects with title and links
array
Array of social media links: { platform: string, href: string }[]
Logo or brand element to display
string
default:"default"
Visual style: default or minimal
ReactNode
Custom footer content
string
Additional CSS class names

FooterColumn Props

string
required
Column heading
ReactNode
required
Column content (typically FooterLink components)
string
required
Link destination
ReactNode
required
Link text
boolean
default:"false"
Opens link in new tab if true

TypeScript Interfaces

Complete Examples

Layout Integration

Place the Footer inside a flex container with flex: 1 on the main content to ensure it stays at the bottom of the page, even with little content.
The Footer component automatically adjusts to a mobile-friendly stacked layout on smaller screens.

Best Practices

  1. Keep it organized: Group related links into clear sections
  2. Limit columns: Use 3-4 columns maximum for better readability
  3. Mobile-first: Ensure footer stacks well on mobile devices
  4. Essential links: Include only important links; avoid clutter
  5. Legal compliance: Always include privacy policy and terms of service links
  6. Accessibility: Use semantic HTML and proper link text

Accessibility

  • Uses semantic HTML (<footer>)
  • Proper heading hierarchy for column titles
  • Keyboard navigable links
  • Screen reader compatible with descriptive link text
  • External links indicated with appropriate ARIA labels
  • Social media icons include text labels for accessibility