Search Hero with Popular Tags

Knowledge Base

How can we help you today?

Search our documentation, guides, and tutorials to find answers to your questions.

About this block

Search Hero with Popular TagsPRO

Centered hero with prominent search input field and popular search suggestion pills below. Perfect for documentation sites, knowledge bases, and support centers.

Centered hero built around a single prominent search field, sized like a help center's main entry point, with a row of pill-shaped "popular search" shortcuts underneath.

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/hero46?email=YOUR_EMAIL&license_key=YOUR_KEY"

Base UI flavor

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

This installs the block to components/beste/block/hero46.tsx and its shadcn/ui dependencies: Badge, Button, Input.

Quick start

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

tsx
import { Hero46, hero46Demo } from "@/components/beste/block/hero46";

export default function Page() {
  return <Hero46 {...hero46Demo} />;
}

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

tsx
import { Hero46 } from "@/components/beste/block/hero46";

export default function Page() {
  return (
    <Hero46
      badge={{ label: "Knowledge Base", variant: "secondary" }}
      heading="How can we help you today?"
      description="Search our documentation, guides, and tutorials."
      searchPlaceholder="Search for articles, tutorials, guides..."
      searchButtonLabel="Search"
      popularSearches={[
        { label: "Getting started", href: "/docs/getting-started" },
        { label: "API reference", href: "/docs/api" },
        { label: "Billing", href: "/docs/billing" },
      ]}
    />
  );
}

Props

PropTypeDefaultDescription
badge{ label: string; variant?: "default" | "secondary" | "outline" }–Pill above the heading
headingstring–Main heading
descriptionstring–Supporting paragraph
searchPlaceholderstring–Placeholder text in the search input
searchButtonLabelstring–Label on the submit button
popularSearchesPopularSearch[][]Shortcut pills rendered under the search form
classNamestring–Extra classes for the outer <section>
ts
type PopularSearch = { label: string; href: string };

Behavior notes

  • The search field and button live inside a <form> whose onSubmit calls preventDefault() and does nothing else: the block ships as a static UI shell, so wiring the field's value and submit handler to a real search route is left to the consumer.
  • The Search icon is absolutely positioned inside the input (absolute left-4 top-1/2 -translate-y-1/2), with pl-12 on the Input reserving space for it so the icon never overlaps typed text.
  • popularSearches renders as outline, rounded-full, size="sm" buttons wrapping next/link, preceded by a static "Popular:" label; the row wraps with flex-wrap on narrow viewports instead of scrolling horizontally.
  • Layout is a single centered column capped at max-w-4xl; there is no image or split layout variant.

Wiring the form up

This block ships the form markup only; state, validation, and submit are yours to add. Our guide wires the shadcn Field primitives to React Hook Form, TanStack Form, and Formisch on one field system.

More Hero blocks

View all Hero
PRO

hero187

Search Hero

FREE

hero7

Centered Hero with Media

PRO

hero168

Search Reach Hero

Get Pro access