VibeUI
ComponentsDocs
VibeUI

Components with taste, that you own. Copy the source, retint the tokens, keep every line.

Library

  • All components
  • Signature pieces
  • Text effects
  • Footers

Docs

  • Introduction
  • Installation
  • Theming
  • CLI

Project

  • GitHub
  • Agents and MCP
  • Issues
  • MIT license
© 2026 VibeUI · MIT licensed
  1. Components
  2. Footers
  3. Footer Legal

Footer Legal

Copyright line with legal links.

FootersServer-safe

© 2026 VibeUI · MIT License

PrivacyTermsLicense

Install

bash
npx @agents-npm-packages/vibeui add footer-legal --dir ./src/components/ui

Import

tsx
import { FooterLegal } from "@/components/ui/footer-legal"

API

Generated from the component's TypeScript types, so it always matches the source. * marks a required prop.

<FooterLegal>

PropTypeDefaultDescription
copyright*string—Copyright text.
links*{ label: string; href: string; }[]—Array of { label, href } links.
classNamestring—Extra classes, merged with the component's own.

Source

src/components/ui/footer-legal.tsx
import { cn } from "@/lib/utils";

/** Copyright line with legal links. */
export function FooterLegal({
  copyright,
  links,
  className,
}: {
  copyright: string;
  links: { label: string; href: string }[];
  className?: string;
}) {
  return (
    <div
      className={cn(
        "flex flex-col gap-3 border-t border-line py-5 text-xs text-faint sm:flex-row sm:items-center sm:justify-between",
        className,
      )}
    >
      <p>{copyright}</p>
      <nav aria-label="Legal" className="flex flex-wrap gap-5">
        {links.map((l) => (
          <a
            key={l.href + l.label}
            href={l.href}
            className="transition-colors hover:text-ink"
          >
            {l.label}
          </a>
        ))}
      </nav>
    </div>
  );
}

Exports FooterLegal. Peer dependencies: clsx, tailwind-merge.

PreviousFooter GiantNextFooter Mega