Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Animated Links Footer Block for React Aria

A link footer for a project planner: three columns of six links under ruled headings, each link sliding an arrow in from its start on hover and focus, and a foot band with the brand and legal links.

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 link footer for React with React Aria, where the links answer your pointer. A nav labelled Footer holds three columns (Product, Learn, Company) of six links, each column headed by its title over a hairline. Hover a link or reach it with the keyboard and an arrow slides in from the start of the line while the label moves along to make room; leave it and both settle back. A foot band under a rule with + marks carries the wordmark and one sentence at the start, and the policies and copyright at the end. The page's rails and top rule come from the Guides spine. It's built from Guides, plain links and your theme's tokens, and the motion is CSS only: no JavaScript.

FAQ

How does the arrow animation work?

Each link is a group that holds its label and an arrow icon. At rest the arrow is invisible and parked a little before the line's start; on hover or keyboard focus its position and opacity transition, and the label's start padding grows by the arrow's width. Everything is a CSS transition on logical properties (start, ps), so in a right-to-left page the arrow comes in from the right and points the other way.

What happens with reduced motion?

Nothing slides. With the reduced-motion setting on, the label stays put and the arrow sits after it, hidden at rest and shown on hover or focus without a transition. The colour change on the link still happens, so the feedback stays visible.

What about touch screens?

A tap follows the link, so the arrow shows for the moment before the page changes on a touch device. Hover is only an extra: every link is readable and the right size to tap without it, with a row about 36 pixels tall.

How do screen readers move through it?

The block is a footer element, the page's content-info landmark when placed outside main. The columns sit in a nav labelled Footer, each with a small h2 over a list. The arrow is decorative and hidden from assistive technology, so a link is read as its label alone. The policy links are a list named Legal.

How does it fit on a phone?

Below md the columns sit two across, with the third spanning the full width, and the foot band stacks: the wordmark and sentence, then the policies, then the copyright. From md the three columns sit side by side. Nothing scrolls sideways at 320 pixels.