Skip to content

shadcn.io is an independent project built on shadcn/ui

Free

Button with Right Icon (Standard) for Solid

A filled button with an arrow after the label, when the main action should move people forward to their next step.

UI library: Ark UI

Primary fill, the label, then an arrow. People read the word and get a nudge that something follows.

Use it for Continue, Next, or Review. If the click stays here and nothing comes after, drop the arrow. A Button with only the word is enough. In Solid, Ark UI keeps the icon out of the accessible name.

Preview

Preview width

Installation

MCP · Pro
Make your AI a shadcn expert
Your agent installs components, builds pages and restyles your app from one prompt, in Claude Code, Cursor or VS Code.
Part of Pro

Anatomy

Button anatomy: root, icon, text

Usage

<Button>
    Button
    <ArrowRightIcon aria-hidden="true" data-icon="inline-end" />
  </Button>

FAQ

Why is the arrow after the label?

ArrowRightIcon is the last child, with data-icon="inline-end". The button pads for an icon on that side, and the arrow moves to the other side when the direction is right to left. It's aria-hidden="true" because the label is the name.

Does the arrow mean this navigates?

No. The arrow is decorative. The control is still a button with type="button", so it doesn't open a URL and it doesn't submit a form unless you pass type="submit".

How do I use a different icon?

Replace ArrowRightIcon and keep data-icon="inline-end" if it should stay after the label. Use inline-start if it should lead. Leave aria-hidden="true" on while the text is enough.

Which button is this?

The default variant: primary fill, primary text, arrow after the label. Use it for the main forward step, such as Continue.

How do I make the arrow a link?

Turn the button into a link and keep the icon inside it. Pass asChild and spread the props it gives you on your link.

What does a screen reader hear?

The label, Button in this demo. The arrow is hidden. Rename the children to the action, such as Next or Continue, so the name matches the arrow.

API Reference

Button

No extra props in this demo. The rest is on the Button page.