Turning Request Hero

Your agent, better furnished

Askyouragentforapricing page.

It answers with a section that already exists, responsive and in your theme, instead of one it improvised. Install takes one line.

Read the docs

Free to start. No account needed for the first page.

About this block

Turning Request HeroPRO

A centred install hero whose serif headline ends in a word that keeps changing (a pricing page, a hero, a footer), so the promise reads as a list of things the agent can be asked for. Below it an ink command pill that copies the install command on click sits beside a sliding-marker outline pill, then a quiet note.

Hero194: Turning Request Hero

A hero whose headline never finishes the same way twice: the last word cycles through the things an agent can be asked for, so the promise reads as a list rather than a claim.

Upgrade to Pro

Pro blocks install through the shadcn CLI with your license key and ship their full source. Docs and live previews stay open to everyone, so you can read every block's details first.

Upgrade Now

Installation

Swap YOUR_EMAIL and YOUR_KEY for the email and license key on your account. Find your license key on your account page.

Radix flavor

bash
npx shadcn add "https://ui.beste.co/r/hero194?email=YOUR_EMAIL&license_key=YOUR_KEY"

Base UI flavor

bash
npx shadcn add "https://ui.beste.co/r-base/hero194?email=YOUR_EMAIL&license_key=YOUR_KEY"

This installs the block to components/beste/block/hero194.tsx plus the button22 sliding-marker pill and the text4 turning word it uses.

Quick start

The installed file exports hero194Demo alongside the block: the exact props behind the preview above. Spread it to get a working hero in one line.

tsx
import { Hero194, hero194Demo } from "@/components/beste/block/hero194";

export default function Page() {
  return <Hero194 {...hero194Demo} />;
}

Then replace the demo with your own props. Written out, a trimmed setup looks like this:

tsx
import { Hero194 } from "@/components/beste/block/hero194";

export default function Page() {
  return (
    <Hero194
      eyebrow="Your agent, better furnished"
      headingBefore="Ask your agent for a"
      headingWords={["pricing page.", "hero.", "sign in form.", "footer."]}
      description="It answers with a section that already exists, in your theme."
      command="npx your-cli@latest"
      copyLabel="Copy command"
      copiedLabel="Copied"
      buttons={[{ label: "Read the docs", href: "/docs", tone: "outline" }]}
      note="Free to start. No account needed for the first page."
    />
  );
}

Props

PropTypeDefaultDescription
eyebrowstringSmall-caps line above the headline
headingBeforestringThe fixed opening of the headline
headingWordsstring[][]Words that take turns finishing it
descriptionstringParagraph under the headline
commandstringThe install command; clicking the pill copies it
copyLabelstringAccessible name for the pill in its resting state
copiedLabelstringAccessible name and live-region text once copied
buttonsActionButton[][]Pill actions beside the command
notestringQuiet line under the actions
classNamestringExtra classes for the outer <section>
ts
type ActionButton = {
  label: string;
  href: string;
  tone?: "primary" | "light" | "dark" | "outline";
};

Behavior notes

  • The turning word comes from Text4, which swaps it on a timer and blurs each one in and out. Include the full stop in each word so the sentence closes cleanly whichever one is showing.
  • Words are set in the muted colour while the fixed part stays at full strength, so the eye reads the sentence once and then watches only the part that moves.
  • The command pill is filled ink here rather than outlined, because it is competing with a headline that is already moving.
  • Timing after the headline is estimated from headingBefore.split(" ").length + 1, since the turning word's length is not knowable in advance.
  • The cycle stops entirely under reduced motion and the first word stays on screen, which leaves a complete, readable sentence.
  • Keep the words close in length. A very long one changes the line count and makes the block below it jump as the cycle turns.
  • Both the pill and the button are held at h-14 so the filled command and the outlined action line up exactly.

More Hero blocks

View all Hero
PRO

hero191

Two Steps Hero

A centred install hero that explains itself in two numbered steps under a ruled line: run the command, copied from a rounded pill on click, then ask for a page, shown as an example prompt in a muted mono panel. Serif headline settles in word by word, one sliding-marker pill below.

PRO

hero179

Turning Word Hero

A hero whose serif headline always breaks over two lines, the second one a word that takes turns, each blurring in as the last blurs out over a line kept at a fixed height, beside an intro and a sliding-marker pill, above three photographs that drift at their own pace as the page scrolls, the middle one set a step lower.

PRO

hero183

Call Request Hero

A lead hero: eyebrow, a serif headline that settles in word by word, an intro and dotted facts on the left, and a soft muted request form on the right with name, email and phone fields, a full-width sliding-marker pill and a privacy note.

PRO

hero188

Single Command Hero

The most minimal install hero: a serif headline that settles in word by word, then one rounded command pill that copies the install command on click and confirms with a tick, and a quiet note with a docs link. No image, no buttons.

PRO

hero192

Half Photo Command Hero

A full-height split install hero: text on the left with an eyebrow, a serif headline that settles in word by word, an intro, a rounded command pill that copies the install command on click and two sliding-marker pills; on the right an edge-to-edge photograph that blurs in and drifts on scroll with a small caption.

PRO

hero195

Three Screens Hero

A centred install hero with a serif headline that settles in word by word, an intro, a rounded command pill that copies the install command on click beside a sliding-marker pill, and under it three portrait page previews that blur in as they load and rise at different speeds on scroll, the middle one sitting higher, each with a small caption.