Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Contact Details Footer Block for React

A contact-details footer for an accounting firm: the brand and two link groups on shared hairlines, and four contact points as cells in a definition list, each with an icon: email, phone, postal address and reply time.

Framework
UI library

Preview

Preview width

Installation

Part of Pro
Pro unlocks the code and one-line install of every Pro button and text effect, plus the MCP for your AI editor.
Have Pro already? Sign in to open it.Opens here as soon as you're Pro.

Overview

A contact-details footer for React with Base UI, built on shared hairlines. The top row is two cells: the brand with one sentence, and two link groups in the nav labelled Footer. Under it, in an address, a definition list of four contact points runs from rail to rail as cells, each with an icon: an email link, a phone link, the postal address and the reply time. A slim band carries the copyright and the policy links. It's built from DataList, Guides and your theme's tokens, and it is a static component with no state.

FAQ

Are the email address and phone number real?

No. hello@pellam.example uses the .example domain, which is reserved for examples, and +1 (415) 555-0171 is in the 555-0100 to 555-0199 range set aside for fiction. Replace EMAIL, PHONE and PHONE_HREF at the top of the file, and the street lines in the Visit cell. The phone number keeps its order in a right-to-left layout.

How do screen readers meet the contact points?

The four points are one dl inside an address element: each label ("Email", "Phone", "Visit", "Replies") is a term and each value its description, so a screen reader announces the pairs. The icons are decorative. The email and phone are mailto: and tel: links, so a tap on a phone starts a message or a call.

How are the cells lined?

The cells share hairlines: their parent has a gap-px over the border colour, and each cell paints the page background. They are not positioned, so they never paint over the page's side rails. To add a fifth contact point, add a Point and change lg:grid-cols-4.

How does it fit on a phone?

The cells stack: the brand, the two link groups side by side, then the contact points one per row (two per row from sm), then the band. Long values wrap rather than scroll, so nothing overflows at 320 pixels.

Where does the copyright year come from?

It is the current year, read when the footer renders, so it never goes stale. The component has no state; the year is read when it renders.

  • Pro

    Company Facts Footer

    Company and places

    A company footer for a construction-software firm: a brand with a facts list (founded, headquarters, people, customers, company number) and two link columns in cells sharing hairlines, then a slim band.

  • Pro

    Contact Form Footer

    Company and places

    A contact-form footer for a hosting company: three short link groups on one half of a split, and on the other a compact message form in a card in card that checks itself and confirms in place.

  • Pro

    Map Location Footer

    Company and places

    A visit-us footer for a coworking space: the address, visiting days and a transit, car or bike choice that swaps the directions and the route on a greyscale street map drawn in a framed figure.

  • Pro

    Support Hub Footer

    Company and places

    A support-hub footer for a help-desk product: a question and a row of help links, then three support channels as cells, live chat with an online status, email with its reply time and phone with its hours, each one link.

  • Pro

    A brandless link directory: six groups of five links as cells on shared hairlines, three across by two down, with a legal band under the grid.

  • Pro

    A talk-to-sales split for a scheduling platform: what happens next as three numbered steps and a band of contact details beside a form that checks itself, shows each problem under its field and confirms in place.