MenuClose

Footer Fold — React Footer Component

Your wordmark becomes a hinged paper screen. Each panel turns toward the passing pointer.

View source
PreviewReact
Starting live preview

Usage

import { FooterFold } from "@/components/FooterFold";

export function PageFooter() {
  return (
    <FooterFold
      cta={{"label":"Begin a project","href":"mailto:hello@example.com"}}
      groups={[{"label":"Explore","links":[{"label":"Our work","href":"/heroes"},{"label":"The collection","href":"/footers"},{"label":"Get started","href":"/installation"}]},{"label":"Elsewhere","links":[{"label":"GitHub","href":"https://github.com/zjy365/vfx-ui"},{"label":"For agents","href":"/llms.txt"}]}]}
      copyright={"© 2026 FORM"}
      legal={[{"label":"Back to the collection","href":"/footers"}]}
      brand={"FORM"}
      title={"Leave it wide open."}
      color={"#292454"}
      background={"#e5e0f0"}
      {...{
        brand: "FORM",
        title: "Leave it wide open.",
        interactive: true,
        color: "#292454",
        background: "#e5e0f0",
        depth: 32
      }}
    />
  );
}
Implementation notes & API

A semantic footer with customizable brand, title, description, CTA, navigation groups, copyright and legal links. Example links belong to the demo; replace them with your own routes. children replaces the intro and navigation. No WebGPU or animation library required. Touch and reduced-motion preserve a composed static design. Canvas work sleeps offscreen. Set --vfx-footer-display through style to use your brand font.

PropertyTypeNotes / default
brandstringYour brand; the artwork is generated from this text
title / descriptionReactNodeReplaceable example copy
ctaFooterLink | null{ label, href }; omitted by default
groupsFooterLinkGroup[][{ label, links: [{ label, href }] }]; empty by default
legalFooterLink[]Optional legal or social links
copyrightReactNodeOptional bottom line
childrenReactNodeReplaces the introduction and navigation; artwork remains
interactivebooleantrue; pointer motion respects reduced-motion and touch
className / stylestring / CSSPropertiesApplied to footer; --vfx-footer-display sets the display font
View source on GitHubFree for commercial projects · MIT