Footer Section

Site footer with a brand column of logo, tagline and social icons that lift on hover, link columns that collapse into disclosures in narrow containers, a newsletter signup that validates email and runs idle, loading, success and error states from an onSubscribe promise, and a bottom bar with legal links and a theme toggle slot.

Preview

Footer Section preview width

Install

Add it with the shadcn CLI, or copy the source manually.

$ bunx --bun shadcn add @karaui/footer-section
@karaui not found? Add it to components.json
{
  "registries": {
    "@karaui": "https://karaui.kamisama-v0.my.id/r/{name}.json"
  }
}

@karaui is in shadcn's public registry directory, so the latest CLI needs no setup. On an older CLI, merge this into the existing file once and every @karaui/… install resolves.

API Reference

logo?
ReactNode
—
tagline?
ReactNode
—
socials?
FooterSocialLink[]
[]
columns?
FooterLinkColumn[]
[]
newsletter?
FooterNewsletter

Newsletter copy. Shown when `onSubscribe` is set.

{}
onSubscribe?
((email: string) => void | Promise<void>)

Resolve to confirm the signup; reject (or throw) to show the error state.

—
copyright?
ReactNode

Owner after the © sign, e.g. "Acme Inc."

—
year?
number

Pass the year in; it is never computed during render.

—
legalLinks?
FooterLink[]
[]
themeToggle?
ReactNode

Slot at the end of the bottom bar, e.g. a theme toggle.

—
className?
string
—

Keep in mind

Some components on this site are inspired by or recreated from existing work across the web. I'm not here to take credit; just to learn, experiment, and sometimes push things a bit further. If something looks familiar and I forgot to mention you, reach out and I'll fix that right away.

Updated