Soft Action Button

About this component

Soft Action Button

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

Usage

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

import { Button21 } from "@/components/beste/component/button21";
import { ArrowRight } from "lucide-react";
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.
<Button21 label="Book a demo" render={<Link href="/demo" />} nativeButton={false} />

<Button21
  label="Start free"
  icon={ArrowRight}   // optional trailing icon
  tone="outline"      // "primary" (default) | "neutral" | "outline"
  onClick={() => console.log("clicked")}
/>

Playground

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

Usage
import { Button21 } from "@/components/beste/component/button21";

<Button21
  label="Book a demo"
/>

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.
iconLucideIconOptional trailing icon
tone"primary" | "neutral" | "outline"Surface tone: solid accent (default), soft neutral pill, or hairline outline
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

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.

Underline Arrow Button

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

Play Button

A video play button with a circular play seal, label, and duration for showreels and product demos.

Split Button

A split button with a main action and a separate secondary trigger for menus and options.

Letter Roll Button

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