Quiet Pill

About this component

Quiet Pill

A plain sentence-case pill with no tricks: a dark fill for light pages, a hairline outline that takes the surface's text color, the accent, or a paper pill for photographs. An optional icon sits after the label and nudges right on hover.

Usage

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

import { Button25 } from "@/components/beste/component/button25";
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.
<Button25 label="Register your interest" icon={ArrowRight} render={<Link href="/register" />} nativeButton={false} />

<Button25
  label="View the residences"
  tone="outline"   // "dark" (default) | "outline" | "primary" | "neutral"
  size="sm"        // "default" | "sm"
  onClick={() => console.log("clicked")}
/>

Props

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

PropTypeDefaultDescription
label*string—Button label, in sentence case
asChildboolean—Compose 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.ReactElement—The element to render when `asChild` is set (e.g. your framework's Link)
hrefstring—Fallback link: renders a plain `<a>`. Prefer `asChild` with your framework's Link.
iconLucideIcon—Optional icon after the label; it nudges to the right on hover
tone"dark" | "outline" | "primary" | "neutral"—A dark pill for light pages, a hairline outline in the current text color, the accent, or a paper pill for dark and photographic surfaces
size"default" | "sm"—Pill size: the default one, or a compact one for dense rows
type"button" | "submit"—Submit a surrounding form instead of acting as a plain button
onClickReact.MouseEventHandler<HTMLButtonElement>—Click handler (used when there is no href and no asChild)
classNamestring—Additional classes merged onto the button

More Button components

View all Button