Underline Arrow Button

A minimal text button with an animated underline and arrow for lightweight calls to action.

Installation

Adds the component and everything it depends on to your project.

npx shadcn add https://ui.beste.co/component/r-base/button2

New here? Read the installation guide.

Usage

The import and the props worth knowing about, in one place.

import { Button2 } from "@/components/beste/component/button2";
import Link from "next/link";

// Compose the link with the render prop: your Link becomes the rendered
// element and the button content stays as its children.
<Button2 label="View all case studies" render={<Link href="/work" />} />

<Button2
  label="See pricing"
  tone="muted"   // "foreground" (default) | "muted" | "primary"
  hideIcon       // drop the trailing arrow
  onClick={() => console.log("see pricing")}
/>

Playground

Turn the props on the right; the snippet under them is what you would write to get what you see.

Usage
import { Button2 } from "@/components/beste/component/button2";

<Button2
  label="View all case studies"
/>

Props

Read from the component's own type, so this cannot drift from what it accepts.

PropTypeDefaultDescription
label*stringButton label
asChildbooleanCompose the rendered element shadcn-style (radix asChild): your element (e.g. a router Link) becomes the root and the button content is injected as its children. Pass the element without children of its own.
childrenReact.ReactElementThe element to render when `asChild` is set (e.g. your framework's Link)
hrefstringFallback link: renders a plain `<a>`. Prefer `asChild` with your framework's Link component for client-side navigation.
iconLucideIconTrailing icon (defaults to ArrowRight)
hideIconbooleanHide the trailing icon
tone"foreground" | "muted" | "primary"Text color: foreground (default), muted, or primary
onClickReact.MouseEventHandler<HTMLButtonElement>Click handler (used when there is no href and no asChild)
classNamestringAdditional classes merged onto the button

More Button components

View all Button

Seal Arrow Button

An uppercase pill button with a trailing seal arrow chip and an optional link.

Scramble Button

A scramble text button that cycles random glyphs on hover for developer and tech landings.

Icon Button

An accessible icon button with a required label, three sizes, and circle or square shape.

Corner Brackets Button

A monospace button framed by corner brackets that spring outward on hover.

Letter Roll Button

A pill button whose label rolls up letter by letter with a staggered hover animation.

Soft Action Button

A compact, softly rounded action button with a solid accent, soft neutral, or hairline outline tone and an optional trailing icon.

Markdown version